WAVES ホワイトペーパー日本語訳

https://blog.wavesplatform.com/waves-whitepaper-164dd6ca6a23

### 概要

WAVESは、カスタムブロックチェーントークンの処理に焦点を当てた分散型ブロックチェーンプラットフォームです。各国通貨の転送は、対応するゲートウェイ事業者を通じてWAVESブロックチェーン上で維持されます。分散型トークン交換所は、資金調達、クラウドファンディング、およびブロックチェーン上での金融商品の取引を容易にします。軽量クライアントのインストール手順は簡単で、エンドユーザーの学習曲線を平坦にします。

### 前書き

仮説：考えられるすべてのアプリケーションにブロックチェーン技術の適用が試みられるが、P2Pのデジタル通貨が最も利用され続ける。

Ryan X Charles

「ブロックチェーン技術のキラーアプリケーションは、ブロックチェーン自身です。

Common wisdom

ブロックチェーン技術はその発表当時から、その最も自然な応用例―ネットワークトークンを利用した価値の移動―において論争を巻き起こしていました。分散型通貨は画期的な発明ですが、ブロックチェーン技術はこのためだけのものではありません。ブロックチェーンは本質的に分散データベースであるため、この技術によって、さまざまなタイプの分散元帳が実現可能になります。その種類はブロックチェーンユーザーの解釈に依存します。

ブロックチェーンをデジタル通貨の基盤として発表されることで、この技術は多大な関心を集めましたが、同時に世界中の規制当局や政府が厳戒態勢に入りました。Bitcoinが有効な通貨システムとして確立することは間違いありません。しかし、現状現金同等物として使えるブロックチェーントークンは限られるべきであることも明らかです。これは流動性が低くボラティリティが高い現状では現存するブロクチェーンを安全な価値の保管場所として利用できないためです。

私たちはブロックチェーントークンの他の用途に焦点を当てることを提案します。ブロックチェーントークンは、スマートコントラクトなど、ブロックチェーンテクノロジが提供する可能性のある低レベルの機会に見逃されることが多いものです。古典的なカラードコインのアプローチには非常に強力な未開拓の可能性があり、WAVESプラットフォームはこれを最大限に実現するように設計されています。

Bitcoinスクリプティングの自然な発展であるスマートコントラクトはブロックチェーン技術において不可避なもので、この技術の基盤の1つになるでしょう。一方、ある特定の機能は、スマートコントラクトではない他の方法を利用して実装する方がずっと簡単です。ブロックチェーンのトランザクションへのアタッチメントとして実現されるカスタムトークンの処理は非常に柔軟で、ブロックチェーンを介した国の通貨転送から分散型取引まで、さまざまなアプリケーションで使用できます。そのような処理に焦点を当てれば、Ethereumによって導入されたアプローチを補完することができます。[1]

以下のセクションでは、WAVESプラットフォームの機能の技術的動機づけについて説明し、ユースケースを使って説明します。現在のブロックチェーン技術の中で最も「実用段階」な側面を特定し、現実の問題に適用しようと考えています。

### カスタムブロックチェーントークンとその使用方法

#### 技術動機

ブロックチェーン資産とカラードコインのアプローチは2013年ごろに登場しました。ちょうどこの頃、Bitcoinのブロックチェーンを利用したいくつかのプロトコルが実装されています。[4] [5] [6]このほかにも、最初からカスタムのブロックチェーントークンプラットフォームを構築しようとする試みがいくつかありましたが、その中で最も注目されているのはNxtです。[7]

Nxtが実装したアプローチを発展させ、カスタムトークンの作成と転送をブロックチェイントランザクションに追加された付加情報として実現します。このアプローチには明らかなメリットがあります。たとえば新たなトランザクションタイプの実装が簡単であることなどですが、実用的な観点から述べると、これにはハードフォークが必須という問題があります。新しいトランザクションタイプが追加されると、ネットワーククライアントソフトウェアを更新する必要があります。古いクライアントソフトは新しいトランザクションタイプをサポートしていないためです。

WAVESはこの問題を拡張可能なソリューションを提供することで解決しようとしています。このアプローチにおいて、新しいトランザクションはコアソフトウェアとしてではなく、プラグインとしてインストールされます。関連するプラグインがインストールされていないクライアントは、引き続きこれらのカスタムトランザクションをリレーできます。このアプローチにより、サードパーティの開発者は新しいトランザクションタイプを導入することができ、Appstoreのようなエコシステムが形成されます。

コア・レベルでサポートされる最も基本的なトランザクションタイプは、次のもののみです。

- カスタムトークンの作成、削除、転送
- 分散型トークン取引所(Distributed order-matching engineとして実現。BidとAskのネットワークトランザクションが互いにマッチされる)
- 匿名性機能。匿名のオーダーブックは、業界基準の取引プラットフォームにとって必須です

WAVESは、異なるカスタムトークン間の取引（資産対資産取引）を提供することで、分散型ブロックチェーン取引の重要な一歩を踏み出しています。これにより、各国通貨と紐付けられたトークンとの取引を含む、全く新しい機会が開かれ、伝統的なトレーディング・インフラストラクチャーがブロックチェーン上に再現されます。

#### ユースケース

##### ブロックチェーン上の各国通貨

価値移転のためにメインのネットワークトークンを使用のは非常に自然なことですが、それにもかかわらずいくつかの問題が生じます。流動性が低くボラティリティの高いトークンを価値の移転に利用することは、
価値移転のための流動性の低い揮発性の高いトークンの使用は、商人にとって明白な短所であり、規制機関に緊張感を与えます。それでも、完全に分散された貨幣は実現可能です。これは通貨としてのBitcoinがゆっくりではありますが着実に採用されていることによって実証されています。

しかし、十分な流動性を提供し、分散型貨幣が価値の保管場所として利用されるのを阻害しているボラティリティを緩和するためには、通貨として使用されるトークンの総数は制限されるべきです（少なくとも技術開発の初期段階においては）。この理由からBitcoinのみを通貨として使用することを強く推奨します。

外部価値移転のトークンと通貨を取り扱う我々のアプローチは、「マルチゲートウェイ」アプローチに由来します。[2]Bitcoinの場合、Bitcoinの入出金プロセスを維持し、対応するネットワークトークンと交換するパーティ（またはマルチシグパーティ）があります。したがって、WAVESブロックチェーンを使用してBitcoin転送を容易にします。

このアプローチは、Bitcoin自体に固有の制限のために明らかに中央集権化されています。特定のマーケットメイキング手続きを通してダイナミックペッグを提供することに依存する「マーケットペッグ」アプローチに反しています。一見して、マーケットペグアプローチは、分散型プラットフォーム上で金融資産をミラーリングするのに適切な方法であるように見えるかもしれませんが、より仔細に検討すると、隠れた中央集権製がここにも現れてきます。

ブロックチェーン上の各国通貨とBTCのサポートに明示的に中央集権制を導入することにより、既存の金融機関に新しい地平を開くことができます。彼らの役割を、財産資産とKYC / AML手続き、そして流動性を提供することのみに限定することができるかもしれません。支払いインフラストラクチャの維持は、分散型ブロックチェーンに完全に委託されます。

ブロックチェーンに各国通貨を提供するこのアプローチは、Nxtのブロックチェーン上のCoinoUSDトークンとして最初に開発されました。これはRippleのゲートウェイアプローチにも似ています。このような戦略は、新たに出現したブロックチェーンアプローチと競合し、オープンなブロックチェーンに取り組む意欲のある金融機関を引き付けることができると考えています。

##### クラウドファンディング、分散型金融商品、そしてその先

我々は、ブロックチェーンが財務から組織の要素まで、コミュニティベースのプロジェクトのほとんどの側面を管理するための効果的な手段であると確信しています。ブロックチェーン技術はその本質的なレイテンシーのため、高頻度な取引をサポートできません。ミリ秒単位の実行時間が必要な大量のトランザクションをさばくには、殆どの場合中央集権的なソリューションが適しています。しかし、即時的なトランザクションが必要でないアプリケーションの場合、ブロックチェーンは非常に自然な環境を提供します。たとえば、クラウドファンディング・トークンを発行したり、コミュニティ内の財務フローを管理するような場合です。これは、分散ソリューションの使用が有益であり、中央集権化から得るものが少ない領域です。

Kickstarterのような、将来製品がリリースされるのと引き換えに一定の金額を支援するモデルを考えれば、明らかな限界が見えます。プロジェクトの後援者は、別のユーザーに権利を販売してプロジェクトへの「投資」を終了することはできません。一方このようなユースケースは、ブロックチェーンベースのシステムでは非常に自然です。カスタムトークンの交換と転送が設計レベルでサポートされているからです。

有価証券の発行は、ほとんどの管轄区において高度に規制されています。トークンは、特に将来のトークン価格についての予測が行われた場合や、トークン発行者が一定の配当を支払うことを約束する場合に、証券に関連付けることができます。しかし、ブロックチェーンは規制に依存しない手段です。有価証券発行のブロックチェーンを利用したい法人が地方の法律や規制に準拠している場合、ブロックチェーン上で有価証券を発行することは、証券取引所上場を行うことと同様に正当です。

スタートアップの資金調達、私的投資の配置、ベンチャー段階の投資は、ブロックチェーンを活用した金融商品にとって最も適しているようです。一方、それは過度な課税スピード要件を伴わない限り、決済や特定の金融業務を営む大企業でも使用することができます。

ほとんどの管轄区域（特に米国を除く）では、一定の限度を超えないブロックチェーンベースの資金調達は完全に合法的に実施することができます。米国ではequity crowdfunding法により、簡素化されたSEC登録手続きを行えば資金調達が可能になります。

厳格な米国の証券法は不正行為を防止するためのものであり、このためには米国証券取引委員会（US Securities and Exchange Commission）などの強力な中央集権監視機関が必要です。しかし、分散型テクノロジーの進展により、ある種のコミュニティが形成され、分散化された発行者審査が行われるようになり、中央集中型規制当局に取って代わる可能性があります。

クラウドファンディングをWAVESプラットフォームの主なユースケースの1つにするということは、分散型KYC / AMLをなんらかの形でシステムコアに統合する必要があることを意味します。そのために、我々は分散化された評価システムを実装します。これは、WAVESブロックチェーン上の悪意のある参加者を排除するでしょう。

### 軽量クライアント、2層アーキテクチャ、Proof of Stake、ユーザビリティ

#### 技術動機

##### 2層アーキテクチャと軽量クライアント

従来のBitcoinのアプローチは、本質的に、共通のトランザクションログを介して分散システムを同期させる方法です。各ネットワークノードはトランザクション履歴の完全なコピーを保持する必要があります。最終的にすべてのノードが完全な履歴を保存できるわけではないので、これは明らかにうまくスケールしません。この問題を軽減するさまざまな方法があります。特定のノードに必要なデータのみ保存することを可能にするsimplified verification procedure(SPV)やオフチェーントランザクション、双方向支払いトンネル、ブロックチェーンのサイズ削減、システムの状態を直接操作する、などです[8]。最も簡単なアプローチでは、Genesisブロックですべてのノードが等しい場合、完全なブロックチェーンを格納できる十分に容量の高いノードに低容量ノードが依存しなければならないため、中央集権化が発生する可能性があります。よって、2層アーキテクチャが出現します。

これにより、システムは本質的に中央集権化されますか？いいえ、新しいノードは常にネットワークに参加でき、十分なリソースがあれば完全なノードになることができます。

もちろん、軽量ノードは完全なノードを信頼しなければならず、不正な完全ノードの犠牲になる可能性があるため、新たな中央集権化によって信頼の問題が発生します。しかし、いくつかのノードをポーリングし、信頼できるノードリストを管理するなど、これを軽減する方法があります。

WAVESプラットフォームは、古くからの古典的な暗号通貨主義者にとっては極端に見えるかもしれないアプローチを強制しています。軽量ノードはブロックチェーンをまったくダウンロードせず、支払いの検証とネットワークのやりとりを完全なノードに頼っています。このアプローチは、SuperNET liteクライアント[3]に基づいています。このクライアントは、Nxtプラットフォーム上で1年以上にわたって正常に動作してきました。

WAVESはScorexプラットフォーム上に構築されています[8]。Scorexは完全なトランザクション履歴の代替として現在のネットワーク状態を使用するアプローチをベースに開発されています。簡素化された支払い確認プロセス(SPV)は軽量ノード上で動作し、さらなるセキュリティ層を追加します。軽量ノードでシステム状態をダウンロードすることができ、これに基づいて簡素化された支払い確認プロセス(SPV)は動作します。

##### Proof-of-Stake、ステークの貸し出し

我々はWAVESのコンセンサスアルゴリズムとしてProof-of-Stakeプロトコルを選択しました。この選択は、Nxtでのこのコンセンサスアルゴリズムの成功だけでなく、ある理論的考察に基づいています。同時に、我々はPoSプロトコルの強化を提案します。これはLeased PoS(LPoS)と言い、トランザクション時間の短縮とトランザクションスループットの向上を実現します。

PoSシステムでは、メインネットワークトークンを保持している各ノードには、ブロックを生成するチャンスがあります（残高に比例）。2層アーキテクチャにおいて、支払い処理を完全なノードのみに移管することは論理的です。しかし同時に、ゼロでない残高を持つすべてのノードは、引き続き報酬を受け取る資格がある必要があります。

軽量ノードから完全なノードへの明示的な残高の貸し出しによって、少ないノードのステーキングによるセキュリティの低減に関する理論的な問題を解決できます。軽量ノードは、信頼できる完全ノードに貸し出しを行うことで、実際にオンラインになる必要がないため、トランザクション料金を回収する機会が増えます。そして完全なノードは残高が増えたことによりブロックを生成できる可能性があがります。

口座の貸し出しは残高譲渡と同じではありません。軽量ノードは、その残高を他のノードに移して、他の操作を実行することができます。軽量ノードは、残高を貸し出すことによって、ネットワークの支払い処理の大部分を果たす完全ノードを効果的に選択します。潜在的にブロックを生成する可能性のあるノードの数を減らすことで、確認時間が短縮され、レイテンシが低くなり、システムスループットが向上します。

##### 軽量ノードの実現とブラウザプラグイン

軽量ノードは、JavaScriptで書かれたブラウザプラグインとして実現されています。このノードはScorexベースのフルノードと対話します。このプラグインは、ブラウザのアプリストアからインストールされます。ブロックチェーンをダウンロードする必要がないため、ユーザーは簡単なインストール手順の直後に、ブロックチェーンによって動作する本格的なウォレットを入手できます。

ウォレットインタフェースは、従来のオンラインバンキング/ブローカレッジインタフェースに似ています。統合された各国通貨は、表示された法定通貨での価値移転を可能にします。ブロックチェーンの内外への各国通貨の交換は、信頼できるプロバイダによって実行されます。ユーザは各国通貨トークンの購入を完了すると、それを別のユーザに転送するか、分散型取引所で取引することができます。

資産間取引は、米ドル、ユーロ、CNYなどとの取引を可能にすることによって、株式市場のような取引インタフェースを提供することを可能にします。全体として、WAVESプラットフォームのインタフェースは、通常の暗号通貨クライアントよりも従来の金融インタフェースに近いものです。我々は、ブロックチェーン技術を利用しつつも、大部分のユーザーがすでによく慣れ親しんでいるインターフェースを提供することが重要であることを発見しました。ユーザーは従来の金融プラットフォームでは不可能だったことを実行することができますが、学習曲線はフラットなままであり、これは大衆市場への導入の鍵です。

### WAVESのその他の主要機能

WAVESの重要な目標は、コミュニティに根ざした開発とプロジェクトです。そのために、分散型の投票システムとメッセージングシステムが実装されています。これは、コミュニティプロジェクトを管理する上でDAOのような経験を可能にしますが、技術的な観点からはシンプルなままです。

WAVESはカスタムトークン（資産）でネットワーク取引手数料を支払うことができます。問題のトランザクションに加えて、資産をメインネットワークトークンに交換する注文が分散型取引所に送られ、トランザクションはその注文が実行された後でのみ次のブロックに含まれることができます。

### 結論

WAVESプラットフォームは当初から大衆への普及を目標に開発されています。この一般的な概要では、エンドユーザーに今まで見えなかった機会を与え、ブロックチェーン技術の急速な普及の道を開くための技術的ソリューションを提示しようとしました。

### 参考文献

References.

- [1] https://github.com/ethereum/wiki/wiki/White-Paper
- [2] http://multigateway.org/
- [3] https://github.com/Tosch110/SuperNet-Lite
- [4] https://github.com/CounterpartyXCP
- [5] https://github.com/OpenAssets/open-assets-protocol
- [6] https://github.com/OmniLayer/spec
- [7] http://wiki.nxtcrypto.org/wiki/Whitepaper:Nxt
- [8] http://arxiv.org/abs/1603.07926