本來想寫《用人話解釋零知識證明》,但是發現做不到,因為至今我也沒能用人話解釋區塊鏈原理,零知識證明比區塊鏈原理更抽象,網上的資料90%以上是關于這個算法的推導,但是對于90%以上的程序員來說,我們并不關心哈希算法的原理,我們只關心哈希算法怎么用。
首先,這是一個非常基礎的函數結構:
如果這個function是一個哈希算法,那么,輸入任意文件,就可以得到對應的哈希值。假設有這樣的一個情況,某個哈希值我們大家都知道了,想要知道是哪個文件,這個文件在你手上,你很興奮的說,文件找到了,大伙說好啊你把文件拿出來,我們算一下哈希,看能不能對上。這時候你就犯愁了,這是個機密文件,哪能說提供就提供的,咋辦?
Nostr推出了具有新的比特幣功能的去中心化社交應用程序:金色財經報道,視頻游戲支付公司Zebedee今天將其主要ZBD應用程序遷移到Nostr,這是一個與Twitter競爭的去中心化平臺。這一舉措將最終使Zebedee的用戶能夠無縫地從ZBD應用轉移到Nostr現有的數十個應用程序中的任何一個。與控制用戶身份的傳統社交網絡不同,與開源的Nostr協議集成可以通過讓任何注冊的1800萬Nostr用戶加入該應用程序來大幅推動采用。Zebedee的聯合創始人兼首席技術官Andre Neves表示,ZBD應用現在是一個具有完整功能的Nostr客戶端。[2023/6/12 21:30:23]
這就請來零知識證明,這個算法結構如下:
Coinbase在蘋果商店免費應用程序中排名進入前100:金色財經報道,Coinbase已躋身蘋果商店App Store的前100個免費應用程序之列,目前排名第73。根據App Annie的數據,就在昨天,Coinbase排名第114位。[2020/11/25 22:00:16]
橙色部分就是zk-proof,分成證明和驗證兩個部分,其中證明部分也叫電路circuit,需要用電路描述語言編程,最終編譯為電路邏輯。在這個例子里,我們用circuit寫了個哈希算法,用來替代原來的function,circuit的特點是輸入是不需要公開的,輸出的是哈希值和proof,這個proof證明的就是:
韓國濟州島將要求游客使用區塊鏈DID應用程序:濟州島是韓國人最喜歡的旅游目的地之一,每年約有1500萬游客。濟州島現在要求這些訪問者使用一個基于區塊鏈技術的去中心化身份(DID)應用程序,該應用程序聲稱提供私有、安全的COVID-19聯系人追蹤。根據8月19日的公告,濟州省已與韓國區塊鏈公司ICONLOOP達成協議,將引入該系統。(Cointelegraph)[2020/8/20]
有一個未知input,經過circuit的運算,生成了output
有一個未知input,經過circuit的運算,生成了output
有一個未知input,經過circuit的運算,生成了output
動態 | XWallet錢包應用程序已獲得10萬注冊用戶:據bitcoinexchangeguide報道,Pundi X團隊宣布,其支付錢包應用程序XWallet自推出以來,已在三個月內獲得了超過10萬個注冊用戶。據悉,用戶可以使用Pundi X在任何經過??認證的NPXS代幣零售店進行付款,并直接連接他們的XPASS卡。[2019/4/1]
重要的事情說三遍!并且我還要畫出來:
這個proof就相當于對這個過程的認證蓋章,就這么板上釘釘了,無爭議了,別問input是啥,問就是不知道,所以叫零知識。已知的是啥呢,電路邏輯,輸出的值,還有證明文件proof。
在這個例子中,電路邏輯相當于哈希函數,如果你算出的哈希值和公開的那個哈希值一樣,那就說明你輸入的文件就是大家要找的那個機密文件,而你并不需要提供這個文件,只需要提供證明文件proof就行。
驗證的時候,大家把哈希值和proof放進verify函數,返回true,那就證明了:
你用某個文件,經過circuit的哈希算法,生成了這個哈希值
那還能是哪個文件,那肯定是那個正確的文件啊,要不怎么生成這個哈希!
混幣
zk-proof顯而易見在隱私場景很有用。混幣的原理是用戶把幣存進保險箱,保險箱的密碼的哈希值帖在保險箱上,誰要是能提供這個密碼,誰就能把保險箱里的幣全部拿走。跟上面這個找文件的原理是一樣的,用戶不用提供密碼,只要提供proof就行,合約校驗通過就讓你提幣。
還有一個問題,如果你能開某個保險箱,那就說明你就是放錢進去的人,誰放了多少錢到哪個保險箱,這在鏈上是可查的,所以你開哪個保險箱,你不能說。在合約里用樹形結構來存放保險箱,且層數固定,一般為16層。從你要開的保險箱到樹根root,中間的15個節點確定了,就確定了你要開哪個保險箱,所以這15個節點,也在circuit的privateinput里面。
最后合約校驗的時候,證明了保險箱的位置、保險箱密碼全部正確,但不知道是什么密碼也不知道是哪個保險箱,可能用戶也不知道,但是用戶把proof保管好就行,誰拿這個proof都可以去提款。
擴容
zk-proof除了隱私場景的應用,這兩年還發現可以做區塊鏈擴容。區塊里的每一個tx,都有用戶的簽名,用來證明這個操作不是偽造的,一個區塊的大小是有限的,所以要是能在區塊中塞入的tx越多,TPS也就越高。
如果把簽名砍掉,給tx瘦身,那就可以塞入更多的tx。問題是,砍掉了簽名,又如何證明這個操作是用戶簽名過的呢?用零知識證明,把用戶簽名的校驗邏輯寫進circuit電路,輸入是區塊數據,輸出是區塊數據,并附上proof,一個proof這就能證明所有tx都是被用戶簽名過的,達到瘦身目的。本文來源:https://bress.xyz/zh/post/nKtuByYTvPri75xHQoA7f8vNyJ6NQPvCL_YH8KVp31Q
作者:加戈
“區塊鏈技術基于密碼學原理和共識機制,是一種去中心化的分布式賬本數據庫,具有鮮明的保密性。雄安新區自2017年上線區塊鏈資金管理平臺開始,大力建設全球第一座區塊鏈城市.
1900/1/1 0:00:00Decentraland是一個分布式共享虛擬平臺,用戶可瀏覽和探索內容、進行各種不同的活動,并與其他人和實體互動.
1900/1/1 0:00:00來源:VaishPuri@TheTieLabs“我只知道一件事,那就是我一無所知”——蘇格拉底?最近圍繞L2擴容解決方案有很多明顯的熱情,這是理所當然的.
1900/1/1 0:00:00關于ZK 用一句話形容零知識證明:ZKproof是證明者說服驗證者某些陳述是真實的,但除了陳述是真實的之外不透露其他信息的一種方式。ZK是為匿名而設計的.
1900/1/1 0:00:00在美聯儲加息宣布后的周三,BTC取得短暫反彈。然而,在周四下午比特幣的價格突然下跌至36000美元下方,隨后帶動整個加密市場的下跌,當前美聯儲會議后加密貨幣的“反彈收益”已被抹去.
1900/1/1 0:00:00在電影《007:大戰皇家賭場》中,詹姆斯·邦德在沒有任何預約的情況下,僅僅出示了一張黑色的卡,巴哈馬高檔酒店服務生就主動帶他走進了上等套房.
1900/1/1 0:00:00