ビットコインブロックの略図:非公開型対公開型 AsicBoost

この記事は、2018年3月1日にBitMEXリサーチによりアップロードされた記事の日本語訳です。

 

抜粋:今回のブログでは、マークルツリーなどを用いてビットコインブロックを図説します。また、Segregated Witness(通称「SegWit」)のアップグレードに関連して、追加のマークルツリーが必要な理由も説明します。次に、公開型と非公開型 AsicBoost のいくつかの潜在的欠点に焦点を当て、この点に関する 2017 年 9 月のブログ記事を補完します。特許所有者からの最近の発表を受け、新しいブロックチェーン防御的特許ライセンス (BDPL) スキームは、堅牢である場合、ネットワークで公開型 AsicBoost を使用する欠点を限定する可能性があります。その一方で、効率性に劣る非公開型 AsicBoost では、いくつかの問題がなお残ります。

 

上記は、ビットコインブロック構造とその中に含まれるマークルツリーの略図です。より詳細な図が ジェレミー・ルービン氏  ティモ・ハンケ氏によって作成されています。(出典:BitMEX リサーチ

図の構成要素

ブロックヘッダ 

ビットコインブロックのヘッダ(グレー)は約 80 バイトで、バージョン、前のブロックのハッシュ、マークルルート、タイムスタンプ、ビット(難易度)、ナンスを含んでいます。

ブロックヘッダ候補

これにはナンスを除く上記の要素すべてが含まれます。

チャンク

上図では、マークルルートは 2 つのチャンクに分かれています。これは、ビットコインの SHA256 プルーフオブワーク機能を実行するために必要です。この点に関する説明は、AsicBoost に関する過去の ブログ記事 をお読みください。

2 番目のマークルツリー

SegWit のアップグレードでは、新しいマークルツリーが導入されました。このツリーは、メインのマークルツリーと同じ構造を持ちますが、検証データ(witness)を含み、コインベーストランザクションは含みません。各トランザクションの相対的位置は、メインのマークルツリーと同じである必要があります。

2 番目のマークルツリーが必要な理由

2 番目のマークルツリーによって複雑さは増し、これを欠点と考える人もいます。SegWit は、ビットコインをアップグレードしたものであり、シグハッシュ操作の二次的拡張やトランザクション展性といったバグが修正されています。検証データは、古いノードがハードフォークとなるトランザクションを無効とみなすため、メインのマークルツリーには追加できません。

ただし、SegWit をソフトフォーク型でなくハードフォーク型のアップグレードにすれば、マークルツリーを加えずに済むわけではありません。メインのマークルツリーに検証データを含めてハードフォーク状態にすると、既存のウォレットは、新しいトランザクションフォーマットを無効とみなすことになります。また、こうしたウォレットはノードを完全に検証するかどうかにかかわらず、新しいトランザクションフォーマットに対応しません。その結果、一部のユーザーは他のユーザーと接触できず、資金は紛失したように見える可能性があります。このタイプのアップグレードは、ビットコインなどのライブネットワークでは大規模な中断が避けられません。そのため、SegWit のアップグレードがハードフォークであっても、2 番目のマークルツリーで増す複雑さを受け入れる必要があります。

AsicBoost

AsicBoost に関する過去の ブログ記事で説明したように、非公開型 AsicBoost には、マークルツリーの直前 4 バイトの衝突(コリジョン)を見つける作業が伴い、ハッシュアルゴリズムがマークルルートを 2 つのチャンクに分ける特性を利用します。非公開型 AsicBoost ではトランザクションが無秩序となります。これは公開型 AsicBoost には見られない欠点です。非公開型 AsicBoost は、ブロックがずっと小型で検知可能な場合を除き、2 番目のマークルツリーによって、より難解になる可能性があります。

AsicBoost の潜在的問題

  非公開型 AsicBoost 公開型 AsicBoost

特許保護

AsicBoost のこの潜在的欠点は非公開型と公開型の用法のタイプに当てはまります。AsicBoost は特許技術であり、特許に関する過去のブログ記事で説明したように、ブロックチェーン界で、特に有害となる恐れがあります。この点は AsicBoost の最大の欠点となりかねません。採掘企業 1 社に競走上、挽回不能な優位を与えることになるためで、法的制約により埋めることができない格差につながり、ビットコインの中核的価値提案を台無しにしかねません。特許問題が深刻化すれば、ビットコインコミュニティはソフトフォークを実施して、AsicBoost を遮断する可能性があります。

この問題の軽減策として、特許所有者は、防御的特許誓約を作成して、特許を公開することができます。AsicBoost の特許所有者は、最近そうした誓約をした可能性が指摘されています。誓約が十分堅牢であると証明されれば、少なくとも特許が適用される地域において、この問題はしばらく収まるでしょう。

小型ブロックと低キャパシティ

非公開型 AsicBoost は、その効率性を高めるためにブロックの小型化あるいは空洞化が進む誘引となり得ます。小型化や空洞化すると、ネットワークキャパシティは小さくなり、トランザクション手数料が増加します。

小型/空洞ブロックは、キャパシティに不利な影響を及ぼします。ネットワーク維持は困難なままである反面、こうしたブロックはトランザクションのバックログに大きく寄与しないためです。

該当なし

SegWit へのアップグレードに消極的で、その理由が不誠実である可能性

AsicBoost にとって最もダメージの大きい欠点として、一部の採掘業者が SegWit へのアップグレードに消極的となる要因であることが挙げられます。これ自体、それほど不利な要因でないかもしれませんが、SegWit に関して不誠実で敵対的な情報操作が展開されると、エコシステムに多大な損害をもたらす可能性があります。

ただ、これは単なる推測からなる根拠のない非難であり、SegWit 反対の誘引であるかどうかは不明であることを指摘しておきます。

該当なし

マークルツリーやトランザクションの調整能力への依存

上図で示すとおり、非公開型 AsicBoost は、採掘業者のマークルツリーやトランザクションの調整能力に依存しています。この事実は、小型ブロック意外のネットワークに有害な影響を及ぼす可能性があります。公開型 AsicBoost は、変更が必要なのがブロックヘッダのフィールドのみであるため、より明白な解決策のように思われます。

該当なし

機密面で競争上優位

非公開型 AsicBoost は検知不能であるため、既知の優位と比較して、情報の機密性で一部採掘業者に競争上の有利をもたらす可能性があります。

透明性は一般的にプラスの要素であると考えられますが、非公開型 AsicBoost が動作するネットワークが、この表の他の部分で掲げる欠点に加え、機密性の点でも直接不利益を被るかどうかは明確ではありません。

該当なし

ビットコイン・コアのバージョン信号発信機能と警告メッセージを介したソフトフォーク型アップグレードの実施能力低下

n/a

公開型 AsicBoost では、上図の左上にあるバージョンフィールドを使用します。このフィールドは、採掘業者がソフトフォーク型のアップグレードの準備ができていることを示す信号として使用されています。公開型 AsicBoost では、このフィールドでスペースを使用すると、アップグレード信号システムとして使用できなくなる場合があります。

ただし:

  1. 公開型 AsicBoost はすべての 4 バイトを必要としない可能性があるため、ソフトフォークの信号発信のために一部のバイトを残すことができます。これにより、同時に実行可能なソフトフォークの数を減らすことができます。
  2. ソフトフォークの信号発信システムは、いずれにしても失敗であるという見方が大勢を占めています。採掘業者は矛盾する信号を同時に発信することがよくあり、信号方式の信頼性を損なっています。

公開型 AsicBoost のもう 1 つの欠点は、ビットコイン・コアソフトウェアが異常なバージョンフィールドを見て、ネットワークが不明の方法でアップグレードしていると考え、その結果、ユーザーに警告メッセージを発する点です。

当社は、AsicBoost が必ずしもネットワークにとって不利だとは考えていません。非公開型 AsicBoost はブロックの小型化を促すという問題を抱えていますが、公開型 AsicBoost に関連する問題の大半は軽減できます。特に、BDPLシステムが堅牢と証明された場合、現時点で予測可能な範囲では、公開型 AsicBoost の使用による重大なマイナス要素は見当たりません。