$BCH 2017 · 28 min

Bitcoin Cash: เงินสดอิเล็กทรอนิกส์แบบเพียร์ทูเพียร์สำหรับทั่วโลก

Bitcoin Cash: Peer-to-Peer Electronic Cash for the World

โดย Bitcoin Cash Development Team

โหมดเทียบเคียง PDF bitcoincash.org
16px

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

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 นี้แสดงให้เห็นว่าในระบบกระจายศูนย์ เมื่อความขัดแย้งไม่อาจประนีประนอมได้ วิธีหนึ่งคือให้แต่ละฝ่ายเดินตามวิสัยทัศน์ของตนเอง และปล่อยให้ตลาดเป็นผู้ตัดสินผลลัพธ์ในท้ายที่สุด

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 ในฐานะเงินสดอิเล็กทรอนิกส์เพียร์ทูเพียร์

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

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 จะไม่เชื่อมต่อกันโดยไม่ตั้งใจแม้ใช้พอร์ตเดียวกัน

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 เหมาะกับการชำระเงินหน้าร้านที่การรอสิบ นาทีเพื่อยืนยันบล็อกเป็นสิ่งไม่เหมาะสม

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 มีข้อได้เปรียบจากการเป็นเครือข่ายที่ถูกใช้งานมายาวนาน มีความปลอดภัยสูง ได้รับการสนับสนุนกว้าง และมีประวัติการทำงานต่อเนื่องที่พิสูจน์แล้ว

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 และกระจายเพื่อแจ้งเตือนผู้ค้าและผู้เกี่ยวข้อง โครงสร้างนี้ช่วยเพิ่มระดับความปลอดภัยที่ “พอสมควร” สำหรับการรับธุรกรรมที่ยังไม่ยืนยันในบริบทการชำระเงินมูลค่าต่ำในชีวิตประจำวัน

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) แต่ต้องใช้แนวคิดการออกแบบที่ต่างจากระบบแบบบัญชี

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 มักเคลื่อนไหวตามราคาสัมพัทธ์ สะท้อนพฤติกรรมเศรษฐศาสตร์ของนักขุดที่เพิ่มกำไรสูงสุด

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 พลวัตตลาด และรูปแบบการยอมรับที่กำกับวิวัฒนาการของระบบการเงินทั้งหมด

คำถามที่พบบ่อย

Bitcoin Cash whitepaper คืออะไร?
Bitcoin Cash (BCH) แยกออกจาก Bitcoin เมื่อวันที่ 1 สิงหาคม 2017 เพื่อฟื้นฟูวิสัยทัศน์เดิมของ peer-to-peer electronic cash มันเพิ่มขนาดบล็อกจาก 1MB เป็น 32MB เพื่อให้สามารถดำเนินการธุรกรรมได้มากขึ้นต่อวินาทีและลดค่าธรรมเนียม
Bitcoin Cash แตกต่างจาก Bitcoin อย่างไร?
Bitcoin Cash รองรับบล็อก 32MB (เทียบกับ ~4MB ของ Bitcoin พร้อม SegWit) ไม่ใช้ Segregated Witness และใช้อัลกอริทึมการปรับความยาก ASERT เพื่อให้เวลาบล็อกมีเสถียรภาพมากขึ้น มันให้ความสำคัญกับการขยายขนาดบน chain สำหรับการชำระเงินในชีวิตประจำวัน
ใครสร้าง Bitcoin Cash และเมื่อใด?
Bitcoin Cash ถูกสร้างเมื่อวันที่ 1 สิงหาคม 2017 ผ่านการ hard fork จาก Bitcoin ผู้สนับสนุนหลักรวมถึง Roger Ver และทีมพัฒนา Bitcoin ABC ที่สนับสนุนบล็อกขนาดใหญ่เพื่อเพิ่มความจุธุรกรรมและลดค่าธรรมเนียม
แนวทางทางเทคนิคหลักของ Bitcoin Cash คืออะไร?
Bitcoin Cash ดำเนินการขยายขนาดบน chain โดยเพิ่มขนาดบล็อกแทนการพึ่งพาโซลูชันนอก chain เช่น Lightning Network บล็อก 32MB สามารถประมวลผลได้มากกว่า 100 ธุรกรรมต่อวินาที เทียบกับ ~7 TPS ของ Bitcoin
ฉันทามติของ Bitcoin Cash ทำงานอย่างไร?
Bitcoin Cash ใช้ SHA-256 proof-of-work เช่นเดียวกับ Bitcoin พร้อมอัลกอริทึมการปรับความยาก ASERT (Absolutely Scheduled Exponentially Rising Targets) ที่คำนวณความยากใหม่ทุกบล็อกเพื่อการปรับที่ตอบสนองมากขึ้น
โมเดลอุปทานของ Bitcoin Cash เป็นอย่างไร?
Bitcoin Cash มีโมเดลอุปทานเดียวกับ Bitcoin ได้แก่ ขีดจำกัด 21 ล้านเหรียญพร้อมรางวัลบล็อกที่ลดลงครึ่งหนึ่งทุก ~210,000 บล็อก (~4 ปี) BCH ตามตารางการ halving เดียวกันเนื่องจากมี genesis block เดียวกันกับ Bitcoin
Bitcoin Cash มีกรณีการใช้งานหลักอะไรบ้าง?
Bitcoin Cash มุ่งเน้นการเป็นสื่อกลางการแลกเปลี่ยนสำหรับธุรกรรมในชีวิตประจำวัน ค่าธรรมเนียมต่ำ (โดยปกติต่ำกว่า $0.01) และการยืนยันที่รวดเร็วทำให้เหมาะสำหรับการชำระเงิน ณ จุดขาย การส่งเงิน และ microtransaction
Bitcoin Cash แก้ปัญหาอะไร?
Bitcoin Cash แก้ปัญหาการถกเถียงเรื่องความสามารถในการขยายขนาดของ Bitcoin โดยเลือกบล็อกขนาดใหญ่เพื่อปริมาณงานที่สูงขึ้น มันมุ่งหมายที่จะบรรลุวิสัยทัศน์เดิมของ Bitcoin whitepaper เรื่อง 'peer-to-peer electronic cash' ด้วยค่าธรรมเนียมที่ต่ำพอสำหรับธุรกรรมรายวัน
โมเดลความปลอดภัยของ Bitcoin Cash ทำงานอย่างไร?
Bitcoin Cash ใช้ SHA-256 proof-of-work ร่วมกับอัลกอริทึมการขุดเดียวกับ Bitcoin อย่างไรก็ตาม BCH มี hash power น้อยกว่า BTC อย่างมีนัยสำคัญ ทำให้เสี่ยงต่อการโจมตี 51% มากขึ้น การปรับความยาก ASERT ช่วยรักษาการสร้างบล็อกให้มีเสถียรภาพ
สถานะปัจจุบันของระบบนิเวศ Bitcoin Cash เป็นอย่างไร?
Bitcoin Cash รักษาระบบนิเวศที่กระตือรือร้นโดยมุ่งเน้นการยอมรับจากพ่อค้าและการชำระเงิน รองรับ CashTokens (token แบบ fungible และ NFT) CashFusion สำหรับความเป็นส่วนตัว และได้รับการยอมรับจากพ่อค้าจำนวนมากทั่วโลกผ่านผู้ประมวลผลการชำระเงินเช่น BitPay