官术网_书友最值得收藏!

3.3.2 ZK Sync的承諾:免信任、保密、快速

下面從技術角度,讓我們來看看ZK Sync的架構、設計原則以及協(xié)議的良好特性。

1.安全性:扎根于ZK Rollup

ZK Sync是基于ZK Rollup的概念搭建的。

簡而言之,ZK Rollup是一種二層(Layer 2)擴展方案,所有的資金都存儲在主鏈上的智能合約內,計算和存儲則在鏈下執(zhí)行。每創(chuàng)建一個新的Rollup區(qū)塊,就會生成一個狀態(tài)轉換的零知識證明(SNARK),并提交給主鏈上的合約進行驗證。這個SNARK包含了對Rollup區(qū)塊中所有交易有效性的證明。此外,每個區(qū)塊的公開數據更新,都會作為便宜的calldata發(fā)布到主鏈上。

該架構提供了以下保證:

(1)Rollup驗證者永遠不能破壞狀態(tài)或竊取資金(注意,這里不同于側鏈)。

(2)即使驗證者不配合,用戶也可以追回Rollup上的資金,因為Rollup具備數據可用性(注意,這里不同于Plasma)。

(3)得益于有效性證明,無論是最終用戶,還是可信的第三方,都不需要通過在線監(jiān)視Rollup區(qū)塊來防止詐騙(注意,這里不同于使用錯誤性證明的系統(tǒng),例如支付通道或optimistic rollup)。

綜上所述,ZK Rollup嚴格繼承了底層鏈的安全保障。正是有了這種安全保障,再加上豐富的以太坊社區(qū)和現有的基礎設施,以太坊才決定專注于二層解決方案,而不是試圖搭建自己的底層鏈。感興趣的讀者可以去繼續(xù)了解ZK Rollup和Optimistic Rollup之間的區(qū)別,會更有收獲。

Matter Labs在過去的一年以來都在研究ZK Rollup技術。自首個原型發(fā)布以來,團隊已經全部重寫了架構和ZK的電路。最新的版本融合了從社區(qū)獲得的反饋,并實現了各種可用性和性能改進。

簡單概括一下,ZK Rollup實現的安全性體現在如下幾點:

  • 完全的免信任性
  • 具備與底層鏈(以太坊)同樣的安全保障
  • 第一次確認之后,就具有由以太坊背書的確定性

2.可用性:實時交易

盡管大家樂觀相信,但是仍然還需要證明的是:ZK證明技術的最新發(fā)展成果將縮短證明時間,將ZK Rollup區(qū)塊的出塊時間控制在一分鐘之內。一旦區(qū)塊證明被提交到主鏈,并在Rollup智能合約中驗證通過,這個區(qū)塊內的所有交易都會得到最終確定,并且受到Layer-1抵御鏈重組的能力保護。

盡管如此,就零售和線上支付領域而言,以太坊上15秒的區(qū)塊延遲也有些不可接受,如何才能夠做得更好呢?

所以,大家打算在ZK Sync中引入即時交易收據(instant tx receipts)

簡單來說,那些選擇參加ZK Sync區(qū)塊生產的驗證者,必須向主網上的ZK Sync智能合約提交一筆可觀的安全保證金。由驗證者達成的共識會為用戶提供亞秒級確認,確保其交易包含在下一個ZK Sync區(qū)塊內,并由絕大多數(2/3以上)的共識參與方簽署(按權益加權)。

如果一個新的ZK Sync區(qū)塊被創(chuàng)建出來并提交到主鏈上,它是無法被撤回的。但是,如果這個區(qū)塊不包含已承諾的交易,則簽署過原始收據和新區(qū)塊的驗證者,其安全保證金會被罰沒。這部分驗證者所質押的保證金必定超過總金額的1/3以上。也就是說,懲罰會覆蓋1/3乃至以上的安全保證金,而且只有惡意驗證者會遭受懲罰。

被罰沒的金額中有一部分會用來補償交易接收者,剩下的會被銷毀。

罰沒機制既可由用戶自己觸發(fā),也可由任意簽署過原始交易收據的誠實共識參與方觸發(fā)。后者天生就有觸發(fā)罰沒機制的動機:如果他們參加下一輪區(qū)塊生產,可能也會遭到懲罰。因此,共識參與者中只要有一個是誠實的就足以檢測欺詐。

再細說一遍:ZK Sync設計了一種零確認的交易模式,也就是讓一筆交易附帶一個即時交易數據,該收據會指向一個尚未發(fā)布到鏈上的ZK Sync區(qū)塊。

在區(qū)塊證明發(fā)布到主鏈之前,只有短短幾分鐘的時間可以對ZK Sync上的零確認交易發(fā)起雙花攻擊。此外,惡意驗證者要想誘使用戶相信自己的交易已成為零確認交易,得做好1/6的安全準備金被罰沒的打算。

從買賣雙方的角度來看,零確認交易是:

(1)即時的;

(2)存在逆轉的可能性,不過只在短短的幾分鐘之內;

(3)只有在同時而非逐個對上千個賣方發(fā)起攻擊的情況下才可逆。

相比信用卡支付,ZK Sync在用戶體驗和安全性上有很大提升!

現在讓我們站在不同參與者的角度來看:

  • 出售實物商品的線上商店會立即向用戶確認訂單,但是不會遭受攻擊,因為賣家會等到完全確認之后再發(fā)貨。
  • 實體店在交易量較少之時是幾乎不可能遭受攻擊的。即使你是以即時收據的形式來出售一臺Macbook,也要有數千名協(xié)調一致的攻擊者在不同的地點發(fā)起攻擊,還要依靠大多數驗證者串謀才能成功。

說得再深入一些。為了量化風險,我們可以將保證金提供的經濟保證與PoW區(qū)塊鏈提供的結算保證進行比較。舉例來說,經過35個交易確認之后,Coinbase才會接收一筆以太坊資金存款。如果是通過亞馬遜云服務租用GPU來發(fā)起51%攻擊的話,要持續(xù)攻擊10分鐘才能撤回這個交易,成本大約在6萬美元。假設安全保證金高達數百萬美元,撤回一個即時ZK Sync收據所需的成本會高得多。因此,這些即時收據的經濟確定性相比以太坊有過之而無不及。

要注意的是,即時交易數據不會受到ETH區(qū)塊重組的影響,因為這些收據的有效性與以太坊無關。此外,以太坊的結算保證與ZK Sync的結算保證是結合在一起的。

3.總結:實時交易

  • 亞秒級交易確認的經濟確定性堪比以太坊。
  • 幾分鐘之后就具有由以太坊背書的確定性。

3.3.2.1 活性:抗審查性和抗DoS攻擊

擴展方案必然具備的一個屬性是,大多數用戶都無法參與所有交易的驗證。因此,所有二層擴展方案都需要專門設置一個角色(Plasma和Rollup上的驗證者、Lightning hub,等等)。這類角色對于安全性和性能的要求較高,帶來了中心化和審查的風險。

為了解決這一問題,ZK Sync在設計上引入了兩種不同的角色:驗證者和守護者。

1.驗證者(Validitor)

驗證者負責將交易打包到區(qū)塊內,并為這些區(qū)塊生成零知識證明。他們要參與共識機制,必須繳納一筆安全保證金,才能創(chuàng)建即時交易收據。驗證者節(jié)點必須在網絡帶寬良好的安全環(huán)境中運行。或者,他們也有可能按自己心意在不安全的云平臺上生成零知識證明。

驗證者將獲得交易費作為獎勵,是用被交易代幣來支付的(為終端用戶提供最大程度的便利)。

為了快速達成ZK Sync共識,驗證者的人數是有限制的(根據我們的分析,30~100人比較合適)。但是別忘了,ZK Rollup驗證者是完全免信任的。在ZK Sync上,惡意驗證者既不能破壞系統(tǒng)的安全性,也不能欺騙誠實的驗證者觸發(fā)罰沒機制。因此,不同于optimistic rollup,系統(tǒng)的守護者(Guardian)可以頻繁更換一小部分驗證者。與此同時,只要有2/3的提名驗證者是誠實且可進行操作的,就能確保滿足活性要求(liveness)。

2.守護者(Guardian)

大部分通過質押代幣份額來提名驗證者的ZK Sync持幣者會成為守護者。守護者的目的是監(jiān)控點對點交易流量,探測審查行為,并確保不會提名那些有審查行為的驗證者。為了保護自己的質押物不被罰沒,守護者必須確保ZK Sync可以抵御DoS攻擊,不會實施審查。

雖然投票密鑰通常來說都是在線保存的,但是這不會給ZK Sync上的守護者帶來罰沒或盜竊的風險(所有權密鑰是冷存儲的)。守護者就可以選擇只監(jiān)控一小部分流量。因此,守護者節(jié)點可以運行在普通的手提電腦或云服務器上,也就是說,不需要提供專門的驗證者服務。

守護者會獲得驗證者的費用作為獎勵,是以ZK Sync原生代幣的形式發(fā)放的。其收益和押金會被鎖定較長一段時間,以此促進ZK Sync代幣的長期升值。

3.總結:活性

  • 兩種角色:驗證者和守護者都受到交易費的激勵。
  • 由驗證者運行共識機制并生成證明。
  • 由運行在普通硬件上的守護者防止審查。
主站蜘蛛池模板: 阿合奇县| 化德县| 临沧市| 宿松县| 石阡县| 孟州市| 平湖市| 即墨市| 姜堰市| 浙江省| 丹棱县| 正阳县| 亳州市| 娱乐| 海南省| 衡南县| 彰武县| 莲花县| 娱乐| 洞头县| 镇平县| 邵武市| 郓城县| 南阳市| 永寿县| 新巴尔虎右旗| 麟游县| 五大连池市| 新乡县| 封丘县| 玉树县| 灌云县| 汕头市| 桐城市| 信丰县| 嘉黎县| 乌拉特前旗| 固始县| 凉山| 朝阳市| 靖边县|