萬納鏈(Venachain)是萬向區塊鏈基于PlatONE底層開源平臺,針對企業級客戶和開發者在數字化轉型程序中的實際需求,推出的自主可控的高性能聯盟鏈,已通過中國電子標準化研究院的功能與性能雙項測驗,依托萬向區塊鏈豐富的技術與生態資源,萬納鏈具備出色的關聯技術耦合能力,通過與隱私計算、物聯網、知識圖譜等技術融合,引航分布式認知技術的創新和實踐,同時,結合團隊出色的機制設計能力,萬納鏈旨在為物體經濟的數字化轉型打造可信數字底座,為企業級客戶和開發者提供隱私安全、性能優越、一鍵部署、功能豐富的綜合解決方案,
我們將通過一系列技術科普文章,幫助大家了解萬納鏈的技術特點和操作方法,今天我們一起來了解萬納鏈的密碼學方案,
本文作者:萬向區塊鏈通用架構技術部
零知識證明這個概念最早由Goldwasser、Micali和Rackoff提出的,其表達核心思想是證明者要向驗證者證明一個statement的正確性,與此同時不泄露任何額外的資訊,它具有如下三個重要的性質:
- 完備性completeness
- 合理性soundness
- 零知識性zero-knowledge
近幾年零知識證明被廣泛應用到區塊鏈中,如可驗證的外包計算、匿名證書、范圍證明、隱私密碼學貨幣等需要平衡隱私性和機密性的應用場景,它已經在隱私性和可擴展性方面成為了一個非常重要的工具,在實際應用中客戶端下載和驗證交易頻繁,因此要部署高效實用的零知識證明協議,需要該協議的證明足夠小,驗證足夠高效(small proof size and fast verification),隨著密碼學技術的不斷發展,零知識證明的落地應用層出不窮,這些優秀的專案對零知識證明的技術的實用性進行了一系列的探索:
基于UTXO模型的零知識證明協議 :
零知識證明在密碼學貨幣上具有廣泛的應用,Zcash是zk-SNARKs的首個應用,它利用Groth16協議,實作了基于UTXO模型下交易雙方地址和金額的完全隱藏,并且能夠生成較短的高效的可驗證的證明,但是該技術需要采用CRS來構造zk-SNARK,即需要引入可信第三方來生成一組公共參考串,與此同時也引入了對可信第三方的信任問題,盡管可以利用MPC等技術實作分布式協作生成CRS,但是依然無法完全解決CRS的引入帶來的信任問題,
基于賬戶模型的零知識證明協議:
當前的區塊鏈隱私支付系統,如Zcash和Monero等,均是基于UTXO模型,而Zether協議能實作基于賬戶模型的隱私支付,且能實作交易雙方和交易金額的匿名化,該協議以智能合約的形式,方便地部署到基于賬戶模型的區塊鏈系統中,而不需要修改底層鏈的邏輯,此外AZTEC協議采用Plonk零知識證明協議,實作了基于Ethereum賬戶模型下的隱私交易,
去CRS的零知識證明協議 :
目前在區塊鏈領域中,大部分高效可驗證的零知識證明協議都依賴于CRS,因此去CRS的零知識證明協議也是各個專案重點關注的話題,圍繞該熱議話題的主要分為兩個方向:(1)探索完全去CRS的零知識證明協議,如bulletproof利用向量內積的方法實作了范圍的證明,zk-STARK實作無需可信公共引數設定的證明,但是這兩個零知識證明協議的證明較大,驗證時間也較長,這也是完全去CRS的零知識證明協議不能被廣泛應用的一個重要原因,
CRS的可更新的零知識證明協議:
基于CRS的零知識證明協議會引入第三方信任問題,完全去CRS的零知識證明協議產生的證明較大,驗證不夠高效,因此有專案嘗試探索介于兩者直接的一種零知識證明協議,即基于可更新的結構化參考串(updatable structured reference string)的協議,如Sonic、Plonk它們支持SRS的可更新操作,這兩個協議本質上仍然是需要可信的引數設定,但是通過MPC等技術一定程度上提高了用戶對CRS安全性的信心,目前AZTEC利用Plonk協議實作了Ethereum上的隱私交易,
可擴展性的零知識證明協議:
zk Rollup是一種新型的Layer2擴容方案,將鏈上的資料放到layer2解決,用戶發送的交易,由relayer收集,生成零知識證明將發布交易后的新狀態跟之前的狀態捆綁在一起,保證用戶狀態變更的正確性,鏈上只存盤用戶狀態的merkle樹根,通過智能合約驗證零知識證明的正確性,
基于具體應用需求的零知識證明協議:
在實際中還有許多基于具體應用需求,并利用上述提及的零知識證明技術設計出的協議,如在存盤場景下,filecoin的時空證明(proof of spacetime)和復制證明(proof of replication)是利用zk-SNARKs的Succinct特性的典型案例;在公平交易的場景下,zkPoD實作零信任的去中心化公平交易系統,在不可信雙方之間進行交易,確保買賣雙方間交易的公平性,
目前零知識證明技術在實際應用中非常成熟,在我們的聯盟鏈Venachain中,我們會根據實際的場景需求,采用或設計對應的零知識證明協議來滿足我們的場景需求,
更多資訊,歡迎查看萬納鏈Github:
https://github.com/Venachain
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/404206.html
標籤:區塊鏈
上一篇:《區塊鏈編程》第五章
