ホワイトペーパー 調査

KyberNetwork Whitepaper 和訳2

更新日:

前置き

本稿は、個人的なメモ書きとして、KyberNetworkのホワイトペーパー(英語版)を和訳するものです。細かい更新が重ねられているようですが、今回和訳するバージョンはv0.8、2017/8/27に更新されたものです。本稿の和訳対象は第2章です。

基本的に原文に忠実に訳しますので、分かりやすい日本語になっていないところも多々あると思います。一部意味の取れないところは意訳したり、原文のままでは複雑すぎると感じる場合は文章を分割したりする場合がありますので、原文を損なっている可能性があります。また、筆者の語学力の問題で翻訳ミスをしている可能性があります。

以上、予めご承知おきください。原本につきましては次に示しますので、ご参照ください。

スポンサードサーチ

KyberNetwork Whitepaper

原本(英語版)はこちらから。

 2.KyberNetworkの設計

2.1.KyberNetworkのアクター

ネットワーク内のアクターには5つの役割があります。

  1. ネットワークにトークンを送信したり、ネットワークからトークンを受信するユーザ。KyberNetworkのユーザには、個人利用者とスマートコントラクトアカウント、事業者が含まれます。
  2. プラットフォームに流動性を提供する準備金エンティティ。これは、私たち自身の準備金か、他のマーケットメイカーによって登録されたサードパーティの準備金を指します。準備金は公から寄付金を取るパブリックな準備金と寄付金を取らないプライベートな準備金に分類されます。
  3. 準備金エンティティに資金を提供したりプラットフォームの利益を分配したりする準備金寄付者。このアクターは公から寄付金を受けとるパブリックな準備金のみに存在し、準備金を増強します。
  4. 準備金を維持し、交換レートを決定してKyberNetworkに送る準備金マネージャー。
  5. ネットワーク内の準備金エンティティの追加や削除、トークンペアの追加や削除をする役割を担うKyberNetworkオペレーター。初期段階ではプラットフォーム立ち上げのためにKyberチームがKyberNetworkオペレータとして振る舞います。その後、適切な非中央集権的な管理法が用意され、このタスクを引き継ぎます。

各アクターは異なる方法で独立してスマートコントラクトとやりとりをします。ユーザは準備金やKyberNetworkオペレータからのレスポンスを待つことなく、一つのトランザクション内でトークンをやりとりします。KyberNetworkオペレーターは、準備金マネージャーが一定期間内に(基本的に数秒)交換レートを決定して送信する間に、準備金を追加したり取り除いたりする役割を担います。メインコントラクトは高い流動性を保証するために、準備金エンティティに頼ります。

以下の図は、各アクターの相互作用を描いたものです。(筆者注:図は原本をご参照ください。)

2.2.ダイナミックな準備金プール

KyberNetworkは、ネットワーク内に存在する準備金を活用することで高い流動性を保証します。異なる準備金は別の準備金マネージャーによって直接管理されます。準備金マネージャーはKyberNetworkオペレーターと関連していたりしていなかったりします。KyberNetworkは、(準備金の独占を排除することによって)より良い値付けを可能にし、(他のリソースを調節することによって)高い流動性を保証するために、複数の準備金を同時に存在させることができます。さらに、他の人たちがKyberNetworkオペレーターから分離して彼ら自身の準備金を管理できるようにすることは、当該トークンに対応する準備金マネージャーの管理努力から解放することによって、KyberNetworkが出来高の少ないトークンをサポートすることを可能にします。従って、出来高の少ないトークンをトレード/変換するリスクを取りたいパーティは、自身の当該トークンの準備金を作り、KyberNetworkに登録することができます。KyberNetworkは、登録された準備金にかかる一切のお金を保有しない点にはご注意ください。それらのお金はKyberNetworkの基本原理に従う準備金コントラクトに貯蓄されます。

トレード/変換のリクエストがあると、KyberNetworkはリクエストを処理できる全ての準備金から交換レートを持ってきます。そして、KyberNetworkは最も良いレートを選択し、リクエストを実行します。私たちは、準備金とユーザのどちらもが安全であることを保証します。すなわち、私たちはいかなるパーティの資金も持たず、全てのトランザクションは非可分です。

私たちは、KyberNetworkを立ち上げる時は、ネットワーク内には私たちが提供する準備金のみがありそうであることを付け加えておきます。他の準備金が登録される前は、この準備金がシステムの流動性の主なソースとなるでしょう。

なぜ他の準備金がKyberNetworkに加わるべきなのか? KyberNetworkは、準備金マネージャーが他の使用されていないアセットを収益化するプラットフォームを創出します。ユーザからのトレードリクエストに応じることによって、準備金はスプレッドから利益を得ます。そのスプレッドは自身で決定することができます。もちろん準備金はKyberNetworkに加わることなくいつでもトレードをすることができますが、KyberNetworkのネットワーク効果のお陰でより多くの利益を得ることができるでしょう。私たちは、ウォレット提供者や他のトークンプロジェクトとコラボレーションすることでさらに多くのユーザをKyberNetworkに取り込みます。
さらに、準備金マネージャーが準備金ポートフォリオを管理するのを支援するため、KyberNetworkはまた準備金ダッシュボードソフトウェアを提供します。準備金ダッシュボードは、準備金マネージャーが自動的に価格形成やポートフォリオの調整をできるよう、標準的で人気のあるトレードアルゴリズムや戦略を含みます。私たちの準備金ダッシュボードは十分に柔軟であるため、準備金マネージャーはフィットすると考える時・場所でいつでも自身の戦略を実装し展開することができます。

どうやって準備金を安全に維持するか? 準備金のセキュリティは、特にネットワーク内の他メンバーから寄付金を取るパブリックな準備金については、KyberNetworkにおける主要な懸念になっています。主要な懸念の一つは、悪意ある/非倫理的な準備金マネージャーが、準備金から全てのコインを引き出すために自身で悪意ある値付けをしてトレードするかもしれないということです。
準備金を2つのタイプに分類してみます。(1)寄付金を受け取らないプライベートな準備金と(2)外部の寄付金をもらい利益を寄付者に分配するパブリックな準備金です。もしプライベートな準備金の準備金マネージャーが良いセキュリティプラクティスに従っていれば、それでもなお有効な懸念はあるものの、特に準備金がローカルで処理され他のパーティは許可なく干渉することができないので、準備金のリスクへの曝露は許容範囲内に収まるでしょう。一方、パブリックな準備金は、その開放的な系のせいで大きなリスクに曝されています。パブリックな準備金のセキュリティリスクを軽減するために、私たちは例えばMelonFund(MelonPortが開発)のような、透明な資金管理モデルを利用します。そのため、準備金の寄付者は準備金マネージャーによって行われた全てのトレード行為を追跡することができます。それに加えて、私たちはまたオープンな準備金を守るために制約を導入することを計画しています。一例を挙げると、準備金コントラクトそれ自身や準備金とやりとりのある取引所のような、予め登録されたコントラクト内のアドレスにのみ準備金の資金を移転することができるといったことです。これにより、システム外部への不当な資金持ち出しリスクは取り除かれます。また、1イーサリアムあたりたった500GNT(Golem Networkトークン)の為替レートであるときに1イーサリアムあたり100万GNTなどにするなどのように、すなわち準備金マネージャーが安価でGNTを買えるようにしてしまうように、準備金マネージャーが意図的に不当で不合理な交換レートを設定してしまうことを防止するため、私たちはオンチェーンメカニズム(例えば、特別な承認なく不合理な価格変更をできないようにする)とオフチェーンメカニズムの両方を利用します。例えば、システムがネットワークの完全性を間接的に攻撃する不審な挙動を検知したとき、トランザクションを中断するであろうバックグラウンドモニターは、ネットワーク内のあらゆる準備金マネージャーからの不審な挙動を見張って停止させます。

2.3.メインシステムコンポーネント

KyberNetworkは以下に示すシステム内の主要なコンポーネントで構成されます。

  • スマートコントラクト:KyberNetworkはいくつかのコントラクトを含みます。その中には、ユーザと準備金マネージャーにとってのシステムへの主な入口として役割を果たすメインコントラクトも含まれています。私たちはまた、準備金を維持する別のコントラクトや、KyberNetworkがサポートするあらゆる特徴につながる便利なインタフェースを提供するコントラクトウォレットを持ちます。
  • ユーザウォレット:ユーザをサポートするフレンドリーなインタフェースを有するウォレットアプリです。Status、Token、Metamaskのような既存アプリとの統合は、KyberNetworkを採用することの一助となるでしょう。
  • 準備金マネージャーポータル:パフォーマンスやネットワークの統計情報を表示したり、価格形成をしたり調整をするための異なる戦略やアルゴリズムをサポートすることによって準備金の管理を手助けします。準備金マネージャーはこのポータルを介してネットワークと(またはKyberコントラクトと)やりとりします。
  • オペレーターダッシュボード:KyberNetworkオペレーターがシステム全体を管理するのを手助けします。オペレーターはこのダッシュボードを介して新しい準備金の追加・削除やネットワークの変数を変更することができます。

必要最低限の能力を実装したプロダクトが2017年8月にリリースされました。読者は私たちのブログの投稿からさらに詳細情報を入手することができます。

2.4.KyberNetwork api

KyberNetworkはユーザや準備金、準備金寄付者のための様々なAPIをサポートします。

2.4.1.ユーザAPI

ユーザAPIは、通常のアカウントやコントラクトアカウントを含むあらゆるイーサリアムアカウントで呼び出すことができます。

Tranfer(amount, source tokens, destination token name, destination address)

Transferファンクションは、source tokens(トークンAとします)のamountで指定した量をdestination token(トークンBとします)に変換し、トークンBをdestination addressに送信します。例えば、ユーザは、
Transfer( 100, “DGD”, “Melon”, “0xb794f5ea0ba39494ce839613fffba74279579268”)
を呼び出し、100DigixDa0トークンをMelonportトークンに変換たうえで全ての変換済みのメロンポートトークンを“0xb794f5ea0ba39494ce839613fffba74279579268”に送信することができます。

GetExchangeRate(token A, token B)

トークンAとトークンBの交換レートを返します。将来、私たちは、様々な出来高に対して様々な交換レートをサポートします。

2.4.2.準備金寄付者API

準備金寄付者APIはあらゆるイーサリアムネットワークのアカウントから呼び出すことができますが、いくつかのAPIは既に当該アカウントが寄付をしている場合に限り動作します。KyberNetworkには2つの異なる準備金のタイプがあります。すなわち、公から寄付金を取らないプライベートな準備金と、他者が寄付できるパブリックな準備金です。パブリックな準備金のためのAPIは、MelonFund(MelonPortによって構築された分散型ヘッジファンドプラットフォーム)のAPIととてもよく似ています。主なAPIを一覧に示します。

ContributeReserve(token type, amount)

準備金に当該token typeのトークンをamountの分だけ寄付します。全ての寄付に対して、寄付者はプラットフォームへの寄付を表すためにいくらかの準備金トークン/分配金を受け取るでしょう。さらなる技術情報については、私たちは読者にMelonportのグリーンペーパーを紹介します。

WithdrawProfits()

利益は寄付者の寄付金に比例して配分されます。プラットフォームの利益を配分するための正確な方法は準備金の実装に依存するでしょう。

WithdrawContribution(KNC amount, token type)

既存の寄付者は準備金から寄付金を引き出すことができます。引き出される寄付金について、寄付者は受け取りたいと思うトークンのタイプを指定することができます。私たちはバックグラウンドで変換を行います。

2.4.3.準備金マネージャーAPI

SetRate(token A, token B, Rate)

既存のトークンAとトークンBのペアの交換レートを設定します。実際の展開においては、このAPIは、1つのトランザクションで既存の全ペアのレートを更新する他のAPIに置き換わります。

2.4.4.KyberNetworkオペレーターAPI

ListPair(token A, token B, initial rate)

KyberNetworkがサポートする新しいトークンのペアを導入します。

DelistPair(token A, token B)

あるペア間のトレードの受け入れを停止します。

AddReserve(reserveAddress)

ネットワークに新しい準備金を追加します。準備金はその準備金のマネージャーによって管理されます。

RemoveReserve(reserveAddress)

KyberNetworkから現存する準備金を削除します。削除は、低流動性や悪意ある価格、その他の理由によります。

2.5.クロスチェーンのトラストレスなトレードのサポート

BTCRelayのようなチェーンリレーは、異なるブロックチェーン間のコミュニケーションを可能にします。PolkadotやCosmosのようなプロトコルの立ち上げはクロスチェーン取引をもっと簡単にするでしょう。KyberNetworkは、イーサリアムアカウントが異なる暗号通貨からの支払いを受け取ることができるよう、これらのテクノロジーを利用します。

-ホワイトペーパー, 調査
-, , , , , , , ,

Copyright© 暗号通貨界隈のメモ書きなど。 , 2019 All Rights Reserved Powered by STINGER.

%d人のブロガーが「いいね」をつけました。