[Devcon 6] Day 1 on Ethereum Transaction Insight

Understanding Transactions in EVM-Compatible Blockchains Powered by Opensource

Steven Lee
Tokamak Network
5 min readOct 19, 2022

--

[Devcon 6] Devcon 시리즈
- [Devcon 6] Day 1 on Ethereum Transaction Insight
- [Devcon 6] Day 2 on Update of EVM
- [Devcon 6] Day 3 on Ethereum Assembly
- [Devcon 6] Day 4 on Post-Merge Ethereum Client Architecture

개요

Ethereum Transaction Data(Hexdecimal)만 보고 그 내용이 무엇인지 파악할 수 있는 사람이 있을까? (물론, 있을 수도 있다) 하지만 나를 포함한 대부분의 사람들은 16진수가 트랜잭션 데이터인지도 모를 것이다. 이더리움의 트랜잭션은 RLP 를 통해 Decode 되어야 비로소 우리가 해석할 수 있게 되는데 이 과정에서 호출한 주소의 Contract 의 ABI 가 필요하다.

Contract 의 ABI 는 어떻게 얻을 수 있을까? 이는 전적으로 Contract 의 Code를 알고 있는 사람에게 의존한다. Etherscan 과 같은 Block Explorer 도 Contract 의 운영자에게 code 를 받아 validate 하는 로직으로 구성되어 있다. 여기서, 보통 Contract 의 운영자는 사용자들의 사용을 유도하기 위하여 Contract 의 Code 와 ABI 를 공개할 동기를 갖는다.

그렇다면, 보통 사용자들은 Block Explorer 를 통해서 Ethereum 의 Transaction 을 분석하게 될 것이다. 이 문서에서는 Block Explorer 나 여러 트랜잭션 분석기 들을 비교하고 더욱 User 친화적이고 투명성을 제공하는 rotki 를 소개하겠다.

Transaction Analysis Tools

Etherscan

장점

  • 사용하기 쉬움
  • 무료

단점

  • 중앙화
  • decode 되지 않는 트랜잭션들
  • Closed source

TheGraph

장점

  • 하나의 프로토콜에 대해 최적화

단점

  • query를 공부하여 사용해야 한다.
  • local app 들과 함께 동작하지 않는다.

Get Transaction Data for an Account

트랜잭션을 단순히 분석하는 것도 사용자들에게 도움을 주지만 정말 중요한 것은 하나의 Account 에 대한 Transaction 내역을 얻는 것이다. 이를 위하여 사용할 수 있는 도구들은 다음과 같다.

Etherscan APIs

https://docs.etherscan.io/api-endpoints/accounts#get-a-list-of-normal-transactions-by-address

장점

  • 사용하기 편하다.

단점

  • 한번 호출에 10000개 까지의 트랜잭션을 얻을 수 있다.
  • 호출에 한도가 있다.
  • 중앙화 되어있다. (Data 가 Etherscan 에 존재하고 API 호출을 모니터링할 수 있다)

Trueblocks

https://trueblocks.io/docs/using/introducing-chifra

장점

  • 탈중앙화 되어있고, local 노드로부터 모든 데이터를 얻을 수 있다.
  • 매우 빠르다.
  • 다른 사람들과 index 를 공유한다.

단점

  • 설치하기 힘들다.
  • local 노드가 요구된다.
  • index 를 만들어야 한다.

Rotki

rotki: Crypto 자산을 전문으로 하는 자산 관리 및 회계 응용프로그램

rotki 는 Crypto 자산을 전문으로 하는 자산 관리 및 회계 응용프로그램이다. 모니터링에 필요한 Data 들은 모두 사용자의 컴퓨터에 암호화되어 저장되며 rotki 의 서버에는 저장되지 않는다.(오픈소스에서 빌드) 파악한 대략적인 기능은 다음과 같다.

  • Bitcoin, Ethereum 등 계정 모니터링
  • ENS 지원
  • 이벤트 redecode(decode 커스터마이징)
  • 주요 거래소(Kraken, Poloniex, Bittrex, Bitmex, Bitfinex, Binance 등) API key를 통하여 자산 모니터링
  • 주요 거래소(Binance, ShapeShift.com, uphold.com) 거래기록 파일 Import
rotki 는 사용자들이 알아보기 더욱 편하도록 UI 를 구성하였다

구조

정식으로 설명은 없지만 분석한 구조는 다음과 같다.

  • rotki client
  • rotki server
  • nodes (bitcoin, ethereum, …)
  • central exchange server (Kraken, Binance, …)

rotki client 는 하단의 주체들에게 data 를 요청하고 필요하다면 local 에 저장한다.

결론

rotki 는 분명히 사용자들에게 많은 정보를 쉽게 제공할 수 있다. 이는 정보의 비대칭성을 해결할 수 있고, 블록체인의 철학과도 일맥상통한다. 하지만 개인 사용자가 사용하기에는 설치 및 초기 설정에 난이도가 있다.

감히 추측해보자면, 현재의 기술력으로 웹 서비스를 출시 한다면 Etherscan 을 뛰어넘는 Explorer 가 될 수 있다고 생각한다.

참고

--

--