簡単まとめ

Bitcoin-NG論文を見てみる5

更新日:

本稿について

様々なブロックチェーンにインスピレーションを与えているプロトコルBitcoin-NG(Bitcoin Next Generation)の論文を見ていきます。本稿では「4. Bitcoin-NG」の4.3~4.5を見ます。

原文はこちらになります。

スポンサードサーチ

今回のまとめ

  • コンファメーションについて
    • キーブロックのネットワークの伝搬時間の分だけコンファメーションを待つのが望ましい。マイクロブロックの生成が高頻度であればキーブロックが生成される度に(=リーダーが新しくなる度に)短期的なフォークが発生するからである。この場合、キーブロックの直前のマイクロブロックからのフォークチェーンにつながっているマイクロブロックは全てプルーニングされる(つまり、無効になる)。
  • 報酬について
    • 報酬はキーブロックを生成したマイナーに対して与えられる。報酬には2つのものがある。
    • 1つ目は一定額の新規発行コインで、コインベーストランザクションをキーブロックに含めることで当該のマイナーに報酬を付与する。
      • コインベーストランザクションの未使用アウトプットの利用は100キーブロック経過後である(100ブロックという単位はBitcoinと同様)。
    • 2つ目はエントリ(トランザクション)ごとの手数料で、この手数料は現在のリーダーに対して40%、次のリーダーに対して60%の比率で配分される。
  • マイクロブロックのフォーク防止機構について
    • ポイズントランザクションを使ってフォークのモチベーションを下げる。
      • ポイズントランザクションは、プルーニングされたブランチの一番最初のブロックのヘッダ情報を持ち、これが不正の証明になる。
      • ポイズントランザクションは、不正なリーダーが得た報酬を無効化するとともにその一部を現在のリーダーに分け与える。
      • ポイズントランザクションは、不正なリーダーが得た報酬を利用する前であって、そのリーダーの期日中にブロックチェーン上に取り込まれた場合に有効である。
      • 1不正者に1ポイズントランザクションである。不正者がどれだけフォークを生み出していても関係ない。

※以下、今回まとめた範囲の論文和訳になりますので詳細をご覧になりたい方は読み進めてください。

4. Bitcion-NG(続き)

4.3 コンファメーション時間

マイナーがキーブロックを生成する際、そのマイナーは前任のリーダーが生成したマイクロブロックを全部は知らないかもしれない。マイクロブロックの生成頻度が高ければ、リーダー交代時にこのようなことはよくあるだろう。結果的には図2に示すように短期的なマイクロブロックのフォークが起きる。このようなフォークは、将来的にプルーニングされるマイクロブロック(図ではA3A4ブロック)を受信したあらゆるノードにより新しいキーブロック(図ではBブロック)が生成される前に観測される。キーブロックがそのノードに伝搬すればこれは解消される。従ってマイクロブロックを確認したユーザは、そのマイクロブロックが新しいキーブロックによりプルーニングされていないことを確実にすべく、チェーンに取り込まれているとみなす前にネットワークの伝搬時間を待つべきである。

4.4 報酬

マイニングの動機づけをするため、リーダーにはその努力の対価がプロトコルにより支払われる。報酬は二つの部分で構成される。まず一つ目として、各キーブロックはその生成者に一定額の権利を与える。二つ目は、台帳のエントリごとに支払われる手数料である。この手数料はこのエントリをマイクロブロックに配置したリーダーと次のキーブロックを生成する構造のリーダーにより分けられる。具体的には図1に示すように、現在のリーダーが手数料の40%を取り、後続のリーダーが60%を取る。この配分の選択は第5章で説明する。

実際には、新しいコインをミンティングするとともに現在と過去のリーダーへの資金を渡すコインベーストランザクションを一つキーブロックごとに含めることで報酬を実装する。Bitcoinと同様、マージ不可能なトランザクションがフォークを起こしてしまうのを避けるため、このコインベーストランザクションは満期の100キーブロック分が経過した後に限り使用できる。

4.5 マイクロブロックのフォーク防止

マイクロブロックはマイニングを必要としないのでリーダーは安価かつ高速にマイクロブロックを生成でき、異なるマシンに異なるレプリケートステートマシンのステートを公開することでシステムの中枢をばらばらにできてしまう。これにより、別々のノードが同じコインが別々のトランザクションで使用されたと信じてしまう二重支払い攻撃か可能になる。

このようなふるまいのモチベーションを減ずるため、不正なリーダーの収益を無効化する専用の台帳エントリを利用する。このようなエントリは、異なる文脈ではあるが過去の研究で用いられている[22, 4, 13]。Bitcoin-NGではこのエントリをポイズントランザクション(poison transaction)と呼び、ポイズントランザクションはプルーフオブフロード(proof of fraud, 不正の証明)としてプルーニングされたブランチの一番最初のブロックのヘッダを持つ。ポイズントランザクションは悪意あるリーダーが収益を使用してしまう前かつそのリーダーの期日以内にブロックチェーン上に配置されなければならない。フォークを生み出した悪意あるリーダーに支払われた報酬を無効化するだけでなく、ポイズントランザクションは現在のリーダーにその報酬の一部、例えば5%を与える。

たとえ不正者が多数のフォークを生み出しているとしても、その不正者一人あたりに配置できるポイズントランザクションは1つだけである。不正者の手にわたることのなかった収益は失われる。

Bitcoin-NG論文を見てみる4 ←← 前)|(次 →→ Bitcoin-NG論文を見てみる6

免責

邦訳には誤りがある場合がございます。予めご承知おき下さい。

確実な情報を知るためには冒頭に示した原文をご参照くださいますようお願いいたします。

-簡単まとめ
-, , ,

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

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