ビットコインアンリミテッド(Bitcoin Unkimited)の重大な欠陥とスティッキーゲート(Stiky Gate)
Bitcoin Unlimited (BU) - The developers have realized an attacker can “disrupt the BU chain. https://t.co/3Lb25NrCBj
— Dennis Ƀinnekade (@Xentagz) 2016年12月8日
こちらのツイートを見られた方はいるでしょうか?ビットコインアンリミテッドにかなり重大な欠陥が見つかったというものであり、とても話題を読んでいます。
ビットコインアンリミテッド
ビットコインアンリミテッドのチーフデベロッパーによると、デベロッパーはアタッカーが「ビットコインアンリミテッドのチェーンの邪魔」をすることが可能であることに気づき、この問題を修正することは「チェーンコンバージェンスに多大なる悪影響を与える」
ユーザーはビットコインアンリミテッドを実行しないことをおすすめします。コンプレキシティーは更にましている。
スティッキーゲート(Stiky Gate)
ブロックサイズの大きなもの受け入れる部分的なメカニズムとして、ビットコインアンリミテッドは「スティッキーゲート(Stiky Gate)」という機能があり、もしビットコインアンリミテッドのノードが「指定のリミット」より大きなブロックを確認、そしてそのブロックがAD確認を受け取ると、スティッキーゲートは24h(144ブロック)開かれます
このスティッキーゲートが開かれている間はどうやらノードはブロックサイズのリミットがほとんどない状態であるようだ
ビットコインアンリミテッドのコミュニティメンバーはスティッキーゲートについてのいくつかの問題点を確認し、下記のようにまとめている
スティッキーゲートがビットコインアンリミテッドの緊急コンセンサスの基本であるが、厄介なものであってはいけません。公開されたAD値とブロックサイズの確認がないスティッキーゲートが開いている間の2つのコンビネーションによりリスクが生じ、ビットコインアンリミテッドチェーンを崩壊させるというプレゼントを悪意のあるアタッカーへプレゼントしているということですアタッカーの手順は正規のビットコインアンリミテッドノードがADより1ブロック多い競合チェーンを生成する前に、過度なブロックを生成し、続いてADブロックの確認で、もし悪意のあるアタッカーがブロック生成に成功した場合、どのようなサイズでもいい144ブロックを所持することになる。
そしてアタッカーは可能な限りの巨大なブロックを送信し、ビットコインアンリミテッドのブロックとして永続的なチェーンとなり、チェーンを断片化する可能性があり、全てのビットコインアンリミテッドユーザーにつけこむ、または一部のユーザーをネットワークから追い出すことになるまたは両者ともにおきるということです
元ソース
その後「スティッキーゲート」を取り除く提案がされ、(この提案をしたユーザーは公式にビットコインアンリミテッドのメンバーではないため、自身でこのプロポサルを作成できません)ビットコインアンリミテッドの公式の主事はスティッキーゲートの廃止をサポートしています。
スティッキーゲートの廃止をサポートする
しかし、スティッキーゲートの廃止は一つのチェーンに集中することの失敗を意味し、より大きなブロックの生成された時、EB設定の低いマイナーは小さい方のチェーンへとフォークしようとし続けます。ビットコインアンリミテッドの公式チーフデベロッパーは下記のように説明しています。
スティッキーゲートの廃止
スティッキーゲートの廃止はチェーンコンバージェンスに多大な影響を与え、緊急コンセンサスのアルゴリズムの意図は、ビットコインアンリミテッドのノードとマイナーにブロックサイズの望ましくない変更に対して抵抗することを可能にするものですが、もしハッシュパワーの大多数がマイニングした場合は変更を受け入れます
ですが、BUIP038が通ればマイナーはブロックサイズの変更とチェーンチップに集中することは一切なくなります。
これは常に低いブロックサイズにフォークしようとすし、チップの後のADブロックを開始します。(とても大きなディスアドバンテージとなる)
ソース
この重大な欠陥の多大な影響を認識し、ビットコインアンリミテッドユーザーにはこの問題が解決するまでビットコインアンリミテッドを実行しないことを強くすすめます。
チーフデベロッパーはコンプレキシティーのレベルとビットコインアンリミテッドのシステムのアブストラクションを大幅に引き上げることによりこの問題を解決しようという試みを新しいプロポッサルで決定しました。
デベロッパーの説明によると
ある程度の可能性のある攻撃の問題とチェーンのコンバージェンス特性を解決するため、アルゴリズムは以前の過度のブロックと比べ、どれほどのEBがブロックに実行されてるかに比例しADの引き上げ修正されなければならない。
しかし最初の過度のブロックは現在ADブロックを待つべきである。EADのグラフは
初期の過度のブロックまたはそれ以降のブロックかどうかに基づいて異なる。
それ以降の過度のブロック
過度のブロックは最初のブロックより少し大きいだけとなり、初期ADの壁を持つべきではない。もし初期の”壁”がブロックごとに存在し、少し大きい場合にマイナーは「常に後続」という処理を他のマイナーに強いることができる
この戦略は問題がコムプレックスシステムにより識別された時現れ、新しいコムプレキシシティのレイヤーとアブストラクションが生成され、懐疑派が効果的で簡潔なチャレンジをビットコインアンリミテッドの機能にに行うことを難しくします。
私見によると、この新しい高度なコムプレックスとブロックサイズを引き上げる貧弱な方法論は評価するにあたらないでしょう
結論と考察
ものすごい久々のビットコインの記事となりました。7月の終わりからずっとイーサリアムとイーサリアムクラシックを追っていたため現在のビットコインの動向はほとんどわかりません。
問題となるブロックサイズへの対応メカニズムが仇となっているようですね。ヴィタリック教といいメロトロポリスで今後ハードフォークしやすくするイーサリアムとは大違い、全体の95%のノードがサポートしなければならないという厳しい条件の中取引所でもサポートは全然進んでいない様子なかなか難しいところです。
対してインドの煽りかビットコイン自体は現物90kを超えやはり100kを目指しているという次第です。ビットコイン自体は暗号通貨の主要通貨であり、基軸なのでユーザーの9割以上が実際の開発や問題点などを知らないため価格への影響は私見ではそこまでないと見られます。
このブログは下記サイトへと移転しています。