분류 전체보기 (68) 썸네일형 리스트형 Shattering Text Animation 제작기 소스코드는 하단에 있습니다 Intro.웹 사이트의 목적은 정보의 전달이 목적이라 생각하고, 텍스트는 가장 직접적인 정보 전달의 수단이기에 개인적으로 텍스트 애니메이션이 들어가면 유독 임팩트가 강하게 느껴집니다. 요즘 소소하게 awwwards 둘러보면서 인사이트를 얻고는 하는데, 사이트가 기억이 안나지만... 스크롤에 따라 파편 상태 -> 하나로 합쳐지는 이미지 애니메이션이 있엇는데 정말 재밌게 반복해서 스크롤링 했었습니다. 그 애니메이션은 2d 이미지를 단순하게 16등분하고 스크롤 위치에 따라 CSS::translate 속성 조절을 통해 하나로 합치는 애니메이션이었는데, 문득 다음과 같은 생각을 하게 되었습니다. 임의의 3d 객체를 임의의 평면으로 쪼갰다가 합치면 재밌겠다 Problem .. [Cosmos + JS] ADR-036 구현하기 P.S. SignArbitrary의 구현 명세는 ADR-036에 명세되어있는데, 현재 이슈란에 올라와있는 대화를 보면 cosmos레벨 에선 구현할 생각이 없는 듯하다. 즉, sei-js에서 채용하는 지갑들이 사용하는 signArbitrary는 현재 리스크를 감수하고 사용하는 것인데, 이것을 구현하는게 맞는질 모르겠다. Implementation 먼저 위 MsgSignData가 메세지 인터페이스다. signer와 data를 SignArbitrary의 인자로 받으면 될듯하다. 그리고 위가 ADR-036에서 지정한 signDoc 예시인데, 명세 규칙에 대해서 명시해주자면 다음과 같다. fee 프로퍼티는 amount = [] , gas = 0 시그니처 데이터의 type은 "cosmos-sdk/StdTx" 메세지.. [BIP32] HD지갑(Hierarchical Deterministic Wallet) 훝어보기 Intro. Public key와 address간 차이에 대해 궁금하여 리서치하던 중 이더리움 공식 문서상에서 다음과 같은 정의를 찾아내었다. . The public key is generated from the private key using the Elliptic Curve Digital Signature Algorithm(opens in a new tab). You get a public address for your account by taking the last 20 bytes of the Keccak-256 hash of the public key and adding 0x to the beginning. 즉, public key를 해시하여 나온 값의 마지막 20바이트를 헥사 스트링으로 변환한 .. [Ethereum] Message prefix용도 이더리움 네트워크에선 서명 시, \x19Ethereum Signed Message:\n 와 평문의 길이를 접두어로 포함 시켜 서명한다. ( 몇몇 네트워크는 접두어가 다를 수 있다.) 개발하면서 항상 서명 중 접두어가 왜 필요한지에 대해 의문이었는데, 몇몇 네트워크는 접두어가 달라서 꽤나 처리하기 귀찮고, 네트워크 추가할 때 마다, 서명 로직 쭉 살펴보면서 접두어 분기 처리 해야하나 확인해야하기 때문이다. 이번에 메세지 서명에 관해 깊게 공부하는 김에 확실히 무슨 용도인지 파악해보고자 한다. 먼저 몇몇 답변들 찾아보면 Replay attack 방지를 위해 존재한다 하는데, 접두어에 Ethereum 있으니 ~ 네트워크 구분용 ~ 이렇게 단순하게 생각하여 나온 답변 같다. 애당초 평문에 수기로 위의 접두어 그.. [Crypto] Signature Replay Attack Senario Alice가 보낸 트랜잭션을 수신하는 Bob이 공격자라고 가정하겠다. 1. Alice가 Bob한테 50ETH을 송금하는 트랜잭션을 보낸다. 2. Bob이 Alice의 디지털 서명을 찾아낸다. 3. 찾아낸 디지털 서명을 이용하여 해당 defi어플리케이션이 지원하는 다른 네트워크 체인에서 과정 1의 트랜잭션을 재생한다. 결과적으로 Alice는 본인이 인식하지도 못한채 손실을 입게된다. 실생활에 좀 빗대어 표현하자면 집 열쇠(디지털 서명)를 공격자가 복제하여 본인이 원할 때 어느 때나 집에 출입이 가능한 상황이다. Protection EIP-155(Simple Replay attack protection)에 방어법이 명시되어있다. 주요하게 두 가지 요소를 뽑는데, nonce 와 chainId이다.. [Ethereum]메세지 서명 (signMessage) Overview 의의 지갑 주소에 대한 ownership을 확인한다 (인증). 사용법 ( ethers.js v6 (6.7.1) 기준) 1. 서명하기 import { ethers } from "ethers"; const privateKey = "0x1723c625260310662cfce151dfee1c6b45441ec29c84e709b9179c5994ec06ea"; const wallet = new ethers.Wallet(privateKey); const plainMessage = "Hello SignMessage"; const signature = await wallet.signMessage(plainMessage); console.dir(signature); 2. 인증하기 import { ether.. SECP256k1 훝어보기 SECP256k1은, ECDSA(타원곡선 디지털 서명 알고리즘)의 한 종류로, 특정한 타원곡선을 사용하는 알고리즘이다. 방정식은 아래와같다. y^2 = x^3 + 7 먼저 알고리즘에 대해 이해하려면, 타원곡선의 덧셈에 관해 이해해야 한다. 타원 곡선에서 덧셈은, 두 점 (P, Q) 을 지나는 직선과 타원 곡선의 교점R ( P 혹은 Q가 아닌) 으로 정의 한다. 특정 점 X의 2배수의 경우, 타원 곡선 상, X의 접선과의 교점으로 정의한다. 이제 다음과 같은 SECP256k1 타원 곡선이 있다고 하자. 임의의 점 P를 잡고, k배를 한다. 예시에선 k = 3 으로 잡았다. 결과적으로 나온 좌표 3P가 public key, 3이 private key에 대응한다. Fiber reconciler (outdated) 먼저 기존 reconciler와 fiber reconciler를 비교하여 보여주는 페이지가 있기에 공유해봅니다. https://claudiopro.github.io/react-fiber-vs-stack-demo/ Fiber vs Stack Demo This demo shows the differences between Stack and Fiber by rendering a Sierpinski triangle that constantly shrinks and grows, and whose nodes have a value that increments by one every second. claudiopro.github.io 위 예시에서, stack reconciler(기존 reconciler)는 왜 뚝 뚝.. 이전 1 2 3 4 5 ··· 9 다음