本稿について
様々なブロックチェーンにインスピレーションを与えているプロトコルBitcoin-NG(Bitcoin Next Generation)の論文を見ていきます。本稿では「8. Evaluation」の序文を見ます。
原文はこちらになります。
スポンサードサーチ
今回のまとめ
- ブロック生成頻度とブロックサイズ(=パラメータ)を変えてBitcoinとBitcoin-NGとを比較したところ、以下の結果が得られた。
- Bitcoinはパラメータの変更によりコンセンサスディレイと帯域幅を改善できるが、セキュリティが著しく悪化する。
- Bitcoin-NGはそのような悪化が見られることはなく、なおかつ指標(注:ここで検討対象としている指標は第6章で示したコンセンサスディレイ、公正性、マイニングパワー利用率、プルーニングにかかる時間、勝ちにかかる時間の5つ)ほぼ全てでBitcoinを上回った。
- この差は、Bitcoin-NGが高スループット下でもBitcoinのフォークにあたるものを発生させる確率が低いこと、メインチェーンの合意がキーブロックの受信によりすぐに行われることに起因すると考えられる。
- 実験で指標を測定するにあたっての前提は以下である。
- コンセンサスディレイ:(90%, 90%)-コンセンサスディレイを採用。
- 公正性:①メインチェーンの全ブロックに関して、最大のマイナーが生成したものではないメインチェーンのブロックの比率と、②生成された全てのブロックに関して、最大のマイナーが生成したものではないブロックの比率から算出。
- マイニングパワー利用率:メインチェーンのブロックにかけられた総仕事量と全ブロックにかけられた総仕事量の比率を計算(ただし、Bitcoin-NGではマイクロブロックを除く(プルーフオブワーク不要のため))。
- プルーニングにかかる時間:ブランチの最初のブロックを受信した時点と、そのブランチより長いチェーン(メインチェーン)のブロックを受信した時点の時間差。90パーセンタイルを採用。
- 勝ちにかかる時間:メインチェーンのブロック生成時点と、そのブロックの子でないブロックの生成時点の時間差。90パーセンタイルを採用。
※以下、今回まとめた範囲の論文和訳になりますので詳細をご覧になりたい方は読み進めてください。
8. 評価
ブロックの生成頻度とブロックサイズを変更する2つの実験設定でBitcoin-NGを評価し、Bitcoinと比較する。
まとめると、パラメータを調整することでBitcoinのコンセンサスディレイや帯域幅を改善することは可能であるが、セキュリティ関連のあらゆる指標に関しては危険なほどに悪化させてしまうことが実験により示された。Bitcoin-NGはこれらの悪化に苦しむことはないので、測定範囲全体を通じてほぼ全ての指標で卓越したパフォーマンスを見せながら定性的にBitcoinよりも優れたパフォーマンスを発揮する。Bitcoin-NGの帯域幅の制限要因は個々のノードの処理速度だけである。これは高いスループットがキーブロックのフォークを生じさせるわけではないためだ。コンセンサスディレイはネットワークの伝搬時間によって直接的に決定される。なぜなら通常の場合、全てのノードは最新のキーブロックを受信するとすぐにメインチェーンに合意するからだ。
実験では90パーセンタイルを選択した。これより低いパーセンタイルは同じ傾向を示し、非常に低いパーセンタイルでは優れたパフォーマンスを示す。正しいチェーンを持つ小規模なノードのサブセットが常に存在するからだ。しかし、これより高いパーセンタイルでは結果がノイズの中に埋もれてしまう。1000ノードと高いパーセンタイル下、例えば99パーセンタイル下で私たちは10番目に遅いノードを計測する。すると、継続的あるいは一時的に遅れているいくつかのノードが常に存在するので、結果はこのランダムなふるまいによって大きな影響を受けることになり、傾向は明らかにはならない。
紹介した指標を以下のようにナカモトブロックチェーンとBitcoin-NGに当てはめて例示し、測定する。
コンセンサスディレイ
ブロック生成時間に基づいて(90%, 90%)-コンセンサスディレイを採用する。Bitcoinのポイントコンセンサスディレイは図4に示すとおりである。第5章で述べたように、高い確実性(99%など)を求めるユーザは、トランザクションが完了したものとして受け入れるには数キーブロックを待たねばならない。このよう場合の保証は、Bitcoin-NGのキーブロック間隔と同じブロック間隔のBitcoinと同様である。
公正性
次の2つの比率を計算する。(1)メインチェーンの全ブロックに関して、最大のマイナーが生成したものではないメインチェーンのブロックの比率。(2)生成された全てのブロックに関して、最大のマイナーが生成したものではないブロックの比率。
マイニングパワー利用率
メインチェーンのブロックにかけられた総仕事量と全ブロックにかけられた総仕事量の比率を計算する。Bitcoin-NGでは、ディフィカルティはキーブロックにおいてのみ関係するのでマイクロブロックのフォークがマイニングパワー利用率を下げることはない。
プルーニングにかかる時間(Time to prune)
各ノードと各ブランチに関して、ノードがブランチをプルーニングするのに要した時間を計測する。これは、ブランチの最初のブロックを受け取った時間と、このブランチより長いメインチェーンのブロックを受け取った時間との差である(図5参照)。標本全てで90パーセンタイルを採用する。
勝ちにかかる時間(Time to win)
メインチェーンにおける各ブロックの生成からその子ブロックではないブロックを別のマイナーが生成するまでの時間の90パーセンタイルを勝ちにかかる時間として採用する(図5参照)。
実験
私たちは異なるパラメータで複数の実験を実行する。図8は各測定グループの平均値と、それから極値をマークしたエラーバーを示している。標本値をマーカーで示す。
1回の実行ごとに、BitcoinのブロックとBitcoin-NGのマイクロブロックを50~100個分まで生成を続ける。実行ごとに全トランザクションがプリロードされてから複数回の短期的なブロック生成を行うこととする。実験におけるキーブロック間隔の平均は10秒で、各実験にはリーダーの変更も含まれている。キーブロックのフォークについては考慮しない。実際、例えば10分などのもっと大きなキーブロック間隔を選べば、キーブロックのフォークなど極めてまれにしか起こらないからだ(実働中のBitcoinシステムのブロックのフォークよりもまれである)。
(Bitcoin-NG論文を見てみる13 ←← 前)|(次 →→ Bitcoin-NG論文を見てみる15)
免責
邦訳には誤りがある場合がございます。予めご承知おき下さい。
確実な情報を知るためには冒頭に示した原文をご参照くださいますようお願いいたします。