brunch

You can make anything
by writing

C.S.Lewis

by 익명의 미스터 케이 Dec 11. 2019

그래서, 어떤 블록체인 데이터 API가 나한테 좋다고?

On-Chain Analysis; Amberdata #2

본 문은 Amberdata의 Medium Blog에 작성된 포스트를 한국어로 직/의역한 것으로, 사전에 원작자의 허가를 받고 작성된 글임을 밝힙니다. 따라서, 해당 포스트의 불법 재사용 및 재배포를 포함한 모든 상업 목적을 위한 용도가 불가하며, 만일 이를 어길 시에 벌어지는 모든 불이익은 작성자가 책임지지 않습니다.

원제 : Which Blockchain Data API is right for you?

원문 게재일 : 2019년 6월 15일


저번 포스팅에서 블록체인 데이터로의 접근법과 한계들에 대해 대략적으로 살펴보았다. 앞서 언급했듯, 자체 노드를 운용하는 것은 그만큼 얻어가는 주체적으로 생동감 있는 데이터를 대량으로 확보할 수 있다는 점에서 장점이 있으나, 여러 가지 측면에서 투자 대비 지출이 많아, 효율이 떨어져 보이기 마련이다. 그중 우리는 편의성을 들어 API가 나을 것이라 이야기했는데,


과연 어떤 API가 “내”가 이용하기에 적합할까?
각각의 서비스는 어떤 장/단점을 지니고 있을까? 


이번 포스트에서 한번 살펴보도록 하자.


목차


- 블록체인 통합

- 사례 1 - 지갑

- 사례 2 - 투자 및 거래

- 사례 3 - dApp 및 개발자

- 웹 소켓 비교

- 속도 및 지연 비교

- 지속가능성 비교

- Amberdata Vs 블록체인 데이터 제공자

- Amberdata Vs 시장 데이터 제공자



블록체인 통합 (Integrating Blockchain)


제품이나 서비스에 블록체인을 적용하는 것은 하나의 트렌드가 되어버렸다. 블록체인을 통해 유저들에 투명성과 신뢰를 제공하고, 여러 중개자(Intermediary)와의 호환을 보다 쉽게 하기 위해 시스템을 업데이트하고 싶을 것이다. 이를 위해 우리는, 블록체인 노드 네트워크를 운용할 수도 있고, 서비스를 기존의 블록체인에 연결할 수도 있을 것이며, 중개자의 역할을 대신할 사이드 체인을 배치할 수도 있을 것이다.


각각의 경우는 결국 블록체인 데이터에 직접 접속해야만 함을 의미한다. 이를 위한 여러 프로토콜들이 있다. Restful API, GraphQL, JSON RPC/ gRPC 등 말이다. 이들을 통해, 제품은 블록체인 데이터를 요청할 수도, 받을 수도 있게 될 것이다. 그러나, 이 데이터들은 “블록체인에서 사용되기 위한 데이터 모델”로 단순화되어 있다는 것을 알아야 한다. 우리는 데이터로부터 더 많은 것들을 알아내야 하기 때문에, 결국 “데이터 집계”(Data Aggregating)가 필요하게 된다. 이는 곧, 우리의 제품을 위해, 데이터 집계를 위한 최고의 툴을 찾아내야 한다는 것을 의미한다.


블록체인 데이터에 더해, 단순 거래 내역을 보완하기 위한 시장 데이터 및 경제적 배경과 같은 것들이 필요하게 된다. 시장 데이터는 쉽게 구할 수 있긴 하다. 그러나 상당히 Raw 한 데이터이다. 거래소 수준의 데이터들이며, 어마어마하게 많은 토큰 쌍(Token Pairs)들이 있고, 주문들은 온-체인 활동과는 상관관계가 적어 보이기까지 한다. 그렇게 우리는 우리가 굳이 데이터 집계를 따로 할 필요 없이, 시장 데이터 맥락을 제공해줄 제공자를 찾기 시작할 것이다.


블록체인 통합은 어렵지 않다. 제품에 알맞은 제공자를 찾기가 힘들 뿐, 이제 여러분의 의사 결정 매트릭스에 직접적으로 영향을 주는 사용 사례들을 살펴보자.


사례 1 - 암호화폐 지갑 (Wallets)


블록체인 세계로 들어가기 위해서는, 암호화폐 지갑이라는 것을 필요로 한다. 이 지갑은 우리의 계좌 잔고, 소지 중인 토큰, 포트폴리오 및 시장 가치 등에 대한 데이터를 가지고 있어야 한다. 지갑은 개인키(Private Key : 일종의 비밀번호)와 공용키(Public Key : 일종의 사용자 이름)를 가지고 블록체인 및 거래소에 연결하기 위해 만들어진 일종의 애플리케이션이다. 


엑소더스, 알파, 트러스트 월렛, 마이이더월렛과 같은 지갑들이 좋은 예시이다. 가끔, Coinbase처럼 지갑의 개인키를 관리하기에 기술적으로 충분히 안전하다고 생각되지 않는 고객들을 위해 커스터디언 지갑 서비스를 제공하는 곳도 있다. 각각의 지갑들은 아래와 같은 데이터들을 필요로 하게 된다.


블록체인 계좌 잔액 - Bitcoin, Ether, Doge, Tokens, Etc.

블록체인 활동 및 내역 - 전송 내역 및 토큰 전송

특정 시점 시장 가격 - Bitcoin, Ether, Tokens, Etc

특정 토큰 시장 거래 활동 - Bitcoin, Ether, Tokens, Etc


그럼 이제 위의 내용들을 기억해두고, 아래의 각 기능을 지원하는 서비스들의 비교를 살펴보자


각 데이터 제공자 별 지갑 관련 기능 지원 목록, Amberdata Medium Blog 발췌

amberdata.io가 아닌 다른 서비스를 사용하게 된다면, 특정 기능을 제공하는 여러 서비스를 동시에 이용해야 할 것으로 보인다.


사례 2 - 투자 및 거래 (Investors and Traders)


암호화폐 거래와 알고리즘 재정거래(Arbitrage Trading)는 항상 주목받는 거래 방식이다. 통계학적이거나 혹은 변칙적인 패턴에 흥미를 갖는 사람들에게 암호화폐 거래는 훌륭한 테스트-베드(Test-Bed)이다. 전통 시장에 비해서, 높은 리스크와 낮은 유동성 그리고 일관성 없는 정보들이 많은 편이지만, 결코 수익을 얻을 기회가 없다는 것은 아니다. 현재 아래와 같이 암호화폐 시장 데이터를 기반으로 더 나은 결정을 내리기 위해서 요구되는 소스들이 있다.

 

시장 토큰 쌍 활동(Market Pair Activity) - 거래량, 유통속도, 샤프(Sharpe), VWAP/TWAP 

시장 거래(Market Exchange) - 토큰 쌍 가격, 유동성, 거래

시장 주문서(Market Order) - 거래 내역, 실시간 정보

블록체인 전송 내역(Blockchain Transcations) - 토큰 전송, 암호화폐 거래 내역

블록체인 계좌(Blockchain Account) - 잔액, 보유 내역, 토큰

블록체인 DEX(Blockchain DEX) - 탈중앙 거래소 토큰 보유 내역, 전송, 거래량


아래의 비교에서 보듯, 제공자 서비스 제각각 서로 다른 서비스를 제공하는 것을 볼 수 있다.


투자 및 거래 관련 기능 지원 목록, Amberdata Medium Blog 발췌

바이낸스, 쿠코인, trade.io와 같은 거래소들은 제 3자 제공자와 연동이 되어 있거나, 다른 거래소들과 직접 연동이 되어 있다. 위 도표에서 보듯, Amberdata는 굳이 여러 군데를 거칠 필요 없이, 블록체인 및 시장 데이터를 통합해 제공하고 있다. 알고리즘 트레이딩 유저들에 있어, 백테스팅(Back-Testing)은 매우 중요한 과정이다. 추후 다른 포스팅에서 Amberdata의 주문서 내역 확인을 위한 간편한 툴들을 소개하는 기회를 가져 보도록 하겠다.


사례 3 - dApp 및 개발자


dApp이란, 개발자들이 작성한 데로 상호작용하도록 코드가 자동으로 돌아가는 블록체인 기반 탈중앙화 애플리케이션이다. dApp과의 상호작용은 온-체인 혹은 체인과 서비스 사이에서 일어난다. 이더리움에서의 dApp은 블록체인 바이트 코드로 저장되어 배포된 스마트 컨트랙트를 주로 가리킨다. 성공적인 dApp을 작동시키기 위해서 필요한 주요 데이터는 아래와 같은 요소들이 포함된다.


컨트랙트 ABI - 클라이언트 상호작용을 위한 파싱 가능한 포맷

컨트랙트 Info - 토큰 데이터, 공급, 명세서

컨트랙트 Runtime - 이벤트, 로그, 전송 내역, 내부(Internal) 전송 내역


dApp 및 개발자 관련 기능 지원 목록, Amberdata Medium Blog 발췌

이에 더해, 이러한 dApp들의 대부분은 "토큰" 기능을 제공하는데, 이를 통해 스마트 컨트랙트 거버닝(Governing)을 위한 경제 모델을 제공한다. 아래의 데이터들을 통해 우리는 사용성 및 활성화를 확인할 수 있다.

 

토큰 이코노미 - 공급, 거래량, 유통 속도, 순위

토큰 사용성 - 보유자들, 보유수, 토큰 적용도 및 유지율

토큰 포트폴리오 - 사용자 잔액, 관련 보유수


토큰 기능 지원 목록, Amberdata Medium Blog 발췌



dApp들이 탈중앙화 생태계에서 작동하는데 이 모든 기능이 정말로 필요한가? 

여기서 Amberdata는 커뮤니티가 계속해서 dApp을 사용하길 원한다면 컨트랙트를 유지하고, 컨트랙트 소유자가 토큰 공급량을 변동하지 않아도 되도록 하는 등 안정적인 경제 모델 운용을 지속하기 위해 제 3자가 지원하는 데이터와 매트릭스가 필요하다고 제안한다.


도표에서 살펴보듯, Amberdata가 경쟁력이 있어 보인다. 특히 dApp의 지속적인 활동량을 추적하는 데 있어서 말이다.


웹 소켓 비교


당연하겠지만, 우리는 실시간 데이터가 필요하다. 자, 한번 핵심 수요와 유용한 수단들을 살펴보도록 하자. 웹 소켓의 주요 사용처는 꽤나 분명하다. 


시장 이벤트 - 주문, 거래, BBOs(Best Bid Offer)

블록체인 핵심 이벤트 - 블록, 전송 내역, 내부 전송 내역

블록체인 dApp 이벤트 - 토큰 전송, 컨트랙트 로그/이벤트, 전송 내역, 전송 대기 내역


웹 소켓 기능 지원 목록, Amberdata Medium Blog 발췌

각 제품의 매끄러운 사용자 경험을 위해 포괄적인 서비스 항목을 제공하는 제공자를 이용해야 한다.


속도 및 지연 비교


이제 몇몇 엔드 포인트들을 살펴보고 비교해보자. 지연 측정보다 장/단점 비교하는 좋은 수단은 없을 것이다. 다음의 엔드 포인트들을 위해, artillery.io를 사용해 엔드 포인트에 평균적으로 어느 시점에 도달하는지를 분석하여 지연을 측정해보았다. 아래의 그래프는 가장 많이 사용되는 엔드 포인트들을 이용해 도출한 결과이다. 


1. Get Account Balance (계좌 잔액)


출처 : Amberdata, Etherscan, Blockcypher, Alethio, Blockscout


2. Get Address Transactions (계좌 전송 내역)


출처 : Amberdata, Etherscan, Blockcypher, Alethio, Blockscout


3. Get Transaction (전송 내역)


*해당 전송 내역을 사용함.


출처 : Amberdata, Etherscan, Infura, Blockcypher, Alethio, Blockscout


4. Get Block (블록)


출처 : Amberdata, Etherscan, Infura, Blockcypher, Alethio, Blockscout


5. Get Block Transaction (블록 전송 내역)



6. Get Contract Source Code (컨트랙트 소스 코드)


출처 : Amberdata, Etherscan, Infura, Blockcypher, Blockscout


유의사항 : 각 제공자의 엔드 포인트만 비교했을 뿐, “작성” 기능을 별도로 비교하지는 않았습니다. 결과들은 10번의 요청 중 최솟값을 사용했으며, 초당 최대 1번 실험을 진행했습니다. 작성 당시, 각 엔드 포인트 실험은 가능한 많은 경쟁사들의 서비스들로 실험했습니다.


지속가능성 비교


우리는 Ethereum의 미래를 믿는다. 그러나 지속 가능한 생태계를 꿈꿀 때는, 어떤 간단한 생태계의 관용성에 기댈 것이 아니라, 현실적인 비즈니스 모델이 필요하다. 여러분의 제품은 사용이 중단되거나, 방해받거나 혹은 연결이 끊기지 않을 블록체인으로의 접근을 위한 정통한 지식이 필요할 것이다. 만약 서비스 이용료가 무료일 뿐이라면, 확정 계약도 SLA(Service Level Agreement, 서비스 수준 계약)도 얻을 수 없을 것이다. 


지속 가능성 비교, Amberdata Medium Blog 발췌


각 개인의 사용 사례에 대한 비교를 보았다. 조금 더 큰 범위에서, 제품이 개발됨에 따라, 제품 개발자는 더 많은 기능과 요청들이 성공적으로 작동할 수 있다는 보증이 필요하다.


Amberdata Vs 블록체인 데이터 제공자들


각 데이터 제공자 별 블록체인 데이터 기능 지원 목록 비교, Amberdata Medium Blog 발췌


Amberdata Vs 시장 데이터 제공자들


각 데이터 제공자 별 시장 데이터 기능 지원 목록 비교, Amberdata Medium Blog 발췌

자 확실히 매력적이지 않은가? 이제 시작해보자!


1. amberdata.io에서 아이디를 만들어보자

2. 무료 API Key를 생성하자

3. 다양한 Docs로 API를 사용해보자

4. 피드백은 언제든 환영한다!


더 자세한 정보는 원제 링크 혹은 홈페이지 링크를 통해 확인을 부탁드립니다. 해당 포스트는, 오롯이 온-체인 데이터 분석 및 관련 인사이트에 대해 관심이 있는 분들을 대상으로 공유의 목적을 띄고 있으며, Amberdata와 어떠한 직/간접적 상업적 관계가 없음을 밝힙니다.
작가의 이전글 블록체인 데이터 접근법과 난점
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari