本期我們分享來自本體技術團隊的一篇文章的第一部分,關于Substrate的合約機制分析。
01
概要
Substrate把整個程序邏輯分為Host和Runtime部分,Host功能是固定的,偏向于底層,是采用原生執行的方式,而Runtime部分是動態的,偏上層業務,編譯成Wasm字節碼,這樣可以隨時升級,其執行在Wasm虛擬機中。合約功能作為上層業務,放置在runtime中,由contractpallet模塊負責。通過分析本文主要要搞清楚兩個問題:
1.合約設計的經濟模型:交易執行收費和存儲租金機制;
Fantom基金會CEO委托中國一家頂級律師事務所來處理Multichain事件:金色財經報道,Fantom基金會首席執行官Michael Kong委托中國一家頂級律師事務所來了解Multichain發生了什么。Kong援引與其他Multichain在中國員工的對話表示,他相信還有幾名員工被捕。
一位名叫Marcel的前員工表示,他知道Multichain中五名已被捕的中國開發者的名字。Marcel還引用了與工作人員的對話,但拒絕透露他們的姓名,理由是擔心這些人的安全。該員工稱:我與一些尚未被捕的團隊成員進行了交談。他們非常緊張,而這五名被捕者都是 Multichain員工,他們實際上是主要的開發人員。[2023/7/22 15:51:42]
2.合約的執行機制:本身跑在Wasm虛擬機里的runtime里是怎么跑用戶Wasm合約的。
當前加密貨幣總市值為1.21萬億美元:金色財經報道,據CoinGecko數據顯示,當前加密貨幣總市值為1.21萬億美元,24小時跌幅達0.5%,24小時交易量為428.19億美元,當前比特幣市值占比為43.9%,以太坊市值占比為18.6%。[2023/4/23 14:21:08]
Runtime的contractpallet擴展了Currencytrait的賬戶系統,因此可以和其他基于Currency實現賬戶系統的模塊一起使用。擴展的合約賬戶具有實例化合約和調用其他合約和非合約賬戶的功能。
為了合約代碼的復用,將合約代碼的上傳部署和合約賬戶的實例化分成兩部分,多個合約賬戶可以從同一份上傳的code進行實例化。
加密貨幣衍生品平臺Paradigm將削減15%薪酬:金色財經報道,加密貨幣衍生品交易平臺Paradigm在全公司范圍內減薪15%。Paradigm還聲稱,減薪減少了公司裁員的需求,對組織發展勢頭的影響也會較小。現在是艱難時期,但我們必須做艱難的事情,并保持財務靈活性,以度過我們作為一個行業所處的動蕩時期。(the block)[2022/12/15 21:46:34]
02
合約的經濟模型
為了避免垃圾交易和惡意合約占用計算和存儲資源,合約的設計考慮了交易執行收費和合約存儲收費邏輯。當合約賬戶的余額不夠支付存儲租金時,合約的存儲會被清理并進入tombstone狀態。
合約的生命周期
alive狀態的合約信息
當合約處于正常工作狀態,其主要有以下信息:
tombstone狀態的合約信息
當合約進入tombstone狀態后,合約的所有存儲都會被清理,合約信息里只有一個對storage_root+code_hash進行hash的值。
合約的復活
合約進入tombstone狀態后,技術上是可以進行恢復的。首先需要準備一本新臨時合約T,往T合約的存儲中插入原合約中的key-value對,使storageroot和原合約完全一致,然后調用restore_to合約接口,這個接口會檢查當前合約的storageroot是否和要恢復的tombstone一致,如果滿足要求那么就使原合約復活,并且將當前的臨時合約的資產轉移到復活合約,并銷毀當前臨時合約。
執行合約的Gas收費
交易的sender必須在每個call中指定gaslimit,未使用完的gas會在調用結束后返還。當到達了指定的gaslimit后,那么所有的call和相關的狀態變更只會在當前調用的合約層進行回滾,比如,合約A調用B,并且B執行時gas不夠,那么所有B的調用將被回滾。如果A能對錯誤進行正確處理,那么A的其他調用和狀態變更依然可以進行持久存儲。初看起來這樣做是一個極大的限制,但其實是底層增加了靈活性,因為并不是所有的調用都是災難性的,因此給了調用方可以進行合理的判斷和處理的機會;如果想要其他鏈那種出錯就完全回滾的方式,那么可以在調用B出錯后A也直接報錯回滾A的變更。
對于Wasm的每一個指令和host函數都設置了對應的InstructionWeight。
runtime會準備一個gas(amount:u32)的計費函數,在Wasm合約上傳后,立刻會對Wasm中的每一個函數進行計費函數的插入生成新的code。后續合約的執行都以新的code為準。
下一期我們將繼續圍繞Substrate的合約存儲的收租機制、Wasm合約限制、合約對外部交易的接口等方面展開。
如有任何疑問,可通過research@ont.io聯絡我們。
來源:金色財經
17年虛擬貨幣爆發式的增長后,在18年開始進入許多人的視野,虛擬貨幣不像那些實物的法幣可以放在自己的錢包里,可以藏在家里的某一個角落,也可以放在銀行等等,虛擬貨幣是指在數字的體現上.
1900/1/1 0:00:00感謝Blocklike的邀請,我們很高興能夠再一次與業內的諸多深耕DeFi領域的投資機構、項目方、KOL、社區……朋友們分享DeFiner近期的動態.
1900/1/1 0:00:00獨一無二的NFT代幣之快速指南?加密貨幣和去中心化金融的世界已經打開了一個單詞詞典,可以嚇退區塊中的新事物。“獨一無二的代幣”,或簡稱NFT,就是一個典型的例子.
1900/1/1 0:00:00Airbnb上市!為什么Airbnb能獲得如此大的市場關注?甚至能搶占“比特幣接近2萬美元歷史高點”的財經圈頭條?其一,美股今年呈現出1999年以來最為瘋狂的上市狂潮,在比特幣之外.
1900/1/1 0:00:002020-12-09?星期三?農歷十月廿五?大家好,我是你們的老朋友張氏說幣,專注幣圈主流貨幣走勢分析.
1900/1/1 0:00:00龍湖·蔚瀾香緹 龍湖第四代頂尖花園洋房,全桐鄉極為稀缺的低密業態。 1.基本信息 樓盤地址:烏鎮大道與悅容路交叉口向西200米FBI和烏克蘭執法部門查封九家加密交易所域名:金色財經報道,美國聯邦.
1900/1/1 0:00:00