加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

以太坊是如何運作的(三)完結篇_以太坊:以太坊交易付費的成本是

Author:

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

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

回顧一下,以太坊有兩種類型賬戶:合約賬戶和外部賬戶。當我們說交易是“創建合約”時,我們的意思是說交易的目的是創建一個新的合約賬戶。為了創建新的合約賬戶,我們首先使用特殊公式聲明新賬戶地址,然后我們通過如下方式初始化新賬戶:把nonce設置為零。如果發送人用交易發送一定量的Ether作為價值,則設置該價值為賬戶余額。從發送人的余額中扣除發送給新賬戶的價值。把存儲設置為空。把合約的codeHash設置為空字符串的哈希。一旦我們初始化賬戶,使用跟隨交易發送的init代碼實際上能夠創建賬戶。在執行這個初始化代碼時會產生多樣的變化。根據合約的構造函數,它可能會升級賬戶的存儲、創建其他合約賬戶、進行其他消息調用等。當執行初始化合約的代碼時,它使用gas。交易不允許使用比剩余gas更多的gas。如果存在這樣的情況,執行遇到gas不足的異常,然后退出。如果交易因為gas不足異常而退出,那么,狀態會立刻復原到交易之前到那個點。發送人不會收到gas退款,該gas已在之前執行中用完。但是,如果發送人用交易發送任何Ether價值,即使合約創建失敗,Ether價值也會被退回。如果初始化代碼執行成功,會支付最終的成功創建合約的成本。這是存儲成本,支付費用跟所創建合約代碼的大小成正比,這里也沒有免費午餐。如果沒有足夠的剩余gas來支付最終的成本,交易再次出現gas不足的異常,并中止。如果一切都順利,我們目前為止沒有異常,則剩余的未使用的gas會退還給交易的最初發送人,由此被改變的狀態也允許持續存在。消息調用

以太坊L2總鎖倉量漲至94億美元 zkSync Era突破2億美元:金色財經報道,據L2BEAT數據顯示,當前以太坊Layer2總鎖倉量漲至94億美元,7日漲幅5.64%。其中,鎖倉量前五分別為:ArbitrumOne(61.6億美元,7日漲幅4.63%);Optimism(20.1億美元,7日漲幅5.03%);dYdX(3.47億美元,7日漲幅2.03%);zkSyncEra(2.01億美元,7日漲幅79.628%);ImmutableX(1.31億美元,7日漲幅2.43%)。[2023/4/11 13:56:14]

消息調用的執行跟合約創建的執行類似,不過存在一些差異。消息調用執行并不包括任何init代碼,因為沒有創建新的賬戶,但是,如果數據由交易發送人提供,則它可以包含輸入數據。一旦執行,消息調用還有額外的組件,組件包含了輸出數據,如果接下來的執行需要該數據,它會被使用。跟合約創建一樣,如果因為gas不足或交易無效,消息調用退出,那么,所使用的gas不會退還給最初的調用者。相反,所有剩余的未使用的gas被消耗,并且狀態會復原到余額轉移之前的點。直到以太坊的最新升級之前,如果沒有系統消耗你提供的所有gas,那就無法停止或恢復交易的執行。例如,假設當調用者沒有被授權執行某些交易,你授權的合約拋出錯誤。在之前版本的以太坊,剩余的gas依然會被消耗,且沒有任何gas會被退還給發送人。但在拜占庭升級中,它包括了新的“恢復”代碼,允許合約停止執行并恢復狀態更改,而不是消耗剩余的gas,同時還能返回交易失敗的原因。如果因為還原而退出交易,則會把未使用的gas退還給發送人。執行模式

以太坊網絡24小時內銷毀2661.6 ETH,其中Seaport銷毀309.88 ETH:7月7日消息,據Tokenview鏈上數據顯示,近24小時內,以太坊產出13540.32枚ETH,銷毀2661.6枚ETH。24小時銷毀率19.66%。

排行榜前三名分別為:

OpenSea: Seaport 1.1:0x00...de581(309.88 ETH);

Uniswap V3: Router 2(206.27 ETH);

ImmortalPlayerCharacter(108.25 ETH)。[2022/7/7 1:56:57]

到目前為止,我們已經了解到一個交易從開始到結束必須經歷的系列步驟。現在,我們來看看交易實際上是如何在VM上執行的。實際處理交易流程的部分協議是以太坊自己的虛擬機,也就是所謂的EVM。EVM是圖靈完備的虛擬機。跟其他圖靈完備的機器相比,EVM唯一的限制是它跟gas是內在綁定的。也就是說,它的計算量是受gas量內在約束的。

資料來源:CMU此外,EVM有基于堆棧的架構。堆棧計算機使用后進先出堆棧來保存臨時值。EVM中每個堆棧項的大小是256位,堆棧最大的大小為1024。EVM有內存,其中的item存儲為字尋址字節數組。內存不穩定,意味著它不是持久的。EVM還有存儲空間。跟內存不同,存儲是穩定的,同時它作為系統狀態的一部分進行維持。EVM在虛擬ROM中分別存儲程序代碼,這些代碼只能通過特別指令訪問。通過這種方式,EVM跟經典的馮·諾依曼架構不同,其中的程序代碼存儲在內存或存儲器中。

BitMEX創始人:我仍相信以太坊在年底前到達10,000美元:6月2日消息,BitMEX 創始人 Arthur Hayes 在最新博文中探討了當前的市場形勢,Arthur 認為美聯儲加息不可持續,加密市場將在縮表預期消失后迎來反彈。中期選舉前,人們會意識到,加息不能解決由全球供應鏈危機帶來的通脹,而只會破壞資產價格。

文中進一步提出,加密市場與納斯達克的相關性在本輪加息中已經降低,比特幣和以太坊每一輪的熊市底部都高于上一輪的牛市頂部,并提出本輪下跌的中比特幣的底部在 25,000 到 27,000 美元,以太坊在 1,700 到 1,800 美元,“我仍相信以太坊將在年底前到達 10,000 美元,但我不確定美聯儲決策轉變的拐點在哪里”。[2022/6/2 3:58:09]

EVM也有它自己的語言:“EVM字節代碼”。當一個程序員編寫以太坊智能合約時,一般來說,會使用高階語言如Solidity。之后,我們可以將其編譯為EVM可以理解的EVM字節代碼。那么,現在開始執行。在執行特定的計算之前,處理器會確保以下的信息可用且有效:系統狀態計算用的剩余gas擁有正在執行的代碼的賬戶地址發起該執行的交易發送人的地址導致代碼執行的賬戶地址產生該執行的交易的gas價格輸入該執行的數據作為當前執行的一部分,發送價值給此賬戶要執行的機器代碼當前區塊的區塊頭當前消息調用或合約創建堆棧的深度開始執行時,內存和堆棧為空,且程序計數器為零。PC:0STACK:MEM:,STORAGE:{}之后,EVM遞歸執行交易,計算系統狀態以及每個循環的機器狀態。系統狀態只是以太坊的全球狀態。機器狀態包括:可用的gas程序計數器記憶內容內存中的活躍詞數堆棧內容從系列的最左側部分添加或刪除堆棧項。在每個循環中,從剩余gas中減少適當的gas量,并且程序計數器遞增。在每個循環結束時,有三種可能:1.機器達到異常狀態,因此必須暫停,任何更改都將被丟棄。2.序列繼續處理進入下一個循環3.機器達到受控停止假設執行并沒有達到異常狀態,也沒有達到“受控”或正常停止,則機器會生成結果狀態、執行后的剩余gas、累計子狀態以及結果輸出。我們了解了以太坊最復雜的部分之一。即使你不能完全明白,也沒關系。除非你要從事非常深層次的工作,否則你無須理解非常細節的部分。區塊如何最終確定

Waves CEO:本周將啟動對接以太坊的USDN端點:Waves首席執行官Sasha Ivanov發推稱,在本周將會最終啟動對接以太坊的USDN端點,這會大大提高流動性。他表示,這可能不僅是Waves最大的事情,也是目前企業區塊鏈當中最大的事情。[2020/8/17]

最后,我們來看看包含眾多交易的區塊如何最終確定。當我們說“最終確定”時,它可以意味著兩種不同的東西,這取決于區塊是新的還是已有的。如果它是新區塊,我們指的是挖掘區塊要求的過程。如果它是已有區塊,那么,我們是指驗證區塊的過程。在任何一種情況下,有四個要求來實現區塊“最終性”。1)驗證ommers區塊頭中的每個ommer區塊必須是有效的區塊頭,并且在當前區塊的第六代內。2)驗證交易區塊上的使用過的gas數必須等于累積的gas,該gas被區塊中列出的交易使用過。。3)申請獎勵受益人地址被授予5Ether用于區塊挖礦。。此外,對于每個ommer,當前區塊的受益人將獲得當前區塊獎勵的額外1/32。最后,ommer區塊的受益人也會獲得特定數量的獎勵4)驗證狀態和nonce確保所有的交易和結果狀態改變得到應用,然后,在所有區塊獎勵已經被應用到最終的交易結果狀態后,定義新區塊作為狀態。通過針對存儲在區塊頭的狀態trie來檢查該最終狀態,以此進行驗證。PoW挖礦

“區塊”章節部分簡要介紹了區塊難度的概念。賦予區塊難度意義的算法叫PoW。以太坊的PoW算法稱為“Ethash”。算法正式定義如下:

動態 | 以太坊擴容方案或考慮SNARK:據bitcoinexchangeguide報道,以太坊開發人員正在努力尋找擴展網絡的最佳方式,相比Plasma,以太坊擴容方案可能將考慮SNARK。以太坊開發人員正在討論的主要實現之一是Plasma,這似乎是以太坊短期擴展問題的最佳解決方案。然而,事情并沒有按計劃進行,Plasma并沒有像最初預期的那樣工作。因此,研究人員現在正在關注zk-snarks,這是一種由ZCash(ZEC)實施的解決方案,允許開發人員將事務聚合成批處理。[2018/11/9]

其中的m是mixHash,n是nonce,Hn是新區塊頭,Hn是區塊頭的nonce,并且d是DAG,它是大的數據集。在“區塊”章節部分,我們提過區塊頭存在的各種item。其中兩個組件叫做mixHash和nonce。你可能還記得:mixHash是一個哈希值,當它跟nonce結合使用時,證明該區塊已經執行足夠的計算。nonce是一個哈希值,當它跟mixHash結合時,證明該區塊已經執行足夠的計算。PoW功能用于評估以上兩個item。使用PoW函數來計算mixHash和nonce有些復雜,我們可以用單獨文章來深入研究。但在更高的層面上,它是這樣工作的:“為每個區塊計算“種子”。該種子對于每個“epoch”都是不同的,其中每個epoch都是30,000區塊長度。對于第一個epoch,種子是一系列32字節的零的哈希。對于后續的epoch,它是之前種子哈希的哈希。這樣,使用該種子,節點可以計算偽隨機的“緩存”。”這個緩存非常有用,因為這讓“輕節點”的概念變得可行。輕節點的目的是可以讓特定的節點有能力驗證交易,但與此同時無需存儲整個區塊鏈的數據集。輕節點可以驗證交易的有效性,它只是基于這個緩存,因為緩存可以重新生成它要驗證的特定區塊。使用緩存,節點能夠生成DAG“數據集”,其中數據集中每個item依賴于來自緩存的一小部分偽隨機選擇的item。為了成為礦工,你必須生成這個全數據集;所有全數據客戶端和礦工存儲這個數據集,并且這個數據集隨著時間線性增長。礦工可以獲取隨機數據集切片,并把它們用數學函數進行一起哈希,變成“mixHash”。礦工將重復生成mixHash直到輸出低于所需的目標nonce。當輸出滿足需求,nonce被認定為有效,同時區塊被添加到鏈上。挖礦是一種安全機制總體來說,PoW的目的是用加密安全的方式證明一定量的計算已經消耗在生成某個輸出上。這是因為沒有更好的方法來找到一個隨機數,這個隨機數低于所需的閥值,而不是枚舉所有的可能性。重復應用哈希函數的輸出具有均勻分布,所以,我們可以肯定,平均來說,找到這樣一個隨機數所需的時間取決于困難閥值。難度越高,找到nonce的時間就越長。通過這種方式,PoW算法為難度概念賦予了意義,它用于確保區塊鏈的安全。區塊鏈的安全是什么意思?很簡單:我們希望的創建一個人人都可信任的區塊鏈。我們之前也提過,如果多于一條鏈存在,用戶會失去信任,因為他們不能合理地確定哪條鏈是“有效”的區塊鏈。為了讓一群用戶接受存儲在區塊鏈上的底層狀態,我們需要單一規范的區塊鏈,而這條區塊鏈人人都相信它。這就是PoW算法的作用:它確保特定區塊鏈將一直保持規范,讓它很難被攻擊者攻擊,攻擊者很難創建新的區塊來重寫交易的歷史或維持分叉。為了讓他們的區塊首先被驗證,攻擊者需要持續地在網絡中比其他人更快地算出隨機數,也因此,網絡才會相信他們的鏈是最長的鏈。這將是不可能的,除非攻擊者擁有超過一半以上的算力,也就是所謂的51%攻擊場景。

挖礦作為財富分配機制除了提供安全的區塊鏈之外,PoW也為那些耗費算力提供安全的人提供財富分配的方式。回顧一下,礦工從挖礦中獲得獎勵,包括:獲勝區塊會獲得5Ether的靜態區塊獎勵區塊中交易的gas成本包含ommers作為區塊一部分的額外獎勵PoW算法機制是安全和財富分配的方法,為了確保它是長期可持續的,以太坊努力地灌輸這兩個屬性:讓盡可能多的人可以訪問它。換句話說,人們不需要特制的或不常見的硬件來運行算法。它的目的在于讓財富分配模型盡可能開放,以讓任何人都可以通過提供一定的算力來獲得Ether的獎勵。減少任何單一節點獲取不成比例收益的可能性。任何節點如果可以獲取不成比例的收益,這也意味著該節點會擁有決定規范區塊鏈的巨大影響力。這是很麻煩的,因為它降低了網絡的安全性。在比特幣區塊鏈網絡中,與上述兩個屬性相關的一個問題是PoW算法是SHA256哈希函數。這種類型函數的弱點是使用特定的硬件會更有效率,眾所周知的是ASICs。為了減輕這個問題,以太坊選擇了的PoW算法是Ethhash,它的算法讓序列記憶很難。這意味著以太坊的算法設計讓計算隨機數需要很多內存和帶寬。對于計算機來說,大內存需求讓它很難使用內存進行平行計算來同時發現多個隨機數,同時,更高的帶寬要求讓它很難同時發現多個隨機數,即使是超高速的計算機也是如此。這就降低了中心化的風險,并為驗證節點們創建了一個更加公平的競爭環境。有一點需要注意的是,以太坊正在從一個PoW共識機制轉變為所謂的“PoS”證明。這個問題很豐富,也許在未來可以單獨文章探討。結語

這篇文章有很多內容需要消化。如果需要閱讀幾次才能理解,也是可以的,我希望以上的闡述對你有所幫助。

Tags:以太坊GASETHPOW以太坊交易付費的成本是MegaShiboX Inuetheral代表什么意義PowerIndex

幣安app官方下載最新版
涉嫌操縱美國大選的Facebook,正在考慮區塊鏈變革登陸服務_ACE:BOO

繼穩定幣傳聞之外,社交巨頭Facebook開始考慮區塊鏈在登陸服務上的變革。近日,FacebookCEO馬克·扎克伯格在接受哈佛大學法學院教授JonathanZittrain的視頻采訪時表示,其.

1900/1/1 0:00:00
政策周報 | 商務部等12部門發布指導意見;廣州計劃建成中國區塊鏈數字經濟創新區;印度政府考慮建立區塊鏈監管沙盒_區塊鏈:區塊鏈專業

本周,區塊鏈和數字貨幣相關利好政策不斷。國內方面,商務部等12部門發布指導意見,鼓勵商品市場創新區塊鏈技術等應用;廣州計劃建成中國區塊鏈數字經濟創新區;港交所公布《戰略規劃2019-2021》,

1900/1/1 0:00:00
劉昌用:商務部等12部門支持區塊鏈不必樂觀解讀_區塊鏈:LIBRA

編者按:昨天上午,商務部等12部門發布《關于推進商品交易市場發展平臺經濟的指導意見》,明確提出要利用區塊鏈等技術促進商品交易發展.

1900/1/1 0:00:00
在EOS上制造100萬個虛假活躍地址需要多少成本?_EOS:tether幣怎么買

編者按:本文來自巴比特,作者:LouisAboud-Hogben,編譯:Apatheticco,星球日報經授權發布。我們時常會看到關于EOSDapp活躍度的新聞.

1900/1/1 0:00:00
比特幣將再次崛起的5個原因_加密貨幣:比特幣價格

編者按:本文來自藍狐筆記,作者:RichardGodard,來源于medium,由“藍狐筆記”公眾號社群的“Joey”翻譯,Odaily星球日報經授權發布。前言:這是一篇加密貨幣的看漲文.

1900/1/1 0:00:00
專訪 Grin 創始人:創造更好的貨幣是明確且可實現的目標,堅守它!_RIN:加密貨幣最新消息與新聞

編者按:本文來自鏈聞ChainNews,作者:DavidZ.Morris,翻譯:Ginny,來源:breakermag,星球日報經授權發布.

1900/1/1 0:00:00
ads