目次

  • 導入

  • ブロックチェーンネットワークの意思決定者は誰ですか?

  • フォークとは何ですか?

  • ハードフォークとソフトフォーク

    • ハードフォークとは何ですか?

    • ソフトフォークとは何ですか?

  • ハードフォークとソフトフォーク、どちらの方がメリットが多いでしょうか?

  • 要約する


導入

スマートフォンで電子バンキング アプリケーションを使用している場合、通常、システムをアップグレードする前に、更新を求めるシステムに遭遇したことがあると思います。おそらく、あなたの携帯電話もあなたに通知することなく自動的に更新されるでしょう。結局のところ、ソフトウェアのアップグレードは必要なプロセスであり、最新バージョンのソフトウェアをインストールしないと、関連サービスを引き続き使用できなくなる可能性があります。

オープンソースの暗号通貨システムでは、状況はまったく異なります。ビットコインを動作させるためのコードをすべての行を読む必要はありませんが、できれば役に立ちます。なぜなら、分散型環境では管理階層が存在せず、更新やコンテンツの変更を自由にプッシュできる銀行も存在しないことがわかるからです。したがって、ブロックチェーンネットワークに新しい機能のアップデートを実装することは課題です。

この記事では、一元的な承認管理を行わずに暗号通貨ネットワークをアップグレードする方法について説明します。したがって、ハード フォークとソフト フォークという 2 つの異なるメカニズムが登場しました。​


ブロックチェーンネットワークの意思決定者は誰ですか?

フォークがどのように機能するかを理解するには、まずブロックチェーン ネットワークの意思決定プロセス (またはガバナンス) に関与するアクターを理解する必要があります。

ビットコインでは、参加者を開発者、マイナー、フルノードユーザーという 3 つの異なるサブセットに大まかに分けることができます。これらは実際にはネットワークに参加し、ネットワークに貢献しているノードです。また、広く使用されているライト ノード (携帯電話、ラップトップ、その他のウォレットなど) と同様、これらはネットワークの本当の「参加者」ではありません。


開発者

開発者はコードの作成と更新を担当します。ご存知のとおり、従来のトークンを使用すると、誰でもコードをプロセスに貢献できます。コードは公開されているため、他の開発者に変更を送信してレビューしてもらうことができます。


鉱夫

マイナーはネットワーク セキュリティの保護に参加します。彼らは暗号通貨のコードを実行し、ブロックチェーンに新しいブロックを追加するためにコンピューティング リソースを割り当てます。たとえば、ビットコイン ネットワークでは、Proof of Work を通じてこれを実現します。マイナーは、対応するマイニング利益を共同報酬の形で獲得します。


フルノードユーザー

フルノードは暗号通貨ネットワークのバックボーンです。彼らは、ブロックとトランザクションの検証、送受信、およびブロックチェーンのデータのコピーの維持を担当します。


これらのさまざまなカテゴリーのアイデンティティの中で、重複する部分が見つかるかもしれません。たとえば、開発者であると同時にフル ノードになることも、マイナーであると同時にフル ノードになることもできます。 3 つの ID をすべて同時に持つこともできます。しかし実際には、多くの暗号通貨ユーザーがこれらの役割を果たしていないと私たちは考えています。代わりに、軽量ノードまたは集中型サービスの使用を選択します。

上記の紹介により、ネットワークにおける開発者とマイナーの責任についても深く理解できるようになりました。開発者はコードを作成する責任があり、コードがなければソフトウェアを実行できず、バグを修正したり、新機能を追加してアップグレードしたりする人もいません。マイナーはネットワークのセキュリティを確保する責任があり、健全なマイニング競争がなければ、ブロックチェーンがハイジャックされたり停止したりする可能性があります。

ただし、開発者やマイナーがネットワークにブルートフォース攻撃を行って、自分たちの望むことを実行させようとすると、結果が生じる可能性があります。ほとんどのユーザーにとって、実際の制御は完全なノードにあります。これらはネットワークを稼働状態に保ち、ユーザーが実行したいソフトウェアを選択できるようにします。​

開発者があなたの家に侵入して、ビットコインのコアバイナリをダウンロードすると銃を突きつけて脅すつもりはありません。マイナーが強硬な態度をとり、顧客に不必要な変更の選択を強制した場合、ほとんどのユーザーは購入しない可能性があります。 ​

実際、マイナーも開発者も強力な支配者ではなく、サービスプロバイダーです。ユーザーがネットワークを使用しないことに決めた場合、トークンの価値は失われます。トークン価値の損失はマイナーに直接影響します(彼らの報酬は米ドルで測定すると価値が低くなります)。同様に、開発者にとっても、ユーザーは無視することしかできません。

このソフトウェアはいずれも独自のものではないことがわかります。必要に応じて変更を加えることができ、変更したソフトウェアを他の人が実行している場合は、相互に対話することができます。この場合、基本的にはソフトウェアをフォークして新しいネットワークを作成することになります。


フォークとは何ですか?

ソフト フォークは、ソフトウェア コードをコピーして変更することによって実装されます。元のプロジェクトは引き続き存在しますが、新しいプロジェクトが別途生成され、新しいプロジェクトは異なる方向に発展します。あなたのお気に入りの暗号通貨コンテンツ サイトのチームが、どのように進めるかについて大きな意見の相違があると仮定します。チームの一部がサイトを他のエリアに複製する場合があります。ただし、今後を見据えると、本来の内容とは異なる記事も掲載される予定です。

これらのプロジェクトは共通の基盤の上に構築されており、同じ履歴データを共有しています。一本の道が後に二本に分かれたように、これからも彼らの道は分岐していきます。

この種のことはオープンソース プロジェクトでは常に発生しており、ビットコインやイーサリアムが存在するずっと前から存在していることに注意してください。ただし、ハードフォークとソフトフォークの違いはブロックチェーンの世界にのみ存在します。これについては以下で詳しく説明します。


➠Binance にアクセスしてビットコインを購入し、暗号通貨の世界を始めましょう!


ハードフォークとソフトフォーク

ハードフォークとソフトフォークは似た名前を持ち、同じ目的を果たしますが、大きく異なります。それらを詳しく紹介していきましょう。


ハードフォークとは何ですか?

ハード フォークは、下位互換性をサポートしないソフトウェア アップグレードです。通常、このような状況は、ノードが古いノードのルールと競合する方法で新しいルールを追加したときに発生します。新しいノードは、新しいバージョンのソフトウェアを実行しているノードとのみ対話できます。その結果、ブロックチェーンは分割され、2 つの別々のネットワークが生成されました。1 つは古いルールに従って実行され、もう 1 つは新しいルールに従って実行されました。


节点在升级后变为蓝色。之前的黄色节点拒绝蓝色节点的连入,而蓝色的节点之间可以相互连接。

アップグレード後、ノードは青色に変わります。以前の黄色のノードは青色のノードへの接続を拒否しましたが、青色のノードは相互に接続できます。


したがって、現在 2 つのネットワークが並行して実行されています。これらは引き続きブロックとトランザクションを生成しますが、同じブロックチェーン上では動作しなくなります。ブロックチェーン ネットワークがフォーク ブロックに到達する前は、すべてのノードが同じブロックチェーンを持ちます (履歴はまだ存在します)。しかし、その後は、異なるブロックとトランザクションが存在します。


在区块高度600,000处发生分叉


同じ履歴が存在するため、フォークの前にコインを保持していれば、両方のネットワークに同時にコインが存在することになります。ブロック高さ 600,000 でフォークが発生したときに、手元に 5 BTC があるとします。ブロック高さが 600,001 に達したときに、元のブロックチェーンで 5 BTC を使用することを選択できますが、ブロック高さ 600,001 での消費は、新しく生成されたブロックチェーンには記録されません。暗号化方式が変更されていないと仮定すると、これら 5 つのトークンは、新しいフォークされたネットワーク上の秘密キーに引き続き存在します。​

ハード フォークのもう 1 つの例は、2017 年に発生したもので、ビットコインが元のビットコイン (BTC) と新しいビットコイン キャッシュ (BCH) という 2 つの独立したチェーンに分割されました。このフォークは、ブロック サイズのスケーリングについてコミュニティで多くの議論があった後に生まれました。ビットコイン キャッシュ (BCH) 支持者はブロック サイズの拡大を望んでいますが、ビットコイン (BTC) 支持者は変更に反対しています。

ブロック サイズを増やすには、ルールの変更が必要になります。これは SegWit ソフト フォーク (詳細は後ほど) の前に行われたため、ノードは 1MB 未満のブロックのみを受け入れます。 2MB ブロックを作成すると、他のノードはそのブロックの検証を拒否します。

ソフトウェアをアップグレードし、1MB を超えるブロック サイズをサポートしているノードのみが、これらのブロックを受け入れます。もちろん、これにより以前のバージョンとの互換性がなくなるため、同じプロトコルを持つノードのみが相互に通信できます。


ソフトフォークとは何ですか

ソフト フォークは、下位互換性をサポートするソフトウェア アップグレード方法です。アップグレードされたノードは、アップグレードされていないノードと引き続き対話できます。ソフトフォークのアップグレード方法は通常、以前の古いルールと競合しない新しいルールをプログラムに追加することです。

たとえば、ブロック サイズの縮小はソフト フォークを通じて実現できます。この点を説明するために、もう一度ビットコインを例に挙げてみましょう。ビットコイン ネットワークのブロック サイズには上限がありますが、下限のブロック サイズには制限がありません。特定のサイズ以下のブロックのみを受け入れたい場合は、それより大きいブロックを拒否するだけです。

ただし、これを行ってもネットワークから自動的に切断されるわけではありません。これらのルールを強制しないノードと対話することはできますが、ノードから渡される情報の一部はフィルターで除外されます。

この好例は、ビットコインとビットコイン キャッシュの分割直後に発生した前述の分離監視 (SegWit) です。 Segwit はブロックとトランザクションの形式を変更するアップデートであり、賢明な方法で設計されています。古いノードでもブロックとトランザクションを (ルールに違反しない形式で) 検証できますが、一部のフィールドではそれらを読み取ることができません。ノードが新しいバージョンにアップグレードされた場合にのみ、一部のフィールドが読み取り可能になり、他のデータが正しく解析されます。


甚至在隔离见证激活后的两年多时间里,也没有完成所有节点的升级。这样做也是有很多好处的,比如网络不会发生中断的情况、升级也没有那么紧迫。


Segwit がアクティブ化されてから 2 年以上が経過しても、すべてのノードがアップグレードされているわけではありません。これを行うと、ネットワークが中断されず、アップグレードがそれほど緊急でなくなるなど、多くの利点があります。


ハードフォークとソフトフォーク、どちらの方がメリットが多いでしょうか?

基本的に、これら 2 つのタイプの分岐は動作が異なります。物議を醸すハード フォーク アップグレードはコミュニティを 2 つに分割しますが、計画されたハード フォーク アップグレードでは、すべての参加者がプログラムを変更するかどうかを自由に選択できます。

ソフトフォークはより安定したオプションです。一般に、新しいアップグレードは以前のルールと矛盾しないため、特定の制限のみを強制できます。ただし、互換性のある方法でアップグレードを実装できれば、ネットワークの断片化のリスクを心配する必要はありません。


要約する

ハード フォークとソフト フォークは、ブロックチェーン ネットワークの長期的な成功にとって不可欠です。中央機関が存在しないにもかかわらず、分散システムで変更やアップグレードを行うことができます。

フォークにより、ブロックチェーンと暗号通貨が開発されるにつれて、より多くの新機能を統合できるようになります。これらのメカニズムがなければ、トップダウン制御による集中型システムが必要になります。そうしないと、ソフトウェア契約の存続期間中、厳格なルールに縛られることになります。


➠フォークに関する質問はAsk Academyへ!