ビットコインコミュニティは、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 つあります。政府と銀行はビットコインを新たな高みへと押し上げている
BusinessWireによると、カナダの上場企業Ether Capital Corporatio...
編集者注: この記事は Tuoluo Finance (ID: tuoluocaijing) からの...
テキスト |黄雪嬌制作 |オデイリープラネットデイリー1月22日、BTC.TOP CEOの江卓爾氏は...
12月1日、中国ビットコイン(CHBTC.COM)は、デビッド・リー氏が今後正式に中国ビットコインの...
マイニングは難しく、既製のビットコインを購入する余裕もないため、ビットコインを盗もうと考える人もいま...
著者 |ハシピ分析チーム...
第8回フィンテックおよび決済イノベーション2016年次イベントが11月16日から18日まで上海で開催...
今夜、CCTVニュースネットワークは「『仮想通貨』の名による違法な資金調達の防止」というニュースを放...
取引量は減少し、様子見ムードが高まっている1. 市場動向<br/>今日は2017年1月2...
クレイジーな解説:米国のブロックチェーンスタートアップであるFilamentは、ブロックチェーン技術...
ケニアのメディア「デイリー・ネーション」によると、火曜日、ビットコイン新興企業ビットペサとそのパート...
ホーチミン市(HCM)税関は、国内の企業および個人が7月初旬から仮想通貨マイニング機器の輸入を完全に...
2016年7月12日、雲翔ブロックチェーンは杭州林潮資産管理有限公司から300万人民元のエンジェルラ...
中国人民銀行は6月27日、「中国金融業情報化発展第13次5カ年計画」(以下、「計画」という)を発表し...
2015年にマジスター・アドバイザーズが発表した調査レポートによると、ビットコインは2030年まで...