สินค้าแห้ง: เกี่ยวกับสิทธิและฉันทามติ
หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: ethfans)พิมพ์ซ้ำโดย Odaily โดยได้รับอนุญาต
ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)https://download.wpsoftware.net/bitcoin/old-pos.pdfเปิดขึ้น
ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)
พิมพ์ซ้ำโดย Odaily โดยได้รับอนุญาต
หมายเหตุ: เอกสารนี้ได้รับการแก้ไขในสาระสำคัญในเดือนมีนาคม 2558 เวอร์ชั่นเก่าได้ที่
เปิดขึ้น
1. บทนำ
ในปี 2009 Satoshi Nakamoto ได้สร้าง Bitcoin [Nak09] Bitcoin เป็นระบบสกุลเงินอินเทอร์เน็ตที่ช่วยให้สามารถโอนโทเค็นดิจิทัลแบบเพียร์ทูเพียร์ได้ เพื่อให้แน่ใจว่าทุกคนมีฉันทามติในการเป็นเจ้าของโทเค็น Satoshi ใช้บัญชีแยกประเภทสาธารณะที่ผู้เข้าร่วมเครือข่ายทั้งหมดจำลองและตรวจสอบได้ บัญชีแยกประเภทจะได้รับการรับรองความถูกต้องโดยใช้กลไกลายเซ็นสมาชิกหลายฝ่ายแบบไดนามิก (DMMS) [BCD+14] นั่นคือ ประวัติบัญชีแยกประเภททั้งหมดจะถูกดำเนินการหนึ่งครั้งในแต่ละ "ฮาร์ทบีท" ค่าใช้จ่ายในการคำนวณสูง ( แต่ต้นทุนการตรวจสอบต่ำ)
ไม่เหมือนกับลายเซ็นดิจิทัลแบบดั้งเดิม ไม่มีแนวคิดเรื่อง "การปลอมแปลง" สำหรับ DMMS ใน DMMS DMMS แต่ละรายการมีราคาแพงในการสร้าง (ใน Bitcoin ค่าไฟฟ้าสูง) และพฤติกรรมนี้สามารถให้รางวัลเป็นเหรียญใหม่ที่ออกในบัญชีแยกประเภท เนื่องจากโทเค็นใหม่เหล่านี้ต้องได้รับการรับรองจากผู้อื่นจึงจะเป็นประโยชน์ ผู้เข้าร่วมจึงได้รับการจูงใจให้ขยาย "บัญชีแยกประเภทที่แท้จริง" ร่วมกันแทนที่จะสร้างบัญชีแยกประเภทเอง1 (หมายเหตุผู้แปล: ข้อความดั้งเดิมของคำว่า "การรับรู้" ในที่นี้คือ "รับรู้" ซึ่งหมายความว่าความหมายดั้งเดิมอาจไม่มีนัยของ "ฉันทามติทางสังคม" มากนัก และตัวมันเองอาจมีความหมายทางเทคนิคที่เคร่งครัด: หากคุณทำเช่นนั้น ไม่ยอมรับการบล็อก คุณจะไม่อนุมัติสกุลเงินที่ออกโดยบล็อกนี้)
เนื่องจาก DMMS ของ Bitcoin มีราคาแพงในทางคำนวณและทางอุณหพลศาสตร์ [Poe14a] จึงมีการเสนอทางเลือกอื่นที่ประหยัดและเป็นมิตรต่อสิ่งแวดล้อมมากขึ้น โซลูชันที่เสนอกันมากที่สุดคือ PoS (Proof of Stake) ซึ่งเป็นกลไกฉันทามติแบบกระจายต้นทุนต่ำ ดังที่ Andrew Poelstra [Poe14b] ระบุไว้ในปี 2014 ว่า PoS ไม่สามารถทำได้ แต่มีรูปแบบของ PoS หลายรูปแบบเกิดขึ้น ในขณะเดียวกัน ข้อโต้แย้งของ Poelstra มักจะอ้างว่าเป็น "เท็จ" หรือ "เท็จ" ในฟอรัมต่างๆ แม้ว่าพวกเขาจะไม่เคยแสดงตัวอย่างโต้แย้งหรือข้อผิดพลาดที่น่าเชื่อถือเลยก็ตาม นอกจากนี้ บางคนให้ความเห็นที่เกี่ยวข้องว่ากระดาษของ Poelstra เขียนคลุมเครือและน่าเบื่อ จะเห็นได้ว่าบทความนี้ยังมีข้อบกพร่องอยู่มาก แม้ว่า Poelstra ไม่พบความไม่ถูกต้องในงานก่อนหน้าของเขา แต่เขาพร้อมที่จะใช้โอกาสนี้ในการโต้แย้งอย่างเป็นทางการต่อไป
ความเข้าใจทางวิทยาศาสตร์เกี่ยวกับฉันทามติของ Bitcoin มีมาไกลตั้งแต่ Poelstra เขียนรายงานของเขา [MLJ14, BMC+15]
บทความนี้มีวัตถุประสงค์เพื่ออัปเดตวิทยานิพนธ์ของ Poelstra เพื่อให้เข้าใจถึงปัญหาที่ Bitcoin แก้ปัญหาได้ เหตุผลในการออกแบบที่อยู่เบื้องหลัง PoS และเหตุใดกลไกอย่าง PoS จึงไม่สามารถสร้างฉันทามติแบบกระจายภายในโมเดลความน่าเชื่อถือของ Bitcoin ได้
หมายเหตุ 1: เพื่อให้แน่ใจว่าผู้เข้าร่วมทั้งหมดสามารถเห็น "บัญชีแยกประเภทจริง" เราจำเป็นต้องมีเครือข่ายแบบซิงโครนัส: ข้อมูลทั้งหมด (ที่ถูกต้อง) สามารถเข้าถึงผู้เข้าร่วมทั้งหมดภายในระยะเวลาหนึ่ง λ และเวลาการเต้นของหัวใจของเครือข่ายนานกว่า λ มาก หากไม่มีเครือข่ายที่ซิงโครไนซ์ ฉันทามติแบบกระจายจะทำได้ยากกว่ามาก (หนึ่งในข้อสรุปที่มักอ้างถึงคือ ฉันทามติแบบกระจายนั้นเป็นไปไม่ได้ด้วยอัลกอริธึมเชิงกำหนด [FLP85]; ปัญหานี้หลีกเลี่ยงได้ง่ายด้วยอัลกอริทึมความน่าจะเป็น ดังนั้นจึงไม่มีการอภิปรายกันมากนักเกี่ยวกับความยากในการออกแบบระบบฉันทามติ เวอร์ชันเก่าของเอกสารนี้อ้างอิงผิด ข้อสรุปนี้เนื่องจากคิดว่าสิ่งนี้ทำให้เป็นไปไม่ได้สำหรับกลไกฉันทามติแบบกระจายทั้งหมดในเครือข่ายอะซิงโครนัส ขอบคุณ Dominic Williams ที่ชี้ให้เห็นสิ่งนี้)
2. ฉันทามติกระจาย
ก่อนที่จะพูดถึงวิธีแก้ปัญหาของ Bitcoin ต่อปัญหาฉันทามติแบบกระจาย เราต้องเข้าใจธรรมชาติของปัญหาก่อน ฉันทามติแบบกระจาย (คำที่ใช้โดยระบบ Bitcoin) คือฉันทามติ (เช่น ข้อตกลงระดับโลก) ระหว่างฝ่ายที่ขาดความไว้วางใจซึ่งกันและกัน บุคคลเหล่านี้ไม่ระบุตัวตนและไม่จำเป็นต้องมีอยู่จริงเมื่อสร้างระบบ ดังที่ Poelstra อธิบายไว้ในเอกสารของเขา:
ในกรณีของ cryptocurrencies ก็เพียงพอที่จะบรรลุฉันทามติแบบกระจายตามลำดับเวลาของธุรกรรมเท่านั้น เช่น "ฉันทามติในการทำธุรกรรมครั้งแรกเพื่อโอนเงินจำนวนหนึ่ง" สิ่งนี้ทำให้มั่นใจได้ว่าเครือข่ายทั้งหมดรู้จักเจ้าของเงินรายใหม่
เหตุผลที่จำเป็นต้องมีฉันทามตินี้เพื่อป้องกันการใช้จ่ายซ้ำซ้อน ในกลไกสกุลเงินดิจิทัลแบบกระจายอำนาจทั้งหมด เป็นไปได้ที่ผู้ชำระเงินจะส่งเงินเดียวกันให้กับบุคคลสองคนที่แตกต่างกัน และธุรกรรมทั้งสองดูเหมือนจะถูกต้อง ดังนั้นผู้รับเงินจำเป็นต้องสามารถตรวจสอบให้แน่ใจว่าไม่มีความขัดแย้งเกิดขึ้น หรือในกรณีที่เกิดความขัดแย้ง เครือข่ายจะรับรู้ธุรกรรมว่าเป็นเวอร์ชันที่ถูกต้อง ฉันทามติแบบกระจายตามลำดับของการทำธุรกรรมสามารถบรรลุสิ่งนี้: ในกรณีที่เกิดความขัดแย้ง ทุกคนยอมรับว่าธุรกรรมแรกนั้นถูกต้องและธุรกรรมที่เหลือนั้นไม่ถูกต้อง
(ปัญหาอื่นๆ เกี่ยวกับสกุลเงินดิจิทัล เช่น การอนุญาตและการต่อต้านการปลอมแปลง ค่อนข้างง่ายและสามารถแก้ไขได้ด้วยการเข้ารหัสแบบดั้งเดิม)
ประเด็นคือ เราควรตระหนักว่าแม้ว่าฉันทามติแบบกระจายจะเป็นปัญหาที่ยาก แต่ฉันทามติทั่วไปนั้นง่ายกว่า มีการวิจัยที่ดีกว่า และมีประสิทธิภาพมากกว่าล้านล้านเท่าด้วยผู้ลงนามที่เชื่อถือได้และสามารถระบุตัวตนได้ ดังนั้น cryptocurrency ที่แนะนำบุคคลที่เชื่อถือได้ (แม้ภายใต้เงื่อนไขที่จำกัด) ควรพิจารณาว่ารูปแบบความน่าเชื่อถือใหม่สามารถช่วยลดความยากลำบากในการเข้าถึงฉันทามติได้หรือไม่ ผู้อ่านที่สนใจในกลไกฉันทามติที่มีประสิทธิภาพมากขึ้นกับฝ่ายที่เชื่อถือได้อาจพิจารณาเรื่องนี้
3. ลายเซ็นหลายฝ่ายของสมาชิกไดนามิก
บัญชีแยกประเภทของ Bitcoin เปิดเผยต่อสาธารณะ และผู้เข้าร่วมทั้งหมดในเครือข่าย Bitcoin สามารถตรวจสอบความถูกต้องของธุรกรรมแต่ละรายการในบัญชีแยกประเภทได้ อย่างไรก็ตาม เนื่องจากบัญชีแยกประเภทเป็นบันทึกทางประวัติศาสตร์โดยพื้นฐานแล้ว การเข้ารหัสจึงไม่สามารถแยกแยะความถูกต้องได้ ใครบางคนต้องพิสูจน์บัญชีแยกประเภท และคนอื่นๆ ต้องเชื่อมั่นว่าบุคคลนี้จะไม่ลงนามในประวัติที่ไม่ถูกต้อง
ระบบเงินสดดิจิทัลรุ่นแรกสุดมีบุคคลที่ไม่ระบุตัวตนเพียงคนเดียวลงนามธุรกรรมทั้งหมด [Cha83] อย่างไรก็ตาม สิ่งนี้ไม่เพียงเพิ่มความเสี่ยงของความล้มเหลวเพียงจุดเดียวให้กับระบบ แต่ยังช่วยให้ผู้ลงนาม (และใครก็ตามที่สามารถบังคับผู้ลงนามนั้นด้วยอำนาจหรือบังคับ) เพื่อเซ็นเซอร์ธุรกรรมหรือเริ่มต้นการใช้จ่ายซ้ำซ้อน แม้ว่าลายเซ็นที่มองไม่เห็น (ดูรายละเอียด [Cha83]) สามารถใช้เพื่อป้องกันการเซ็นเซอร์ แต่ก็ไม่สามารถป้องกันความล้มเหลวเพียงจุดเดียวและการใช้จ่ายซ้ำซ้อนได้ การลงนามหลายฝ่ายอาจสามารถแก้ปัญหาสองข้อหลังได้ แต่ข้อกำหนดสองข้อที่ว่ายากที่ผู้ลงนามทั้งหมดจะถูกบังคับพร้อมกันและผู้ลงนามทั้งหมดต้องได้รับความไว้วางใจจากผู้เข้าร่วมทุกคนขัดแย้งกันเอง การไม่เปิดเผยชื่อยังหมายความว่าผู้โจมตีรายใดรายหนึ่งสามารถโจมตีระบบได้ตลอดเวลา
วิธีการแก้ปัญหาของ Bitcoin คือการกำจัดผู้ลงนามที่แน่นอนและระบุตัวตนได้ทั้งหมด บัญชีแยกประเภทของ Bitcoin ได้รับการตรวจสอบโดยกลุ่มผู้ลงนามที่เรียกว่านักขุด ซึ่งไม่เปิดเผยตัวตนของตนต่อผู้เข้าร่วมรายอื่น และอาจเข้าหรือออกจากระบบได้โดยไม่มีค่าใช้จ่าย นักขุดสร้างลายเซ็นผ่านกระบวนการที่เรียกว่า "การขุด" ในระหว่างการขุด พวกเขาร่วมกันสร้างหลักฐานการทำงาน [Bac02] สำหรับบล็อกข้อมูลธุรกรรมที่ต่อเนื่องกัน
- ในส่วนนี้ เราจะอธิบายว่าการขุดทำงานอย่างไรและให้การตรวจสอบอย่างไร
- 3.1 การรับรองความถูกต้องในโลกนิรนาม
- หลักการทำงานของกลไกลายเซ็นดิจิทัลแบบเข้ารหัสมีดังต่อไปนี้ ผู้ลงนามสร้างคู่คีย์ "การลงนาม" และ "การยืนยัน" (s, v) และเผยแพร่ v พร้อมกับชื่อในช่องสาธารณะบางช่อง ผู้ลงนามสามารถสร้างลายเซ็น σ ตามข้อความที่กำหนด m และทุกคนสามารถตรวจสอบความถูกต้องของ σ ได้ นั่นคือ การป้อน v, m และ σ ลงในอัลกอริทึมการตรวจสอบจะแสดงผลเป็น 1 เสมอหากลายเซ็นถูกต้อง
จะเห็นได้ว่าอัลกอริทึมการตรวจสอบใช้รหัสยืนยัน v เพื่อยืนยันลายเซ็น และด้วยวิธีนี้ตรวจสอบ "ตัวตน" ของผู้ลงนาม เนื่องจากทุกคนสามารถสร้างคู่คีย์ เพื่อให้ลายเซ็นมีค่า บันทึกสาธารณะจะต้องเชื่อมโยงคีย์การตรวจสอบกับตัวตนที่แท้จริงของผู้ลงนาม หากมีพฤติการณ์ทุจริต (ลงประวัติไม่ถูกต้อง) ฝ่ายทุจริตจะต้องรับผิดชอบ
จากมุมมองนี้ การรับรองความถูกต้องไม่เหมาะสำหรับระบบที่ผู้ลงนามไม่ระบุชื่อและไม่ได้รับการแก้ไข ในความเป็นจริงยังไม่ชัดเจนว่า "การรับรองความถูกต้อง" มีบทบาทอย่างไรในระบบดังกล่าว! ถ้าใครก็ตามสามารถสร้างลายเซ็นโดยไม่ระบุชื่อได้ ก็จะเป็นไปไม่ได้เลยที่จะแยกแยะลายเซ็นที่ซื่อสัตย์ออกจากลายเซ็นที่ไม่ซื่อสัตย์ ประวัติจริงจากประวัติปลอม จากนั้นคำจำกัดความของการรักษาความปลอดภัยข้างต้นจะสูญเสียความหมาย เนื่องจากผู้โจมตีสามารถเข้าร่วมชุดผู้ลงนามและ "ปลอมแปลงลายเซ็น" ได้อย่างอิสระ2
เพื่อแก้ปัญหานี้ Bitcoin ใช้รูปแบบความปลอดภัยอื่น ในแบบจำลองนี้ ผู้เข้าร่วมทุกคนมีความเท่าเทียมกัน แต่พวกเขามีสิ่งจูงใจทางเศรษฐกิจที่ต้องพูดตามตรง ในหัวข้อถัดไป เราจะแนะนำรูปแบบการรักษาความปลอดภัยนี้
- หมายเหตุ 2: ตามที่เราเห็นในส่วนที่ 4 ในกรณีของสกุลเงินดิจิทัล เป็นไปได้ที่บุคคลนิรนามจะล็อกเงินฝากและมีกลไกบางอย่างในการลงโทษผู้ไม่ซื่อสัตย์โดยไม่ต้องยืนยันตัวตนของใคร นี่คือหลักฐานของการเดิมพันที่มีประสิทธิภาพ อย่างไรก็ตาม cryptocurrency นั้นแยกออกจากความเห็นพ้องไม่ได้ ดังนั้นสมมติฐานของ "ถ้าเป็น cryptocurrency" ทำให้เราไม่สามารถใช้หลักฐานการเดิมพันได้ที่นี่ มิฉะนั้นจะตกอยู่ในเหตุผลแบบวงกลม เราจะแก้ไขปัญหานี้ในหัวข้อถัดไป
- 3.2 กำหนดความปลอดภัยสำหรับ DMMS
อัลกอริทึมเชิงกำหนดการตรวจสอบใช้ข้อความ m, ลายเซ็น σ และต้นทุนเป้าหมาย T เป็นอินพุต และเอาต์พุต 0 หรือ 1
ถ้า Verify(m, T, AttempSign(m)) = 1 มีความน่าจะเป็น 1/T สำหรับ T ทั้งหมดที่เป็นของมัน จากนั้นเราจะบอกว่า DMMS นั้นถูกต้อง (ถูกต้อง) ความน่าจะเป็นนี้ถูกกำหนดโดย AtemptSign รับประกันอัลกอริทึม หากความน่าจะเป็นของอัลกอริธึมพหุนามใด ๆ ที่จะรับรู้ Verify(m, T, A (m)) = 1 ไม่เกิน 1−(1−1/T)t เราจะบอกว่า DMMS ดังกล่าวคือ ปลอดภัย ( ปลอดภัย) (โดยที่ t คือค่าใช้จ่ายในการดำเนินการของอัลกอริทึม A)กล่าวอีกนัยหนึ่ง DMMS ที่ปลอดภัยหมายความว่าไม่มีอัลกอริทึมการเซ็นชื่อใดที่ดีกว่า (ในแง่ของการสร้างลายเซ็นยืนยัน) มากกว่าการดำเนินการ AttemptSign ซ้ำๆเราแสดงคำจำกัดความความปลอดภัยโดยสังเขป เพื่อให้ได้ชุดสมาชิกแบบไดนามิก เราไม่สามารถทำให้การมีส่วนร่วมแพงเกินไป และไม่อนุญาตให้ผู้ลงนามที่มีอยู่กีดกันผู้ลงนามใหม่ด้วยวิธีการที่ชัดเจนหรือปัจจัยทางเศรษฐกิจ ซึ่งหมายความว่ากระบวนการลงนามควร "แบ่งแยกได้" โดยไม่ต้องใช้หรือสร้างแรงจูงใจในการสื่อสารใดๆ ระหว่างผู้ลงนาม นั่นคือ การใช้เวลานานเป็นสองเท่าในการรันอัลกอริทึมลายเซ็นควรมีความเป็นไปได้สูงที่จะประสบความสำเร็จพอๆ กับรันพร้อมกันบนฮาร์ดแวร์สองชิ้นเดียวกัน ขั้นสูงสุด หมายความว่าอัลกอริธึมลายเซ็นที่ดีที่สุดควรประกอบด้วยการดำเนินการซ้ำๆ โดยไม่ขึ้นกับขั้นตอนพื้นฐานเดียว ซึ่งได้มาจากคำจำกัดความ- 3.3 กลไกการขุดเป็น DMMS
- การขุด Bitcoin ใช้แฮชแคช [Bac02] ซึ่งเป็นอัลกอริธึมการพิสูจน์การทำงานตามฟังก์ชันแฮช นี่คือ DMMS [BR93] โดยใช้โมเดล Oracle แบบสุ่ม ในฐานะที่เป็นแบบจำลองการคำนวณ oracle แบบสุ่มหมายถึงแบบจำลองที่เกี่ยวข้องกับฟังก์ชันแฮชเป็น "ออราเคิลตัวเลขสุ่ม" หรือฟังก์ชันสุ่มจริง 3 ซึ่งเอาต์พุตเป็นแบบสุ่มเท่านั้น และสามารถคำนวณผ่านฟังก์ชันนี้เท่านั้น
- แม้ว่าการใช้แบบจำลอง Oracle ตัวเลขสุ่มทำให้เกิดข้อโต้แย้งมากมาย [Gre11] แต่ก็มีหลักฐานเชิงประจักษ์ที่ชัดเจนว่าสามารถใช้เพื่อความปลอดภัยได้ ต่อจากนี้ไป H หมายถึงฟังก์ชันแฮชที่มีอินพุตสูงสุด 256 บิต ซึ่งถือเป็นออราเคิลตัวเลขสุ่ม
ฟังก์ชันต้นทุนให้จำนวนครั้งที่สุ่มเรียกออราเคิลในระหว่างการดำเนินการ
AttemptSign รับข้อความ m เป็นอินพุตและเอาต์พุตเป็นตัวเลขสุ่ม σ ∈ {0,1}256
ตรวจสอบว่าเป็นอินพุตลายเซ็น σ ข้อความ m และเป้าหมาย T เอาต์พุต 1 เฉพาะเมื่อ H(m || σ) < 2256/Tไม่ยากที่จะเห็นว่าในโมเดล Oracle ตัวเลขสุ่ม ไม่มีวิธีใดที่ดีไปกว่าการสร้างลายเซ็นที่ถูกต้องมากกว่าการเรียกใช้ฟังก์ชันแฮชซ้ำๆหมายเหตุ 3: โมเดลนี้ไม่สมจริงเลย เนื่องจากฟังก์ชันสุ่มที่แท้จริง จาก 512 บิตถึง 256 บิต ต้องใช้ค่าเฉลี่ย 2512·256 บิตในการแสดง ซึ่งเกินขีดจำกัดนิพจน์ที่ทราบในปัจจุบัน3.4 ไม่มีเวลาโลก
โปรดทราบว่าในส่วนที่แล้ว เราใช้จำนวนการเรียกใช้ฟังก์ชันแฮชเป็นฟังก์ชันต้นทุน ซึ่งเป็นสัดส่วนโดยประมาณกับจำนวนการคำนวณ ซึ่งจะเป็นสัดส่วนโดยประมาณกับการกระจายความร้อน ในท้ายที่สุด ปริมาณการกระจายความร้อนจะเป็นสัดส่วนโดยประมาณกับต้นทุนทางเศรษฐกิจและสิ่งแวดล้อมในการสร้างลายเซ็นเหล่านี้
คำถามที่ชัดเจนคือ เราสามารถใช้ฟังก์ชันต้นทุนที่ "ถูกกว่า" ได้หรือไม่ ทำไมเราไม่สามารถใช้เวลานาฬิกาโดยตรง? เหตุใดเราจึงใช้ DMMS เพื่อลงนามบล็อกเพื่อสร้างบล็อกเชน แทนที่จะจัดเรียงธุรกรรมโดยตรงตามลำดับเวลาเพื่อแก้ไขความขัดแย้งที่เป็นเอกฉันท์
คำตอบคือไม่มีเวลานาฬิกาที่ชัดเจนในระบบแบบกระจาย เวลาแฝงของเครือข่ายจะจำกัดความเร็วที่ข้อมูลสามารถเดินทางได้ ตามทฤษฎีสัมพัทธภาพพิเศษ ผู้สังเกตการณ์ที่แตกต่างกันไม่สามารถตกลงตามลำดับเวลาของเหตุการณ์ที่เกิดขึ้นเกือบพร้อมกันได้
หากนี่เป็นเพียงปัญหาเดียว ให้ขอเวลาสองสามวินาทีระหว่างแต่ละธุรกรรม (หากช่วงเวลาระหว่างธุรกรรมที่ขัดแย้งกันสั้นเกินไป ธุรกรรมทั้งสองจะถูกปฏิเสธ แต่รอจนกระทั่งสองสามวินาทีหลังจากแต่ละธุรกรรม ทุกฝ่ายที่เกี่ยวข้องสามารถมั่นใจได้ว่าสิ่งนี้ ไม่เกิดขึ้น) อย่างไรก็ตาม สถานการณ์จริงนั้นแย่กว่านั้นมากด้วยเหตุผลสองประการ:
ไม่สามารถจำกัด "เวลาแฝงของเครือข่าย" ในสภาพแวดล้อมที่ไม่เป็นมิตร ผู้โจมตีอาจใช้มาตรการปฏิเสธการให้บริการเพื่อทำให้ระบบช้าลงโดยพลการและมิฉะนั้นจะแบ่งพาร์ติชันเครือข่ายทางกายภาพในแง่สัมพัทธภาพ หมายความว่าไม่ว่าจะตั้งเวลารอนานเท่าใดก็ตาม ไม่มีทางที่จะรับประกันได้ว่าผู้เข้าร่วมจะไม่กลายเป็นเหมือนอวกาศที่ถูกแยกออกจากผู้เข้าร่วมคนอื่นๆ ในเครือข่ายผู้ใช้ที่เพิ่งเริ่มใช้เครือข่ายหรือออฟไลน์เมื่อเร็วๆ นี้จำเป็นต้องเข้าถึงข้อมูลประวัติ อย่างไรก็ตาม ไม่มีวิธีตรวจสอบลำดับการทำธุรกรรมที่เกิดขึ้นหลังจากข้อเท็จจริง ดังนั้นในกรณีที่เกิดความขัดแย้งในการทำธุรกรรม ผู้ใช้ไม่สามารถรับประกันได้ว่าธุรกรรมที่ได้รับจะเกิดขึ้นก่อน3.5 ฉันทามติจาก DMMSตอนนี้เราได้เข้าใจ DMMS และอธิบายว่าเหตุใดแฮชแคชของ Bitcoin จึงเป็นอัลกอริทึมที่ปลอดภัย เรามาคิดกันว่าจะบรรลุฉันทามติแบบกระจายผ่าน DMMS ได้อย่างไรการอ้างสิทธิ์ของเราคือเป็นไปได้ที่จะได้รับฉันทามติแบบกระจายผ่าน DMMSก่อนอื่นเราต้องวัด (ก) ทรัพยากรที่หายากบางชนิดซึ่งไม่สามารถสร้างลายเซ็นสำหรับข้อความจำนวนมากในคราวเดียว และ (ข) เวลาเฉลี่ยที่ใช้ในการสร้างลายเซ็นผ่านฟังก์ชันต้นทุน (ฟังก์ชันโมโนโทนิก) (เพื่อให้มีการกระจายอำนาจ ทรัพยากรที่หายากนี้อาจต้องใช้ตลอดไป เช่นเดียวกับในระบบ Bitcoin ทำให้ต้นทุนส่วนเพิ่มของการขุดสามารถครอบงำต้นทุนของเงินทุนได้ Poelstra สนับสนุนมุมมองนี้ [Poe14a] แต่ John Tromp ไม่เห็นด้วยกับ [ โทร14].)ยกตัวอย่าง Bitcoin ฟังก์ชันต้นทุนของเราถูกกำหนดให้เป็น "จำนวนครั้งที่ฟังก์ชันแฮชถูกเรียก" เราโต้แย้งว่าฟังก์ชันนี้วัดพลังงานที่ใช้จริงในการคำนวณลายเซ็น และได้รับการพิสูจน์โดยขีดจำกัดของ Landauer [Lan61] จากมุมมองทางกายภาพ พลังงานที่เรียกว่าเป็นความร้อนขั้นต่ำที่ใช้โดยการทำงานของบิตที่ผันกลับไม่ได้ โดยการนับจำนวนบิตที่ย้อนกลับไม่ได้ที่เกี่ยวข้องกับการคำนวณ sha256 เราสามารถ (อย่างน้อยในหลักการ) วางขอบเขตที่ต่ำกว่าของปริมาณพลังงานที่จำเป็นในการสร้าง Bitcoin DMMSฟังก์ชันต้นทุนยังสามารถใช้เพื่อวัดเวลาที่ใช้ในการสร้างลายเซ็น เนื่องจากพลังงานจำนวนหนึ่งสามารถใช้ต่อหน่วยเวลาได้ เว้นแต่คุณจะสร้างหลุมดำ (เช่น ไม่อนุญาตให้ใช้ลายเซ็น หรือจริงๆ แล้ว ข้อมูลใด ๆ ให้แยกออกมาในรูปแบบที่ใช้งานได้ ) แน่นอนว่าในชีวิตจริง นักขุด Bitcoin ไม่ได้ทำงานใกล้ขีดจำกัดของหลุมดำ และเวลาที่ใช้จะขึ้นอยู่กับความเร็วของฮาร์ดแวร์การขุด เมื่อฮาร์ดแวร์การขุดมีการปรับปรุงและจำนวนฮาร์ดแวร์ออนไลน์เพิ่มขึ้นในเวลาเดียวกัน เวลาที่ต้องใช้ในการสร้าง DMMS จะลดลง ใน Bitcoin ต้นทุนเป้าหมายจะปรับตามนี้ ทำให้เวลาที่ต้องใช้ในการสร้างแต่ละลายเซ็นอยู่ที่ประมาณ 10 นาที4หมายเหตุ 4: เนื่องจากไม่ได้กล่าวถึงเวลาโลกใน 3.4 ผู้อ่านอาจสงสัยว่าจะปรับเวลาอย่างไรให้ถูกต้อง ในความเป็นจริง การประทับเวลาถูกแทรกลงในบล็อกโดยนักขุด และไม่มีทางใดที่จะป้องกันไม่ให้นักขุดปลอมแปลงพวกเขาได้ Bitcoin ทนต่อการเบี่ยงเบนเล็กน้อยจากเป้าหมายที่เกิดจากการประทับเวลาที่ผิดพลาด และยังห้ามเป้าหมาย (หมายเหตุผู้แปล: ความยาก) จากการเปลี่ยนแปลงเร็วเกินไป ดังนั้นจึงมีราคาแพงมากในการสร้างความเบี่ยงเบนอย่างมากจากเป้าหมาย และอาจถูกขัดขวางโดยคนงานเหมืองที่ไม่ร่วมมือ ดู [Poe14c หัวข้อ 6.3] สำหรับการสนทนาเพิ่มเติมดังนั้น ด้วย DMMS ที่ปลอดภัยซึ่งวัดทรัพยากรที่หายากผ่านฟังก์ชันต้นทุน เราจะรับประวัติฉันทามติได้อย่างไร ขั้นแรก เราถือว่าเครือข่ายเป็นแบบซิงโครนัส เพื่อให้ผู้เข้าร่วม (ส่วนใหญ่) มีข้อมูลที่ถูกต้องทั้งหมดภายในเวลาหนึ่ง λ เราแบ่งประวัติการทำธุรกรรมออกเป็นชุดของบล็อก โดยแต่ละบล็อกประกอบด้วยชุดของธุรกรรมและความมุ่งมั่นในการเข้ารหัสไปยังบล็อกก่อนหน้า5 ทุกบล็อกที่ถูกต้องต้องมี DMMS ที่มีเป้าหมายซึ่งใช้เวลานานกว่า λ มากในการสร้างบล็อก (เพื่อให้นักขุดที่ทำงานในประวัติที่เป็นเอกฉันท์เดียวกันรู้ว่าบล็อกใดเป็นปัจจุบัน และผู้สร้างบล็อกมีไม่มาก ได้เปรียบรู้บล็อคล่าสุดก่อน) เพื่อให้ชัดเจน ต้นทุนเป้าหมายของแต่ละ DMMS ถูกกำหนดโดยกฎของระบบ ไม่ใช่โดยผู้ขุดหมายเหตุ 5: ข้อผูกมัด (ข้อผูกมัด) เป็นออบเจกต์การเข้ารหัสที่คำนวณจากข้อมูลลับบางอย่าง แต่ข้อมูลจะไม่รั่วไหล ดังนั้นจึงไม่สามารถแก้ไขข้อมูลได้ในภายหลัง ฟังก์ชันแฮชที่ป้องกันการชนกันเป็นตัวอย่าง: ให้ข้อมูล x คุณสามารถเผยแพร่ H(x) ได้ก่อน (H คือฟังก์ชันแฮช) แล้วจึงเผยแพร่ x ในภายหลัง ผู้ตรวจสอบสามารถใช้ค่าสาธารณะในการคำนวณ H(x) เพื่อยืนยันว่าค่านี้เหมือนกับค่าดั้งเดิมหรือไม่ผู้เข้าร่วมเครือข่ายทำงานโดยพิจารณาสาขาบล็อกที่ถูกต้องทั้งหมดที่ขึ้นต้นด้วยบล็อกการกำเนิดเดียวกัน (ฮาร์ดโค้ดเข้าสู่ระบบ) (เนื่องจากแต่ละบล็อกมีข้อผูกมัดของบล็อกก่อนหน้า ผลลัพธ์คือกราฟอวัฏจักรโดยตรงที่หยั่งรากที่บล็อกการกำเนิด และสาขาของบล็อกเหล่านี้คือเส้นทางในกราฟ) จากนั้นคำนวณผลรวมของต้นทุนเป้าหมายใน DMMS จะได้ผลลัพธ์ น้ำหนักของบล็อกแต่ละสาขา สาขาบล็อกที่หนักที่สุดถือเป็นประวัติศาสตร์ "จริง"เมื่อสร้างบล็อก นักขุดจะเลือกธุรกรรมตามความต้องการของเขาเอง และเพิ่ม "ธุรกรรมรางวัล" พิเศษเพื่อกระจายค่าธรรมเนียมของธุรกรรมอื่น ๆ และเงินอุดหนุนที่กำหนดโดยเครือข่ายให้กับตัวเอง บวก (สิ่งที่เขาคิดว่าเป็นห่วงโซ่ดั้งเดิม) ของ ข้อผูกมัดบล็อกล่าสุด แล้วคำนวณ DMMS หากนักขุดรายอื่นสร้างและเผยแพร่บล็อก นักขุดจะอัปเดต "บล็อกล่าสุดในประวัติศาสตร์จริง" ของพวกเขาตามนั้น และเปลี่ยนข้อผูกมัดในบล็อกของตนเองเพื่อรองรับการเปลี่ยนแปลงนี้ หลังจากคำนวณ DMMS แล้ว พวกเขาเผยแพร่การบล็อกที่เสร็จสมบูรณ์ไปยังเครือข่ายเราโต้แย้งว่าสิ่งนี้นำไปสู่ประวัติศาสตร์ที่เป็นเอกฉันท์ หมายความว่าเครือข่ายทั้งหมดจะค่อยๆ บรรลุฉันทามติว่าบล็อกใดเป็นส่วนหนึ่งของประวัติศาสตร์ที่แท้จริง (และที่ไม่สอดคล้องกัน) และความไม่สอดคล้องกันนั้นจะเกิดขึ้นเฉพาะในประวัติศาสตร์ล่าสุดเท่านั้น การสนทนาที่เฉพาะเจาะจงสามารถพบได้ใน Miller และ La Viola Jr. [MLJ14] (เราสามารถวัดระดับการใช้พลังงาน DMMS ได้ในบทความนี้ และการแสดงออกในบทความนั้นคือ "ปริศนาที่ยากปานกลาง") แต่เราแนบที่นี่ ข้อโต้แย้งที่เป็นทางการน้อยลงเนื่องจากเครือข่ายเป็นแบบซิงโครนัส เวลาในการส่งข้อมูลบล็อกจึงสั้นกว่าเวลาในการผลิตบล็อกมาก ดังนั้นผู้เข้าร่วมทั้งหมดจึงสามารถรับรู้ประวัติที่หนักหนาที่สุดได้อย่างรวดเร็วเราเชื่อต่อไปว่าผู้เข้าร่วมส่วนใหญ่ในเครือข่ายจะมีส่วนร่วมในการผลิต DMMS ที่ขยายประวัติศาสตร์จริง Vitalik Buterin [But15] เสนอเหตุผลที่สง่างามและถูกต้อง: เนื่องจาก "การทำธุรกรรมรางวัล" จะได้รับการยอมรับก็ต่อเมื่อบล็อกนั้นเป็นของประวัติศาสตร์จริง สมดุลของ Nash นั้นเป็นไปตามกฎข้อ 6 ของนักขุดแต่ละคน
หมายเหตุ 6: นอกจากนี้ในบทความเดียวกัน Buterin กล่าวว่า: "หากคุณเบื่อกับฝ่ายตรงข้าม PoS ที่อ้างถึงคุณจากบทความนี้ที่เขียนโดย Andrew Poelstra (เช่น [Poe 14b]) โปรดอย่าลังเลที่จะเชื่อมโยงบทความนี้ว่า Hit back" ไม่ค่อยชัดเจนว่าเขาหมายความว่าอย่างไร ตลอดและไม่มีที่ไหนเลย เขาล้มเหลวในการหักล้างคำกล่าวอ้างของบทความที่ว่าไม่มีทางสร้างความเห็นพ้องต้องกันนอกเหนือไปจากการใช้ทรัพยากรนอกระบบเดียว
ในการเปลี่ยนแปลง "ประวัติจริง" ผู้โจมตีต้องสร้างประวัติอื่นที่มีน้ำหนักมากกว่า (นั่นคือ ต้นทุนเป้าหมายสูงกว่า) (เช่น เวอร์ชันประวัติทางเลือกสามารถกำหนดได้ว่าสร้างขึ้นจากด้านบนสุดของประวัติปัจจุบันย้อนหลัง N บล็อก) ทางแยกของ ) เขามีทรัพยากรน้อยกว่ากลุ่มนักขุดที่ขยายประวัติศาสตร์จริง เพราะกลุ่มนักขุดนั้นเป็นคนส่วนใหญ่ ดังนั้น ความน่าจะเป็นที่เขาสามารถชนะในเครือข่ายจึงน้อยกว่า 1 (เนื่องจากในช่วงเวลาใดก็ตาม จำนวนครั้งที่พยายามขยายประวัติจริงในเครือข่ายมากกว่าจำนวนครั้งที่พยายามขยายประวัติทางเลือกของเขาเอง) และสำหรับประวัติศาสตร์ของพระองค์นั้นเกินกว่าประวัติศาสตร์จริง และพระองค์จะต้องชนะมากกว่า N ครั้ง หากความน่าจะเป็นที่จะชนะ 1 ครั้งคือ P < 1 ความน่าจะเป็นที่จะชนะ N ครั้งคือ PN ถ้า N มากพอ ความน่าจะเป็นจะน้อยมากจนมองข้ามได้
(ข้อโต้แย้งตรงนี้อ่อนมาก เพราะถือว่าผู้โจมตีต้องชนะอย่างต่อเนื่องเท่านั้น และไม่คำนึงว่าความยากของการสร้างบล็อกจะถูกปรับ การปรับความยากจะทำให้ผู้โจมตีสร้างบล็อกเก่าซ้ำได้เร็วขึ้น กว่าเครือข่าย บล็อกใหม่เร็วกว่า ฉันยืนยันที่นี่โดยไม่มีพื้นฐานใด ๆ ว่าสิ่งเหล่านี้ไม่ใช่ปัญหาร้ายแรง เป็นเพียงปัญหาที่น่าเบื่อหน่าย)
3.6 ฉันทามติที่ไม่มี DMMS
จำเป็นต้องใช้ DMMS เพื่อสร้างกลไกฉันทามติแบบกระจายหรือไม่? จนถึงขณะนี้ยังเป็นประเด็นที่เปิดอยู่ การเดาของฉันคือ "ไม่" โดยเฉพาะอย่างยิ่ง การเปลี่ยนโปรโตคอล Bitcoin เพื่อให้รางวัลแก่นักขุดด้วย "คูปอง" สำหรับการขุดบล็อคในอนาคตที่ความยากต่ำลง [BDC+14, หัวข้อ 6.1] นั้นไม่น่าจะทำลายฉันทามติ แต่แบบจำลองนั้นไม่เป็นไปตามคำจำกัดความ DMMS ข้างต้นของเราอย่างชัดเจน
4. หลักฐานการเดิมพัน
ด้วยกลไกที่เป็นเอกฉันท์ของ Bitcoin เป็นพื้นฐาน เราจะมาวิเคราะห์ทางเลือกที่ได้รับความนิยมมากที่สุด นั่นคือ Proof of Stake ดู [Poe14b] สำหรับคำอธิบายของ PoS:
ด้วยวิทยาการเข้ารหัสสมัยใหม่ แนวคิดที่ว่า 'ข้อมูล' นั้นเป็นสิ่งที่มีอยู่จริงและมีค่า" จึงถูกย้ายออกจากห้องเรียนภาควิชาปรัชญาไปสู่โลกแห่งความเป็นจริงของธุรกิจ เราทุกคนคุ้นเคยกับกิจกรรมทางเศรษฐกิจที่สนับสนุนโดยการสื่อสารที่ปลอดภัย: การเจรจา สัญญา ข้อตกลง ใบเรียกเก็บเงิน และคำสั่งซื้อทั้งหมดสามารถส่งไปยังอินเทอร์เน็ตสาธารณะโดยไม่ต้องกลัวการปลอมแปลงหรือการสกัดกั้น เราทุกคนทราบดีถึงผลกระทบทางการเงินหากข้อมูลที่เป็นความลับสูญหายหรือถูกขโมย ภายในเดือนมกราคม พ.ศ. 2552 ด้วยการกำเนิดของสกุลเงินเข้ารหัส [Nak09] แนวคิดของข้อมูลที่มีค่าก็เป็นรูปธรรมมากขึ้น คุณสามารถถือครองและแลกเปลี่ยนมูลค่าที่สะสมได้ในสื่อการสื่อสารแบบเปิด โดยใช้การเข้ารหัสเท่านั้น (ไม่มีสิ่งอำนวยความสะดวกด้านความปลอดภัยทางกายภาพ) เพื่อป้องกันการฉ้อโกงและการโจรกรรม ไม่เพียงแต่ใครจะบอกว่า "คีย์เข้ารหัสนี้มีค่า $10,000 เพราะเราจะสูญเสียเงินจำนวนมากขนาดนี้หากถูกเปิดเผย" แต่ใคร ๆ ก็สามารถพูดได้ว่า "คีย์นี้มีค่า $10,000 แต่ค่าในนั้นหารได้ ใช่ คุณสามารถแบ่งได้ 20 ดอลลาร์ แล้วส่งไปให้คนอื่น ส่วนที่เหลือเก็บไว้ใช้เอง” ด้วยความรู้พื้นฐานนี้ การพิสูจน์การเดิมพันจึงเป็นเรื่องง่ายที่จะเข้าใจ หลักฐานการมีส่วนได้ส่วนเสียคือหลักฐานการเป็นเจ้าของแบบเข้ารหัส ใน cryptocurrency การพิสูจน์ความเท่าเทียมไม่เพียงแต่พิสูจน์ความเป็นเจ้าของสกุลเงินเท่านั้น แต่ยังพิสูจน์ได้ว่าเงินนั้นมีคุณสมบัติตรงตามลักษณะบางอย่าง (เช่น เงินถูกล็อคและไม่สามารถใช้ได้จนกว่าจะตรงตามเงื่อนไขบางประการ) ปลดล็อค) โดยเฉพาะอย่างยิ่ง การพิสูจน์ว่าเงินทุนถูกล็อคไว้ในที่หายาก และสกุลเงินดิจิตอลทดลองสามารถพิสูจน์ได้ว่ามีความสนใจอย่างจริงจังในความสำเร็จของโครงการ ผู้ใช้สามารถพิสูจน์ความสนใจในการดำรงอยู่อย่างต่อเนื่อง (และการพัฒนาที่ยั่งยืน) ของโครงการได้โดยการให้สิทธิ์และผลประโยชน์ที่ถูกล็อคไว้
นั่นคือ Proof of Stake เป็นแนวคิดที่ว่าเราสามารถใช้การพิสูจน์การเข้ารหัส แทนที่จะใช้ทฤษฎีทางกายภาพ เช่น ขีดจำกัดของ Landauer เพื่อพิสูจน์ว่าการคำนวณบางอย่างมีราคาแพงอย่างห้ามปราม
4.1 หลักฐานการเดิมพันเทียบกับ DMMS
การใช้ "หลักฐานการเดิมพันที่บริสุทธิ์" เพื่อสร้างฉันทามติเกี่ยวกับประวัติของสกุลเงินดิจิทัล สันนิษฐานว่าเป็นไปได้ที่จะสร้างรูปแบบลายเซ็นที่เหมือน DMMS7 ซึ่งฟังก์ชันต้นทุนจะวัดจำนวนเหรียญเอง ฟังดูเหมือนง่ายในหลักการ และเราอ้าง [Poe14b] อีกครั้ง:
ในบัญชีแยกประเภทที่แสดงออกอย่างเพียงพอ ผู้ถือครองสกุลเงินสามารถล็อคสกุลเงินของพวกเขาเป็นระยะเวลาหนึ่งเพื่อเช่า "เดิมพัน" ที่ตรวจสอบได้ด้วยการเข้ารหัส เมื่อประวัติฉันทามติจำเป็นต้องมีขั้นสูง ผู้มีส่วนได้ส่วนเสียแต่ละรายลงนามในเนื้อหาเพิ่มเติม (บล็อก) แทนที่จะแนบหลักฐานการทำงานกับเนื้อหาเหล่านี้ เพื่อความสะดวกในทางปฏิบัติ พูดโดยทั่วไป ทุกครั้งที่มีการผลิตบล็อก ผู้มีส่วนได้ส่วนเสียส่วนเล็ก ๆ จะถูกสุ่มเลือกให้รับผิดชอบในการผลิตบล็อก ยิ่งกว่านั้น เพื่อให้ได้ความถูกต้องของบล็อกนั้นต้องการเพียงทีมงานขนาดเล็กส่วนใหญ่เท่านั้น เห็นด้วย ผู้วางเดิมพันที่เลือกเหล่านี้จะได้รับรางวัลและหลังจากช่วงระยะเวลาหนึ่ง พวกเขาสามารถปลดล็อคเงินเดิมพันได้หากต้องการ แนวคิดในที่นี้คือ แทนที่จะทำให้ต้นทุนทางเศรษฐกิจในการควบคุมประวัติศาสตร์สูงอย่างห้ามปราม ผู้มีส่วนได้ส่วนเสียมีแรงจูงใจที่จะเห็นพ้องต้องกันในทุกบล็อก เพราะ (ก) พวกเขาทั้งหมดถูกเลือกโดยการสุ่มและไม่น่าจะสมรู้ร่วมคิดกัน (ข) แม้ว่า พวกเขาอาจสมรู้ร่วมคิดกัน, พวกเขาไม่ต้องการทำลายทั้งระบบ (เช่น การลงนามในประวัติที่ขัดแย้งกันจะนำไปสู่สิ่งนั้น) (ค) พวกเขามีทุนจำกัดที่จะสร้างความเสียหายได้มาก ด้วยเหตุผลข้างต้น กลุ่มผู้มีส่วนได้ส่วนเสียที่สุ่มเลือกกลุ่มถัดไปอาจเลือกสร้างเฉพาะประวัติที่พวกเขาเชื่อว่าเชื่อถือได้เท่านั้น
หมายเหตุ 7: โครงการพิสูจน์การเดิมพันไม่ได้ออกแบบมาให้ปราศจากกระบวนการเสมอไป (ไม่มีความคืบหน้า นั่นคือ ไม่ว่าคุณจะทำอะไรมาก่อน ก็จะไม่ส่งผลต่ออัตราความสำเร็จของความพยายามครั้งต่อไปของคุณ) ดังนั้นจึงไม่ ทั้งหมดสามารถกลายเป็น DMMS ที่เหมาะสมหรือปลอดภัยได้ อย่างไรก็ตาม หลักการพื้นฐานยังคง "ทำให้ประวัติศาสตร์มีราคาแพงมากและให้รางวัลแก่ผู้ที่มีส่วนร่วมในประวัติศาสตร์ที่ถูกต้อง" ดังนั้นเราจึงพิจารณาต่อไปผ่านเลนส์ของต้นทุน
บทความนี้มีความซับซ้อนเล็กน้อย: ในระบบ Proof-of-stake จริง มักจะต้องมีการอนุมัติจากผู้ลงนามเพียงคนเดียว และการอนุมัติส่วนใหญ่ไม่จำเป็น
ปัญหาที่นี่คือการกำหนดฟังก์ชันต้นทุนอย่างถูกต้องซึ่งวัดจำนวนเงินเดิมพันที่ถูกล็อก (ในสกุลเงิน) จำเป็นต้องมีประวัติความเป็นเอกฉันท์ของสกุลเงิน หากสามารถไปถึงจุด "มีประวัติบางอย่างที่เหรียญเหล่านี้ถูกล็อคไว้ด้วยกัน" แม้ว่า DMMS สุดท้ายอาจได้รับการกำหนดไว้อย่างดี แต่ฟังก์ชั่นต้นทุนก็ไม่ได้เป็นตัวชี้วัดความขาดแคลนอีกต่อไป และส่วนที่ 3.5 ของบทความนี้ ข้อสรุปยังไม่ถือเป็น
แน่นอน ความขาดแคลนสามารถกำหนดได้โดยการลงโทษผู้มีส่วนได้ส่วนเสียที่ลงนามในประวัติต่างๆ ตัวอย่างเช่น หากระบบใช้รูปแบบลายเซ็นของ Schnorr หรือ ECDSA และผู้มีส่วนได้ส่วนเสียสามารถเลือกเฉพาะ nonce เมื่อลงนาม พวกเขาต้องใช้ (คีย์ nonce) เดียวกันเมื่อต้องการลงนามหลายคู่ประวัติเพื่อลงนามสองข้อความ ซึ่งจะช่วยให้ คนอื่น ๆ เพื่อแก้ปัญหาทางเรขาคณิตสำหรับรหัสส่วนตัวของพวกเขา อย่างไรก็ตาม การออกแบบดังกล่าวยังไม่สามารถป้องกันผู้มีส่วนได้ส่วนเสียจากการ "บด" บล็อก (การพยายามบล็อกที่แตกต่างกันอย่างต่อเนื่อง) และเผยแพร่เฉพาะบล็อก 8 เท่านั้นที่อนุญาตให้พวกเขาเป็นผู้ผลิตบล็อกต่อไปในบล็อกถัดไป การทำซ้ำซ้ำ ๆ นี้ทำให้สามารถควบคุมทั้งหมดได้อย่างสมบูรณ์ บล็อกเชน นี่คือตัวอย่างของการโจมตีแบบ ดังที่เราจะเห็นด้านล่าง การบดตราสารทุนเป็นเพียงกรณีพิเศษของปัญหาทั่วไป
โดยทั่วไป แผนลายเซ็นแบบใช้ครั้งเดียวจะป้องกันผู้มีส่วนได้ส่วนเสียจากการเผยแพร่ประวัติที่ขัดแย้งกัน (หากผู้โจมตีเห็นคุณค่าของเหรียญที่เขาจะสูญเสียมากกว่าที่เขาจะได้รับมากขึ้นจากความโกลาหลที่เขาก่อขึ้น) แต่เมื่อลายเซ็นทางเพศไม่ได้ทำอะไรเพื่อป้องกันผู้มีส่วนได้ส่วนเสียอย่างลับๆ สร้างประวัติศาสตร์ที่ขัดแย้งกัน
หมายเหตุ 8: โปรดทราบว่าบล็อกเชนจะต้องกำหนดหมายเลขสุ่มเอง เนื่องจากเป็นวัตถุเดียวที่ทุกคนต้องเห็นด้วย ดังนั้นนักขุด PoS จึงสามารถบิดระบบด้วยการบดเงินเดิมพัน การใช้บล็อกหลายบล็อกหรือบล็อกระยะยาวเพื่อกำหนดหมายเลขสุ่มไม่สามารถแก้ปัญหานี้ได้ ไม่ว่าจะด้วยวิธีใด อาจมีฝ่ายใดฝ่ายหนึ่งจัดการได้
4.2 การจำลองแบบไม่มีต้นทุน
ท้ายที่สุดแล้ว ปัญหาคือเหรียญที่ผูกมัดกับลายเซ็นเดิมพันมีอยู่ในบล็อกเชนที่เป็นเจ้าของเหรียญเหล่านั้นเท่านั้น ซึ่งหมายความว่าตราบใดที่บางกลุ่มสามารถสร้างบล็อกเชนในราคาถูกได้ กลุ่มดังกล่าวจะสร้างบล็อกเชนหลายตัวและเลือกบล็อกเชนที่เหมาะกับความสนใจของพวกเขามากกว่า
ถ้าทุกคนสร้างประวัติศาสตร์ได้ในราคาถูก ระบบก็จะพัง ประเด็นของการล็อคอิควิตี้คือการทำให้ "ประวัติการสร้างราคาถูก" มีให้เฉพาะผู้ที่ยินดีถือสกุลเงินเป็นเวลานานเท่านั้น และสันนิษฐานได้ว่าสำหรับคนเหล่านี้ ระบบมีความหมายมากจนไม่สามารถถูกโจมตีได้ มัน.มัน. อย่างไรก็ตาม เนื่องจากไม่มีเวลาทั่วโลก (และไม่มีประวัติทั่วโลกสำหรับผู้ที่เพิ่งเริ่มใช้เครือข่าย) จึงไม่มีทางแยกความแตกต่างของคนที่ "เพิ่ง" เริ่มถือเหรียญกับคนที่ถือเหรียญ "ตลอดเวลา" ได้ สำหรับระบบ Proof-of-stake ณ จุดใดในประวัติศาสตร์ จะมีชุดคีย์ลายเซ็นที่สามารถโอนสกุลเงิน ล็อคและปลดล็อคอิควิตี้ และเซ็นบล็อก สามารถสันนิษฐานได้ว่า ณ ช่วงเวลาหนึ่งในโลกแห่งความจริง เมื่อระบบสร้างบล็อกใหม่ ในขณะนี้ คีย์บางคีย์จะสอดคล้องกับความเป็นเจ้าของ อย่างไรก็ตาม เวลาในโลกแห่งความเป็นจริงจะไหลไปเรื่อย ๆ และบล็อกนี้จะกลายเป็นสิ่งคงที่ และคีย์การเซ็นชื่อทั้งหมดที่เกี่ยวข้องจะกลายเป็นคงที่เช่นกัน
ฉันจะพูดอีกครั้ง: ตามเวลาจริง blockchain จะยาวขึ้นเรื่อย ๆ สิทธิ์จะถูกปลดล็อค เหรียญจะถูกแลกเปลี่ยนเป็นสินค้าและบริการอื่น ๆ และกุญแจเหล่านั้นแม้ว่าจะใช้ผิดวิธีก็จะทำให้ผู้ถือสูญเสียมูลค่า และกลายเป็นสิ่งไร้ความหมาย แต่สำหรับบล็อกเชนที่เปลี่ยนรูปไม่ได้ ความหมายของคีย์ของบล็อกจะไม่มีวันเปลี่ยนแปลง
เนื่องจากในระบบ Proof-of-stake ส่วนหนึ่งของกุญแจจะกำหนดอนาคต สิ่งนี้จึงสร้างปัญหา ไม่ว่าใครก็ตามที่สามารถรับคีย์เหล่านี้ได้ (อาจเป็นผู้ใช้ที่เคลียร์สกุลเงินด้วยตัวเอง หรือคนที่ซื้อคีย์ส่วนตัวกับเธอหรือหยิบคีย์ส่วนตัวของเธอ ผู้ใช้ไม่เก่งเรื่องการเก็บคีย์ส่วนตัวเป็นเวลานานๆ โดยเฉพาะ ผู้ที่คีย์ส่วนตัวที่พวกเขารู้สึกว่าจะไม่ใช้อีก!) มีความสามารถในการแยกเครือข่ายหรือสร้างประวัติทางเลือก ผู้ใช้ใหม่ไม่สามารถบอกได้ว่าอันไหนจริงและอันไหนปลอม
ประเด็นก็คือ แม้ว่าผู้มีส่วนได้ส่วนเสียจะล็อกเงินทุนจำนวนมาก (ที่มีมูลค่าตลาดสูง) และสูญเสียเงินทั้งหมดหากไม่ปฏิบัติตามข้อตกลง การยับยั้งนี้จะหายไปหลังจากที่ผู้ใช้ปลดล็อกเงินเดิมพันของตน และ การปลดล็อกจะมาไม่ช้าก็เร็ว (ไม่ว่าจะมองจากภายนอกระบบหรือจากภายในระบบ) และในขณะนี้ (บล็อกนี้) จะไม่สามารถระบุได้ว่าเมื่อใด (บล็อกใด) สิทธิ์และผลประโยชน์จะถูกปลดล็อก ดังนั้นจึงไม่สามารถป้องกันประวัติฟรีหรือ "การจำลองต้นทุนเป็นศูนย์" ได้โดยการล็อคค่าที่กำหนดภายในโดยระบบ
4.3 การโจมตี "ระยะไกล" เทียบกับการโจมตี "ระยะสั้น"
หากคุณต้องการให้ผู้มีส่วนได้ส่วนเสียผูกมัดเป็นเวลานาน และใช้บล็อกจากเมื่อนานมาแล้ว (ในบล็อก) เพื่อสร้างการสุ่มเลือกผู้ลงนาม คุณสามารถทำให้ผู้โจมตีข้างต้นต้องเขียนประวัติที่ยาวนานใหม่ได้ มักกล่าวกันว่าสิ่งนี้จะ "ป้องกันการโจมตีระยะสั้น"
เห็นได้ชัดว่าสิ่งนี้ยังคงไม่สามารถแก้ปัญหาการจำลองแบบไม่มีต้นทุนได้ ท้ายที่สุด การสร้างสาขาประวัติเป็นเรื่องง่ายไม่ว่าจะนานแค่ไหน ตราบใดที่การสร้างประวัตินั้นง่าย อย่างไรก็ตาม ผู้เสนอมักจะกล่าวว่ามีประวัติที่สร้างขึ้นโดยผู้ลงนามที่ซื่อสัตย์ จำนวนบล็อกที่สะสมในห่วงโซ่นี้ยังสอดคล้องกับเวลาที่ยาวนานขึ้นในโลกแห่งความเป็นจริง และการแก้ไขประวัตินี้จะเกี่ยวข้องกับผู้เข้าร่วม ความขัดแย้ง ดังนั้นผู้คนสามารถตรวจจับและรู้ว่าเป็นการโจมตีและปฏิเสธได้
หากซอฟต์แวร์ใช้กฎที่นี่อย่างถูกต้อง ก็ไม่เป็นไร แต่จะเปลี่ยนรูปแบบความน่าเชื่อถือที่ใช้โดยระบบเช่น Bitcoin ผู้ที่เพิ่งเริ่มใช้เครือข่ายต้องเผชิญกับเรื่องราวมากมายและไม่สามารถบอกได้อีกต่อไปว่าเรื่องใดจริงด้วยตัวพวกเขาเอง พวกเขาจำเป็นต้องถามผู้เข้าร่วมที่มีอยู่ในเครือข่าย (อาจเป็นเพื่อน ครอบครัว บริษัทขนาดใหญ่ที่มีชื่อเสียง เว็บไซต์สาธารณะ ฯลฯ .) ประวัติศาสตร์ไหนจริง. นี่ไม่ใช่กลไกฉันทามติแบบกระจาย! นี่เป็นกลไกฉันทามติอีกประเภทหนึ่ง และในขณะที่สามารถจัดตั้งขึ้นแบบกระจายอำนาจในหมู่เพื่อนที่ออนไลน์ตลอดเวลา ผู้ใช้ใหม่และผู้ที่ออฟไลน์เป็นเวลานานต้องเชื่อใจใครบางคน โดยธรรมชาติ โมเดลนี้มีความเสี่ยงสูงต่อแรงกดดันทางกฎหมาย การโจมตีหน่วยงานที่ "เชื่อถือได้" และการโจมตีทางไซเบอร์
4.4 ข้อพิจารณาอื่นๆ
อ้าง [Poe14b] อีกครั้ง:


