以動物園為例,探究zkSync電路運作原理。


@zkSync發布了一篇關於動物園科普圖文,將動物園比作電路,擁有特殊技能的動物被視為“邏輯門”,合影被視為“證明”。一次零知識證明的過程包括將資料輸入電路、經過複雜計算產生證明。動物園模式中,不同動物對應不同邏輯門,如斑馬比較能力、鱷魚「小於」能力等。整合不同動物和箱子就可形成一個電路,驗證公式是否成立需要產生證明。動物園管理員模擬了特殊動物Zeek來驗證證明的準確性。產生證明的過程包括拍攝產生SNARK證明、驗證動物開心狀態等。最終,動物園遊客持有證明就能上鍊確定。

引人注目的人看了@zkSync新發的動物園科普圖文大呼模糊圈,把動物園比做電路,把擁有特殊技能的動物視為“邏輯門”,把動物們都開心的合影當成“證明”證明”,這樣輸入電路的數據在不確定具體內容的前提下,經過一系列複雜的計算,生成一個證明,就完成一次零知識證明過程。來了,我嘗試一下硬核科普一下:

1)動物園是對應的“電路”,電路其實是一系列邏輯門約束(加、減、乘、除等公式)的聚合,相當於所有動物能力的一次中心化表現,它也是構成計算機的基本元素因此形成電路的「數據」一定可以被套進各種公式內被侵犯。

在layer2環境中都是一些交易哈希值、帳戶、數據餘額之類的數據,這些數據可以轉變成公式進行計算,如果不能公式化則需要進行其他轉換編碼讓其原始數據可以變成公式,這是電路執行處理的前提。

2)各種動物對應電路裡的邏輯門,在動物園模式裡,分別有:木箱——代表不公開顯示的數字,被稱為“裝置”;玻璃箱——代表公開顯示的數字,為“公開輸入」;石頭-代表無法移動的數字,被視為「常識」;

斑馬具有比較兩個數字是否“足夠”的能力,結果斑馬就開心;鱷魚則表示“小於”,只有右邊的數小於左邊的數,鱷魚才會開心;蜘蛛代表更複雜的多選擇門,輸入0則一定為true,輸入1則回傳為false;另外還可以讓河狸表示除法、松鼠指回百分比;毛毛蟲代表加法等等。不同的動物代表不同的加減乘除攻擊公式,動物開心或傷心代表公式損傷的結構。

很多動物+不同種類的箱子組合起來就是一個電路,例如:要計算一個公式2 x + 3 = Y,x代表木箱,Y代表石頭,2個木箱和毛毛蟲、斑馬等前面工作,最後來驗證公式是否成立。注意,不用糾結為啥不同的動物具備不同的能力,這就是電路元素工作的基礎原理,是計算機執行計算的基本規則。

一個複雜的電路就是形形色色的動物(邏輯閘)和箱子(規則)共同建構。

3)假設剛才輸入的公式2x+3 =Y成立了,相當於斑馬毛毛蟲等動物都開心了,然後就會為該公式生成一個“證明”,需要有一個角色能識別這個證明是否準確才行因此,為了確保證明的可信度,動物園管理員即電路的構建者,模擬了一個特殊的動物叫Zeek,Zeek能夠看出其他動物是否開心,在layer2系統中相當於驗證器。

Zeek觀察動物是否開心的過程其實就是Prover系統的驗證過程,都開心了則驗證通過,證明論證才會真正通過上傳到主網,並最終確認。當然,增加成千上萬的動物,產生大量證明,Zeek 不可能挨個看,因此Zeek 也可以觀察千千萬萬個Zeek 自己的分身狀態是否開心,這個過程就叫Recursive Proof 線性證明。

4)拍攝的過程虛擬生成SNARK證明或KZG承諾的過程,而印刷的底片則相當於STARK\SNARK證明本身,動物園的遊客虛擬一個進入的交易交易,只有動物開心合照才會完成並產生證明證明,最終遊客持有照片留下的留下的證明才能被上鍊最終確定。

一個動物園有很多動物,不可能同時都開心並按照預定規則工作,有很多邏輯門,也難免會出現掉線等情況。這樣就會出現,堵塞卡頓以及報錯的情況,因此會產生無效的情況狀態轉化,約束不足,無法通過最終的驗證。

資訊來源:0x資訊編譯自網際網路。版權歸作者郝天所有,未經許可,不得轉載

Total
0
Shares
Related Posts