Vitalik: Centralized Exchanges สามารถพิสูจน์เงินทุนของพวกเขาได้อย่างไร?

กลาง12/4/2023, 1:55:58 PM
งานชิ้นนี้จะเจาะลึกถึงความพยายามในอดีตในการทำธุรกรรมให้เข้าใกล้ความไร้ความน่าเชื่อถือ ข้อจำกัดของเทคโนโลยีเหล่านี้ และแนวคิดที่ใหม่กว่าและมีประสิทธิภาพมากขึ้นโดยใช้ ZK-SNARK และเทคโนโลยีขั้นสูงอื่นๆ

เมื่อใดก็ตามที่การแลกเปลี่ยนแบบรวมศูนย์ที่สำคัญพังทลายลง คำถามทั่วไปก็เกิดขึ้น: เราจะใช้เทคโนโลยีการเข้ารหัสเพื่อแก้ไขปัญหาได้หรือไม่ Exchange สามารถสร้างหลักฐานการเข้ารหัสลับที่แสดงว่าเงินทุนที่พวกเขาถืออยู่บนเครือข่ายนั้นเพียงพอที่จะครอบคลุมความรับผิดต่อผู้ใช้ แทนที่จะอาศัยเพียงวิธีการ "ทางกฎหมาย" เช่น การอนุญาตจากรัฐบาล การตรวจสอบผู้ตรวจสอบบัญชี และการตรวจสอบภูมิหลังส่วนบุคคลของผู้ที่จัดการและดำเนินการ แลกเปลี่ยน. ตลาดแลกเปลี่ยนสามารถสร้างระบบที่เป็นไปไม่ได้โดยพื้นฐานแล้วที่จะถอนเงินของผู้ฝากโดยไม่ได้รับความยินยอมจากพวกเขา เป็นไปได้ว่าเราสามารถสำรวจสเปกตรัมทั้งหมดระหว่าง CEX ที่มีความทะเยอทะยานและมีจิตใจดีที่ “ไม่ทำสิ่งเลวร้าย” และ DEX แบบออนไลน์ที่ “ไม่สามารถทำสิ่งเลวร้ายได้” แต่ในปัจจุบันไม่มีประสิทธิภาพและทำให้ความเป็นส่วนตัวรั่วไหล บทความนี้จะเจาะลึกถึงความพยายามในอดีตในการทำธุรกรรมให้เข้าใกล้ความไร้ความน่าเชื่อถือ ข้อจำกัดของเทคโนโลยีเหล่านี้ และแนวคิดที่ใหม่กว่าและมีประสิทธิภาพมากขึ้นโดยใช้ ZK-SNARK และเทคโนโลยีขั้นสูงอื่นๆ

งบดุลและต้นไม้ Merkle: หลักฐานการละลายของโรงเรียนเก่า

ความพยายามแรกสุดของการแลกเปลี่ยนเพื่อใช้วิธีการเข้ารหัสเพื่อพิสูจน์ว่าพวกเขาไม่ได้หลอกลวงผู้ใช้นั้นสามารถสืบย้อนกลับไปได้ไกล ในปี 2011 MtGox ซึ่งเป็นตลาดแลกเปลี่ยน Bitcoin ที่ใหญ่ที่สุดในขณะนั้น ได้พิสูจน์ว่าพวกเขามีเงินทุนโดยการโอน 424242 BTC ไปยังที่อยู่ที่ประกาศไว้ล่วงหน้า ในปี 2013 การอภิปรายเริ่มต้นขึ้นเกี่ยวกับวิธีการพิสูจน์อีกด้านหนึ่งของสมการ: ขนาดรวมของเงินฝากของลูกค้า หากคุณพิสูจน์เงินฝากของลูกค้าเท่ากับ X (“หลักฐานความรับผิด”) และพิสูจน์ความเป็นเจ้าของคีย์ส่วนตัวสำหรับเหรียญ X (“หลักฐานสินทรัพย์”) คุณมีหลักฐานการละลาย: คุณได้แสดงให้เห็นว่าการแลกเปลี่ยนมีเงินทุนที่จะชำระคืนทั้งหมด ผู้ฝากเงิน

วิธีที่ง่ายที่สุดในการพิสูจน์เงินฝากคือการเผยแพร่รายการคู่ (ชื่อผู้ใช้ ยอดคงเหลือ) ผู้ใช้แต่ละรายสามารถตรวจสอบได้ว่ารวมยอดคงเหลือของตนแล้วหรือไม่ และใครๆ ก็สามารถตรวจสอบรายการทั้งหมดเพื่อให้แน่ใจว่า (i) ยอดคงเหลือแต่ละรายการไม่เป็นลบ และ (ii) ยอดรวมเท่ากับจำนวนเงินที่อ้างสิทธิ์ อย่างไรก็ตาม สิ่งนี้เป็นการละเมิดความเป็นส่วนตัว ดังนั้นจึงอาจมีการแก้ไขเล็กน้อย: เผยแพร่รายการคู่ (แฮช (ชื่อผู้ใช้ เกลือ) ยอดคงเหลือ) และส่งค่าเกลือให้ผู้ใช้แต่ละรายเป็นการส่วนตัว แต่ถึงกระนั้นข้อมูลความสมดุลและรูปแบบของการเปลี่ยนแปลงความสมดุลก็รั่วไหล ความปรารถนาที่จะปกป้องความเป็นส่วนตัวนำเราไปสู่สิ่งประดิษฐ์ถัดไป: เทคโนโลยี Merkle tree (หรือที่เรียกว่า hash tree)

สีเขียว: โหนดชาร์ลี สีน้ำเงิน: โหนด David ซึ่งเป็นโหนดที่ชาร์ลีจะได้รับเป็นส่วนหนึ่งของการพิสูจน์ของเขา สีเหลือง: โหนดรูท แสดงต่อสาธารณะแก่ทุกคน

เทคโนโลยีต้นไม้ของ Merkle เกี่ยวข้องกับการวางงบดุลของลูกค้าลงในต้นไม้ผลรวมของ Merkle ในแผนผังนี้ แต่ละโหนดจะเป็นคู่ (สมดุล, แฮช) โหนดลีฟชั้นล่างแสดงถึงยอดคงเหลือของลูกค้าแต่ละรายและค่าแฮชแบบ Salted ของชื่อผู้ใช้ของพวกเขา ในแต่ละโหนดระดับที่สูงกว่า ยอดคงเหลือคือผลรวมของยอดคงเหลือทั้งสองด้านล่าง และค่าแฮชคือแฮชของทั้งสองโหนดด้านล่าง การพิสูจน์ผลรวมของ Merkle ก็เหมือนกับการพิสูจน์ Merkle คือ "กิ่งก้าน" ของต้นไม้ ซึ่งประกอบด้วยโหนดพี่น้องบนเส้นทางจากใบหนึ่งไปยังอีกรากหนึ่ง

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

การรั่วไหลของความเป็นส่วนตัวในการออกแบบนี้ต่ำกว่ารายการสาธารณะทั้งหมดมาก และสามารถลดลงได้อีกโดยการสับสาขาทุกครั้งที่มีการเผยแพร่รูท อย่างไรก็ตาม ยังคงมีการรั่วไหลของความเป็นส่วนตัวอยู่บ้าง Charlie สามารถรู้ได้ว่ามีใครบางคนมียอดคงเหลือ 164 ETH ยอดรวมของยอดคงเหลือของผู้ใช้สองคนคือ 70 ETH เป็นต้น ผู้โจมตีที่ควบคุมหลายบัญชียังสามารถเรียนรู้มากมายเกี่ยวกับผู้ใช้ของการแลกเปลี่ยน

ลักษณะที่ละเอียดอ่อนแต่สำคัญของโครงการนี้คือความเป็นไปได้ของยอดคงเหลือติดลบ: จะเกิดอะไรขึ้นหากการแลกเปลี่ยนที่มียอดคงเหลือของลูกค้า 1390 ETH มีเงินสำรองเพียง 890 ETH และพยายามที่จะครอบคลุมการขาดแคลนโดยการเพิ่มยอดคงเหลือ -500 ETH ภายใต้บัญชีสมมติใน ต้นไม้? ปรากฎว่าความเป็นไปได้นี้ไม่ได้ทำให้โครงการเสียหาย แม้ว่านี่คือเหตุผลว่าทำไมเราถึงต้องการต้นผลรวม Merkle แทนที่จะเป็นต้น Merkle ทั่วไป สมมติว่า Henry เป็นบัญชีสมมติที่ควบคุมโดยการแลกเปลี่ยน โดยที่ -500 ETH ถูกวางไว้

การตรวจสอบหลักฐานของ Greta จะล้มเหลว: ตลาดแลกเปลี่ยนจะต้องเสนอโหนด -500 ETH ของ Henry ซึ่งเธอจะปฏิเสธเนื่องจากไม่ถูกต้อง การตรวจสอบของ Eve และ Fred ก็จะล้มเหลวเช่นกัน เนื่องจาก ETH ทั้งหมดบนโหนดกลางเหนือ Henry อยู่ที่ -230 ทำให้พวกมันไม่ถูกต้องเช่นกัน! เพื่อหลีกเลี่ยงการถูกขโมย บริษัทแลกเปลี่ยนจะต้องหวังว่าจะไม่มีใครที่อยู่ครึ่งขวาของแผนผังทั้งหมดตรวจสอบหลักฐานยอดเงินคงเหลือของตน

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

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

ปรับปรุงความเป็นส่วนตัวและความคงทนด้วย ZK-SNARK

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

สิ่งที่ง่ายที่สุดที่เราสามารถทำได้คือนำเงินฝากของผู้ใช้ทั้งหมดไปไว้ในแผนผัง Merkle (หรือพูดง่ายๆ ก็คือ ความมุ่งมั่นของ KZG) และใช้ ZK-SNARK เพื่อพิสูจน์ว่ายอดคงเหลือทั้งหมดในแผนผังไม่เป็นลบและรวมกันเป็นมูลค่าที่อ้างสิทธิ์ . การเพิ่มชั้นของการแฮชเพื่อความเป็นส่วนตัว โดยการให้สาขา Merkle แก่ผู้ใช้แต่ละคน (หรือหลักฐาน KZG) จะไม่เปิดเผยยอดคงเหลือของผู้ใช้รายอื่น

การใช้ข้อผูกพันของ KZG เป็นวิธีการหลีกเลี่ยงการรั่วไหลของความเป็นส่วนตัว เนื่องจากไม่จำเป็นต้องจัดเตรียม “โหนดพี่น้อง” ไว้เป็นหลักฐาน คุณสามารถใช้ ZK-SNARK แบบธรรมดาเพื่อพิสูจน์ผลรวมของยอดคงเหลือ และยอดคงเหลือแต่ละรายการไม่เป็นลบ เราสามารถใช้ ZK-SNARK เฉพาะทางเพื่อพิสูจน์ผลรวมและค่าไม่เป็นลบของยอดคงเหลือใน KZG ที่กล่าวมาข้างต้น นี่เป็นตัวอย่างง่ายๆ ที่ทำให้บรรลุเป้าหมายนี้ เราแนะนำพหุนามเสริมซึ่ง "สร้างบิตของแต่ละยอดคงเหลือ" (เพื่อจุดประสงค์ในการอธิบาย สมมติว่ายอดคงเหลืออยู่ภายใน ) และทุกๆ 16 ตำแหน่งจะติดตามผลรวมที่กำลังดำเนินอยู่โดยมีออฟเซ็ต ดังนั้นผลรวมจะเป็นศูนย์เฉพาะเมื่อผลรวมจริงคือ สอดคล้องกับยอดรวมที่ประกาศไว้ ถ้า z เป็นรากที่ -128 ของความสามัคคี เราสามารถพิสูจน์สมการต่อไปนี้ได้

ค่าแรกในการตั้งค่าที่มีประสิทธิผลคือ 0 0 0 0 0 0 0 0 0 0 1 2 5 10 20 -165 0 0 0 0 0 0 0 0 1 3 6 12 25 50 -300… เพื่อให้เข้าใจว่าสมการดังกล่าวสามารถแปลงได้อย่างไร ในการตรวจสอบพหุนามและจากนั้นใน ZK-SNARK โปรดดู บทความของฉันเกี่ยวกับ ZK-SNARK สำหรับคำอธิบายเพิ่มเติม ที่นี่ และ ที่นี่ แม้ว่าจะไม่ใช่โปรโตคอลที่ดีที่สุด แต่ก็แสดงให้เห็นอย่างแท้จริงว่าการพิสูจน์การเข้ารหัสประเภทนี้ไม่ได้ลึกลับเหมือนในทุกวันนี้!

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

ในระยะยาว หลักฐานหนี้ ZK ประเภทนี้สามารถนำมาใช้ได้ไม่เพียงแต่สำหรับการฝากเงินของลูกค้าที่ตลาดแลกเปลี่ยนเท่านั้น แต่ยังรวมถึงสินเชื่อในวงกว้างด้วย เมื่อใดก็ตามที่ใครก็ตามกู้ยืมเงิน พวกเขาจะบันทึกลงในพหุนามหรือแผนภูมิต้นไม้ที่มีเงินกู้นั้น โดยรากของโครงสร้างนี้จะถูกเผยแพร่บนห่วงโซ่ วิธีนี้จะช่วยให้ใครก็ตามที่กำลังมองหาเงินกู้เพื่อแสดงหลักฐาน ZK แก่ผู้ให้กู้ว่าพวกเขาไม่ได้ยืมเงินกู้ยืมอื่นมากเกินไป ท้ายที่สุดแล้ว นวัตกรรมด้านกฎหมายอาจทำให้สินเชื่อที่กระทำในลักษณะนี้มีลำดับความสำคัญสูงกว่าสินเชื่อที่ไม่มีข้อผูกมัด สิ่งนี้นำเราไปสู่ทิศทางเดียวกับแนวคิดที่กล่าวถึงใน "Decentralized Society: Finding the Soul of Web3 ": การสร้างแนวคิดเกี่ยวกับชื่อเสียงเชิงลบหรือหลักประกันในห่วงโซ่ผ่านรูปแบบของ "โทเค็นแห่งจิตวิญญาณ" บางรูปแบบ

หลักฐานแสดงทรัพย์สิน

การพิสูจน์สินทรัพย์เวอร์ชันที่ง่ายที่สุดคือโปรโตคอลที่เราเคยเห็นด้านบน: เพื่อพิสูจน์ว่าคุณถือเหรียญจำนวน X คุณเพียงแค่ต้องย้ายเหรียญ X ตามเวลาที่ตกลงไว้ล่วงหน้าหรือในธุรกรรมที่มีข้อความ “เงินเหล่านี้เป็นของ Binance” ในช่องข้อมูล เพื่อหลีกเลี่ยงค่าธรรมเนียมการทำธุรกรรม คุณสามารถลงนามในข้อความนอกเครือข่ายได้ ทั้ง Bitcoin และ Ethereum มีมาตรฐานสำหรับข้อความลายเซ็นนอกเครือข่าย

เทคนิคการพิสูจน์สินทรัพย์แบบง่ายๆ นี้มีสองประเด็นในทางปฏิบัติ:

  1. การประมวลผล "ห้องเย็น"

  2. การใช้หลักประกันแบบคู่

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

ธุรกรรมอาจมีหลายเส้นทาง:

  • รักษาที่อยู่ระยะยาวบางส่วนที่เปิดเผยต่อสาธารณะ Exchange จะสร้างที่อยู่หลายแห่ง เผยแพร่หลักฐานการเป็นเจ้าของในแต่ละครั้ง จากนั้นนำที่อยู่เหล่านี้กลับมาใช้ใหม่ นี่เป็นรูปแบบที่ง่ายที่สุด แม้ว่าจะเพิ่มข้อจำกัดบางประการเกี่ยวกับวิธีการปกป้องความปลอดภัยและความเป็นส่วนตัวก็ตาม

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

  • ตัวเลือก ZKP ที่ซับซ้อนยิ่งขึ้น ตัวอย่างเช่น การแลกเปลี่ยนสามารถตั้งค่าที่อยู่ทั้งหมดเป็น 1/2 ลายเซ็นหลายรายการ โดยที่คีย์ของแต่ละที่อยู่จะแตกต่างกัน และอีกอันเป็นเวอร์ชันปกปิดของคีย์สำรองฉุกเฉิน "หลัก" บางอัน ซึ่งจัดเก็บไว้ในวิธีที่ซับซ้อน แต่มีความปลอดภัยสูง เหมือนลายเซ็นหลายลายเซ็น 12/16 เพื่อปกป้องความเป็นส่วนตัวและหลีกเลี่ยงการเปิดเผยที่อยู่ทั้งชุด การแลกเปลี่ยนอาจดำเนินการพิสูจน์ความรู้เป็นศูนย์บนบล็อกเชน ซึ่งพิสูจน์ความสมดุลรวมของที่อยู่ทั้งหมดที่มีรูปแบบนี้ในห่วงโซ่

ปัญหาสำคัญอีกประการหนึ่งคือการป้องกันไม่ให้มีการใช้หลักประกันแบบคู่ขนาน การแลกเปลี่ยนสามารถส่งหลักประกันไปมาระหว่างกันได้อย่างง่ายดายเพื่อเป็นหลักฐานการสำรอง โดยแสร้งทำเป็นว่าเป็นตัวทำละลายเมื่อไม่ได้เป็นเช่นนั้น ตามหลักการแล้ว การพิสูจน์ความสามารถในการละลายจะเป็นแบบเรียลไทม์ โดยจะอัปเดตการพิสูจน์หลังทุกบล็อก หากไม่สามารถทำได้ ตัวเลือกที่เหมาะน้อยกว่าคือการประสานตารางเวลาที่แน่นอนระหว่างการแลกเปลี่ยนต่างๆ เช่น การพิสูจน์ทุนสำรองทุกวันอังคาร เวลา 14:00 UTC

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

อีกวิธีหนึ่งคือการแยกเอนทิตีที่ดำเนินการแลกเปลี่ยนออกอย่างชัดเจน และจัดการกับเหรียญ stablecoin ที่ได้รับการสนับสนุนจากสินทรัพย์ เช่น USDC จากเอนทิตีอื่นที่จัดการกระบวนการเงินสดไหลเข้าและไหลออกระหว่างสกุลเงินดิจิทัลและระบบธนาคารแบบดั้งเดิม (USDC เอง) เนื่องจาก “หนี้สิน” ของ USDC เป็นเพียงโทเค็น ERC20 แบบออนไลน์ การพิสูจน์ความรับผิดจึง “ฟรี” ต้องการเพียงการพิสูจน์สินทรัพย์เท่านั้น

พลาสมาและวาลิเดียม: เราจะทำให้ CEX เป็นอิสระได้หรือไม่

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

ความพยายามครั้งสำคัญครั้งแรกในเรื่องนี้คือ Plasma ซึ่งเป็นโซลูชันส่วนขยายที่ได้รับความนิยมในชุมชนการวิจัย Ethereum ในปี 2560 และ 2561 พลาสมาทำงานโดยการแบ่งสมดุลออกเป็นชุดของ “เหรียญ” แต่ละชุดที่กำหนดดัชนีและอยู่ที่ตำแหน่งเฉพาะในแผนผัง Merkle ของบล็อกพลาสมา การโอนเหรียญที่ถูกต้องต้องวางธุรกรรมในตำแหน่งที่ถูกต้องในแผนผัง โดยมีการเผยแพร่รากของแผนผังบนห่วงโซ่

แผนผังแบบง่ายของเวอร์ชันของพลาสมา เหรียญจะถูกเก็บไว้ในสัญญาอัจฉริยะ และกฎของโปรโตคอลพลาสมาจะถูกบังคับใช้ในระหว่างการถอนเงิน

OmiseGo พยายามสร้างการแลกเปลี่ยนแบบกระจายอำนาจบนโปรโตคอลนี้ แต่ตั้งแต่นั้นมา พวกเขาก็เปลี่ยนไปสู่แนวคิดอื่น ในเรื่องนี้ กลุ่มพลาสมาเองก็ได้พัฒนาเช่นกัน ซึ่งปัจจุบันกลายเป็นโครงการในแง่ดี โดยมุ่งเน้นไปที่การสรุป EVM ในแง่ดี

ข้อจำกัดทางเทคโนโลยีของ Plasma ตามที่คิดไว้ในปี 2018 (เช่น การพิสูจน์การกระจายตัวของเหรียญ) ไม่คุ้มที่จะพิจารณา นับตั้งแต่การอภิปรายเกี่ยวกับ Plasma มาถึงจุดสูงสุดในปี 2018 ZK-SNARK ก็สามารถใช้งานได้มากขึ้นในกรณีการใช้งานที่เกี่ยวข้องกับการขยาย ตามที่กล่าวไว้ข้างต้น ZK-SNARK ได้เปลี่ยนแปลงทุกสิ่งทุกอย่าง

แนวคิด Plasma เวอร์ชันที่ทันสมัยกว่าคือสิ่งที่ Starkware เรียกว่า validium: โดยพื้นฐานแล้วจะเหมือนกับ ZK-rollup ยกเว้นว่าข้อมูลจะถูกเก็บไว้นอกเครือข่าย โครงสร้างนี้สามารถใช้ได้กับกรณีการใช้งานหลายกรณี โดยเฉพาะอย่างยิ่งในกรณีที่เซิร์ฟเวอร์ส่วนกลางจำเป็นต้องเรียกใช้โค้ดบางส่วนและพิสูจน์การดำเนินการที่ถูกต้อง ในการตรวจสอบความถูกต้อง ผู้ดำเนินการไม่สามารถขโมยเงินได้ แม้ว่าเงินทุนผู้ใช้บางส่วนอาจติดอยู่หากผู้ดำเนินการหายไป ทั้งนี้ขึ้นอยู่กับรายละเอียดการใช้งาน

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

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

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

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

บทสรุป: การแลกเปลี่ยนที่ดีขึ้นในอนาคต

ในระยะสั้น มีการแลกเปลี่ยนสองประเภทที่แตกต่างกัน: การดูแลและไม่ใช่การดูแล ปัจจุบัน DEX เป็นตัวแทนอย่าง Uniswap ในอนาคต เราอาจเห็น CEX ที่ "จำกัด" ด้วยการเข้ารหัส ซึ่งเงินทุนของผู้ใช้จะถูกเก็บไว้ในสิ่งที่คล้ายกับสัญญาอัจฉริยะที่ถูกต้อง เรายังอาจเห็นการเกิดขึ้นของการแลกเปลี่ยนแบบกึ่งคุมขัง โดยที่เราไว้วางใจพวกเขาด้วยคำสั่ง fiat แทนที่จะเป็นสกุลเงินดิจิตอล

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

ในระยะยาว ฉันหวังว่าเราจะก้าวไปสู่การแลกเปลี่ยนทั้งหมดที่ไม่มีการคุมขังมากขึ้น อย่างน้อยก็ในแง่ของสกุลเงินดิจิทัล การกู้คืนกระเป๋าเงินจะมีให้สำหรับผู้ใช้ใหม่ที่ต้องจัดการกับเงินจำนวนเล็กน้อยและสำหรับสถาบันที่ต้องการการจัดการดังกล่าวด้วยเหตุผลทางกฎหมาย อาจจำเป็นต้องใช้ตัวเลือกการกู้คืนแบบรวมศูนย์สูง แต่สามารถทำได้ในระดับกระเป๋าเงิน ไม่ใช่ภายในการแลกเปลี่ยน วิธีที่ magic.link โต้ตอบกับแพลตฟอร์ม เช่น Polymarket เป็นตัวอย่างของแนวทางนี้ ในแง่ของคำสั่ง การไหลระหว่างระบบธนาคารแบบดั้งเดิมและระบบนิเวศของ crypto สามารถอำนวยความสะดวกโดยกระบวนการกระแสเงินสดเข้า/ออกในท้องถิ่นสำหรับเหรียญ stablecoin ที่ได้รับการสนับสนุนจากสินทรัพย์ เช่น USDC อย่างไรก็ตาม การบรรลุเป้าหมายนี้อย่างเต็มที่จะใช้เวลาระยะหนึ่ง

ขอขอบคุณเป็นพิเศษสำหรับ Balaji Srinivasan รวมถึงเจ้าหน้าที่ของ Coinbase, Kraken และ Binance สำหรับการสนทนาของพวกเขา

ข้อสงวนสิทธิ์:

  1. บทความนี้พิมพ์ซ้ำจาก [Chaincatcher] ลิขสิทธิ์ทั้งหมดเป็นของผู้แต่งต้นฉบับ [Vitalik] หากมีการคัดค้านการพิมพ์ซ้ำนี้ โปรดติดต่อทีมงาน Gate Learn แล้วพวกเขาจะจัดการโดยเร็วที่สุด
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดำเนินการโดยทีมงาน Gate Learn เว้นแต่จะกล่าวถึง ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลแล้ว

Vitalik: Centralized Exchanges สามารถพิสูจน์เงินทุนของพวกเขาได้อย่างไร?

กลาง12/4/2023, 1:55:58 PM
งานชิ้นนี้จะเจาะลึกถึงความพยายามในอดีตในการทำธุรกรรมให้เข้าใกล้ความไร้ความน่าเชื่อถือ ข้อจำกัดของเทคโนโลยีเหล่านี้ และแนวคิดที่ใหม่กว่าและมีประสิทธิภาพมากขึ้นโดยใช้ ZK-SNARK และเทคโนโลยีขั้นสูงอื่นๆ

เมื่อใดก็ตามที่การแลกเปลี่ยนแบบรวมศูนย์ที่สำคัญพังทลายลง คำถามทั่วไปก็เกิดขึ้น: เราจะใช้เทคโนโลยีการเข้ารหัสเพื่อแก้ไขปัญหาได้หรือไม่ Exchange สามารถสร้างหลักฐานการเข้ารหัสลับที่แสดงว่าเงินทุนที่พวกเขาถืออยู่บนเครือข่ายนั้นเพียงพอที่จะครอบคลุมความรับผิดต่อผู้ใช้ แทนที่จะอาศัยเพียงวิธีการ "ทางกฎหมาย" เช่น การอนุญาตจากรัฐบาล การตรวจสอบผู้ตรวจสอบบัญชี และการตรวจสอบภูมิหลังส่วนบุคคลของผู้ที่จัดการและดำเนินการ แลกเปลี่ยน. ตลาดแลกเปลี่ยนสามารถสร้างระบบที่เป็นไปไม่ได้โดยพื้นฐานแล้วที่จะถอนเงินของผู้ฝากโดยไม่ได้รับความยินยอมจากพวกเขา เป็นไปได้ว่าเราสามารถสำรวจสเปกตรัมทั้งหมดระหว่าง CEX ที่มีความทะเยอทะยานและมีจิตใจดีที่ “ไม่ทำสิ่งเลวร้าย” และ DEX แบบออนไลน์ที่ “ไม่สามารถทำสิ่งเลวร้ายได้” แต่ในปัจจุบันไม่มีประสิทธิภาพและทำให้ความเป็นส่วนตัวรั่วไหล บทความนี้จะเจาะลึกถึงความพยายามในอดีตในการทำธุรกรรมให้เข้าใกล้ความไร้ความน่าเชื่อถือ ข้อจำกัดของเทคโนโลยีเหล่านี้ และแนวคิดที่ใหม่กว่าและมีประสิทธิภาพมากขึ้นโดยใช้ ZK-SNARK และเทคโนโลยีขั้นสูงอื่นๆ

งบดุลและต้นไม้ Merkle: หลักฐานการละลายของโรงเรียนเก่า

ความพยายามแรกสุดของการแลกเปลี่ยนเพื่อใช้วิธีการเข้ารหัสเพื่อพิสูจน์ว่าพวกเขาไม่ได้หลอกลวงผู้ใช้นั้นสามารถสืบย้อนกลับไปได้ไกล ในปี 2011 MtGox ซึ่งเป็นตลาดแลกเปลี่ยน Bitcoin ที่ใหญ่ที่สุดในขณะนั้น ได้พิสูจน์ว่าพวกเขามีเงินทุนโดยการโอน 424242 BTC ไปยังที่อยู่ที่ประกาศไว้ล่วงหน้า ในปี 2013 การอภิปรายเริ่มต้นขึ้นเกี่ยวกับวิธีการพิสูจน์อีกด้านหนึ่งของสมการ: ขนาดรวมของเงินฝากของลูกค้า หากคุณพิสูจน์เงินฝากของลูกค้าเท่ากับ X (“หลักฐานความรับผิด”) และพิสูจน์ความเป็นเจ้าของคีย์ส่วนตัวสำหรับเหรียญ X (“หลักฐานสินทรัพย์”) คุณมีหลักฐานการละลาย: คุณได้แสดงให้เห็นว่าการแลกเปลี่ยนมีเงินทุนที่จะชำระคืนทั้งหมด ผู้ฝากเงิน

วิธีที่ง่ายที่สุดในการพิสูจน์เงินฝากคือการเผยแพร่รายการคู่ (ชื่อผู้ใช้ ยอดคงเหลือ) ผู้ใช้แต่ละรายสามารถตรวจสอบได้ว่ารวมยอดคงเหลือของตนแล้วหรือไม่ และใครๆ ก็สามารถตรวจสอบรายการทั้งหมดเพื่อให้แน่ใจว่า (i) ยอดคงเหลือแต่ละรายการไม่เป็นลบ และ (ii) ยอดรวมเท่ากับจำนวนเงินที่อ้างสิทธิ์ อย่างไรก็ตาม สิ่งนี้เป็นการละเมิดความเป็นส่วนตัว ดังนั้นจึงอาจมีการแก้ไขเล็กน้อย: เผยแพร่รายการคู่ (แฮช (ชื่อผู้ใช้ เกลือ) ยอดคงเหลือ) และส่งค่าเกลือให้ผู้ใช้แต่ละรายเป็นการส่วนตัว แต่ถึงกระนั้นข้อมูลความสมดุลและรูปแบบของการเปลี่ยนแปลงความสมดุลก็รั่วไหล ความปรารถนาที่จะปกป้องความเป็นส่วนตัวนำเราไปสู่สิ่งประดิษฐ์ถัดไป: เทคโนโลยี Merkle tree (หรือที่เรียกว่า hash tree)

สีเขียว: โหนดชาร์ลี สีน้ำเงิน: โหนด David ซึ่งเป็นโหนดที่ชาร์ลีจะได้รับเป็นส่วนหนึ่งของการพิสูจน์ของเขา สีเหลือง: โหนดรูท แสดงต่อสาธารณะแก่ทุกคน

เทคโนโลยีต้นไม้ของ Merkle เกี่ยวข้องกับการวางงบดุลของลูกค้าลงในต้นไม้ผลรวมของ Merkle ในแผนผังนี้ แต่ละโหนดจะเป็นคู่ (สมดุล, แฮช) โหนดลีฟชั้นล่างแสดงถึงยอดคงเหลือของลูกค้าแต่ละรายและค่าแฮชแบบ Salted ของชื่อผู้ใช้ของพวกเขา ในแต่ละโหนดระดับที่สูงกว่า ยอดคงเหลือคือผลรวมของยอดคงเหลือทั้งสองด้านล่าง และค่าแฮชคือแฮชของทั้งสองโหนดด้านล่าง การพิสูจน์ผลรวมของ Merkle ก็เหมือนกับการพิสูจน์ Merkle คือ "กิ่งก้าน" ของต้นไม้ ซึ่งประกอบด้วยโหนดพี่น้องบนเส้นทางจากใบหนึ่งไปยังอีกรากหนึ่ง

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

การรั่วไหลของความเป็นส่วนตัวในการออกแบบนี้ต่ำกว่ารายการสาธารณะทั้งหมดมาก และสามารถลดลงได้อีกโดยการสับสาขาทุกครั้งที่มีการเผยแพร่รูท อย่างไรก็ตาม ยังคงมีการรั่วไหลของความเป็นส่วนตัวอยู่บ้าง Charlie สามารถรู้ได้ว่ามีใครบางคนมียอดคงเหลือ 164 ETH ยอดรวมของยอดคงเหลือของผู้ใช้สองคนคือ 70 ETH เป็นต้น ผู้โจมตีที่ควบคุมหลายบัญชียังสามารถเรียนรู้มากมายเกี่ยวกับผู้ใช้ของการแลกเปลี่ยน

ลักษณะที่ละเอียดอ่อนแต่สำคัญของโครงการนี้คือความเป็นไปได้ของยอดคงเหลือติดลบ: จะเกิดอะไรขึ้นหากการแลกเปลี่ยนที่มียอดคงเหลือของลูกค้า 1390 ETH มีเงินสำรองเพียง 890 ETH และพยายามที่จะครอบคลุมการขาดแคลนโดยการเพิ่มยอดคงเหลือ -500 ETH ภายใต้บัญชีสมมติใน ต้นไม้? ปรากฎว่าความเป็นไปได้นี้ไม่ได้ทำให้โครงการเสียหาย แม้ว่านี่คือเหตุผลว่าทำไมเราถึงต้องการต้นผลรวม Merkle แทนที่จะเป็นต้น Merkle ทั่วไป สมมติว่า Henry เป็นบัญชีสมมติที่ควบคุมโดยการแลกเปลี่ยน โดยที่ -500 ETH ถูกวางไว้

การตรวจสอบหลักฐานของ Greta จะล้มเหลว: ตลาดแลกเปลี่ยนจะต้องเสนอโหนด -500 ETH ของ Henry ซึ่งเธอจะปฏิเสธเนื่องจากไม่ถูกต้อง การตรวจสอบของ Eve และ Fred ก็จะล้มเหลวเช่นกัน เนื่องจาก ETH ทั้งหมดบนโหนดกลางเหนือ Henry อยู่ที่ -230 ทำให้พวกมันไม่ถูกต้องเช่นกัน! เพื่อหลีกเลี่ยงการถูกขโมย บริษัทแลกเปลี่ยนจะต้องหวังว่าจะไม่มีใครที่อยู่ครึ่งขวาของแผนผังทั้งหมดตรวจสอบหลักฐานยอดเงินคงเหลือของตน

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

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

ปรับปรุงความเป็นส่วนตัวและความคงทนด้วย ZK-SNARK

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

สิ่งที่ง่ายที่สุดที่เราสามารถทำได้คือนำเงินฝากของผู้ใช้ทั้งหมดไปไว้ในแผนผัง Merkle (หรือพูดง่ายๆ ก็คือ ความมุ่งมั่นของ KZG) และใช้ ZK-SNARK เพื่อพิสูจน์ว่ายอดคงเหลือทั้งหมดในแผนผังไม่เป็นลบและรวมกันเป็นมูลค่าที่อ้างสิทธิ์ . การเพิ่มชั้นของการแฮชเพื่อความเป็นส่วนตัว โดยการให้สาขา Merkle แก่ผู้ใช้แต่ละคน (หรือหลักฐาน KZG) จะไม่เปิดเผยยอดคงเหลือของผู้ใช้รายอื่น

การใช้ข้อผูกพันของ KZG เป็นวิธีการหลีกเลี่ยงการรั่วไหลของความเป็นส่วนตัว เนื่องจากไม่จำเป็นต้องจัดเตรียม “โหนดพี่น้อง” ไว้เป็นหลักฐาน คุณสามารถใช้ ZK-SNARK แบบธรรมดาเพื่อพิสูจน์ผลรวมของยอดคงเหลือ และยอดคงเหลือแต่ละรายการไม่เป็นลบ เราสามารถใช้ ZK-SNARK เฉพาะทางเพื่อพิสูจน์ผลรวมและค่าไม่เป็นลบของยอดคงเหลือใน KZG ที่กล่าวมาข้างต้น นี่เป็นตัวอย่างง่ายๆ ที่ทำให้บรรลุเป้าหมายนี้ เราแนะนำพหุนามเสริมซึ่ง "สร้างบิตของแต่ละยอดคงเหลือ" (เพื่อจุดประสงค์ในการอธิบาย สมมติว่ายอดคงเหลืออยู่ภายใน ) และทุกๆ 16 ตำแหน่งจะติดตามผลรวมที่กำลังดำเนินอยู่โดยมีออฟเซ็ต ดังนั้นผลรวมจะเป็นศูนย์เฉพาะเมื่อผลรวมจริงคือ สอดคล้องกับยอดรวมที่ประกาศไว้ ถ้า z เป็นรากที่ -128 ของความสามัคคี เราสามารถพิสูจน์สมการต่อไปนี้ได้

ค่าแรกในการตั้งค่าที่มีประสิทธิผลคือ 0 0 0 0 0 0 0 0 0 0 1 2 5 10 20 -165 0 0 0 0 0 0 0 0 1 3 6 12 25 50 -300… เพื่อให้เข้าใจว่าสมการดังกล่าวสามารถแปลงได้อย่างไร ในการตรวจสอบพหุนามและจากนั้นใน ZK-SNARK โปรดดู บทความของฉันเกี่ยวกับ ZK-SNARK สำหรับคำอธิบายเพิ่มเติม ที่นี่ และ ที่นี่ แม้ว่าจะไม่ใช่โปรโตคอลที่ดีที่สุด แต่ก็แสดงให้เห็นอย่างแท้จริงว่าการพิสูจน์การเข้ารหัสประเภทนี้ไม่ได้ลึกลับเหมือนในทุกวันนี้!

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

ในระยะยาว หลักฐานหนี้ ZK ประเภทนี้สามารถนำมาใช้ได้ไม่เพียงแต่สำหรับการฝากเงินของลูกค้าที่ตลาดแลกเปลี่ยนเท่านั้น แต่ยังรวมถึงสินเชื่อในวงกว้างด้วย เมื่อใดก็ตามที่ใครก็ตามกู้ยืมเงิน พวกเขาจะบันทึกลงในพหุนามหรือแผนภูมิต้นไม้ที่มีเงินกู้นั้น โดยรากของโครงสร้างนี้จะถูกเผยแพร่บนห่วงโซ่ วิธีนี้จะช่วยให้ใครก็ตามที่กำลังมองหาเงินกู้เพื่อแสดงหลักฐาน ZK แก่ผู้ให้กู้ว่าพวกเขาไม่ได้ยืมเงินกู้ยืมอื่นมากเกินไป ท้ายที่สุดแล้ว นวัตกรรมด้านกฎหมายอาจทำให้สินเชื่อที่กระทำในลักษณะนี้มีลำดับความสำคัญสูงกว่าสินเชื่อที่ไม่มีข้อผูกมัด สิ่งนี้นำเราไปสู่ทิศทางเดียวกับแนวคิดที่กล่าวถึงใน "Decentralized Society: Finding the Soul of Web3 ": การสร้างแนวคิดเกี่ยวกับชื่อเสียงเชิงลบหรือหลักประกันในห่วงโซ่ผ่านรูปแบบของ "โทเค็นแห่งจิตวิญญาณ" บางรูปแบบ

หลักฐานแสดงทรัพย์สิน

การพิสูจน์สินทรัพย์เวอร์ชันที่ง่ายที่สุดคือโปรโตคอลที่เราเคยเห็นด้านบน: เพื่อพิสูจน์ว่าคุณถือเหรียญจำนวน X คุณเพียงแค่ต้องย้ายเหรียญ X ตามเวลาที่ตกลงไว้ล่วงหน้าหรือในธุรกรรมที่มีข้อความ “เงินเหล่านี้เป็นของ Binance” ในช่องข้อมูล เพื่อหลีกเลี่ยงค่าธรรมเนียมการทำธุรกรรม คุณสามารถลงนามในข้อความนอกเครือข่ายได้ ทั้ง Bitcoin และ Ethereum มีมาตรฐานสำหรับข้อความลายเซ็นนอกเครือข่าย

เทคนิคการพิสูจน์สินทรัพย์แบบง่ายๆ นี้มีสองประเด็นในทางปฏิบัติ:

  1. การประมวลผล "ห้องเย็น"

  2. การใช้หลักประกันแบบคู่

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

ธุรกรรมอาจมีหลายเส้นทาง:

  • รักษาที่อยู่ระยะยาวบางส่วนที่เปิดเผยต่อสาธารณะ Exchange จะสร้างที่อยู่หลายแห่ง เผยแพร่หลักฐานการเป็นเจ้าของในแต่ละครั้ง จากนั้นนำที่อยู่เหล่านี้กลับมาใช้ใหม่ นี่เป็นรูปแบบที่ง่ายที่สุด แม้ว่าจะเพิ่มข้อจำกัดบางประการเกี่ยวกับวิธีการปกป้องความปลอดภัยและความเป็นส่วนตัวก็ตาม

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

  • ตัวเลือก ZKP ที่ซับซ้อนยิ่งขึ้น ตัวอย่างเช่น การแลกเปลี่ยนสามารถตั้งค่าที่อยู่ทั้งหมดเป็น 1/2 ลายเซ็นหลายรายการ โดยที่คีย์ของแต่ละที่อยู่จะแตกต่างกัน และอีกอันเป็นเวอร์ชันปกปิดของคีย์สำรองฉุกเฉิน "หลัก" บางอัน ซึ่งจัดเก็บไว้ในวิธีที่ซับซ้อน แต่มีความปลอดภัยสูง เหมือนลายเซ็นหลายลายเซ็น 12/16 เพื่อปกป้องความเป็นส่วนตัวและหลีกเลี่ยงการเปิดเผยที่อยู่ทั้งชุด การแลกเปลี่ยนอาจดำเนินการพิสูจน์ความรู้เป็นศูนย์บนบล็อกเชน ซึ่งพิสูจน์ความสมดุลรวมของที่อยู่ทั้งหมดที่มีรูปแบบนี้ในห่วงโซ่

ปัญหาสำคัญอีกประการหนึ่งคือการป้องกันไม่ให้มีการใช้หลักประกันแบบคู่ขนาน การแลกเปลี่ยนสามารถส่งหลักประกันไปมาระหว่างกันได้อย่างง่ายดายเพื่อเป็นหลักฐานการสำรอง โดยแสร้งทำเป็นว่าเป็นตัวทำละลายเมื่อไม่ได้เป็นเช่นนั้น ตามหลักการแล้ว การพิสูจน์ความสามารถในการละลายจะเป็นแบบเรียลไทม์ โดยจะอัปเดตการพิสูจน์หลังทุกบล็อก หากไม่สามารถทำได้ ตัวเลือกที่เหมาะน้อยกว่าคือการประสานตารางเวลาที่แน่นอนระหว่างการแลกเปลี่ยนต่างๆ เช่น การพิสูจน์ทุนสำรองทุกวันอังคาร เวลา 14:00 UTC

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

อีกวิธีหนึ่งคือการแยกเอนทิตีที่ดำเนินการแลกเปลี่ยนออกอย่างชัดเจน และจัดการกับเหรียญ stablecoin ที่ได้รับการสนับสนุนจากสินทรัพย์ เช่น USDC จากเอนทิตีอื่นที่จัดการกระบวนการเงินสดไหลเข้าและไหลออกระหว่างสกุลเงินดิจิทัลและระบบธนาคารแบบดั้งเดิม (USDC เอง) เนื่องจาก “หนี้สิน” ของ USDC เป็นเพียงโทเค็น ERC20 แบบออนไลน์ การพิสูจน์ความรับผิดจึง “ฟรี” ต้องการเพียงการพิสูจน์สินทรัพย์เท่านั้น

พลาสมาและวาลิเดียม: เราจะทำให้ CEX เป็นอิสระได้หรือไม่

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

ความพยายามครั้งสำคัญครั้งแรกในเรื่องนี้คือ Plasma ซึ่งเป็นโซลูชันส่วนขยายที่ได้รับความนิยมในชุมชนการวิจัย Ethereum ในปี 2560 และ 2561 พลาสมาทำงานโดยการแบ่งสมดุลออกเป็นชุดของ “เหรียญ” แต่ละชุดที่กำหนดดัชนีและอยู่ที่ตำแหน่งเฉพาะในแผนผัง Merkle ของบล็อกพลาสมา การโอนเหรียญที่ถูกต้องต้องวางธุรกรรมในตำแหน่งที่ถูกต้องในแผนผัง โดยมีการเผยแพร่รากของแผนผังบนห่วงโซ่

แผนผังแบบง่ายของเวอร์ชันของพลาสมา เหรียญจะถูกเก็บไว้ในสัญญาอัจฉริยะ และกฎของโปรโตคอลพลาสมาจะถูกบังคับใช้ในระหว่างการถอนเงิน

OmiseGo พยายามสร้างการแลกเปลี่ยนแบบกระจายอำนาจบนโปรโตคอลนี้ แต่ตั้งแต่นั้นมา พวกเขาก็เปลี่ยนไปสู่แนวคิดอื่น ในเรื่องนี้ กลุ่มพลาสมาเองก็ได้พัฒนาเช่นกัน ซึ่งปัจจุบันกลายเป็นโครงการในแง่ดี โดยมุ่งเน้นไปที่การสรุป EVM ในแง่ดี

ข้อจำกัดทางเทคโนโลยีของ Plasma ตามที่คิดไว้ในปี 2018 (เช่น การพิสูจน์การกระจายตัวของเหรียญ) ไม่คุ้มที่จะพิจารณา นับตั้งแต่การอภิปรายเกี่ยวกับ Plasma มาถึงจุดสูงสุดในปี 2018 ZK-SNARK ก็สามารถใช้งานได้มากขึ้นในกรณีการใช้งานที่เกี่ยวข้องกับการขยาย ตามที่กล่าวไว้ข้างต้น ZK-SNARK ได้เปลี่ยนแปลงทุกสิ่งทุกอย่าง

แนวคิด Plasma เวอร์ชันที่ทันสมัยกว่าคือสิ่งที่ Starkware เรียกว่า validium: โดยพื้นฐานแล้วจะเหมือนกับ ZK-rollup ยกเว้นว่าข้อมูลจะถูกเก็บไว้นอกเครือข่าย โครงสร้างนี้สามารถใช้ได้กับกรณีการใช้งานหลายกรณี โดยเฉพาะอย่างยิ่งในกรณีที่เซิร์ฟเวอร์ส่วนกลางจำเป็นต้องเรียกใช้โค้ดบางส่วนและพิสูจน์การดำเนินการที่ถูกต้อง ในการตรวจสอบความถูกต้อง ผู้ดำเนินการไม่สามารถขโมยเงินได้ แม้ว่าเงินทุนผู้ใช้บางส่วนอาจติดอยู่หากผู้ดำเนินการหายไป ทั้งนี้ขึ้นอยู่กับรายละเอียดการใช้งาน

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

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

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

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

บทสรุป: การแลกเปลี่ยนที่ดีขึ้นในอนาคต

ในระยะสั้น มีการแลกเปลี่ยนสองประเภทที่แตกต่างกัน: การดูแลและไม่ใช่การดูแล ปัจจุบัน DEX เป็นตัวแทนอย่าง Uniswap ในอนาคต เราอาจเห็น CEX ที่ "จำกัด" ด้วยการเข้ารหัส ซึ่งเงินทุนของผู้ใช้จะถูกเก็บไว้ในสิ่งที่คล้ายกับสัญญาอัจฉริยะที่ถูกต้อง เรายังอาจเห็นการเกิดขึ้นของการแลกเปลี่ยนแบบกึ่งคุมขัง โดยที่เราไว้วางใจพวกเขาด้วยคำสั่ง fiat แทนที่จะเป็นสกุลเงินดิจิตอล

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

ในระยะยาว ฉันหวังว่าเราจะก้าวไปสู่การแลกเปลี่ยนทั้งหมดที่ไม่มีการคุมขังมากขึ้น อย่างน้อยก็ในแง่ของสกุลเงินดิจิทัล การกู้คืนกระเป๋าเงินจะมีให้สำหรับผู้ใช้ใหม่ที่ต้องจัดการกับเงินจำนวนเล็กน้อยและสำหรับสถาบันที่ต้องการการจัดการดังกล่าวด้วยเหตุผลทางกฎหมาย อาจจำเป็นต้องใช้ตัวเลือกการกู้คืนแบบรวมศูนย์สูง แต่สามารถทำได้ในระดับกระเป๋าเงิน ไม่ใช่ภายในการแลกเปลี่ยน วิธีที่ magic.link โต้ตอบกับแพลตฟอร์ม เช่น Polymarket เป็นตัวอย่างของแนวทางนี้ ในแง่ของคำสั่ง การไหลระหว่างระบบธนาคารแบบดั้งเดิมและระบบนิเวศของ crypto สามารถอำนวยความสะดวกโดยกระบวนการกระแสเงินสดเข้า/ออกในท้องถิ่นสำหรับเหรียญ stablecoin ที่ได้รับการสนับสนุนจากสินทรัพย์ เช่น USDC อย่างไรก็ตาม การบรรลุเป้าหมายนี้อย่างเต็มที่จะใช้เวลาระยะหนึ่ง

ขอขอบคุณเป็นพิเศษสำหรับ Balaji Srinivasan รวมถึงเจ้าหน้าที่ของ Coinbase, Kraken และ Binance สำหรับการสนทนาของพวกเขา

ข้อสงวนสิทธิ์:

  1. บทความนี้พิมพ์ซ้ำจาก [Chaincatcher] ลิขสิทธิ์ทั้งหมดเป็นของผู้แต่งต้นฉบับ [Vitalik] หากมีการคัดค้านการพิมพ์ซ้ำนี้ โปรดติดต่อทีมงาน Gate Learn แล้วพวกเขาจะจัดการโดยเร็วที่สุด
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดำเนินการโดยทีมงาน Gate Learn เว้นแต่จะกล่าวถึง ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลแล้ว
เริ่มตอนนี้
สมัครและรับรางวัล
$100