ゼファーネットのロゴ

ハードフォーク、ソフトフォーク、デフォルトおよび強制

日付:

ブロックチェーン空間における重要な議論の 1 つは、プロトコル アップグレード メカニズムとしてハード フォークとソフト フォークのどちらが推奨されるかということです。 2 つの基本的な違いは、ソフト フォークがプロトコルのルールを変更することです。 厳密に減らす 有効なトランザクションのセットであるため、古いルールに従うノードは引き続き新しいチェーンに接続されます (マイナー/バリデーターの大多数がフォークを実装している場合)。一方、ハード フォークにより、以前は無効だったトランザクションとブロックが有効になるため、クライアントはハードフォークされたチェーンに留まるためには、クライアントをアップグレードする必要があります。ハード フォークには 2 つのサブタイプもあります。 厳密に拡大する ハード フォークは、有効なトランザクションのセットを厳密に拡張するため、事実上、古いルールは新しいルールに関してはソフト フォークになります。 二国間 ハード フォーク。2 つのルールセットが双方向で互換性がありません。

以下はフォークのタイプを示すベン図です。

両者に共通して挙げられるメリットは以下の通りです。
  • ハードフォークにより、開発者は新しいルールが古いルールに「適合」するかどうかを確認する必要がなくなるため、プロトコルのアップグレードをより柔軟に行うことができます。
  • ソフトフォークは、ユーザーがチェーンに留まるためにアップグレードする必要がないため、ユーザーにとってより便利です。
  • ソフトフォークはチェーンの切断につながる可能性が低いです
  • ソフトフォークは実際にマイナー/バリデーターからの同意のみを必要とします (ユーザーがまだ古いルールを使用している場合でも、チェーンを作成するノードが新しいルールを使用している場合は、いかなる場合でも新しいルールで有効なものだけがチェーンに入ります)。ハードフォークには必要なものがあります オプトイン ユーザーからの同意

これとは別に、ハード フォークに対してよく言われる主な批判の 1 つは、ハード フォークが「強制的」であるということです。ここで暗示されている種類の強制は物理的な力ではありません。むしろそれは ネットワーク効果による強制。つまり、ネットワークがルールを A から B に変更した場合、たとえあなたが個人的に A を気に入っていたとしても、他のほとんどのユーザーが B を気に入って B に切り替えた場合、オンになるためには、変更に対する個人的な不承認にもかかわらず、B に切り替える必要があります。他の人と同じネットワーク。

ハードフォークの支持者は、ネットワークの「敵対的乗っ取り」を実行し、ユーザーにそれに従うよう「強制」しようとしているとして嘲笑されることがよくあります。さらに、チェーン分割のリスクは、ハード フォークを「安全ではない」と宣伝するためによく利用されます。


これらの批判は間違っており、さらに多くの場合完全に逆であるというのが私の個人的な見解です。この観点は、イーサリアム、ビットコイン、またはその他のブロックチェーンに特有のものではありません。それはこれらのシステムの一般的な特性から生じており、どのシステムにも適用できます。さらに、以下の議論は、少なくとも 1 つの支持者 (マイナー/バリデーターおよびユーザー) の大部分がそれらを承認しない、物議を醸す変更にのみ当てはまります。変更に議論の余地がない場合は、フォークの形式に関係なく、通常は安全に変更を行うことができます。

まず、強制の問題について考えてみましょう。ハード フォークとソフト フォークは両方とも、一部のユーザーが好まない方法でプロトコルを変更します。 どれか プロトコルの変更は、サポートが正確に 100% に達していない場合にこれを行います。さらに、少なくとも次のことはほぼ避けられない。 一部 反対者の多くは、どのようなシナリオであっても、プロトコルのルールに関する自分の好みよりも、より大きなグループに従うことによるネットワーク効果を重視します。したがって、ネットワーク効果という意味では、どちらのフォーク タイプも強制的です。

ただし、ハード フォークとソフト フォークの間には次のような重要な違いがあります。 ハードフォークはオプトインですが、ソフトフォークではユーザーはまったく「オプトイン」できません。ユーザーがハードフォークチェーンに参加するには、フォークルールを実装するソフトウェアパッケージを個人的にインストールする必要があり、ネットワーク効果を評価するよりもルールの変更に強く同意しないユーザーのセットは、理論的には単純にそのチェーンに留まることができます。古いチェーン – そして実際的に言えば、そのようなイベント すでに起こっています.

これは、厳密に拡張するハード フォークと双方向ハード フォークの両方の場合に当てはまります。ただし、ソフトフォークの場合は、 フォークが成功した場合、フォークされていないチェーンは存在しません。。 したがって、 ソフトフォークは明らかに制度的に脱退より強制を支持しているが、ハードフォークは逆のバイアスを持っている。私自身の道徳的見解は、強制よりも脱退を支持するものですが、他の人は異なるかもしれません(提起される最も一般的な議論は、ネットワーク効果が本当に非常に重要であり、次のことが不可欠であるというものです)ワンコインですべてが決まる「ただし、これのより穏やかなバージョンも存在します)。

これらの議論にもかかわらず、ソフト フォークがハード フォークよりも「強制力が低い」と宣伝されることが多い理由を推測しなければならないとしたら、ハード フォークはユーザーにソフトウェア アップデートのインストールを「強制」しているように感じられるからだと思います。ソフトフォークを使用すると、ユーザーは何もする必要がまったくありません。しかし、この直感は間違っています。重要なのは、個々のユーザーが「ダウンロード」ボタンをクリックするという単純な官僚的な手順を実行する必要があるかどうかではなく、むしろユーザーがダウンロードする必要があるかどうかです。 プロトコルルールの変更を受け入れるよう強制される 彼らはむしろ受け入れたくないのです。そして、この指標によれば、上で述べたように、どちらの種類のフォークも最終的には強制的であり、ユーザーの自由を維持する点ではハード フォークの方が多少優れていることがわかります。

ここで、非常に物議を醸しているフォーク、特にマイナー/バリデーターの設定とユーザーの設定が矛盾するフォークを見てみましょう。ここには 3 つのケースがあります: (i) 双方向ハード フォーク、(ii) 厳密に拡張するハード フォーク、(iii) いわゆる「ユーザー起動型ソフト フォーク」(UASF)。 4 番目のカテゴリは、マイナーがソフト フォークをアクティブ化する場所です。 ユーザーの同意なし;これについては後で説明します。

まず、双方向ハードフォークです。最良の場合、状況は単純です。 2 つのコインは市場で取引され、トレーダーは 2 つのコインの相対的な価値を決定します。 ETC/ETH の事例から、マイナーは自身のイデオロギー的見解に関係なく、利益を最大化するために価格の比率に基づいてコインにハッシュレートを単純に割り当てる可能性が圧倒的に高いという圧倒的な証拠が得られました。

たとえ一部のマイナーがどちらか一方のイデオロギー的好みを公言したとしても、価格比とハッシュパワー比の不一致を裁定して、両者を一致させることをいとわない十分なマイナーが存在する可能性が圧倒的に高いです。あるチェーンで採掘を行わないようマイナーのカルテルを形成しようとすると、離反する圧倒的なインセンティブが生まれます。

ここには 2 つの特殊なケースがあります。 1 つ目は、難易度調整アルゴリズムが非効率的であるため、価格が下落するとコインのマイニングの価値は下がるが、それを補うほど難易度は下がらないため、マイニングが非常に不採算になり、現時点でマイニングを行うマイナーが存在しない可能性です。チェーンの難易度がバランスを取り戻すまで、チェーンを前に押し続けなければなりません。イーサリアムの場合はそうではありませんでしたが、おそらくそうなるでしょう ビットコインの場合。したがって、少数派チェーンは決して軌道に乗ることができず、消滅する可能性があります。という規範的な質問に注意してください。 これが良いことなのかどうか それは強制と脱退に関するあなたの見解によって異なります。上で書いたことから想像できるように、私は個人的に、このようなマイノリティチェーン、敵対的な難易度調整アルゴリズムは悪いものだと信じています。

51 番目のエッジ ケースは、差異が非常に大きい場合、大きなチェーンが小さなチェーンを 10% 攻撃する可能性があることです。 ETH/ETC を 1:XNUMX の比率で分割した場合でも、このようなことは起こりませんでした。したがって、それは当然のことではありません。ただし、支配的なチェーン上のマイナーが脱退を許可するよりも強制を好み、これらの価値観に基づいて行動する場合、その可能性は常にあります。

次に、ハードフォークの厳密な拡張を見てみましょう。 SEHF では、フォークされていないチェーンはフォークされたルールの下で有効であるという特性があるため、フォークの価格が非フォークされていないチェーンよりも低い場合、フォークされていないチェーンよりもハッシュパワーが低くなります。したがって、フォークされていないチェーンが最長のチェーンとして受け入れられることになります。 元のクライアントとフォークされたクライアントの両方のルールによる – それで二股に分かれたチェーン”全滅するだろう"

したがって、フォークされたチェーンが消滅する可能性が価格に組み込まれ、価格が押し下げられ、チェーンが消滅する可能性がさらに高まるため、そのようなフォークの成功に対して強い固有のバイアスが存在するという議論があります。全滅…私にとってこの議論は強力であるように思われるので、そうするのに十分な理由です。 どれか 厳密に拡張するのではなく、二国間のハードフォークで論争が起こっています。

Bitcoin Unlimited の開発者は、この問題に次の方法で対処することを提案しています。 ハードフォークを手動で双方向にする それが起こってからですが、より良い選択は、双方向性を組み込むことです。たとえば、ビットコインの場合、未使用のオペコードを禁止するルールを追加し、フォークされていないチェーン上でそのオペコードを含むトランザクションを作成することができます。これにより、フォークされたルールの下で、フォークされていないチェーンはそれ以降、永久に無効とみなされます。イーサリアムの場合、状態計算の仕組みに関するさまざまな詳細により、ほぼすべてのハード フォークはほぼ自動的に双方向になります。他のチェーンは、そのアーキテクチャに応じて異なるプロパティを持つ場合があります。

上で説明した最後のタイプのフォークは、ユーザーがアクティブ化するソフト フォークです。 UASF では、ユーザーはマイナーからのコンセンサスをわざわざ取得することなく、ソフト フォーク ルールを有効にします。採掘者は単に経済的利益のために列に従うことが期待されています。多くのユーザーが UASF に同意しない場合、コインの分割が発生し、これは厳密に拡張するハードフォークと同じシナリオにつながります。ただし、これがこのコンセプトの非常に巧妙かつ邪悪な部分です。 厳密に拡張するハードフォークでのフォークチェーンを強く嫌うのと同じ「消滅のリスク」圧力は、代わりにUASFでのフォークチェーンを強く支持します。。 UASF はオプトインですが、経済的非対称性を利用して成功に向けてバイアスをかけます (ただし、バイアスは絶対的なものではありません。UASF が明らかに不人気であれば、成功することはなく、チェーンの分裂につながるだけです)。

しかし、UASFは危険なゲームです。たとえば、プロジェクトの開発者が、以前はすべてのトランザクションを受け入れていた未使用のオペコードを、優れた新機能のルールに準拠するトランザクションのみを受け入れるオペコードに変換する UASF パッチを作成したいとします。政治的または技術的に物議を醸しており、鉱山労働者は嫌います。鉱山労働者は、巧妙かつ邪悪な反撃方法を持っています。 マイナーによってアクティブ化されるソフト フォークを一方的に実装し、ソフト フォークによって作成された機能を使用するすべてのトランザクションが常に失敗するようにすることができます。.

これで、次の 3 つのルールセットができました。

  1. オペコード X が常に有効である元のルール。
  2. オペコード X が有効となるルールは、トランザクションの残りの部分が新しいルールに準拠している場合にのみ有効です。
  3. オペコード X が常に無効となるルール。

(2) は (1) に対するソフトフォークであり、(3) は (2) に対するソフトフォークであることに注意してください。現在、(3) を支持する強い経済的圧力があるため、ソフトフォークはその目的を達成できません。

結論はこうだ。ソフトフォークは危険なゲームであり、論争が起きてマイナーが反撃を始めるとさらに危険になります。ハードフォークを厳密に拡張することも危険なゲームです。マイナーによってアクティブ化されたソフトフォークは強制的です。ユーザーがアクティブ化するソフトフォークは強制力はそれほど高くありませんが、経済的圧力のため依然としてかなり強制力があり、危険性もあります。本当に物議を醸すような変更を加えたいと考えており、そのための高い社会的コストを支払う価値があると判断した場合は、クリーンな二国間ハードフォークを実行し、時間をかけて適切なリプレイ保護を追加し、市場に解決してもらいましょう。 。

情報源: https://vitalik.eth.limo/general/2017/03/14/forks_and_markets.html

スポット画像

最新のインテリジェンス

スポット画像