zkDocs: การแบ่งปันข้อมูลที่ไม่มีความรู้ PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

zkDocs: การแบ่งปันข้อมูลที่ไม่มีความรู้

ธุรกรรมบล็อคเชนส่วนใหญ่เป็นแบบสาธารณะโดยการออกแบบ พร้อมให้บริการสำหรับทุกคนที่ต้องการตรวจสอบ แม้ว่าจะยอดเยี่ยมสำหรับความสามารถในการตรวจสอบ แต่ก็ทำให้ตัวเลือกเหล่านี้เป็นทางเลือกที่ชัดเจนน้อยลงในการส่งต่อข้อมูลส่วนตัว คุณไม่ต้องการมอบหมายเลขประกันสังคมของคุณกับ 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) การตรวจสอบยอดเงินในบัญชี มูลค่าทรัพย์สิน และมูลค่าเงินกู้ 

จากนั้นมีข้อจำกัดสองประการเหนือฟิลด์เหล่านั้น: 

  1. ผลรวมของมูลค่าทรัพย์สินและยอดเงินในบัญชีธนาคารมากกว่ามูลค่าเงินกู้
  2. ผลรวมของรายได้และเงินเดือน 401(k) มากกว่า $65,000 ต่อปี

และสุดท้าย สถาบัน XNUMX แห่งที่ไว้วางใจให้ยืนยันข้อมูลนี้:

  1. นายจ้าง
  2. ผู้ประเมินราคาบ้าน
  3. 401(k) ผู้ให้บริการ
  4. กำลังตรวจสอบผู้ให้บริการบัญชี
  5. เจ้าหนี้

ในการสมัครจำนอง ผู้สมัครกรอกข้อมูลในฟิลด์ที่ระบุไว้ในส่วน "ฟิลด์" โดยใช้ 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.

ประทับเวลา:

เพิ่มเติมจาก Andreessen Horowitz