กลไกฉันทามติของ Bitcoin หมายถึงความจริงที่ว่า มันเป็นเรื่องยากมาก อย่างน้อยก็ในทางทฤษฎี สำหรับนักขุด (หรือกลุ่มนักขุด) ที่จะพยายามใช้พลังการคำนวณของตนเองเพื่อหลอกลวงหรือก่อวินาศกรรม กลไกฉันทามติของ Bitcoin อาศัยสมมติฐานที่ว่า นักขุดส่วนใหญ่จะรักษาทั้งระบบ Bitcoin โดยการขุดอย่างซื่อสัตย์เพื่อประโยชน์สูงสุดของตนเอง อย่างไรก็ตาม เมื่อมีนักขุดหรือกลุ่มนักขุดที่มีพลังการคำนวณจำนวนมากในระบบ พวกเขาสามารถบรรลุเป้าหมายในการบ่อนทำลายความปลอดภัยและความน่าเชื่อถือของเครือข่าย Bitcoin ได้ด้วยการโจมตีกลไกฉันทามติของ Bitcoin
เป็นที่น่าสังเกตว่า การโจมตีฉันทามติสามารถส่งผลกระทบได้เฉพาะฉันทามติในอนาคตของบล็อกเชนทั้งหมด หรืออย่างมากที่สุดคือฉันทามติของบล็อกไม่กี่บล็อกในอดีตอันใกล้ (ย้อนหลังไปไม่เกิน 10 บล็อก) และเมื่อเวลาผ่านไป โอกาสที่บล็อกเชน Bitcoin ทั้งหมดจะถูกแก้ไขก็จะยิ่งน้อยลงไปเรื่อยๆ ตามทฤษฎีแล้ว การแยกบล็อกเชน (fork) อาจยาวมากได้ แต่ในทางปฏิบัติ พลังการคำนวณที่จำเป็นในการทำให้การแยกบล็อกเชนยาวมากนั้นมีจำนวนมหาศาล และเมื่อบล็อกเชน Bitcoin ทั้งหมดเติบโตขึ้นเรื่อยๆ บล็อกในอดีตจึงแทบจะถือว่าไม่สามารถแก้ไขได้จากการแยกบล็อกเชน นอกจากนี้ การโจมตีฉันทามติไม่ส่งผลกระทบต่อคีย์ส่วนตัวของผู้ใช้ หรืออัลกอริทึมการเข้ารหัส (ECDSA) และการโจมตีฉันทามติก็ไม่สามารถขโมย Bitcoin จากกระเป๋าเงินอื่น ชำระเงิน Bitcoin โดยไม่มีลายเซ็น กระจาย Bitcoin ใหม่ เปลี่ยนธุรกรรมในอดีต หรือเปลี่ยนบันทึกการถือ Bitcoin ได้ ผลกระทบเพียงอย่างเดียวที่การโจมตีฉันทามติสามารถมีได้คือการส่งผลกระทบต่อบล็อกล่าสุด (สูงสุด 10 บล็อก) และส่งผลกระทบต่อการสร้างบล็อกในอนาคตผ่านการปฏิเสธการให้บริการ (Denial of Service)
สถานการณ์ทั่วไปของการโจมตีฉันทามติคือ "การโจมตี 51%" ลองจินตนาการถึงสถานการณ์ที่กลุ่มนักขุดควบคุมพลังการคำนวณ 51% ของเครือข่าย Bitcoin ทั้งหมด และพวกเขาเข้าร่วมกันโดยมีเจตนาที่จะโจมตีระบบ Bitcoin ทั้งหมด เนื่องจากกลุ่มนักขุดนี้สามารถสร้างบล็อกส่วนใหญ่ได้ พวกเขาสามารถสร้างการแยกบล็อกเชนโดยเจตนาเพื่อ "ชำระเงินซ้ำ" (double-pay) หรือบล็อกธุรกรรมเฉพาะ หรือโจมตีที่อยู่กระเป๋าเงินเฉพาะผ่านการปฏิเสธการให้บริการ การโจมตีด้วยการแยกบล็อกเชน/ชำระเงินซ้ำ คือเมื่อผู้โจมตีปฏิเสธธุรกรรมล่าสุดและสร้างบล็อกใหม่ก่อนธุรกรรมนั้นขึ้นมาใหม่ จึงสร้างการแยกบล็อกเชนใหม่และเปิดใช้งานการชำระเงินซ้ำ ด้วยการรับประกันพลังการคำนวณที่เพียงพอ ผู้โจมตีสามารถแก้ไขบล็อกล่าสุดหกบล็อกหรือมากกว่านั้นพร้อมกัน ทำให้ธุรกรรมที่อยู่ในบล็อกเหล่านั้นซึ่งควรจะไม่สามารถแก้ไขได้หายไป เป็นที่น่าสังเกตว่าการชำระเงินซ้ำสามารถทำได้เฉพาะกับธุรกรรมที่เกิดขึ้นในกระเป๋าเงินที่เป็นของผู้โจมตีเท่านั้น เนื่องจากมีเพียงเจ้าของกระเป๋าเงินเท่านั้นที่สามารถสร้างลายเซ็นที่ถูกต้องสำหรับการทำธุรกรรมชำระเงินซ้ำได้ ผู้โจมตีสามารถทำการโจมตีชำระเงินซ้ำได้เฉพาะกับธุรกรรมของตนเองเท่านั้น แต่การโจมตีดังกล่าวจะมีกำไรเมื่อธุรกรรมนั้นสอดคล้องกับการซื้อที่ยังไม่สามารถยกเลิกได้
ลองดูตัวอย่างในโลกแห่งความเป็นจริงของการ "โจมตี 51%" ในบทที่ 1 เราได้พูดถึงธุรกรรมระหว่าง Alice และ Bob เพื่อซื้อกาแฟหนึ่งแก้วโดยใช้ Bitcoin Bob เจ้าของร้านกาแฟ ยินดีที่จะให้กาแฟแก่ Alice เมื่อการโอนเงินของเธอได้รับการยืนยันเป็นศูนย์ เนื่องจากความเสี่ยงของการ "โจมตี 51%" ในธุรกรรมขนาดเล็กเช่นนี้มีน้อยเมื่อเทียบกับความเร่งด่วนในการซื้อของลูกค้า (Alice สามารถรับกาแฟได้ทันที) เช่นเดียวกับร้านกาแฟส่วนใหญ่ที่ไม่เสียเวลาและไม่พยายามขอ ลายเซ็นสำหรับการซื้อด้วยบัตรเครดิตที่มีมูลค่าต่ำกว่า 25 ดอลลาร์ เนื่องจากมีค่าใช้จ่ายสูงกว่าในการขอ ลายเซ็นบัตรเครดิต มากกว่าความเสี่ยงที่ลูกค้าอาจยกเลิกการชำระเงินด้วยบัตรเครดิต ดังนั้น ความเสี่ยงของการชำระเงินซ้ำสำหรับธุรกรรมขนาดใหญ่ที่ชำระด้วย Bitcoin จึงสูงกว่ามาก เนื่องจากผู้ซื้อ (ผู้โจมตี) สามารถยกเลิกธุรกรรมจริงได้ด้วยการเผยแพร่ธุรกรรมปลอมไปทั่วเครือข่าย ที่เหมือนกับ UTXO ของธุรกรรมจริง การชำระเงินซ้ำสามารถทำได้สองวิธี: ไม่ว่าจะเป็นก่อนที่ธุรกรรมจะได้รับการยืนยัน หรือโดยผู้โจมตีผ่านการแยกบล็อกเชน ผู้ที่ทำการโจมตี 51% สามารถยกเลิกธุรกรรมที่บันทึกไว้ในบล็อกเชนเก่า และสร้างธุรกรรมในจำนวนเท่ากันบนบล็อกเชนใหม่ขึ้นมาใหม่ได้ จึงบรรลุการชำระเงินซ้ำ
เพื่อหลีกเลี่ยงการโจมตีประเภทนี้ ผู้ค้าที่ขายสินค้าจำนวนมากควรรอจนกว่าธุรกรรมจะได้รับการยืนยันจากเครือข่ายหกครั้งก่อนที่จะส่งมอบสินค้า หรืออีกทางหนึ่ง ผู้ค้าควรใช้บัญชีที่ใช้ ลายเซ็นหลายลายเซ็น (multi-signature) ของบุคคลที่สามสำหรับธุรกรรม และควรรอจนกว่าบัญชีธุรกรรมจะได้รับการยืนยันจากเครือข่ายหลายครั้งก่อนที่จะส่งมอบสินค้า ยิ่งธุรกรรมได้รับการยืนยันมากเท่าใด ก็ยิ่งยากสำหรับผู้โจมตีที่จะแก้ไขด้วยการโจมตี 51% สำหรับธุรกรรมขนาดใหญ่ การใช้การชำระเงินด้วย Bitcoin นั้นสะดวกและมีประสิทธิภาพสำหรับทั้งผู้ซื้อและผู้ขาย แม้ว่าสินค้าจะถูกจัดส่ง 24 ชั่วโมงหลังการชำระเงิน หลังจาก 24 ชั่วโมง ธุรกรรมจะได้รับการยืนยันจากเครือข่ายอย่างน้อย 144 ครั้ง (ลดโอกาสในการโจมตี 51% ได้อย่างมีประสิทธิภาพ)
นอกเหนือจากการโจมตี "ชำระเงินซ้ำ" แล้ว สถานการณ์การโจมตีอีกประการหนึ่งในการโจมตีฉันทามติคือการปฏิเสธการให้บริการแก่ที่อยู่ Bitcoin ที่เฉพาะเจาะจง ผู้โจมตีที่มีพลังการคำนวณส่วนใหญ่ในระบบสามารถละเว้นธุรกรรมใดธุรกรรมหนึ่งได้อย่างง่ายดาย หากธุรกรรมนั้นมีอยู่ในบล็อกที่สร้างโดยนักขุดอื่น ผู้โจมตีสามารถแยกบล็อกนั้นโดยเจตนา สร้างบล็อกขึ้นมาใหม่ และลบธุรกรรมที่เขาต้องการละเว้นออกจากบล็อก ผลลัพธ์ของการโจมตีนี้คือ ตราบใดที่ผู้โจมตีรายนี้มีพลังการคำนวณส่วนใหญ่ในระบบ เขาสามารถขัดขวางธุรกรรมทั้งหมดที่สร้างโดยที่อยู่กระเป๋าเงินที่เฉพาะเจาะจงหรือกลุ่มที่อยู่ได้อย่างต่อเนื่อง เพื่อวัตถุประสงค์ในการปฏิเสธการให้บริการแก่ที่อยู่เหล่านั้น
โปรดทราบว่า การโจมตี 51% ไม่จำเป็นต้องใช้พลังการคำนวณของผู้โจมตีอย่างน้อย 51% เพื่อเปิดใช้งานตามที่ชื่อบ่งชี้ อันที่จริง มันยังสามารถพยายามเปิดใช้งานการโจมตีดังกล่าวได้ แม้ว่าจะใช้พลังการคำนวณของระบบน้อยกว่า 51% ก็ตาม เหตุผลที่เรียกว่าการโจมตี 51% เป็นเพียงเพราะเมื่อพลังการคำนวณของผู้โจมตีถึงเกณฑ์ 51% ความพยายามในการโจมตีของเขาเกือบจะแน่นอนว่าจะประสบความสำเร็จ โดยพื้นฐานแล้ว การโจมตีฉันทามติก็เหมือนกับระบบที่พลังการคำนวณทั้งหมดของนักขุดถูกแบ่งออกเป็นสองกลุ่ม กลุ่มหนึ่งมีพลังการคำนวณที่ซื่อสัตย์ และอีกกลุ่มหนึ่งมีพลังการคำนวณของผู้โจมตี และทั้งสองกลุ่มกำลังแข่งขันกันเพื่อเป็นกลุ่มแรกในการคำนวณบล็อกใหม่บนบล็อกเชน ยกเว้นว่าพลังการคำนวณของผู้โจมตีจะคำนวณบล็อกที่สร้างขึ้นอย่างระมัดระวัง ซึ่งมีหรือไม่มีธุรกรรมบางอย่าง ดังนั้น ยิ่งพลังการคำนวณของผู้โจมตีมีน้อยเท่าใด โอกาสที่เขาหรือเธอจะชนะการต่อสู้ก็จะยิ่งน้อยลงเท่านั้น ในทางกลับกัน ยิ่งผู้โจมตีมีพลังการคำนวณมากเท่าใด เขาก็ยิ่งสามารถสร้างบล็อกเชนที่แยกออกซึ่งเขาสร้างขึ้นโดยเจตนาได้ยาวนานขึ้น และบล็อกล่าสุดที่อาจถูกแก้ไข หรือบล็อกในอนาคตที่อยู่ภายใต้การควบคุมของเขา กลุ่มวิจัยด้านความปลอดภัยบางกลุ่มได้ใช้แบบจำลองทางสถิติเพื่อสรุปว่าพลังการคำนวณ 30% ของเครือข่ายก็เพียงพอที่จะเปิดใช้งานการโจมตี 51% ได้
การเพิ่มขึ้นอย่างมากของพลังการคำนวณทั่วทั้งเครือข่ายทำให้ระบบ Bitcoin ไม่สามารถถูกโจมตีโดยนักขุดรายเดียวได้อีกต่อไป เนื่องจากนักขุดรายเดียวไม่สามารถครอบครองแม้แต่ 1% ของพลังการคำนวณของเครือข่ายได้อีกต่อไป แต่กลุ่มนักขุดที่ควบคุมจากส่วนกลางทำให้เกิดความเสี่ยงที่ผู้ดำเนินการกลุ่มจะโจมตีเพื่อแสวงหาผลกำไร ผู้ดำเนินการกลุ่มควบคุมการสร้างบล็อกผู้สมัคร และยังควบคุมว่าธุรกรรมใดจะถูกรวมอยู่ในบล็อกที่สร้างขึ้นใหม่ ด้วยวิธีนี้ ผู้ดำเนินการกลุ่มจึงมีอำนาจในการยกเว้นธุรกรรมเฉพาะ หรือการชำระเงินซ้ำ หากอำนาจนี้ถูกใช้ในทางที่ผิดโดยผู้ดำเนินการกลุ่มในลักษณะที่ซับซ้อนและมีมาตรวัด ผู้ดำเนินการกลุ่มก็สามารถเปิดใช้งานการโจมตีฉันทามติและได้รับประโยชน์จากมันโดยไม่ถูกสังเกต
อย่างไรก็ตาม ไม่ใช่ผู้โจมตีทั้งหมดที่แสวงหาผลกำไร สถานการณ์ที่เป็นไปได้คือผู้โจมตีเปิดใช้งานการโจมตีเพียงเพื่อขัดขวางระบบ Bitcoin ทั้งหมด แทนที่จะเพื่อผลกำไร ผู้โจมตีเช่นนี้ที่มุ่งมั่นที่จะขัดขวางระบบ Bitcoin จะต้องมีการลงทุนมหาศาลและการวางแผนอย่างรอบคอบ ดังนั้น จึงเป็นไปได้ว่าการโจมตีดังกล่าวอาจมาจากองค์กรที่ได้รับทุนสนับสนุนจากรัฐบาล ในทำนองเดียวกัน ผู้โจมตีดังกล่าวอาจซื้อเครื่องจักรสำหรับการขุด ดำเนินการกลุ่มนักขุด และดำเนินการโจมตีฉันทามติ เช่น การปฏิเสธการให้บริการ โดยการใช้ในทางที่ผิดกับอำนาจของผู้ดำเนินการกลุ่มดังกล่าวข้างต้น อย่างไรก็ตาม เมื่อพลังการคำนวณของเครือข่าย Bitcoin เติบโตขึ้นแบบทวีคูณและอย่างรวดเร็ว สถานการณ์การโจมตีที่เข้าข่ายความเป็นไปได้ทางทฤษฎีเหล่านี้จึงดำเนินการได้ยากขึ้นเรื่อยๆ การอัปเกรดล่าสุดในระบบ Bitcoin เช่น โปรโตคอลการขุด P2Pool ซึ่งมีเป้าหมายเพื่อกระจายการควบคุมการขุดให้มากขึ้น ก็ทำให้การโจมตีที่เข้าข่ายความเป็นไปได้ทางทฤษฎีเหล่านี้ยากขึ้นเรื่อยๆ เช่นกัน
ไม่ต้องสงสัยเลยว่าการโจมตีฉันทามติอย่างร้ายแรงจะลดความเชื่อมั่นในระบบ Bitcoin ซึ่งในทางกลับกัน อาจนำไปสู่ราคา Bitcoin ที่ตกต่ำ อย่างไรก็ตาม ระบบ Bitcoin และซอฟต์แวร์ที่เกี่ยวข้องก็มีการปรับปรุงอย่างต่อเนื่อง ดังนั้น ชุมชน Bitcoin จึงต้องตอบสนองอย่างรวดเร็วต่อการโจมตีฉันทามติใดๆ เพื่อทำให้ระบบ Bitcoin ทั้งหมดมีความแข็งแกร่งและน่าเชื่อถือยิ่งกว่าที่เคยเป็นมา
