原文標題:《科普 | zkSync 的三重安全性方案》
在為 NFTs、swaps 和 zkEVM 上線做準備的過程中,我們注意到 zkSync 的用戶和資金量迎來了指數級增長。然而,處于早期開發階段的新協議往往存在一些風險和信任假設,我們認為有必要提醒新老用戶注意這點。
風險一方面來自應用于 Layer 2 的創新技術,另一方面來自這些解決方案的潛在中心化趨勢,就像大多數務實的團隊那樣,zkSync 踏上了漸進式去中心化道路,并積極開拓創新,增強以太坊生態的安全性和可擴展性,
這里需要注意的幾點是:
- 我們無法保證項目沒有漏洞。但是,我們會參照業內最新最好的安全實踐,并聯合頂級審計公司對項目的合約、電路和底層密碼學技術進行審計,將出現漏洞的可能性降至最低。所有基于以太坊構建的新項目都存在這一風險。我們的項目更是如此,因為零知識證明技術增加了項目的創新性和復雜性。
- 在功能范圍穩定之前,zkSync 將保持可升級狀態,但是,升級與否將由協議治理機制控制,而且需要經歷為期 4 周的鎖定期(詳見下文)。
- zkSync 目前依賴于可信設置,我們使用的是超過 200 位參與者(包括 Vitalik Buterin、以太坊基金會、Consensys、Argent 和 Matter Labs 等)通過多方計算儀式得出的結果。只要有一位參與者是誠實的,我們的系統就是安全的,雖然這個信任假設目前看來還不是什么大問題,但是我們依然打算將來切換至 RedShift,這樣就不再需要任何可信設置了。
為了降低 (1)和 (2) 的影響,我們現采取多層安全策略。
zkSync 的三重安全方案
- 通過隔離和冗余實現的安全性
- 信任最小化的可升級性
- zkSync 安全委員會
1. 通過隔離和冗余實現的安全性
由于我們的 Layer 1 智能合約在設計上非常輕量級(只有幾百行代碼),我們預期這部分不會出現嚴重問題,但是,零知識證明技術部分不僅代碼更多,而且復雜性更強,因此風險會更高,實際上,密碼學部分也不太可能出現問題。如果我們將智能合約漏洞比作突然爆發的海嘯,那么密碼學漏洞就就像是由連天暴雨引發的洪災:地面很快就會被淹沒,但是人們實際上都集中在摩天大樓樓頂,有足夠的時間疏散。通常情況下,新發現的漏洞只有在安全性較低的環境下才有利用價值,因為實際生產環境的安全閾值要高得多,從而導致攻擊成本倍增。以著名的 RSA 破解挑戰賽為例,破解 100 位密碼僅花了一個月,但是破解 250 位密碼花了近 30 年。然而,在現實世界中,系統使用的都是 2048 位及以上的密碼。為了在零知識證明技術部分增加額外的保護層來抵御漏洞攻擊,我們采用了雙保險措施:
- 隔離:只有得到授權的定序器提交的區塊才能向 zkSync Layer 1 智能合約提交狀態轉換,我們很快就會轉向由多名驗證者的 PoS 共識保護的集體定序器,
- 冗余:在被打包進區塊之前,提交至定序器的每筆交易都將通過簡單的執行進行驗證。
因此,即使零知識證明電路或底層密碼學技術存在漏洞,以至于做惡者可以為無效交易生成零知識證明,也不容易利用這個漏洞,若想將無效區塊提交至 rollup,攻擊者必須同時攻破密碼學和 定序器/PoS 共識。為了盡早發現潛在漏洞,我們將為白帽黑客推出低安全閾值的漏洞賞金計劃,
2. 信任最小化的可升級性
在 zkSync 協議的早期階段,可升級性有助于我們創新、快速迭代,更快修復漏洞。如果每次升級(就像 Uniswap V2 升級到 V3 那樣)都需要用戶遷移資產,用戶體驗會很差,但是,可升級性是一把雙刃劍:它會引入額外的信任假設和風險,我們堅信用戶不應該只依賴于開發者團隊或治理來保障安全性,因此,我們的 zkRollup 采用優先隊列/緊急出口機制來保護用戶免受驗證者的審查:無論驗證者的協作情況如何,你都能自由退出 zkSync。但是,如果存在未被發現的可升級性后門,就涼涼了。
為了幫助 zkSync 2.0 實現良好的平衡:
- 初期,升級可以通過 zkSync 治理機制發起,在部署之前需要經歷 4 周的鎖定期,即使治理機制遭到極大程度上的破壞,鎖定期也可以讓用戶有足夠的時間通過優先隊列/緊急出口機制退出,
- 協議經過充分檢驗后就會固定下來(再也無法升級),并要求用戶選擇新的版本,
3. zkSync 安理會
我們最后還要考慮的一種情況是,從理論上來說,某些交易可能會導致 zkEVM 內部出現故障,如果這類交易被提交至優先隊列,且無法得到處理,系統就會停止運行并進入緊急模式。即使我們通過升級來修復這個問題,至少也要等到 4 周的鎖定期結束,也就是說,zkSync 內的所有資金都要被凍結 4 周乃至以上,為了避免這種情況,以太坊社區內 15 位備受尊敬的成員將在緊急情況發生時介入,zkSync 安理會由以下成員組成:
- Aave
- Itamar Lesuisse (Argent)
- Mike McDonald (Balancer)
- James Prestwich (cLabs)
- Michael Egorov (Curve)
- Jack Baumruk (Dekrypt)
- Haseeb Qureshi (Dragonfly)
- Justin Drake (Ethereum Foundation)
- Stefan George (Gnosis)
- Baek Kim (Hashed)
- Chris Burniske (Placeholder)
- Nick Grossman (USV)
- Will Harborne (ZK Validator)
- Sergej Kunz (1inch)
- Lasse Clausen (1kx)
如果出現無法通過正常升級流程解決的問題,安理會將發揮作用。安理會的權力僅限于縮短 4 周的鎖定期,但它不屬于 zkSync 治理的一部分,無法繞過治理機制發起升級。在 Gnosis Safe 多簽機制的幫助下,zkSync 安理會將遵守以下規則:
- 8/15 簽名可以將鎖定期縮短至 2 周,
- 10/15 簽名可以將鎖定期縮短至 1 周,
- 12/15 簽名可以將鎖定期縮短至 3 天,
為了防止最壞的情況發生,任何升級都有一個最低鎖定期,安理會只是為了讓人們相信零知識證明安全性的臨時措施,等到我們切換至純選擇性升級機制后,就不再需要安理會了,
結語
我們始終將用戶資金的安全性放在首位。當 Matter Labs 于 3 年前成立時,我們就選擇只聚焦于 zkRollup —— 唯一具備與 Layer 1 相同安全屬性的 Layer 2 可擴展性技術,我們希望通過用戶教育、資訊透明和三重安全方案,讓用戶可以放心與 zkSync 交互,