以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

全鏈游戲101:預編譯合約_以太坊

Author:

Time:1900/1/1 0:00:00

目前兩款最有潛力的全鏈游戲引擎Curio和Argus都選擇通過定制化節點的預編譯合約來提高對游戲狀態的查詢性能以及增加對特定全鏈游戲的適配性,那么究竟什么是預編譯合約,以及為什么預編譯合約可以提高性能呢?結下來請看這篇科普短文:全鏈游戲101之預編譯合約。

什么是預編譯合約?

預編譯合約是EVM中用于提供更復雜庫函數(通常用于加密、散列等復雜操作)的一種折衷方法,也可以理解為一種特殊的合約,這些函數不適合編寫操作碼。它們適用于簡單但經常調用的合約,或邏輯上固定但計算量很大的合約。預編譯合約是在使用節點客戶端代碼實現的,因為它們不需要EVM,所以運行速度很快。與使用直接在EVM中運行的函數相比,它對開發人員來說成本也更低。

如下代碼可以看到,evm.go的合約中run函數有兩個分支:第一個分支是通過預編譯索引來實例化索引參數從而指定預編譯合約,第二個分支是如果它不是預編譯合約那evm將會被調用。

Lybra Finance V2將使用LayerZero的OFT標準為peUSD提供全鏈功能:9月9日消息,計息穩定幣協議 Lybra Finance 發文稱,Lybra V2 將使用 LayerZero 為其計息穩定幣解決方案提供全鏈功能,LayerZero 的全鏈同質代幣(OFT)標準將為 Lybra 的全鏈穩定幣 peUSD 提供支持,peUSD 將無需在不同的鏈上建立單獨的流動性池,無需跨鏈橋與封裝。[2023/9/9 13:28:07]

//runrunsthegivencontractandtakescareofrunningprecompileswithafallbacktothebytecodeinterpreter.funcrun(evm*EVM,contract*Contract,inputbyte,readOnlybool)(byte,error){ifcontract.CodeAddr!=nil{precompiles:=PrecompiledContractsHomesteadifevm.ChainConfig().IsByzantium(evm.BlockNumber){precompiles=PrecompiledContractsByzantium}ifp:=precompiles;p!=nil{returnRunPrecompiledContract(p,input,contract。for_,interpreter:=rangeevm.interpreters{ifinterpreter.CanRun(contract.Code){ifevm.interpreter!=interpreter{//Ensurethattheinterpreterpointerissetback//toitscurrentvalueuponreturn.deferfunc(iInterpreter){evm.interpreter=i}(evm.interpreter)evm.interpreter=interpreter}returninterpreter.Run(contract,input,readOnly。returnnil,ErrNoCompatibleInterpreter}

全鏈貨幣市場協議TapiocaDAO完成600萬美元融資,LayerZero參投:6月18日消息,全鏈貨幣市場協議TapiocaDAO完成600萬美元種子輪融資,參投方包括Fisher8 Capital、LayerZero Labs、PARC Capital、Jones DAO、Dewhales Capital、Magnus Capital、Capybara Capital,個人投資者包括Library Onchain創始人Zoomer Oracle、Squirrel(Arrakis Finance)、DCF GOD、CryptoCondom等。

TapiocaDAO推出了基于LayerZero的全鏈超額抵押穩定幣USDO。[2023/6/18 21:44:56]

用圖形來表示的話,具體的邏輯如下圖:

全鏈互操作基礎設施 MAP Protocol 與 Conflux 達成戰略合作:金色財經報道,全鏈基礎設施 MAP Protocol 正式和 Conflux 達成戰略合作伙伴關系。MAP Protocol 與 Conflux 將在解決區塊鏈互操作性方面展開合作,用輕節點 (light client) 加ZK 技術的跨鏈方式,促進區塊鏈數據流通和價值交換。[2023/2/21 12:18:40]

那么預編譯合約的瓶頸在哪里?

以太坊目前有八個預編譯的合約:

ECRecover-通過簽名恢復對應地址

動態 | 工行陜西分行應用區塊鏈技術為小微企業實現全鏈條授信融資:據陜西傳媒網消息,工商銀行陜西分行為支持民營經濟小微企業,利用“線上供應鏈”,以核心企業為依托,應用區塊鏈和大數據技術,為小微企業實現全鏈條授信融資,目前已經累計實現近200余戶、近5億多元的貸款投放。[2019/2/15]

SHA256-計算SHA256哈希

RIPEMD160-計算RIPEMD160哈希

Identity-返回輸入數據的原值

ModExp-進行模數指數運算

ECAdd-橢圓曲線點加法

ECMul-橢圓曲線點乘法

ECPairing-配對運算,驗證橢圓曲線點

可以看到第一到第四個預編譯合約提供的基礎的簽名,哈希等加密功能,第五個到第八個提供了橢圓曲線運算,這些和zk-snark相關。

那么問題來了,為什么以太坊預編譯只支持了八個預編譯合約,預編譯合約不是降低了gas消耗嗎?而且為什么不直接把ECS植入以太坊預編譯合約中呢?

其實主要是以下三個原因:

1.過度依賴預編譯合約會降低整個平臺的去中心化程度:

首先,預編譯合約的代碼需要集成在客戶端節點代碼中,增加了客戶端的復雜性。第二,驗證節點可能因為安全原因可能會過濾掉預編譯合約的計算,所以大部分預編譯合約的請求是由全節點完成的,目前全球的以太坊全節點的數量只有4000-6000個,而且驗證節點有50萬個,確實比起非預編譯合約要中心化很多。

2.預編譯合約的新增和修改需要硬分叉升級,不易靈活演進。

預編譯合約的支持需要進行EIP流程,舉個例子:EIP-196增加了在alt_bn128曲線上的ECADD和ECMUL兩個預編譯合約。EIP-197增加了在alt_bn128曲線上的配對Pairing函數。基本都是為了讓隱私在以太坊上可用進行支持,而且整個EIP的流程是漫長和考究的,等待EIP通過也不是一個現實的問題。

3.預編譯合約之間難以進行交互和組合,擴展性差。

這點就不多做解釋了,很直觀。

預編譯合約在全鏈游戲扮演什么角色?

預編譯合約跳過EVM直接通過節點執行,可以提升運算效率,但同時降低了全鏈的去中心化程度。將高頻使用的游戲核心邏輯置于預編譯中,可以優化該類游戲的性能。不同的游戲類型,其關鍵邏輯也不盡相同。因此,針對某一類游戲的專用鏈上,其預編譯設計可以高度優化該類型游戲的需求。在游戲迭代過程中,最具效率的預編譯合約組合也會逐步優化出來。

Tags:以太坊ECAECM以太坊幣是什么幣ECA幣ECA價格ECM幣ECM價格

火必交易所
好消息:Pi網絡核心團隊塑造Pi生態系統的未來_數字貨幣

在加密貨幣世界迅速發展的過程中,Pi網絡正在成為一種獨特的力量,由于它堅定不移地致力于協作、創新和透明度,使其在數字資產世界中脫穎而出,因而吸引了人們的關注.

1900/1/1 0:00:00
比特幣今天開始遠離 30,000 美元!_比特幣

小探本期為大家帶來的內容主題是“比特幣今天開始遠離30,000美元!”歡迎大家關注小探,小探每天都會給您獻上關于幣圈的優質內容哦.

1900/1/1 0:00:00
如何追蹤大戶操作,暴躁兔鏈上數據復盤StepN_iao

子曰:吾日三省吾身。2022年要說最引發大家關注的鏈游莫過于StepN了,StepN的火熱使得XtoEarn達到了高峰,雖然在六七月的時候,由于各種原因導致StepN熱度效應下降,甚至不少玩家產.

1900/1/1 0:00:00
Pi Network最新消息:Pi幣主網遷移暫停!_加密貨幣

大家好!今天我們帶來一則關于PiNetwork的最新消息。根據官方公告,Pi幣主網遷移計劃已經暫停。這是開發者團隊在仔細考慮和評估當前情況后作出的決定.

1900/1/1 0:00:00
鏈上數據分析聚合交易項目Odos銀河任務是否值得埋伏_Polygon

Odos是什么 Odos是一個帶有專利的自動做市商路徑查找算法,通過DEX為加密貨幣令牌兌換提供最佳路徑,這樣可以為交易者提供更具有競爭力的報價,交易者可以利用Odos進行套利等復雜交易.

1900/1/1 0:00:00
NFTScan與UniPass達成合作伙伴,雙方在多鏈NFT數據方面展開合作_NFT

近日,NFT數據基礎設施NFTScan與UniPass錢包達成合作伙伴關系,雙方將在NFT數據層面展開合作.

1900/1/1 0:00:00
ads