作爲公鏈的 Mina 還可以搭建各種應用,如果針對特定場景,設計零知識證明的應用邏輯並沒有那麼困難。

撰文:潘致雄

「輕量級區塊鏈」,是 Mina 最被人所熟知的特性,但事實上 Mina 更大的願景是搭建一個圍繞零知識證明的生態系統。無論是對於公鏈本身的功能、應用,還是其他可以與 Mina 實現互操作性的其他網絡,都可以通過利用 Mina 實現。

輕量級優勢之外,Mina 更是一套基於零知識證明的生態系統

當然,Mina 的輕量級區塊鏈架構就已經是業內獨一無二的存在了,相比以太坊和比特幣動輒幾百 GB 的區塊空間,幾十 KB 大小的固定區塊空間可以讓大多數人蔘與併成爲節點,適合普通用戶的電腦甚至是移動設備。

而其實很多人都沒關注到,除了最簡單的轉賬場景之外,作爲公鏈的 Mina 還可以搭建各種應用,哪怕零知識證明技術本身是很難實現通用計算能力的。Mina 對鏈聞表示,「如果針對特定場景,設計零知識證明的應用邏輯並沒有那麼困難。」

所以 Mina 也會搭建基於零知識證明(SNARK)技術的應用生態,他們稱之爲 Snapp (由 SNARK 驅動的 App)。既然是採用了零知識證明,所以它天然的優勢就是隱私保護,可以實現類似於信用積分驗證、文檔驗證、餘額驗證等場景。

如果再進一步擴展其應用場景,Mina 還可以與其他公鏈實現互操作性,爲其他公鏈提供零知識證明相關的服務,比如最近與以太坊基金會的合作。雙方將共同出資,招募團隊研發並驗證 Mina 採用的 Pickles SNARK 如何在以太坊上進行驗證,最終是爲了實現兩個公鏈網絡的互操作性,也就同時打通了 BSC、Heco 等 EVM 兼容鏈。

如何實現約 22 KB 固定大小的區塊空間?

Mina 的核心除了使用零知識證明 zk-SNARK,而更重要的是實現了可以遞歸的零知識證明技術。SNARK 全稱是 succinct non-interactive argument of knowledge「簡潔的非交互式知識論證」,而其中第一個詞 succinct (簡潔)特性就是 Mina 所重點利用的。

通過 SNARK 技術,Mina 就可以實現用單個零知識證明,驗證區塊交易歷史記錄的準確性。另外再加上 succinct 優勢,這樣也就實現了將整個區塊壓縮到單個 SNARK 證明的大小,也就是約 1 KB。用戶的驗證成本也相當低,如果有人提交了錯誤的 SNARK 證明,任何人的設備比如手機就可以立即驗證並發現。

但這只是第一步,區塊鏈的一個特性是每個區塊都需要引用上一個區塊,因爲如果只是爲每個區塊生成 SNARK 證明,其整體容量還是會線性增長。

所以 Mina 的核心是一個名爲「遞歸零知識證明」的技術,他們的方案是爲 SNARK 創建 SNARK (也就是遞歸),然後不斷進行迭代和嵌套,將這些 SNARK 證明以遞歸結構鏈接在一起,實現了讓區塊鏈保持約 22 KB 的恆定大小。

輕量級優勢之外,Mina 更是一套基於零知識證明的生態系統

換一種更通俗的比喻,如果你要證明你一年中每天都到過一個廣場(廣場上有日期時鐘),最簡單的辦法就是每天自拍打卡,365 張照片就是最終證據。而另一種辦法就是從第二天起,每天自拍打卡時,手上拿着前一天的照片,最終一年就只需要一張照片即可,這也就是 Mina 採用的遞歸證明。

有意思的是,Mina 的開發團隊 O(1) Labs 名字中的「O(1)」,是經常用來描述算法時間或空間複雜度的一種方式。比如說 O(n) 代表了複雜度是線性增長的,O(n²) 代表了複雜度是平方階增長的,而 O(1) 則是複雜度最低的,無論輸入中的數據量增加多少倍,時間佔用或空間佔用是不變的。

所以從空間佔用角度來說,Mina 全節點的區塊空間大小可以算是 O(1) 複雜度的,維持在約 22 KB 的容量。

全新的區塊鏈驗證範式,與擴容技術 ZK Rollup 異曲同工

另外,輕量級區塊鏈的本質不僅是實現更普惠的全節點,從系統架構來說也是顛覆了原本區塊鏈的設計模式,將「執行」和「驗證」進行了分離。執行和計算過程可以在鏈下完成,鏈上可以以很低的成本和很高的效率進行驗證。

而以太坊生態中最前沿的二層擴容技術 ZK Rollup 也是基於零知識證明技術的,它從計算和驗證範式來說也和 Mina 很類似。大多數節點不需要參與執行和計算,而是交由一些具有計算能力的節點完成,他們計算出的結果是否準確,任何節點都可以驗證。

相比較現在以太坊或者比特幣網絡,所有節點和礦工都需要存儲所有區塊數據、狀態數據,然後才能驗證每一筆交易的合法性,或進行交易的計算、執行,也就意味着每筆交易都被執行了了成千上萬次。雖然這是一套驗證了安全性的系統,但是從網絡整體的效率來說,可能並不是最優解。

輕量級優勢之外,Mina 更是一套基於零知識證明的生態系統

在 Mina 網絡中,所有的節點都是全節點,因爲每個節點都可以接受並驗證零知識證明。但除此之外,還有一些其他類型的節點,爲整個網絡提供不同的服務,以完善整體的架構,其中包括存檔節點(Archive Node)、區塊生產節點(Block Producer)、零知識證明提供商(SNARK Producer)。

存檔節點(Archive Node)是存儲所有歷史詳細區塊數據的節點,作爲一個持久化的數據源,便於檢索。團隊表示,「這類節點的數據存儲壓力相對較大,但由於可以簡單驗證這些數據的有效性,因此即使去中心化的程度沒有那麼高,安全風險也不會太高。」

區塊生產節點(Block Producer)類似於其他區塊鏈網絡中的「礦工」,這些節點需要參與共識,所以也可以稱爲「共識節點」,他們需要負責生產區塊,然後獲得區塊獎勵。Mina 使用的共識「Ouroboros Samasika」也是一個值得深入探究的領域,簡單來說,它與許多 PoS 算法不同,不是一個類 BFT 的算法,所以其優點包括節點數量沒有限制,節點可以動態進出等,非常符合 Mina 的簡潔性原則。

零知識證明提供商(SNARK Producer)是爲整個區塊鏈網絡提供 SNARK 證明服務的節點,他們會將交易數據壓縮後生成零知識證明,然後通過一套市場化的機制(Snarketplace),將某個區塊的 SNARK 賣給區塊生產節點,本質也就是他們會和區塊生產節點共享一部分區塊獎勵。從長期來看,他們也可以爲其他網絡(比如 ZK Rollup)提供通用的零知識證明計算服務。

應用生態有哪些優勢?隱私+Web 2.0 的互操作性

零知識證明雖好,但它的難點在於通用計算,也就是如果想要成爲類似於以太坊一樣的全功能計算平臺,難度更高。所以 Mina 的切入點是從一些特定的應用入手,然後逐漸完善全功能和多樣化的應用生態。

輕量級優勢之外,Mina 更是一套基於零知識證明的生態系統

在 Mina 平臺中,他們將應用稱之爲 Snapp。相比較其他協議的 DApp (去中心化應用),Snapp 的優勢可以概括爲「隱私保護」和「與互聯網數據的互操作性」。前者本就是零知識證明的自帶屬性,而後者其實很容易被忽視,也是很多公鏈或預言機協議在嘗試解決的問題。

從具體應用看,Mina 團隊給出了三個典型的案例,分別是「端到端的數據隱私以打通線上和鏈上」、「無需許可的互聯網預言機」、「第三方隱私登錄」。

目前最典型的一個案例就是 Mina 和 DeFi 協議 Teller 團隊進行的合作。Teller 是一個以太坊鏈上的無擔保借貸市場協議,具體的業務邏輯可以通過以太坊實現。但是針對信用分數的部分,用戶可以通過 Mina 的 Snapp 實現證明自己的信用分數(比如 Credit Karma)高於某個特定的分數(比如 700 分),但無需曝光自己真實的分數,或其他更敏感的信息。

至於 Snapp 如何獲得這些鏈下數據的,Mina 表示這是通過他們搭建的「無需許可的互聯網預言機」功能實現的。具體來說,Snapp 可以直接與 HTTPS (超文本傳輸安全協議)進行交互,所以也就能爲該數據生成零知識證明。而 HTTPS 技術又保障了網頁上的數據受到證書保護,即無法僞造數據來源。

這有點像是預言機協議在解決的問題,但是 Mina 的這套直接與 HTTPS 交互的方案中,它不僅可以接入更多樣化的個人數據,而且不需要泄漏隱私。所以這套全新的「個人」版預言機方案,也算是業內獨一無二的存在。

不是公鏈的顛覆者,而是合作共贏

Snapp 本身可以針對部分場景實現特定的業務邏輯,但爲了實現更復雜和通用化的應用需求,Mina 也會通過與其他公鏈進行合作,增強互操作性,讓整個生態區塊鏈生態互惠共贏。

所以 Mina 最先選擇與公鏈生態的龍頭以太坊進行合作,雙方的基金會將出資,尋求第三方團隊給出一個能高效驗證 Pickles SNARK 的 EVM 改進方案。當然這其中還是有很多難點的,工程實現上也可能會有挑戰,具體可以 參考 這篇提案的技術細節。

此次的合作的最終目的是爲了實現兩個公鏈網絡的互操作性,能爲以太坊網絡需要實現隱私相關的應用提供相應的解決方案:利用 Mina 網絡實現零知識證明計算任務的分發(計算量較大),然後在以太坊上實現驗證(計算量較小),同時兼顧了兩條鏈的特性和優勢。

輕量級優勢之外,Mina 更是一套基於零知識證明的生態系統

如果進行一些簡單的暢想,未來的去中心化的應用可以通過其他任何鏈實現複雜的業務邏輯(比如以太坊的 DeFi 生態),但是如果需要爲其加入隱私特性,或者需要調用互聯網上的個人隱私數據,就可以交付給 Mina 搭建的零知識證明生態實現,Teller 就是一個很好的案例。

當以太坊實現 Mina 兼容後,很多其他鏈也就同步支持了,目前最流行的應用生態幾乎都採用了 EVM,甚至很多新的公鏈也都會增加 EVM 的兼容性,比如 BSC、Heco、波卡生態的幾條平行鏈、NEAR 等。

綜合來看,Mina 不僅提供了一套全新架構的區塊鏈網絡讓手機也能成爲全節點,還圍繞零知識證明技術構建了應用生態以加強隱私,最後還計劃將這些能力提供給其他區塊鏈網絡,讓開發者可以利用 Mina 的這些優勢構建原本無法實現或成本極高的場景。

後續 Mina 將如何拓寬實際的應用場景,如何與現有的應用進行合作,如何將基於 HTTPS 的個人預言機服務大規模普及和證明其安全和準確性,是他們正在和遲早會面臨的挑戰,值得我們拭目以待。