原文標題:《Linera: a Blockchain Infrastructure for Highly Scalable Web3 Applications》
原文作者:Linera原文編譯:flowie,ChainCatcher
相比於Aptos、Sui,同樣是被a16z 押注的Diem 繼承者Linera 節奏一直相對緩慢,於今年6 月底獲得a16z 領投的600 萬美元融資後,今日才正式發布項目白皮書。
據悉,Linera 創始團隊成員多由前Zcash、前Meta/Novi 的工程師和研究人員構成。 Linera 創始人Mathieu Baudet 此前在Meta 擔任工程師,並幫助創建Diem 區塊鏈,是Novi 的首席研究員和工程師,曾作為核心人物參與發明FastPay 和Zef 協議。
根據白皮書介紹,Linera 的部分技術靈感依然離不開低延遲支付協議FastPay 以及Move 語言。而在創新上,為提供首個在互聯網規模上具有可預測性能、響應能力和安全性的多鏈基礎設施,Linera 引入了在同一組驗證器中運行許多稱為微鏈的平行鏈,並使用每個驗證器的內部網絡在鏈之間快速傳遞異步消息。
在白皮書中,Linera 詳細地闡述了在解決區塊空間稀缺性問題上,區塊鏈分片、Rollups 等現有解決方案的缺陷,以及Linera 的創新方案和架構優點。 ChainCatcher 節選了Linera 部分內容進行了編譯:
一、Linera:解決區塊空間稀缺性問題上,現有方案的缺陷
1、更快的單鏈。單個鏈中塊的生產率通常受到驗證器之間的數據傳播延遲的限制。從歷史上看,塊大小一直是第一個要調整的參數,以根據安全要求和網絡約束最大化交易吞吐量。由於BFT 共識協議的最新進展,如今交易率的新瓶頸似乎是交易的順序執行而不是共識排序。
預計塊中包含的許多交易在實踐中應該是獨立的,最近的幾個項目開發了能夠在多個處理單元上並行執行交易子集的架構。雖然這肯定會導致更高的交易率,但此類系統的特徵仍然是低於6 位數的每秒最大交易數。此外,有效交易率在很大程度上取決於每個區塊中實際獨立的交易比例。總而言之,如果不對其他用戶的活動做出任何假設,就不可能為用戶提前保證費用和/或延遲。
最後,在高吞吐量鏈中,由於CPU 執行要求和數據同步網絡要求的結合,審計驗證器變得更加困難。具體而言,順序交易的絕對數量可能會阻止僅使用商品硬件的社區成員以足夠快的速度重放交易以以有意義的方式驗證驗證器的工作。
2、區塊鏈分片。解決區塊鏈可擴展性的另一個流行方向包括將執行狀態劃分為固定數量的並行鏈,每個並行鏈由一組單獨的驗證器獨立運行,這稱為區塊鏈分片。雖然這種方法仍在不斷改進,但它在歷史上一直遭受著一些挑戰。
首先,使用不同的驗證器集會產生安全權衡,因為攻擊者可能會選擇性地攻擊系統中最弱的一組(例如,鑄造Token)。其次,重組分片,即用戶帳戶跨鏈分佈的方式,是一項複雜的操作,需要廣泛的網絡通信。最後,當分片數量增加以支持額外流量時,需要交換的跨鏈消息數量也會增加。在每個分片都有一組獨立的驗證器的系統中,跨鏈消息會產生顯著的延遲,最終抵消添加新鏈的影響。
3、Rollups。解決區塊空間稀缺性的另一種流行方法是Rollups 協議,無論是optimistic 還是基於validity proofs(又名ZK Rollups)。在高層次上,optimistic 和validity rollups(ZK)都包含一個layer2 協議,該協議構建一系列大塊,旨在在layer1 執行、壓縮和確認。不幸的是,確認交易的過程在這兩種情況下,layer1 都需要很長時間。 Optimistic rollups 必須等待幾天才能解決爭議。 validity rollups 必須一次壓縮許多layer2 交易以支付layer1 的gas。
在實踐中,收集足夠多的layer2 交易、計算有效性證明和歸檔交易以強制執行嚴格的數據可用性需要每個layer2 塊花費幾個小時。較長的layer1 確認時間可能會鼓勵某些用戶接受安全權衡並相信layer2 對某些應用程序的最終確定性。一般來說,Rollups 必須被信任以執行協議(即活性)並公平地選擇交易(參見礦工可提取價值)。在最近設計去中心化rollups 協議的努力中可以看出這種擔憂。
二、Linera 有哪些創新點?
基於對以上方案的觀察和啟發,Linera 表示旨在開發基於以下三個關鍵原則的新型Web3 基礎設施:
1、通過在一組彈性驗證器中運行多個鏈,構建具有可預測性能和響應能力的安全基礎架構;
2、通過在新的執行層上工作使多鏈編程成為主流,啟用可擴展的web3 應用程序的豐富生態系統;
3、通過確保彈性驗證器得到最佳激勵和社區大規模審計,最大化去中心化。
三、Linera 創新點體現在以下方面
1、具有彈性驗證器的集成多鏈系統
為了實現對具有可預測性能和大規模響應能力的web3 基礎設施的願景,Linera 利用雲基礎設施,開發了一種新的多鏈協議——具有彈性驗證器的集成多鏈系統。
· 在Linera 中,驗證器是一種類似Web2 的彈性服務,可並行驗證和執行多條鏈中的交易塊。因為Linera 系統中存在的鏈(活動和非活動)的數量是無限的,也稱它們為微鏈。
· 用新區塊積極擴展微鏈的任務與驗證或執行是分開的,由每條鏈的所有者承擔。鼓勵每個Linera 用戶創建一個他們自己的鏈並將他們的帳戶放在那裡。
· 每個驗證者管理所有的微鏈(稱之為集成多鏈方法)。微鏈使用異步消息進行交互,否則獨立運行。因此,驗證者可以通過在許多內部分片之間分配工作量來彈性擴展。使用每個驗證器的內部網絡有效地實現鏈之間的異步消息。
· 微鏈接受新區塊的方式可能不同。在擴展自己的鏈時,用戶使用受可靠廣播啟發的低延遲、無內存池協議直接向驗證器提交新塊。需要用戶之間更複雜交互的應用程序也可能依賴於按需創建的臨時微鏈。實際上,只有Linera 基礎設施擁有的公共微通道有完整的BFT 共識協議。
· 驗證者之間的微鏈同步委託給鏈所有者。這意味著不活躍的微鏈(那些不創建區塊的)除了存儲之外對驗證者沒有成本。
使用彈性驗證器是Linera 的一個獨特假設。 Linera 打算讓Linera 社區支持新驗證者可以選擇的各種雲提供商。 Linera 最初的靈感來自Meta 開發的低延遲支付協議FastPay。 Linera 通過將用戶帳戶轉變為微鏈、添加智能合約以及支持鏈間的任意異步消息,顯著推廣了FastPay。
2、讓多鏈編程成為主流
Linera 將許多鏈集成到一組獨特的驗證器中。由於每個驗證器的內部網絡,這極大地促進了跨鏈通信。這是第一次,各種web3 應用程序有機會通過利用廉價高效的多鏈架構進行彈性擴展。為了促進多鏈編程的採用做出了以下設計選擇:
· Linera 的執行模型被設計為與語言無關且對開發人員友好。 Linera 的初始SDK 將基於Wasm 並以Rust 編程語言為目標。
· Linera 應用程序是可組合的和多鏈的。一旦一個應用程序創建後,它可以在任何鏈上按需運行。同一應用程序的運行實例使用異步消息和發布/訂閱通道跨鏈協調。在同一微鏈中運行的應用程序使用跨合約調用和臨時會話對象進行交互。
Linera 中會話對象的靈感來自Move 語言中的資源。 Move 中的靜態類型資源已被提議用於幫助提高可組合性。在Linera 中,類資源的可組合性是通過使用會話句柄和運行時檢查來實現的。例如,為了發送Token,Linera 合約將能夠轉移包含Token 的臨時會話的所有權。一般來說,建立一個大型的開發者社區是採用區塊鏈基礎設施的一個主要因素。由於Wasm 生態系統正在不斷改進其多語言工具,它為Linera 提供了為多個開發人員社區服務的長期可能性。
3、彈性驗證器的穩健去中心化
經典的「區塊鏈三難困境」斷言同時實現可擴展性、安全性和去中心化是困難的。雖然這一觀察對於固定容量的驗證者來說肯定是成立的,但Linera 認為,在為彈性驗證者定義和實施令人滿意的去中心化概念方面大家所做的努力還不夠。
· Linera 依靠委託權益證明(DPoS) 來確保安全並定期支持更改驗證器集。由於區塊的鏈接,過去的交易、跨鏈消息和每個微鏈的執行狀態都是不可篡改的。
· 微鏈設計為可獨立審計。這意味著Linera 作為一個整體將由社區僅使用商品硬件、以分佈式方式進行審計。區塊鏈社區已經在rollups 的背景下討論了使用大型驗證器來提高性能並使用社區驅動的驗證器來維護去中心化。隨著Linera 項目的進展,將繼續關注validity(ZK)證明和rollup 方面的技術進步。
四、Linera 架構的優點
Linera 旨在提供首個在互聯網規模上具有可預測性能、響應能力和安全性的多鏈基礎設施。為此,Linera 引入了在同一組驗證器中運行許多稱為微鏈的平行鏈的想法,並使用每個驗證器的內部網絡在鏈之間快速傳遞異步消息。 Linera 認為這種架構有很多優點:
彈性縮放。在Linera 中,可擴展性是通過添加鏈來獲得的,而不是通過增加塊的大小或速率來獲得的。每個驗證者都可以隨時添加和刪除容量(也稱為內部工作人員),以維持多鏈應用程序的標稱性能。
響應能力。當微鏈由單個用戶操作時,Linera 使用受可靠廣播啟發的簡化的無內存池共識協議。這減少了塊延遲並最終使Web3 應用程序更具響應性。
可組合性。與其他多鏈系統相比,低塊延遲也有助於可組合性:通過添加新塊快速回答,允許接收來自另一條鏈的異步消息。
鏈安全。與傳統的多鏈系統相比,在同一組驗證器中運行所有微鏈的一個好處是創建鏈不會影響Linera 的安全模型。
權力下放。 Linera 依靠委託權益證明(DPoS) 來確保安全。每個微鏈都可以在商品硬件上單獨執行。這允許客戶和審計員持續運行他們自己的驗證並讓驗證者負責。
語言「不可知論者」。 Linera 的編程模型不依賴於特定的編程語言。經過深思熟慮,Linera 決定在Linera 的初始執行層集中精力在Wasm 和Rust 上。