- 原作者:Kunal Goel
- 原標題:《Mina Protocol – Small but Mighty》
- 編譯:胡韜,鏈捕手
目錄
Mina 協議是解決狀態膨脹問題的新一代 layer1 區塊鏈。借助 zk-SNARK 的強大功能,Mina 保持了約 11 kB 的固定小尺寸
重要見解
- 傳統的區塊鏈在存儲不斷增長的數據方面效率低下。這種狀態膨脹問題會對網絡的去中心化產生負面影響,因為能夠參與區塊鏈節點驗證的用戶更少。
- Mina 協議是解決狀態膨脹問題的新一代 layer1 區塊鏈。借助 zk-SNARK 的強大功能,Mina 保持了約 11 kB 的固定小尺寸。除了去中心化之外,zk-SNARKs 還使 Mina 比其他鏈更加隱私和高效。
- 其他新一代區塊鏈已針對區塊鏈三難困境中的可擴展性進行了優化,在此過程中影響了去中心化。 Mina 優先考慮去中心化。理論上,任何智能手機或瀏覽器都可以在 Mina 上運行完整的節點。
- 然而,Mina 的許多開創性功能仍在開發中。產品路線圖雄心勃勃,團隊的交付能力將決定協議的成功與否。
根據區塊鏈三難困境,區塊鏈的三個理想目標(可擴展性、去中心化和安全性)中的任何一個的改進都會以其他兩個目標為代價。隨著區塊鏈技術多年來的進步,最新一代的區塊鏈在克服三難困境方面取得了一些成功。他們專注於可擴展性,將吞吐量提高了幾個數量級,但在去中心化和安全性方面做出了各種權衡。例如,Solana 的交易吞吐量是以太坊的 1,000 倍以上,但要求其驗證者使用工業級硬件並承諾對其進行持續升級。這阻礙了去中心化,因為更廣泛的社區無法參與區塊鏈的節點驗證。
比特幣和以太坊等老一代區塊鏈繼續受到低可擴展性的影響,因為它們優先考慮去中心化。然而,即使這些區塊鏈的去中心化也面臨壓力,因為它們的大小現在超過了數百 GB,從而提高了運行完整節點的要求。然後將責任留給有能力為去中心化的良好事業花費大量資源的愛好者。在 Blog 文章「區塊鏈可擴展性的限制」中,Vitalik Buterin 警告不要顯著增加區塊鏈的參數以滿足對區塊空間的需求,因為如果普通用戶無法運行節點,這可能會導致「極端中心化」。
Mina Protocol
Mina Protocol 目前用作支付鏈,並於 2022 年 3 月 23 日完成其主網啟動一周年。稱為 zkApps 的智能合約在 2022 年第二季度的產品路線圖上。本月早些時候,它從三箭資本和 FTX Ventures 等大型加密投資者那裡籌集了 9200 萬美元,以執行其為 web3 構建隱私和安全層的願景。
雖然其它第 1 層區塊鏈最近已經最大限度地提高了可擴展性,但 Mina Protocol 選擇了最大限度地去中心化。作為一個簡潔的區塊鏈,Mina 使用遞歸加密技術將區塊鏈的可驗證版本限制在大約 11kB 的固定大小,而像 Solana 這樣的 layer1 則為 PB 級大小。
與其他隨著每個區塊添加而增長的第 1 層區塊鏈不同,Mina 能夠通過使用一系列自引用的密碼證明來保持固定大小。將 Mina 的遞歸密碼學過程視為拍攝區塊鏈的照片會很有幫助。每當添加一個新區塊時,都會用現有區塊鏈拍攝新區塊的另一張照片,將區塊鏈的大小限制為一張照片,同時保留所有信息。
通過該介紹,本報告更深入地探討了困擾傳統區塊鏈的狀態膨脹問題,以及 Mina 如何使用零知識證明來解決該問題,並在此過程中提供更隱私、去中心化和高效的區塊鏈。它探討了 Mina 的設計選擇和關鍵參與者如何使其能夠在其原生代幣 MINA 的支持下作為一個簡潔的區塊鏈工作。最後,報告討論了 Mina 的未來發展、產品路線圖以及為實現其崇高願景而正在建設的團隊。
狀態膨脹
區塊鏈和狀態膨脹將永遠增加同步完整節點的成本,直到大多數用戶無法進行驗證並且我們降級為受信任的系統。這就是為什麼擁有一個保守的區塊大小上限如此重要的原因。
– Hasu,Flashbots 的戰略
狀態膨脹是存儲區塊鏈產生的不斷增長的數據以及交易、賬戶、代幣、合同和其他信息增長的問題。為了以去信任的方式準確地到達當前狀態,每個完整的區塊鏈節點都必須存儲每個使用的地址、交易的每個代幣、鑄造的每個 NFT 以及來自創世塊的任何其他交易的歷史記錄。
雖然較舊的區塊鏈由於其悠久的歷史而具有臃腫的狀態,但較新的區塊鏈由於其高吞吐量而面臨這些問題。例如,以太坊最受歡迎的客戶端 Geth 的狀態大小約為 600 GB,每週增加約 11 GB。雖然理論上它仍然可以在消費級硬體上運行,但隨著狀態大小的不斷增加,未來可能無法實現。以太坊計劃在後來的一組名為「The Purge」的升級中解決狀態大小問題。
另一方面,Solana 作為高性能區塊鏈,以每秒 1 GB 或每年 4 PB 的速度創建數據。它最初計劃使用一組「存檔器」來維護交易的歷史記錄,而節點只存儲最近幾天的數據。後來,它放棄了這個項目,計劃使用 Arweave 的 permaweb 來存儲賬本數據。然而,Arweave 目前只保存 52 TB 的數據,所以它需要顯著擴展以滿足 Solana 的需求。Solana 現在沒有去中心化的解決方案來存儲交易歷史記錄,同時使用 Google 的 Big Table 作為存儲解決方案。
Mina 解決了這個問題。 Mina 通過稱為遞歸 zk-SNARKs 的奇特密碼學技術保持小而固定的大小,它代表零知識簡潔的非交互式知識論證。
遞歸 zk-SNARK
零知識(zk)
零知識證明是一種證明某些事情的方法,驗證者除了聲明是真的之外沒有其他信息。通過一個例子更容易理解。想像一下,你在一個遊戲節目中,在你面前的一千扇門後面隱藏著一個獎品。要找到獎品,你最好的策略是按順序打開大門。如果你想向某人證明你知道獎品在哪裡,你可以告訴他們門牌號碼,他們可以自己驗證。這將是你有答案的簡單證明,但它與驗證者共享解決方案至關重要。
但是,如果你在將他們帶到獎品門口之前將他們蒙上眼睛並旋轉他們,你仍然可以證明你知道獎品在哪裡,而無需分享門號。這將是一個零知識證明。它確認你(證明者)知道解決方案,而不會將其洩露給驗證者。值得注意的是,工作也存在不對稱性。證明者為找到答案所做的工作量遠遠超過驗證者為檢查答案是否正確所做的工作量。證明者必須搜索每一扇門,直到找到正確的一扇門,而驗證者只需要檢查一扇門。
簡潔的非交互式知識論證(SNARK)
SNARK 是一種零知識證明。它們被稱為簡潔的,因為它們很小且易於驗證。 Mina 上的 SNARK 證明約為 7 kB,驗證它只需要 200 毫秒。
雖然一些 zk 證明可能需要證明者和驗證者之間來回交換信息,但非交互式證明可以由驗證者驗證,而無需與證明者進行更多交互。
Arguments 是證明的形式主義。在密碼學中,只能生成有效陳述的證明,而使用過高的計算能力可能會生成無效的論據證明。然而,這只是理論上的差異,就我們的目的而言,我們可以將論證視為與證明相同。
Knowledge 是指證明者有答案的事實。在我們的示例中,他們不僅證明有獎品,而且還證明他們知道獎品在哪扇門後面。
因此,SNARK 是小型、易於驗證的知識證明,不需要證明者和驗證者之間的來回通信。
遞歸
最後,Mina 使用了一種稱為 Pickles 的 zk-SNARK,它可以遞歸地引用自身,從而創建證明的證明並保持區塊鏈的大小固定。 Pickles 的另一個特性是,與其他 SNARK 不同,它不需要受信任的設置。受信任的設置被認為不太理想,因為未來的用戶必須相信原始設置是在適當的控制下公平執行的。
Mina 和 zk-SNARK
在 zk-SNARKs 的幫助下,Mina 可以擁有一個保持較小且固定大小的區塊鏈版本。每當添加一個新區塊時,必須創建一個攜帶前一個區塊的 zk-SNARK 的新 zk-SNARK 以證明它是有效的。只有在區塊數據正確的情況下才能創建此 SNARK。因此,一個 SNARK 證明當前區塊是有效的,並引用前一個區塊的 SNARK 來證明它是有效的。這樣,區塊鏈的整個狀態就可以通過驗證當前的 SNARK 來確認,因為它必須是在一系列有效的 SNARK 之上生成的。
然而,一個加密證明不足以運行一個完整的節點。僅憑證明不能讓節點執行其基本功能,因為它不提供清晰的信息,例如賬戶餘額。此外,一個節點還需要四條信息才能發揮作用。第一個是包含散列數據結構的協議狀態,包括賬本。第二個是 SNARK 證明和協議狀態的驗證密鑰。接下來,節點還必須存儲帳戶信息和與協議匹配的 Merkle 路徑,以不信任地確保帳戶信息正確並與當前協議狀態相關。
雖然 Mina 營銷材料聲稱區塊鏈約為 22 kB,但隨著技術的改進,它將僅為 11 kB。
11 KB,真的嗎?
好吧,不完全是,現在也不是。由於此類節點不具備完整的交易歷史,因此無法參與共識,因此被稱為非共識節點。然而,它比傳統區塊鏈的輕節點更強大,因為它在沒有信任假設的情況下運行。它可以獨立驗證區塊鏈數據,提取其賬戶餘額,並廣播交易。在這方面,它類似於比特幣或以太坊上的完整非挖礦節點。還有一點需要注意的是,非共識節點目前還沒有上線,它們是由支持 Mina 協議的團隊開發的。
zk-SNARK 的好處
Mina 對 zk-SNARKs 的實施使其成為一個引人注目的替代方案,與傳統區塊鏈相比具有獨特的優勢。
去中心化的改進
運行一個非共識節點只需要很少的磁盤空間和計算能力。雖然其他區塊鏈遭受狀態膨脹並且可能需要強大的工業級硬件來運行完整節點,但 Mina 的非共識節點將在智能手機或瀏覽器上運行。每個用戶都可以運行自己的節點,從而顯著改善去中心化。超越自我監管的區塊鏈理想是自我驗證,而 Mina 是唯一能夠實現它的區塊鏈。
工作不對稱
對於傳統區塊鏈,每個節點都必須獨立執行每筆交易,導致計算資源浪費和交易成本增加。驗證交易的零知識證明比執行交易本身佔用的資源要少得多。這是以太坊上 zk-rollups 的前提,Buterin 認為這是擴展以太坊之旅中最關鍵的部分。然而,Mina 在其協議設計中加入了零知識證明。
隱私
零知識證明通過不洩露任何不必要的信息來支持隱私。 Mina 區塊鏈的 zk-proof 僅證明狀態有效,而不顯示交互賬戶。即使是 Mina 的共識節點也只保留最後 290 個區塊的歷史記錄。
共識
Mina 使用一種名為 Ouroboros Samasika 的共識機制,它是 Cardano 共識機制 Ouroboros 的修改版本。 Ouroboros Samasika 具有使用不保留整個交易歷史的簡潔區塊鏈的附加屬性。與其他權益證明鏈一樣,被選為區塊生產者的概率取決於節點質押的 Mina 數量相對於總質押的數量。與 Cardano 一樣,Mina 不需要節點鎖定資金,網絡也不會削減資金。網絡停止向離線或從事不良行為的節點分配獎勵。
網路不知道也不宣布下一個區塊生產者,並且可能有多個區塊生產者符合條件。這種模糊性增加了協議的安全性,通過創建自然防禦來抵禦針對區塊生產者的拒絕服務攻擊。但是,它的缺點是有時會產生短期分叉。如果多個區塊生產者產生不同的有效區塊,則下一個區塊生產者遵循標準共識規則並建立在最長鏈之上。如果只有相同長度的鏈可用,則區塊生產者會在第一次看到的鏈之上構建,或者如果另一個具有更高的可驗證隨機函數輸出,則替換它。
這種設計選擇也意味著 Mina 具有概率確定性。憑藉 90% 的誠實質押和 4 分鐘的出塊時間,Mina 在 15 個區塊(即 60 分鐘)內達到 99.9% 的最終確定性。這比 Solana 和 Avalanche 等其他一些需要幾秒鐘才能完成交易的新區塊鏈要長得多。
交易流程
Mina 的交易執行過程中有兩個重要的參與者:區塊生產者和 SNARKers。區塊生產者類似於其他權益證明鏈的驗證者。他們被隨機選擇以根據他們的股份與總股份的百分比來產生一個區塊。 SNARKers 或 SNARK 工作人員生成區塊鏈單個交易的 SNARK 證明。為了更好地理解他們的角色,讓我們看一下 Mina 上的事務生命週期。
- 首先,為了執行交易,用戶將其與他們願意支付的費用信息一起廣播到網絡,這些費用被收集到交易內存池中。
- SNARKers 不斷致力於獨立提供這些交易的 SNARK 證明,以便它們可以包含在區塊中。
- 當一個區塊生產者被選中時,他們會從內存池中的可用交易中將最有利可圖且費用最高的交易排入隊列。然而,區塊生產者還必須添加相同數量的交易的 SNARK 證明,因為它們正在添加到隊列中。他們可以自己製作 SNARK 證明,也可以從 SNARKers 購買 SNARK 證明。
- SNARKers 相互競爭,以最低的成本提供 SNARK 證明。根據 Mina 區塊瀏覽器,在過去的 100 個區塊中,所有 SNARK 證明都是由 SNARKers 免費提供的。 SNARKers 以後可能會受到類似於挖礦的協議激勵措施的補貼,稱為 SNARK 挖礦。
- 區塊生產者然後更新隊列,隊列保持一個不變的大小,因為新的 unSNARKed 交易的數量等於被 SNARKed 後刪除的交易數量。
- 然後,區塊生產者將 SNARKed 交易包含在區塊中,並更新協議狀態的 zk-SNARK 證明。
- 新區塊和 SNARK 證明通過網路傳播並由其他節點確認。
資料來源:Mina 協議白皮書
審查阻力
Mina 使用費用市場,與比特幣類似,每筆交易都在內存池中等待,直到區塊生產者添加它。通常,用戶可以通過支付足夠高的費用或等待足夠長的時間來確保區塊生產者將他們的交易添加到區塊鏈中。
對於要審查的交易,要么所有 SNARKers 都必須拒絕提供 SNARK 證明,要么所有塊生產者都必須拒絕將 SNARKed 交易添加到塊中。在 Ouroboros 下,我們可以假設網絡是去中心化的,並且區塊生產者沒有串通。
所有 SNARKers 之間的勾結非常困難。首先,任何人都沒有進入 SNARK 交易的障礙。由於 SNARKing 的成本很小,任何人都可以製作 SNARK 交易證明並賺取 SNARKing 費用。即使交易費用很低,區塊生產者也應該能夠將 SNARKed 交易包含在一個區塊中,從而獲利。
網路統計
Mina 是一個相對較新的區塊鏈,具有獨特的架構。因此,關於網路及其採用,只有有限數量的數據可用。我們從當前可用的資源管理器和儀表板中彙編了以下信息。
Mina 的理論吞吐量是每秒一個事務。顯然,Mina 不會在吞吐量方面與其他較新的區塊鏈競爭。 Mina 不只是比較區塊鏈的吞吐量數量,而是試圖在更全面的 ScaDe (scale per unit of decentralization)的規模指標上進行競爭。 ScaDe 前沿是區塊鏈三難困境的推論,它表明區塊鏈的吞吐量與完整節點的數量成反比。因為 Mina 的目標是在理論上對節點數量沒有限制的情況下最大限度地去中心化,所以它在 ScaDe 邊界之外運行。
MINA 代幣
MINA 作為區塊鏈的原生代幣,用於支付交易費用,並通過區塊獎勵激勵共識參與。目前,無論是在鏈上還是在論壇上,治理過程都沒有基於代幣的投票,儘管有計劃。
MINA 是一種通脹貨幣,初始通脹率為 12%,主網啟動四年後將降至 7%。通貨膨脹是固定的,質押收益率隨著質押參與率的變化而變化。雖然通貨膨脹可能看起來很高,但它有助於保持鏈的安全,因為它鼓勵參與質押。
有多種方法可以查看 MINA 的供應量,例如不包括時間鎖定代幣的循環供應量或包含它們的完全稀釋供應量。最簡單和最準確的方法是通過質押供應。 MINA 的初始總供應量為 10 億個代幣,其中 8.06 億個在發佈時可用於質押。這些代幣中的大多數都被鎖定以供出售,但可以進行質押,從而獲得了整體獎勵。隨著時間的推移,剩餘的 1.94 億個初始供應代幣將以增壓獎勵、SNARK 挖礦獎勵和生態系統贈款的形式分發給社區。
來源:Mina
Mina 生態系統已累計籌集到 1.4 億美元,最近一次籌集到 9200 萬美元是在 2022 年 3 月。 Mina 的支持者是一些最著名的加密風險基金,如 FTX Ventures、三箭資本、Paradigm、Coinbase Ventures、Polychain Capital、Electric Capital 和 Multicoin Capital。社區銷售也引起了巨大的投資者興趣,迫使 Coinlist 將每位投資者的最高上限從 1,000 美元降低到 500 美元。
超值獎勵
最近,Looks Rare 及其質押獎勵出現了崩潰。與 Mina 類似,內部人員持有鎖定的代幣,這些代幣不屬於流通供應的一部分,但可以質押以獲得獎勵。這使他們能夠在發布後的最初幾天獲得很大比例的質押獎勵,因為他們的持股量遠高於流通供應量。著名的 Twitter 人物 Cobie 在他最近題為「激勵結構」的部落格中對此進行了介紹。
Mina 通過設計更好的獎勵結構避免了這一爭議。在發布後的前 15 個月內,質押未鎖定代幣的用戶將獲得更多的區塊獎勵,稱為超額獎勵。目前,解鎖的質押者獲得的獎勵是鎖定質押者的兩倍,從而實現了更受社區青睞的獎勵分配,並避免了 Looks Rare 團隊面臨的爭議。
路線圖
Mina 有一個令人興奮的產品,但該團隊仍在構建其最具開創性的功能。它目前僅用作具有數百個驗證器的支付鏈。智能合約功能、非共識節點和可以從互聯網上無需信任地提取數據的預言機是計劃在 2022 年添加的有希望的功能。 Mina 還計劃開發一個在鏈下存儲數據的 zk-Rollup,這將使它以擴展其吞吐量。
團隊和合作夥伴
有了基本的產品和雄心勃勃的路線圖,貢獻團隊就成為成功的最關鍵因素。
Mina 背後的核心團隊是O(1) Labs,他們致力於向 Mina 添加智能合約和 zk-Oracle。 Mina 基金會的現任 CEO Evan Shapiro曾是 O(1) Labs 的 CEO。 Evan 畢業於卡內基梅隆大學,獲得計算機科學碩士學位,並於 2017 年創立了 O(1) Labs。
O(1) Labs 的臨時 CEO 是Emre Tekişalp,他曾在 Coinbase 擔任業務發展經理,並擁有哥倫比亞商學院的 MBA 學位。 Izaak Meckler是 O(1) Labs 的 CTO,目前正在攻讀博士學位。加州大學伯克利分校密碼學專業。
=nil; Foundation 正在搭建從 Mina 到以太坊和其他 EVM 鏈的橋樑。 2021 年 9 月,以太坊基金會和Mina基金會向它提供了 120 萬美元的贈款,用於建造這座橋。
Chainsafe正在用 Rust 重新實現 Mina,並為基於瀏覽器的節點構建 MVP。
Polygon和 Mina 正在合作在 Polygon 的權益證明鏈上構建對 Mina 的支持,這將使開發人員能夠在 Polygon 上構建 dapp,從而利用 Mina 的 zk-SNARK 的優勢。
結論
雖然世界主要關注平台戰爭和以太坊的擴展解決方案,但 Mina 一直在構建一個有前途的解決方案,以利用零知識證明空間的潛力,同時不影響去中心化。憑藉強大的團隊、令人印象深刻的合作夥伴和支持者以及新的資金儲備,Mina 可以開始執行其雄心勃勃的路線圖。 Mina 的貢獻者可以從 Solana、Avalanche 和 Terra 等替代型平台鏈在 2021 年取得的成就中汲取靈感。獲勝者尚未確定,如果 Mina 能夠構建強大的產品,用戶和投資者都會來。