ビットコインキャッシュ:世界のためのピアツーピア電子キャッシュ
Bitcoin Cash(BCH)は2017年8月1日にBitcoinからハードフォークしました。独自のホワイトペーパーは存在しません。ここに掲載されている文書は、Bitcoin CashがそのP2P電子キャッシュビジョンの基盤として参照する、Satoshi NakamotoによるBitcoinのオリジナルホワイトペーパーです。
Abstract
Bitcoin Cashは、2017年8月1日にビットコインブロックチェーン">ブロックチェーンからフォークしたピアツーピア電子キャッシュシステムである。ビットコインのスケーラビリティの限界に対応して誕生したBitcoin Cashは、ブロックサイズの上限を引き上げることでより高いトランザクションスループットとより低い手数料を実現し、日常的な取引のための実用的な交換手段というビットコインの本来のビジョンを復活させた。32MBブロック、適応型難易度調整アルゴリズム、そして継続的なプロトコル開発を通じて、Bitcoin Cashはグローバルなピアツーピアキャッシュとして機能するためのオンチェーンスケーリングを目指す。
Bitcoin Cashプロジェクトは、増大する需要に対応するためにネットワークがどのようにスケーリングすべきかというビットコインコミュニティ内の根本的な意見の不一致から生まれた。一方の陣営はSegWit上に構築されたライトニングネットワークなどのオフチェーンスケーリングソリューションを支持し、もう一方の陣営はブロックサイズの上限を引き上げることが最も直接的で実証済みのスケーリングアプローチであると主張した。合意に達することができなかったため、後者のグループはハードフォークを実行し、ビットコインの取引履歴を保持しつつ、より大きなブロックサイズ上限を実装しSegWitを排除した新しいチェーンを作成した。本文書は、Bitcoin Cashの技術仕様、設計哲学、および開発の方向性を記述する。
Introduction
2008年にサトシ・ナカモトが発表したビットコインの原論文は、「金融機関を介さずに、一方の当事者から他方の当事者へ直接オンライン決済を送ることを可能にする、純粋なピアツーピア電子キャッシュ」を記述した。日常的な取引のための交換手段としてのビットコインというこのビジョンは、初期の採用とコミュニティの成長の中核であった。初期のビットコイン支持者たちは、低い取引手数料と高速な決済を従来の金融システムに対する主要な利点として頻繁に挙げていた。
しかし、2010年代半ばにかけてビットコインの人気が高まるにつれ、電子キャッシュとしての有用性を制限する根本的な制約が明らかになり始めた。もともと一時的なスパム防止策として導入された1メガバイトのブロックサイズ">ブロックサイズ制限が、ネットワークが処理できるトランザクション数に人為的な上限を設けた。ブロックスペースへの需要が増加するにつれ、ユーザーはより高い取引手数料を提示することで限られた容量を奪い合わなければならなかった。2017年初頭までに、ビットコインの取引手数料の中央値は数ドルに上昇し、少額取引は経済的に非現実的になった。混雑のピーク時には、手数料が20ドルを超えることもあり、トランザクションが数時間から数日間未確認のまま残ることもあった。
この状況はビットコインの本来の約束からの根本的な逸脱を意味していた。ピアツーピア電子決済を可能にするために設計されたシステムが、まさにそのユースケースに使用するには高すぎ、遅すぎるものになりつつあった。ビットコインが交換手段ではなく価値の保存手段である「デジタルゴールド」としてますます位置づけられる中、多くのコミュニティメンバーや開発者は、これがプロジェクトの創設原則に対する裏切りであると考えた。
Bitcoin Cashは、最も直接的なスケーリングアプローチ、すなわちブロックサイズ上限の引き上げによってこの危機を解決するために作られた。各ブロックにより多くのトランザクションを収容することで、Bitcoin Cashは低手数料と高速な承認を復活させ、ピアツーピア電子キャッシュを再び実用的にすることを目指した。プロジェクトの支持者たちは、オンチェーンスケーリングは技術的に実現可能であるだけでなく、サトシ・ナカモトが当初構想したアプローチであると主張し、ネットワークの成長に伴いブロックサイズ制限を引き上げることについてナカモトが論じた初期のコミュニケーションを根拠として示した。
2017年8月1日のBitcoin Cashの誕生は、暗号通貨史上最も重要な出来事の一つであった。これは、プロトコルの将来の方向性に関する真の哲学的不一致によって引き起こされた、ビットコイン史上初の主要なチェーン分裂であった。このフォークは、分散型システムにおいて解決不可能な紛争は、各陣営が独自にそのビジョンを追求することを許し、最終的に市場が結果を決定することで解決できることを示した。
Background: The Scaling Debate
ビットコインのスケーリング論争は、オープンソースソフトウェア開発の歴史において最も論争的で長期にわたる紛争の一つであった。その核心にあったのは一見単純な問いであった:ビットコインネットワークはどのようにしてトランザクション処理能力を増大させるべきか?しかし、この問いに対する答えは、ガバナンス、分散化、技術哲学、そしてビットコインのアイデンティティそのものに関わる根本的な問題に触れるものであった。
ビットコインの1メガバイトのブロックサイズ">ブロックサイズ制限は、2010年にサトシ・ナカモトが、攻撃者が過大なブロックでネットワークを氾濫させるサービス拒否攻撃を防止するための一時的な措置として導入したものであった。当時、実際のブロック使用量はこの制限をはるかに下回っており、ナカモトは将来的に簡単なコード変更で制限を引き上げることができると示唆していた。しかし、ビットコインの利用が増え、ブロックが満杯になり始めると、制限の引き上げは誰も予想しなかったほど論争的な問題となった。
一方の陣営はBitcoin Core開発チームと関連し、分散化を維持するためにブロックサイズは小さく保つべきだと主張した。彼らの論拠は、ブロックが大きくなるとノード">フルノードを運用するための計算能力と帯域幅の要件が増加し、一般のユーザーを排除して、資金力のある組織にノード運用が集中する可能性があるというものであった。彼らは代替的なスケーリング経路を提案した:名目上のサイズ制限を引き上げることなくトランザクションデータを再構成してブロックのトランザクション容量を実質的に増加させるプロトコル変更であるSegWitと、大部分のトランザクションをメインブロックチェーンから移すライトニングネットワークなどのオフチェーンソリューションの組み合わせであった。
対立する陣営には著名な開発者、マイナー、企業が含まれ、ブロックサイズ上限の引き上げが最も単純で、最も実証済みで、最も緊急の解決策であると主張した。彼らは、1メガバイトの制限はプロトコルの恒久的な特徴として意図されたことのない恣意的な制約であり、それに起因する手数料の上昇と混雑がユーザーやマーチャントをビットコインから遠ざけていると反論した。彼らはSegWitの複雑さに懐疑的であり、当時まだ大部分が理論段階にあったライトニングネットワークが、安価で即座のトランザクションという約束を果たせない可能性があることを懸念していた。
論争は一連の提案と対案を通じてエスカレートしていった。2015年にマイク・ハーンとギャビン・アンドレセンが提案したBitcoin XTはブロックサイズを8MBに増やそうとした。Bitcoin Classicはより控えめな2MBへの増加を提案した。Bitcoin Unlimitedはブロックサイズ制限を完全に撤廃し、マイナーが市場力学を通じて独自の制限を設定できるようにすることを提案した。各提案は激しい議論を呼び、論争のないハードフォークに必要な圧倒的合意を達成したものはなかった。
妥協の試みも複数回行われた。香港合意(2016年2月)では、Bitcoin Core開発者とマイナーがSegWitの展開に続いて2MBへのハードフォークを実施することに合意したが、ハードフォークの部分が推進されず合意は崩壊した。ニューヨーク合意(2017年5月)、別名SegWit2xは、SegWitを即座に有効化し、6ヶ月以内に2MBハードフォークを実施することを提案した。この合意はビットコインのハッシュパワーの過半数を代表する50社以上の企業が署名したが、Bitcoin Core開発チームとユーザーコミュニティの相当な部分から強い反対を受けた。
妥協が不可能であることが明らかになると、ビッグブロック陣営は単独で行動することを決定した。2017年8月1日、彼らはビットコインブロックチェーンのハードフォークを実行し、初期ブロックサイズ上限8MBのBitcoin Cashを作成した。これは軽々しく下された決定ではなかった——ブロックチェーン、ネットワーク、コミュニティ、そしてブランドの分割を必要としたのだ。しかし、Bitcoin Cashの支持者たちは、これがピアツーピア電子キャッシュというビットコインの本来のビジョンを保持する唯一の方法であると信じていた。
The Fork
Bitcoin Cashのハードフォークは、2017年8月1日、ブロック高478,558で実行された。その時点でビットコインブロックチェーンは二つの別々のチェーンに分裂した:SegWitの有効化とともに継続した元のチェーンであるビットコイン(BTC)と、8MBに増加したブロックサイズ上限を持つ新しいチェーンであるBitcoin Cash(BCH)である。
フォークは技術的にクリーンで計画的であった。フォーク時点で残高を保有していたすべてのビットコインアドレスは、両方のチェーンで同一の残高を受け取った。ユーザーがフォーク前に1 BTCを保有していた場合、フォーク後にはビットコインチェーンで1 BTCとBitcoin Cashチェーンで1 BCHを持つことになった。ブロック478,558以前の全取引履歴は両方のチェーンで共有された。
フォークにおける重要な技術的課題の一つは、リプレイプロテクションの実装であった。リプレイプロテクションがなければ、一方のチェーンでブロードキャストされたトランザクションがもう一方のチェーンでリプレイされ、ユーザーが意図せず両方のチェーンでコインを使用してしまう可能性があった。Bitcoin Cashはトランザクション署名アルゴリズムを修正することで強力なリプレイプロテクションを実装した。具体的には、Bitcoin Cashは各トランザクション署名のハッシュに含まれる新しいSigHashフラグ(SIGHASH_FORKID)を導入した。このフラグで署名されたトランザクションはBitcoin Cashチェーンでは有効だがビットコインチェーンでは無効であり、その逆も同様である。これにより、フォークの瞬間から二つのネットワーク間のクリーンな分離が保証された。
Bitcoin Cashの初期ブロックサイズ上限は8MBに設定され、ビットコインの1MB制限の8倍であった。これはオンチェーントランザクション容量の大幅な増加を意味し、Bitcoin Cashが低手数料を維持しながらブロックあたりはるかに多くのトランザクションを処理することを可能にした。フォーク後最初のBitcoin Cashブロックは、ViaBTCマイニングプール">マイニングプールによって採掘され、約1.9MBのサイズであり、ブロックサイズ拡大の即座の実用的メリットを実証した。
フォークはまた、ビットコインチェーンで有効化されたSegWitを除去した。Bitcoin Cash開発者たちは複数の理由からSegWitを拒否した:プロトコルに不必要な複雑さを導入すると考え、異なる手数料構造を持つ二層トランザクションシステムを作り出し、UTXOモデルの単純さを損なう形でブロック構造を変更したと主張した。直接的なブロックサイズ増加を選択することで、Bitcoin Cashはより単純で伝統的なビットコイン型のプロトコルアーキテクチャを維持した。
フォーク後、両チェーンは難易度調整という課題に直面した。Bitcoin Cashは当初、ビットコインチェーンと同じSHA-256難易度を使用していたが、マイニングに向けられるハッシュパワーは大幅に少なかった。ブロックが極端にゆっくり採掘されるシナリオを防ぐため、Bitcoin Cashは12時間以内に6ブロック未満しか採掘されない場合に難易度を20パーセント低下させる緊急難易度調整(EDA)メカニズムを実装した。このメカニズムは重要な初期期間中にチェーンを維持することに成功したが、不安定であることが判明し、マイナーが収益性に基づいてビットコインとBitcoin Cashの間を切り替えることで、ブロック生成時間とハッシュレートに激しい変動を引き起こした。EDAは2017年11月に、前の144ブロックの移動平均に基づくより安定した難易度調整アルゴリズムに置き換えられた。
フォークは暗号通貨コミュニティ全体で大きな論争を巻き起こした。批判者たちはBitcoin Cashがビットコインブランドを乗っ取る不当な試みであると主張し、支持者たちはビットコインの本来のロードマップの正当な継続であると主張した。取引所やサービスプロバイダーは、新しいチェーンをサポートするかどうか、そしてフォークされたコインを顧客にどのように配布するかについて迅速な決定を迫られた。論争にもかかわらず、Bitcoin Cashは実行可能で活発に利用される暗号通貨として急速に確立し、フォーク後数ヶ月で大きな取引量とマーチャント採用を達成した。
Technical Specifications
Bitcoin Cashは、SHA-256プルーフ・オブ・ワーク合意メカニズム、UTXOトランザクションモデル、デジタル署名のためのsecp256k1楕円曲線、10分の目標ブロック間隔を含む、ビットコインの基本的な技術アーキテクチャを共有している。しかし、いくつかの重要な変更点がビットコインプロトコルと差別化している。
最も顕著な違いはブロックサイズの上限である。Bitcoin Cashは8MBのブロックサイズ上限で開始し、2018年5月に32MBに引き上げた。この32MBの上限は、ビットコインの実質的な1MB非SegWitブロックサイズの約32倍(またはビットコインのSegWit強化後の実質上限である約4MBの約8倍)のトランザクション容量を提供する。大きなブロックサイズはBitcoin Cashのオンチェーンスケーリング哲学の要石であり、ブロックが常に満杯になった場合に生じる手数料圧力なしに、トランザクション増加のための十分な余裕を提供する。
Bitcoin CashはSegWitを実装していない。SegWitのように証人データをトランザクションデータから分離する代わりに、Bitcoin Cashは元のビットコイントランザクション形式をそのまま維持する。署名を含むすべてのトランザクションデータは、従来の方法でブロック内に格納される。これによりプロトコルは簡素化され、旧来のビットコインソフトウェアおよびインフラストラクチャとの後方互換性が維持される。
Bitcoin Cashの重要なプロトコル改善は、フォーク時に導入された改良SigHashアルゴリズムである。BIP 143(元はSegWit用に開発)に基づくこの新しいアルゴリズムは、元のビットコイン署名検証スキームに存在していた二次ハッシュ問題を修正する。元のスキームでは、トランザクション署名の検証にかかる計算コストが入力数に対して二次的に増大し、潜在的なサービス拒否攻撃ベクトルを生んでいた。新しいSigHashアルゴリズムは検証コストを線形にし、ネットワークがより大きく複雑なトランザクションを安全に処理できるようにする。
Bitcoin Cashはビットコインと比較して、より大きな最大トランザクションサイズとブロックあたりのより多くの署名操作(sigops)をサポートする。sigopsの上限はブロックサイズに比例して調整され、ブロック検証の計算コストが制限内に収まることを保証しながら、ブロックあたりはるかに多くのトランザクションを可能にする。
Bitcoin Cashのスクリプティングシステムは、ビットコインの比較的保守的なアプローチを超えて積極的に開発されている。Bitcoin Cashは、スクリプティング言語の表現力を拡張するいくつかのオペコードを再有効化および新規導入した。注目すべき追加には、トランザクションスクリプトがトランザクションデータだけでなく任意のデータに対して署名を検証できるようにするOP_CHECKDATASIGとOP_CHECKDATASIGVERIFYがあり、オラクルベースのスマートコントラクトやその他の高度なスクリプティングパターンを可能にする。OP_REVERSEBYTESオペコード、ネイティブイントロスペクションオペコード、そしてスクリプトとスタックの制限拡大は、Bitcoin Cashのプログラマビリティをさらに向上させた。
Bitcoin Cashはビットコインと同じアドレス形式の基盤を使用するが、混乱やクロスチェーン送金エラーを防ぐため、2018年1月にCashAddr形式を採用した。CashAddrアドレスは「bitcoincash:」をプレフィックスとして始まり(ハッシュ部分は「q」または「p」に短縮されることが多い)、ビットコインのbase58check形式とは異なるエンコーディングスキームを使用する。この視覚的な区別により、アドレスがビットコインに属するかBitcoin Cashに属するかが即座に明確になり、ユーザーが誤ってコインを間違ったチェーンに送るリスクが軽減される。
ネットワークはビットコインと同じデフォルトポートである8333番ポートで動作するが、Bitcoin Cashノードはプロトコルハンドシェイクにおいて異なるネットワークマジックナンバーで自身を識別する。これにより、同じポートを使用しているにもかかわらず、ビットコインとBitcoin Cashのノードが誤って相互接続することはない。
Transaction Throughput and Scalability
トランザクションスループットとスケーラビリティは、Bitcoin Cashの価値提案の中核である。プロジェクトの基本的なテーゼは、ピアツーピア電子キャッシュが日常的な使用に実用的であるためにはトランザクションを迅速かつ安価に処理できなければならず、大きなブロックによるオンチェーンスケーリングがこれを達成する最も信頼できる方法であるということである。
32MBのブロックサイズ上限と10分のブロック間隔で、Bitcoin Cashは平均トランザクションサイズに応じて毎秒約100トランザクションの理論的最大スループットを持つ。これは、1MBブロックで毎秒約7トランザクションの理論的最大値を持つビットコインと比較して大幅な増加である。実際のスループットはトランザクションタイプとサイズの組み合わせに依存するが、Bitcoin Cashの容量は現在のトランザクション量に対して十分すぎるほどであり、ブロックは通常32MBの上限をはるかに下回っている。
利用可能なブロックスペースの豊富さは、取引手数料に直接的かつ測定可能な影響を与える。ブロックが満杯でなければ手数料の競争はなく、トランザクションは最小限の手数料で承認される。Bitcoin Cashのデフォルトの最小リレー手数料はバイトあたり1サトシ(1サトシ = 0.00000001 BCH)であり、ほとんどのトランザクションはこの最小値またはそれに近い手数料で次のブロックに承認される。これにより、Bitcoin Cashのトランザクションは通常の条件下で1セント未満のコストで行われ、混雑期間中に数ドルから数十ドルに達する可能性があるビットコインの手数料と対照的である。
Bitcoin Cash開発コミュニティは、オンチェーンスケーリングの限界に関する広範な研究とテストを実施してきた。2017年から2018年にかけて行われたギガブロックテストネットイニシアチブは、適切なソフトウェア最適化と現代的なハードウェアがあれば、ビットコインプロトコルが1GB以上のブロックを処理できることを実証した。これらのテストは元のコードベースにおけるブロック伝播、トランザクション検証、UTXOセット管理などのいくつかのボトルネックを特定し、その後の最適化作業に情報を提供した。
大きなブロックをサポートするために、いくつかのプロトコルおよび実装の改善が行われた。可逆ブルームルックアップテーブルとブルームフィルターに基づくブロック伝播プロトコルであるGrapheneは、受信ノードが既にメンプールに持っているトランザクションとブロックの差分のみをエンコードすることで、ブロック伝播に必要な帯域幅を劇的に削減する。2018年11月に実装された正準トランザクション順序(CTOR)は、ブロック内のトランザクションをトランザクションIDの順に並べることを要求する。この一見些細な変更は、トランザクションの並列検証とより効率的なセット調整アルゴリズムを可能にし、ブロック検証と伝播における大幅な最適化を実現する。
UTXOコミットメントおよび並列検証イニシアチブは、大きなブロックを効率的に処理するネットワークの能力をさらに向上させた。最新のマルチコアプロセッサとソリッドステートストレージを活用することで、最適化されたノード実装は数万のトランザクションを含むブロックを許容可能な時間内に検証することができる。
Bitcoin Cashのスケーラビリティロードマップは、技術と需要が正当化する場合、ブロックサイズ上限のさらなる引き上げを構想している。プロジェクトの開発者たちは、完全にオンチェーンでグローバル規模の決済量をサポートするという長期目標を表明しており、Bitcoin Cashが数十億の日次トランザクションを処理できるスループットレベルを目指している。この目標は野心的であるが、ハードウェア性能、ネットワーク帯域幅、ソフトウェア最適化の継続的な向上は、段階的にこれを達成するための信頼できる道筋を提供する。
Bitcoin Cashのスケーリングアプローチの重要な側面は、「ゼロ承認」トランザクションの概念である。少額決済の場合、マーチャントはトランザクションがブロックに含まれる前の、ブロードキャスト直後にトランザクションを受け入れることができる。Bitcoin Cashは、ゼロ承認トランザクションの信頼性を向上させるためにいくつかの措置を実装している。これには「ファーストシーン」ルール(ノードが最初に確認したバージョンのトランザクションのみをリレーし、二重支払いの試みをより困難にする)と、競合するトランザクションが検出された場合にマーチャントに警告する二重支払い通知プロトコルが含まれる。これらの措置により、ブロック承認に10分間待つことが非現実的なPOS決済でBitcoin Cashを実用的に使用することが可能になる。
OP_RETURN and Data Applications
Bitcoin CashはOP_RETURNオペコードをサポートしており、証明可能に使用不可能なトランザクション出力内にユーザーが任意のデータをブロックチェーンに埋め込むことを可能にする。この機能は、トークンプロトコル、メッセージングシステム、公証サービス、ソーシャルメディアプラットフォームなど、Bitcoin Cashブロックチェーン上に構築されたさまざまなデータ中心アプリケーションを実現する。
Bitcoin CashのOP_RETURNデータ制限は出力あたり220バイトに設定されており、ビットコインの80バイト制限よりも大幅に大きい。さらに、Bitcoin Cashは単一のトランザクション内で複数のOP_RETURN出力を許可し、一つのトランザクションに埋め込めるデータ量をさらに拡大する。これらの寛大な制限は低い取引手数料と組み合わさり、容量がより制約されたチェーンでは法外な費用がかかるデータアプリケーションにとって、Bitcoin Cashを経済的に実行可能なプラットフォームにする。
Simple Ledger Protocol(SLP)は、OP_RETURNを使用してBitcoin Cash上に構築された最初期かつ最も広く採用されたトークンシステムの一つであった。SLPは、OP_RETURN出力にトークンメタデータをエンコードすることで、ユーザーがBitcoin Cashブロックチェーン上でカスタムトークンを作成および転送することを可能にした。SLPはその後CashTokensプロトコルに大部分が取って代わられたが、UTXOモデル上にトークン経済を構築することの実現可能性を実証した。
2023年5月に有効化されたCashTokensは、Bitcoin Cash上でのトークン化に対するより洗練されたアプローチを表している。ベースプロトコルが無視できるOP_RETURNメタデータに依存していたSLPとは異なり、CashTokensはトークンをUTXOモデルに直接統合するコンセンサスレベルの機能である。各UTXOはBCH値と関連するトークンの両方を保持でき、トークンの有効性はコンセンサスルールによって強制される。CashTokensは二種類のトークンをサポートする:ファンジブルトークン(Ethereum上のERC-20トークンに類似)とノンファンジブルトークン(NFT)。コンセンサスレベルの強制は、トークントランザクションがネイティブBCHトランザクションと同じセキュリティ保証を持つことを意味し、SLPのようなオーバーレイプロトコルの信頼前提やインデックス要件を排除する。
Memo.cashは、OP_RETURNトランザクションを使用してBitcoin Cash上に構築された分散型ソーシャルメディアプロトコルである。ユーザーは、エンコードされたOP_RETURNデータを含むBitcoin Cashトランザクションとして投稿、フォロー、いいね、その他のソーシャルアクションをブロードキャストする。データはブロックチェーンに保存されるため、検閲に強く永続的にアーカイブされる。Bitcoin Cashの低い取引コストがこれを経済的に実現可能にする——各ソーシャルメディアアクションのコストは1セント未満である。
Bitcoin Cash上のその他のデータアプリケーションには、文書のタイムスタンプおよび公証サービスが含まれ、文書のハッシュがOP_RETURN出力に埋め込まれて、特定の時点における文書の存在の永続的で改ざん不可能な記録を作成する。サプライチェーン追跡、資格認証、分散型アイデンティティシステムも、Bitcoin Cashのデータ埋め込み機能を使用して構築されている。
大容量のOP_RETURN、低手数料、高速な承認時間の組み合わせにより、Bitcoin Cashはブロックチェーンベースのデータアプリケーションのための競争力のあるプラットフォームとして位置づけられている。専用のデータブロックチェーンが存在するが、Bitcoin Cashは実績ある継続的な運用実績を持つ確立された高セキュリティで広くサポートされたネットワークという利点を提供する。
Network Architecture
Bitcoin Cashネットワークは、ビットコインと同じ基本的なピアツーピアアーキテクチャで動作し、ノードがゴシッププロトコルを通じて通信してトランザクションとブロックを伝播する。フルノードはブロックチェーンの完全なコピーを維持し、コンセンサスルールに従ってすべてのトランザクションとブロックを独立して検証する。ネットワークはパーミッションレスであり、誰もが許可なくノードを運用してネットワークに参加することができる。
Bitcoin Cashには複数の独立したフルノード実装が存在し、分散型開発に対するプロジェクトのコミットメントを反映している。Bitcoin Cash Node(BCHN)が最も広く使用されている実装であり、事実上のリファレンスクライアントとして機能する。その他の実装には、Bitcoin Unlimited、BCHD(Goで記述)、Knuth(高性能C++実装)などがある。複数の独立した実装の存在は、単一のソフトウェアバグによるネットワーク全体の障害リスクを低減し、単一の開発チームがプロトコルを一方的に制御することを防ぐ。
Bitcoin Cashのマイニングはビットコインと同じSHA-256プルーフ・オブ・ワークアルゴリズムを使用する。これは、同じASICマイニングハードウェアがどちらのチェーンのマイニングにも使用でき、マイナーが収益性に基づいてビットコインとBitcoin Cashの間を切り替えられることを意味する。実際には、Bitcoin Cashのハッシュレートはビットコインの一部であり、SHA-256マイニングパワーの大部分はより収益性の高いビットコインチェーンに向けられている。しかし、Bitcoin Cashの難易度調整アルゴリズムは、絶対的なハッシュレートレベルに関係なく、目標の10分間隔でブロックが生成されることを保証する。
難易度調整アルゴリズムは、Bitcoin Cashの最も重要なプロトコルコンポーネントの一つである。約2週間ごと(2016ブロックごと)に再計算する元のビットコインの難易度調整は、マイナーがビットコインとBitcoin Cashの間を切り替えることで経験した急速なハッシュレート変動に対応するには遅すぎた。2017年の問題のある緊急難易度調整(EDA)期間の後、Bitcoin Cashは2017年11月に144ブロックの移動ウィンドウに基づく新しいアルゴリズムを採用した。
2020年11月、Bitcoin Cashはaserti3-2dとしても知られるASERT(Absolutely Scheduled Exponentially Rising Targets)難易度調整アルゴリズムにアップグレードした。ASERTは、基準ブロック(「アンカーブロック」)からの実際の経過時間と予想時間の差に基づいて難易度ターゲットを調整する数学的にエレガントなアルゴリズムである。ブロックが予想より速く生成されている場合、難易度は指数関数的に増加し、遅い場合は指数関数的に減少する。「3-2d」の指定は約2日間(具体的には10分の目標で288ブロック)の半減期を示し、ハッシュレートの持続的な倍増または半減が2日以内に完全な難易度調整をもたらすことを意味する。ASERTは大幅なハッシュレートの変動下でも一貫したブロック間隔を生み出し、高い安定性を実証している。
ブロック伝播効率は、大きなブロックを持つネットワークにとって不可欠である。Bitcoin Cashは、大きなブロックがネットワーク全体に迅速に伝播できるようにいくつかの最適化を採用している。コンパクトブロック(BIP 152)は、ノードが重複するメンプールを持つ場合、完全なトランザクションデータではなくトランザクションIDからブロックを再構成することを可能にし、ブロック伝播に必要な帯域幅を劇的に削減する。Grapheneプロトコルは、確率的データ構造を使用してほぼ最適なブロックエンコーディングを達成することで、さらに大きな圧縮を提供する。XthinnerはBitcoin Cash向けに特別に開発された別の圧縮プロトコルで、一般的なブロックに対して約99.6パーセントの圧縮を達成する。
ネットワークのリレーおよびメンプールポリシーは、信頼性の高いゼロ承認トランザクションをサポートするように設計されている。ノードは厳格なファーストシーンルールに従い、最初に観察したトランザクションのバージョンのみを受け入れてリレーする。同じ入力を使用しようとする2番目のトランザクション(二重支払いの試み)が検出された場合、ノードは二重支払い証明を生成してネットワークを通じて伝播し、マーチャントやその他の関係者に警告する。このインフラストラクチャは、日常的な少額決済で未承認トランザクションを受け入れるための合理的なセキュリティレベルを提供する。
Smart Contract Capabilities
Bitcoin Cashは主にピアツーピア電子キャッシュシステムとして設計されているが、スクリプティング言語の拡張を通じて重要なスマートコントラクト機能を発展させてきた。Ethereumのアカウントベースのチューリング完全スマートコントラクトモデルとは異なり、Bitcoin Cashのスマートコントラクトは意図的にチューリング完全ではないスタックベースのスクリプティング言語を使用してUTXOモデル内で動作する。この設計は予測可能な実行コストを提供し、無制限な計算に関連する脆弱性のクラスを回避しながらも、驚くほど豊富なプログラム可能な金融商品のセットを実現する。
Bitcoin Cashのスクリプティング言語は、一連のプロトコルアップグレードを通じて段階的に強化されてきた。2018年5月には、ビットコインの歴史の初期に無効化されていたいくつかのオペコードが再有効化された。これには、ビット論理演算子(OP_AND、OP_OR、OP_XOR)、大きな数値のための算術演算子、文字列操作オペレーション(OP_SPLIT、OP_CAT)が含まれる。これらの復元されたオペコードは、Bitcoin Cashスクリプトの表現力を大幅に拡張した。
2018年11月に導入されたOP_CHECKDATASIGとOP_CHECKDATASIGVERIFYは特に重要な進展であった。これらのオペコードは、トランザクションスクリプトがトランザクション自体だけでなく任意のデータに対してECDSA署名を検証することを可能にする。これにより、外部データソースが現実世界の条件(価格、気象イベント、スポーツのスコアなど)を証明するメッセージに署名し、コントラクトの実行がその署名されたメッセージの内容に依存するオラクルベースのコントラクトが可能になる。この機能は、分散型予測市場、保険コントラクト、および外部データに依存するその他の金融商品への道を開く。
2022年5月に導入されたネイティブイントロスペクションオペコードは、トランザクションスクリプトがそれを含むトランザクションのプロパティを検査することを可能にする。スクリプトは、同じトランザクション内の入力と出力の値、ロックスクリプト、トークンデータを検査できる。これによりコベナントスタイルのコントラクトが可能になる——誰がコインを使用できるかだけでなく、将来のトランザクションでコインがどのように使用できるかを制限するスクリプトである。コベナントは、ボールト(セキュリティのための時間ロック支出制限)、定期支払い、分散型取引所、オンチェーン投票メカニズムなどの強力なパターンを可能にする。
CashScriptは、EthereumのSolidityに類似したBitcoin Cash用の高水準スマートコントラクト言語である。CashScriptにより、開発者はJavaScriptに似た馴染みのある構文でコントラクトを記述し、Bitcoin Cashスクリプトバイトコードにコンパイルすることができる。この言語は、入出力のイントロスペクションや署名検証を含むUTXOベースのコントラクト設計の複雑さを処理し、低レベルのスタックベースプログラミングに馴染みのない開発者にもアクセス可能にする。CashScriptコントラクトは、分散型取引所、エスクローサービス、クラウドファンディングプラットフォーム、その他のアプリケーションの構築に使用されてきた。
2023年5月のCashTokensアップグレードは、Bitcoin Cashのスマートコントラクト機能にさらなる次元を追加した。ファンジブルおよびノンファンジブルトークンをコンセンサスレベルでUTXOモデルに直接埋め込むことで、CashTokensはオーバーレイプロトコルではなくネットワークのコンセンサスルールによって強制されるトークンベースのコントラクトを可能にする。CashTokensのノンファンジブルトークン(NFT)は「コミットメント」フィールド——トークンに添付された任意のデータ——を持ち、スマートコントラクトスクリプトによって読み取りおよび検証が可能である。これにより、UTXOモデルでは以前困難であった、複数のトランザクションにわたるオンチェーン状態を維持するメカニズムが作成される。コントラクトはNFTをステートキャリアとして使用し、各トランザクションでコミットメントデータを更新して複雑なマルチステッププロトコルを実装できる。
イントロスペクションオペコード、CashTokens、CashScriptの組み合わせは、Ethereumのモデルとは根本的に異なるが、同じ分散型金融アプリケーションの多くを実装可能なスマートコントラクトプラットフォームを作り出す。分散型取引所、自動マーケットメーカー、レンディングプロトコル、分散型自律組織はすべてBitcoin Cash上で構築またはプロトタイプ化されている。UTXOベースのアプローチは、並列化(UTXOは独立して検証可能)、プライバシー(各UTXOは独立)、予測可能性(競合するグローバルステートがない)の点で利点を提供するが、アカウントベースのシステムとは異なる設計パターンを必要とする。
Monetary Policy
Bitcoin Cashはビットコインの金融政策をその全体において継承している。Bitcoin Cashの総供給量は2,100万コインに上限が設定されており、発行スケジュールはビットコインと同じ半減メカニズムに従う。この共有された金融政策はフォークの直接的な帰結である:Bitcoin Cashがビットコインブロックチェーン">ブロックチェーンから分裂したため、同じ発行履歴で始まり、同じ将来の発行ルールを継続する。
ブロック報酬はブロックあたり50 BCHで始まり(ビットコインのジェネシスパラメータから継承)、210,000ブロックごと、約4年ごとに半減する。最初の半減は2012年11月に発生し(フォーク前であるため共有歴史)、報酬を25コインに削減した。2回目の半減は2016年7月に12.5コインに削減した。3回目の半減は2020年4月に発生し(フォーク後であるためBitcoin Cashチェーン固有)、報酬を6.25 BCHに削減した。4回目の半減は2024年4月にブロックあたり3.125 BCHにさらに削減した。
この半減スケジュールは、新規コイン生成率が時間の経過とともに減少し、漸近的にゼロに近づくディスインフレーション金融政策を生み出す。最後のBitcoin Cashコインは2140年頃に採掘されると予想される。その時点で、マイナーの収入は完全に取引手数料で構成されることになる。
2,100万の供給上限と半減スケジュールにより、Bitcoin Cashはビットコインと同じ希少性特性を持つ。2026年初頭時点の流通供給量は約1,980万BCHであり、今後存在する総供給量の94パーセント以上を占める。残りのコインは、100年以上にわたって減少するブロック報酬を通じて配布される。
ブロック報酬から手数料ベースのマイナー報酬への移行に対するBitcoin Cashのアプローチは、ビットコインの戦略とは異なる。手数料市場を維持するためにブロックスペースを制約するビットコインのスケーリング哲学は、ブロック報酬が減少するにつれてマイナーを補償するための高いトランザクション単位手数料に暗黙的に依存している。Bitcoin Cashは逆のアプローチを取る:手数料を低く、ブロックを大きく保つことで、高いトランザクション単位手数料ではなく高いトランザクション量を通じて十分な合計手数料収入を生み出すことを目指す。このモデルでは、各トランザクションが1セントの手数料を支払うとしても、ネットワークがブロックあたり数百万のトランザクションを処理すれば、合計手数料収入はマイニングにインセンティブを与えるのに十分な額になりうる。
このボリュームベースの手数料モデルは、Bitcoin Cashが補助金後の時代にビットコインと同等のマイナーインセンティブを提供するために、ビットコインよりも大幅に高いトランザクションスループットを達成する必要があることを要求する。支持者は、グローバルな決済需要は膨大であり、世界のトランザクションの控えめなシェアでさえ1日あたり数百万の決済を代表するため、これは達成可能であると主張する。批判者は、このレベルの採用の達成は不確実であり、低手数料モデルが移行期間中に不十分なインセンティブを生み出す可能性があると反論する。
ビットコインとBitcoin Cash間の共有された金融政策は、両チェーンがSHA-256マイニングハッシュパワーを直接競合していることを意味する。マイナーは特定の時点でより収益性の高いチェーンにリソースを配分し、両チェーンの難易度調整アルゴリズムがこの流動的な配分に対応する。実際には、Bitcoin Cashの総SHA-256ハッシュレートに占める割合は相対的な価格に比例しており、利益を最大化するマイナーの合理的な経済行動を反映している。
Conclusion
Bitcoin Cashは、ピアツーピア電子キャッシュとしてのビットコインの本来のビジョンの原則に基づく継続を表している。ブロックサイズ">ブロックサイズ上限を引き上げ、オンチェーンスケーリングを追求することで、Bitcoin Cashは初期のビットコインの特徴であった低手数料と高速なトランザクションを維持し、元のホワイトペーパーが構想した日常的な決済やマイクロトランザクションを実用的にしている。
プロジェクトの技術的軌跡は、思慮深く重大なプロトコル改善によって特徴づけられている。ASERT難易度調整アルゴリズムは、変動するハッシュレート条件下でも安定したブロック生成を提供する。復元および新規追加されたオペコードを持つ強化されたスクリプティング言語は、UTXOモデルの安全性制約内で洗練されたスマートコントラクトを可能にする。CashTokensはビットコインプロトコルに初めてコンセンサスレベルで強制されるトークン化をもたらす。CashScriptはこれらの機能を幅広い開発者コミュニティがアクセスできるようにする。これらの進歩は、UTXOモデルがその根本的な簡潔性とセキュリティ特性を維持しながら、豊かな分散型アプリケーションのエコシステムをサポートできることを示している。
Bitcoin Cashの誕生につながったスケーリング論争は、分散型システムにおける根本的な緊張を浮き彫りにした:オンチェーン容量とフルノード運用コストのトレードオフである。Bitcoin Cashはトランザクション容量とユーザーエクスペリエンスを優先することを選択し、広範な採用と利用の経済的利益がノードオペレーターの増大するハードウェア要件を上回ると主張する。これは、ビットコインとBitcoin Cashがそれぞれの道を進み続ける中で、今後数年から数十年にわたって答えが明らかになる経験的な問いである。
複数のベアマーケット、論争的なフォーク(特に2018年11月のBitcoin SVの分裂)、そして持続的なコミュニティの努力を経たBitcoin Cashの存続と継続的な開発は、プロジェクトの回復力と参加者の信念を示している。ネットワークはフォーク以来数億のトランザクションを処理し、継続的な運用を維持し、ピアツーピア電子キャッシュが構築する価値のある技術であるという信念を共有する世界中の開発者、マーチャント、ユーザーのコミュニティを引き付けてきた。
Bitcoin Cashの長期的な成功は、低手数料で信頼性の高いトランザクションを評価するユーザーやマーチャントを引き付け、グローバルな決済ネットワークの要求に応えるためにインフラストラクチャを拡張する能力にかかっている。技術的基盤は健全であり、ロードマップは明確であり、コミュニティは献身的である。Bitcoin Cashが最終的に世界のための電子キャッシュという野心的な目標を達成するかどうかは、技術的限界ではなく、すべての貨幣システムの進化を支配するネットワーク効果、市場力学、採用パターンによって決定されるであろう。
Related Whitepapers
Dogecoin
Dogecoin: A Community-Driven Cryptocurrency
34 shared concepts · 2013
Ethereum
Ethereum: A Next-Generation Smart Contract and Decentralized Application Platfo…
33 shared concepts · 2013
Solana
Solana: A new architecture for a high performance blockchain
25 shared concepts · 2017
Tether
Tether: Fiat currencies on the Bitcoin blockchain
24 shared concepts · 2016
XRP
The Ripple Protocol Consensus Algorithm
21 shared concepts · 2014
よくある質問
- Bitcoin Cashのホワイトペーパーとは何ですか?
- Bitcoin Cash(BCH)は2017年8月1日にBitcoinからフォークし、ピアツーピア電子キャッシュとしての本来のビジョンを取り戻すために生まれました。ブロックサイズを1MBから32MBに拡大し、毎秒より多くのトランザクションと低手数料を実現しています。
- Bitcoin CashはBitcoinとどう違いますか?
- Bitcoin Cashは32MBのブロックをサポートし(BitcoinのSegWit込みの約4MBに対して)、Segregated Witnessを使用せず、より安定したブロック時間のためにASERT難易度調整アルゴリズムを実装しています。日常決済のためのオンチェーンスケーリングを優先しています。
- Bitcoin Cashを作ったのは誰で、いつですか?
- Bitcoin Cashは2017年8月1日にBitcoinのハードフォークによって作られました。主な推進者にはRoger Verと、トランザクション容量の増加と手数料削減のためのブロック拡大を主張したBitcoin ABC開発チームが含まれます。
- Bitcoin Cashの核心的な技術的アプローチとは何ですか?
- Bitcoin Cashは、Lightning Networkのようなオフチェーンソリューションに頼るのではなく、ブロックサイズを拡大することでオンチェーンスケーリングを追求しています。32MBブロックにより、Bitcoinの約7 TPSに比べて毎秒100件以上のトランザクション処理が可能です。
- Bitcoin Cashのコンセンサスはどのように機能しますか?
- Bitcoin CashはBitcoinと同様にSHA-256プルーフ・オブ・ワークを使用し、より応答性の高い調整のためにブロックごとに難易度を再計算するASERT(Absolutely Scheduled Exponentially Rising Targets)難易度調整アルゴリズムを採用しています。
- Bitcoin Cashの供給モデルとは何ですか?
- Bitcoin CashはBitcoinと同じ供給モデルを持っています:約210,000ブロック(約4年)ごとにブロック報酬が半減する2,100万枚のハードキャップです。BCHはBitcoinのジェネシスブロックを共有しているため、同じ半減スケジュールに従っています。
- Bitcoin Cashの主な用途は何ですか?
- Bitcoin Cashは日常取引の交換媒体であることに焦点を当てています。通常0.01ドル未満の低手数料と高速な承認により、ポイントオブセール決済、送金、マイクロトランザクションに適しています。
- Bitcoin Cashはどのような問題を解決しますか?
- Bitcoin Cashは、より高いスループットのために大きなブロックを選択することでBitcoinのスケーラビリティ議論に対処しています。日常取引に十分に低い手数料を実現し、Bitcoinのオリジナルホワイトペーパーの「ピアツーピア電子キャッシュ」としてのビジョンを実現することを目指しています。
- Bitcoin Cashのセキュリティモデルはどのように機能しますか?
- Bitcoin CashはBitcoinと同じマイニングアルゴリズムであるSHA-256プルーフ・オブ・ワークを使用しています。しかし、BCHはBTCよりもハッシュパワーが大幅に少なく、51%攻撃に対してより脆弱です。ASERT難易度調整により、安定したブロック生産の維持を助けています。
- Bitcoin Cashエコシステムの現状はどうですか?
- Bitcoin Cashは加盟店導入と決済に焦点を当てた活発なエコシステムを維持しています。CashTokens(ファンジブルおよびNFTトークン)、プライバシーのためのCashFusionをサポートし、BitPayなどの決済プロセッサーを通じて世界中の多くの加盟店に受け入れられています。