比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 比特幣 > Info

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

Author:

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

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

什么是預編譯合約?

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

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

MAP Protocol即將推出MRC20全鏈發幣協議:5月31日消息,在 MAPO 首爾黑客松現場,全鏈互操作基礎設施 MAP Protocol 宣布即將推出 MRC20 全鏈發幣協議。不同于當前 ERC20/TRC20/BRC20 發幣協議,MRC20 協議可覆蓋全鏈,并實現各鏈代幣數據互通。

MAP Protocol 表示,該協議對開發者和用戶更友好:開發者可以在低代碼平臺上非常簡單地進行代幣的發行和創建,代幣在各個鏈上的數據可以互通,而起源鏈和目標鏈上的代幣都采用銷毀 / 增發模式,不再需要使用任何跨鏈橋;此外,通過 butternetwork.io 提供跨鏈的 Gas Fee 代付,用戶在使用代幣時完全無感知鏈的存在。[2023/5/31 11:49:59]

//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}

考拉海購宣布升級商品全鏈路溯源系統,新引入區塊鏈溯源技術:3月17日消息,日前,考拉海購宣布升級商品全鏈路溯源系統,在原有的防偽、防惡意拆封技術上,新引入區塊鏈溯源技術,實現一鍵對商品溯源防偽。

據了解,考拉海購區塊鏈溯源,使用的是螞蟻區塊鏈技術,具有高性能、全球部署、及強隱私保護等特點,目前已被廣泛應用于慈善捐助、商品溯源、跨境匯款等多個領域。(TechWeb)[2020/3/17]

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

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

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

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

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

SHA256-計算SHA256哈希

RIPEMD160-計算RIPEMD160哈希

Identity-返回輸入數據的原值

ModExp-進行模數指數運算

ECAdd-橢圓曲線點加法

ECMul-橢圓曲線點乘法

Security Chain 安全鏈 :EOS漏洞只是一個開始:今日,360公司Vulcan(伏爾甘)團隊發現了區塊鏈平臺EOS的一系列高危安全漏洞。對此,Security Chain安全鏈表示:我們認為在未來的區塊鏈安全中,最重要的是利用區塊鏈的共識機制去活躍和吸引安全人才投入到區塊鏈行業中。把階段性安全問題先解決(如錢包安全問題),再用技術貢獻經濟化的手段將安全技術和科學家從傳統行業帶到區塊鏈中為整個生態服務。將原來安全行業技術資源壟斷的問題一定程度去中心化,把利益分享給為區塊鏈完善安全技術的從業者。[2018/5/29]

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價格

比特幣
研究表明美元在市場頂部“收盤”,比特幣前往美國中期_加密貨幣

比特幣在11月7日華爾街開盤時保持低位,因為美國中期選舉開盤前一天股市表現持平。 BTC/USD1小時蠟燭圖(Bitstamp)加密貨幣在FTX問題上搖擺不定來自CointelegraphMar.

1900/1/1 0:00:00
AAVE 技術分析:上升通道趨勢準備突破 115 美元_AVE

關鍵技術點: 過去三周市場價格上漲近42%,達到115美元的供應區。50天SMA的看漲反轉準備與100天SMA交叉.

1900/1/1 0:00:00
硅谷銀行倒閉——美國利率會降至 3.75% 嗎?_CNB

在最近接受CNBC采訪時,“熊陷阱報告”的作者拉里麥克唐納認為,當前金融市場的動蕩可能會促使美聯儲為抑制通脹而采取的激進貨幣緊縮政策發生急劇逆轉.

1900/1/1 0:00:00
萊特幣價格分析:LTC 價格在連續看跌后暴跌至 55.05 美元_加密貨幣

今天的萊特幣價格分析看跌,因為加密貨幣未能突破55.23美元的阻力位。空頭目前控制著市場,并希望將價格推低。萊特幣的下一個支撐位是52.52美元.

1900/1/1 0:00:00
CoinEx研究院:匿名團隊PowerPool何以獲得眾多關注?_CVP

當前DeFi治理工具賽道還處于初期建設階段,大多數治理協議被巨鯨掌控,面臨著用戶投票參與度的問題,“選民冷漠”現象普遍存在.

1900/1/1 0:00:00
AI 產品激發了 Hedera 的樂觀情緒;HBAR 價格是否接近 1 美元?_HBAR

根據與HBAR相關的最新加密新聞,Hedera現在是將人工智能用于Web3空間的產品的所在地。 HBAR加密貨幣新聞:盡管更廣泛的加密貨幣市場正在經歷過山車般的行情,但Hedera(HBAR)正.

1900/1/1 0:00:00
ads