zkSNARK 零知識驗證

參考文獻html

ZCash7篇,有社區翻譯版,但仍是推薦看原汁原味的     https://z.cash/blog/snark-explain.htmlgit

Vitalik3篇,小天才做者我就不介紹了,這三篇介紹得也是很透徹github

https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649算法

https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627安全

https://medium.com/@VitalikButerin/zk-snarks-under-the-hood-b33151a013f6服務器

一篇不錯的中文介紹材料 http://news.btc123.com/news/detail?id=8125網絡

libsnark開源庫地址 https://github.com/scipr-lab/libsnarkapp

https://github.com/zcoinofficial/zcoin/wiki/Roadmap 
 

zkSNARK

zkSNARK是zero-knowledge succint non-interactive arguments of knowledge的簡稱,全稱裏面每一個單詞都有特定的含義:區塊鏈

Zero knowledge:零知識證實,見前文。測試

Succinctness:證據信息較短,方便驗證

Non-interactivity:幾乎沒有交互,證實者基本上只要提供一個字符串義工驗證。對於區塊鏈來講,這一點相當重要,意味着能夠把該消息放在鏈上公開驗證。

Arguments:證實過程是計算無缺(computationally soundness)的,證實者沒法在合理的時間內造出僞證(破解)。跟計算無缺對應的是理論無缺(perfect soundness),密碼學裏面通常都是要求計算無缺。

of knowledge:對於一個證實者來講,在不知曉特定證實 (witness) 的前提下,構建一個有效的零知識證據是不可能的。

 
 
 
Sigma Protocol
http://8btc.com/thread-53941-1-1.html
咱們當前實施的零幣協議版本使用了RSA2048參數做爲強制信任的初始化參數設置。這些參數在互聯網安全的各個方面使用普遍,好比HTTPS和SSH。按照當前的科學計算能力,這些參數還能確保在幾十年內是安全的。另外方面,咱們當前正在努力開發實施西格瑪協議(Sigma Protocol),有望能借此徹底移除零知識協議證實初始化階段強制的第三方信任設置。

另外,零幣還有一個能減緩最壞狀況發生的妥協性設置就是零幣的全網貨幣流通量和個體錢包的餘額是可供查詢的。若是在代碼層或者實施層出現了問題致使發生了雙花或者硬幣僞造,就能夠在早期很容易地被探測到,避免了通向超級通脹。在今年的早些時候零幣就遭遇了黑客攻擊,但經過檢測到大量鑄毀硬幣信號就發現了這個漏洞並及時地修補了。

零幣同時仍是加密貨幣界第一個實現梅克爾樹(MTP)算法的加密貨幣。MTP算法的開發者正是Equihsah算法的提出者。無論怎麼說,MTP算法的區塊驗證速度是很是快的,一旦你可以將其集成入其餘的耗內存工做量證實算法,那麼它將具備革命整個挖礦算法領域的潛力!如今MTP算法已經在測試網絡上成功運行。


爲何要在以太坊上嵌入零幣?

零幣的核心開發團隊正在着手於探討如何在以太坊區塊鏈上實施零幣協議的研究和開發工做。咱們相信這一點跟以太坊項目的多解決方案理念是相一致的,特別是這個技術是如此的前衛並高度依賴於密碼學原理。

也許有人會說能徹底理解zk-SNARKs協議的僅僅是有很小一部分的密碼學學者。同時,零幣協議背後的密碼學哲學原理已經深刻人心很長一段時間了。在過去這些年裏面,零幣協議論文已經成爲了學術引用最多的密碼學文章,共計多達200餘次。此外,咱們認爲以太坊也應該要有一個後備選項,來確保以太坊網絡的基本隱私,不用遭受如同Zcash被SNARK公共參數所連累的那樣。如同上面說起,當前零幣社區的最新研究進展甚至能夠爲使用零幣協議的加密貨幣徹底移除初始化階段的三方信任設置。


ZoE,HAWK,如今是零幣?

當前已經有好幾個項目嘗試在以太坊區塊鏈上實現強匿名交易,其中最著名的就是Zcash-on-ethereum(ZoE)和Hawk。零幣開發團隊正在尋求實現基於智能合約的零幣協議贖回驗證,目的在於建立一個去中心化的混合器dapp。

Zerocoin交易打斷了各個交易之間的直接聯繫,經過成千上萬次似是而非的否定使得以太交易變得模糊不清,這相比於其餘少於10次交易直接型匿名機制有至關大的優點。
跟幣連接(Coinjoin)和它的變體不同的是,咱們是不須要中心化服務器去進行混幣處理的,也不須要你相信任何的第三方,也不須要其餘的用戶爲混幣處理提供必要的轉幣交易量。在不久的未來還會開發出一些其餘難以查找的代幣特性,支持匿名投票、拍賣和ICO。

做爲密碼屏蔽的Zerocoin贖回計算是根據累加器容量大小進行調整的,這能夠降得足夠低並尋求獲得一個能夠接受的手續費花費。然而相比於Zcash,零幣的交易證實數據塊相對的要大一些(25kb),提議中首次實現的混幣器也僅僅接受固定面額的手續費。

在進行初步的計算並跟Vitalik Buterin溝通後,咱們相信隨着隨後的重大發布完成,咱們計劃的實施是至關可行的。由於在以太虛擬機上運行這些操做的成本是很高的,咱們也在尋求實施預編譯智能合約進行替代。

基於Zerocoin混幣器的智能合約特性提綱:

智能合約將容許用戶經過在RSA累加器中添加一個由智能合約維護的加密委託(序列號)來完成存入固定額度的ETH。

在向智能合約內存入ETH後,用戶將會收到一個包裝過的ERC20兼容代幣及其密碼序列號。

爲了在不須要暴露身份的前提下將ETH提現,它將使用零知識證實機制去證實咱們知道智能合約內部的委託。
在你贖回ETH完成後,用於贖回的代幣將被銷燬。相關序列號將會被標記爲已使用狀態,這樣用戶就沒法將同一個贖回序列號進行一次以上的使用。

若是你對於幫助零幣社區開發實施混幣器有興趣的話,咱們當前正在尋求更多的開發者加入咱們的團隊。固然也包括在尋求可以使用Solidity語言、Serpent語言或Viper語言寫出以太虛擬機的天才。相關的獎勵將根據開發能力和開發經驗的具體狀況而定。咱們也會在前期給予提供項目開始的基本費用。
相關文章
相關標籤/搜索