本稿について
様々なブロックチェーンにインスピレーションを与えているプロトコルBitcoin-NG(Bitcoin Next Generation)の論文を見ていきます。本稿では「5. Security Analysis」の5.2の後半を見ます。
原文はこちらになります。
スポンサードサーチ
今回のまとめ
- フォークについて
- Bitcoin-NGのフォークは、①マイクロブロックの後に続いてマイクロブロックとキーブロックが生成される場合、②キーブロックの後にキーブロックが2つ以上生成される場合の2通りが考えられる。
- ①の場合、キーブロックを受信した時点でそのブランチが正であり、すぐにフォークは解消される。
- ②の場合、いずれかのブランチで新たにキーブロックが生成されるまでフォークは続く。このようなフォークはめったに発生しないが、発生した場合は長期化する。ただし、このようなフォークが発生しても危険はない。
- 二重支払いについて
- Bitcoinほどではないが、Bitcoin-NGでも脆弱性の一つである。高い確実性が欲しければBitcoinでもBitcoin-NGでも数ブロック(Bitcoin-NGの場合はマイクロブロックではなくキーブロック)待つべきである。
- トランザクションAと、Aと対立する二重支払いを起こすトランザクションBがあるとして、Bitcoin-NGではマイクロブロックにAを配置⇒Bを配置とすることは困難である。それを発見したノードが発行するポイズントランザクションを通じて報酬を全て没収されるためである。
- Aよりも前にBを含むマイクロブロックを予めマイニングしてチェーンを作っておき、Aで支払い後にBのチェーンを公開してAのチェーンをプルーニングしてしまうというやり方の方が攻撃のインセンティブは高そうである。
- 形式的な分析は将来の研究で行う。
※以下、今回まとめた範囲の論文和訳になりますので詳細をご覧になりたい方は読み進めてください。
5. セキュリティ分析(続き)
5.2 その他の懸念(続き)
フォーク
マイクロブロックを高頻度で発行すれば、Bitcoin-NGではほぼキーブロックが生成されるたびにフォークが観測されるだろう。というのも前リーダーはキーブロックを受信するまでマイクロブロックを生成し続けるからだ(図2参照)。フォークはすぐさま解決される。新しいキーブロックがノードに到達すれば、新しいリーダーに切り替わるからだ。対照的にBitcoinを同じくらい高頻度で動かせば、フォークは最も重いチェーンを延伸するルールによってしか解決されない。別のマイナーは別のブランチをマイニングする可能性があるので、Bitcoin-NGと比べて長期間ブランチが残ることになる。
Bitcoin-NGもキーブロックのフォークが発生する可能性はある。図3に示すように、複数のキーブロックが同じプレフィックスのキーブロックの後に生成される場合である。これはキーブロックの生成が低頻度であること、サイズの小さなキーブロックの伝搬が高速であることからめったに起こらない。このようなフォークが起きた場合の持続時間は長いことが想定され、次のキーブロックまで続くことになる。従って、キーブロックのフォークはあまり起こらないが、起こった場合は長いものになる。
このような長期的なフォークは好ましいものではないが、危険ではない。フォーク発生の事実はネットワークを通じて広まり、ひと度ノードまで届けばノードは不安定なステートであることを理解する。ゆえに、どれか一つのブランチに定まるまで、一つのブランチにしかないトランザクションは全て不確実である。
二重支払い
二重支払い攻撃は、Bitcoinほどではないが、Bitcoin-NGにおいても脆弱性である。ナカモトブロックチェーンとBitcoin-NGブロックチェーンがあるとして、これらは同じ帯域幅でありナカモトブロック間隔とキーブロック間隔が等しいとしてみよう。二重支払い攻撃を行う攻撃者はトランザクションtAを発行して業者からサービスを受け、それとともに対立するもう一つのトランザクションtBを発行する。非常に高い確実性を求める業者は数個のナカモトブロックを待つか、Bitcoin-NGブロックチェーンの場合は同数のキーブロックを待つべきである。確実性が低くてもよいのであれば、プロトコルの保証は異なってくる。
ナカモトブロックチェーンでは、ブロックはあまり頻繁ではなく、マイナーがブロックを見つけるまでトランザクションはマイナーに集められる。その時点までは、コストなしでトランザクションtAをトランザクションtBに置き換えることができる。異なる宛先を持つ対立トランザクションの発行は標準のBitcoinソフトウェアでは禁じられており、ユーザにネットワーク内を流れる対立トランザクションに関して警告通知もいく[30]。
対してBitcoin-NGではマイクロブロックは高頻度であり、リーダーはトランザクションをマイクロブロックに配置することでトランザクションにコミットする。リーダーはフォークを起こさずにトランザクションtBを配置することはできず、そうしたとすれば後にポイズントランザクションを通じて当該エポックの報酬を全て失うことになる。
別の方法の方がまだ可能性はある。これはマイナーがトランザクションtAのマイクロブロックよりも前にマイニングしておき、後で対立するトランザクションtBを配置するというものだ。この場合、攻撃者はプルーニングされるマイクロブロックの全トランザクションの手数料は入手できないが、二重支払いからの不正利得は任意に高くすることができるので実行する価値があるだろう。攻撃者はチェーンをプルーニングするために前もってマイニング可能で、その後に対立するトランザクションを配置するか、二重支払い後にプルーニングしようとする。
このような攻撃について推論するには攻撃者のインセンティブとパワーの形式化が必要だ。Bitcoin-NGやナカモトブロックチェーンのセキュリティ保証を定量化する形式的分析は将来の研究として先送りする。実際には、事業者はリスク分析を行ってビジネスに適切な戦略を選択する。
(Bitcoin-NG論文を見てみる8 ←← 前)|(次 →→ Bitcoin-NG論文を見てみる10)
免責
邦訳には誤りがある場合がございます。予めご承知おき下さい。
確実な情報を知るためには冒頭に示した原文をご参照くださいますようお願いいたします。