쉽게 읽는 Web3
EVM vs Non-EVM 체인의 익스플로러 개발 차이점
벨라아빠
2024. 11. 25. 12:09
EVM 계열과 Non-EVM 계열 블록체인을 위한 크립토 익스플로러(블록 익스플로러)를 개발할 때의 차이점과 기술적 난이도를 아래와 같이 정리할 수 있습니다.
1. 기본적인 차이점
항목 EVM 계열 Non-EVM 계열
항목 | EVM 계열 | Non-EVM 계열 |
기본 구조 | 표준화된 EVM 모델 (계정 기반, 스마트 계약 중심) | 독자적인 구조 (예: UTXO 모델, 계정+UTXO 혼합 등) |
트랜잭션 처리 | 스마트 계약, 가스비 계산 포함 | 특정 체인에 특화된 트랜잭션 데이터 구조를 이해해야 함 |
데이터 접근 방식 | 일반적으로 RPC(원격 프로시저 호출) 표준 제공 | 독자적인 노드 인터페이스 또는 API 제공 |
2. 개발 시 주요 차이점
항목 | EVM 계열 | Non-EVM 계열 |
표준화된 도구 | - web3.js, ethers.js 등 EVM 표준 라이브러리 활용 가능 | - 대부분 독자적인 라이브러리 및 SDK 필요 |
RPC 인터페이스 | - 표준화된 JSON-RPC API 제공 (예: eth_blockNumber, eth_getTransactionByHash 등) | - 각 체인마다 다른 API 형식과 호출 방식 (예: 솔라나는 WebSocket과 gRPC 사용, 비트코인은 UTXO 관련 API 제공) |
데이터 구조 | - EVM의 기본 트랜잭션, 블록, 계정 상태 데이터 구조를 그대로 활용 가능 | - 독특한 데이터 구조를 학습하고, 체인별 맞춤형 파서(parser)를 구현해야 함 |
스마트 계약 분석 | - 컨트랙트 디코딩 및 이벤트 로그 분석이 표준화되어 있음 | - 스마트 계약 없는 체인은 관련 작업 불필요, 있는 경우 체인별 바이트코드 및 로그 구조 해석 필요 |
노드 동기화 | - Geth, Parity 등 널리 쓰이는 클라이언트로 손쉽게 동기화 가능 | - 각 체인별 전용 노드 클라이언트 또는 Light 노드 방식 지원 여부 확인 필요 |
3. 기술적 난이도 비교
항목 | EVM 계열 | Non-EVM 계열 |
설정 및 시작 | - 표준 클라이언트 및 API 활용으로 빠르게 시작 가능 | - 특정 체인에 맞는 도구를 찾아야 하고, 일부는 복잡한 설정 필요 |
트랜잭션 파싱 | - 표준화된 구조로 파싱 로직이 간단 | - 체인마다 독립적인 트랜잭션 구조를 파악하고 구현해야 함 |
스마트 계약 데이터 | - ABI (Application Binary Interface)로 쉽게 이벤트 디코딩 가능 | - 체인별 독자적 구조 해석 필요 (스마트 계약 미지원 체인은 관련 작업 불필요) |
성능 최적화 | - 이미 최적화된 도구와 인프라가 많아 구현이 쉬움 | - 체인별 특성에 따라 최적화 작업이 필요하며 더 많은 테스트와 튜닝 요구됨 |
확장성 | - 멀티체인 지원도 쉬운 편 (EVM 계열 간 공통 API 사용) | - 체인마다 구현 방식이 달라 멀티체인 지원이 어렵고 개발 비용 증가 |
4. 크립토 익스플로러 구현 시 주요 고려 사항
항목 | EVM 계열 | Non-EVM 계열 |
트랜잭션 수수료 | 가스비 계산 로직이 표준화되어 있음 | 수수료 계산 방식이 체인마다 다르므로 개별 로직 구현 필요 |
블록 동기화 속도 | 이더리움의 PoS, 폴리곤 등 속도 빠름 | 일부 체인은 블록 처리 속도가 빠르거나 데이터 크기가 클 수 있음 |
계정 및 잔액 | 계정 기반으로 쉽게 조회 가능 | UTXO 기반 체인은 복잡한 잔액 계산 로직 필요 (예: 비트코인) |
검색 및 인덱싱 | 표준 솔루션(예: The Graph) 활용 가능 | 체인 특화된 데이터 인덱싱 로직 필요 (예: 솔라나의 SeaLevel 병렬 처리) |
5. EVM과 Non-EVM 익스플로러 개발의 대표적인 사례
항목 | EVM 계열 | Non-EVM 계열 |
대표 블록 익스플로러 | 이더스캔(Etherscan), BSC스캔(BSCSCAN) | 솔스캔(Solscan), 블록체인닷컴(Blockchain.com) |
사용 기술 | web3.js, GraphQL, JSON-RPC | REST API, WebSocket, 독자적인 노드 인터페이스 |
난이도 | 비교적 간단하고 표준화된 환경 | 독자적인 프로토콜에 맞춘 작업으로 개발 난이도 높음 |
결론
- EVM 계열 크립토 익스플로러는 표준화된 도구와 인터페이스 덕분에 빠르게 개발이 가능하고, 여러 네트워크 간 확장성이 뛰어납니다.
- Non-EVM 계열 크립토 익스플로러는 체인별 특성을 깊이 이해해야 하며, 독창적인 설계가 필요해 개발 난이도가 더 높습니다.
만약 멀티체인 익스플로러를 목표로 한다면, EVM 계열을 기반으로 시작해 Non-EVM 계열을 단계적으로 추가하는 접근이 효율적입니다.
" Non-EVM 익스플로러 개발의 가장 큰 도전은 체인별로 독자적인 설계와 비표준화된 환경을 이해하고 구현하는 과정에서 발생하는 복잡성입니다. 특히 데이터 구조, API 상호작용, 성능 최적화와 같은 기술적 어려움이 많으며, 체인마다 다른 생태계와 기술 문화를 학습해야 하는 부담이 크기 때문에 시간과 자원이 많이 소모됩니다."