【イーサリアム】ハードフォーク、ソフトフォーク、離脱と強制力。websiteテクノロジーとライフスタイルを考えるブログ。【イーサリアム】ハードフォーク、ソフトフォーク、離脱と強制力。22:32ヴィタリックの記事、第二弾訳しました!今回はハードフォークとソフトフォークの本質に迫ります。ヴィタリック、開発者の視点で議論を進めてくれます。ポイントはハードフォークのタイプに、旧ルール拡張する場合と旧ルールから完全分離する場合があることです。ヴィタリックは完全分離を支持しています。英語がわかる人はこちらを読んだ方が早いです。ヴィタリック・ブテリンブロックチェーンにおける重要な議論の1つとして、ハードフォークまたはソフトフォークのどちらがよりプロトコルのアップグレード方法として最適か?というのが挙げられます。この2者の基本的な違いは、ソフトフォークは以前有効トランザクションを無効にすことによって、プロトコルのルールを変更するため、旧ルールに従ていたノードは、新ルールを導入することになます。一方でハードフォークは以前は無効だったトランザクションやブロックが有効になるため、ユーザーは、ハードフォークされたチェーンに留まるためにクライアントをアップグレードする必要があります。ハードフォークには、さらに2つのサブタイプに分かれます。forks):旧ルールをそのままに、新しいルールをとり入れ、有効なトランザクションを拡張します。forks):この場合は新旧のルールには、互換性がありません。以下、フォークの種類を示すためのベン図です。ハードフォーク、ソフトフォーク、2つのに共通して挙げられる利点は、以下の通りです。ハードフォークは、新しいルールを古いルールに適合させる必要がないため、開発者はプロトコルのアップグレードを、より柔軟に行うことができる。ソフトフォークは、ユーザーがブロックチェーンに留まるためにアップグレードをする必要がないため、ユーザーにとって便利。ソフトフォークは、更なるチェーン分岐を起こしにくい。ソフトフォークは実際にはマイナー/承認者の同意を必要とするだけです(たとえユーザーが古いルールを使用していても、チェーンを作るノードが新しいルールを使用する場合、新しいルール下において有効なものだけがチェーンに取り入れられます)。ハードフォークの場合は、ユーザーからのオプトインという形で同意を必要とする。これとは別に、ハードフォークに向けられる批判は、ハードフォークは「強制的」であるということです。物理的な強制力というより、むしろ、それはネットワーク効果による強制力です。ネットワークがAからBにルールを変更した場合、たとえ個人的にAが好きであっても、その他のユーザーはBを支持すると、Bの変更が個人的に気に入らなくても、Bに切り替えるざるを得ないという場合です。一般的にはハードフォーク支持者は、ネットワークの「敵対的な乗っ取り」を達成しようとし、ユーザーを同調させるよう強制しているとあざ笑れ、それに加え、ハードフォークでのチェーン分岐はリスクがあり「安全でない」と宣伝し回っていると信じられています。私の個人的見解ですが、実はこれらの批判は間違っており、さらに実際には、完全に逆であるということが多いです。この観点は、Ethereum、Bitcoin、または他のブロックチェーンに固有のものではありません。これらのシステムの一般的な特性から生じ、いずれにも当てはまります。以下の議論は、少なくとも1つのレイヤー(マイナー/承認者とユーザー)の大部分がそれを批判している場合のみ適用される。変更が非競合的である場合、フォークの形式が何であっても、一般的に安全に行うことができます。第一に、強制力の問題について考えてみましょう。ハードフォークにしろソフトフォークにしろ、必ずユーザーが好まない変更が含まれます。100%sユーザーのサポートがない限りこれは起こります。どのようなシナリオにおいても、反対者の少なくとも一部は、自分の好みプロトコルルールに従うよりは、多数派の側に付くというネットワーク効果を重視します。したがって、どちらのフォークタイプも、ネットワーク効果という観点からは強制力があります。ハードフォークとソフトフォークには本質的な違いがあります。ハードフォークはオプトインですが、ソフトフォークはユーザーに「オプトイン」をまず許可しません。ユーザーがハードフォークチェーンに参加するには、フォークルールを、新たに追加したクライアントを個人的にインストールする必要があります。ルール変更に同意しないユーザーは、ネットワーク効果を重視することなく、古いチェーンに留まることもできます。実際には、このような出来事は過去に起こっています。forks)にも当てはまります。ソフトフォークに限っては、フォークしても分岐しません。したがって、ソフトフォークはコミュニティ的には、完全分離より強制力が支持されます、一方でハードフォークは全く反対のバイアスを持っています。forks)を好みます。これらの議論にもかかわらず、なぜソフトフォークがハードフォークよりも「非強制」として宣伝されるのかを理解苦しんだのですが、それはハードフォークがユーザーにソフトウェアアップデートをインストールさせるように感じさせるためです。一方でソフトフォークを使用すると、ユーザーは何もする必要はありません。この認識はフォークに対して謝ったイメージを抱かせます。個々のユーザーが「ダウンロード」ボタンをクリックするという単純な官僚的な手順を実行する必要があるかどうかではなく、大事なのはユーザーが受け入れたくないプロトコルルールの変更を、強制されているかどうかです。どちらのフォークも最終的には強制的です。結果的にユーザーにとって、自由に選択される余地があるのは、ハードフォークの場合が多いです。議論が起きるフォークを見てみましょうか、特にマイナー/承認者とユーザーの間に論争が起きるフォークです。forks)、および(iii)いわゆる「ユーザー主導型ソフトフォーク」(UASF)の3つのケースがあります。4番目のカテゴリは、マイナーがユーザーの同意なしに、ソフトフォークを起動するカテゴリです。これはあとで見ていきます。ベストケースの場合、状況はわかりやすいです。2つのコインは市場で取引され、取引者は2つのコインの相対価値を決定します。ちなにみETC/ETHのケースでは、マイナーの主張はさておき、利益を最大化するためにコインの相場価格に基づいてハッシュレートを割り当てることが圧倒的に多かったです。独自のイデオロギーを持ったマイナーが現れても、結局、その他大勢のマイナーたちによって相場価格とハッシュレートの整合性を調整し、足並みを揃えるでしょう。マイナーカルテルが、あるチェーンから離れれば、そのチェーンのインセンティブは壊滅します。ここでは2つの極端なケースがあります。最初のケースとして、ブロックの難易度が適切でないと、マイニング報酬は下がり、相場も下がりますが、ブロックの難易度が下がらなければ、マイニング収益は悪くなり、マイナー離れを起こします。ブロックの難易度を最適化しないとマイナーは戻ってこないでしょう。イーサリアムではこのようなことは起こりえないですが、ビットコインでは起こりえます。従ってハッシュパワーの少ない、小規模なチェーンは消滅してしまう。このような質問の答えがいいか?悪いか?はあなたが、強制力を信じるか完全分離を信じるかによって見方が変わります。上記から想像できるように、私はハッシュパワーのないチェーンに対してのブロックの難易度調整は不利であると思っている。二つ目の極端なケースでは、ハッシュパワーの差が非常に大きい場合、大きなチェーンは51%攻撃を小さなチェーンに仕掛けることである。ETH/ETCの比率が10:1の場合でも、今のところ、これは起こっていません。支配的なチェーンのマイナーが、完全離脱を許可し、これらの価値観に基づいて行動することは、常に可能です。forks)場合を見てみましょう。forks)では、非フォークチェーンはフォーク後の新ルール下では有効です。フォーク後のチェーンが非フォークチェーンより相場価格が低ければ、ハッシュパワーも低くなり、結局、非フォークチェーンが最長のチェーンとなり(新旧ルールにて)、よってフォーク後のチェーンはいずれ消滅することになります。フォークされたチェーンは価格に影響を及ぼし、いずれ消滅する可能性があります。価格に影響を及ぼすとチェーンが承認されなくなります。forks)にした方が良いです。forks)のほうを選ぶほうが、より良い選択となります。forks)をプログラムに組み込むことです。使われていないopcodeにをBANできる新しいルールを追加できるとします。そのopcodeを含んだトランザクションを非フォークチェーンに追加できる。するとフォーク後のルール下では非フォークチェーンは永久に無効ということになります。最後に上述、ユーザ主導型ソフトフォーク(UASF)については、マイナーの投票なしに、ユーザーが新ルールを適用させ、マイナーの経済的利益は考慮しないです。仮に多くのユーザーがUASFを支持しなければ、拡張フォークと同じようなコイン分裂が起きます。チェーン消滅のリスクであるのです。forks)を支持しなよう強く圧力をかける。オプトインであっても、生き残りに向けて経済的非対称性を利用します。マイナーの支持を得てないもかかわらず、開発者主導の新ルールを優先し旧ルールのトランザクションを無視する新機能を追加したUASFパッチを行うとします。実はマイナーこれたいして巧妙に反撃できます。それは一方的に投票でマイナー主導のソフトフォークを行い、新ルールを無効化することです。ルールセットは以下の3つになります。Xが常に有効なオリジナルルール。Xは、旧トランザクションが、新しいルールに従う場合にのみ有効です。Xが常に無効なルール。(2)は(1)に準拠したソフトフォークであり、(3)は(2)準拠したソフトフォークであることに留意されたい。今、(3)を支持する強い経済的圧力がある場合は、ソフトフォークはその目的を達成できない。結論は、ソフトフォークは危険なゲームであり、論争を巻き起こし、しかもマイナーが反論を始めると、さらに危険になります。forks)も危険なゲームです。マイナー主導のソフトフォークは強制力があります。ユーザー主導のソフトフォークは、強制力はありませんが、経済的圧力のために依然として非常に強制的ですが、これもまた危険があります。forks)を行うといいでしょう。適切なリプレイプロテクションをほどこし、あとはマーケットが全てを最適化してくれるを待つしかないのです。Buterinまとめフォークには新しいルールに従わさせる強制力がある、それがイヤであればハードフォークして、留まりたいチェーンを選べばよい。ソフトフォークや拡張ハードフォークは、新旧ルールが混在するため、その後のコミュニティ内で揉める可能性がある。ハードフォークに強制力はない、むしろユーザーが自由のチェーンを選べる。forks)を支持している。途中からか意味がわからなくなりました..でも、一流の開発者の思考に触れると勉強になります。どんなジャンルでも一流に触れるのが一番です。関連記事:【イーサリアム】プルーフ・オブ・ステーク(Pos)の設計思想。関連記事:仮想通貨を始めるべきシンプルな理由。関連記事:ブロックチェーン本を淡々と評価するよ。