AsicBoost と SegWit に関する技術的な議論

AsicBoost と SegWit に関する技術的な議論

AsicBoost と SegWit に関する議論は以前より静かになっていますが、それでも技術的な観点から説明してみたいと思います。

  1. AsicBoostとは

  2. AsicBoost と SegWit の関係は何ですか?

これら 2 つのことについて話す前に、キーワード挖矿を無視することはできません。まずはマイニングについてお話ししましょう。

鉱業

ビットコインのマイニングの仕組み: ビットコインのマイニングの仕組みでは SHA256 アルゴリズムが使用されますが、SHA256 アルゴリズムはブロック全体に対して実行されるのではなく、ブロック ヘッダー (ブロック ヘッダー) に対してのみ実行されます。次の図はブロックの構成を示しています。

上の図から、どのフィールドが結合され、ハッシュされてブロック ハッシュが取得されるかがわかります。背景が黄色のフィールドはブロック ヘッダーで、次の内容が含まれます。

  1. バージョン番号

  2. 前のブロックのハッシュ

  3. マークル根

  4. タイムスタンプ

  5. ビット(難易度)

  6. ノンス

マイニングのラウンドでは、バージョン番号、前のブロックのハッシュ、難易度はすべて固定されています。マイナーが行う必要があるのは、現在のブロックのハッシュ値を変更するために Nonce を継続的に変更し、現在の難易度よりも低いBlock Header見つけることだけです。

しかし、Nonce のビット数は4 バイトしかないため、Nonce に使用できる検索空間は十分ではありません。ブロック ヘッダーの各フィールドが占めるビット数:

4 バイトの Nonce は、検索確率空間が2^32であることを意味し、4G ハッシュ操作で走査でき、単一のマイニング マシンで瞬時に完了できます。

Nonce の検索スペースが不十分な場合は、 timestampMerkle rootのみを変更できます。タイムスタンプは前方または後方に調整できますが、調整後の検索スペースはまだ不十分です。

マイナーは、Coinbase トランザクション、トランザクション順序、またはその他の方法を変更して新しいMerkle Rootを取得し、Nonce 2 を再度32回走査します。マークルルートは 32 バイトなので、検索空間は十分に大きいです。

ビットコインマイニングを要約すると、

簡単に言えば、ビットコインのマイニングとは、Nonce を継続的に変更してブロック ハッシュを変更し、現在の難易度よりも低いブロック ヘッダーを見つけることです。しかし、Nonce の検索空間は小さすぎます。 2 32 回のハッシュ後に対応するブロック ヘッダーが見つからない場合は、Merkle ルートを変更して再計算する必要があります。

上記ではビットコインのマイニングの仕組みについて簡単に説明しましたが、 AsicBoostについてはどうでしょうか?

アシックブースト

AsicBoostは、 SHA256的计算Block Header结构に関連するアルゴリズムです。ブロック ヘッダー ハッシュを計算するときは、SHA256 計算の前に 128 バイトにパディングする必要があります。上記のブロック ヘッダーは 80 バイトのみであり、残りの 48 バイトを 128 バイトに埋める必要があります。

128 bytesのハッシュを計算するプロセスは 2 つのステップに分かれており、最初の 64 バイトが一緒に計算され、最後の 64 バイトが一緒に計算されます。

このようなパディングされたBlock Header hash次のとおりです。

 SHA256=F(チャンク1)+B(チャンク2)
チャンク1=(バージョン)+(前のハッシュ)+F28(マークルルート)
チャンク2=B4(マークルルート)+タイムスタンプ+ビット+ノンス+パディング

上記と組み合わせると、ブロックハッシュを計算するときに次の現象が発生します。

Nonce の値が変更されるたびに、 Chunk1 の値は変更されません。つまり、 Nonce が変更されるたびに、 B(Chunk2)を再計算し、最後に計算されたF(Chunk1)と組み合わせるだけで済みます。

これはマイニングを最適化する方法です。最適化後、各ラウンドで検索可能なスペース内の Nonce が変更され、SHA256 を計算する式は次のようになります。

SHA256=F(チャンク1)(変更なし)+B(チャンク2)`

基本的にすべてのマイニングマシンはこの最適化を行っていますAsicBoostこの最適化に基づいたアイデアをさらに拡張し、別の最適化方法を見つけました。

Chunk 1変更せずにそのままにしておくことができるので、 Chunk 2変更せずにそのままにしておく方法はありますか?前の式から、 Merkle Rootの最後の 4 ビット、タイムスタンプ、および Nonce が変更されない限り、 Chunk 2変更されずに維持できることがわかります。

Merkle Rootの最後の 4 桁が同じであることがわかったら、同じタイムスタンプと nonce を持つ別の最適化式を取得できます。

SHA256=F(チャンク1)`+B(チャンク2)(変更なし)

タイムスタンプについては、マイニングのラウンド中に基本的に変更されませんが、Nonce は 2 32以内の検索空間でトラバースされます。残る問題は、最後の 4 桁が同じである十分な数の Merkle Root を見つけることです。これにより、Nonce がトラバースされるたびに後半部分の計算結果を再利用できるため、計算が効果的に削減され、ブロック ハッシュが見つかる確率が高まります。

前述のように、トランザクションの順序を変更したり、Coinbase を変更したりすることで新しい Merkle Root を取得できるため、衝突を通じて最後の 4 桁が同じ Merkle Root を見つけることができます。衝突によって最後の 4 桁が同じハッシュが見つかる確率はどれくらいでしょうか? 「誕生日のパラドックス」(最後の 4 バイトが同じである確率は、32 ビットが同じである確率)によれば、その確率は次のようになります。

衝突が約 77,000 回発生すると、ハッシュの最後の 4 桁が同じになる確率は 50% になります。このような衝突によって確率はどの程度高まるのでしょうか? AsicBoost のホワイト ペーパーに記載されている結果は次のとおりです。

この最適化により、理論的には衝突効率が 20% 向上し、マージ パフォーマンスが約 7% 向上します。 AsicBoost 、チップ (ハードウェア) だけでなくソフトウェアでも実装できます。 Merkle Rootを変更する方法:

  1. Coinbaseの取引を変更すると、ホワイトペーパーではそれが十分に効率的ではないと考えている

  2. もう一つの方法は、マークルツリーの順序を更新することである。

  3. …他の方法

AsicBoost攻撃ではなく、 Bitcoin ブロック ヘッダーと SHA256 アルゴリズムに基づいた最適化であることがわかります。

AsicBoostには技術的な最適化が1つだけあります

AsicBoost は現在の Bitcoin プロトコルを破壊したり、使用できないブロックを生成したり、Bitcoin にセキュリティ上の問題を引き起こしたりしないことは明らかです。
SHA256 アルゴリズムに基づく最適化も、ビットコインの歴史の中で何度か登場しています。
1. 上記のようにNonceを変更する場合、前半のF(Chunk1)を再計算する必要はない。
2. 後半の最初の3ラウンドも最適化できます。ms3stepsを参照してください。
3. …
4. アシックブースト

全てのソフトウェアやシステムは最適化される可能性を秘めており、ビットコインマイニングの歴史は効率を継続的に最適化するプロセスであると言えます。
优化攻击どのように定義すればよいでしょうか?これは考える価値のある質問です。 SHA256 の最初の 64 ビットの計算を最適化することは許可されていますが、最後の 64 ビットの計算を最適化することは攻击に該当しますか?

AsicBoost 、元の Bitcoin マイニングに基づいてハッシュ衝突の確率を高め、より適切なBlock Headerを見つけ、ブロック ヘッダーを見つける確率を高める最適化アルゴリズムです。それは脆弱性ではありません。

ビットコインのマイニングの効率を向上させる技術があれば、攻撃者がマイナーに対して技術的優位に立たないように、マイナーがこの技術をできるだけ早く適用できるようになることを願っています。結局のところ、コンピューティング能力はビットコインのセキュリティの基盤です。攻撃者がマイナーよりも技術的に進んでいる場合、ビットコインが攻撃される可能性が大幅に高まります。

AsicBoostを紹介した後、 AsicBoostと SegWit の関係性を見てみましょう。

SegWit と AsicBoost

SegWit (Segregated Witness) は分離された検証です。その適用によりTXが変更されます。新しいTX IDを採用します: Witness ID

同様に、Witnesses ID はWitness Merkle Treeに対応し、 Winess Merkel Rootが存在します。しかし、 Winess Merkel Rootどこに書いてあるのでしょうか?答えはCoinbaseです。

SegWitプロトコルでは、Coinbase は新しい出力を追加します。新しい出力は次のとおりです。

出力データ = WITNESS_COMMITMENT_HEADER + ser_uint256(uint256_from_str(hash256(ser_uint256(witness_root)+ser_uint256(witness_nonce))))
スクリプト = CScript([OP_RETURN, 出力データ])

新しく追加された出力には、スクリプトで構成された OP_RETURN + WITNESS 情報 + Witness Merkle Rootハッシュが含まれます。

Witness Merkle Rootの計算にはCoinbaseは含まれないため、Coinbase とWitness Merkle Root間の相互変更によって発生する無限ループを回避できます。

これにより問題が発生します。 SegWitでトランザクションの位置が変更されると、 Witness Merkle Root変更されます。 Coinbase には、Coinbase の変更に影響を与えるWitness Merkle Root情報を含める必要があります。 Coinbase の変更により、ブロック全体の Merkle Root が変更されます。

SegWit で使用される AsicBoost がトランザクションの順序を変更して新しい Merkle Root を取得する場合、 Witness Merkle RootMerkle Root同時に計算する必要があるため、 AsicBoostの効率が低下します。

これは、SegWit が AsicBoost に与える影響です。しかし、重要な事実を無視することはできません。SegWit とAsicBoost SegWitに排他的ではありません。

ブロック ヘッダー構造が変更されない限り、 AsicBoost最適化は引き続き存在し、有効です。

SegWit でMerkle Rootを取得するために Coinbase を変更する方法はWitness Merkle Root Coinbase TX が含まれていないため、現在のプロトコルで Coinbase を変更するのと同じ効果があります。

SegWit と AsicBoost は相互に排他的ではなく、SegWit に AsicBoost の最適化が存在しないことを意味するものではありません。 SegWitでのAsicBoostの使用は、エンジニアリングの面でも最適化できます。Merkle Root の計算にはハッシュの計算も必要であり、Merkle Root の計算中にブロック ハッシュの計算が随時ブロックされる可能性があります。並列計算はより良い最適化方法でしょう。並列計算の場合、 Merkle Root取得するためにCoinbase変更することでもたらされる効率の低下は特に顕著ではありません。

要約する

AsicBoost の仕組み:

ブロック ヘッダーを計算するときに、Merkle ルートが 2 つの部分に分割され、同じ Merkle ルートの最後の 4 ビットを使用してブロック ハッシュを計算すると、マイニングの効率が向上します。

セグウィット:

SegWit ではWintess TX IDの使用が必須であり、その後新しいWitness Merkle Rootが存在します。 Witness Merkle Root Coinbase に書き込まれますが、Coinbase 自体はWitness Merkle Rootに書き込まれません。ソフトフォークのため、ブロックヘッダーの構造は変更されていません。

上記に基づいて、以下の結論を導き出すことができます。

AsicBoost は本質的には、ブロック ヘッダー構造と SHA256 アルゴリズムに基づいた最適化です。

AsicBoostとSegWitは相互に排他的ではない

ブロック ヘッダー構造と SHA256 アルゴリズムが変更されない限り、 AsicBoost常に存在します。

SegWitはAsicBoostでの取引のやり取り方法に影響を与えるだろう

SegWit では、トランザクション順序が変更されるたびに Coinbase が変更され、 Merkle Rootの再計算が必要になります。トランザクションの順序を変更すると、 Witness Merkle RootMerkle Rootが変更されます。

AsicBoostを設計するより良い方法があれば、それはSegWitでも機能するだろう

トランザクション順序を変更して Merkle Root を更新する方法の効率は低下しますが、エンジニアリング最適化 AsicBoost を使用する方法は依然として効果的です。例えば並列コンピューティング

AsicBoostはマイニングを最適化する方法にすぎず、ブロックの構造は変更されていないため、SegWit ではAsicBoost最適化がなくなることはありません。 G Maxwell 氏は電子メールで、ブロック ヘッダーを変更してAsicBoostが使用できないようにする方法を提案しました。この提案に反対はしませんが、不必要だと思います。マイナーが最後の 64 バイトの計算を最適化することを許可されないのであれば、最初の 64 バイトの計算を最適化することも禁止されるべきではないでしょうか?さらに、将来的には同様の最適化が行われる可能性があります。それらはすべて禁止されるべきでしょうか?

与えられた条件の下で、人間は常に元の方法 B よりも優れた方法 A を見つける方法を見つけます。人類の歴史は、効率性の継続的な改善の歴史です。

私が見たWeiboの投稿をシェアします:

<<:  Antbleed脆弱性の発見はビットコインマイニングコミュニティに波紋を巻き起こした

>>:  ビットコインウォレットの漏洩によりユーザーが70ビットコインを失う

推薦する

中関村ブロックチェーン産業連盟が正式に設立されました

2016年2月3日、21Vianet、清華大学、北京郵電大学などの大学、中国交通研究院や中国聯通研究...

BNPパリバと他の金融機関7社が共同でブロックチェーン決済システムを開発

7つの金融機関が共同でブロックチェーン技術を研究し、中小企業の取引決済サービスコストの削減を支援した...

パンテラ・マネージング・パートナー:RWAトラックはゴールドラッシュを経験している

2025年2月6日にニューヨークで開催されたオンドサミットは、伝統的な金融とブロックチェーン技術の統...

イーサリアムやその他の暗号通貨のマルチ通貨マイニングソフトウェアであるClaymore Dualにリモートコマンド実行の脆弱性がある

スローミストゾーンナレッジプラネットによると:イーサリアムやその他の暗号通貨のマルチ通貨マイニングソ...

中国のビットコイン取り締まり後、米国が最大のビットコイン採掘センターに

ケンブリッジ大学のケンブリッジ・オルタナティブ・ファイナンス・センターが13日に発表したデータによる...

オープン実行はどのようにしてオープンソースに取って代わることができるのでしょうか?ビットコインとイーサリアムが原動力に

デジタル通貨とブロックチェーン技術の性質上、オープンソース ソフトウェアはそれを希望するすべての人の...

ファイルコインネットワークは過去24時間で345,474 FILを生産した。

Filfox ブラウザのデータによると、Filecoin ネットワークの現在のブロックの高さは 1...

ブロックチェーンベースのOmni FoundationとCoinsBankがブロックチェーン上で米ドル-ユーロ取引を可能にする

もともとマスターコインのために設立されたオムニ財団は、オムニ・アセット・テザー社やその他の提携取引所...

初心者が鉱業業界に参加するにはどうすればいいでしょうか?ビットコインマイニングは現在でも利益が出るのでしょうか?

ビットコインのマイニングは、大きく分けて 3 つの形式に分けられます。 1: マイニングマシンを購入...

SECはイーサリアム先物ETFにゴーサインを出す見込み:10月にも16件の申請が上場される見込み

ブルームバーグによると、事情に詳しい関係者が、米証券取引委員会(SEC)がイーサリアム先物ETFの上...

マスク氏が率いるTwitterはWeb3プラットフォームになるのか?

予想外のことが起こらなければ、テスラのCEOイーロン・マスク氏は今週の金曜日までにツイッターの買収を...

Bitmainは、Shenma M30Sに対抗する次世代マイニングマシンS19をリリースする予定です。

16日、Wu Blockchainはサプライチェーンの情報筋から独占的に、Bitmainの次世代マ...

レポート:ビットコインが半減期後に7,500ドルに回復した場合、市場の売り圧力は46.67%から31.11%に低下する

AMBcryptoによると、最近のレポートでは、ビットコインの半減期後のマイナーの投降によりビットコ...

7 月のトークン ロック解除イベントの概要: ポートフォリオにこれらのトークンがありますか?

この記事では、2024 年 7 月のさまざまな関連暗号プロジェクトのロック解除活動を紹介します。規模...

SECはMetaMaskに注目しています。新たな規制の嵐が吹き荒れているのか?

暗号通貨の分野では、規制問題が常に注目の的となっています。最近、SEC(米国証券取引委員会)が再び論...