ビットコインキャッシュ:世界のためのピアツーピア電子キャッシュ
Bitcoin Cash (BCH) แยกออกจาก Bitcoin เมื่อวันที่ 1 สิงหาคม 2017 โดยไม่มี whitepaper ของตัวเอง เอกสารที่นำเสนอที่นี่คือ whitepaper ต้นฉบับของ Bitcoin โดย Satoshi Nakamoto ซึ่ง Bitcoin Cash อ้างอิงเป็นรากฐานของวิสัยทัศน์เงินสดอิเล็กทรอนิกส์แบบ peer-to-peer
Abstract
Bitcoin Cash เป็นระบบเงินสดอิเล็กทรอนิกส์แบบเพียร์ทูเพียร์ที่ถูก fork ออกจากบล็อกเชนของ Bitcoin เมื่อวันที่ 1 สิงหาคม 2017 ถูกสร้างขึ้นเพื่อตอบสนองต่อข้อจำกัดด้านการขยายตัว (scaling) ของ Bitcoin โดย Bitcoin Cash เพิ่มขีดจำกัดขนาดบล็อกเพื่อให้รองรับปริมาณธุรกรรมได้มากขึ้นและลดค่าธรรมเนียมลง ฟื้นคืนวิสัยทัศน์ดั้งเดิมของ Bitcoin ในฐานะสื่อกลางการแลกเปลี่ยนที่ใช้งานได้จริงสำหรับธุรกรรมในชีวิตประจำวัน ด้วยบล็อกขนาด 32MB อัลกอริทึมปรับความยากแบบปรับตัว และการพัฒนาโปรโตคอลอย่างต่อเนื่อง Bitcoin Cash ตั้งเป้าการขยายตัวแบบ on-chain เพื่อทำหน้าที่เป็นเงินสดเพียร์ทูเพียร์ระดับโลก
โครงการ Bitcoin Cash เกิดจากความเห็นไม่ลงรอยกันอย่างลึกซึ้งภายในชุมชน Bitcoin เกี่ยวกับวิธีที่เครือข่ายควรขยายเพื่อรองรับความต้องการที่เพิ่มขึ้น ขณะที่ฝ่ายหนึ่งสนับสนุนแนวทางขยายแบบ off-chain เช่น Lightning Network ที่สร้างบน Segregated Witness (SegWit) อีกฝ่ายหนึ่งโต้แย้งว่าการเพิ่มขีดจำกัดขนาดบล็อกเป็นแนวทางที่ตรงที่สุดและพิสูจน์ได้แล้ว เมื่อไม่สามารถหาข้อสรุปร่วมได้ กลุ่มหลังจึงทำ hard fork สร้างเชนใหม่ที่คงประวัติธุรกรรมของ Bitcoin ไว้ แต่เพิ่มขนาดบล็อกและไม่รับ SegWit เอกสารนี้อธิบายสเปกทางเทคนิค ปรัชญาการออกแบบ และทิศทางการพัฒนาของ Bitcoin Cash
Abstract
Bitcoin Cashは、2017年8月1日にビットコインブロックチェーンからフォークしたピアツーピア電子キャッシュシステムである。ビットコインのスケーラビリティの限界に対応して誕生したBitcoin Cashは、ブロックサイズの上限を引き上げることでより高いトランザクションスループットとより低い手数料を実現し、日常的な取引のための実用的な交換手段というビットコインの本来のビジョンを復活させた。32MBブロック、適応型難易度調整アルゴリズム、そして継続的なプロトコル開発を通じて、Bitcoin Cashはグローバルなピアツーピアキャッシュとして機能するためのオンチェーンスケーリングを目指す。
Bitcoin Cashプロジェクトは、増大する需要に対応するためにネットワークがどのようにスケーリングすべきかというビットコインコミュニティ内の根本的な意見の不一致から生まれた。一方の陣営はSegWit上に構築されたライトニングネットワークなどのオフチェーンスケーリングソリューションを支持し、もう一方の陣営はブロックサイズの上限を引き上げることが最も直接的で実証済みのスケーリングアプローチであると主張した。合意に達することができなかったため、後者のグループはハードフォークを実行し、ビットコインの取引履歴を保持しつつ、より大きなブロックサイズ上限を実装しSegWitを排除した新しいチェーンを作成した。本文書は、Bitcoin Cashの技術仕様、設計哲学、および開発の方向性を記述する。
Introduction
ไวท์เปเปอร์ Bitcoin ฉบับดั้งเดิมซึ่งเผยแพร่โดย Satoshi Nakamoto ในปี 2008 อธิบายถึง "เงินสดอิเล็กทรอนิกส์แบบเพียร์ทูเพียร์อย่างแท้จริง" ที่จะ "ทำให้การชำระเงินออนไลน์สามารถส่งตรงจากฝ่ายหนึ่งไปยังอีกฝ่ายหนึ่งได้โดยไม่ต้องผ่านสถาบันการเงิน" วิสัยทัศน์ของ Bitcoin ในฐานะสื่อกลางการแลกเปลี่ยนสำหรับธุรกรรมประจำวันเป็นหัวใจของการยอมรับในยุคแรกและการเติบโตของชุมชน ผู้สนับสนุน Bitcoin ในช่วงต้นมักชี้ให้เห็นค่าธรรมเนียมที่ต่ำและการโอนที่รวดเร็วเป็นข้อได้เปรียบสำคัญเหนือระบบการเงินแบบเดิม
อย่างไรก็ตาม เมื่อความนิยมของ Bitcoin เพิ่มขึ้นในช่วงกลางทศวรรษ 2010 ข้อจำกัดพื้นฐานเริ่มลดทอนความสามารถในการทำหน้าที่เป็นเงินสดอิเล็กทรอนิกส์ ขีดจำกัดขนาดบล็อก 1MB ซึ่งเดิมเพิ่มเข้ามาเป็นมาตรการชั่วคราวเพื่อกันสแปม กลายเป็นเพดานเทียมที่จำกัดจำนวนธุรกรรมที่เครือข่ายสามารถประมวลผลได้ เมื่อความต้องการพื้นที่บล็อกเพิ่มขึ้น ผู้ใช้ต้องแข่งขันเพื่อความจุที่จำกัดด้วยการเสนอค่าธรรมเนียมสูงกว่า ภายในต้นปี 2017 ค่าธรรมเนียมเฉลี่ยของ Bitcoin เพิ่มเป็นระดับหลายดอลลาร์ ทำให้ธุรกรรมมูลค่าต่ำไม่คุ้มค่าเชิงเศรษฐศาสตร์ ในช่วงที่เครือข่ายหนาแน่นที่สุด ค่าธรรมเนียมอาจเกิน 20 ดอลลาร์ และธุรกรรมอาจค้างการยืนยันเป็นชั่วโมงหรือแม้กระทั่งหลายวัน
สถานการณ์นี้ถือเป็นการเบี่ยงเบนจากคำสัญญาดั้งเดิมของ Bitcoin อย่างชัดเจน ระบบที่ตั้งใจให้เป็นการชำระเงินเพียร์ทูเพียร์กลับกลายเป็นของแพงและช้าเกินไปสำหรับกรณีใช้งานที่มันถูกสร้างมาเพื่อรองรับ ขณะเดียวกัน Bitcoin ถูกวางภาพมากขึ้นในฐานะ "ทองคำดิจิทัล" คือที่เก็บมูลค่ามากกว่าสื่อกลางการแลกเปลี่ยน สมาชิกชุมชนและนักพัฒนาจำนวนไม่น้อยมองว่านี่คือการทรยศต่อหลักการตั้งต้นของโครงการ
Bitcoin Cash ถูกสร้างขึ้นเพื่อแก้ปัญหานี้ด้วยแนวทางที่ตรงที่สุดในการขยายระบบ: เพิ่มขีดจำกัดขนาดบล็อก ด้วยการให้ธุรกรรมจำนวนมากขึ้นเข้าไปอยู่ในแต่ละบล็อกได้ Bitcoin Cash ตั้งใจฟื้นค่าธรรมเนียมต่ำและการยืนยันที่เร็ว ทำให้เงินสดอิเล็กทรอนิกส์เพียร์ทูเพียร์กลับมาใช้งานได้จริง ผู้สนับสนุนโครงการโต้แย้งว่าการขยายแบบ on-chain ไม่เพียงเป็นไปได้เชิงเทคนิค แต่ยังสอดคล้องกับสิ่งที่ Satoshi Nakamoto เคยพูดถึงในช่วงแรก ๆ ว่าขนาดบล็อกสามารถเพิ่มขึ้นได้เมื่อเครือข่ายเติบโต
การถือกำเนิดของ Bitcoin Cash เมื่อวันที่ 1 สิงหาคม 2017 เป็นหนึ่งในเหตุการณ์สำคัญที่สุดในประวัติคริปโต มันเป็นการแยกเชนครั้งใหญ่ครั้งแรกในประวัติ Bitcoin ที่เกิดจากความเห็นต่างทางปรัชญาเกี่ยวกับทิศทางอนาคตของโปรโตคอล Fork นี้แสดงให้เห็นว่าในระบบกระจายศูนย์ เมื่อความขัดแย้งไม่อาจประนีประนอมได้ วิธีหนึ่งคือให้แต่ละฝ่ายเดินตามวิสัยทัศน์ของตนเอง และปล่อยให้ตลาดเป็นผู้ตัดสินผลลัพธ์ในท้ายที่สุด
Introduction
2008年にサトシ・ナカモトが発表したビットコインの原論文は、「金融機関を介さずに、一方の当事者から他方の当事者へ直接オンライン決済を送ることを可能にする、純粋なピアツーピア電子キャッシュ」を記述した。日常的な取引のための交換手段としてのビットコインというこのビジョンは、初期の採用とコミュニティの成長の中核であった。初期のビットコイン支持者たちは、低い取引手数料と高速な決済を従来の金融システムに対する主要な利点として頻繁に挙げていた。
しかし、2010年代半ばにかけてビットコインの人気が高まるにつれ、電子キャッシュとしての有用性を制限する根本的な制約が明らかになり始めた。もともと一時的なスパム防止策として導入された1メガバイトのブロックサイズ制限が、ネットワークが処理できるトランザクション数に人為的な上限を設けた。ブロックスペースへの需要が増加するにつれ、ユーザーはより高い取引手数料を提示することで限られた容量を奪い合わなければならなかった。2017年初頭までに、ビットコインの取引手数料の中央値は数ドルに上昇し、少額取引は経済的に非現実的になった。混雑のピーク時には、手数料が20ドルを超えることもあり、トランザクションが数時間から数日間未確認のまま残ることもあった。
この状況はビットコインの本来の約束からの根本的な逸脱を意味していた。ピアツーピア電子決済を可能にするために設計されたシステムが、まさにそのユースケースに使用するには高すぎ、遅すぎるものになりつつあった。ビットコインが交換手段ではなく価値の保存手段である「デジタルゴールド」としてますます位置づけられる中、多くのコミュニティメンバーや開発者は、これがプロジェクトの創設原則に対する裏切りであると考えた。
Bitcoin Cashは、最も直接的なスケーリングアプローチ、すなわちブロックサイズ上限の引き上げによってこの危機を解決するために作られた。各ブロックにより多くのトランザクションを収容することで、Bitcoin Cashは低手数料と高速な承認を復活させ、ピアツーピア電子キャッシュを再び実用的にすることを目指した。プロジェクトの支持者たちは、オンチェーンスケーリングは技術的に実現可能であるだけでなく、サトシ・ナカモトが当初構想したアプローチであると主張し、ネットワークの成長に伴いブロックサイズ制限を引き上げることについてナカモトが論じた初期のコミュニケーションを根拠として示した。
2017年8月1日のBitcoin Cashの誕生は、暗号通貨史上最も重要な出来事の一つであった。これは、プロトコルの将来の方向性に関する真の哲学的不一致によって引き起こされた、ビットコイン史上初の主要なチェーン分裂であった。このフォークは、分散型システムにおいて解決不可能な紛争は、各陣営が独自にそのビジョンを追求することを許し、最終的に市場が結果を決定することで解決できることを示した。
Background: The Scaling Debate
การถกเถียงเรื่องการขยายตัวของ Bitcoin (scaling debate) เป็นหนึ่งในข้อพิพาทที่ยืดเยื้อและร้อนแรงที่สุดในประวัติการพัฒนาซอฟต์แวร์โอเพนซอร์ส แก่นของปัญหาดูเหมือนเป็นคำถามง่าย ๆ: เครือข่าย Bitcoin ควรเพิ่มขีดความสามารถในการประมวลผลธุรกรรมอย่างไร? แต่คำตอบของคำถามนี้แตะต้องประเด็นพื้นฐานเรื่องการกำกับดูแล (governance) การกระจายศูนย์ ปรัชญาทางเทคนิค และแม้กระทั่งอัตลักษณ์ของ Bitcoin เอง
ขีดจำกัดขนาดบล็อก 1MB ถูกนำมาใช้โดย Satoshi Nakamoto ในปี 2010 เป็นมาตรการชั่วคราวเพื่อป้องกันการโจมตีแบบ denial-of-service ที่ผู้โจมตีอาจส่งบล็อกขนาดใหญ่เกินควรเพื่อถล่มเครือข่าย ในเวลานั้นการใช้งานจริงยังต่ำกว่าขีดจำกัดมาก และ Nakamoto เคยกล่าวว่าขีดจำกัดสามารถเพิ่มได้ในอนาคตด้วยการเปลี่ยนโค้ดแบบง่าย ๆ แต่เมื่อการใช้งานเพิ่มขึ้นและบล็อกเริ่มเต็ม การเพิ่มขีดจำกัดกลับกลายเป็นเรื่องขัดแย้งกว่าที่ใครคาดคิด
ฝ่ายหนึ่งซึ่งมักถูกโยงกับทีมพัฒนา Bitcoin Core โต้แย้งว่าขนาดบล็อกควรคงเล็กเพื่อรักษาการกระจายศูนย์ เหตุผลคือบล็อกที่ใหญ่ขึ้นจะเพิ่มภาระด้านคอมพิวต์และแบนด์วิดท์ในการรันโหนดเต็ม อาจทำให้ผู้ใช้ทั่วไป “จ่ายไม่ไหว” และผลักให้การรันโหนดกระจุกตัวอยู่กับองค์กรที่มีทรัพยากรสูง พวกเขาเสนอเส้นทางขยายทางเลือก: Segregated Witness (SegWit) ซึ่งปรับโครงสร้างข้อมูลธุรกรรมเพื่อเพิ่มความจุที่มีประสิทธิผลโดยไม่ต้องเพิ่มขนาดบล็อกเชิงนามธรรม ร่วมกับโซลูชัน off-chain อย่าง Lightning Network ที่ย้ายธุรกรรมส่วนใหญ่ไปอยู่นอกบล็อกเชนหลัก
อีกฝ่ายหนึ่งซึ่งรวมถึงนักพัฒนา นักขุด และธุรกิจรายสำคัญ โต้แย้งว่าการเพิ่มขีดจำกัดขนาดบล็อกเป็นวิธีที่ง่ายที่สุด พิสูจน์ได้แล้ว และเร่งด่วนที่สุด พวกเขามองว่าขีดจำกัด 1MB เป็นข้อจำกัดเชิงอำเภอใจที่ไม่เคยตั้งใจให้เป็นคุณลักษณะถาวร และการที่ค่าธรรมเนียมพุ่งกับความหนาแน่นของเครือข่ายกำลังผลักผู้ใช้และผู้ค้าหนีจาก Bitcoin พวกเขาสงสัยความซับซ้อนของ SegWit และกังวลว่า Lightning Network ซึ่งในเวลานั้นยังค่อนข้างเป็นทฤษฎี อาจไม่เคยส่งมอบธุรกรรมถูกและทันทีได้จริง
การถกเถียงทวีความร้อนแรงผ่านข้อเสนอและข้อโต้แย้งมากมาย Bitcoin XT (2015) เสนอโดย Mike Hearn และ Gavin Andresen เพื่อเพิ่มบล็อกเป็น 8MB Bitcoin Classic เสนอเพิ่มเป็น 2MB Bitcoin Unlimited เสนอให้เอาขีดจำกัดออกทั้งหมด โดยปล่อยให้คนขุดกำหนดผ่านกลไกตลาด ข้อเสนอแต่ละแบบสร้างการถกเถียงอย่างหนัก และไม่มีข้อเสนอใดได้ฉันทามติท่วมท้นพอสำหรับ hard fork ที่ไม่สร้างความแตกแยก
มีความพยายามประนีประนอมหลายครั้ง Hong Kong Agreement (กุมภาพันธ์ 2016) ให้ผู้พัฒนา Bitcoin Core และนักขุดตกลงจะทำ SegWit แล้วตามด้วย hard fork เป็น 2MB แต่ข้อตกลงล่มเมื่อส่วน hard fork ไม่ถูกผลักดัน New York Agreement (พฤษภาคม 2017) หรือ SegWit2x เสนอเปิดใช้ SegWit ทันทีแล้วตามด้วย hard fork เป็น 2MB ภายในหกเดือน ข้อตกลงนี้ลงนามโดยบริษัทมากกว่า 50 แห่งที่แทน hash power ส่วนใหญ่ แต่ถูกคัดค้านอย่างหนักจากทีม Bitcoin Core และผู้ใช้จำนวนมาก
เมื่อเห็นชัดว่าการประนีประนอมเป็นไปไม่ได้ ฝ่าย big-block จึงตัดสินใจดำเนินการเอง วันที่ 1 สิงหาคม 2017 พวกเขาทำ hard fork ของบล็อกเชน Bitcoin สร้าง Bitcoin Cash โดยตั้งขีดจำกัดขนาดบล็อกเริ่มต้นที่ 8MB นี่ไม่ใช่การตัดสินใจเล็ก ๆ เพราะต้องแยกบล็อกเชน เครือข่าย ชุมชน และแบรนด์ แต่ผู้สนับสนุน Bitcoin Cash เชื่อว่านี่เป็นหนทางเดียวที่จะรักษาวิสัยทัศน์ดั้งเดิมของ Bitcoin ในฐานะเงินสดอิเล็กทรอนิกส์เพียร์ทูเพียร์
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
การทำ hard fork ของ Bitcoin Cash เกิดขึ้นเมื่อวันที่ 1 สิงหาคม 2017 ที่ความสูงบล็อก 478,558 ณ จุดนั้น บล็อกเชน Bitcoin แยกเป็นสองเชน: เชนเดิมที่เดินหน้าต่อในชื่อ Bitcoin (BTC) พร้อมการเปิดใช้ SegWit และเชนใหม่ที่กลายเป็น Bitcoin Cash (BCH) พร้อมขีดจำกัดขนาดบล็อกที่เพิ่มเป็น 8MB
ในเชิงเทคนิค fork นี้ค่อนข้างสะอาดและวางแผนมาดี ทุกที่อยู่ Bitcoin ที่มีเงินอยู่ก่อน fork จะได้รับยอดเท่ากันบนทั้งสองเชน หากผู้ใช้ถือ 1 BTC ก่อน fork หลัง fork จะมี 1 BTC บนเชน Bitcoin และ 1 BCH บนเชน Bitcoin Cash ประวัติธุรกรรมทั้งหมดก่อนบล็อก 478,558 เป็นประวัติร่วมกันของทั้งสองเชน
ความท้าทายทางเทคนิคที่สำคัญอย่างหนึ่งคือการทำ replay protection หากไม่มี replay protection ธุรกรรมที่ถูกประกาศบนเชนหนึ่งอาจถูก “เล่นซ้ำ” บนอีกเชน ทำให้ผู้ใช้เผลอใช้จ่ายเหรียญบนทั้งสองเชนโดยไม่ตั้งใจ Bitcoin Cash ใช้ replay protection แบบแข็งแรงด้วยการปรับอัลกอริทึมการลงนามธุรกรรม โดยเพิ่มแฟลก SigHash ใหม่ (SIGHASH_FORKID) เข้าไปในแฮชของลายเซ็นธุรกรรม ธุรกรรมที่เซ็นด้วยแฟลกนี้จะใช้ได้บนเชน Bitcoin Cash แต่ใช้ไม่ได้บนเชน Bitcoin และในทางกลับกัน ทำให้ทั้งสองเครือข่ายแยกจากกันอย่างชัดเจนตั้งแต่วินาทีแรกของ fork
ขีดจำกัดขนาดบล็อกเริ่มต้นของ Bitcoin Cash ถูกตั้งไว้ที่ 8MB ซึ่งใหญ่กว่า Bitcoin 1MB ถึงแปดเท่า นี่เป็นการเพิ่มความสามารถรองรับธุรกรรมแบบ on-chain อย่างมีนัย ทำให้ Bitcoin Cash ประมวลผลธุรกรรมต่อบล็อกได้มากขึ้นโดยยังคงค่าธรรมเนียมต่ำ บล็อก Bitcoin Cash แรกหลัง fork ถูกขุดโดยพูล ViaBTC และมีขนาดราว 1.9MB แสดงให้เห็นประโยชน์ในทางปฏิบัติของบล็อกที่ใหญ่ขึ้นทันที
fork นี้ยังนำ SegWit ออก (ซึ่งเปิดใช้บนเชน Bitcoin) นักพัฒนา Bitcoin Cash ปฏิเสธ SegWit ด้วยเหตุผลหลายประการ: มองว่าเพิ่มความซับซ้อนที่ไม่จำเป็น ทำให้เกิดระบบธุรกรรมแบบสองชั้นที่มีโครงสร้างค่าธรรมเนียมต่างกัน และปรับโครงสร้างบล็อกในลักษณะที่พวกเขาเห็นว่าบั่นทอนความเรียบง่ายของโมเดล UTXO ด้วยการเลือกเพิ่มขนาดบล็อกตรง ๆ Bitcoin Cash จึงรักษาสถาปัตยกรรมโปรโตคอลที่เรียบง่ายและ “คล้าย Bitcoin แบบดั้งเดิม” มากกว่า
หลัง fork ทั้งสองเชนต้องเผชิญความท้าทายเรื่องการปรับความยาก Bitcoin Cash เริ่มต้นด้วยความยาก SHA-256 เดียวกับ Bitcoin แต่มี hash power มาขุดน้อยกว่ามาก เพื่อหลีกเลี่ยงสถานการณ์ที่บล็อกถูกขุดช้ามาก Bitcoin Cash เพิ่มกลไก Emergency Difficulty Adjustment (EDA) ที่ลดความยากลง 20% หากขุดได้น้อยกว่า 6 บล็อกในช่วง 12 ชั่วโมง แม้ช่วยพยุงเชนในช่วงเริ่มต้น แต่กลไกนี้ไม่เสถียร ทำให้เวลาบล็อกและ hash rate แกว่งหนักเมื่อคนขุดสลับไปมาระหว่าง Bitcoin และ Bitcoin Cash ตามความคุ้มค่า EDA จึงถูกแทนที่ในเดือนพฤศจิกายน 2017 ด้วยอัลกอริทึมปรับความยากที่เสถียรกว่า โดยอิงค่าเฉลี่ยเคลื่อนที่ของ 144 บล็อกก่อนหน้า
fork นี้ได้รับกระแสโต้เถียงอย่างมากในวงการคริปโต นักวิจารณ์มองว่า Bitcoin Cash พยายามฉวยแบรนด์ Bitcoin อย่างไม่ชอบธรรม ขณะที่ผู้สนับสนุนโต้ว่าเป็นการเดินหน้าตามโรดแมปดั้งเดิมของ Bitcoin อย่างถูกต้อง Exchange และผู้ให้บริการต้องตัดสินใจอย่างรวดเร็วว่าจะรองรับเชนใหม่หรือไม่ และจะจัดการแจกจ่ายเหรียญจาก fork ให้ลูกค้าอย่างไร แม้มีความขัดแย้ง Bitcoin Cash ก็สร้างตัวเองเป็นคริปโตที่ใช้งานได้จริงอย่างรวดเร็ว มีปริมาณการซื้อขายและการยอมรับจากผู้ค้าในระดับที่มีนัยในช่วงเดือนแรกหลัง fork
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 ใช้สถาปัตยกรรมพื้นฐานทางเทคนิคของ Bitcoin ร่วมกัน รวมถึงกลไกฉันทามติ proof-of-work แบบ SHA-256 โมเดลธุรกรรมแบบ UTXO เส้นโค้ง secp256k1 สำหรับลายเซ็นดิจิทัล และช่วงเวลาบล็อกเป้าหมายสิบ นาที อย่างไรก็ตาม มีการปรับแก้สำคัญหลายอย่างที่ทำให้มันแตกต่างจากโปรโตคอลของ Bitcoin
ความต่างที่เด่นที่สุดคือขีดจำกัดขนาดบล็อก Bitcoin Cash เปิดตัวด้วยขนาดบล็อก 8MB และเพิ่มเป็น 32MB ในเดือนพฤษภาคม 2018 ขีดจำกัด 32MB นี้ให้ความจุธุรกรรมประมาณ 32 เท่าของบล็อก Bitcoin แบบ 1MB ที่ไม่มี SegWit (หรือราว 8 เท่าของความจุที่ SegWit ช่วยให้ขีดจำกัดเชิงประสิทธิผลเพิ่มเป็นประมาณ 4MB) ขนาดบล็อกที่ใหญ่ขึ้นเป็นหัวใจของปรัชญาการขยายแบบ on-chain ของ Bitcoin Cash ช่วยให้มีพื้นที่รองรับการเติบโตของธุรกรรมโดยไม่เกิดแรงกดดันค่าธรรมเนียมจากการที่บล็อกเต็มสม่ำเสมอ
Bitcoin Cash ไม่ได้ใช้ Segregated Witness (SegWit) แทนที่จะแยกข้อมูล witness ออกจากข้อมูลธุรกรรมเหมือน SegWit, Bitcoin Cash คงรูปแบบธุรกรรมดั้งเดิมของ Bitcoin ไว้ ข้อมูลทั้งหมดรวมถึงลายเซ็นจะถูกเก็บอยู่ในบล็อกตามแบบเดิม สิ่งนี้ทำให้โปรโตคอลเรียบง่ายขึ้น และคงความเข้ากันได้ย้อนหลังกับซอฟต์แวร์และโครงสร้างพื้นฐาน Bitcoin รุ่นเก่า
การเพิ่มความสามารถสำคัญของ Bitcoin Cash คืออัลกอริทึม SigHash ที่ปรับปรุง ซึ่งถูกนำมาใช้ตั้งแต่ตอน fork อัลกอริทึมใหม่ที่อิง BIP 143 (เดิมพัฒนาสำหรับ SegWit) แก้ปัญหา quadratic hashing ที่มีอยู่ในกลไกตรวจลายเซ็นของ Bitcoin แบบเดิม ในแบบเดิม ต้นทุนคอมพิวต์ของการตรวจลายเซ็นเพิ่มขึ้นแบบกำลังสองตามจำนวนอินพุต เป็นช่องทางโจมตีแบบ denial-of-service ได้ อัลกอริทึม SigHash ใหม่ทำให้ต้นทุนตรวจสอบเติบโตแบบเส้นตรง ช่วยให้เครือข่ายรองรับธุรกรรมที่ใหญ่และซับซ้อนได้อย่างปลอดภัย
Bitcoin Cash รองรับขนาดธุรกรรมสูงสุดที่ใหญ่กว่า และจำนวน signature operations (sigops) ต่อบล็อกมากกว่า Bitcoin โดยขีดจำกัด sigops จะถูกสเกลตามขนาดบล็อก เพื่อให้ต้นทุนคำนวณในการตรวจบล็อกยังถูกจำกัด แต่ยังเปิดให้มีธุรกรรมได้มากขึ้นต่อบล็อก
ระบบสคริปต์ของ Bitcoin Cash ถูกพัฒนาต่อเนื่องยิ่งกว่าแนวทางที่ค่อนข้างอนุรักษ์นิยมของ Bitcoin มีการเปิดใช้กลับและเพิ่ม opcode หลายตัวที่ทำให้ภาษา scripting แสดงความหมายได้มากขึ้น เช่น OP_CHECKDATASIG และ OP_CHECKDATASIGVERIFY ซึ่งทำให้สคริปต์ตรวจลายเซ็นต่อข้อมูลใด ๆ ได้ (ไม่ใช่แค่ข้อมูลธุรกรรม) ช่วยให้เกิด smart contract แบบอิง oracle และแพตเทิร์นสคริปต์ขั้นสูงอื่น ๆ opcode อย่าง OP_REVERSEBYTES, opcode introspection แบบ native และการเพิ่มขีดจำกัดสคริปต์/สแต็กยังช่วยเพิ่มความสามารถในการโปรแกรมของ Bitcoin Cash
Bitcoin Cash ใช้พื้นฐานรูปแบบที่อยู่คล้าย Bitcoin แต่ได้นำรูปแบบ CashAddr มาใช้ในเดือนมกราคม 2018 เพื่อป้องกันความสับสนและความผิดพลาดในการส่งข้ามเชน ที่อยู่ CashAddr มี prefix "bitcoincash:" (มักย่อให้เหลือ "q" หรือ "p" ในส่วนแฮช) และใช้การเข้ารหัสที่ต่างจาก base58check ของ Bitcoin ความต่างด้านหน้าตาและรูปแบบนี้ช่วยให้รู้ได้ทันทีว่าที่อยู่นั้นเป็นของ Bitcoin หรือ Bitcoin Cash ลดความเสี่ยงการส่งผิดเชน
เครือข่ายทำงานบนพอร์ต 8333 ซึ่งเป็นพอร์ตเริ่มต้นเดียวกับ Bitcoin แต่โหนด Bitcoin Cash จะมี network magic number ที่ต่างกันในขั้นตอนจับมือโปรโตคอล ดังนั้นโหนด Bitcoin และ 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
Throughput ของธุรกรรมและความสามารถในการขยายตัวเป็นหัวใจของข้อเสนอคุณค่าของ Bitcoin Cash วิทยานิพนธ์พื้นฐานของโครงการคือเงินสดอิเล็กทรอนิกส์เพียร์ทูเพียร์ต้องประมวลผลธุรกรรมได้เร็วและถูกเพื่อใช้งานในชีวิตประจำวันได้จริง และการขยายแบบ on-chain ด้วยบล็อกที่ใหญ่ขึ้นคือวิธีที่เชื่อถือได้มากที่สุดในการบรรลุเป้าหมายนี้
ด้วยขีดจำกัดบล็อก 32MB และช่วงเวลาบล็อกสิบ นาที Bitcoin Cash มี throughput สูงสุดเชิงทฤษฎีราว 100 ธุรกรรมต่อวินาที ขึ้นอยู่กับขนาดธุรกรรมเฉลี่ย ซึ่งมากกว่า Bitcoin ที่มีเพดานเชิงทฤษฎีราว 7 ธุรกรรมต่อวินาทีภายใต้บล็อก 1MB ในทางปฏิบัติ throughput จริงขึ้นกับชนิดและขนาดธุรกรรม แต่ความจุของ Bitcoin Cash มากพอสำหรับปริมาณธุรกรรมปัจจุบัน โดยบล็อกส่วนใหญ่มักต่ำกว่าขีดจำกัด 32MB มาก
พื้นที่บล็อกที่เหลือเฟือส่งผลต่อค่าธรรมเนียมโดยตรง เมื่อบล็อกไม่เต็ม จะไม่มีการแข่งขันด้านค่าธรรมเนียม ธุรกรรมสามารถยืนยันได้ด้วยค่าธรรมเนียมต่ำมาก minimum relay fee เริ่มต้นของ Bitcoin Cash อยู่ที่ 1 satoshi ต่อไบต์ (1 satoshi = 0.00000001 BCH) และธุรกรรมส่วนใหญ่ถูกยืนยันในบล็อกถัดไปที่ระดับใกล้ขั้นต่ำนี้ ทำให้ค่าธรรมเนียมโดยทั่วไปอยู่ที่เศษเสี้ยวของเซ็นต์ ต่างจาก Bitcoin ที่ค่าธรรมเนียมอาจตั้งแต่หลักดอลลาร์ถึงหลักสิบดอลลาร์ในช่วงเครือข่ายหนาแน่น
ชุมชนพัฒนา Bitcoin Cash ทำการวิจัยและทดสอบอย่างกว้างขวางเกี่ยวกับขีดจำกัดของการขยายแบบ on-chain โครงการ Gigablock Testnet Initiative (2017-2018) แสดงให้เห็นว่าโปรโตคอลแบบ Bitcoin สามารถรองรับบล็อกระดับ 1GB หรือมากกว่านั้นได้ หากมีการปรับปรุงซอฟต์แวร์และใช้ฮาร์ดแวร์สมัยใหม่ การทดสอบเหล่านี้พบคอขวดหลายจุดในโค้ดเดิม เช่น การกระจายบล็อก การตรวจธุรกรรม และการจัดการชุด UTXO และนำไปสู่ความพยายามปรับแต่งในระยะต่อมา
มีทั้งการปรับปรุงระดับโปรโตคอลและการปรับปรุงในซอฟต์แวร์เพื่อรองรับบล็อกใหญ่ Graphene ซึ่งเป็นโปรโตคอลกระจายบล็อกที่ใช้ invertible Bloom lookup tables และ Bloom filters ช่วยลดแบนด์วิดท์ที่ต้องใช้ด้วยการเข้ารหัสเฉพาะความต่างระหว่างบล็อกกับธุรกรรมที่โหนดปลายทางมีอยู่แล้วใน mempool Canonical Transaction Ordering (CTOR) ที่เปิดใช้ในเดือนพฤศจิกายน 2018 บังคับให้ธุรกรรมในบล็อกเรียงตาม transaction ID การเปลี่ยนแปลงที่ดูเล็กนี้ช่วยให้เกิดการเพิ่มประสิทธิภาพในการตรวจบล็อกและการกระจาย เพราะเอื้อให้ตรวจสอบธุรกรรมแบบขนานและใช้วิธี reconcile ชุดข้อมูลที่มีประสิทธิภาพกว่า
แนวคิด UTXO commitment และการตรวจสอบแบบขนาน (parallel validation) ช่วยให้เครือข่ายจัดการบล็อกใหญ่ได้มีประสิทธิภาพยิ่งขึ้น ด้วยการใช้ CPU หลายคอร์และสตอเรจแบบ SSD การติดตั้งโหนดที่ปรับแต่งแล้วสามารถตรวจบล็อกที่มีธุรกรรมหลายหมื่นรายการได้ในเวลาที่รับได้
โรดแมปด้านการขยายของ Bitcoin Cash มองไปถึงการเพิ่มขีดจำกัดขนาดบล็อกเพิ่มเติมเมื่อเทคโนโลยีและความต้องการเหมาะสม นักพัฒนาได้แสดงเป้าหมายระยะยาวในการรองรับปริมาณการชำระเงินระดับโลกทั้งหมดแบบ on-chain โดยตั้งเป้า throughput ที่จะให้บริการธุรกรรมระดับพันล้านรายการต่อวัน แม้เป็นเป้าหมายที่ทะเยอทะยาน แต่การพัฒนาอย่างต่อเนื่องของฮาร์ดแวร์ แบนด์วิดท์ และการปรับแต่งซอฟต์แวร์ก็ให้เส้นทางที่น่าเชื่อถือในการขยับไปถึงได้ทีละขั้น
ประเด็นสำคัญของแนวทาง scaling ของ Bitcoin Cash คือแนวคิด "ธุรกรรมศูนย์การยืนยัน" (zero-confirmation) สำหรับการชำระเงินมูลค่าต่ำ ผู้ค้าสามารถรับธุรกรรมทันทีที่มันถูกประกาศก่อนที่จะถูกบรรจุในบล็อก Bitcoin Cash เพิ่มมาตรการเพื่อทำให้ zero-conf น่าเชื่อถือขึ้น เช่นกฎ "first-seen" (โหนดจะ relay เฉพาะธุรกรรมเวอร์ชันแรกที่เห็น ทำให้การพยายาม double-spend ยากขึ้น) และโปรโตคอลแจ้งเตือน double-spend ที่เตือนผู้ค้าหากพบธุรกรรมที่ขัดแย้งกัน มาตรการเหล่านี้ทำให้ 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 รองรับ opcode OP_RETURN ซึ่งอนุญาตให้ผู้ใช้ฝังข้อมูลใด ๆ ลงในบล็อกเชนภายใน output ของธุรกรรมที่ถูกออกแบบให้ไม่สามารถนำไปใช้จ่ายได้จริง คุณลักษณะนี้เปิดทางให้แอปพลิเคชันที่เน้นข้อมูลจำนวนมากสร้างบนบล็อกเชน Bitcoin Cash เช่น โปรโตคอลโทเคน ระบบข้อความ บริการรับรองเอกสาร (notarization) และแพลตฟอร์มโซเชียลมีเดีย
ขีดจำกัดข้อมูล OP_RETURN ของ Bitcoin Cash ถูกตั้งไว้ที่ 220 ไบต์ต่อ output ซึ่งมากกว่า Bitcoin ที่จำกัดไว้ 80 ไบต์อย่างมีนัย นอกจากนี้ Bitcoin Cash ยังอนุญาตให้มีหลาย output แบบ OP_RETURN ในธุรกรรมเดียว ทำให้ฝังข้อมูลได้มากยิ่งขึ้น ขีดจำกัดที่เอื้อเฟื้อเหล่านี้เมื่อรวมกับค่าธรรมเนียมที่ต่ำ ทำให้ Bitcoin Cash เป็นแพลตฟอร์มที่คุ้มค่าเชิงเศรษฐศาสตร์สำหรับแอปข้อมูลที่บนเชนที่มีพื้นที่จำกัดจะมีต้นทุนสูงจนไม่คุ้ม
Simple Ledger Protocol (SLP) เป็นหนึ่งในระบบโทเคนยุคแรกและถูกใช้งานมากบน Bitcoin Cash โดยอาศัย OP_RETURN SLP ทำให้ผู้ใช้สามารถสร้างและโอนโทเคนแบบกำหนดเองบนบล็อกเชนได้ด้วยการเข้ารหัสเมทาดาตาโทเคนไว้ใน output OP_RETURN แม้ต่อมาจะถูก CashTokens แทนที่เป็นส่วนใหญ่ แต่ SLP แสดงให้เห็นว่าการสร้างเศรษฐกิจโทเคนบนโมเดล UTXO ทำได้จริง
CashTokens ซึ่งเปิดใช้งานในเดือนพฤษภาคม 2023 เป็นแนวทางที่ซับซ้อนกว่าในการทำโทเคนบน Bitcoin Cash ต่างจาก SLP ที่เป็นเมทาดาตา OP_RETURN ซึ่งเลเยอร์ฐานอาจเพิกเฉยได้ CashTokens เป็นคุณลักษณะระดับฉันทามติที่ผสานโทเคนเข้าไปในโมเดล UTXO โดยตรง UTXO แต่ละตัวสามารถมีทั้งมูลค่า BCH และโทเคนกำกับ และความถูกต้องของโทเคนถูกบังคับด้วยกฎฉันทามติ CashTokens รองรับทั้งโทเคนแบบ fungible และโทเคนแบบไม่ซ้ำ (NFT) การบังคับใช้ที่ระดับฉันทามติทำให้ธุรกรรมโทเคนได้การค้ำประกันความปลอดภัยเทียบเท่าธุรกรรม BCH ปกติ ลดการพึ่งพาความเชื่อถือและการจัดทำดัชนีแบบโปรโตคอล overlay อย่าง SLP
Memo.cash เป็นโปรโตคอลโซเชียลมีเดียแบบกระจายศูนย์ที่สร้างบน Bitcoin Cash ด้วยธุรกรรม OP_RETURN ผู้ใช้ประกาศโพสต์ การติดตาม การกดถูกใจ และการกระทำทางสังคมอื่น ๆ เป็นธุรกรรม Bitcoin Cash ที่เข้ารหัสข้อมูล OP_RETURN เพราะข้อมูลถูกเก็บบนบล็อกเชน จึงต้านการเซ็นเซอร์และถูกเก็บถาวร ค่าธรรมเนียมต่ำทำให้โมเดลนี้เป็นไปได้ในเชิงเศรษฐศาสตร์ โดยแต่ละการกระทำมีต้นทุนเพียงเศษเสี้ยวของเซ็นต์
แอปพลิเคชันข้อมูลอื่น ๆ ได้แก่บริการประทับเวลาและรับรองเอกสาร โดยฝังแฮชของเอกสารไว้ใน OP_RETURN เพื่อสร้างบันทึกถาวรที่แก้ไขไม่ได้ว่าเอกสารมีอยู่ ณ เวลาใดเวลาหนึ่ง การติดตามซัพพลายเชน การตรวจสอบคุณวุฒิ และระบบตัวตนแบบกระจายศูนย์ก็ถูกสร้างขึ้นจากความสามารถในการฝังข้อมูลของ Bitcoin Cash เช่นกัน
การผสานกันของความจุ OP_RETURN ที่มาก ค่าธรรมเนียมต่ำ และเวลายืนยันที่เร็ว ทำให้ Bitcoin Cash เป็นแพลตฟอร์มที่แข่งขันได้สำหรับแอปข้อมูลบนบล็อกเชน แม้จะมีบล็อกเชนที่ออกแบบมาเพื่อข้อมูลโดยเฉพาะ แต่ 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 โดยโหนดสื่อสารผ่านโปรโตคอล gossip เพื่อกระจายธุรกรรมและบล็อก โหนดเต็มเก็บสำเนาบล็อกเชนครบถ้วนและตรวจสอบธุรกรรมกับบล็อกทั้งหมดแบบอิสระตามกฎฉันทามติ เครือข่ายเป็นแบบไม่ต้องขออนุญาต (permissionless) หมายความว่าใครก็สามารถรันโหนดและเข้าร่วมได้โดยไม่ต้องได้รับอนุมัติ
มีการพัฒนาไคลเอนต์โหนดเต็มหลายตัวอย่างอิสระสำหรับ Bitcoin Cash สะท้อนความตั้งใจของโครงการที่จะกระจายอำนาจการพัฒนา Bitcoin Cash Node (BCHN) เป็นไคลเอนต์ที่ถูกใช้งานแพร่หลายที่สุดและทำหน้าที่เป็นไคลเอนต์อ้างอิงในทางปฏิบัติ มีการติดตั้งอื่น ๆ เช่น Bitcoin Unlimited, BCHD (เขียนด้วย Go) และ Knuth (C++ ประสิทธิภาพสูง) การมีหลาย implementation ช่วยลดความเสี่ยงที่บั๊กตัวเดียวจะทำให้เครือข่ายล่มทั้งระบบ และช่วยให้ไม่มีทีมพัฒนาใดทีมหนึ่งมีอำนาจควบคุมโปรโตคอลแบบฝ่ายเดียว
การขุดบน Bitcoin Cash ใช้อัลกอริทึม proof-of-work แบบ SHA-256 เหมือน Bitcoin นั่นหมายความว่าอุปกรณ์ ASIC ชุดเดียวสามารถใช้ขุดทั้งสองเชนได้ และนักขุดสามารถสลับไปมาระหว่าง Bitcoin และ Bitcoin Cash ตามความคุ้มค่า ในทางปฏิบัติ hash rate ของ Bitcoin Cash เป็นเพียงส่วนหนึ่งของ Bitcoin เพราะพลังขุด SHA-256 ส่วนใหญ่จะไหลไปยังเชน Bitcoin ที่มักทำกำไรได้มากกว่า อย่างไรก็ตาม อัลกอริทึมปรับความยากของ Bitcoin Cash ทำให้ยังผลิตบล็อกได้ใกล้เคียงช่วงเวลาเป้าหมายสิบ นาทีแม้ระดับ hash rate จะเปลี่ยนไปมาก
อัลกอริทึมปรับความยากเป็นองค์ประกอบสำคัญของโปรโตคอล Bitcoin Cash การปรับความยากแบบเดิมของ Bitcoin ซึ่งคำนวณใหม่ทุก 2016 บล็อก (ประมาณสองสัปดาห์) ช้าเกินไปต่อความผันผวนของ hash rate ที่เกิดขึ้นเมื่อคนขุดสลับไปมาระหว่างเชน หลังช่วง Emergency Difficulty Adjustment (EDA) ที่มีปัญหาในปี 2017 Bitcoin Cash จึงใช้ алгоритึมใหม่ในเดือนพฤศจิกายน 2017 โดยปรับความยากด้วยหน้าต่างค่าเฉลี่ยเคลื่อนที่ 144 บล็อก
ในเดือนพฤศจิกายน 2020 Bitcoin Cash อัปเกรดเป็นอัลกอริทึม ASERT (Absolutely Scheduled Exponentially Rising Targets) หรือ aserti3-2d ASERT ปรับเป้าความยากโดยดูความต่างระหว่างเวลาจริงที่ผ่านไปกับเวลาที่ควรผ่านไปนับจากบล็อกอ้างอิง (anchor block) หากบล็อกถูกผลิตเร็วกว่าคาด ความยากจะเพิ่มแบบเอ็กซ์โปเนนเชียล หากช้ากว่าคาด ความยากจะลดแบบเอ็กซ์โปเนนเชียล ชื่อ "3-2d" หมายถึง half-life ราวสองวัน (288 บล็อกที่เป้าสิบ นาที) กล่าวคือหาก hash rate เพิ่มเป็นสองเท่าหรือลดครึ่งอย่างต่อเนื่อง ความยากจะปรับได้ครบในราวสองวัน ASERT ถูกพิสูจน์ว่ามีเสถียรภาพสูง ให้ช่วงเวลาบล็อกที่สม่ำเสมอแม้ hash rate ผันผวนมาก
ประสิทธิภาพการกระจายบล็อกมีความสำคัญอย่างยิ่งสำหรับเครือข่ายที่มีบล็อกใหญ่ Bitcoin Cash ใช้การเพิ่มประสิทธิภาพหลายอย่างเพื่อให้บล็อกใหญ่กระจายได้เร็ว Compact Blocks (BIP 152) ช่วยให้โหนดประกอบบล็อกจาก transaction ID แทนการส่งข้อมูลธุรกรรมเต็ม ทำให้ใช้แบนด์วิดท์ลดลงมากเมื่อ mempool มีธุรกรรมซ้อนกัน Graphene ให้การบีบอัดยิ่งกว่าโดยใช้โครงสร้างข้อมูลเชิงความน่าจะเป็นเพื่อเข้ารหัสบล็อกให้ใกล้เคียงเหมาะที่สุด Xthinner เป็นโปรโตคอลบีบอัดอีกแบบที่พัฒนาสำหรับ Bitcoin Cash โดยเฉพาะและให้การบีบอัดสูงมากสำหรับบล็อกทั่วไป
นโยบาย relay และ mempool ถูกออกแบบเพื่อสนับสนุนธุรกรรม zero-confirmation ที่เชื่อถือได้ โหนดใช้กฎ first-seen อย่างเข้มงวด รับและ relay เฉพาะเวอร์ชันแรกของธุรกรรมที่เห็น หากพบธุรกรรมที่สองพยายามใช้จ่ายอินพุตเดียวกัน (double-spend) โหนดจะสร้างหลักฐาน double-spend และกระจายเพื่อแจ้งเตือนผู้ค้าและผู้เกี่ยวข้อง โครงสร้างนี้ช่วยเพิ่มระดับความปลอดภัยที่ “พอสมควร” สำหรับการรับธุรกรรมที่ยังไม่ยืนยันในบริบทการชำระเงินมูลค่าต่ำในชีวิตประจำวัน
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 ถูกออกแบบหลักเป็นระบบเงินสดอิเล็กทรอนิกส์เพียร์ทูเพียร์ แต่ได้พัฒนาความสามารถด้าน smart contract อย่างมีนัยผ่านการขยายภาษา scripting ต่างจากโมเดล smart contract แบบบัญชีและ Turing-complete ของ Ethereum, smart contract บน Bitcoin Cash ทำงานภายในโมเดล UTXO ด้วยภาษา scripting แบบ stack ที่จงใจทำให้ไม่เป็น Turing-complete การออกแบบนี้ให้ต้นทุนการรันที่คาดการณ์ได้และหลีกเลี่ยงช่องโหว่จากการคำนวณที่ไร้ขอบเขต แต่ยังรองรับเครื่องมือทางการเงินที่โปรแกรมได้หลากหลายอย่างน่าประหลาดใจ
ภาษา scripting ของ Bitcoin Cash ถูกพัฒนาอย่างค่อยเป็นค่อยไปผ่านการอัปเกรดโปรโตคอลหลายครั้ง ในเดือนพฤษภาคม 2018 opcode หลายตัวที่ถูกปิดไว้ตั้งแต่ช่วงแรกของ Bitcoin ถูกเปิดใช้อีกครั้ง เช่น ตัวดำเนินการตรรกะระดับบิต (OP_AND, OP_OR, OP_XOR) ตัวดำเนินการคณิตศาสตร์สำหรับจำนวนที่ใหญ่ขึ้น และการจัดการสตริง (OP_SPLIT, OP_CAT) การกลับมาของ opcode เหล่านี้เพิ่มความสามารถในการเขียนสคริปต์ได้มาก
การนำ OP_CHECKDATASIG และ OP_CHECKDATASIGVERIFY มาใช้ในเดือนพฤศจิกายน 2018 เป็นก้าวสำคัญ opcode เหล่านี้ทำให้สคริปต์ตรวจลายเซ็น ECDSA ต่อข้อมูลใด ๆ ได้ ไม่จำกัดแค่ข้อมูลธุรกรรม เปิดทางให้สัญญาแบบ oracle ที่แหล่งข้อมูลภายนอกลงนามข้อความยืนยันเงื่อนไขในโลกจริง (เช่น ราคา สภาพอากาศ หรือผลการแข่งขันกีฬา) และการทำงานของสัญญาจะขึ้นกับเนื้อหาของข้อความนั้น ความสามารถนี้ทำให้เกิดตลาดพยากรณ์แบบกระจายศูนย์ สัญญาประกัน และเครื่องมือทางการเงินอื่นที่พึ่งข้อมูลภายนอกได้
opcode introspection แบบ native ที่เพิ่มในเดือนพฤษภาคม 2022 ทำให้สคริปต์สามารถตรวจดูคุณสมบัติของธุรกรรมที่มันอยู่ภายในได้ สคริปต์สามารถตรวจค่า locking script และข้อมูลโทเคนของทั้งอินพุตและเอาต์พุตในธุรกรรมเดียวกัน ส่งผลให้สร้างสัญญาแบบ covenant ได้ คือสคริปต์ที่จำกัดว่าเหรียญจะถูกใช้จ่ายอย่างไรในอนาคต ไม่ใช่แค่ใครเป็นผู้ใช้จ่าย Covenants ทำให้เกิดแพตเทิร์นทรงพลัง เช่น vault (ข้อจำกัดการใช้จ่ายแบบล็อกเวลาเพื่อความปลอดภัย) การชำระเงินรายงวด ตลาดแลกเปลี่ยนแบบกระจายศูนย์ และการลงคะแนน on-chain
CashScript เป็นภาษา smart contract ระดับสูงสำหรับ Bitcoin Cash คล้ายกับ Solidity บน Ethereum CashScript ให้ผู้พัฒนาเขียนสัญญาด้วยไวยากรณ์ที่คุ้นเคยคล้าย JavaScript แล้วคอมไพล์ลงเป็น bytecode ของสคริปต์ Bitcoin Cash ภาษาและเครื่องมือช่วยจัดการความซับซ้อนของการออกแบบสัญญาในโมเดล UTXO เช่น การ introspection อินพุต/เอาต์พุตและการตรวจลายเซ็น ทำให้เข้าถึงได้สำหรับนักพัฒนาที่ไม่ถนัดการเขียนสคริปต์ระดับต่ำแบบ stack CashScript ถูกใช้สร้างแอปอย่าง DEX, escrow, crowdfunding และอื่น ๆ
การอัปเกรด CashTokens ในเดือนพฤษภาคม 2023 เพิ่มมิติใหม่ให้ smart contract ของ Bitcoin Cash ด้วยการฝังโทเคนแบบ fungible และ NFT เข้าไปในโมเดล UTXO ที่ระดับฉันทามติ CashTokens ทำให้สัญญาที่พึ่งโทเคนถูกบังคับใช้ด้วยกฎฉันทามติ ไม่ใช่โปรโตคอล overlay NFT ใน CashTokens มีฟิลด์ "commitment" ซึ่งเป็นข้อมูลใด ๆ ที่แนบกับโทเคนและสคริปต์สามารถอ่านและตรวจสอบได้ สิ่งนี้สร้างกลไกในการคง state แบบ on-chain ข้ามหลายธุรกรรม ซึ่งก่อนหน้านี้ทำได้ยากในโมเดล UTXO สัญญาสามารถใช้ NFT เป็นตัวพา state และอัปเดต commitment ทุกครั้งเพื่อทำโปรโตคอลหลายขั้นที่ซับซ้อนได้
การผสาน opcode introspection, CashTokens และ CashScript ทำให้เกิดแพลตฟอร์ม smart contract ที่แม้จะต่างจากโมเดลของ Ethereum แต่ก็สามารถสร้างแอปการเงินกระจายศูนย์จำนวนมากได้ ตลาดแลกเปลี่ยนแบบกระจายศูนย์ AMM โปรโตคอลให้กู้ยืม และ DAO ถูกสร้างหรือทดลองบน Bitcoin Cash แล้ว แนวทาง UTXO มีข้อดีเรื่องการทำงานแบบขนาน (UTXO ตรวจสอบได้อิสระ) ความเป็นส่วนตัว (แต่ละ UTXO แยกกัน) และความคาดการณ์ได้ (ไม่มี global state) แต่ต้องใช้แนวคิดการออกแบบที่ต่างจากระบบแบบบัญชี
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 มาเต็มรูปแบบ อุปทานรวมถูกจำกัดที่ 21 ล้านเหรียญ และตารางการออกเหรียญใช้กลไก halving แบบเดียวกับ Bitcoin นโยบายการเงินร่วมกันนี้เป็นผลโดยตรงของการ fork: เพราะ Bitcoin Cash แยกออกจากบล็อกเชน Bitcoin มันจึงเริ่มต้นด้วยประวัติการออกเหรียญเหมือนกันและเดินหน้าตามกฎเดียวกันต่อไป
รางวัลบล็อกเริ่มที่ 50 BCH ต่อบล็อก (สืบทอดจากพารามิเตอร์ genesis ของ Bitcoin) และลดครึ่งทุก 210,000 บล็อก หรือประมาณทุกสี่ปี halving ครั้งแรกเกิดในเดือนพฤศจิกายน 2012 (ก่อน fork จึงเป็นประวัติร่วม) ลดรางวัลเหลือ 25 เหรียญ ครั้งที่สองในเดือนกรกฎาคม 2016 ลดเหลือ 12.5 เหรียญ ครั้งที่สามในเดือนเมษายน 2020 (หลัง fork จึงเฉพาะ Bitcoin Cash) ลดเหลือ 6.25 BCH และครั้งที่สี่ในเดือนเมษายน 2024 ลดลงอีกเป็น 3.125 BCH ต่อบล็อก
ตาราง halving นี้สร้างนโยบายแบบ “ลดอัตราเงินเฟ้อ” ที่อัตราการสร้างเหรียญใหม่ลดลงเรื่อย ๆ และเข้าใกล้ศูนย์แบบค่อยเป็นค่อยไป เหรียญ Bitcoin Cash เหรียญสุดท้ายคาดว่าจะถูกขุดราวปี 2140 ณ จุดนั้นรายได้ของนักขุดจะมาจากค่าธรรมเนียมธุรกรรมทั้งหมด
ขีดจำกัด 21 ล้านและ halving schedule ทำให้ Bitcoin Cash มีคุณสมบัติความขาดแคลนเหมือน Bitcoin อุปทานหมุนเวียนในช่วงต้นปี 2026 อยู่ราว 19.8 ล้าน BCH คิดเป็นมากกว่า 94% ของอุปทานรวมที่จะมีอยู่ทั้งหมด เหรียญที่เหลือจะค่อย ๆ ถูกแจกจ่ายออกมานานกว่าศตวรรษผ่านรางวัลบล็อกที่ลดลง
แนวทางของ Bitcoin Cash ต่อการเปลี่ยนผ่านจากรางวัลบล็อกไปสู่รายได้จากค่าธรรมเนียมแตกต่างจากกลยุทธ์ของ Bitcoin ปรัชญาการขยายของ Bitcoin ที่จำกัดพื้นที่บล็อกเพื่อรักษาตลาดค่าธรรมเนียมมีนัยว่าค่าธรรมเนียมต่อธุรกรรมต้องสูงเพื่อชดเชยนักขุดเมื่อรางวัลลดลง Bitcoin Cash เลือกแนวทางตรงกันข้าม: ทำให้ค่าธรรมเนียมต่ำและบล็อกใหญ่ เพื่อพยายามสร้างรายได้ค่าธรรมเนียมรวมที่เพียงพอจาก “จำนวนธุรกรรมมาก” แทน “ค่าธรรมเนียมต่อธุรกรรมสูง” ในโมเดลนี้ แม้ธุรกรรมหนึ่งรายการจะจ่ายเพียง 1 เซ็นต์ หากเครือข่ายประมวลผลธุรกรรมนับล้านต่อบล็อก รายได้รวมก็อาจมากพอจะจูงใจการขุดได้
โมเดลค่าธรรมเนียมแบบอิงปริมาณนี้ต้องการให้ Bitcoin Cash มี throughput สูงกว่า Bitcoin อย่างมีนัยเพื่อให้ได้แรงจูงใจต่อคนขุดใกล้เคียงในยุคหลัง subsidy ผู้สนับสนุนเชื่อว่าเป็นไปได้ผ่านการขยาย on-chain ต่อเนื่อง เพราะความต้องการการชำระเงินทั่วโลกมีขนาดมหาศาล และแม้จะได้ส่วนแบ่งเล็กน้อยก็อาจหมายถึงธุรกรรมนับล้านต่อวัน นักวิจารณ์โต้แย้งว่าการยอมรับระดับนั้นไม่แน่นอน และโมเดลค่าธรรมเนียมต่ำอาจสร้างแรงจูงใจไม่พอในช่วงเปลี่ยนผ่าน
เพราะ Bitcoin และ Bitcoin Cash ใช้นโยบายการเงินเดียวกัน ทั้งสองเชนจึงแข่งขันกันโดยตรงเพื่อ hash power แบบ SHA-256 นักขุดจะจัดสรรทรัพยากรไปยังเชนที่ทำกำไรได้มากกว่าในแต่ละช่วงเวลา และอัลกอริทึมปรับความยากของทั้งสองเชนจะรองรับการจัดสรรที่ไหลลื่นนี้ ในทางปฏิบัติ สัดส่วน hash rate ของ Bitcoin Cash มักเคลื่อนไหวตามราคาสัมพัทธ์ สะท้อนพฤติกรรมเศรษฐศาสตร์ของนักขุดที่เพิ่มกำไรสูงสุด
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 ดั้งเดิมในฐานะเงินสดอิเล็กทรอนิกส์เพียร์ทูเพียร์ ด้วยการเพิ่มขีดจำกัดขนาดบล็อกและผลักดันการขยายแบบ on-chain Bitcoin Cash รักษาค่าธรรมเนียมต่ำและธุรกรรมรวดเร็วซึ่งเป็นลักษณะของ Bitcoin ในยุคแรก ทำให้เหมาะกับการชำระเงินประจำวันและไมโครทรานแซกชันตามที่ไวท์เปเปอร์ต้นฉบับวาดไว้
ทิศทางเทคนิคของโครงการถูกหล่อหลอมด้วยการปรับปรุงโปรโตคอลที่คิดมาอย่างมีนัย ASERT ทำให้การผลิตบล็อกมีเสถียรภาพภายใต้ความผันผวนของ hash rate ภาษา scripting ที่ได้รับการคืนและเพิ่ม opcode ใหม่ช่วยให้สร้าง smart contract ที่ซับซ้อนได้ภายใต้ข้อจำกัดด้านความปลอดภัยของโมเดล UTXO CashTokens นำการทำโทเคนที่ถูกบังคับใช้ด้วยฉันทามติมาสู่โปรโตคอลแบบ Bitcoin เป็นครั้งแรก CashScript ทำให้ความสามารถเหล่านี้เข้าถึงได้สำหรับนักพัฒนากว้างขึ้น โดยรวมแล้วสิ่งเหล่านี้แสดงว่าโมเดล UTXO สามารถรองรับระบบนิเวศแอปแบบกระจายศูนย์ที่หลากหลายได้โดยยังคงความเรียบง่ายและความปลอดภัยพื้นฐาน
การถกเถียงเรื่อง scaling ที่นำไปสู่การสร้าง Bitcoin Cash สะท้อนความตึงเครียดพื้นฐานของระบบกระจายศูนย์: การแลกเปลี่ยนระหว่างความจุ on-chain กับต้นทุนการรันโหนดเต็ม Bitcoin Cash เลือกให้ความสำคัญกับความจุธุรกรรมและประสบการณ์ผู้ใช้ โดยให้เหตุผลว่าประโยชน์ทางเศรษฐกิจจากการใช้งานกว้างขวางคุ้มกับความต้องการฮาร์ดแวร์ที่สูงขึ้นสำหรับผู้รันโหนด นี่เป็นคำถามเชิงประจักษ์ที่คำตอบจะค่อย ๆ ปรากฏในอีกหลายปีและหลายทศวรรษข้างหน้า เมื่อทั้ง Bitcoin และ Bitcoin Cash เดินหน้าต่อบนเส้นทางของตนเอง
การอยู่รอดและพัฒนาต่อเนื่องของ Bitcoin Cash ผ่านตลาดหมีหลายครั้ง ผ่าน fork ที่ขัดแย้ง (เช่น การแยก Bitcoin SV ในเดือนพฤศจิกายน 2018) และผ่านความพยายามของชุมชนอย่างยืนหยัด แสดงถึงความแข็งแรงของโครงการและความเชื่อมั่นของผู้เข้าร่วม เครือข่ายประมวลผลธุรกรรมหลายร้อยล้านรายการนับตั้งแต่ fork รักษาการทำงานต่อเนื่อง และดึงดูดชุมชนระดับโลกของนักพัฒนา ผู้ค้า และผู้ใช้ที่เชื่อว่าเงินสดอิเล็กทรอนิกส์เพียร์ทูเพียร์เป็นเทคโนโลยีที่ควรสร้างต่อไป
ความสำเร็จระยะยาวของ Bitcoin Cash ขึ้นกับความสามารถในการดึงดูดผู้ใช้และผู้ค้าที่ให้คุณค่ากับธุรกรรมที่เชื่อถือได้และค่าธรรมเนียมต่ำ และขึ้นกับการขยายโครงสร้างพื้นฐานให้รองรับเครือข่ายชำระเงินระดับโลก ฐานเทคนิคมีความแข็งแรง โรดแมปชัดเจน และชุมชนมุ่งมั่น ว่า Bitcoin Cash จะบรรลุเป้าหมายทะเยอทะยานในการเป็นเงินสดอิเล็กทรอนิกส์สำหรับโลกหรือไม่ จะถูกตัดสินไม่ใช่โดยข้อจำกัดทางเทคนิค แต่โดย network effects พลวัตตลาด และรูปแบบการยอมรับที่กำกับวิวัฒนาการของระบบการเงินทั้งหมด
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が最終的に世界のための電子キャッシュという野心的な目標を達成するかどうかは、技術的限界ではなく、すべての貨幣システムの進化を支配するネットワーク効果、市場力学、採用パターンによって決定されるであろう。