KyberNetwork 仮想通貨分散取引所

概要

DEX(分散交換所)およびペイメントサービスを提供するシンガポール発のプロジェクトです。ユニークな構成によって仮想通貨とトークンの交換をインスタントにオンチェーン上で実行することができます。交換所の機能と共に、Kyber Network(以下、『KN』)はペイメントAPIを提供し、トークンによる支払いを実装することができるようになります。KNはPolkadotsやCosmonなどのCross-Chain Transactionをサポートすることで、異なるプロトコル上での交換も可能にしていく予定のようです。

課題

中央集権的な交換所には、内部の詐欺・外部のハッキングリスクが常に存在しています。日本では、Mt.Goxやコインチェック、世界ではBitfinexやShapeshiftなどの交換所にてハッキング事件が起きており、合計で数兆円規模の資産が失われています。DEX(分散交換所)はEthereum上でいくつも提案されています。しかし既存のDEXでは、orderが作成されてから、blockに受け入れられるまでに時間がかかるため、外部操作に対して非常に脆弱です(参照:https://swap.tech/whitepaper/)。さらに既存のDEXは、安全性があるにもかかわらず、期待よりもユーザーが集まりません。ビジネス構造の問題もありますが、技術的には、チェーン上にorder bookを持つことで、ユーザーがorderをキャンセルや変更する際に、高いコストがかかることが指摘できます。orderの変更は買い手と売り手がマッチングすることに対して大きなコストになります。あるDEXはこの問題にアドレスしており、中間の価格決定者を設定し、買い手と売り手のコンセンサスを得ることで取引を実行します。しかしこの方法では、この中間の価格決定者を信頼する必要性があり、この詐称リスクを排除することが難しくなります。

解決方法

KNでは、Reserveという役割がユニークです。グローバルなorder bookを持つ代わりに、KNは一定のトークンを保有するReserveが存在します。ユーザーは事前に交換手数料とレートを知ることができます。ユーザーはトークンAをKNネットワーク上のスマートコントラクトに送り、このスマートコントラクトは要求に応じて、トークンBをreserverからユーザーに送ります。すべての取引は単一処理されるので、ユーザーはトークンをデポジットしたり、長い間処理を待つ必要がありません。Reserveは複数のReserve Contributorから構成され、彼らはReserve Managerから管理されることになります。Reserve Managerが実際の交換レートや手数料を決定し、Contributorにプラットフォーム上の収益をシェアします。KyberNetwork OperatorはReserveになるエンティティを追加/排除することができます。初期はKNチームが担当しますが、今後は複数のエンティティをOperatorsに追加してくことでより分散的な構成にシフトしていきます。

The diagram illustrates the interaction of each the actors. ref: https://kr.kyber.network/assets/KyberNetworkWhitepaper.pdf

 

技術構成

KNは1. スマートコントラクトと2. ユーザー向けのwallet、3. Reserve Manager向けのポータル、4. Operator向けのダッシュボードで構成されます。KNはユーザー向けAPIを発行することで、walletなど各種IFの拡張を行います。Matamaskなどの既存walletからAPI経由でKyberNetworkにアクセスすることができます。reserverとoperatorにも同様にAPIが公開されています。KNのスマートコントラクトはすべてon-chain上で行われることを前提に設計されています。いま存在しているすべてのスマートコントラクトをKNに適用することができます。さらに彼らはpolkadotやcosmosなどのcross-chain技術を活用し、ERC20とは異なるプロトコルで動作するトークンも交換できるように実装していきます。

トークンモデル

Kyber Network Crystal(以下、『KNC』)を発行します。KN上で行われた取引量の一部を、Reserve側は手数料としてKNCでネットワークに支払う必要があります。Reserve側は、ネットワークを利用することによってスプレッド分の利益を得ることが出来るため、ネットワーク使用料を払うことになっているようです。そして支払われたKNCは運営費用やパートナーへの支援費用を差し引いた上でバーンされるようです。

適用例

たとえば、ICOを実行する際に、より多くの種類でトークンの受付を行いたい場合、KNを活用できます。KNでサポートされるトークンをプラットフォームに送り、これをプロジェクト側はETHで受け取ります。プロジェクト側はETHの受け入れ部分だけを実装すれば済みます。店舗での仮想通貨支払いチェネルを提供する場合なども同様に適用できます。