http://storichain.io
스토리체인(Storichain) 이라는 프로젝트를 진행중에 있으며, 적합한 블록체인 플랫폼을 조사차 본 글을 쓰게되었다. 이더리움을 메인넷으로 쓰는 사이드체인이 적합할지 태생부터 속도 및 지원 서비스가 충분한 자체 블록체인 플랫폼들을 적용할지 아직 연구중에 있다. 조사하고 있는 블록체인 플랫폼에 따라 연재순서를 다음과 같이 결정하였다.
- IOST
Ox
- Micropayment
- SimpleToken
- Loom Network
- Plasma
- QuarkChain
- Luniverse
0x 특성요약
목적 : 거래소, dApp, 블록체인 간에 자산 교환을 분산 환경에서 수행
특성 : 보증금 없이도 거래할 수 있음, Sidechain 다른 점.
작동 : 암화화폐 거래소를 가정하여 Off-chain에서 Relayer가 Order Book을 만들고 매수자(Taker)가 그 중에서 선택하면 메인 넷에 등록
강점 :
- Off-chain을 이용하므로 Gas 비 등을 줄일 수 있음
- Relayer 가 중간 매개자 역할을 수행하므로 다수의 거래를 Off-chain에서 수행가능
- 분산화된 Governance 기능이 있어 변화에 공정하고 능동적인 대처 가능
- 커뮤니티와 개발자 생태계가 조성되고 있음
단점 : Relayer 채널이 DDos 공격에 취약함
세부특성 설명
0x protocol 은 이더리움 블록체인의 ERC20 토큰의 p2p 교환을 용이하게하는 프로토콜입니다. 0x는 dApp 간의 상호 운용성과 자산 교환을 가능하게 합니다. 거래는 이더리움 스마트 컨트랙트에 의해 실행되며, 무료로 모든 dApp을 연결할 수 있습니다. 자신의 유동성 풀을 생성하고 그에 따른 거래 수수료를 부과할 수 있습니다. 분산 거버넌스는 dApp 또는 최종 사용자를 방해하지 않으면서 기본 프로토콜을 안전하게 업데이트할 수 있습니다. 간단히 정리하면 다음과 같습니다.
• 오프 체인 주문 릴레이 + 온체인 연결 결제 = 마켓 플레이스의 비용 감소 및 빠른 결제.
• 모든 dApp이 연결할 수있는 공개적으로 액세스 가능한 스마트 계약.
• 중개인은 자신의 유동성 풀을 만들고 대량으로 거래 수수료를 부과 할 수 있습니다.
• 표준화 + 디커플링 = 공유 프로토콜 계층 →
- dApp 간의 상호 운용성 제공
- 서로 유익한 유동성을 중심으로 네트워크 효과를 창출합니다.
- 진입 장벽을 줄여 시장 참여자의 비용을 절감합니다.
- 중복 제거, 사용자 경험 및 현명한 계약 보안 향상
• 분산 업데이트 메커니즘을 통해 개선 된 기능을 dApp 또는 최종 사용자를 방해하지 않고 프로토콜에 지속적이고 안전하게 통합 할 수 있습니다.
그림 1 은 0x protocol 작동방식을 가장 단순화하여 보여주는 도면이다.
그림 1
그림 1 에서 중개인은 거래 수수료와 교환하여 오프 체인 주문 도서를 호스팅하고 유지 관리합니다. 이 다이어그램은 오프 체인 (off-chain) 주문 릴레이와 제조사 및 중계기가 사용하는 단계의 순서를 보여줍니다. 트러스트없는 방식으로 거래 수수료를 협상합니다. 거래 수수료는 Maker 또는 Taker에서 이동합니다. 거래 정산시 Relayer에게 전달하고, 필요시 온 체인 내 결제 프로세스를 따릅니다.
그림 1의 처리 과정은 다음과 같다.
- Relayer는 수수료 일정 및 거래 수수료를 징수하기 위해 사용하는 주소를 인용합니다.
- Maker는 Relayer의 수수료 일정, 설정 값을 만족시키는 값에 feeA와 feeB를 설정하여 주문을 생성합니다. feeRecipient를 Relayer가 원하는 수신 주소로 보내고 비공개 키로 주문서에 서명하십시오.
- Maker는 서명 된 주문을 Relayer에게 전송합니다.
- Relayer는 주문을 받고 주문이 유효하며 필요한 수수료를 제공하고 있는지 확인합니다. 만약 주문이 유효하지 않거나 Relayer의 요구 사항을 충족하지 못하면 주문이 거부됩니다. 주문이있는 경우 만족스러운 Relayer는 주문서에 주문을 게시합니다.
- 수취인은 Maker 's order가 포함 된 주문 도서의 업데이트 된 버전을받습니다.
- Taker는 Ethereum 블록 체인의 교환 계약서에 Maker 's order를 채워 넣는다.
그림 2
그림 2 는 Ox protocol 참여자가 데이터 흐름을 도형화한 것입니다. 그림 1 보다 행위자들의 역할을 더 잘 보여줍니다.
그림 2 를 참고하여 전반적인 기능을 추가적으로 설명하면 다음과 같습니다.
주문은 relayer(중계인) 사이에서 진행된다. 주문북에 다양한 내용을 넣고자하거나, 일종의 요금 공유 약정을 relayer(중계인) 그룹이 할 수도 있다.주문은 dApp을 통해 최종 사용자에게 전달 될 수 있으므로 최종 사용자는 애플리케이션 별 토큰을 마찰없이 획득하거나 dApp 내에서 직접 임의의 토큰으로 지불 할 수 있습니다. 이 개념을 토큰 추상화라고 부릅니다.
Traders 및 dApp 사용자는 단일 표준 지갑에서 이러한 모든 주문 흐름 스트림에 액세스 할 수 있습니다. 거래 계정이 없습니다. 보호권을 제 3 자의 손에 맡길 필요가 없습니다. 여러 스마트 계약을 통해 디지털 자산을 분산시킬 필요가 없습니다. 예치이나 출금이 필요없습니다. 더 많은 유형의 디지털 자산과 관련 중계자가 본 프로젝트에 진입함에 따라 점점 더 유용 해지고 있습니다
여러 블록체인 플랫폼의 성격을 파악하는 것도 중요하지만 자신의 DApp 서비스의 성격도 정확히 파악이 되어야 적합한 플랫폼 선택이 가능할 것입니다. 전반적으로 Ox protocol 은 다양한 성격의 데이터를 담을 수 있을 것으로 보입니다. 무엇보다. 개발 커뮤니티가 조성되어가고 있는 것이 가장 강점이 아닐까 싶습니다. 우려스러운 것은 분산 거래소를 타겟으로 개발되는 프로젝트로서 대규모 SNS 나 커머스서비스가 일반적으로 제공하는 기능 이외에 자신만의 기능을 추가로 DApp 에 넣고 싶다면 직접 해당 기능을 구현해야 합니다.
참고문서
[1]. https://0xproject.com/pdfs/0x_white_paper.pdf
[2]. medium article, Front-running, Griefing and the Perils of Virtual Settlement