以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

用程序員聽得懂的方式介紹零知識證明_區塊鏈:ROO

Author:

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

本來想寫《用人話解釋零知識證明》,但是發現做不到,因為至今我也沒能用人話解釋區塊鏈原理,零知識證明比區塊鏈原理更抽象,網上的資料90%以上是關于這個算法的推導,但是對于90%以上的程序員來說,我們并不關心哈希算法的原理,我們只關心哈希算法怎么用。(作為一個10年+老碼農,我也不懂哈希的原理,但我并不慚愧,會用就好)

首先,這是一個非常基礎的函數結構:

如果這個function是一個哈希算法,那么,輸入任意文件,就可以得到對應的哈希值。假設有這樣的一個情況,某個哈希值我們大家都知道了,想要知道是哪個文件,這個文件在你手上,你很興奮的說,文件找到了,大伙說好啊你把文件拿出來,我們算一下哈希,看能不能對上。這時候你就犯愁了,這是個機密文件,哪能說提供就提供的,咋辦?

OpenAI將推出ChatGPT移動應用程序:金色財經報道,OpenAI將推出ChatGPT移動應用程序,目前發布時間框架并未公布。據悉,移動端的推出將為該服務帶來更廣泛的用戶群體。

此外,該報告還指出ChatGPT系統即將推出“GPT-4”更新,以增強程序功能,最新OpenAI軟件“響應速度比當前版本快得多”。該更新可能會在未來幾周內在微軟的搜索引擎Bing中使用。[2023/2/2 11:41:51]

這就請來零知識證明,這個算法結構如下:

動態 | Blockmason和Devhub合作,將推進區塊鏈應用程序開發教育:區塊鏈底層技術開發商Blockmason和開發者社區Devhub合作,將為開發者提供區塊鏈應用程序開發教育。[2019/8/16]

橙色部分就是zk-proof,分成證明和驗證兩個部分,其中證明部分也叫電路circuit,需要用電路描述語言編程(Rust\C++\Circom),最終編譯為電路邏輯(.wsam\.r1cs)。在這個例子里,我們用circuit寫了個哈希算法,用來替代原來的function,circuit的特點是輸入是不需要公開的,輸出的是哈希值和proof,這個proof證明的就是:

動態 | 基于Telegram的加密錢包應用程序允許用戶使用法幣購買加密貨幣:據coindesk報道,通過與支付處理器Wyre合作,基于Telegram的加密錢包應用程序Button Wallet現已允許用戶使用法幣購買加密貨幣。接下來,Button Wallet表示已經準備好整合Telegram即將推出的GRAM令牌,還計劃插入其他消息傳遞平臺。[2019/5/30]

重要的事情說三遍!并且我還要畫出來:

動態 | Komodo將發布支持原子交換的交易應用程序:據cryptoglobe報道,以隱私為中心的加密貨幣Komodo(KMD)的CTO Kadan Stadelmann在接受采訪時透露,計劃在今年晚些時候發布支持原子交換的智能手機交易應用程序。Stadelmann稱其為第三代去中心化交易所。[2019/2/19]

這個proof就相當于對這個過程的認證蓋章,就這么板上釘釘了,無爭議了,別問input是啥,問就是不知道,所以叫零知識。已知的是啥呢,電路邏輯(這部分理應開源),輸出的值,還有證明文件proof。

在這個例子中,電路邏輯相當于哈希函數,如果你算出的哈希值和公開的那個哈希值一樣,那就說明你輸入的文件就是大家要找的那個機密文件,而你并不需要提供這個文件,只需要提供證明文件proof就行。

驗證的時候,大家把哈希值和proof放進verify函數,返回true,那就證明了:

那還能是哪個文件,那肯定是那個正確的文件啊,要不怎么生成這個哈希!

zk-proof顯而易見在隱私場景很有用。混幣的原理是用戶把幣存進保險箱,保險箱的密碼的哈希值帖在保險箱上,誰要是能提供這個密碼,誰就能把保險箱里的幣全部拿走。跟上面這個找文件的原理是一樣的,用戶不用提供密碼,只要提供proof就行,合約校驗通過就讓你提幣。

還有一個問題,如果你能開某個保險箱,那就說明你就是放錢進去的人,誰放了多少錢到哪個保險箱,這在鏈上是可查的,所以你開哪個保險箱,你不能說。在合約里用樹形結構來存放保險箱,且層數固定,一般為16層。從你要開的保險箱到樹根root,中間的15個節點確定了,就確定了你要開哪個保險箱,所以這15個節點(路徑),也在circuit的private input里面。

最后合約校驗的時候,證明了保險箱的位置、保險箱密碼全部正確,但不知道是什么密碼也不知道是哪個保險箱,可能用戶也不知道,但是用戶把proof保管好就行,誰拿這個proof都可以去提款。

zk-proof除了隱私場景的應用,這兩年還發現可以做區塊鏈擴容。區塊里的每一個tx,都有用戶的簽名,用來證明這個(轉賬)操作不是偽造的,一個區塊的大小是有限的(固定的),所以要是能在區塊中塞入的tx越多,TPS也就越高。

如果把簽名砍掉,給tx瘦身,那就可以塞入更多的tx。問題是,砍掉了簽名,又如何證明這個操作是用戶簽名過的呢?用零知識證明,把用戶簽名的校驗邏輯寫進circuit電路,輸入是(包括簽名的)區塊數據,輸出是(不包含簽名的)區塊數據,并附上proof,一個proof這就能證明所有tx都是被用戶簽名過的,達到瘦身目的。本文來源:https://bress.xyz/zh/post/nKtuByYTvPri75xHQoA7f8vNyJ6NQPvCL_YH8KVp31Q

作者:加戈

Tags:ROOPROProof區塊鏈0XPROOF幣xNFT Protocol區塊鏈幣種類

比特幣最新價格
觀點:DAO 去中心化過程中的四個經驗教訓_比特幣:WARP幣

圍繞社區去中心化的激烈辯論繼續在 DAO 生態系統的熔爐中燃燒。DAO 還沒有(還未)去中心化。雖然有一些有用且被廣泛采用的社區去中心化框架和劇本,但沒有一刀切的方法.

1900/1/1 0:00:00
加密市場持續動蕩 UST 穩定幣再次與美元脫鉤 跌至歷史新低_TER:UST

比推消息,周一,由于加密貨幣市場持續波動,TerraUSD (UST) 穩定幣再次與美元脫鉤,跌至0.68美元,創歷史新低。UST 此前在周六跌至 0.985 美元,然后在周日回升至 1 美元.

1900/1/1 0:00:00
無聊猿的生意經:Yuga 的收入模式基本是助長 FOMO_BAYC:BAYC Vault (NFTX)

在短短的一年時間里,無聊猿游艇俱樂部(BAYC)已經從一個小眾的 NFT,發展成為了一個完整的生態系統,并成為了炫耀財富的主流手段.

1900/1/1 0:00:00
量化分析:一文探索不同NFT資產的價格分布_GET:Bitget

NFT 類型(如虛擬土地、PFP 和游戲資產)是對 NFT 項目和系列進行評估的常用框架。但是,這些資產屬性中較少被論及,有時甚至讓人感到違反直覺的,是系列內的價格“等級”(即價位,下同),以及.

1900/1/1 0:00:00
Web3 興起將帶來真正意義上的「眾籌」_ICE:justice幣最新消息

對于眾籌這個概念,相信所有人都并不陌生,不過相比于 Web2 時代而言,Web3 在推動眾籌方面具備相當的優勢.

1900/1/1 0:00:00
科普下區塊鏈的分類 數字藏品上的幾個鏈_EFI:DEF

區塊鏈簡單理解就是一個分布式的公共賬本,這個賬本由各個區塊連成一個鏈條,鏈條上的每個節點都能記錄信息,構成一個點對點的記賬系統。根據自身應用場景不同,一般分為公有鏈,私有鏈,聯盟鏈三種.

1900/1/1 0:00:00
ads