ธุรกรรมบล็อคเชนส่วนใหญ่เป็นแบบสาธารณะโดยการออกแบบ พร้อมให้บริการสำหรับทุกคนที่ต้องการตรวจสอบ แม้ว่าจะยอดเยี่ยมสำหรับความสามารถในการตรวจสอบ แต่ก็ทำให้ตัวเลือกเหล่านี้เป็นทางเลือกที่ชัดเจนน้อยลงในการส่งต่อข้อมูลส่วนตัว คุณไม่ต้องการมอบหมายเลขประกันสังคมของคุณกับ Ethereum blockchain เป็นต้น อย่างไรก็ตาม เราสามารถใช้ พิสูจน์ศูนย์ความรู้ (ซึ่งช่วยให้เราสามารถพิสูจน์ข้อเท็จจริงเกี่ยวกับข้อมูลโดยไม่เปิดเผยข้อมูลด้วยการเข้ารหัสลับ) ไม่เพียงแต่ปกป้องความเป็นส่วนตัว แต่ยังปรับปรุงเวิร์กโฟลว์การแบ่งปันข้อมูลและการตรวจสอบแบบดั้งเดิมในปัจจุบันอีกด้วย
ยกตัวอย่างเช่น หลาย องค์กรและสถาบันต่างพึ่งพาการแบ่งปันข้อมูลส่วนตัวอย่างระมัดระวังและยืนยันความถูกต้องของข้อมูลสำหรับการสมัครตั้งแต่การให้สินเชื่อจำนองไปจนถึงการรับเข้าเรียนในวิทยาลัย แต่ในทางปฏิบัติ เวิร์กโฟลว์การปกป้องความเป็นส่วนตัวเหล่านี้เกี่ยวข้องกับชุดของการยืนยันการเข้าถึงแบบส่วนตัวเมื่อมนุษย์สอบถามกับมนุษย์คนอื่นๆ สิ่งเหล่านี้มักเป็นกระบวนการที่มักเกิดข้อผิดพลาด ไม่มีประสิทธิภาพ และรั่วไหล ซึ่งเปิดเผยข้อมูลที่ไม่จำเป็น และอาจไม่เหมาะสำหรับการจัดการข้อมูลที่ละเอียดอ่อนที่สุดของเรา
ในที่นี้ เราสาธิตว่าการเข้ารหัสลับเบื้องต้นต่างๆ ที่พัฒนาและเผยแพร่โดยการเคลื่อนไหวของ web3 สามารถปรับปรุงเวิร์กโฟลว์การตรวจสอบข้อมูลได้อย่างไร ในขณะที่ยังคงรักษาความเป็นส่วนตัวและการกระจายอำนาจ ผ่านการเปิดตัวใหม่ของเรา ที่เก็บ zkDocs. เป็นเครื่องมือสำหรับสร้าง “เอกสารที่เปิดใช้งานความรู้เป็นศูนย์” ที่อนุญาตให้ฝ่ายต่างๆ ในเวิร์กโฟลว์ที่กำหนดสามารถแชร์และตรวจสอบข้อมูล และให้แน่ใจว่าตรงตามเกณฑ์ที่กำหนด โดยไม่ต้องเปิดเผยโดยไม่จำเป็น
[เนื้อหาฝัง]
แต่ก่อนอื่น: มันทำงานอย่างไร กลไกสำคัญ และอื่นๆ
มาเริ่มกันที่ภาพรวมคร่าวๆ ของนักแสดงสำคัญสามคนในเวิร์กโฟลว์ zkDocs และวิธีที่พวกเขาจะโต้ตอบในการสมัครและอนุมัติการจำนอง
- ผู้ตรวจสอบ: ผู้ดูแลระบบหรือผู้สร้างสคีมา zkDoc ในตัวอย่างของเรา ผู้ตรวจสอบคือผู้ให้กู้จำนอง
- ผู้ส่ง: บุคคลหรือบุคคลที่ต้องการให้มีการยืนยันข้อมูลโดยสคีมา นี่คือผู้ขอสินเชื่อหรือผู้ซื้อบ้านที่มีศักยภาพ
- พยาน: บุคคลหรือสถาบันที่เชื่อถือได้ซึ่งสามารถยืนยันความจริงของเขตข้อมูลของผู้ส่งหนึ่งสาขาขึ้นไป นี่อาจเป็นนายจ้างหรือผู้ประเมินราคาบ้าน
โดยทั่วไป การสมัครจำนองเริ่มต้นเวิร์กโฟลว์การตรวจสอบ ซึ่งผู้ให้กู้จำนอง (ผู้ตรวจสอบ) มีส่วนร่วมกับสถาบันที่เชื่อถือได้อื่น ๆ เพื่อยืนยันผู้สมัคร (ผู้ส่ง) ตรงตามความต้องการของพวกเขา เมื่อใบสมัครเด้งจากสถาบันหนึ่งไปยังอีกสถาบันหนึ่ง (ผู้รับรอง) ผู้ให้กู้เดิมสามารถอนุมัติเงินกู้ได้
สถาปัตยกรรมที่เราจัดวางช่วยให้ผู้ตรวจสอบสามารถระบุสคีมาของฟิลด์และผู้รับรองที่เชื่อถือได้, แล้วระบุข้อจำกัดบางอย่างเหนือฟิลด์เหล่านั้น ในกรณีขอสินเชื่อจำนอง ผู้ให้กู้อาจระบุว่ามูลค่าหลักประกันของผู้ขอสินเชื่อรวมมีมูลค่ามากกว่ายอดหนี้คงค้าง
zkDocs ยังอนุญาตให้ผู้ส่งแชร์เฉพาะข้อมูลที่เกี่ยวข้องกับผู้รับรองแต่ละคนเท่านั้น นายจ้างสามารถยืนยันค่าจ้างและสถานะการจ้างงานของผู้สมัครได้เท่านั้น ตัวอย่างเช่น ไม่เห็นรายละเอียดทางการเงินที่ไม่จำเป็น
ผู้ส่งสามารถสร้างหลักฐานที่ไม่มีความรู้ซึ่งแสดงว่าสคีมาได้รับการกรอกตามความเป็นจริง และแต่ละฟิลด์ได้รับการรับรองอย่างถูกต้อง โดยไม่เปิดเผยข้อมูลพื้นฐานใดๆ ฝ่ายใดก็ตาม (รวมถึงผู้ตรวจสอบ) สามารถตรวจสอบการพิสูจน์ความรู้ที่เป็นศูนย์ผ่านการคำนวณแบบเบา
มีสองกลไกหลักที่ควรทราบ: การรับรอง และ พิสูจน์ศูนย์ความรู้.
การใช้บล็อคเชนสำหรับการรับรอง
บล็อคเชนสาธารณะมีคุณสมบัติหลายประการที่ทำให้เหมาะสำหรับการรับรอง: การต่อต้านการเซ็นเซอร์ ความพร้อมใช้งานของข้อมูลสาธารณะ ความสามารถในการตรวจสอบ และคีย์การลงนามลับ ผู้รับรองสามารถใช้คีย์ส่วนตัวของตนเพื่อลงนามในธุรกรรมทั้งหมดที่ส่งไปยังบล็อคเชน เพื่อให้มั่นใจว่าเอกสารรับรองไม่สามารถปลอมแปลงหรือปลอมแปลงได้
อย่างไรก็ตาม ข้อเสียประการหนึ่งของการโพสต์เอกสารรับรองไปยังบล็อคเชนคือค่าที่ซ่อนอยู่นั้นเปิดเผยต่อสาธารณะ zkDocs แก้ปัญหานี้ด้วยการแพร่ภาพ ภาระผูกพันการเข้ารหัส เป็นค่าแทนค่าข้อความธรรมดา คำมั่นสัญญาเหล่านี้ยังคงเปิดเผยต่อสาธารณะ แต่ค่าที่ซ่อนอยู่จะไม่ปรากฏให้เห็น
ความมุ่งมั่นในการเข้ารหัสคืออะไร?
ความมุ่งมั่นในการเข้ารหัสช่วยให้ฝ่ายหนึ่งสามารถสร้างข้อผูกมัดต่อข้อมูลส่วนตัวบางอย่างได้ ภายหลังผู้มอบอำนาจสามารถเปิดข้อผูกมัดเพื่อเปิดเผยข้อมูลที่กระทำได้
แผนการผูกมัดจะต้อง (1) ซ่อนอยู่ ซึ่งหมายความว่าข้อผูกมัดนั้นไม่เปิดเผยข้อมูลใดๆ และ (2) การผูกมัด หมายความว่าผู้มอบไม่สามารถหาคำมั่นสัญญาที่สามารถเปิดได้ในสองวิธีที่แตกต่างกัน
รูปแบบข้อผูกมัดที่ง่ายที่สุดสร้างขึ้นจากฟังก์ชันแฮชเข้ารหัส — ตัวอย่างเช่น โพไซดอนแฮช. ในการคอมมิตข้อมูลบางส่วน คอมมิชชันจะคำนวณ: ความมุ่งมั่น ← โพไซดอน(ข้อมูล, เอกอัครสมณทูต) ที่ไหน เอกอัครสมณทูต เป็นสตริงสุ่ม 512 บิต ในการเปิดข้อผูกมัดในภายหลัง ผู้มอบหมายจะเปิดเผย ข้อมูล และ เอกอัครสมณทูต. ทุกคนสามารถยืนยันได้ว่ามีการเปิดข้อผูกมัดอย่างถูกต้อง
การตรวจสอบข้อมูลส่วนตัวผ่านการพิสูจน์ความรู้ที่เป็นศูนย์
การพิสูจน์ความรู้ที่เป็นศูนย์เป็นวิธีการพิสูจน์ข้อเท็จจริงเกี่ยวกับข้อมูลโดยไม่เปิดเผยอะไรเลยเกี่ยวกับข้อมูลที่ซ่อนอยู่ ด้วย zkDocs ผู้ส่งสามารถสร้างหลักฐานที่ไม่มีความรู้ว่าข้อมูลทั้งหมดได้รับมอบหมายและเป็นไปตามข้อจำกัดที่จำเป็น บุคคลที่สามสามารถเรียกใช้การคำนวณการตรวจสอบโดยไม่ต้องรู้หรือข้อมูลเกี่ยวกับข้อมูลพื้นฐาน
ผลลัพธ์คือข้อมูลที่จำเป็นในการตรวจสอบการส่งสคีมา zkDoc นั้นเปิดเผยต่อสาธารณะและตรวจสอบได้อย่างเต็มที่ ในขณะที่ยังคงเป็นส่วนตัวอยู่เสมอ
โดยเฉพาะอย่างยิ่ง ผู้ส่งจะสร้างการพิสูจน์ความรู้ที่เป็นศูนย์ว่ารู้อาร์เรย์ของ (ความคุ้มค่า, เอกอัครสมณทูต) คู่ดังกล่าวที่:
poseidon(value[i], nonce[i]) == prior_commitment[i]
และvalue[0], …, value[n]
ตอบสนองข้อ จำกัด
ผู้ส่งสามารถสร้างการพิสูจน์ที่ไม่มีความรู้โดยใช้วงจรนี้และเผยแพร่ไปยังฝ่ายใดฝ่ายหนึ่งที่สนใจในการตรวจสอบข้อมูลของพวกเขา ทุกคนสามารถเรียกใช้การพิสูจน์และยืนยันความถูกต้องของฟิลด์ภายในสคีมา
เพื่อแสดงให้เห็น ให้ดูกรณีศึกษาสั้นๆ สองกรณี
ตัวอย่าง: การขอสินเชื่อ
ขั้นแรก กลับมาที่การขอสินเชื่อ ซึ่งเป็นตัวอย่างที่ดีของเวิร์กโฟลว์การรับรองข้อมูลที่สามารถปรับปรุงได้ด้วย zkDocs
ผู้ให้กู้จำนอง (ในกรณีนี้คือผู้ตรวจสอบ) จะสร้างสคีมาสำหรับ zkDoc ดังนี้:
{
"fields": [
{
"field_name": "salary"
},
{
"field_name": "401k_income"
},
{
"field_name": "bank_account_balance"
},
{
"field_name": "property_value"
},
{
"field_name": "loan_value"
}
],
"constraints": [
{
"fieldA": "bank_account_balance",
"fieldB": "property_value",
"op": "ADD",
"constraint": "GT",
"fieldCompare": "loan_value"
},
{
"fieldA": "salary",
"fieldB": "401k_income",
"op": "ADD",
"constraint": "GT",
"constant": 65000
}
],
"trusted_institutions": [
{
"human_name": "Employer",
"address": "0xabcd..."
},
{
"human_name": "Home Appraiser",
"address": "0xabcd..."
},
{
"human_name": "401k Provider",
"address": "0xabcd..."
},
{
"human_name": "Checking Account Provider",
"address": "0xabcd..."
},
{
"human_name": "Creditor",
"address": "0xabcd..."
}
]
}
ขั้นแรก สคีมาระบุหลายฟิลด์ที่ผู้ให้กู้สนใจ: เงินเดือน รายได้ 401(k) การตรวจสอบยอดเงินในบัญชี มูลค่าทรัพย์สิน และมูลค่าเงินกู้
จากนั้นมีข้อจำกัดสองประการเหนือฟิลด์เหล่านั้น:
- ผลรวมของมูลค่าทรัพย์สินและยอดเงินในบัญชีธนาคารมากกว่ามูลค่าเงินกู้
- ผลรวมของรายได้และเงินเดือน 401(k) มากกว่า $65,000 ต่อปี
และสุดท้าย สถาบัน XNUMX แห่งที่ไว้วางใจให้ยืนยันข้อมูลนี้:
- นายจ้าง
- ผู้ประเมินราคาบ้าน
- 401(k) ผู้ให้บริการ
- กำลังตรวจสอบผู้ให้บริการบัญชี
- เจ้าหนี้
ในการสมัครจำนอง ผู้สมัครกรอกข้อมูลในฟิลด์ที่ระบุไว้ในส่วน "ฟิลด์" โดยใช้ zkDocs UI และเผยแพร่ข้อผูกมัดในการเข้ารหัสแบบ on-chain ให้กับแต่ละรายการ ผู้สมัครจะส่งฟิลด์ข้อความที่เกี่ยวข้องพร้อมกับ nonnce สำหรับแต่ละข้อผูกพัน ต่อสถาบันรับรองแต่ละแห่ง (จากชุดรายการภายใต้ trusted_institutions
). zkDocs UI ทำสิ่งนี้ผ่านไฮเปอร์ลิงก์
ผู้รับรองแต่ละคนตรวจสอบข้อมูลข้อความที่เกี่ยวข้องและยืนยันคำมั่นสัญญาโดยลงนามด้วยคีย์ส่วนตัว Ethereum จากนั้นผู้สมัครสามารถส่งธุรกรรมไปยังบล็อคเชนรวมถึงหลักฐานที่ไม่มีความรู้เกี่ยวกับความถูกต้องของข้อผูกมัดและข้อจำกัด ซึ่งถือว่ามีคุณสมบัติเป็นผู้รับจำนองที่ถูกต้อง สถาบันการจำนองที่ตรวจสอบความถูกต้องจะไม่ต้องดำเนินการตรวจสอบเพิ่มเติมเพื่อยืนยันความสมบูรณ์ของใบสมัคร
ตัวอย่าง: สินเชื่อ MakerDAO RWA
MakerDAO เป็นโปรโตคอลการให้ยืมซึ่งจนถึงปัจจุบันได้ออกแล้ว เงินกู้ 6 พันล้านดอลลาร์ กำหนดเป็น DAI (โทเค็น USD-pegged) แผนก Real World Assets (RWA) ของ Maker กำลังทำงานเพื่อจัดหาเงินกู้ในสกุล DAI ให้กับผู้ให้กู้ดาวน์สตรีม ซึ่งช่วยให้ DAI ขับเคลื่อนการเติบโตทางเศรษฐกิจในโลกแห่งความเป็นจริงได้โดยตรง แต่ Maker เป็น DAO ซึ่งโทเค็นการกำกับดูแลเป็นเจ้าของโดยกระเป๋าเงินที่ไม่ซ้ำกันประมาณ 78,000 ใบ โดยแต่ละใบมีสิทธิ์เข้าร่วมในกระบวนการกำกับดูแลและควบคุมอนาคตของโปรโตคอล
การตัดสินใจครั้งใหญ่ของเมกเกอร์ เช่น การตัดสินใจจากแหล่งหลักประกันใหม่ จะมีการกล่าวถึงใน ฟอรั่มสาธารณะ. แต่สถาบันหรือบุคคลที่สมัครเงินกู้จาก Maker อาจไม่สนใจที่จะแบ่งปันข้อมูลทางการเงินทั้งหมดของตนกับสาธารณะด้วยเหตุผลหลายประการ ตั้งแต่ความเป็นส่วนตัวไปจนถึงความลับทางการค้า Maker สามารถเผยแพร่ zkDoc แทนด้วยสคีมาที่คล้ายกับต่อไปนี้:
{
"fields": [
{
"field_name": "custodian_name"
},
{
"field_name": "total_loan"
},
{
"field_name": "total_collateral_value"
},
{
"field_name": "amount_repaid"
}
],
"constraints": [
{
"fieldA": "total_loan",
"fieldB": "amount_repaid",
"op": "SUB",
"constraint": "LT",
"fieldCompare": "total_collateral_value"
}
],
"trusted_institutions": [
{
"address": "0xabcd…",
"human_name": "Bob the Custodian"
}
]
}
สคีมานี้จะอนุญาตให้ผู้เข้าร่วมการกำกับดูแลเพื่อให้แน่ใจว่าโปรโตคอลไม่ได้รับความเสี่ยงที่ไม่สมเหตุสมผล โดยไม่ต้องให้ผู้ขอสินเชื่อ RWA ทั้งหมดละเมิดความเป็นส่วนตัว
***
zkDocs ตามการใช้งานในปัจจุบัน ใช้:
- ธุรกรรมที่ลงนาม (หรือห่วงโซ่ที่เข้ากันได้กับ EVM) เพื่อตรวจสอบความถูกต้องของเอกสารรับรอง
- พื้นที่บล็อกสาธารณะเพื่อจัดเก็บทั้งภาระผูกพันและการรับรอง
- สัญญาอัจฉริยะเพื่อตรวจสอบหลักฐานที่ไม่มีความรู้
นอกเหนือจากคุณสมบัติการตรวจสอบและความเป็นส่วนตัวของ zkDocs แล้ว ยังมีแกนที่น่าสนใจอีกประการหนึ่ง: เมื่อการตรวจสอบข้อมูลส่วนตัวเผยแพร่บนบล็อกเชนสาธารณะ ผู้ใช้และนักพัฒนาสามารถเขียนข้อมูลที่ยืนยันด้วย zkDoc ด้วยแอปพลิเคชันของตนเองได้ ใครๆ ก็นึกภาพว่าประวัติการกู้ยืมกลายเป็นชื่อเสียงของ DAO การยื่นเอกสารรายไตรมาสที่ตรวจสอบโดยชุมชนเพื่อปรับพารามิเตอร์โปรโตคอล การสมัครเรียนในวิทยาลัยทันที อัตราโปรโตคอลที่ลดราคาสำหรับผู้ใช้ที่เชื่อถือภายในชุมชนอื่น และอีกมากมาย
เป้าหมายของเราในการแบ่งปันข้อพิสูจน์ของแนวคิดนี้คือการแสดงให้เห็นว่าคอมพิวเตอร์พื้นฐานแบบใหม่เหล่านี้สามารถนำมาใช้ในการผลิตได้ในปัจจุบันอย่างไร และเพื่อช่วยเร่งการนำไปใช้โดยนำแอปพลิเคชันเพิ่มเติมเข้ามาทางออนไลน์ หากคุณกำลังวางแผนที่จะปรับใช้ zkDocs เพื่อผลิตหรือใช้รูปแบบที่คล้ายกัน โปรดติดต่อ Twitter.
- การเข้ารหัสลับ a16z
- Andreessen Horowitz
- Bitcoin
- blockchain
- การปฏิบัติตามบล็อคเชน
- การประชุม blockchain
- coinbase
- เหรียญอัจฉริยะ
- เอกฉันท์
- Crypto & Web3
- การประชุม crypto
- การทำเหมือง crypto
- cryptocurrency
- ซึ่งกระจายอำนาจ
- Defi
- สินทรัพย์ดิจิทัล
- ethereum
- เรียนรู้เครื่อง
- โทเค็นที่ไม่สามารถทำซ้ำได้
- โอเพนซอร์ส
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- Platoblockchain
- เพลโตดาต้า
- เพลโตเกม
- รูปหลายเหลี่ยม
- หลักฐานการเดิมพัน
- ความปลอดภัยและความเป็นส่วนตัว
- W3
- ลมทะเล