RISC Zero Steel 如何推動 zkVM 的廣泛採用

2024-05-31 16:05:02

原文標題:《Introducing Steel》

編譯:Chris,Techub News

 

Steel,連接 RISC Zero 和以太坊

 

以太坊網絡的成功推動了 DApp 生態的蓬勃發展,但隨之而來的是越來越嚴峻的可擴展性挑战。开發者們面臨一個兩難境地:要么限制應用程序的功能和數據豐富性,要么忍受高昂的 Gas 費和其使用限制。那么,如果开發者能夠找到繞過這些限制的方法,將會怎樣呢?

 

RISC Zero 是 zkVM 开發者之一。你可能經常聽說 zkEVM,但對它的衍生概念 zkVM 還不太熟悉。RISC Zero 最近推出了一項名為 Steel 的新技術,這是一種基於 Alloy 的視圖調用證明庫,它將徹底改變开發者與以太坊 L1 或其他 EVM 兼容鏈的交互方式。通過利用零知識證明和 RISC Zero 的 zkVM 技術,Steel 為开發者提供了一個可擴展、安全且成本效益高的方法,使他們能夠執行視圖調用並驗證地讀取及計算以太坊狀態。

 

Solidity 的便利,借助 ZK 的力量

 

Steel 架起了以太坊應用开發與零知識證明技術之間的橋梁,極大地便利了开發者在智能合約中應用零知識證明(ZK)技術的過程。通過整合 RISC Zero 的 zkVM 功能,Steel 為开發者在以太坊 L1 或任何 EVM 兼容鏈上打造更安全、可擴展且效率更高的應用提供了工具。

 

使用 Steel,开發者能夠在以下方面獲得顯著提升:

 

  1. 直接執行復雜鏈上邏輯:在 zkVM 上直接執行 Solidity 智能合約,以支持更復雜的鏈上邏輯。

 

  1. 訪問歷史狀態:在 zkVM 中訪問歷史以太坊狀態,為數據分析和驗證提供更廣泛的資源。

 

  1. 突破計算限制:使用 continuations 進行計算,不受區塊大小或交易數據大小的限制。

 

  1. 確保鏈下計算的安全性:保證鏈下計算的安全性與鏈上執行同等可靠。

 

  1. 經驗證的 zkVM:利用第一個經多個合作夥伴嚴格測試並用於生產環境的 zkVM。

 

  1. 私有計算:進行以太坊狀態的私有計算,增強數據保護。

 

  1. 开源靈活性:通過开源代碼庫實現,確保靈活性,擺脫供應商限制。

 

Steel 的引入為开發者在現有區塊鏈技術中融入先進的零知識證明技術提供了有力工具,推動了區塊鏈應用开發的進一步革新。

 

無縫集成並節省成本

 

使用 Steel,執行視圖調用像指定所需的 Solidity 方法一樣簡單。無論是檢索 ERC-20 代幣余額 (example) 還是訪問以太坊狀態等各個方面,Steel 都可以通過與 RISC Zero zkVM 無縫集成來簡化流程,同時確保安全性和效率。測試表明,Steel 有能力在單個視圖調用中處理超過 100K SLOAD 操作,這節省了主網上數千美元的 Gas 費用。我們可以使用 Bonsai 在大約 15 分鐘內證明它,這至少需要 210M 的 Gas,超出區塊限制 7 倍。

 

示例:ERC20 balanceOf

 

下面的代碼片段演示了使用 Steel 證明以太坊上部署的 ERC-20 合約的特定地址余額的過程。此示例展示了开發人員如何利用 Steel 在 zkVM 內與以太坊鏈上數據進行交互。完整代碼可在此處查看。

 

定義視圖函數籤名

 

首先,使用 sol! 宏來定義 ERC-20 的 balanceOf 函數籤名。這將解析 Solidity 語法以生成相應的 Rust 結構體,該結構體實現了 SolCall trait,可用於調用 balanceOf 方法,該方法接受一個账戶地址並返回關聯的 ERC-20 代幣余額。

 

 

准備調用

 

接下來,通過用目標账戶地址實例化 balanceOfCall 結構體來設置調用。同時,為希望查詢的合約地址和調用者的地址定義常量。

 

 

在 Main 中執行調用

 

主函數在 zkVM 中執行,生成零知識證明。它首先讀取輸入環境,然後構造一個 ViewCallEnv 對象,確保當前狀態與預期的狀態根匹配。在提交相關區塊哈希和編號後,執行視圖調用,並打印余額。

 

 

原理

 

Steel 簡化了在 RISC Zero zkVM 中執行 Solidity 代碼的流程,通過三個清晰的步驟來實現代碼的證明:

 

  1. 預飛行階段:這一階段通過向以太坊的RPC節點發起視圖調用來啓動,此過程會緩存所需的存儲槽,並根據查詢需求填充EVM數據庫。所有的存儲槽都是通過視圖調用的執行過程自動發現和獲取的。

 

  1. 存儲驗證:此步驟涉及對存儲完整性的檢查,確保EVM數據庫中的數據與區塊鏈的狀態根一致,從而驗證數據的合法性。

 

  1. Solidity執行:在 RISC Zero zkVM 內部的EVM上執行指定的Solidity函數,確保代碼按預期運行。

 

通過這三個步驟,Steel 在 RISC Zero zkVM 中提供了一個高效且可靠的方法來證明並執行 Solidity 代碼,極大地簡化了整個過程。

 

這與存儲證明有何不同?

 

使用傳統的存儲證明,开發人員必須手動選擇其智能合約使用的存儲槽,並重新實現智能合約邏輯。而使用 Steel,所有存儲槽都會根據視圖調用執行自動發現和獲取。這為开發人員節省了大量時間,減少了實施錯誤的可能性,從而減少了出現安全漏洞的機會。

 

獲取已驗證的區塊哈希

 

在以太坊智能合約中使用 blockhash 操作碼進行驗證時,驗證的 commitment 必須引用不超過 256 個區塊舊的區塊哈希。考慮到平均區塊時間為 12 秒,這就設置了一個約為 50 分鐘的狹窄時間範圍,用於完成證明生成並確認驗證交易已包含在一個區塊中。

 

當需要在鏈上獲取一個早於 256 個區塊的已驗證的區塊哈希時,可以使用以下幾種策略之一:

 

  • 當預先知道將需要的區塊哈希時(例如,在發起治理提案時),可以將該區塊哈希保存到合約狀態中。

 

  • 另一種方法是使用 RISC Zero 來證明從查詢的區塊到最近的 256 個區塊中的一個區塊的哈希鏈。

 

鏈上應用程序的未來

 

設想未來鏈下計算將與鏈上驗證無縫集成。 Steel 使开發人員能夠在 zkVM 內可靠地訪問和計算以太坊的完整歷史,從而能創建出下一代數據豐富且功能更強大的鏈上應用程序,為實現這一愿景做出不小的貢獻。

 

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

Layer2 格局劇變:Base 生態有哪些關鍵亮點?

在激烈競爭的 L2 賽道中,原本穩坐釣魚臺的 Arbitrum 和 Optimism 似乎面臨着前...

加密泡泡啊
71 1個月前

XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!

加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...

加密泡泡啊
73 1個月前

以太坊ETF通過後 將推動山寨幣和整個加密生態大爆發

比特幣ETF通過後市場動蕩,以太坊ETF交易前景分析 比特幣ETF通過後,市場出現了先跌後漲的走勢...

加密泡泡啊
78 1個月前

ZRO為啥這么能漲?

ZRO概述 ZRO代幣,全稱為LayerZero,是LayerZero協議的本地代幣,旨在作為治理...

加密泡泡啊
66 1個月前

今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?

北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...

BNBCCC
75 1個月前

Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行

2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...

加密圈探長
71 1個月前