以太坊是首批支持去中心化應用(dApps)的鏈之一,其應用的後端基於“智能合約”構建,並具有鏈上事件處理機制。爲了解決區塊鏈的三難問題——可擴展性、去中心化和安全性——各種二層(Layer 2,L2)解決方案和彙總技術應運而生。這些L2方案在鏈下處理交易,並將以太坊作爲數據可用性層。然而,雖然L2旨在擴展以太坊,它們並未完全解決計算擴展問題。彙總技術,即便在鏈下運行,仍依賴於以太坊虛擬機(EVM)來處理交易,這導致了較高的Gas費用。大多數彙總框架面臨的一些挑戰包括:

計算資源:彙總技術,尤其是樂觀彙總,要求額外的計算步驟來生成和驗證正確性的證明。這涉及在鏈下執行相同的交易,然後向主鏈提交證明,增加了計算負擔。

狀態管理:保持L2狀態與以太坊主鏈狀態的一致性需要大量的計算資源。例如,zk-rollups必須生成零知識證明,這對計算資源的要求非常高。

數據承諾:彙總技術經常向以太坊提交數據(上文提到爲調用數據),以確保數據的可用性和正確性。當主鏈擁堵時,這些提交可能會變得昂貴且緩慢,削弱了使用L2的一些優勢。

Cartesi 是一個應用特定的彙總解決方案,擁有自己的 Linux 運行時,爲去中心化應用提供專用虛擬機的完整計算能力,並擴展了超越以太坊的設計空間。隨着越來越多的解決方案和 dApps 轉向模塊化方法,Cartesi Rollups 可以部署在模塊化配置環境中:可以作爲以太坊之上的二層解決方案,作爲諸如 Arbitrum、Optimism、Base 或 ZK-EVM 鏈之上的三層解決方案,或作爲獨立的主權彙總。通過利用 Cartesi,開發者還可以使用現有的軟件棧和不受 EVM 支持的編程語言,從而減少開發者的摩擦,並提供用戶體驗,這種體驗可以通過原生 Web2 流程支持。

來源:Cartesi 博客(https://cartesi.io/blog/application-specific-rollups/)

開發者的分散化是真實存在的


儘管以太坊生態系統被認爲相當龐大,但根據 Statista 的一份報告,只有 1.1% 的開發者使用 Solidity 語言編寫代碼,而 51% 的開發者仍然在使用 Python 構建應用程序。基於這一差異,可以推斷出,不僅僅是讓新開發者入門很難,還要讓高級開發者僅爲了智能合約而學習一種新編程語言也同樣困難。換句話說,EVM 的設計空間在實際開發智能合約時非常受限,尤其是在使用像 Solidity 和 Vyper 這樣的語言時,這可能並不能很好地激發開發者學習區塊鏈的興趣。不要忘記,開發者必須先掌握至少一種編程語言,才能獲得學習另一種語言的技能,而 dApp 開發仍然在使用諸如 React 這樣的庫和框架,這些工具的邏輯與 Web2 應用類似。

對於開發者來說,最好的解決方案並不是一種新語言,而是使用他們已經熟悉並擅長的編程棧來開發應用程序。我們正在討論的是將數百萬開發者引入 Web3,這不應該是開發者的任務,他們不應該花時間去了解專門針對 EVM 應用的各種工具。Cartesi 通過抽象語言障礙,提供了一個極好的解決方案。作爲開發者,你仍然可以使用 Python、Rust、JavaScript 等語言,並集成不同的開源庫來構建用戶應用程序。

理解 Cartesi Rollups


Cartesi Rollups 通過提供一個模塊化執行層,解決了區塊鏈領域的關鍵需求,大大提升了去中心化應用(dApps)的可擴展性和性能。藉助 Cartesi Rollups,每個 dApp 在自己的高性能彙總應用鏈上運行,配備了專用的 CPU,確保在 Cartesi 生態系統內沒有資源競爭。該設計在保持底層區塊鏈強大安全性的同時,實現了顯著的計算可擴展性。

Cartesi Rollups 採用樂觀彙總模型,利用故障證明來管理和解決爭議,確保可靠且高效的處理。其框架由兩個主要組件組成:鏈上的基礎層(如 dApp 合約所在的以太坊)和執行層(Cartesi 處理鏈下計算的地方)。如果你想深入瞭解 Cartesi 的架構和這兩個組件,可以查看相關文檔(https://docs.cartesi.io/cartesi-rollups/1.3/core-concepts/architecture/)。

通過 Cartesi 將開源力量引入 dApps


開源在科技行業中扮演着非常重要的角色。Linux 是最早真正開源的操作系統之一,它在商業軟件中帶來了範式轉變。Linux 始於 1991 年的個人項目,逐漸轉變爲一個可以自由分發的 UNIX 開源版本。其資源需求極低,併爲開發者提供了根據自己需求構建不同應用程序的自由。Linux 具有足夠的“模塊化”特性,可以在整個生態系統中分發。例如,使用 Linux 內核並與軟件包、框架和配置結合,允許開發者生成新的軟件。Ubuntu 是 2004 年發佈的著名操作系統之一。

目前,大多數現有庫依賴於特定的操作系統,如 MacOS 或 Linux。銀行和金融機構長期以來依賴定製操作系統和 Java、C、COBOL、FORTRAN 和彙編等語言來構建關鍵軟件。將 Linux 引入區塊鏈開發可能會在 DeFi、遊戲和開發工具方面推動創新,因爲它具有靈活性和安全性。在 pypi.org 上有超過 1,000 個專門爲使用 Python 語言的區塊鏈開發者構建的庫可供使用。

以下是一些在使用 Cartesi 基礎設施和構建 dApps 時可以使用的有趣算法和編譯器:

  • rustc(Rust 編譯器):Rust 由於其內存安全性和併發特性,正在區塊鏈開發中越來越受歡迎。rustc 對於編譯智能合約和其他注重安全性和性能的區塊鏈組件至關重要。

  • Glasgow Haskell 編譯器 (GHC):Haskell 以其強大的類型系統和函數式編程範式著稱。GHC 可用於區塊鏈開發,構建經過數學驗證的智能合約和金融模型,如 Cardano 中的模型。

  • 使用壓縮算法:區塊鏈系統通常處理大量數據,從交易記錄到智能合約代碼。高效的數據壓縮對於減少存儲需求和提高網絡性能至關重要。壓縮算法如 gzip、bzip2、xz 和 lz4 可以用於在將區塊鏈數據存儲到磁盤或通過網絡傳輸之前對其進行壓縮。選擇算法取決於區塊鏈系統的具體需求——是優先考慮速度、減少 RAM 使用,還是減少 CPU 負載。

  • 使用引擎:Linux 還支持多種引擎,主要用於遊戲行業,如 FlaxEngine、Panda3D,但在應用程序中還可以使用 Docker 引擎來運行容器,實現應用級別的擴展。

  • Linux 的開源貢獻:Linux 通過發佈更多開源庫也作出了重要貢獻,如 Hyperledger Fabric(一個分佈式賬本軟件)和 Hyperledger IROHA(一個由 C++ 編寫的平臺,供金融機構用於管理數字資產)。(https://www.hyperledger.org/projects/fabric)

開發者抽象與 Cartesi 的模塊化擴展

爲每個應用程序提供專用虛擬機(VM)能夠幫助開發者不必擔心工具問題和整體擴展。Cartesi 機器是一種虛擬機,旨在處理區塊鏈應用的鏈下計算。Cartesi 機器使用 RISC-V 指令集架構(ISA),這是一套開源的處理器指令。它獨立運行,能夠被一致地重現。開發者可以爲各種應用開發定製處理器,從嵌入式設計到超級計算機。

  • 代碼執行:Cartesi 機器根據特定輸入運行代碼,以執行計算、處理數據或根據任務需求執行自定義邏輯。

  • 構建現實世界的應用程序:藉助 EVM 基礎架構的抽象層,開發者可以專注於構建能夠根據需求利用計算資源的 dApps。

  • 擴展開發者的設計空間:在 Cartesi 的世界裏,開發者可以使用 C++、Rust、Go、TypeScript 或 Python 等語言來構建鏈上應用程序,而無需處理特定合約的複雜性。

開始使用 Cartesi 的最佳方法是查看 Cartesi CLI (https://docs.cartesi.io/cartesi-rollups/1.3/quickstart/)或嘗試 Cartesi 的 Udemy 課程(https://www.udemy.com/course/cartesi-masterclass/)。

開發者如何使用 Cartesi 構建?

Cartesi 生態系統正在不斷髮展,開發者在現有的 Web2 基礎設施上大力構建功能強大的 dApps。集成 Cartesi Rollups 可以增強他們的應用程序,使其更專注於用戶,同時也能使用不同的技術棧進行開發。

  • Nebula Duel(Rust):Rust 因其性能和安全性而著名,非常適合複雜的區塊鏈應用。藉助 Cartesi 和 Linux,Nebula Duel 可以在熟悉的 Linux 環境中利用 Rust 的高級功能,爲高性能 dApps 提供所需的低級控制。沒有 Cartesi,Rust 的強大功能在區塊鏈中的集成將更加複雜且受限。

  • Turtlish(Python 與 Matplotlib):Matplotlib 是 Python 中強大的數據可視化庫。Cartesi 和 Linux 允許 Turtlish 原生運行 Matplotlib,使去中心化應用能夠進行復雜的圖形分析。沒有 Cartesi,直接在鏈上實現如此高級的可視化幾乎是不可能的。

  • Comet(JavaScript/TypeScript):JavaScript 對於快速開發和部署業務邏輯至關重要,viem 等庫能夠實現無縫的 Web3 集成。Cartesi 和 Linux 讓 Comet 可以在強大且可擴展的環境中使用這些工具,使開發者更快地將 dApps 推向市場。沒有 Cartesi,開發者難以在區塊鏈領域實現同樣的效率和集成。

  • OnChess(TypeScript):TypeScript 結合了靜態類型和 JavaScript 的靈活性。Cartesi 和 Linux 使 OnChess 能夠在去中心化環境中充分利用 TypeScript 的優勢,確保智能合約的可靠性和可維護性。沒有 Cartesi,在區塊鏈中有效利用 TypeScript 將變得更加困難。

  • DeVolt(Go):Go 因其併發功能和效率而聞名,非常適合需要高性能的 dApps。Cartesi 和 Linux 允許 DeVolt 原生運行 Go 應用程序,在安全且可擴展的環境中充分利用 Go 的能力。沒有 Cartesi,現有區塊鏈環境的限制將阻礙 Go 在去中心化應用中的全面利用。

如果你正在使用 Cartesi 構建,可以申請展示你的項目。(https://forms.gle/bAySRe16nQTXnnnW6)

結論 

Web3 旨在成爲當前互聯網或 Web2 技術的去中心化版本,讓用戶從一開始就能掌控並擁有他們的數據。開發者長期以來信賴 Linux 的開源特性,重視其帶來的自由和靈活性。Linux 提供了豐富的工具、庫以及成熟的開發環境,提升了去中心化應用的能力。

Cartesi 爲開發者提供了直接在區塊鏈環境中利用這些 Linux 功能的機會,打破了 EVM 設計空間的限制。通過允許開發者選擇他們喜歡的編程語言和技術棧的模塊化構建塊,Cartesi 正在吸引更多開發者,並加速 Web3 領域的創新增長。

關於 Cartesi

Cartesi 是一種特定於應用程序的彙總協議,具有運行 Linux 發行版的虛擬機,爲 DApp 開發人員創造了更豐富、更廣泛的設計空間。

 Cartesi Rollups 提供模塊化擴展解決方案,可部署爲 L2、L3 或主權 Rollups,同時保持強大的基礎層安全保證。

免責聲明 


 本文章僅供一般參考和信息分享之用,不構成法律、金融或投資建議。本信息的準確性和完整性不受保證,也不應被視爲對特定情況的建議。讀者應自行進行獨立的研究和諮詢,以做出任何決策。作者和相關機構對任何因依賴本信息而產生的損失或損害概不負責。在做出任何金融或投資決策之前,強烈建議諮詢專業人士以獲取個性化的建議。

虛擬貨幣屬於高風險投資品,在做出投資決策前,請諮詢相關監管機構是否存在投資虧損風險。