ファクト

ÆTERNITYのセキュリティ監査報告を読んでみる5

更新日:

本稿について

ÆTERNITYのメインネットリリース前から行われているセキュリティ監査報告のv0.5について見ていきます。今回の範囲は「4. Protocol」の「4.2 Bitcoin-NG」です。

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

スポンサードサーチ

今回のまとめ

  • ÆTERNITYではPoWマイニングのコンセンサス形成にBitcoin-NGを用いる。Bitcoin-NGはBitcoinが行っているブロック生成を「リーダー選出」と「トランザクションシリアライゼーション」に明示的に分けることでレイテンシを減らすものである。
  • cnlabは、Bitcoin-NGはPoW台帳のセキュリティを保持しながら低レイテンシなトランザクションコンファメーションを提供する良い選択であると強く考えている。ただし、秘密鍵の管理については注意が必要で、マイニングされるキーブロックごとに新しい鍵を生成するようにすることを推奨する。

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

4. プロトコル(続き)

4.2 Bitcoin-NG

Bitcoin-NGはBitcoinコンセンサスプロトコルの変形版であり、Emin Gün SirerらによってUsenixカンファレンス2で提案されたものである。

Bitcoin-NGはブロック生成を2つのパート「リーダー選出」と「トランザクションシリアライゼーション」に分けることでオンチェーンのコンファメーションレイテンシを減らすものである。

  • 2種類のブロックが存在する。キーブロック(リーダー選出用)とマイクロブロック(トランザクションシリアライゼーション用)である。
  • キーブロックはBitcoinのブロックと全く同じように生成される。生成には(平均で)3分ごとに1キーブロックが生成されるようにディフィカルティを調整するマイニングスキームを用いる。
  • キーブロックには固定の網人ぐ報酬は含まれるがトランザクションは含まれないのでトランザクション手数料はない。
  • 2つのキーブロックのインターバルをエポックという。
  • キーブロックのマイナーはそのエポックのリーダーと呼ばれる。リーダーは自身がキーブロックに保存した公開鍵で識別される。
  • エポックの間、リーダーは新たなトランザクションを含むマイクロブロックのチェーンを生成する。これらのブロックにはリーダーの鍵で署名がなされる。マイクロブロックに対してPoWは行われない。
  • 次のキーブロックのマイナーは、前エポックの間に作成されたマイクロブロックのチェーンから最新ブロックのハッシュを含めなければならない。
  • っマイクロブロックのトランザクション手数料は2つのエポックのリーダーで分ける。
  • 前エポックの誠実でないリーダーを罰するため、マイナーは"不正の証明(proof of frauds)"を含める機能を有する。不正の証明は同じエポックのリーダーが生成した矛盾している一連のマイクロブロックから成る。

Bitcoin-NGの主たる同期はPoWブロックよりもはるかに高頻度でマイクロブロックを生成できることだ。これはトランザクションのコンファメーション時間をいっそう短縮することにつながる。

Bitcoin-NGはBitcoinのような完全なPoW台帳のセキュリティを保持しながら低レイテンシなトランザクションコンファメーションを提供する良い選択であると強く考えている。

キーブロックの秘密鍵が流出してしまわないよう注意を払うべきである。攻撃者がキーブロックの鍵へアクセスできるようになると、鍵を使って矛盾するマイクロブロックに署名することで二重支払いを試みることができる。不正なマイクロブロックに対するペナルティを払うのは攻撃者ではなくマイナーである点も留意されたい。

推奨案2:マイクロブロックの署名に利用する秘密鍵はインターネットにつながっているサーバ上にあるので、ノード実装がマイニングされるキーブロックごとに新しい鍵を生成するようにすることを推奨する。

脚注2:https://www.usenix.org/node/194907

ÆTERNITYのセキュリティ監査報告を読んでみる4 ←← 前)|(次 →→ ÆTERNITYのセキュリティ監査報告を読んでみる6

免責

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

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

-ファクト
-, , ,

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

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