買比特幣 買比特幣
Ctrl+D 買比特幣
ads

CTO:相比起以太 Filecoin 是如何打造智能合約的?_SEKTOR幣

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函數。

狗狗幣聯合創始人:盡管已離開項目但仍持有“少量DOGE”:金色財經報道,Billy Markus是2013年推出的meme項目狗狗幣的兩位聯合創始人之一,最近他在社交媒體上對加密社區的一些傳言進行了澄清。Billy Markus表示,他已經9年沒有研究狗狗幣,目前與該項目沒有任何關系,而且也不代表狗狗幣團隊發言。不過,Billy Markus承認自己擁有“非常少量的DOGE代幣”。針對加密社區希望他重新代表狗狗幣項目,Billy Markus表示到目前為止他唯一能代表的人就是他自己。[2023/4/2 13:40:21]

3

VM消息-Actor方法調用

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

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

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

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

臨時司法管理人發現Hodlnaut曾秘密刪除名為“UST loss”的文件夾:10月31日消息,加密借貸平臺Hodlnaut一直在向臨時司法管理人隱瞞財務文件,臨時司法管理人通過Google云端硬盤的日志發現,Hodlnaut在告訴客戶他們沒有UST敞口后,曾秘密刪除一個名為“UST loss”的文件夾。

此前報道,8月16日,加密借貸平臺Hodlnaut在新加坡向高等法院提交申請,尋求債權人保護,使法律索賠和訴訟程序能夠暫時暫停,避免以低價強制出售Token,以便可以穩定財務狀況,專注于重組和恢復計劃。(Techinasia)[2022/10/31 11:59:22]

消息語法驗證

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

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

v??ipfskj2020

語法上有效的UnsignedMessage:

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

巴西央行行長:比特幣是金融創新:金色財經消息,巴西央行行長表示比特幣是金融創新。[2022/8/7 12:07:23]

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

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

具有非負數GasPrice,

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

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

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

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

消息語義驗證

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

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

互換市場完全定價美聯儲在接下來兩次會議將累計加息150個基點:金色財經報道,互換市場完全定價美聯儲在接下來兩次會議將累計加息150個基點。(金十)[2022/7/13 2:11:11]

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

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

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

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

以太坊網絡日交易手續費約為2849枚,而此前長期高于7500枚:金色財經消息,據OKLINK數據顯示,當前以太坊網絡日交易手續費約為2849枚。從數據看,也是2021年8月以來的低點。而過去一年,該數據曾長時間高于7500枚,甚至多次觸及2萬枚的高點。[2022/5/23 3:34:54]

4

VM運行內部環境

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

語法有效的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:ACTTORCTOGASXActRewardsSEKTOR幣CTOGER幣UGAS價格

火幣交易所
數字貨幣代理_數字貨幣招商_數字貨幣合約

新手投資者出現投資虧損、資金問題、賬戶問題、平臺問題、都可以百度搜索《財庫大學堂》關注我們,實時推薦最新正規平臺供您選擇虧損的或許可以幫你挽回損失,解答平臺問題,賬戶異常問題.

1900/1/1 0:00:00
GAT:談喻凱:12.18回調就是做多良機 BTC ETH EOS操作建議_ILV

  交易本是多空的博弈,沒有誰有百分百的把握,也沒有誰百單百對,唯有嚴守交易規則,才能制勝合約市場.

1900/1/1 0:00:00
Chiliz:  金幣專欄:12.20午間比特幣行情分析與操作策略_CHI

  金幣專欄:12.20午間比特幣行情分析與操作策略  一個成功的投資者所依靠的并不是一門獨特的技術指標,也不是非常精準的技術面的分析,而是具備正確的操作理念和方法以及一個良好的心態.

1900/1/1 0:00:00
CRY:文秦:12.19黃金還會漲嗎白銀還會跌嗎下周行情分析及操作建議附空單解套_Tokocrypto

  -黃金行情分析:      國際黃金本周四上漲,延續前一個交易日漲勢,金價刷新一周高位,直逼上周黃金上漲高點位置,走勢表現強勁.

1900/1/1 0:00:00
COIN:幣Max:12.19 比特幣價格 數字貨幣 以太坊 比特幣價格行情分析_coinbase支持哪些國家

12月19號行情分析數字貨幣的朋友們大家早上好!又快到周末休息了,昨天行情來了一次小幅度回調后今天繼續反彈,那么這次是誘多呢還是又要持續拉升了?下面跟大家一起分析.

1900/1/1 0:00:00
ALA:插槽拍賣蓄勢待發,一覽波卡插槽拍賣全貌!_kusama幣未來會漲到多少

波卡是行業知名公鏈,知名度極高。波卡主網于今年5月底正式啟動上線,目前還沒完全實現「可用」。波卡目前最重要的一個節點是平行鏈上線,只有平行鏈上線之后,波卡網絡才能跑應用,目前的波卡網絡只能執行S.

1900/1/1 0:00:00
ads