以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > 非小號 > Info

零知識證明——基于libsnark的電路構造及證明示例_BSP:nbs幣發行量

Author:

Time:1900/1/1 0:00:00

libsnark庫代碼層次非常清晰。libsnark也給出了SNARK相關算法的全貌,各種Relation,Language,Proof System。為了更好的生成R1CS電路,libsnark抽象出protoboard和gadget,方便開發者快速搭建電路。在閱讀該示例代碼前,請仔細閱讀libsnark的源代碼分析:零知識證明 - libsnark源代碼分析

唯一有點遺憾的,libsnark沒有給個完整的電路構造實例,入門者想搭建自己的電路,剛開始有點摸不著頭腦。

為了方便入門者編寫自己的電路,同事寫了個基于libsnark構造電路,并生成并驗證電路的實例:

https://github.com/StarLI-Trapdoor/libsnark_sample

歐盟或將在數字身份框架中包含零知識證明:金色財經報道,根據一份新聞稿,歐盟新的eID將允許公民通過歐洲數字身份錢包在線識別和驗證自己,而無需求助于商業提供商。此舉解決了當前實踐中產生的對信任、安全和隱私的擔憂。

Circle 歐盟政府事務高級主管Jonas Fredriksen強調該提案將如何促進數字經濟中的新商業模式和機遇。公司可以開發依賴于零知識證明和eID解決方案的創新產品和服務。[2023/2/16 12:11:30]

入門者,可以基于這個示例開發自己的電路。選擇默克爾樹作為電路的示例,因為在零知識證明的應用中,大量的使用默克爾樹數據結構。

該示例構造了一條merkle路徑的驗證電路,生成并驗證證明。merkle樹的深度為3,并且merkle樹的計算采用sha256散列函數。代碼結構比較清晰,merkle目錄中的main.cpp是主函數。circuit目錄下的merklecircuit.h是電路的實現。整個項目用cmake進行編譯。

多鏈Web3生態Hacker資助計劃Dora Grant DAO首輪零知識投票環節結束:11月14日消息,社區驅動的多鏈Web3生態開源極客資助計劃Dora Grant DAO已于北京時間11月13日23:59在開發者激勵平臺DoraHacks.io關閉首輪投票通道。投票最終結果和零知識證明文件將于14日晚八時公布。首期20萬美金Grant獎金將會根據投票結果的排序進行發放。

Dora Grant DAO計劃旨在持續支持在以下三個領域的多鏈Web3開源極客團隊:多鏈Web3核心基礎設施和工具,加密原生應用,加密-前沿科技交叉領域。[2022/11/14 13:01:29]

電路名為MerkleCircuit,主要依賴兩個gadget:merkle_authentication_path_variable和merkle_tree_check_read_gadget。merkle_authentication_path_variable提供了merkle樹的一條路徑。merkle_tree_check_read_gadget檢查給定一個葉子節點,是否能計算出正確的root。

FMex已完成零知識證明開發工作:據了解,FMex目前已完成零知識證明開發工作,平臺啟動運營時將同步上線。通過零知識證明可實現平臺資產數據公開透明,不可偽造。屆時社區用戶可通過開源工具驗證資產數據。[2020/5/26]

實現一個電路,主要實現兩個接口函數:

generate_r1cs_constraints - 生成R1CS,該電路比較簡單,只要讓依賴的兩個gadget,生成R1CS即可。

generate_r1cs_witness - 給所有的變量進行賦值。該電路,需要賦值的變量有root,leaf(葉子節點),和葉子節點配套的默克爾路徑,以及默克爾路徑對應的地址信息(也就是每一層的節點的位置,左邊還是右邊)。

動態 | 三星SDS采用零知識證明增強其企業區塊鏈隱私性:據coindesk消息,三星企業技術部門SDS (Samsung SDS)正在使用零知識證明(zero-knowledge proof, ZKPs)來增強其Nexledger區塊鏈的隱私保護。該公司周四表示,它已與總部位于以色列的QEDIT建立了合作關系,在不披露保密信息的情況下,在一個共享的賬簿上記錄和驗證資產轉移。此舉突顯出采用分布式賬本技術的公司面臨的挑戰之一,向網絡廣播交易,可能會暴露敏感的客戶數據,并向競爭對手泄露信息。[2019/11/14]

整個電路最復雜的就是電路的構造函數,申請變量,創建gadget。其中重點講一講,set_input_sizes函數。libsnark的框架中,使用簡單的區分public和private變量的模型。通過set_input_sizes函數,設置前幾個變量為public變量。

聲音 | CFTC專員:繼續看好隱私幣的零知識證明技術:據AMBCrypto消息,近日,美國商品期貨交易委員會(CFTC)專員Brian Quintenz接受采訪時表示,盡管存在AML(反洗錢)的問題,但對零知識證明協議持積極態度。政府接受任何形式的隱私幣的可能性很小,加密貨幣交易平臺也禁止用戶進行不受監控的交易,這也是為什么Monero沒有在Coinbase上線的原因。[2019/6/28]

pb.set_input_sizes(root_digest->digest_size);也就是說,該電路的公開變量為root的bit個數。

確定了電路的實現,看看main函數,如何生成和驗證證明。

在main函數中定義了merkle樹計算需要的一些類型:

FieldT默認是bn256橢圓曲線的的Fr,默克爾樹計算采用是sha256算法。

3.1 setup

實現了generate_read_keypair函數,生成pk/vk。仔細看一下generate_read_keypair函數,邏輯簡單清晰:構造MerkleCircuit,在生成R1CS后,調用r1cs_gg_ppzksnark_generator生成pk/vk。

pk存放在merkle_pk.raw文件中,vk存放在merkle_vk.raw中。

3.2 prove

prove邏輯,首先從輸入參數構造一個完整的merkle樹,并根據輸入選定了默克爾路徑。通過generate_read_proof函數生成證明。該函數邏輯也比較清晰:

構造MerkleCircuit,在生成R1CS后,設置各個變量的值。接著通過r1cs_gg_ppzksnark_prover生成證明。

3.3 verify

在獲知vk,證明以及公開信息(root)的基礎上,調用r1cs_gg_ppzksnark_verifier_strong_IC的接口完成驗證。這也就是verify_read_proof函數的邏輯。

在編譯之前,同步該項目依賴的libsnark庫:

git submodule update --init --recursive4.1 編譯

mkdir build; cd build; cmake ..編譯完成,merkle目錄下會生成merkle的可執行文件。

4.2 可信設置(trusted setup)

./merkle setup4.3 生成證明

./merkle prove [data1] [data2] [data3] [data4] [data5] [data6] [data7] [data8] [index]prove命令,需要提供原始的3層merkle樹的8個葉子節點,并指定需要證明的第幾個葉子節點對應的路徑(index指明)。

4.4 驗證

./merkle verify [root]其中,root信息是在prove中生成過程中打印出來的root信息(也是公開信息)。如果驗證通過,就說明存在一條能生成root的merkle路徑,雖然沒有公開路徑的具體信息。

總結:

libsnark庫代碼層次非常清晰,并抽象出protoboard和gadget,方便開發者快速搭建電路。本文給出了一個基于libsnark庫開發的完整電路示例。示例實現了3層默克爾樹的一條默克爾路徑的驗證。其中默克爾樹采用sha256的散列函數。

Tags:ERKMERBSPNBSTERKxFarmerBSPTnbs幣發行量

非小號
全球究竟有多少人持有超過1個比特幣?_BTC:Bitkeep官方下載

比特幣本周已經穩定在10000美元以上,對于一類加密貨幣來說,這是一個相當不錯的數字,因此大部分人可能想知道全球究竟有多少人持有至少1個比特幣.

1900/1/1 0:00:00
產業周刊 | 競賽白熱化 22省市將區塊鏈寫入2020年政府工作報告_數字貨幣:區塊鏈

金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等全行業動態。本文是其中的產業周刊,帶您一覽本周的區塊鏈產業動態.

1900/1/1 0:00:00
能源區塊鏈研究|石油巨頭殼牌公司進軍區塊鏈_WEB:區塊鏈

英國-荷蘭石油天然氣公司殼牌(Shell)成為最新一家進入區塊鏈領域的知名企業。該公司已經宣布了利用區塊鏈平臺Energy Web Foundation (EWF)開拓新市場的計劃.

1900/1/1 0:00:00
減半前銷毀近半未產代幣 隱私公鏈決勝生態落地_SERO:比特幣

2020年開年至今,“減半”似乎是市場關心的最大主題,沒有之一。以比特幣為首的多個項目都將迎來區塊獎勵減半或是減產。不久前,某交易平臺要銷毀未產出的平臺幣的決定,引發市場高漲的熱情.

1900/1/1 0:00:00
元界DNA上線ZB后的暴漲之旅 現在上車還來得及_DNA:比特幣

元界DNA于2月18日宣布登陸上線頭部數字資產平臺BiKi和富比特,此時的DNA已連續兩日位列前一百市值幣種漲幅第一,價格更是沖破0.036USDT.

1900/1/1 0:00:00
三角整理?BTC又在醞釀一次變盤_300:Lbtc閃電比特幣

大帝怎么看? BTC: 技術上看,比特幣1小時K線圖沿布林通道緩慢運行,BOLL呈平口狀態。附圖指標,成交量處于持續萎縮狀態,DMI四線搓揉在一起,RSI數值36.

1900/1/1 0:00:00
ads