ผู้เขียน: เจมสัน ลอปป์
ผู้เขียน: เจมสัน ลอปป์

แปลและพิสูจน์อักษร: Min Min & A Jian
การโต้เถียงมักเกิดขึ้นเมื่อผู้คนพูดถึงกลไกที่เป็นเอกฉันท์ของสกุลเงินดิจิทัลต่างๆ ส่วนใหญ่เป็นเพราะขาดความเข้าใจ (คำจำกัดความ) ของรูปแบบการรักษาความปลอดภัยที่สกุลเงินดิจิทัลเหล่านี้ใช้เพื่อปกป้องข้อมูลประวัติของบัญชีแยกประเภท แม้ว่าแบบจำลองที่เป็นเอกฉันท์ทั้งหมดได้รับการออกแบบมาเพื่อป้องกันการโจมตีทางทฤษฎีต่างๆ สิ่งสำคัญคือต้องเข้าใจวัตถุประสงค์ของแบบจำลองเหล่านี้
รูปแบบการรักษาความปลอดภัยสามารถแบ่งออกเป็นสองส่วน: ข้อสันนิษฐาน (สมมติฐาน) และการรับประกัน (การรับประกัน) หากสมมติฐานที่ใช้เป็นข้อมูลนำเข้า การรับประกันผลลัพธ์ของแบบจำลองความปลอดภัยก็ควรมีผลเช่นกัน
มาสำรวจเชิงลึกเกี่ยวกับรูปแบบการรักษาความปลอดภัยที่ Bitcoin มอบให้กับผู้ให้บริการโหนดเต็มรูปแบบ
แสวงหาความจริง
“การลดความต้องการความไว้วางใจระหว่างผู้ใช้เป็นหนึ่งในจุดแข็งของ Bitcoin โดยส่วนตัวแล้วฉันคิดว่านี่เป็นจุดแข็งที่ใหญ่ที่สุดของ Bitcoin” — Pieter Wuille
บัญชีแยกประเภทแบบกระจายได้รับการออกแบบมาเพื่อให้บันทึกเหตุการณ์ตามลำดับ เนื่องจากในระบบแบบกระจาย คุณไม่สามารถเชื่อถือการประทับเวลาเพียงอย่างเดียวได้
เมื่อผู้เข้าร่วมใหม่เข้าร่วมเครือข่ายบล็อกเชนเป็นครั้งแรก พวกเขาจะดาวน์โหลดบล็อกที่มีอยู่ทั้งหมดโดยเริ่มจากบล็อกเจเนซิสที่ฮาร์ดโค้ดในซอฟต์แวร์ จากนั้นจึงตรวจสอบความถูกต้องของบล็อกเชนทั้งหมด
หนึ่งในข้อสันนิษฐานที่สำคัญที่สุดของโมเดลความปลอดภัย Bitcoin คือนักขุดส่วนใหญ่มีความซื่อสัตย์ พวกเขาทำงานอย่างหนักเพื่อรักษาความปลอดภัยให้กับบล็อกเชน ไม่ใช่พยายามทำลายมัน อันที่จริง ตลอดประวัติศาสตร์การพัฒนาของ Bitcoin ต้องขอบคุณกลไกจูงใจการขุดที่มีประสิทธิภาพ สมมติฐานนี้ยังไม่ถูกทำลาย แม้ว่าบางคนสงสัยว่าจะสามารถรักษาไว้ได้นานหรือไม่
ด้วยสมมติฐานนี้ ผู้ประกอบการโหนดทั้งหมดสามารถมั่นใจได้ว่า:
ไม่มีใครนอกจากนักขุดเท่านั้นที่สามารถออก bitcoins เพิ่มเติมได้ และอุปทานของ bitcoins จะเพิ่มขึ้นอย่างเคร่งครัดตามกำหนดการออก
ไม่สามารถใช้ bitcoins ที่เกี่ยวข้องได้หากไม่มีรหัสส่วนตัว
ภายใต้การรับประกันที่แข็งแกร่งของ Bitcoin blockchain ผู้ประกอบการโหนดทั้งหมดยังสามารถมั่นใจในสองประเด็นต่อไปนี้:
บล็อก Bitcoin ใด ๆ จะถูกสร้างขึ้นภายในเวลาประมาณสองชั่วโมงของการประทับเวลา
ในทางเทคนิคแล้ว บล็อค Bitcoin ต้องผ่านการตรวจสอบมากมาย:
บล็อกทั้งหมดปฏิบัติตามกฎฉันทามติ:
แต่ละบล็อกเชื่อมต่อกับบล็อกหลัก
ทุกบล็อกถึงค่าความยากเป้าหมายและมีหลักฐานการทำงานเพียงพอ
การประทับเวลาของบล็อกอยู่ภายในกรอบเวลาจากบล็อกล่าสุดล่าสุด
Merkle root ตรงกับการทำธุรกรรมที่บันทึกไว้ในบล็อก
ขนาดบล็อกไม่เกินขีดจำกัดบน
ธุรกรรมแรก (และครั้งแรกเท่านั้น) ของแต่ละบล็อกคือธุรกรรมฐานเหรียญ
เอาต์พุตของ Coinbase ไม่เกินรางวัลบล็อก
การดำเนินการลายเซ็นที่มีอยู่ในบล็อกไม่เกินช่วงการอนุญาต
ธุรกรรมทั้งหมดเป็นไปตามกฎฉันทามติ:
ค่าอินพุตและเอาต์พุตทั้งสองมีความสมเหตุสมผล
ธุรกรรมใช้จ่ายเฉพาะส่วนที่ยังไม่ได้ใช้
อินพุตทั้งหมดที่จะใช้มีลายเซ็นที่ถูกต้อง
ภายใน 100 บล็อกหลังจากสร้างธุรกรรม coinbase จะไม่สามารถใช้เอาต์พุตของธุรกรรม coinbase ได้
เมื่อธุรกรรมยังคงอยู่ในหน้าต่างยืนยันการบล็อก จะไม่สามารถใช้จ่ายเอาต์พุตได้
ไม่มีใครสามารถใช้ bitcoin เดียวกันได้สองครั้ง
สิ่งที่พวกเขากำลังซิงค์คือประวัติ blockchain "จริง"
พื้นที่มีจำกัด และกฎที่เหลือจะไม่ทำซ้ำ
ความปลอดภัยทางอุณหพลศาสตร์
ตราบใดที่ไม่มีผู้โจมตีใดมีอำนาจในการประมวลผลมากกว่า 50% ของเครือข่ายทั้งหมด และโหนดที่ซื่อสัตย์สามารถสื่อสารได้อย่างรวดเร็ว ความน่าจะเป็นของการย้อนกลับของธุรกรรมจะลดลงแบบทวีคูณตามจำนวนการยืนยันธุรกรรม การโจมตีประเภทอื่นๆ (เช่น การทำเหมืองแบบเห็นแก่ตัว) ไม่ต้องการพลังงานสูงเช่นนี้ แต่ดำเนินการได้ยาก
คำอธิบายภาพ
รูปภาพ
คำอธิบายภาพ
- ที่มา: http://bitcoin.sipa.be -
ลองคำนวณต้นทุนของการโจมตี 51%:
10^26 hash * 0.1 J / 10^9 hash = 10^15 J
10^15 J = 2,777,777,778 kw/h * $0.10 kw/h = $277,777,การใช้พลังงานของเครื่องขุด Antminer S9 คือ 0.1 J/GH (แฮช 10^9)
778 (ค่าไฟฟ้าในการเขียนบล็อกเชนใหม่ทั้งหมด)
253,618,246,641 * 2^48 / 65535 = 1.09 * 10^21 hash
1.09 * 10^21 hash * 0.1 J / 10^9 hash = 1.09 * 10^11 J
1.09 * 10^11 J = 30,278 kw/h * $0.10 kw/h = $3,ในขณะที่เขียนนี้ บล็อกจะต้องถึงค่าความยากเป้าหมายที่ 253,618,246,641 ซึ่งใช้เวลาประมาณ:
028 (ค่าไฟฟ้าที่จำเป็นในการสร้างแต่ละบล็อก)
ดังนั้นเราจึงสามารถพูดได้ว่า Bitcoin มีความปลอดภัยทางอุณหพลศาสตร์
คุณสามารถปรับตัวแปรบางอย่างในการคำนวณด้านบนเพื่อลดต้นทุน แต่เรามั่นใจได้ว่าเพียงแค่การเขียนบล็อกเชนใหม่ทั้งหมดจะต้องใช้ไฟฟ้ามูลค่าหลายล้านดอลลาร์ อย่างไรก็ตาม ในสถานการณ์ที่เลวร้ายที่สุด ผู้โจมตีที่มีพลังการประมวลผลที่ทรงพลังสามารถย้อนการทำธุรกรรมกลับไปเป็นปี 2014 ได้ เราจะมาเจาะลึกถึงสาเหตุในเร็วๆ นี้
โปรดทราบว่าต้นทุนที่จำเป็นในการซื้อและใช้งานอุปกรณ์ขุดจะไม่ถูกนำมาพิจารณาด้วย
การโจมตีต่อต้านซีบิล
สิ่งนี้เรียกอีกอย่างว่าการโจมตีแบบต่อต้านซีบิล ซึ่งหมายความว่าผู้โจมตีไม่สามารถให้ข้อมูลเท็จแก่โหนดเพียร์บางโหนดได้โดยการเรียกใช้โหนดเพียร์ที่ไม่ซื่อสัตย์หลายโหนด
รูปภาพ
กราฟด้านบนแสดงสถานการณ์ที่ใกล้เคียงที่สุด: โหนดของคุณประสบกับการโจมตีของซีบิลครั้งใหญ่ แต่ยังคงเชื่อมต่อกับโหนดที่ซื่อสัตย์ซึ่งโหนดสามารถเชื่อมต่อกับบล็อกเชนจริงได้ ตราบใดที่มีเพียร์ที่ซื่อสัตย์ส่งข้อมูลบล็อกเชนจริงไปยังโหนดเต็มของคุณ โหนดของคุณจะเห็นผ่านความพยายามของซีบิลที่จะหลอกลวงคุณและเพิกเฉยต่อสิ่งเหล่านั้น
ฉันทามติตามเวลาจริง
เมื่อโหนดของคุณถูกซิงโครไนซ์กับด้านบนของบล็อกเชน คุณจะพบว่าโปรโตคอล Bitcoin รักษาฉันทามติทั่วทั้งเครือข่ายผ่านคุณสมบัติที่น่าสนใจอื่นๆ
ผู้เขียน "มุมมองการวิจัยและความท้าทายของ Bitcoin และ Cryptocurrencies อื่น ๆ " ชี้ให้เห็นว่าคุณสมบัติต่อไปนี้มีความสำคัญอย่างยิ่งต่อความเสถียรของ cryptocurrencies:
ฉันทามติขั้นสุดท้าย ณ จุดใดเวลาหนึ่ง โหนดทั้งหมดตามกฎจะต้องบรรลุฉันทามติในบล็อกล่าสุดของบล็อกเชนสุดท้ายที่ "ถูกต้องตามกฎหมาย"
การบรรจบกันแบบเอกซ์โปเนนเชียล ความน่าจะเป็นของทางแยกที่ความลึก n คือ O(2−n) สิ่งนี้ช่วยให้ผู้ใช้เชื่อมั่นว่าธุรกรรมของพวกเขาสามารถชำระได้อย่างถาวรหลังจาก "k ยืนยัน"
คล่องแคล่ว. บล็อกใหม่ถูกสร้างขึ้นอย่างต่อเนื่อง และธุรกรรมที่ถูกต้องซึ่งจ่ายค่าธรรมเนียมการทำธุรกรรมที่เหมาะสมนั้นจะได้รับการบรรจุบนเครือข่ายภายในระยะเวลาที่เหมาะสม
ความถูกต้อง ธุรกรรมทั้งหมดที่อยู่ในบล็อกนั้นใช้ได้ในห่วงโซ่ที่มีหลักฐานการทำงานสะสมมากที่สุด
ความยุติธรรม นักขุดที่มี X % ของกำลังการประมวลผลทั้งหมดของเครือข่ายทั้งหมดสามารถขุดได้ประมาณ X % ของบล็อก
ผู้เขียนชี้ให้เห็นว่า Bitcoin มีคุณสมบัติข้างต้น อย่างน้อยก็สมมติว่านักขุดส่วนใหญ่มีความซื่อสัตย์ นี่คือเป้าหมายของการบล็อกรางวัลและกลไกพิสูจน์การทำงาน
มีอัลกอริทึมอื่น ๆ อีกมากมายที่สามารถใช้เพื่อรักษาฉันทามติในระบบแบบกระจาย เช่น:
หลักฐานการเดิมพัน (PoS)
หลักฐานอายุเหรียญ
หลักฐานการฝากเงิน
หลักฐานการเผา
หลักฐานกิจกรรม
หลักฐานของเวลาที่ผ่านไป
ฉันทามติสหพันธ์
อัลกอริธึมข้างต้นสร้างรูปแบบการรักษาความปลอดภัยที่แตกต่างกัน - ความแตกต่างที่ชัดเจนที่สุดจาก Proof of Work คือระบบที่ใช้อัลกอริทึมเหล่านี้ล้วนใช้ทรัพยากรภายใน (เหรียญหรือชื่อเสียง) มากกว่าทรัพยากรภายนอก (ไฟฟ้า) เพื่อให้บรรลุฉันทามติ ผลที่ตามมาคือ ระบบเหล่านี้มีสิ่งจูงใจและความต้องการความไว้วางใจที่แตกต่างกันสำหรับตัวตรวจสอบความถูกต้องในเครือข่าย ซึ่งเปลี่ยนรูปแบบการรักษาความปลอดภัยไปอย่างมาก
ความเข้าใจผิดเกี่ยวกับรูปแบบความปลอดภัย
ความเข้าใจผิดเกี่ยวกับรูปแบบความปลอดภัย
ความเข้าใจผิดที่พบบ่อยคือ Bitcoin มีรูปแบบความปลอดภัยที่ชัดเจน
อันที่จริงแล้ว ทั้งโปรโตคอล Bitcoin หรือในปัจจุบันต่างก็ไม่มีข้อกำหนดหรือรูปแบบความปลอดภัยที่กำหนดไว้อย่างเป็นทางการ สิ่งที่ดีที่สุดที่เราสามารถทำได้คือการศึกษาแรงจูงใจและพฤติกรรมของผู้เข้าร่วมระบบ เพื่อที่จะเข้าใจและอธิบายรูปแบบการรักษาความปลอดภัยของ Bitcoin ได้ดียิ่งขึ้น
อย่างไรก็ตาม คุณลักษณะบางอย่างของโปรโตคอล Bitcoin มักจะถูกเข้าใจผิด
บล็อกเชนบางตัวมีความเสี่ยงร้ายแรงเนื่องจากนักพัฒนาเพิ่มจุดตรวจสอบที่ลงนามโดยพลการในซอฟต์แวร์โหนด โดยกล่าวว่า "นักพัฒนาได้ยืนยันว่าบล็อก X อยู่ในห่วงโซ่ที่ถูกต้อง" นี่เป็นเพียงจุดเดียวของปัญหาที่มีการรวมศูนย์อย่างสุดโต่ง
6,119,726,089 * 2^48 / 65535 = 2.62 * 10^19 hash
2.62 * 10^19 hash * 0.1 J / 10^9 hash = 2.62 * 10^9 J
เป็นมูลค่าการกล่าวขวัญว่า Bitcoin มีจุดตรวจสอบฮาร์ดโค้ด 13 จุด แต่จุดตรวจเหล่านี้ไม่ได้เปลี่ยนรูปแบบความปลอดภัยมากเท่ากับการตั้งจุดตรวจโดยพลการ จุดตรวจสอบสุดท้ายถูกเพิ่มใน Bitcoin Core 0.9.3 ที่ความสูงของบล็อก 295,000 (สร้างเมื่อวันที่ 9 เมษายน 2014) ค่าความยากของบล็อกนี้คือ 6,119,726,089 และค่าไฟฟ้าที่ต้องใช้จะอยู่ที่ประมาณ:
2.62 * 10^9 J = 728 กิโลวัตต์/ชั่วโมง * 0.10 ดอลลาร์กิโลวัตต์/ชั่วโมง = 73 ดอลลาร์ (ค่าไฟฟ้าที่ต้องใช้ในการสร้างบล็อกนี้)
ดังนั้น หาก Sybil ป้องกันโหนดที่เข้าร่วมใหม่ (ซึ่งจำเป็นต้องซิงค์ตั้งแต่เริ่มต้น) การสร้างบล็อกเชนที่สั้นลงโดยความสูงของบล็อกที่ต่ำกว่านั้นแทบจะไม่มีค่าใช้จ่ายเลย แต่จะต้องไม่เกินจุดตรวจ
หาก Sybil แยกโหนดจากเครือข่ายที่ซิงค์ความสูงของบล็อกในอดีตที่ 295,000 โหนดดังกล่าวอาจเริ่มให้บริการบล็อกปลอมในราคา 73 ดอลลาร์ต่อบล็อก อย่างน้อยก็จนกว่าจะมีการปรับเปลี่ยนความยาก อย่างไรก็ตาม ยิ่งห่วงโซ่ที่โหนดของเหยื่อซิงค์ไปนานเท่าใด ผู้โจมตีก็จะยิ่งมีราคาแพงในการสร้างห่วงโซ่ที่มีหลักฐานการทำงานที่สะสมมากขึ้น
ทั้ง Greg Maxwell และ Pieter Wuille กล่าวว่าพวกเขาหวังว่าจะลบจุดตรวจโดยสิ้นเชิงในสักวันหนึ่ง Wladimir van der Laan หัวหน้าฝ่ายบำรุงรักษาของ Bitcoin Core ตั้งข้อสังเกตว่าจุดตรวจมักจะสร้างความสับสนให้กับผู้ที่ต้องการเข้าใจรูปแบบความปลอดภัยของ Bitcoin
อาจเป็นไปได้ว่าจุดตรวจสอบที่ความสูงของบล็อก 295,000 หมายความว่าโหนดทั้งหมด "เชื่อ" ที่นักพัฒนา Bitcoin Core กล่าวว่าบล็อกก่อนวันที่ 9 เมษายน 2014 นั้นถูกต้อง อย่างไรก็ตาม โหนดแบบเต็มจะยังคงตรวจสอบค่าแฮชของ Merkle ในแต่ละส่วนหัวของบล็อก นั่นคือ ความถูกต้องของประวัติการทำธุรกรรมยังคงได้รับการคุ้มครองโดยหลักฐานการทำงาน จุดตรวจแบบเก่าเหล่านี้สามารถปรับปรุงประสิทธิภาพ (ข้ามการตรวจสอบลายเซ็น) เมื่อซิงค์ประวัติบล็อกเชนเป็นครั้งแรก แม้ว่าการเปิดตัว libsecp256k1 จะทำให้ประสิทธิภาพการทำงานแตกต่างกันน้อยลง
จุดตรวจมีไว้เพื่อจุดประสงค์หลักสามประการ:
ป้องกันไม่ให้หน่วยความจำของโหนดเต็มด้วยส่วนหัวของบล็อกที่พิสูจน์ได้ แต่ต่ำ
ข้ามลายเซ็นในบล็อกก่อนหน้า (ปรับปรุงประสิทธิภาพ)
รูปภาพ
คำอธิบายภาพ
- ที่มา: Blockchain.info -
1.16 * 10^20 hash * 0.1 J / 10^9 hash = 1.16 * 10^10 J
1.16 * 10^10 J = 3,เมื่อค่าความยากคือ 27,000,000,000 การขุดจำเป็นต้องคำนวณฟังก์ชันแฮชประมาณ 27,000,000,000 * 2^48 / 65535 = 1.16 * 10^20
222 กิโลวัตต์ต่อชั่วโมง * 0.10 กิโลวัตต์ต่อชั่วโมง = 322 ดอลลาร์สหรัฐฯ (ค่าไฟฟ้าเฉลี่ยที่ต้องใช้ในการสร้างแต่ละบล็อก)
(ยังไม่เสร็จ)
(ยังไม่เสร็จ)
ลิงค์ต้นฉบับ:
https://blog.lopp.net/bitcoins-security-model-a-deep-dive/


