目前兩款最有潛力的全鏈游戲引擎Curio和Argus都選擇通過定制化節點的預編譯合約來提高對游戲狀態的查詢性能以及增加對特定全鏈游戲的適配性,那么究竟什么是預編譯合約,以及為什么預編譯合約可以提高性能呢?結下來請看這篇科普短文:全鏈游戲101之預編譯合約。
什么是預編譯合約?
預編譯合約是EVM中用于提供更復雜庫函數(通常用于加密、散列等復雜操作)的一種折衷方法,也可以理解為一種特殊的合約,這些函數不適合編寫操作碼。它們適用于簡單但經常調用的合約,或邏輯上固定但計算量很大的合約。預編譯合約是在使用節點客戶端代碼實現的,因為它們不需要EVM,所以運行速度很快。與使用直接在EVM中運行的函數相比,它對開發人員來說成本也更低。
如下代碼可以看到,evm.go的合約中run函數有兩個分支:第一個分支是通過預編譯索引來實例化索引參數從而指定預編譯合約,第二個分支是如果它不是預編譯合約那evm將會被調用。
全鏈錢包項目Everywhere Finance啟動面向STG持有者空投提案的投票:2月5日消息,由前SushiSwap核心成員、前LayerZero和Stargate貢獻者Na?m Boubziz創立的全鏈錢包項目Everywhere Finance啟動面向STG持有者空投提案的投票。
該提案包含三個選項:向STG和veSTG持有者平均分配、分配比例分別為40%和60%以及分配比例分別為25%和75%。
此外,該提案顯示,空投將于3月29日進行,快照日期將在空投當天公布,且空投僅可通過Reunit錢包領取。[2023/2/5 11:48:36]
//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}
全鏈式DEX Sifchain正式發布Magnolia版本,包含IBC v2等功能:1月27日消息,全鏈式DEX Sifchain宣布正式發布Magnolia版本,該版本功能包括可執行一個游戲計劃來解決Terra的所有問題、IBC v2允許以太坊連接至Cosmos,以及支持多個代幣的獎勵支付。
據了解,Sifchain是基于Cosmos SDK構建的一個全鏈式去中心化交易平臺,此次升級將使它成為目前唯一一個同時可以交易ERC20掛鉤資產和Cosmos生態系統資產的DEX。[2022/1/27 9:17:24]
用圖形來表示的話,具體的邏輯如下圖:
供深食品基地建設將結合區塊鏈等技術 做到可視化、可追溯、全鏈條監管:日前,深圳市食藥局與江西贛州定南縣簽署協議,定南縣將作為供深農產品基地,為深圳提供優質安全的食用農產品。供深食品基地將在原有的《深圳市“菜籃子”基地認定與監測管理暫行辦法》的基礎上,結合新技術,包括物聯網、互聯網、區塊鏈等現代信息技術手段,做到可視化、可追溯、全鏈條監管。[2018/6/5]
那么預編譯合約的瓶頸在哪里?
以太坊目前有八個預編譯的合約:
ECRecover-通過簽名恢復對應地址
SHA256-計算SHA256哈希
RIPEMD160-計算RIPEMD160哈希
Identity-返回輸入數據的原值
Security Chain 安全鏈 :EOS漏洞只是一個開始:今日,360公司Vulcan(伏爾甘)團隊發現了區塊鏈平臺EOS的一系列高危安全漏洞。對此,Security Chain安全鏈表示:我們認為在未來的區塊鏈安全中,最重要的是利用區塊鏈的共識機制去活躍和吸引安全人才投入到區塊鏈行業中。把階段性安全問題先解決(如錢包安全問題),再用技術貢獻經濟化的手段將安全技術和科學家從傳統行業帶到區塊鏈中為整個生態服務。將原來安全行業技術資源壟斷的問題一定程度去中心化,把利益分享給為區塊鏈完善安全技術的從業者。[2018/5/29]
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直接通過節點執行,可以提升運算效率,但同時降低了全鏈的去中心化程度。將高頻使用的游戲核心邏輯置于預編譯中,可以優化該類游戲的性能。不同的游戲類型,其關鍵邏輯也不盡相同。因此,針對某一類游戲的專用鏈上,其預編譯設計可以高度優化該類型游戲的需求。在游戲迭代過程中,最具效率的預編譯合約組合也會逐步優化出來。
ICP從大盤股中飆升最多,上漲6%至4美元。比特幣昨日暴跌至數月新低,但來自全球最大資產管理公司的利好消息將其推高了一大截.
1900/1/1 0:00:00根據3月15日的公告,美國聯邦儲備委員會(Fed)將于2023年7月推出FedNow服務。FedNow將于7月推出FedNow是一項服務,允許銀行在該國更廣泛的金融系統中快速轉移資金.
1900/1/1 0:00:00隨著比特幣的主導地位接近關鍵的50%阻力位,全球加密貨幣市場充滿期待。隨著這一關鍵時刻的臨近,市場專家預測山寨幣可能會發生大屠殺,而精明的投資者則急切地尋找機會,在即將到來的牛市中實現收益最大化.
1900/1/1 0:00:00媲美黃金不是偽命題,主要是比特幣市值太小了。當然比特幣本身的投機性比避險性要強太多。高波動率已經不是避險屬性,主要還是市值太小.
1900/1/1 0:00:00美國監管機構和美聯儲已就與加密貨幣資產相關的關鍵流動性風險發出聯合警告。然而,監管機構澄清說,銀行“在法律或法規允許的情況下,既不被禁止也不被勸阻向任何特定類別或類型的客戶提供銀行服務.
1900/1/1 0:00:00IMF對加密貨幣資產的有效政策據說國際貨幣基金組織的執行董事會討論了一份關于加密貨幣資產有效政策要素的董事會文件.
1900/1/1 0:00:00