스마트 계약의 비밀 재료, 트랜잭션 데이터

스마트 계약의 비밀 재료, 트랜잭션 데이터

지갑과 이더리움의 보이지 않는 악수

0 ETH를 OmiseGo 계약 주소로 보냈는데 0.19 OMG 토큰이 전송되는 현상을 목격했다면, 당신은 트랜잭션 입력 데이터의 신비를 목격한 것입니다. DeFi 프로토콜을 위한 정량적 모델을 구축한 사람으로서, 이 16진수 문자열이 실제 작동이 일어나는 곳임을 확인할 수 있습니다.

16진수 코드 해독하기

그 위협적인 문자열 0xa9059cbb00...? 거래 알고리즘처럼 분해해 보겠습니다:

  1. 함수 서명: 첫 8자 (a9059cbb) = transfer(address,uint256)의 SHA-3 해시
  2. 매개변수 1: 다음 64자 = 수신자 주소 (0으로 채워짐)
  3. 매개변수 2: 이후 64자 = 토큰 양 (0x2a348… 은 0.19 OMG와 동일)

프로 팁: EVM은 제가 CSV 파일을 파싱하는 파이썬 스크립트처럼 이들을 읽습니다 - 엄격한 구조, 최대 효율성.

트레이더에게 중요한 이유

  • 가스 최적화: 0이 아닌 바이트는 0에 비해 68 가스 대 4 가스가 듭니다. 그래서 Uniswap 경로는 간결한 인코딩을 사용합니다.
  • 계약 포렌식: 입력 데이터는 ETH 값만으로는 알 수 없는 트랜잭션에 대한 더 많은 정보를 제공합니다 (Tornado Cash, 당신을 보고 있습니다).
  • ABI 디코딩: Etherscan의 마법은 표준화된 계약 인터페이스에서 옵니다. 비 ERC-20 계약을 디코딩해 보세요 - 2016년 이전 연준 발표문을 읽는 것 같습니다.

0 ≠ 0인 경우: 사례 연구

시작에서 언급한 “0 ETH 전송”? 전형적인 ERC-20 동작입니다. 실제 값은 입력 데이터에 인코딩되어 있습니다:

  1. 기본 ETH 전송에는 스마트 계약이 필요 없음
  2. 토큰 계약은 명시적 지시가 필요 (X 토큰을 Y에게 전송)
  3. Zero ETH는 이중 지출 위험을 피함

어떤 퀀트라도 말할 것입니다: 중요한 것은 보이는 것이 아니라 데이터에서 측정 가능한 것입니다.

WolfOfCryptoSt

좋아요60.99K 1.91K