banner
leaf

leaf

It is better to manage the army than to manage the people. And the enemy.

比特币のスケーリングとフォーク

なぜビットコインはスケーリングが必要であり、どのようなスケーリングの方法があるのか、そしてなぜフォークが発生するのかについて説明します。

ビットコインの各ブロックのサイズは 1 メガバイトで、約 1000 件の取引情報を含むことができます。

ビットコインの各ブロックのサイズは 1 メガバイトで、約 1000 件の取引情報を含むことができます。ビットコインのブロックチェーンブラウザで確認すると、現在の各ブロックのサイズは約 1M であり、ブロック容量の上限に近づいています。ビットコインネットワークの送金が増えるにつれて、多くの取引は最初のブロックではなく、数個のブロック、またはそれ以上の時間を待たなければパッケージ化や確認がされません。ビットコインの歴史の中で、いくつかの「ダスト攻撃」に遭遇したことがあります。ダスト攻撃とは、大量の小額の送金を作成し、未確認の取引が大量に存在することで、通常のビットコインの送金が確認されず、確認時間が遅延し、ネットワークの正常な動作に影響を与えるものです。したがって、「ダスト攻撃」の事件では、取引者の取引が 2 日以上、またはそれ以上の時間を待たなければ確認されませんでした。 「ダスト攻撃」は極端な例ですが、現在のビットコインネットワークの通常の送金量は、最大容量をはるかに超えています。各ブロックのサイズは 1M ですので、ビットコインのブロック容量を拡大し、現在の 1 メガバイトのサイズ制限を超えることを「スケーリング」と呼びます。スケーリングは、ビットコインコミュニティが 2014 年から議論してきた問題です。

ビットコインネットワークは分散型のネットワークであることを知っています。この世界では、運営する中央機関はなく、すべてはコミュニティの協議によって合意に達する必要があります。スケーリングに関しては、異なるチームには異なる考え方があり、そのため推進の効率も低くなることがあります。2015 年末には、ビットコインコア開発チームとマイナーが香港で円卓会議を開催し、「香港コンセンサス」に達しましたが、このコンセンサスはすぐに崩壊しました。2017 年にはニューヨークでビットコインコミュニティが再協議を行い、セグウィット + 2 メガバイトのスケーリングを採用し、世界 21 か国の 56 の有名なブロックチェーンスタートアップ企業からの支持を得ました。そのため、2017 年上半期からビットコインシステムはアップグレードと展開が始まりました。

ビットコインのスケーリングにはさまざまな方法があり、歴史的にも多くの改訂を経験してきました。

全体的には 2 つの方法に分けられます。

1 つはビットコインのブロック自体に触れず、ライトニングネットワークを使用してビットコインの決済を行い、大量の取引をビットコインのネットワーク外に配置する方法です。もう 1 つはブロックのサイズを直接拡大する方法です。ここで、ライトニングネットワークとは何かを説明します。例えば、私たちが数人でトランプをするとき、毎回決済を行うのではなく、終了後に清算を行います。A が B に 10 ドル、B が C に 20 ドルの借金がある場合、最後に A が C に 10 ドル、B が C に 10 ドル支払えばよいです。ライトニングネットワークも小額の取引をまず記録し、最後に清算を行います。これにより、ビットコインネットワークが大量の小額取引で占有されることはありません。ただし、この技術はまだ十分に成熟しておらず、ライトニングネットワークはセグウィット技術の上に構築する必要があります。現在、大規模には使用されていません。そのため、注目は再びビットコインのブロックサイズの拡大に向けられています。

ビットコイン自体のサイズ拡張に関しては、技術的には比較的成熟している方法です。以下に 3 つの主要な方法を紹介します。それぞれ BIP141、UASF、SegWit2x と呼ばれます。これらの用語について説明します。

BIP141 はビットコインコアチームが提案したセグウィット(Segregated Witness)の方法です。では、セグウィットとは何でしょうか?セグウィットは、ブロックがより多くの取引情報を含むために設計されたものです。ブロックにはトランザクション情報とウィットネス情報の 2 つの情報が含まれています。トランザクション情報はブロックチェーンに記録される送金情報であり、ウィットネス情報は各ノードがトランザクション情報の信頼性を検証するための情報です。サトシ・ナカモトはビットコインを設計する際に、これらの 2 つの情報を直接ブロックに格納しましたので、1 つのブロックが含めることができるトランザクション情報はそれほど多くありませんでした。では、ウィットネス情報をブロックから分離する方法はどうでしょうか?ブロックはトランザクション情報のみを保存する必要がありますので、この観点からも、ブロックが含めることができるトランザクション情報が拡大されます。

BIP141 は現在認識されているセグウィットのアクティベーション方法です。具体的なアクティベーション条件は、2017 年 11 月 15 日までの任意の難易度周期(約 2 週間)内に、95% のハッシュパワーが準備完了のシグナルを発信した場合、セグウィットがアクティベートされます。しかし、この条件は非常に難しいため、他のアクティベーション方法が提案されています。例えば、UASF と SegWit2x などがあり、これらの方法を使用して BIP141 をアクティベートすることができます。

UASF は、ユーザーによってアクティベートされるソフトフォークを意味します。UASF は、セグウィットをアクティベートするために BIP148 というソフトウェアを使用します。8 月 1 日に、ビットコインの BIP148 ソフトウェアは、bit1 シグナルを含まないブロックを拒否します。つまり、多くのマイナーがこのソフトウェアを実行する場合、このソフトウェアを実行していないマイナーが採掘したブロックは拒否されます。したがって、これらのマイナーは最も長いチェーンを持ち、その最長のチェーンで BIP141 のセグウィット条件がアクティベートされます。最終的に、BIP141 を実行しているノードは、チェーン上で bit1 を含むブロックが 95% 以上あることを確認し、セグウィットがトリガーされます。この方法は実施され、私たちが今見ている新しいブロックチェーンアセットであるビットコインキャッシュが生まれました。ビットコインキャッシュのブロックサイズは 8M まで増加し、取引数は元のビットコインチェーンの約 8 倍になります。

SegWit2x は、一部のビットコイン企業と 80% 以上のハッシュパワーを持つマイナーによって、Consensusn 会議で署名されたニューヨークコンセンサスプロトコルであり、BIP91 を使用してセグウィットをアクティベートします。BIP91 の手法は次のとおりです。連続した 2 日間で 80% のハッシュパワーが BIP91 をサポートするシグナルを発信した場合、すべての BIP91 ノードは BIP141 の準備信号を含まないブロックを拒否します。したがって、これらのマイナーは最も長いチェーンを持ち、その最長のチェーンで BIP141 のセグウィット条件がアクティベートされます。セグウィットがアクティベートされた後、2017 年末または 2018 年初めに、SegWit2x はハードフォークを使用して現在の 1MB のブロックサイズ制限を現在の 2MB に増やす予定です。その結果、新たなフォークが発生する可能性もあります。

先ほど、ハードフォークとソフトフォークについて触れましたが、ハードフォークとは何か、ソフトフォークとは何かを説明します。

ハードフォークは、ビットコインのプロトコルルールが変更され、新しいノードが作成したブロックを古いノードが受け入れない場合に発生します。その結果、ブロックチェーンは 2 つの独立したチェーンに分かれます。マイナーは 2 つのブロックチェーンのうち 1 つを選んでマイニングする必要があります。

ソフトフォークは、ビットコインのプロトコルルールが変更された場合でも、古いノードはルールが異なることに気づかず、変更後のルールに従い、新しいノードが作成したブロックを受け入れます。したがって、ソフトフォークでは 2 つの新しいブロックチェーンは生成されず、元のブロックチェーン上に新旧が共存します。これはソフトウェアのアップグレード後に、Word 2013 のドキュメントを保存したまま、Word 2011 で開くことができるのと似ています。

一般の人々にとって、もしビットコインが本当にフォークする場合、最大のリスクは「リプレイアタック」です。

「リプレイアタック」とは何でしょうか?これは、2016 年にイーサリアムがハードフォークを行った際に起こった問題です。当時、取引所やユーザーはほとんどが初めてこのような状況に遭遇し、経験や準備が不十分であり、多くの損失を被りました。例えば、ビットコインが 1 つまたは複数のビットコインに分裂した場合、一時的にビットコイン 1 / ビットコイン 2 / ビットコイン 3 などと呼ぶことにしましょう。ユーザーのアカウントには、これらの分裂したビットコインのすべての量が同時に存在し、各チェーン上のアドレスとプライベートキーの生成アルゴリズムが同じであり、トランザクション形式も完全に同じであるため、1 つのチェーン上で行われた取引は他のチェーン上では完全に合法的な取引になる可能性が非常に高いです。したがって、1 つのチェーンで行われた取引は、他のチェーンで再度ブロードキャストされ、確認される可能性があります。これが「リプレイアタック」です。簡単に言えば、ビットコイン 1 を送金する際に、ビットコイン 2 / ビットコイン 3 も同時に送金される可能性があります。送金先が自分のものでない場合、ビットコイン 2 / ビットコイン 3 は取り戻すことができなくなる可能性があります。

ユーザーが「リプレイアタック」を防ぐためには、実は非常に簡単です。どのようにすればよいでしょうか?

方法 1:フォークが落ち着くまで、ビットコインを送金しないでください。フォークが落ち着いた後、ビットコインを自分の 2 つの異なるアドレスに分けて送金することができます。完全に分離が完了するまで、ビットコインの送金を行わないでください。この方法には多くの時間と手数料がかかる場合があります。

方法 2:自分のビットコインを信頼できるウォレットや取引所に入れておきます。これらの技術力のあるプラットフォームは、フォーク中に発生するさまざまな問題を自動的に処理するため、信頼できる場所にビットコインを保管することができます。自分のビットコインをフォーク後の一部のビットコインのみをサポートするウォレットに保管すると、フォーク後に生成された他の部分のビットコインを使用できなくなる可能性があります。

以上、まとめると、このレッスンではビットコインのスケーリングとフォークについて説明しました。なぜビットコインはスケーリングが必要なのか、ビットコインの各ブロックは 1 メガバイトの制限があるため、この欠点を修正するためにライトニングネットワークと 3 つのスケーリングの方法が存在することを説明しました。

また、ビットコインの「フォーク」についても説明しました。フォークはハードフォークとソフトフォークに分けられます。

ハードフォークは、ビットコインのプロトコルルールが変更され、変更後のルールを古いノードが受け入れない場合に発生します。その結果、ブロックチェーンは 2 つの独立したチェーンに分かれます。

ソフトフォークは、ビットコインのプロトコルルールが変更された場合でも、古いノードはルールが異なることに気づかず、変更後のルールに従い、新しいノードが作成したブロックを受け入れます。したがって、ソフトフォークでは 2 つの新しいブロックチェーンは生成されず、元のブロックチェーン上に新旧が共存します。

さらに、ビットコインのフォークによって引き起こされる「リプレイアタック」のリスクを防ぐために、2 つの方法を行うことができます:第一に、フォークが落ち着くまでビットコインを送金しないこと。第二に、自分のビットコインを信頼できるウォレットや取引所に入れておくこと。これらの 2 つの方法を守ってください。

以上です。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。