เติมเต็มความรู้

Jan 16 2023
โดย James Austgen, Kushal Babel, Vitalik Buterin, Phil Daian, Ari Juels และ Mahimna Kelkar 'ในชีวิตนี้ เราต้องการอะไรนอกจากข้อเท็จจริงครับท่าน; ไม่มีอะไรนอกจากข้อเท็จจริง!' — Charles Dickens, Hard Times ในบทความที่เราเผยแพร่ในวันนี้ เราแนะนำแนวคิดการเข้ารหัสใหม่ที่เราเรียกว่าการพิสูจน์ความรู้ที่สมบูรณ์ (CK) เรายังรายงานเกี่ยวกับต้นแบบที่นำเสนอเส้นทางสู่การทำให้ CK ใช้งานได้จริงกับสมาร์ทโฟน

โดย James Austgen, Kushal Babel, Vitalik Buterin, Phil Daian, Ari Juels และ Mahimna Kelkar

'ในชีวิตนี้ เราต้องการอะไรนอกจากข้อเท็จจริงครับท่าน; ไม่มีอะไรนอกจากข้อเท็จจริง!'

— ชาร์ลส์ ดิกเกนส์, Hard Times

ในเอกสารที่เราเผยแพร่ในวันนี้เราแนะนำแนวคิดการเข้ารหัสใหม่ที่เราเรียกว่าการพิสูจน์ความรู้ที่สมบูรณ์ (CK) เรายังรายงานเกี่ยวกับต้นแบบที่นำเสนอเส้นทางสู่การทำให้ CK ใช้งานได้จริงกับสมาร์ทโฟน

การพิสูจน์ความรู้ ตามชื่อของพวกเขาทำให้ฝ่ายหนึ่ง เช่น อลิซ สามารถโน้มน้าวอีกฝ่าย เช่น บ๊ อบว่าเธอรู้ความลับบางอย่าง — เช่น รหัสส่วนตัวSK ลายเซ็นดิจิทัลเป็นตัวอย่าง พิจารณาการทำธุรกรรม cryptocurrency Tที่สร้างขึ้นโดย Alice ซึ่งใช้จ่ายเงินจากที่อยู่A ของ เธอ เพื่อให้ถูกต้องT ต้องได้รับการ เซ็นชื่อแบบดิจิทัลด้วยคีย์ส่วนตัวSKสำหรับA ลายเซ็นดิจิทัลที่นี่พิสูจน์ว่าอลิซในฐานะผู้สร้างT รู้จักคีย์SK นี่คือหลักฐานความรู้ของSKที่ทำให้การทำธุรกรรมถูกต้อง: ในระบบ cryptocurrency เจ้าของที่อยู่Aคือตามนิยาม ใครก็ตาม ที่รู้จักSK

การพิสูจน์ความรู้เป็นแกนนำในการออกแบบระบบเข้ารหัสลับ อย่างไรก็ตาม ปรากฎว่าระบบพิสูจน์ความรู้ที่มีอยู่มีข้อจำกัดที่ร้ายแรง: อลิซอาจสามารถสร้างหลักฐานที่น่าเชื่อถือได้ว่าเธอรู้จักSKแต่เธอก็ยังอาจไม่รู้จริง

นี่คือการเปรียบเทียบ สมมติว่า Mallory ต้องการ ปรากฏตัวในฐานะผู้เข้าแข่งขันในรายการJeopardy เธอให้สัมภาษณ์กับพิธีกรรายการ (มายิม เบียลิค) มัลลอรี่รู้ว่าเธอจะได้รับคำถามในระหว่างการสัมภาษณ์เกี่ยวกับเมืองหลวงของรัฐในสหรัฐฯ ซึ่งเธอไม่เคยเรียนในโรงเรียน (เธอยุ่งกับการพลิก NFT ระหว่างบทเรียนภูมิศาสตร์) เธอจึงตัดสินใจโกง อลิซเพื่อนของมัลลอรี่รู้จักเมืองหลวงของรัฐทั้งหมดทางซีกตะวันออกของสหรัฐอเมริกา ส่วนบ็อบเพื่อนของเธอรู้จักเมืองหลวงทางตะวันตก มัลลอรี่จึงซ่อนอุปกรณ์สื่อสารไร้สายไว้ในหูแต่ละข้าง หูข้างซ้ายของเธอสื่อสารกับอลิซ หูข้างขวาของเธอสื่อสารกับบ๊อบ ต้องขอบคุณการหลอกลวงของมัลลอรี เมื่อเธอถามเมืองหลวงของรัฐต่างๆ ของสหรัฐฯ ระหว่างการสัมภาษณ์ เธอมักจะตอบถูกเสมอ

แต่มัลลอรี่รู้จักเมืองหลวงของรัฐทั้งหมดในสหรัฐอเมริกาหรือไม่? ไม่ชัดเจน อลิซหรือบ๊อบ? คำตอบยังคงไม่ เราอาจพูดได้ว่าอลิซและบ็อบรู้จักเมืองหลวงของรัฐทั้งหมดในสหรัฐอเมริกาด้วยกัน แต่สมมติว่าอลิซเชื่อโชคลางแปลกๆ และปฏิเสธที่จะตอบคำถามเกี่ยวกับทุนของรัฐในวันศุกร์ เรายังพูดได้ไหมว่าอลิซและบ็อบมีความรู้เกี่ยวกับเมืองหลวงของรัฐทั้งหมดของสหรัฐฯ ด้วยกัน ใช่และไม่. ความรู้มีอยู่ในหัวของอลิซและบ็อบแต่ไม่จำเป็นต้องดึงข้อมูลออกมาตามที่ต้องการ ถ้ามัลลอรี่ให้ สัมภาษณ์ เรื่อง Jeopardyในวันศุกร์ เธอกำลังมีปัญหา

ความรู้ที่สมบูรณ์ระบุถึงช่องว่างในลักษณะนี้ในการมีความรู้ ในการเปรียบเทียบของเรา การที่อลิซปฏิเสธที่จะตอบคำถามในวันศุกร์เป็นการจำกัดการเข้าถึงความรู้ที่เราเรียกว่าภาระผูกพัน เพื่ออธิบายว่าข้อพิสูจน์ความรู้ที่มีอยู่ในวิทยาการเข้ารหัสลับยังบกพร่องอยู่ตรงไหน คุณควรเริ่มต้นด้วยตัวอย่างที่อาจเป็นปัญหาของการมีคีย์ลับโดยเฉพาะ

ปัญหาภาระผูกพัน

มีสองเทคโนโลยีที่แตกต่างกันที่สามารถขัดขวางความลับได้: สภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) และการประมวลผลแบบหลายฝ่ายที่ปลอดภัย (MPC)

TEE เป็นสภาพแวดล้อมการคำนวณที่คล้ายกับกล่องดำ: สถานะภายในของพวกมันทึบแสงและทนต่อการงัดแงะ การใช้ฮาร์ดแวร์หรือซอฟต์แวร์อย่างใดอย่างหนึ่ง จะบังคับใช้ทั้งความสมบูรณ์และความเป็นส่วนตัวของการดำเนินการแอปพลิเคชัน ให้การป้องกันการปลอมแปลงและการสังเกตแม้กระทั่งโดยเจ้าของเครื่องที่โค้ดทำงานอยู่ ตัวอย่างของ TEE ได้แก่ วงล้อม (เช่น ARM Trustzone) บนอุปกรณ์พกพาและ Intel Software Guard eXtensions (SGX) ซึ่งมีอยู่ในเซิร์ฟเวอร์คลาวด์บางเซิร์ฟเวอร์

ในทางกลับกัน MPC เป็นวิธีการแบบอัลกอริทึมเพื่อให้บรรลุเป้าหมายความปลอดภัยเดียวกัน มันแยกความลับและการคำนวณระหว่างกลุ่มของเซิร์ฟเวอร์ที่มักเรียกว่าคณะกรรมการ ความปลอดภัยของ MPC ขึ้นอยู่กับองค์ประชุมของเซิร์ฟเวอร์ในคณะกรรมการ (เช่น เสียงข้างมาก) ที่ประพฤติถูกต้อง

เนื่องจาก TEE ใช้งานได้จริงและแพร่หลายมากกว่า MPC ในปัจจุบัน เราจะมุ่งเน้นไปที่ TEE ในตัวอย่างต่อไปนี้ โดยเริ่มจากการโจมตีบน TEE บนระบบการลงคะแนนแบบบล็อกเชน ต่อไปนี้คือตัวอย่างที่เกี่ยวข้องกับการโจมตีแผนการลงคะแนนเสียง

ปัญหาของการติดสินบนที่รัดกุมและซ่อนเร้นในตัวอย่างนี้ไม่ได้ส่งผลกระทบต่อแผนการลงคะแนนเสียงบล็อกเชนที่ออกแบบอย่างไร้เดียงสาเท่านั้น แต่ยังรวม ถึงแผนการที่ออกแบบมาเพื่อต่อต้านการติดสินบนโดยเฉพาะ เช่น Minimal Anti-Colllusion Infrastructure (MACI)

ที่แย่ไปกว่านั้น TEE สามารถสร้างแรงจูงใจอย่างลับๆ และ ขยายชุมชนผู้ใช้ด้วยการโจมตีแบบรวมเป็นหนึ่งต่อโปรโตคอล ซึ่งเป็นแนวคิดที่เราเคยขนานนามว่าDark DAO การโจมตีดังกล่าวอาจเกี่ยวข้องกับการไม่เพียงแค่ยุ่งเกี่ยวกับคะแนนเสียงเท่านั้น แต่ยังเป็นการปั่นราคาสินทรัพย์และอาจโจมตีระบบนอกเครือข่ายด้วย

สิ่งที่เป็นอันตรายอย่างยิ่งคือหากอลิซส่งธุรกรรมที่ลงนามไปยังสัญญาอัจฉริยะโดยใช้SK คีย์ ที่มีข้อผูกมัด ไม่มีทางที่สัญญาจะบอกได้ ธุรกรรมของอลิซจะมีลักษณะเหมือนกับธุรกรรมที่สร้างด้วยคีย์ที่ไม่มีข้อผูกมัด ดังนั้น ดูเหมือนว่าเป็นไปไม่ได้เลยที่จะป้องกันการโจมตีแบบติดสินบนในลักษณะที่แสดงในตัวอย่างของเรา

แต่มันจริงเหรอ?

รับประกันความรู้ที่สมบูรณ์

ปรากฎว่ามีวิธีที่จะมั่นใจได้ว่าคีย์SK นั้นไม่มีภาระผูกพัน — โดยเฉพาะอย่างยิ่งว่าใครบางคนสามารถเข้าถึงSK ได้ โดยตรง นี่คือสิ่งที่เราหมายถึงโดย Complete Knowledge ผลกระทบของ CK คือแผนการติดสินบนในตัวอย่างของเราจะไม่ทำงาน เพราะไม่มีทางที่ผู้ใช้ที่ประสงค์ร้ายอย่าง Mallory จะป้องกันไม่ให้ผู้ใช้ใช้กุญแจของเธอตามที่เธอเลือก

มีสองวิธีพื้นฐานในการบังคับใช้ CK ทั้งสองอย่างทำให้เกิดสิ่งที่เราเรียกว่าการพิสูจน์ความรู้ที่สมบูรณ์ (PoCK) และโดยเฉพาะสิ่งที่ไม่มีความรู้เช่น ไม่เปิดเผยSK:

  1. แนวทาง การ ต่อสู้แบบไฟต่อไฟ

ผู้ใช้ส่วนใหญ่มี TEE บนโทรศัพท์มือถือ เราแสดงไว้ในเอกสารของเราว่าสามารถใช้ในรูปแบบ CK สำหรับการลงคะแนนเสียงหรือแอปพลิเคชันอื่น ๆ ได้อย่างไร

อย่างไรก็ตาม ดังที่เรากล่าวถึงในรายงานของเรา มีข้อจำกัดทางเทคนิคบางประการสำหรับ TEE โดยเฉพาะในโทรศัพท์มือถือ ดังนั้นเราจึงพิจารณาแนวทางที่สองด้วย

2. วิธีการพิสูจน์ผลงาน

วิธีการนี้เป็นวิธีการที่สวนทางกับสัญชาตญาณเล็กน้อย มันเกี่ยวข้องกับการใช้ ASIC สำหรับการขุด เช่น อุปกรณ์ฮาร์ดแวร์การขุดแบบพิสูจน์การทำงาน เช่น ชนิดที่ใช้กับ Bitcoin ASIC มีคุณสมบัติที่ดีสองประการสำหรับวัตถุประสงค์ของ CK พวกเขาสามารถดำเนินการคำนวณบางอย่าง เช่นการแฮชเร็วกว่า CPU หรือ GPU ทั่วไปมาก — เร็วกว่า CPU ที่ล้ำสมัยถึงหนึ่งล้านเท่า! และไม่รวม TEE²

ดึงและปรับเปลี่ยนเทคนิคจากวรรณกรรมเกี่ยวกับทฤษฎีการพิสูจน์ความรู้ เราได้ออกแบบโปรโตคอลที่เกี่ยวข้องกับการใช้ ASIC สำหรับการขุดในลักษณะที่เกี่ยวข้องกับSK (แต่ซ่อนไว้อย่างชาญฉลาด) โปรโตคอลนี้สร้างหลักฐานว่าSKถูกส่งไปยัง ASIC เช่น PoCK เนื่องจาก ASIC ไม่มี TEE หมายความว่าSKเปิดเผยต่อผู้ใช้ ASIC ได้อย่างมีประสิทธิภาพ คุณสมบัตินี้เทียบเท่ากับสิ่งที่ทำโดยแอปพลิเคชัน TEE พิเศษของ RBU โดยหลักแล้วคือการแยกSK ออก โดยตรงไปยังผู้ใช้ เนื่องจาก ASIC เร็วกว่าแพลตฟอร์มที่รองรับ TEE อย่างมาก จึงไม่มีทางสร้าง PoCK ที่เทียบเท่าได้โดยใช้ TEE

เอกสารของเราแสดงการทดลองว่าแม้จะใช้ ASIC ราคาถูก (ประมาณ 200 ดอลลาร์) ที่ล้าสมัย (ประมาณปี 2017) ก็เป็นไปได้ที่จะใช้ PoCK ที่มีความปลอดภัยสูง

การประยุกต์ใช้ CK Beyond Bribery-Resistance

แม้ว่าเราจะออกแบบ CK ในขั้นต้นเพื่อจัดการกับภัยคุกคามของการติดสินบนในแผนการลงคะแนน แต่ก็มีแอปพลิเคชันอื่นๆ อีกมากมาย CK สามารถช่วยป้องกันภาระผูกพันของข้อมูลประจำตัวแบบกระจายอำนาจ เช่น การยืนยันว่าผู้ใช้ผ่านการตรวจสอบการต่อต้านการฟอกเงินอย่างเข้มงวด นี่เป็นสิ่งสำคัญในการป้องกันเหตุร้ายต่างๆ ที่อาจเกิดขึ้นได้ หากผู้ใช้สามารถเช่าข้อมูลประจำตัวของตนได้ เช่น ตลาดข้อมูลประจำตัวสำหรับการเลี่ยงการคว่ำบาตร

CK ยังมีแอพพลิเคชั่นที่น่าสนใจในตลาด NFT ตัวอย่างเช่น สามารถช่วยให้มั่นใจถึงการบังคับใช้การจ่ายค่าลิขสิทธิ์สำหรับศิลปิน ทุกวันนี้ ค่าสิทธิถูกบังคับใช้นอกเครือข่ายเท่านั้น กล่าวคือ ตลาด NFT สมัครใจ โดยหลักการแล้วพวกเขาสามารถบังคับใช้บนเครือข่าย แทน ในสัญญาอัจฉริยะ ซึ่งในกรณีนี้จะต้องบังคับใช้ เหตุผลหนึ่งที่การจ่ายค่าลิขสิทธิ์ภาคบังคับไม่ถือว่าเป็นแนวปฏิบัติที่ดีก็คือ ผู้ใช้ที่โอน NFT ระหว่างที่อยู่ของตนเองจะต้องจ่ายค่าลิขสิทธิ์อย่างไม่เป็นธรรม ปัญหาคือไม่มีวิธีแยกแยะระหว่างที่อยู่ผู้ส่งSและที่อยู่ผู้รับRที่เป็นของผู้ใช้คนเดียวกับที่อยู่SและRเป็นของผู้ใช้ที่แตกต่างกัน ดังนั้นจึงไม่มีวิธีแยกแยะระหว่างการโอนผู้ใช้คนเดียวกับการเปลี่ยนเจ้าของ NFT

ด้วย CK แม้ว่าจะสามารถแยกแยะได้ อาจต้องใช้สัญญาตลาด NFT สำหรับการถ่ายโอนแบบปลอดค่าลิขสิทธิ์ ซึ่ง PoCK จะถูกนำไปใช้พร้อมกันกับRและSเพื่อพิสูจน์ว่าหน่วยงานเดียวรู้ทั้งสองอย่าง คุณสมบัตินี้เป็นค่าประมาณที่ดีในการเป็นเจ้าของคนเดียว อย่างน้อยที่สุด เราเชื่อว่าแนวทางที่ใช้ CK นี้สามารถลดแรงจูงใจในการหลีกเลี่ยงค่าลิขสิทธิ์ได้อย่างมาก³

แอป พลิเคชั่นที่น่าสนใจอีกอย่างของ CK กับ NFT คือแนวคิดที่เราเรียกว่าAtomic NFT เป็นเรื่องปกติที่จะแบ่ง NFT ราคาแพง ออกเป็นเศษส่วน นั่นคือ แบ่งความเป็นเจ้าของออกเป็นชิ้นเล็กชิ้นน้อย ดังเช่นที่เกิดขึ้นกับDoge NFT

อย่างไรก็ตาม ศิลปินหลายคนที่เราพูดคุยด้วยชอบให้บุคคลคนเดียวเป็นเจ้าของและชื่นชมผลงานของพวกเขา Atomic NFT นำเสนอวิธีสร้าง NFT ที่เคารพความต้องการนี้และรับประกันความเป็นเจ้าของแต่เพียงผู้เดียว เพื่อแสดงให้เห็นถึงความสามารถนี้ เราได้สร้างคอลเลกชันเล็กๆ ของ Atomic NFT ซึ่งแสดงไว้ที่นี่

บทสรุป

การพิสูจน์ความรู้เป็นแนวคิดที่มีมานานหลายสิบปีในการเข้ารหัส แต่เทคโนโลยีใหม่ที่มีประสิทธิภาพ (ish) เช่น TEE และ MPC คุกคามการยกระดับแนวการพิสูจน์ความรู้แบบคลาสสิกผ่านการปิดกั้นของความลับ CK เสนอวิธีการป้องกันสิ่งกีดขวางดังกล่าวและฟื้นฟูแนวคิดความรู้โดยสัญชาตญาณที่เป็นของเอนทิตีหรือปัจเจกบุคคล นอกเหนือจากการเสนอวิธีแก้ไขสำหรับการโจมตีที่มีเงื่อนไขเป็นข้อผูกมัด เช่น การติดสินบนในรูปแบบการลงคะแนนเสียง มันยังนำเสนอแอพพลิเคชั่นใหม่ ๆ มากมาย

เราเชื่อว่า CK สามารถนำไปใช้ได้จริง เราได้ใช้ระบบ ASIC แบบ end-to-end พร้อมสัญญาอัจฉริยะที่ตรวจสอบหลักฐาน PoCK ระบบต้นแบบของเรามีการลงทะเบียนที่อยู่ตามสัญญาอัจฉริยะที่พิสูจน์แล้วว่าสอดคล้องกับ CK เรายังได้ติดตั้งระบบต้นแบบโดยใช้ TEE บนโทรศัพท์มือถือ ต้นแบบของเรายังไม่พร้อมสำหรับช่วงเวลาไพร์มไทม์ แต่เราเชื่อว่ามีเส้นทางสู่การใช้งานจริงและการผลิตจริง คุณสามารถค้นหาเครื่องมือของเรา ในเวอร์ชันโอเพ่นซอร์สได้ที่นี่ เรายินดีรับความร่วมมือจากโครงการต่างๆ ที่สนใจในการทำให้เป็นจริง

¹ น่ายินดีที่ TEE ไม่สามารถซ้อนกันได้ ดังนั้นจึงไม่มีวิธีที่ชาญฉลาดสำหรับ Mallory ในการรวมแอปพลิเคชัน TEE ของ RBU และด้วยเหตุนี้จึงยังเป็นอุปสรรคต่อคีย์ของผู้ใช้

² ASIC ส่วนใหญ่มีการรักษาความปลอดภัยออนบอร์ดน้อยมาก พวกเขาไม่รองรับเครือข่ายเข้ารหัสด้วยซ้ำ ดังที่เราค้นพบเมื่อ ASIC ของเราถูกบุกรุกโดยแฮ็กเกอร์ระยะไกลหลายครั้งในระหว่างการทดลองของเรา

³ มีข้อแม้อยู่ตรงนี้ ดังที่เรากล่าวถึงในรายงานของเรา หากกลไกการกู้คืนทางสังคมกลายเป็นเรื่องธรรมดา การพิสูจน์ CK ของการรู้คีย์พร้อมกันจะไม่ทำงานอีกต่อไป