比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

GAS:以太坊是如何運作的?(二)

Author:

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

前言:本文主要闡述當前以太坊的具體運作原理,有助于我們理解以太坊背后的各種概念和操作,適合初學者閱讀。未來ETH2.0將會發生非常大的變化,具體可以看之前的文章《ETH2.0:它會是什么?》和《ETH2.0:它會是什么?》。接上一篇《以太坊是如何運作的》Gas和支付

以太坊有一個非常重要的概念是費用的概念。因在以太坊網絡上交易而消耗的計算都會產生費用,正所謂天下沒有免費的午餐。支付的費用以“gas”來計算。gas是用于衡量特定計算所需費用的單位。gas價格是你愿意花費在每單位gas上的Ether總量,用“gwei”來衡量。“Wei”是Ether的最小單位,1^018Wei代表1Ether。1gwei是1,000,000,000Wei。每次交易,交易發送人都會設置gas的limit和gas價格。gas價格和gaslimit代表了發送人愿意為交易支付的最大數量的Wei。例如,我們假設發送人設置gaslimit是50,000,gas價格是20gwei。這意味著交易發送者愿意支付最多50,000*20gwei=1,000,000,000,000,000Wei,也就是0.001Ether用來執行該交易。請記住,gaslimit代表了交易發送人愿意支付的最大費用。如果他們的賬戶余額可以覆蓋這個最大值,就不會有問題。交易結束時,發送人會收到未被使用的gas資金退款,并按最初價格交易。如果交易發送人沒有提供足夠的gas來執行交易,交易會用光gas,并且該交易無效。在這種情況下,交易過程中止,發生的任何狀態更改都會被逆轉,這樣交易會結束,并回到交易前的以太坊狀態。此外,還會記錄交易失敗,顯示什么交易試圖發起并在哪里失敗。同時,既然在用光gas之前,機器已經花費了努力進行計算,邏輯上來說,這些花費的gas不會再退還給交易發送人。gas資金到底去哪里了?交易發送人花費的所有gas資金都被發送到“受益人”地址,這通常是礦工的地址。既然礦工花費努力來計算和驗證交易,礦工收取gas費用作為獎勵。通常,交易發送人愿意支付的gas價格越高,礦工從交易中獲得價值越大。因此,礦工也會選擇價格高的交易。這樣,礦工自由選擇他們愿意驗證的交易。為了引導交易發送者設置gas價格,礦工可以選擇宣傳他們會執行交易的最低gas價格。存儲也需要費用

數據:2月以太坊gas價格中位數升至38 gwei,創過去9個月新高:2月28日消息,NFT市場復蘇推動2月以太坊gas成本升至38 gwei,創過去9個月新高,過去9個月中以太坊gas價格中位數基本維持在10-20 gwei區間,僅在11月FTX崩盤時達到36 gwei、以及12月“幣安擠兌”時達到24 gwei。

分析認為,以太坊gas價格中位數上漲表示網絡需求和活動增加,而NFT交易使用的gas已連續兩個月上漲97%,其中很大程度歸功于Blur,ultrasound.money數據顯示截至目前Blur以太坊銷毀量已超過6800 ETH,高于Coinbase。(Decrypt)[2023/2/28 12:33:07]

gas不僅用于支付計算步驟,也用于支付存儲費用。存儲所需的總體費用跟使用32字節的最小倍數成正比。存儲的費用有一些細微差別。比如,既然不斷增加的存儲增大了所有節點的以太坊狀態數據庫的大小,那么有動機來保持小的數據存儲量。因此,如果交易具有可以清除存儲中的條目的步驟,則免除執行該操作的費用,并且為了釋放存儲空間還可以退還費用。費用有什么目的?以太坊運行的一個重要方面是網絡執行的每個操作都同時受到每個全節點的影響。然而,在以太坊虛擬機上的計算步驟是非常昂貴的。因此,以太坊智能合約最適用于簡單任務,例如運行簡單的商業邏輯或驗證簽名和其他加密對象,而不是更加復雜的用途,如文件存儲、郵件、機器學習等,這些會給網絡帶來壓力。征收費用可以防止用戶過度使用網絡。以太坊是圖靈完備的語言。簡言之,圖靈機是能夠模擬任何計算機算法的機器。這允許循環,并使以太坊容易受到停頓問題的影響,這個問題讓你無法確定程序是否會無限運行下去。如果沒有費用,惡意行為者能夠輕易嘗試破壞網絡,方式是通過在交易中執行無限循環卻不用擔心成本。因此,費用可以保護網絡免受惡意攻擊。你可能會想,“為什么我們還需要為存儲付費?”好吧,就像計算一樣,以太坊網絡上的存儲也有成本,整個網絡不得不為此承受負擔。交易和消息

C.R.E.A.M.以太坊平臺已上線UST:3月3日消息,抵押借貸平臺Cream Finance發推稱,此前的提案已通過,C.R.E.A.M.以太坊平臺已上線UST,用戶可以在app.cream.finance提供和借用UST。UST的抵押系數為0%,這意味著用戶可以存入UST,但在通過治理投票提高抵押系數之前,不能使用UST作為抵押借用其他資產。[2021/3/3 18:11:52]

我們注意到以太坊是基于交易的狀態機。換言之,發生在不同賬戶之間的交易推動著以太坊的全球狀態從一個狀態轉換到另外一個狀態。在最基本的意義上,交易是加密簽名的指令,它由外部賬戶生成,并序列化,然后提交到區塊鏈上。有兩類交易:消息調用和合約創建。所有交易包含如下部分,無論其類型如何:Nonce:交易發送人發送的交易數量的計數。Gasprice:交易發送人愿意為執行交易所需的每單位gas支付的Wei的數量。Gaslimit:交易發送人愿意為執行交易支付的最大gas數量。數量是設置并預付的,在任何計算完成之前確定。To:接收人的地址。如是創建合約的交易,合約賬戶地址還不存在,所以使用的是空值。Value:從發送人轉移到接收人的Wei總量。在創建合約的交易中,這個值作為新創建合約賬戶的初始余額。V,r,s:用于生成簽名,該簽名可以標識交易的發送人。Init:僅用于創建合約的交易。它是EVM代碼片段,可用來初始化新的合約賬戶。Init只允許一次,然后被拋棄。首次運行init時,它會返回賬戶代碼的正文,這段代碼與合約賬戶產生永久關聯關系。數據:僅用于消息調用的可選字段。它是指消息調用的輸入數據。比如,如果智能合約充當域名注冊的服務,對合約的調用可能需要輸入字段如域名或IP地址。在賬戶的章節,我們了解到交易,如消息調用或創建合約的交易,這些交易總是由外部賬戶啟動并提交到區塊鏈。另外一個思考的方式是,正是這些交易在外部世界和內部以太坊之間起到橋梁作用。但這不意味著這些合約不能跟其他合約溝通。存在于以太坊狀態范圍內的合約能夠與其他同樣范圍內的合約進行對話。它們溝通的方式是通過“消息”或“內部交易”。我們可以將消息或內部交易看作與交易類似,主要區別在于它們不是由外部賬戶生成。相反,它們由合約生成。它們是虛擬對象,與交易不同,它們不會序列化并且只存在于以太坊執行環境中。當一個合約發送內部交易到另外一個合約,接收人合約賬戶的關聯代碼就會執行。需要注意的是,內部交易或消息并不包含gaslimit。因為gaslimit是由原始合約的外部創建者來確定的,即是一些外部賬戶。外部賬戶設置的gaslimit必須足夠高,以執行交易,這些交易包括了任何子執行,子執行也是由交易導致的。比如,合約到合約的消息。如果,在交易和消息的鏈中,特定的消息執行耗盡了gas,消息的執行會還原,同時還原的還包括任何由執行觸發的后續消息。然而,父執行無需還原。區塊所有的交易組成一起進入區塊。區塊鏈包含一系列鏈接在一起的區塊。以太坊中,一個區塊包含:區塊頭關于區塊中包含的一組交易的信息當前區塊的ommers的一組其他區塊頭關于Ommersommer到底是什么?ommer是一個區塊,它的父區塊相當于當前區塊的父塊的父塊。快速了解一下ommer用于什么,為什么區塊包含ommers的塊頭?由于以太坊的構建方式,出塊時間比其他區塊鏈更短,比如它約15秒/區塊,而比特幣的出塊時間是10分鐘/區塊。這讓它擁有更快的交易速度。然而,更短出塊時間的一個不足之處是礦工會發現有更多的競爭區塊。這些競爭區塊也稱為“孤塊”。ommers的目的是幫助獎勵礦工包括這些孤塊。礦工包含的ommers必須是“有效”的,意味著當前區塊的六代之內或更小范圍內。在六代之后,老舊的孤塊不再被引用,因為包括較老的交易會讓事情變復雜。Ommer區塊獲得的獎勵比全區塊要少。盡管如此,對礦工來說,這依然有激勵,讓他們把這些孤塊包括進來,由此收獲獎勵。區塊頭讓我們回到區塊。之前提到過每個區塊都有區塊頭,它究竟是什么?區塊頭是區塊的一部分,包括:parentHash:父區塊頭的哈希值ommersHash:當前區塊的ommers列表的哈希值受益人:接收挖礦費用的賬戶地址stateRoot:狀態trie的根節點的哈希值transactionsRoot:包含區塊中列出來的所有交易的trie的根節點哈希值receiptsRoot:包含區塊中列出來的所有交易收據的trie的根節點哈希值logsBloom:Bloom過濾器,它包含日志信息difficulty:區塊的難度級別number:當前區塊的計數gasLimit:當前的每區塊的gasliminttimestamp:區塊開始的unix時間戳extraData:跟區塊相關的額外數據mixHash:也是一個哈希值,當它結合nonce時,證明該區塊已經執行足夠的計算nonce:也是一個哈希值,當它結合mixHash時,證明該區塊已經執行足夠的計算注意每個區塊頭是如何包含三種trie結構:狀態交易收據這些trie結構只是之前提到過的MerklePatriciatries。此外,以上的描述中一些術語需要澄清。Logs以太坊允許logs,以便于追溯各種交易和消息。合約可以通過定義“事件”來清晰生成日志,這里的“事件”則是想要記錄日志。log條目包含:日志者的賬戶地址一系列的主題,這些主題代表本次交易執行的不同事件跟這些事件相關的任何數據日志存儲在bloom過濾器中,該過濾器以有效方式存儲無盡的日志數據。交易收據存儲在區塊頭的日志來自于包含在交易收據中的日志信息。正如你在商店購物會收到收據一樣,以太坊也會為每筆交易生成收據。正如你所期望的,每張收據都包含交易相關的一些信息。收據包含如下內容:區塊編號區塊哈希交易哈希當前交易使用的gas當前交易執行后當前區塊所使用的累積ga當執行目前交易創建的日志......等等區塊難度區塊的“難度”用于實現一致性,它可以讓驗證區塊所花費時間基本一致。創世區塊難度是131,072,此后用特別公式來計算每個區塊的挖礦難度。如果某個區塊的驗證速度快于之前的區塊,以太坊協議會增加出塊難度。出塊難度影響nonce,這是一個哈希值,礦工必須在挖區塊時使用PoW算法計算出來。區塊難度和nonce的聯系在數學上可以形式化為:其中Hd是難度。找到滿足難度閥值的nonce的唯一方法是使用PoW算法來窮盡所有可能性。找到解的期望時間跟難度成正比——難度越高,找到nonce的就越難,驗證區塊越難,這會導致驗證新區塊花費更長時間。所以,通過調整區塊的難度,協議可以控制驗證區塊需要耗費的時間。另外一方面,如果驗證時間變長,協議就會降低難度。通過這種方式,驗證時間自我調整,以此保持一個恒定速率——平均每15秒出一個區塊。交易執行我們來到以太坊協議中最復雜的部分之一:交易的執行。假定你發送一個交易到以太坊網絡進行處理,將以太坊的狀態轉換為包含你的交易會發生什么?首先,所有交易必須滿足一組初始的設置要求才能執行。這些包括:交易必須是格式正確的RLP。“RLP”代表“遞歸長度前綴”,是一種數據格式,它用于編碼二進制數據的嵌套數組。RLP是以太坊用于序列化對象的格式。有效的交易簽名有效交易nonce。回想一下,一個賬戶的nonce是從該賬戶發送過來交易計數。為了有效,交易nonce必須等于發送者賬戶的nonce。交易的gaslimit必須等于或大于交易使用的固有gas。固有gas包括:1.為執行交易預先定義的成本21,000的gas2.與交易一起發送的數據的gas費用3.如果交易是創建合約的交易,則額外增加32,000gas發送人的賬戶余額必須有足夠的Ether覆蓋“預定”gas成本,這是發送人必須支付的。“預定”gas成本的計算是簡單的:首先,交易的gaslimit乘以交易的gas價格,可以得出最大的gas成本。其次,最大的成本被加入到總值中,總值是指從發送者轉移到接收者的總價值。如果交易滿足所有以上的有效性要求,我們繼續下一步。首先,我們從發送人的余額中扣除預定的執行成本,并將發送人的賬戶的nonce增加1以計入當前的交易。此時,我們可以算出剩余的gas,它們作為交易的總gaslimit減去使用過的固有gas。接下來,交易開始執行。在交易的執行過程中,以太坊跟蹤“子狀態”。該子狀態是記錄交易過程中產生的信息的方法,這些信息在交易完成后被立即需要。具體來說,它包括:自毀集:在交易完成后被拋棄的一組賬戶日志系列:虛擬機代碼執行的歸檔及可索引的檢查點。退還余額:交易后退還給發送人賬戶的金額。還記得我們提到的以太坊存儲需要花費,并且發送人會為清理存儲而退款?以太坊會使用退款計數器來跟蹤此事。退款計數器從零開始,每次合約清除存儲時會遞增。接下來,處理交易要求的各種計算。一旦交易要求的所有步驟都被處理完畢,假定沒有無效狀態,則通過確定要退還給發送人的未使用的gas金額來實現最終狀態。除了未使用的gas,發送人還可以從上面提到的“退款余額”中獲得一些補貼。一旦發送人獲得退款:gas的Ether已經給到礦工交易使用的gas被添加到區塊gas計數器在自毀集中的所有賬戶都將被刪除最后,我們留下新的狀態和一組交易創建的日志。現在我們已經介紹了交易執行的基礎知識,讓我們來看創建合約的交易和消息調用之間的一些區別。

ZKSwap Alex Lee:Layer2 的市場規模將占以太坊市值的20%-30%:2月23日,在以《Layer2賽道下,ZKSwap的突破之路》為主題的AMA中,ZKSwap 社區負責人 Joe表示,目前DEX 已進入 Layer2 的 AMM 時期,其本質是鏈下安全高效的DEX產品。ZKSwap 基于ZK-Rollup 技術,資金層面可以實現和Layer1 相同的安全性,但是交易容量和交易效率是Layer1 的100倍以上,交易成本只有 Layer1 的1/100 。

ZKSwap 開發負責人Alex Lee表示,未來 Layer2 的市場規模至少有以太坊市值的20%-30%, 因為最終所有的用戶都會使用 Layer2 的方案。用戶從 Layer1 向 Layer2 遷移的過程,就是 Layer2 價值發現的過程。

Huobi 高級投資經理 Xin 表示,Layer2項目有幾種技術流派,比如zkswap使用的zkrollup,還有Optimistic Rollup,Plasma等,不同技術方案在安全和性能上有各自的平衡,火幣會努力覆蓋各個路線中最好的項目。如果說Layer1的意義主要是維持網絡安全穩定的話,Layer2則更偏向服務應用和用戶。[2021/2/24 17:46:54]

動態 | BCH雪崩交易顯示 最終速度比以太坊快10倍:過去幾周,比特幣現金(Bitcoin Cash, BCH)的開發者和社區成員一直在討論一種名為雪崩的預先達成共識的方法。現在BCH的支持者已經開始注意到該協議已經應用于Bchd的全節點實現,以及在BCH主網上正式運行的概念證明。 BCH的支持者們還討論了交易最終速度如何比以太坊網絡快6-10倍。BCH開發者和Bitbox創始人Gabriel Cardona在Twitter上解釋到:“交易在1.559723305秒內完成——比ETH快10倍——這是一個強大的游戲改變者。”[2019/2/11]

以太坊網絡當前未確認交易量達2.77萬筆:據etherscan數據顯示,當前以太坊網絡內未確認交易量多達2.77萬筆,是比特幣網絡當前未確認量的7.7倍。[2018/6/7]

Tags:GAS以太坊WEINCEgas幣前景以太坊價格今日行情比特幣WEIRD價格Feast Finance

以太坊交易
區塊鏈:從李小加看香港的區塊鏈“棋局”

香港作為曾經亞洲的金融中心,為人津津樂道的全球化典范,隨著近年全球經濟發展趨緩,受到比較大的沖擊和影響。區塊鏈作為金融科技關鍵技術之一,對于以金融為核心,正尋找科技突圍的香港,其重要性不言而喻.

1900/1/1 0:00:00
加密貨幣:加密世界的借貸市場

編者按:本文來自藍狐筆記,作者:RyanTodd,Odaily星球日報經授權轉載。前言:加密世界的借貸市場還處于發展初期,這里存在很多的機會,包括數字貨幣借貸有天然優勢,比如可以超額抵押,可以通.

1900/1/1 0:00:00
BTC:至暗時刻:BTC的“泡沫”周期——冰點展望之三

通證通研究院×FENBUSHIDIGITAL聯合出品文:宋雙杰,CFA;吳振宇特別顧問:沈波;Rin導讀當前負面消息充斥區塊鏈行業,區塊鏈從價值互聯網到龐式騙局,從人人熱捧到避之不及.

1900/1/1 0:00:00
META:MetaStable 合伙人為交易所拆招:如何對付 51% 攻擊

本文來自:鏈聞ChainNews,作者:HaseebQureshi,加密資產投資基金MetaStableCapital普通合伙,編譯:錢剛,星球日報經授權轉發.

1900/1/1 0:00:00
ASH:1月16日鏈上數據縱覽

區塊鏈市場總覽Tokenview行情-市值前五加密貨幣24小時總交易額為136.64億美元根據Tokenview.com數據顯示,截止1月16日10:00.

1900/1/1 0:00:00
COI:焦點解讀 | 最害怕“摩根幣”的應該是Ripple,如果銀行們都發幣會怎樣?

2019年2月14日,美國最大的商業銀行摩根大通宣布發行加密貨幣JPMCoin,主要用來實現跨銀行和跨境即時支付,但只有其大客戶才能使用.

1900/1/1 0:00:00
ads