11月のBitcoinCashのハードフォークについて 〜 Bitcoin SV 〜
2018.10.02
BCHNews編集部
こんにちは、BCHNews編集部です。
暑かった夏も過ぎ去り、10月に入りました。
11月にはBitcoin Cashのアップグレードに伴うハードフォークが予定されていますが、5月のハードフォークとは異なり穏やかに済みそうではありません。
複数存在するBitcoin Cashクライアントの中で最も利用者の多いBitcoinABCが提案したアップグレードの内容について、ブロックチェーンの開発会社であるnChainや、マイニング企業のCoinGeekなどから反対意見が出ているためです。
本記事では、Bitcoin ABCが発表した11月のアップグレード内容と反対意見を整理しつつ、nChain社が発表したBitcoin SVについて紹介していきたいと思います。
Bitcoin Cashのクライアント
まず、前提として確認しておきたいのが、Bitcoin Cashのクライアントは複数存在するということです。
Bitcoin Cashの公式サイトでは、複数の独立した開発者チームがそれぞれを開発を行うことで、政治的ないし社会的な攻撃を受けることなくプロトコルの開発を実施することができると述べています。
なお、開発チーム間の調整はメーリングリストを利用することを推奨しています。
With multiple independent teams of developers providing software implementations, the future is secure. Bitcoin Cash is resistant to political and social attacks on protocol development. No single group or project can control it. Multiple implementations also provides redundancy to ensure that the network retains 100% uptime.
The bitcoin-ml mailing list is a good venue for making proposals for changes that require coordination across development teams. Workgroups have been set up to assist developers to coordinate and seek peer-review. For those wishing to implement changes to the Bitcoin Cash protocol, it is recommended to seek early peer-review and engage collaboratively with other developers through the workgroups.
また、公式サイト上では以下の通り複数のプロジェクトへのリンクが掲載されています。
画像引用元:https://www.bitcoincash.org/
さらに、以下のようなBitcoin CashのGo言語実装のGithubリポジトリもあります。
画像引用元:https://github.com/gcash/bchd
多くのクライアントが存在することを確認しましたが、各クライアントのシェアは以下の通りです。(2018/9/30現在)
画像引用元:https://cash.coin.dance/nodes
Bitcoin ABCがシェアの過半数を占め、次いでBitcoin Unlimitedが40%弱、それ以外は現状どれも僅かなシェアしかないという状況です。
今回、シェアも多く、Bitcoin Cashの開発を主導しているBitcoin ABCが発表した変更内容に異議申し立てがなされた形となります。
Bitcoin ABCのアップグレード内容
さて、今回反対意見を受けているアップグレードの内容は以下の2点です。
- OP_CHECKDATASIGの追加
- canonical transaction orderingの導入
The specific features included in the November 15th upgrade, and provided by Bitcoin ABC 0.18.0, are:
- A new opcode called OP_CHECKDATASIG that improves the BCH scripting language to permit the validation of messages from outside the blockchain. This will enable uses such as the use of oracles and cross-chain atomic contracts.
- The introduction of canonical transaction ordering. This is a technical building block that lays the foundation for massive scaling improvements in the future.
- Several minor technical fixes and improvements.
引用元:https://www.bitcoinabc.org/2018-08-20-announcing-bitcoin-abc-0-18-0/
Bitcoin ABCは、ロードマップを公開しており今回のアップグレードもロードマップに従った内容となります。
画像引用元:https://www.bitcoinabc.org/2018-08-24-bitcoin-abc-vision/
ロードマップによれば、Bitcoin ABCは、以下の3つの目的に向けて開発を進めていることになります。
- SCALING・・・100億人が1日に50トランザクションを実行できるようにする
- USABILITY・・・少ない手数料で3秒以内で安全な決済ができるようにする
- EXTENSIBILITY・・・ブロックチェーン上で様々なアセットがトレードされるトークンエコノミーを形成する(おそらくトークン発行やバイナリコントラクトを可能にするということ)
OP_CHECKDATASIGの追加
OP_CHECKDATASIGの追加は、ロードマップの「EXTENSIBILITY」の第3段階となり、任意のデータに対する署名をスクリプト内で検証できるようにするOPコードを追加します。
既存のOP_CHECKSIGは、署名を検証するOPコードですが、BCHの所有権のチェック以外の目的で利用することはできません。例えば、「株価が上がったらAさんへ送金、下がったらBさんへ送金」というようなスクリプトを書きたい場合、株価の上下に関する情報をオラクル(ブロックチェーン外部からブロックチェーンにデータを提供する組織等のこと)から取得することになります。オラクルから取得したデータを検証する場合、既存のOP_CHECKSIGでは検証できないため、任意のデータに対する署名を検証できるOP_CHECKDATASIGを追加して解決しようとしています。
詳細は、開発者のAntony Zegers氏(@AntonyZegers)がyours.orgに投稿しているこちらの記事が参考になると思います。
なお、「EXTENSIBILITY」の第1段階および第2段階は、2018/5のアップグレードの際に導入済みとなります。
canonical transaction orderingの導入
canonical transaction orderingの導入は、ロードマップの「SCALING」の第1段階として位置付けられ、ブロックにトランザクションを格納する際の順序にルールを設けるものです。
ロードマップの「Can. transaction ordering」から、下の「Graphene」に向けて赤い矢印が伸びているのが分かると思います。Grapheneは、Bitcoin Cashが目指している大規模ブロックを高速でブロードキャストするための技術ですが、Graphene導入の前提として、各ノードが同じルールに従ってトランザクションをブロックに格納している必要があるため、「canonical transaction ordering」を第一段階として導入する計画になっていると思われます。
Grapheneのホワイトペーパーはこちら。
Bitcoin ABCのアップグレード内容に対する反対意見
OP_CHECKDATASIG
このOPコードの追加に対して、nChain社のチーフサイエンティストであるCraig Wright氏は、「Satoshi Nakamotoのビジョンに反する」として反発しており、以前の記事で紹介した通りOP_CHECKDATASIGの代替案としてRabin署名が提案されています。
canonical transaction ordering
nChainは、9/14、canonical transaction ordering(CTOR)に対する批評を公開しており、CTORは、それが利益をもたらすことを証明する十分なデモンストレーションが行われておらず、そのような論争のある機能はリスクの方が高いためBitcoin Cashに実装すべきではないと主張しています。
For the reasons discussed below, we believe there is insufficient demonstration that the CTOR proposal will actually deliver its claimed benefits, and the risks of implementing such a disputed consensus change outweigh any unproven rewards. Therefore, we believe the CTOR proposal should not be implemented in any BCH implementation.
nChainが Bitcoin SV の開発を発表
8/16、Bitcoin ABCのアップグレード内容に反対するnChainは、オリジナルのBitcoinプロトコルを取り戻すための新しいフルノード実装としてBitcoin SVの開発を発表しました。
Back to the future of #Bitcoin! Announcing #BitcoinSV (@BitcoinSVNode) – a #BCH full node implementation to fully restore Satoshi’s Vision for the Bitcoin protocol, led by @nChainGlobal. #BitcoinCashhttps://t.co/aoyvlpdQAu
— nChain (@nChainGlobal) 2018年8月16日
nChainは、Bitcoinの産みの親である「Satoshi Nakamoto」のビジョンを実現するという意味を込めてプロジェクト名を「Satoshi Vision (SV)」と命名しました。Bitcoin SVは、マイニング企業のCoinGeek等のマイナー達からの要請で開発されており、Bitcoinのオリジナルのビジョンを好むマイナーに明確な選択肢を提供するものであり、オリジナルのBitcoinプロトコルにとって不必要な変更をしようとする他のクライアントとは異なるとしています。
London, United Kingdom – 16 August 2018 – nChain, the global leader in research and development of blockchain technologies, announces the creation of Bitcoin SV, a new full node implementation of the original Bitcoin protocol now restored in the form of Bitcoin Cash (BCH). Reflecting its mission to fulfil the vision of Bitcoin’s founder Satoshi Nakamoto, the project name represents the “Satoshi Vision” or SV. Created at the request of leading BCH mining enterprise CoinGeek and other miners, Bitcoin SV is intended to provide a clear BCH implementation choice for miners who support Bitcoin’s original vision, over implementations that seek to make unnecessary changes to the original Bitcoin protocol.
また、CoinGeekは、nChainの目指す「Satoshi Vision」をハッシュパワーを使用してサポートすると声明を発表しました。具体的には、「OP_DATASIGVERIFY」「Canonical transaction ordering」を実装するクライアントを使用したマイニングは行わないとのことです。なお、OP_DATASIGVERIFYは、Bitcoin Unlimitedで提案された任意のデータの署名を検証するためのOPコードですが、OP_CHECKDATASIGと同様に反対されています。
We note that additional changes have been proposed by several implementation teams that are not part of the original Bitcoin protocol. We will not support the following changes or commit our hash power to running software that implements them:
1. OP_DATASIGVERIFY
2. Canonical transaction ordering (We are committed to investigating the removal of topological ordering as a potential barrier to scaling but this requires more detailed examination)
引用元:https://coingeek.com/statement-calvin-ayre-coingeek-bitcoin-protocol/
包括的なロードマップは現在開発中とのことですが、Bitcoin ABC v0.17.2のコードをベースとしつつ、11/15のアップグレードで以下の変更を実施するとのことです。
- オリジナルのSatoshi OPコードを復活させる(OP_MUL, OP_LSHIFT, OP_RSHIFT, OP_INVERT)
- スクリプトごとのOPコード数の上限を撤廃(現状はスクリプト毎に201個まで)
- 最大ブロックサイズを128MBへ引き上げる
当然ですが、Bitcoin ABCが予定している「OP_CHECKDATASIG」「Canonical transaction ordering」の実装は含まれていません。
nChainは、Bitcoin SVの任務は、Bitcoinプロトコルを復元し、セキュリティの修正とスケーリングの目標達成に必要な修正以外は行わないことだと述べています。
Bitcoin SV’s remit is to restore the Bitcoin protocol and lock it down (with the exception of security fixes and those changes absolutely necessary to meet scaling goals).
引用元:https://nchain.com/en/blog/raising-op-code-limits-holding-sky/
上記の変更内容に当てはめると、OPコードに関する2つの修正は元々のBitcoinの実装に戻す変更であり「Bitcoinプロトコルを復元」に相当します。また、ブロックサイズの引き上げは「スケーリング」のための変更となります。
もし、このまま仕様の統一が行われないまま11月を迎えることになれば、Bitcoin Cashがハードフォークすることとなります。
さいごに
本記事では、Bitcoin ABCとnChainの対立を軸に現在の動向を整理しました。
アップグレードまで残された時間はあまりなく、現在の所、意見が合致する兆候も見られないためこのままハードフォークする可能性が高いと思いますが、混乱が起きることはできるだけ避けたいところですね。
最新情報はこちら
BCHNewsでは公式のTwitterアカウント(@bchnews_jp)を開設しました。
更新情報を配信しておりますので、よろしければフォローしていただけると嬉しいです。
この記事のカテゴリ
この記事のタグ
BCHNews編集部
BCHNews編集部です。
日々更新される暗号通貨関連のニュースを読者の皆様にお届けします。