DApp을 위한 블록체인 플랫폼 고민하기 - 0x protocol

in #tokeneconomy6 years ago


http://storichain.io
스토리체인(Storichain) 이라는 프로젝트를 진행중에 있으며, 적합한 블록체인 플랫폼을 조사차 본 글을 쓰게되었다. 이더리움을 메인넷으로 쓰는 사이드체인이 적합할지 태생부터 속도 및 지원 서비스가 충분한 자체 블록체인 플랫폼들을 적용할지 아직 연구중에 있다. 조사하고 있는 블록체인 플랫폼에 따라 연재순서를 다음과 같이 결정하였다.

  1. IOST
  2. Ox

  3. Micropayment
  4. SimpleToken
  5. Loom Network
  6. Plasma
  7. QuarkChain
  8. Luniverse


http://0xproject.com

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의 처리 과정은 다음과 같다.

  1. Relayer는 수수료 일정 및 거래 수수료를 징수하기 위해 사용하는 주소를 인용합니다.
  2. Maker는 Relayer의 수수료 일정, 설정 값을 만족시키는 값에 feeA와 feeB를 설정하여 주문을 생성합니다. feeRecipient를 Relayer가 원하는 수신 주소로 보내고 비공개 키로 주문서에 서명하십시오.
  3. Maker는 서명 된 주문을 Relayer에게 전송합니다.
  4. Relayer는 주문을 받고 주문이 유효하며 필요한 수수료를 제공하고 있는지 확인합니다. 만약 주문이 유효하지 않거나 Relayer의 요구 사항을 충족하지 못하면 주문이 거부됩니다. 주문이있는 경우 만족스러운 Relayer는 주문서에 주문을 게시합니다.
  5. 수취인은 Maker 's order가 포함 된 주문 도서의 업데이트 된 버전을받습니다.
  6. 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