ビットコインコミュニティは、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 つあります。政府と銀行はビットコインを新たな高みへと押し上げている
市場の予想通り、連邦準備制度理事会は7月に金利を引き上げた後、政策を据え置いている。市場を驚かせたの...
クレイジーな解説:最近、中国の検索エンジン大手である百度は、Linux Foundationが主導す...
出典: Scallion Blockchain先週の土曜日(10月19日)の北京時間午前8時4分、ビ...
ビットコインのオフチェーン スケーリング分野では、ライトニング ネットワーク インフラストラクチャと...
2020 年 5 月 28 日、Filecoin チームは 2 回目の Filecoin Mini...
「手がつるまでお金を数える」ことをまだ夢見ているなら、将来は紙幣がなくなるかもしれないので、デジタル...
クレイジーレビュー:先週、ビットコインの価格は3年ぶりの高値である18,965ドルまで反発し、投資家...
出典: 三聯生活週刊鉱山業界で金の採掘をするとき、彼らは富を求める草の根の極端な欲求と直感、何も持っ...
ビットコインの価格が急落してから数か月が経過しましたが、ニューヨーク証券取引所、ゴールドマン・サック...
カリム・ヘルミービットコインの価格下落はマイナーのせいだとよく言われます。こうした非難は根拠のないも...
今週初め、私たちは、電子商取引、ソフトウェア、ソーシャルネットワーキング、教育など、スタートアップ投...
Bitwiseの最高投資責任者マット・ホーガン氏によると、SECは待望のイーサリアムETFの承認を延...
激怒論評:中国の国家立法機関である全国人民代表大会は、デジタル資産に法的意味を与える民法典の草案を発...
国内3大ビットコイン取引プラットフォームがビットコインの引き出しを開始し、国内ビットコイン市場は再び...
ビットコインの半減期から2か月以上が経過したが、暗号通貨マイニング業界は、その後の半減期の猛烈なペー...