お勉強:ハードフォーク

ブロックチェーンのハードフォークについて

ブロックチェーンのハードフォークとは、簡単に言って既存のあるブロックチェーンを丸ごとコピーして新しいブロックチェーンを作り、旧チェーンと新チェーンが別々の道をゆくことである。

なぜそんなことするのか

ブロックチェーンはその特性上、仕様を変更するためには全ての関係者を説得する必要がある。

というのも、ブロックチェーンネットワークは分散管理、つまり関係者みんなで同じものを管理するという前提なので、たとえばブロックチェーンのブロックサイズを大きくする、などといったシステム仕様を変更する際はみんなの合意を得る必要がある。

これは非常にシステムのアップデートがしづらいことを意味する。
スマホのアプリなどが日々アップデートされるのと対象的。(ただこれは、悪意のある人や自己中心的な人によってシステムを改変されるリスクが小さいというメリットにもなっている。)

全員の合意が取れず、システムのアップデートを望む人と望まない人に分かれてしまった場合、コミュニティの取る選択肢の1つとして上げられるのがハードフォーク

新しい仕様を適用するための複製された新チェーンと、従来の仕様のままの旧チェーンの2つのネットワークに別れ、それぞれ別々の運用を行っていくということ。

なお、ハードフォークにおいては旧チェーンと新チェーンでは異なるチェーンであるために互換性がなく、新ブロックチェーン上の通貨を旧ブロックチェーンに送金する、ということは基本的にはできない。(現在はクロスチェーン技術により異なるチェーン間とのやり取りも可能。)

ハードフォークに対してソフトフォークという仕様変更手段もある。

ソフトフォークはハードフォークと異なりチェーンを分裂させること無く仕様変更を行うことができる。詳細は別記。

コイン残高はどうなっちゃうの?

ハードフォークは基本的に既存チェーンのコピーである。

なので、新チェーンにも旧チェーンにも同じ取引情報(トランザクション)が保存されている。

つまり、旧チェーン上でコインを持っていた人は、新チェーン上でもコインを持っていることになる。単純に持っている通貨の枚数が倍になる。

これがハードフォークに伴う新規通貨の無償付与である。
ただし、ハードフォークでも新チェーンで生まれてしまった通貨を付与しない場合もあるらしい。
※疑問
その場合新チェーンのコイン残高はどうやって調整するのか。
フォーク時点での残高をそのままマイナスしてゼロにするようなトランザクションを入れるのか?でも改ざん不可と言われているブロックチェーンでそれできるの?

このようにハードフォークを行うと新しいコインが増える(コインの枚数が増える)から、ハードフォークの直後はコインの価格が下落するのではないかと筆者は考えている。(ビットコインブロックチェーンのハードフォークの直後はビットコインの価格が下落することが多かった模様。)

アドレスが重複してしまったビットコインキャッシュ

ハードフォークは基本的に既存チェーンのコピーである。

なので、既存チェーンのアドレスは新チェーンにも旧チェーンにも存在することになる。

ビットコインキャッシュはビットコインをハードフォークして生まれた(ブロックサイズが拡張されるなどの仕様変更が入っている)ブロックチェーンであるため、もともとのビットコインブロックチェーン上に存在していたアドレス(ウォレットとか)と全く同じアドレス(全く同じ文字列)が、新チェーンのビットコインキャッシュブロックチェーンにも存在してしまっていた。(アドレスは1や3から始まる文字列)

そのため、実際のチェーン利用者がコインを送金する際の送金先アドレスを、ビットコインブロックチェーンのアドレスとビットコインキャッシュブロックチェーンのアドレスと間違えてしまう人が発生した。

これに対応するため、ビットコインキャッシュブロックチェーンのアドレスを変更するという対応が取られた。(新アドレスはqから始まる文字列となった。)

以上の経緯から、ブロックチェーンエクスプローラーでアドレス検索を行う際、ビットコインブロックチェーンのアドレスとビットコインキャッシュブロックチェーンのアドレスの2つが検索されることがある(と思っている)。

この記事が気に入ったらサポートをしてみませんか?