こんにちは、Stakedの渡辺創太です。今回は0xプロトコルの概要をざっくり説明します。
モチベーション
0xプロトコルについて簡潔に概要を説明すること。0xは今まで読んできたホワイトペーパーの中で最も良かったものの1つなのでその価値を伝えること。間違い、ご意見あればTwitter経由でご連絡ください。
0xの目指すもの
Vision
すべての価値がパブリックブロックチェーンでトークン化された世界を創造する。
A world in which all forms of value are tokenized on public blockchains.
Mission
すべての価値が自由に行き来するトークン化された世界を創る。
Create a tokenized world where all value can flow freely.
Core value
正しいことをしよう。一貫した姿勢を貫こう。長期的インパクトにこだわろう。
DO THE RIGHT THING
CONSISTENTLY SHIP
FOCUS ON LONG-TERM IMPACT
0xプロトコルの概要
0xはイーサリアムのスマートコントラクトで作成された、DEXを
構築するためのプロトコル。非中央集権性を担保した上で異なるトークン間の流動性の向上を目指している。決済以外の処理をオフチェーン上で行うことによって、高速な処理と低手数料を実現している。(Off-chain order relay On-chain settlement)0xは単なるDEXではなく、プラットフォームであり、ゲーム、アート、未来予測、ローンなどのアプリケーションが0x上で作られている。
いくつかの特徴
- 0xは分散化され、トランストレスである。故にハッキングを受けることがない
- 0xは公共のインフラであり、使用料がかからない。営利目的のアプリケーションをその上に構築することはできる
- 0x v1ではERC20トークンのみであったがv2ではERC721のトークンもサポートした。今後はERCトークンのマーケットの拡大から証券やエクイティー、債権、デリバティブ、法定通貨、ゲームのアイテムなど様々なアセットを取引可能にする予定
- オーダーが同じフォーマットで共有され需要と供給がマッチングしたユーザー同士でp2pでマッチングされる
- DAppsが運営されるのをインテグレーションを通してもっと簡単にする
- オープン・スタンダード、プロトコル上にアプリケーションを作り、カスタマイズすることができる
- 自動的に新しいトークンをサポートする
ZRXトークンの役割
ZRXトークンは2つの用途で使用される。1つ目はCordination問題(ゲーム理論の問題)を解決し、流動性を担保するネットワークエフェクトを加速させ、アーリーアダプターがマスアダプションによってフィードバックループが得られるようにすること。2つ目は0xのアップデート時に分散化されたガバナンスモデルを使用するためである。
具体的な用途
- MakerとTakerがリレイヤーに対してZRXトークンによって手数料を払う
- 0xプロトコルのアップデートに関し、ZRXが分散ガバナンスを支えるトークンとしての役割を持つ。ZRXホルダーによって0xプロトコルのアップデートが安全でありネットワークを破壊する可能性を最小限にする
0xプロトコルのリレイヤー
“Off chain order relay and On chain settlement”
0xは買いと売りのマッチングをオフチェーンで行っている。
取引内容をマッチングさせるため、リレイヤーという取引所のようなものがある。(1つではない)0xプロトコル上でリレイヤー同士がオフチェーンでメッセージを送り注文をマッチングさせることによってオンチェーンでの取引を行う。
リレイヤーは取引の手数料を徴収することをインセンティブに運営を行い、0x上のリレイヤーはそれぞれ手数料の%を決めることができる。
現状、リレイヤーは手数料0でマッチングをさせているが、手数料の%を自由に決めることができることで0xプロトコル上に一種の市場環境を作り出している。
すでにデプロイされたコントラクト
開発するときは、指定のネットワークに対するコントラクトを呼び出す。
Mainnet
AssetProxyOwner: 0x17992e4ffb22730138e4b62aaa6367fa9d3699a6
ERC20Proxy: 0x2240dab907db71e64d3e0dba4800c83b5c502d4e
ERC721Proxy: 0x208e41fb445f1bb1b6780d58356e81405f3e6127
Exchange: 0x4f833a24e1f95d70f028921e27040ca56e09ab0b
Forwarder: 0x7afc2d5107af94c462a194d2c21b5bdd238709d6
OrderValidator: 0x9463e518dea6810309563c81d5266c1b1d149138
WETH9 (i.e new EtherToken): 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
ZRXToken: 0xe41d2489571d322189246dafa5ebde1f4699f498
Kovan
AssetProxyOwner: 0x2c824d2882baa668e0d5202b1e7f2922278703f8
ERC20Proxy: 0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e
ERC721Proxy: 0x2a9127c745688a165106c11cd4d647d2220af821
Exchange: 0x35dd2932454449b14cee11a94d3674a936d5d7b2
Forwarder: 0xd85e2fa7e7e252b27b01bf0d65c946959d2f45b8
OrderValidator: 0xb389da3d204b412df2f75c6afb3d0a7ce0bc283d
WETH9 (i.e new EtherToken): 0xd0a1e359811322d97991e03f863a0c30c2cf029c
ZRXToken: 0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa
Ropsten
AssetProxyOwner: 0xf5fa5b5fed2727a0e44ac67f6772e97977aa358b
ERC20Proxy: 0xb1408f4c245a23c31b98d2c626777d4c0d766caa
ERC721Proxy: 0xe654aac058bfbf9f83fcaee7793311dd82f6ddb4
Exchange: 0x4530c0483a1633c7a1c97d2c53721caff2caaaaf
Forwarder: 0x3983e204b12b3c02fb0638caf2cd406a62e0ead3
OrderValidator: 0x90431a90516ab49af23a0530e04e8c7836e7122f
WETH9 (i.e new EtherToken): 0xc778417e063141139fce010982780140aa0cd5ab
ZRXToken: 0xff67881f8d12f372d91baae9752eb3631ff0ed00
#参考
0x blog