ビットコインコミュニティは、Segregated Witness (SegWit) をアップグレードするためにソフトフォークを使用することを議論しています。現在多くの論争が起きています。一方では、Segregated Witness 自体をめぐる論争があり、他方では、ソフトフォークによって引き起こされた論争があります (Segregated Witness はハードフォークを使用してアップグレードされるべきだと考える人もいます)。本日は技術的な観点から総合的に分析してみたいと思います。 ハードフォークとソフトフォークに関連する問題は、分散ノードソフトウェア、プロトコル、およびバージョンアップグレードです。それは非常に重要な問題であり、議論する価値があります。 最初は、すべてのノードが同じソフトウェアを実行し、同じコンセンサス プロトコルに従い、同じブロックチェーンを維持します。現時点では、一部のノードはソフトウェアの新しいバージョンにアップグレードされ、新しいコンセンサス プロトコルを備えています。次の 4 つの状況が発生します。
注:違法性は、すべての取引の違法性と一部の取引の違法性に分けられます。モデルを簡素化するために、何らかの違法性があるすべての取引は違法取引として分類されます。 実際の状況は、上記の 4 つの状況が組み合わさったものです。さらに、新しいノードと古いノードの計算能力の比率という別の次元を追加する必要があります。これは、次の 2 つのタイプに分けられます。
現在ウェブサイトで見られるソフトフォークとハードフォークに関するすべての情報は、新しいノードの計算能力が 50% を超える状況に基づいて説明されていることに注意してください。ここでは、50% を超える新しいノードのコンピューティング能力についてのみ説明します。別のケース、つまり新しいノードの計算能力が 50% 未満の場合は、状況がまったく異なることに注意してください。 ソフトフォークは後から登場した用語であり、それ以前には存在しませんでした。まず、ハードフォークとは何かについて説明しましょう。 ハードフォークとは何ですか?ハードフォークとは、新しいバージョンのソフトウェア (またはプロトコル) がシステムに登場し、以前のバージョンのソフトウェアと互換性がない場合、古いノードは新しいノードによってマイニングされたブロックの全部または一部を受け入れることができず (違法とみなされる)、同時に 2 つのチェーンが出現することを意味します。新しいノードの計算能力が優れていても、たとえば、計算能力の 99% が新しいノードに属していても、古いノードの 1% は依然として別のチェーンを維持します。これは、古いノードは新しいノードによって生成されたブロックを受け入れることができないためです (ネットワーク上のノードの 99% がブロックを受け入れたことがわかっていても)。これをハードフォークといいます。 注: 上記の状況は、新しいノードの計算能力が 50% を超えることを前提としています。 ハードフォークが必要な場合は、すべてのノードに同時にソフトウェアをアップグレードすることを要求する必要があり、アップグレードされていないノードは正常に動作しません。多くの古いノードがアップグレードを望まない場合、それらは完全に異なるチェーンで動作します (これが私たちの ETC です)。 下の図は、ハードフォークの理由を示しています。新しいノードの要件は、古いノードよりもはるかに緩和されています。 ソフトフォークとは何ですか?ソフトフォークとは、新しいバージョンのソフトウェア (またはプロトコル) がシステムに登場し、以前のバージョンのソフトウェアと互換性がない場合、新しいノードは古いノードによってマイニングされたブロックのすべてまたは一部を受け入れることができない (違法とみなす) ことを意味します。新しいノードの計算能力が優れているため、古いノードによってマイニングされたブロックは認識される機会がありません。新しい当事者と古い当事者の両方が最初から最後まで同じチェーン上で作業します。これはソフトフォークと呼ばれます。 注: 上記の状況は、新しいノードの計算能力が 50% を超えることを前提としています。 下の図はソフトフォークの理由を示しています。新しいノードの要件は古いノードよりもはるかに厳しいのです。 ソフトフォークとハードフォークの長所と短所上記の定義から、ソフトフォークとハードフォークにはそれぞれ長所と短所があることがわかります。まず、ソフトフォークにはハードフォークに比べて次のような利点があります。
しかし、ソフトフォークには欠点もあります。
上位互換性 前方互換性は非常に興味深い用語であり、ソフトウェア設計における後方互換性について通常語る方法とは異なります。新たなブロック形式や合意形成メカニズムの可能性について事前に判断する必要があり、古いシステムに余地やバックドアが残されます。新しいノードがデプロイされると、古いノードは新しいノードによって生成されたブロックを受け入れることができます。 では、ビットコインでは前方互換性はどのように実現されるのでしょうか? 答えは、「非標準トランザクション」です。 ビットコインでは以下のルールが設定されています。
以下では、2 つの例を使用して、ビットコインがソフトフォークのアップグレードに非標準のトランザクションを使用する方法を説明します。 1. P2SHソフトフォークアップグレード P2SH は BIP16 に含まれており、ソフトフォークを通じてビットコイン システムをアップグレードし、ビットコインが P2PKH のサポートに基づいて P2SH と呼ばれる標準トランザクション タイプをサポートできるようにします。 これに先立ち、ビットコインはすでに次のスクリプトをサポートしていました:「OP_HASH160 [20バイトのハッシュ値] OP_EQUAL」。このようなスクリプトを使用するには、ハッシュ値の原画像をスタックにプッシュするだけです。 P2SH は上記の条件に対してより厳しい制限を課します。 P2SH モード (新しいノード) では、ハッシュ値の元のデータを提供するだけでなく、次の点も確認する必要があります。
P2SH をサポートする新しいノードが展開され、新しいノードの計算能力が 50% を超える場合 (P2SH のアップグレードには 55% 以上が必要)、システムは次の動作状態になります。
P2SH アップグレードの詳細:
2. SegWitソフトフォークアップグレード SegWit は主に BIP141-144 に含まれており、ソフトフォークを通じてビットコイン システムをアップグレードし、ビットコインが一連の SegWit 機能セットをサポートできるようにします。 Segregated Witnessの詳細については、「ブロックチェーンを語る(21):ビットコインのSegregated Witness」を参照してください。 ソフトフォークによるアップグレードでは、古いノードが新しいトランザクションを非標準のトランザクションとして認識する必要がありますが、同時に合法である必要があります。 Segregated Witness はこれをどのように行うのでしょうか?答えは、誰でも使用できる出力トランザクションです。 誰でも使える: 誰でも使える例を次に示します。 scriptPubKey: (空) このような出力を使用するには、次のような署名スクリプトを提供する必要があります。 スクリプト署名: OP_TRUE Segregated Witness は、スクリプトのバージョン管理と誰でも使用できる機能を完璧に組み合わせています。標準的な P2WPKH 出力は次のとおりです。 scriptPubKey: 0 <20バイトのキーハッシュ> (0x0014{20バイトのキーハッシュ}) 先頭の 0 は、新しいノードではスクリプトのバージョン番号となり、古いノードでは誰でも使用できる出力となります。 SegWit をサポートする新しいノードが展開され、新しいノードの計算能力が 50% を超える場合 (SegWit のアップグレードには 95% 以上が必要)、システムは次の動作状態になります。
SegWit アップグレードの詳細:
1MB 制限に関する問題:古いノードの場合、1MB を超えるブロックは非標準トランザクションではなく、不正なトランザクションです。この問題を解決するために、SegWit は古いノードを欺くというトリックを極限まで利用します。 Witness 部分全体を元のブロックの外側に配置します。古いノードは、受信したブロック全体の背後に監視構造があることを認識していません。 結論分散型および分散型のシステムのアップグレードは、将来の主要な課題の 1 つになります。ソフトフォークとハードフォークの両方が重要な役割を果たします。ソフトフォークソリューションはよりスマートであり、ブロックチェーンフォークを効果的に防止できます。しかし、それはソフトウェアの前方互換性、古いノードの欺瞞、そして古いシステムに確保されている手段やバックドアに依存しています。 場合によっては、ソフトフォークを実装するために、単純に設計できたはずの機能をより複雑に設計する必要があり、バグのリスクが高まり、コストに見合わないことになります。 それにもかかわらず、ソフトフォークはハードフォークに比べて依然として大きな利点があり、よりスムーズなアップグレードが可能になり、コミュニティ分裂のリスクが軽減されます。 SegWit がソフトフォークであるべきかハードフォークであるべきかという議論については、すでにあなた自身の意見があると思います。 WeChat の公開アカウントで著者に返信して意見交換をしてください。 |
<<: コインゾーントレンド: 今週のビッグデータに基づくビットコインの価格動向 (2017-02-20)
>>: ビットコインの専門家: ビットコインの価値を押し上げている主な要因は 2 つあります。政府と銀行はビットコインを新たな高みへと押し上げている
11月9日、米国証券取引委員会(SEC)のゲイリー・ゲンスラー委員長は、法的枠組み内でFTXを再開...
Binanceの発表によると、同社は2021年9月10日午前4時(UTC)にシンガポールでのSGD取...
Appleは現在、スマートフォン分野におけるブランドの優位性により、世界で最も価値のある企業の一つ...
8月20日、イーサリアムのコア開発者ティム・ベイコ氏は開発チームの電話会議のレビューで、12月のディ...
強気相場が本格化している。ビットコインは史上最高値の7万ドルを突破し、イーサリアムの価格は再び一時4...
最近の暗号通貨市場の低迷により、マイニングマシンの価格が大幅に下落しました。現在、マイニングマシンの...
世界経済フォーラム(WEF)第10回ニューチャンピオン年次総会が6月26日から28日まで中国天津で開...
クレイジー解説:昨年、デジタル通貨企業にマネーロンダリング防止規制(AML)を課すという最初の発表に...
12月以来、ビットコインの急騰は多くの主流メディアの注目を集めています。 CCTVファイナンスチャン...
市場動向や金融プラットフォームが発表した情報によると、ブロックチェーン技術の応用プロジェクトや投資の...
7月25日、国内の裁判所は初めてビットコイン盗難事件を受理した。 Bibei.comのユーザーである...
研究者たちは、ビットコインの創始者サトシ・ナカモトが休眠状態になったことはなく、それ以来ずっと初期の...
著者: 鄒俊、浦東イノベーション研究所研究員メラニー・スワン氏は、「ブロックチェーン:新経済の青写...
2018年を通じて、暗号通貨市場は10年間の歴史の中で4番目にひどい調整を経験し、ビットコインの価値...
現在の環境では、暗号通貨業界のほぼすべての取引所が内部および外部のトラブルのジレンマに直面しています...