新的模組化 zk 工具包!⚡ 使用它從鏈下證明生成 zkps。 流程: - 簽名/使用鏈下鑒證 - 使用SP1生成校樣 - 使用 WASM 進行驗證 - 在鏈上證明驗證結果(可選) 特別感謝@shivansheth & @whoisgautxm (zkAttestify) 的貢獻和@SuccinctLabs的支援!
流程如下: 1) 簽署/提供有效的鏈外證明 - 使用EAS創建結構化證明 - 使用 EIP712 簽名 - 數據保持鏈下和私有。 - 簽名是可驗證的。 2) 產生 ZK 證明 (SP1) - 使用 SP1 zkvm 解析 EAS 結構 - 驗證簽章的正確性和邏輯(為 demo 硬編碼) - SP1 程式生成 Groth16 或 Plonk 證明 - 輸出包括校樣檔案 + 公共輸入 存儲庫的 dob-program 和 dob-scripts 處理邏輯。 3) 在 WASM(瀏覽器或節點)中驗證 - 載入編譯好的驗證器 - 提供證明 + 公共輸入 - JS 腳本運行證明驗證並檢查邏輯 4) 可選:在鏈上驗證結果 - 將 zk 證明提交給 solidity 驗證器合約 (groth16 verifier) - 成功后,調用 EAS 頒發新的鏈上證明 - 架構和資料是可自定義的 (isOver18 = true) - 讓您控制過期/吊銷/可組合性 - 沒有連結到原始鏈下證明 筆記 - 此流程假定您信任鏈下鑒證的證明。 - 生成 Groth16/Plonk 證明很慢。使用 Succinct Prover Network 可提高效率。
本教程/演示將在15分鐘內引導您瞭解其工作原理。它使用一個簡單的年齡證明示例。該工具包是模組化的,因此只需進行一些調整,您就可以在以後將其換成自己的架構/電路邏輯。
訪問 Github
想觀看 ZKAttestify 團隊的視頻嗎?
想要自定義流程? 以下是需要調整的內容: - 在 'dob-program/src/main.rs' 中 – 更改邏輯 (例如, 'degree == “CS”“) - 在 'dob-script/input.json' 中 – 更改認證數據和架構 - 在 'WASM_verifier/' 中 – 驗證具有相同結構的任何證明
此專案是一個參考實現。它是模組化的、開源的,並且隨時可以分叉。幫助我們擴展對更多架構、驗證程式和用例的支援。 我們正在積極尋找希望將此存儲庫提升到新水平的貢獻者和構建者。 伸出!🫡
18.48K