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

相比起以太 Filecoin 是如何打造智能合約的?_CTO

Author:

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

Filecoin區塊鏈中的Actor等同于以太坊虛擬機中的智能合約。Filecoin虛擬機是負責執行所有參與者代碼的系統組件。在FilecoinVM上執行參與者會產生GAS費用。

在FilecoinVM上執行的任何操作都將以狀態樹的形式輸出。最新的狀態樹是Filecoin區塊鏈中的當前來源。

1

VMActor接口?v??ipfskj2020

Actor是以太坊虛擬機中智能合約的Filecoin等效項。因此,Actor是系統的核心組件。Filecoin區塊鏈當前狀態的任何更改都必須通過參與者方法調用來觸發。

以下會描述Actor與Filecoin虛擬機之間的接口。

總共有十一種類型的內置Actor,但并非所有類型都與VM交互。一些Actor不會調用對區塊鏈的StateTree的更改,因此不需要與VM的接口。

這里ActorState的結構由參與者的余額,參與者所擁有的令牌以及用于查詢,檢查鏈狀態并與之交互的一組狀態方法組成。

2

狀態樹

狀態樹是對Filecoin區塊鏈應用的任何操作的執行輸出。鏈上狀態數據結構是將地址綁定到參與者狀態的映射的形式)。VM在每次執行actor方法時都會調用當前的StateTree函數。

抗MEV解決方案供應商Wallchain獲得200萬美元投資:3月16日消息,抗MEV解決方案供應商Wallchain宣布獲得由Cypher Capital領投的200萬美元投資。這筆投資將用于推動Wallchain對Web3進行深入研究,以實現收入增長、推出新的MEV解決方案。Cypher Capital是一家總部位于阿聯酋的加密貨幣投資公司,涵蓋風險投資、節點、采礦等。[2023/3/16 13:07:44]

3

VM消息-Actor方法調用

消息是兩個參與者之間進行通信的單位,因此是狀態變化的根本原因。一條消息結合了:

從發送方轉移到接收方的令牌金額,以及具有在接收方上調用的參數的方法。

Actor代碼可以在處理收到的消息時向其他Actor發送其他消息。消息是同步處理的,也就是說,參與者在恢復控制之前等待發送的消息完成。

消息的處理消耗了計算和存儲單位,兩者均以瓦斯表示。消息的氣體限制為處理該消息提供了所需的計算上限。消息的發件人以其確定的汽油價格來支付消息執行所消耗的gas單位。區塊生產者選擇要包含在區塊中的消息,并根據每個消息的gas價格和消耗量獲得獎勵,從而形成市場。

數據:LTC預計于1天12時后上調難度至歷史高點,為20.94M:12月24日消息,數據顯示,萊特幣(LTC)挖礦難度持續走高,當前達20.88M,距離下一次難度調整還有1天12時,屆時,LTC挖礦難度將上調0.28%至20.94M,再創歷史新高。[2022/12/24 22:05:21]

消息語法驗證

語法無效的消息不得傳輸,保留在消息池中或包含在塊中。如果收到無效消息,則應將其丟棄,并且不要進一步傳播。

當單獨發送時SignedMessage,無論使用哪種簽名方案,都將消息打包為。有效的簽名郵件的序列化總大小不大于message.MessageMaxSize。

v??ipfskj2020

語法上有效的UnsignedMessage:

具有格式正確的非空To地址,

具有格式正確的非空From地址,

具有Value不小于零且不大于令牌總供給,并且

具有非負數GasPrice,

具有GasLimit至少等于與消息的序列化字節關聯的氣體消耗的值,

具有GasLimit不大于區塊氣體限制網絡參數的值。

全球做市商MBIT將為Pyth Network提供數字資產對實時市場數據:10月25日消息,全球做市商MBIT已與預言機項目Pyth Network合作,將為其提供各種數字資產交易對的機構級實時市場數據,以為加密貨幣市場帶來更大流動性和透明度。[2022/10/25 16:37:48]

從中提取信息Messagestruct,例如發件人和收件人地址,要轉移的值,執行消息所需的資金以及消息的CID。

假定消息最終應包含在一個塊中并添加到區塊鏈中,則應檢查消息的發送者和接收者的消息有效性,該值,gas費價格且BlockGasLimit該價格不應大于該區塊的gas費限額。

消息語義驗證

語義驗證是指需要消息本身之外的信息的驗證。

語義上有效的SignedMessage必須帶有簽名,以驗證有效載荷是否已被From地址標識的帳戶執行者的公鑰簽名。請注意,當From地址是ID地址時,必須在塊所標識的父狀態下的發送帳戶參與者的狀態下查找公鑰。

注意:發送方必須以包含消息的塊所標識的父級狀態存在。這意味著單個塊包含創建新帳戶actor的消息和來自同一actor的消息是無效的。來自該參與者的第一條消息必須等到下一個紀元。消息池可能會排除來自參與者的,尚未處于鏈狀狀態的消息。

BTC交易所余額達到近四年內最低點:金色財經消息,據Glassnode數據顯示,BTC交易所余額達到2,322,428.645枚,為近四年內最低點。[2022/8/27 12:52:46]

消息沒有進一步的語義驗證,可能導致包含該消息的塊無效。每個語法有效且正確簽名的消息都可以包含在一個塊中,并會從執行中產生一個收據。其中MessageReceiptsturct包括以下內容:

但是,消息可能無法執行到完成,在這種情況下,它不會觸發所需的狀態更改。

這種“無消息語義驗證”策略的原因是,在消息作為提示集的一部分執行之前,將不知道消息將應用于的狀態。塊生產者不知道在提示集中是否有另一個塊會在它之前,因此從聲明的父狀態更改了該塊消息將應用到的狀態。

4

VM運行內部環境

MessageReceipt包含一個頂層消息執行的結果。每個語法有效且正確簽名的消息都可以包含在一個塊中,并會從執行中產生一個收據。

游戲驛站漲超13%:金色財經報道,數據顯示,游戲驛站(GME.US)漲超13%,報101.105美元。該公司周一表示,將為NFT和加密貨幣推出數字錢包。公司將其新錢包描述為自我托管的以太坊錢包。該錢包的網絡瀏覽器擴展插件可以從Chrome Web Store下載。[2022/5/26 3:41:58]

語法有效的MessageReceipt具有:一個非負ExitCode;Return僅當退出代碼為零時,才為非空值;并且非負數GasUsed。

5

VM解釋器-外部消息調用

VM解釋器根據其父塊狀態上的提示集協調消息,從而產生新狀態和一系列消息回執。此新狀態的CID和收據集合的CID包含在后續區塊中,這些區塊必須同意這些CID才能形成新的提示集。

每個狀態更改都由消息的執行來驅動。提示集中所有塊中的消息必須執行才能產生下一個狀態。來自第一個塊的所有消息均在技巧集中的第二個和后續塊的消息之前執行。對于每個塊,首先執行BLS聚合的消息,然后執行SECP簽名的消息。

隱式消息

除了顯示包含在每個塊中的消息之外,隱含消息還會在每個時期對狀態進行一些更改。隱式消息不在節點之間傳輸,而是由解釋器在評估時構造的。

對于提示集中的每個塊,隱式消息:

調用區塊生產者的礦工演員來處理選舉PoSt提交,作為區塊中的第一條消息;

調用獎勵參與者將區塊獎勵支付給礦工的所有者帳戶,作為區塊中的最終消息;

對于每個提示集,一個隱式消息:

調用cronactor來處理自動支票和付款,作為提示集中的最后一條消息。

所有隱式消息的構造From地址都是杰出的系統帳戶參與者。他們將汽油價格指定為零,但必須包含在計算中。為了計算新狀態,它們必須成功。隱式郵件的收據不包括在收據列表中;只有明確的消息才有明確的回執。

GAS費

在大多數情況下,消息的發送者向產生包含該消息的塊的礦工支付執行該消息所需的GAS費。

執行該消息后,每次執行該消息所產生的GAS費將立即支付給礦工所有者帳戶。所獲得的集體獎勵或汽油費沒有任何負擔:兩者都可以立即花費。

郵件重復

由于不同的礦工在同一時期產生區塊,因此單個提示集中的多個區塊可能包含相同的消息。發生這種情況時,僅在第一次以提示集的規范順序遇到該消息時才處理該消息。消息的后續實例將被忽略,不會導致任何狀態突變,產生收據或向區塊生產者支付費用。

總結一下提示集的執行順序:

為第一塊支付獎勵

處理第一塊的選舉職位

第一個塊的消息

支付第二塊獎勵

處理第二個區塊的選舉職位

第二個塊的消息

定時刻度

消息有效性和失敗

有效塊中的每個消息都可以被處理并產生收據。但是,執行成功與否取決于消息所應用的狀態。如果消息執行失敗,則相應的收據將攜帶非零的退出代碼。

如果消息由于可以合理地歸因于礦工的原因而失敗,包括在父塊狀態中永遠不可能成功的消息,或者由于發件人缺乏資金來支付最大消息成本,則礦工將通過燒錢來支付罰款GAS費。

消息失敗導致的唯一狀態更改是:

發送方的增量CallSeqNum,并從發送方向包含消息的區塊礦主支付汽油費;

罰款等于失敗消息的GAS費,由礦工燒掉。

如果處于緊接的先前狀態,則消息執行將失敗:

該FromActor不存在于該州

該FromActor是不是帳號Actor

該CallSeqNum消息不匹配CallSeqNum的的FromActor

FromActor不具有足夠的平衡,以覆蓋消息的總和Value加上最大GAS成本,GasLimit*GasPrice

該參與者不在To狀態中,并且該To地址不是pubkey樣式的地址

該Toactor存在,但是沒有對應于非零的方法MethodNum

反序列化Params不是長度匹配數組Toactor的MethodNum方法的數組

反序列化Params對于Toactor的MethodNum方法指定的類型無效

所調用的方法消耗的GAS多于GasLimit允許的量

調用的方法以非零代碼退出

由于上述任何原因,接收方發送的任何內部消息都會失敗。

請注意,如果To參與者不在狀態中并且該地址是有效H(pubkey)地址,則它將被創建為帳戶參與者。

來源:金色財經

Tags:TORACTCTOGASBit StoreXACTVictoryugas幣怎么找不到了

聚幣
余勛論幣12.19比特幣最新實時策略 24250新高 多頭已下車 再上車 回踩低多偏穩健_虛擬資產

12.20凌晨12.50 比特幣策略更新 上一篇策略提到,幣價上升23550有望探23850,上了這個點位,24000也就是眨眼的事兒.

1900/1/1 0:00:00
比特幣 漲到100萬美金需要幾年?_比特幣

聽起來好像天方夜譚,但有人卻堅信這件事情很快會發生,他就是殺軟件McAfee的創始人,對,他就是McAfee,全名是JohnMcAfee,老哥相信2020年比特幣價格就會超過100萬美元.

1900/1/1 0:00:00
八哥論幣:12.18比特幣行情分析 跟隨行情方能抓住行情_DOT

一個能力極弱的人肯定難以打開人生局面,他必定是人生舞臺上重量級選手的犧牲品;成大事者關于在自己要做的事情上,充分施展才智,一步一步地拓寬成功之路.

1900/1/1 0:00:00
12.20 早間 BTC ETH 行情分析及操作建議_300

關注鄭毅學習,告別虧損交易。一定要理解行情的運行,不是盲目交易。鄭毅所有的策略每天都是連貫的,牽一發動全身.

1900/1/1 0:00:00
幣Max:12.20 比特幣價格 數字貨幣 以太坊 比特幣價格行情分析_比特幣

比特幣價格數字貨幣以太坊比特幣價格行情分析?幣友們大家早上好,昨天晚上比特幣BTC繼續突破新高,牛市時間可能還會持續.

1900/1/1 0:00:00
12.19比特幣晚間實時分析策略_MULTI

4小時來看boll通道有縮口的跡象,日間價格沖高后回落,目前價格持續震蕩,副圖指標MACD死叉形成放量緩慢,KDJ三線聚合有向上拐頭的現象,大餅晚盤行情會有所反彈.

1900/1/1 0:00:00
ads