LINEで送る
Pocket

bitcoinjpjj

コア開発者のひとりであるLuke Dashjr(luke-jr)は27日、ビットコインのハードフォークに係る3つのBIP(ビットコインを改善するためのプロポーザル)を開発者向けのメーリングリストで提案した。

提案内容は、ブロックサイズ拡張のスケジューリングに関するハードフォークと、ハードフォークに係るビットコインプロトコルの長期的な改善に関係するものだ。

昨年11月より、ビットコインのコアクライアントはトランザクション展性の解決策となるソフトフォーク、Segregated Witness(Segwit)の実装を取り込んだが、ブロックを用いた投票状況は芳しくない。Bitcoincore.orgが公開している「Segwitの支持状況推移」グラフによれば、昨年末から年始にかけて26%に達したが、その後徐々に下降し、27日現在は24%を割り込んでいる。

Luke Dashjrが提案したのは、1)安全なブロックサイズ・スケジュール、2)プロトコルの変更ルール緩和、3)ブロックチェーン分岐時のリプレイ攻撃対策の3点だ。一つずつ見ていこう。

年率17.7%でブロックサイズを引き上げる

この提案はSegwitの問題点と、ブロックサイズの引き上げを望むハードフォーク派の要望に答えている。具体的には、現在の1MBブロックのサイズを300KBに引き下げ、かつおよそ97日ごとに4.4%(年率=17.7%)ブロックサイズを引き上げ、2063年をターゲットに最大で31MBまで拡張する提案になっている。

Segwitの問題点とは、批判として言われることの多い「Segwitにより実質的に4MB近くのデータサイズを持つことになってしまうため、現状の1MBのブロックのまま有効化するのは危険だ」というもの。ビットコインのブロックチェーンを支えるフルノードは、ブロックを採掘し、検証し、他のノードに情報を伝播させる役割を持つ。

当然、データサイズが大きくなればノードのストレージやネットワーク全体への伝播速度が遅延する。ブロックサイズの限界に達している現状を考慮しても、単にブロックサイズを引き上げるような改変は、最悪の場合ネットワークが破綻する状況も招きうる。

とはいえ、ネットワーク帯域やストレージ領域は技術の発展とともに成長する。年率17.7%の成長率は、過去数年におけるネットワーク帯域幅の成長率の近似値だとLuke Dashjrは話している。

https://github.com/luke-jr/bips/blob/bip-blksize/bip-blksize.mediawiki

プロトコル変更ルールの緩和

2つ目の提案は、実際にコードがあるわけではなく「予備的な」提案だ。しかし、現在のルールにおいては「ハードフォーク」とされるいくつかのルール変更は、このBIPが実現することで「ソフトフォーク」のように実行できるようになる。

このインパクトは、非常に大きい。

現在、プロトコルルールの変更は、変更を受け入れていないノードがブロックを拒否するため、ハードフォークが必須になる。将来的な提案では、有効化までの期限を設定し、変更をソフトフォークで行うことができるようになります。

https://github.com/luke-jr/bips/blob/bip-hfprep/bip-hfprep.mediawiki

3つ目の提案は、アンチ・リプレイ攻撃を目的としたBIP。ハードフォークによりブロックチェーンが分岐しても、特定のチェーンのみで有効なトランザクションを定義することで、複数のチェーンに同時にトランザクションが取り込まれてしまうことを避けることができる。過去、ハードフォークによりブロックチェーンが分岐し問題が起こったプロジェクトも存在した。ビットコインプロトコルも、いよいよハードフォークが現実的になってきていることからも「ソフトフォークだから問題ない」とせず、現実を直視する必要があるだろう。

https://github.com/luke-jr/bips/blob/bip-noreplay/bip-noreplay.mediawiki

  • ビットコインニュースを毎日お届け!

    BTCNの最新ニュースを毎日お昼ごろお届けします!

  • BTCN公式アカウントをフォロー

    follow us in feedly
シェアする

この記事を書いた人

ざきやま(山崎大輔)
ざきやま(山崎大輔)from Cryptocurrency world
ビットコイン専門記者 BTCN編集長
ブロックチェインの可能性を、知的財産の保護やゲーミングカルチャーへ応用できないかと考えてます。
monacoin:MTn7hiNovBHyN7gjtvD1Hh7W96Zmghp41B
bitcoin:1NK8S4ep9ZUZ9H9AmTAfvrCVVAKLbpmi36