作者:100y.eth 來源:mirror 翻譯:善歐巴,喜來順財經
從前,一位紫色的Pepe巫師降臨在以太坊的村莊……
很久以前,在一個名為以太坊的小村莊里,生活著一群綠色的Pepe。在這個繁榮的王國中,高度的去中心化和強大的安全性推動了村莊的興盛,經濟一派繁榮。
村民們深受這些原則的影響,定期通過持有的權益選舉領導者,來監督每十二秒記錄一次的交易區塊,以此維持村莊的活躍經濟。然而,如今的以太坊村莊已不復當年的輝煌,猖獗的模因病毒肆虐,使得村莊元氣大傷。村里的綠色Pepe們行色匆匆,村莊成了一片蕭條的景象。
然而,村中仍有一些綠色的Pepe懷揣復興的夢想,他們提出了“L2改革”,希望能讓以太坊重現生機。通過他們的努力,村莊逐漸恢復了些許繁榮,活動的規模也達到了前所未有的高度,綠色Pepe們的生活中再次泛起一絲活力。
然而,L2改革并未完全解決問題。鄰近的Solana和Sui村莊雖尚年輕且時常不穩定,但在前所未有的科學革命下飛速發展,復雜的金融交易變得簡單流暢,而以太坊盡管經歷了改革,依然步履維艱。村中開始流傳著搬遷到這些新興村莊的傳聞。
就在這時,一位紫色Pepe巫師出現在了以太坊村莊。
這位紫袍的Pepe巫師懷著對以太坊村莊失落輝煌的深深惋惜,決心建造一個名為Monad的新村莊。
一天,他站在村中的廣場上,向綠色Pepe們宣布了他創立Monad的宏偉計劃,并邀請他們表達對未來的期許和夢想。
綠色Pepe 1首先發言:“我希望Monad的生活能像以太坊一樣。雖然以太坊缺乏Solana或Sui的可擴展性,但它的文化獨特,我從未想過離開,因為其他地方的文化和我們差異太大。”
綠色Pepe 2也補充道:“保持生活方式和文化的連續性很重要,但我也希望能像其他村莊一樣高效。雖然以太坊安全,但對那些追求速度和靈活的項目來說,它顯得力不從心。”
巫師聽取了他們的期望,承諾在Monad中融入以太坊豐富的文化,同時具備Solana和Sui的可擴展性。他開始思索如何施展強大的魔法來實現這一愿景:一個既保留以太坊傳統,又擁有新科技效率的村莊。
隨后,他將這份宏大的愿景分享給渴望改變的Pepe們,激發了他們對一個兼具兩者優勢的新生活的希望。
制約以太坊村莊擴展性的一個限制在于,每次創建新區塊時,交易都要在共識過程中實時處理。在這個村莊中,提議區塊的領導者必須在提議之前計算所有交易的結果,而接收區塊的驗證節點也需計算所有交易,以驗證區塊的合法性并投票。
由于共識過程需要村民們的計算和溝通,這極大壓縮了處理交易的時間,從而限制了擴展性。為了解決這一問題,紫色Pepe巫師施展了一種名為“延遲執行”的新魔法,將村民交易的“共識”過程(即交易排序)與“執行”過程(即計算結果)分離。
簡單來說,不再需要每個區塊同時進行共識和執行,而是N區塊的共識進行時,執行則處理N-1區塊中的交易結果。
這種方法使得執行可以利用完整的區塊時間,大大增加了同一時間內可以處理的交易數量。
在以太坊村莊中,節點在共識前會進行計算,以確保區塊的合法性。然而在Monad的延遲執行系統中,共識和執行分離,惡意節點可能忽略之前已確認的交易或篡改計算狀態。
為防止這種情況,Monad將Merkle根(表示第N-10區塊的計算結果)嵌入到第N區塊的提議中。如果超過三分之二的節點對第N區塊達成共識,即表示第N-10區塊的計算結果也被確認。
如果某節點在第N-10區塊的計算結果不匹配第N區塊中的Merkle根,該節點將從共識中移除,始于第N區塊。這種十區塊的Merkle根延遲確保了任何計算錯誤都能被及時檢測。
值得注意的是,Monad的區塊時間為1秒,但這并不意味著Monad的最終確定性需要10秒。憑借Monad獨特的MonadBFT系統,單區塊的最終確定性可以在1秒內實現。
紫色Pepe巫師苦心思索,如何能讓村莊中的領導者迅速將區塊提案傳播給其他節點。
在以太坊村莊,習慣是將一個完整的區塊提案,包括所有交易,作為一個龐大的包裹在網絡上傳播。然而,巫師意識到,如果Monad村也采取這種方法,廣播包含大量交易的區塊提案將是一項艱巨而緩慢的任務。
為此,紫色Pepe巫師提出了“交易哈希”的概念。由于所有村民提交的交易已經在網絡中傳播,每個節點都在自身的交易池中保留了Monad村的交易記錄。
巫師利用這一點,讓領導者無需在每次區塊提案中傳遞完整的交易列表。取而代之的是,領導者只需引用這些交易并發送哈希值即可。
如此一來,Monad的區塊提案保持緊湊,僅包含每筆交易的哈希值。其他節點在收到提案時,只需將這些哈希值與自己記錄中的交易對比,便能輕松找到所引用的交易。
在Monad村莊中,每個區塊內的交易順序和區塊生成的共識由MonadBFT治理,這是一種基于HotStuff的高性能共識機制。該兩階段的拜占庭容錯算法(BFT)能夠在兩步內達成共識。
區塊的領導者通過概率選取,基于每位參與者的質押份額來確定。在Monad中,每個區塊的創建過程比以太坊村更為高效,因為每個區塊N的提案與前一區塊N-1的法定證書(QC)一起傳遞,表明超過三分之二的節點已經驗證了該區塊。
以下是流程的展開過程:
領導者N發布區塊N的提案,同時附帶前一區塊N-1的QC。
驗證者們隨后驗證區塊N,并將他們的投票發送給領導者N+1。
領導者N+1發布區塊N+1的提案,同時附上區塊N的QC。
然而,即便擁有QC N,驗證者也無法立即敲定區塊N,因為區塊鏈的本質無法確保所有參與者同步在線。
要完全確保區塊N的安全性,驗證者們需要將對區塊N+1的“同意”投票(其中包含QC N)發送給領導者N+2。當領導者N+2生成QC N+1時,這確認了第N+1輪的成功完成,從而使區塊N最終確定。
通過卓越的巫術和遠見,紫色Pepe巫師引領Monad村莊進入了一個新紀元。在這個村莊中,每個區塊不僅能夠迅速創建和保障安全,且過程優雅,符合一個真正可擴展、合作共贏的村莊愿景。
在 Monad 領域,為了處理大量村民交易,紫色 Pepe 巫師設計了一個新咒語,使交易不是以以太坊村莊的串行方式處理,而是以強大的并行流處理。
借助延遲執行,只有在區塊的交易順序達成共識后才會開始執行。Monad 村莊由許多熟練的執行者組成,每個人都負責處理交易,獨立計算其輸入和輸出并創建待處理列表。
這些輸入和輸出不會立即改變村莊的狀態,而是以懸浮魔法的形式等待,準備按照共識確定的順序提交。這種提交涉及將輸出逐一合并到當前狀態,就像魔法線編織出無縫有序的掛毯一樣。
然而,事情發生了轉折。并行處理引入了交易沖突的可能性——這在有序的以太坊村莊中很少見,但在這里卻是一個新的挑戰。
例如,如果一筆交易(交易 b)顯示村民 A 贈送 1 ETH 給村民 B,而另一筆交易(交易 c)顯示 B 在村里的小旅館花了這筆 ETH,那么它們的順序就至關重要。如果交易 c 試圖在交易 b 之前執行,交易就會失敗。在這些情況下,沖突的交易會被重新安排,交易 c 等待交易 b 完成后再再次執行。
因此,在 Monad 中,并行執行的核心在于序列:結果是并行計算的,但狀態更新按照所需的精確順序合并。
紫色佩佩巫師并沒有就此止步。他變出了 MonadDb,這是 Monad 村獨有的自定義數據庫,專門用于存儲區塊鏈的狀態。以太坊依賴于復雜的 Merkle Patricia Trie,這種結構以其彈性而聞名,但也因其對外部客戶端的低效率而聞名,而 MonadDb 則原生地采用了它,充分利用了它的全部功能和效率。
MonadDb 在設計時充分考慮了村莊的并行執行,支持同時進行多個讀取和寫入,并且精度很高。與要求每項任務完成后才能轉到下一項任務的傳統數據庫不同,MonadDb 擁有異步 I/O 魔力,允許任務無縫重疊,為真正的并行事務處理打開了大門。
通過一系列奇妙的咒語和復雜的魔法,紫色的 Pepe 巫師創造了 Monad 村——在這里,以太坊的可信賬戶、加密技術、交易格式、語言和錢包與 Solana 和 Sui 令人難以置信的可擴展性輕松融合。現在,Monad 蓬勃發展,夢想著實現每秒 10,000 筆交易并實現 1 秒內完成。
誕生于智慧與希望的 Monad 村,能否拯救被 meme 病毒所困擾的世界,并幫助以太坊重獲榮耀,成為值得信賴的伙伴?只有時間能告訴我們答案。