リースされた Proof of Stake コンセンサス アルゴリズムと Waves-NG プロトコル 

著者: Guy Brandon、Waves 寄稿者。

Waves ネットワークは、Waves-NG プロトコルと組み合わせたリース型プルーフ オブ ステーク (LPoS) コンセンサス アルゴリズムで実行され、高度なスケーラビリティとトランザクション スループットを提供します。


序文

Waves ネットワークは、30,000 BTC、当時で約 1,600 万ドルを調達した ICO の後、2016 年に発足しました。このプロジェクトは、カスタム トークンの簡単な作成、スマート コントラクト、組み込みの分散型取引所 (DEX) でのピアツーピア取引など、さまざまなニーズをカバーする幅広いツールを備えたビジネス ソリューションのための包括的なブロックチェーン エコシステムを開発しています。また、Waves Keeper ブラウザ プラグインを使用して dApp や Web サービスと対話するための安全かつ便利な手段です。


スケーラビリティ

Waves は設立当初から、ブロックチェーン技術を大量に導入するにはスケーラビリティを向上させ、既存のブロックチェーンの制限に対処する技術開発を優先する必要があることを認識していました。たとえば、ビットコインは非常に安全ですが、比較的遅く、1 秒あたり約 7 トランザクション(TPS)しかサポートできません。したがって、ビットコインは日常通貨として使用できるほど効率的ではありません。ビットコインがこれを実現するには、ライトニング ネットワークのようなレイヤー 2 ソリューションが必要です。 Waves は異なるアプローチを採用し、レイヤー 2 アプリケーションを検討する前に、当初はチェーンの高いスケーラビリティに焦点を当てていました。


バランスリース

Waves の元のコンセンサス アルゴリズムは、Proof of Stake の単純な実装でした。 1億のWAVESトークンはすべてICO後に配布され、PoWコインのようにインフレすることなく総供給量は固定されています。したがって、Waves のバリデーター (通常は「マイナー」と呼ばれますが、偽造者) は、報酬ではなくブロック料金の支払いで報酬を受けます。 

リースド プルーフ オブ ステーク (LPoS) システムは 2017 年 5 月に完全に開始され、Waves ライト クライアントのユーザー、つまり完全なノードを実行できないユーザーがマイニング ノード用に WAVES トークンをリースできるようになりました。レンタルされたトークンはユーザーのアカウントにロックされ、譲渡または交換することはできません。ただし、レンタルは所有者の完全な管理下にあり、レンタルはいつでもキャンセルできます。マイニング ノードの実行に伴う技術的オーバーヘッドと 24 時間 365 日オンラインである必要性を考慮すると、Waves コミュニティの比較的一部のみがマイニング ノードを実行しています (バリデーターのリストは https://dev.pywaves.org/ でご覧いただけます)発電機/)。 

リースされた WAVES トークンはマイナーの賭け金を増やすために使用され、マイナーが次のブロックを見つける可能性が高まります。リースド プルーフ オブ ステーク システムは、少なくとも 2 つの方法でネットワーク セキュリティを向上させます。まず、ネットワーク上で使用される WAVE が多ければ多いほど、攻撃者が 51% 攻撃に必要なトークンを蓄積することが難しくなるため、より効果的です。第 2 に、WAVES はユーザーのコールド ウォレットからノードにリースできますが、ネットワークに接続されたままのノード自体には、最小限の残高のみが必要です。これにより、リース資金がマイナーに転送されないため、ネットワークに接続されたコンピューターから WAVES トークンがハッキングされるリスクが大幅に軽減されます。


Waves-NG によるコンセンサスへの新しいアプローチ

2017 年 12 月には、Waves-NG の立ち上げにより、ネットワークへのさらなるアップデートが行われました。これは、コーネル大学 IT 教授 Emin Gün Sirer によって作成された Bitcoin-NG に基づく新しいプロトコルでした。

元のビットコイン プロトコルでは、各マイナーが遡及的に選択されます。ブロックがブロックチェーンに追加されると、マイナーはチェーンの現在の状態に基づいて次のブロックの有効なハッシュを見つけるために互いに競争します。その間、新しく作成されたトランザクションはメモリプールに入り、マイナーの 1 人がトランザクションを収集して検証する間、トランザクションは保留されたままになります。 

これらのプロトコル、ビットコインとビットコイン NG はどちらもビザンチン ジェネラル タスク (BFT) システムとみなされますが、後者は、異なる動作メカニズムに基づいて、スケーラビリティを向上させる代替手段として 2015 年に提案されました。 Bitcoin-NG システムでは、次のマイナーが事前に選択され、空のキー ブロックが作成されます。これが最終的にブロックチェーンに追加されるブロックです。このキーブロックにマイクロブロックと呼ばれる小さなブロック(複数のトランザクションから構成される)が追加されます。日常的な例で言えば、これは、カート (キーブロック) がいっぱいになって最終的にチェックアウトにたどり着く (ブロックチェーンに追加される) 前に、いくつかの買い物袋 (マイクロブロック) をカート (キーブロック) に追加するようなものです。これは、ネットワークに関連する実際の遅延のみで、わずか数秒でトランザクションをブロックチェーンに追加できることを意味します。 Waves は Proof of Stake を更新し、Waves-NG プロトコルを作成しました。これは、オープンなパブリック ブロックチェーンにおける Bitcoin-NG の最初の解釈です。

エコシステムへのもう 1 つの追加は、MassTransfers でした。これにより、手数料を削減しながら、最大 100 回の送金を 1 つのトランザクションにまとめることができます。 MassTransfer の 100 TPS 制限は、大幅な容量と利便性、および低コストのトランザクションの非常に大規模なバッチを送信する機能の制限との間の妥協点として選択されました。さらに多くの転送を行う必要がある場合は、複数の MassTransfer を順番に実装できます。

つまり、ユーザーは別のトランザクション送信タイプとして MassTransfer を選択するだけで、1 回の転送に最大 100 人の受信者を含めることができます。さらに、受信者のアドレスを JSON または CSV ファイルで提供できるため、WAVES をマイニング ノードにレンタルする人に大規模なエアドロップや毎週の支払いを行うのが簡単かつ効果的になります。 MassTransfer を Waves-NG と組み合わせると、非常に高いネットワーク スループットが実現します。

新しいプロトコルのスループットを評価するために、Waves ネットワーク上で一連のテストが実施されました。 2018年10月にメインネットのストレステストが実施されました。これにより、パブリックなオープン ブロックチェーン プロトコルが 1 日あたり 610 万件以上のトランザクションと、平均 4,200 TPS/分または 71 TPS/秒をサポートでき、最大スループットは 1 秒あたり 100 以上のトランザクションに達することが実証されました。


結論

リース型 Proof-of-Stake システムにより、一般ユーザーは、制御を失うことなく WAVES トークンをノードに転送することで、Waves ネットワークのセキュリティを確保することができました。同時に、Waves-NG は最大 100 TPS のスループットを提供します。これは、多くのブロックチェーンよりも桁違いに大きいです。また、電気代や高価な機器のコストを相殺するためにマイナーにブロック報酬を支払う必要がないため、トランザクションも安くなります。

Waves にとってチェーンのスケーラビリティは最優先事項ですが、同じアプローチを採用する他のブロックチェーン ネットワークには、必要なメモリと帯域幅の量により一定の制限があります。 Waves の開発者は、追加のソリューションが必要になる前に、最大 1000 TPS をサポートするように最適化できると考えています。 Waves は現在、サイドチェーンを含む第 2 レイヤーをスケーリングするためのさまざまなオプションを検討しています。これにより、パラレル チェーン上で多数のトランザクションを処理し、最終的にはメイン チェーンで保護できるようになります。