比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

GAS:以太坊是如何運作的(三)完結篇_CETH幣

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會退還給交易的最初發送人,由此被改變的狀態也允許持續存在。消息調用

數據:以太坊質押獨立存款地址數量突破10萬個:金色財經報道,據21Shares在Dune Analytics的上海升級儀表板數據顯示,當前以太坊質押獨立存款地址數量已突破10萬個,本文撰寫時達到100,154個,當前ETH質押總量為17,959,399枚,驗證者預估數量為561,231個。[2023/3/31 13:37:12]

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

以太坊2.0質押總量突破900萬枚ETH:12月27日消息,據最新數據顯示,以太坊2.0 Token質押總量突破900萬枚 ETH,本文撰寫時為9,169,391ETH,當前網絡驗證者數量為274,476個。[2021/12/27 8:07:37]

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

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

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

USDC Treasury在以太坊鏈上增發1000萬枚USDC:Whale Alert監測數據顯示,北京時間7月27日00:00,USDC Treasury于以太坊網絡上增發1000萬枚USDC。[2020/7/27]

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

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

動態 | 美國佛蒙特州與本地區塊鏈公司合作利用以太坊追蹤大麻生產:金色財經報道,美國佛蒙特州監管機構將與當地大麻供應鏈區塊鏈初創公司Trace合作,在以太坊主網上追蹤大麻生產。 Trace首席執行官Josh Decatur表示,佛蒙特州農業、食品和市場管理局(VAAFM)周一宣布了這項為期五年的協議,該協議為大麻貿易的各個層面提供了生產就緒型解決方案。從3月份開始,農民和加工者將開始把所有相關的作物數據輸入在以太坊上運行的追蹤系統。[2020/2/12]

其中的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%攻擊場景。

聲音 | V神:以太坊應該與Facebook進行合作:據Finance Magnates 9月15日消息,在以色列特拉維夫舉行的Ethereal峰會上,Joseph Lubin和V神討論了與Facebook的加密貨幣Libra合作的可能性。Joseph Lubin表示:“如果有可行的錢包連接,就有可能與以太坊實現互操作性。我不認為(Libra)是以太坊一個可行的競爭對手,因為它是一個分散的(金融體系)。實際上,這對我們來說可能是一種很好的入職機制。”V神稱以太坊應該與Facebook進行合作。他表示:“我認為我們應該向比我們希望的更分散的體系伸出援手。”[2019/9/16]

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

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

Tags:GAS以太坊ETH區塊鏈VEGAS價格以太坊價格最新消息CETH幣區塊鏈技術的特點

fil幣價格今日行情
數字資產:數資市場:今年波動性還會上升,也藏著不少創新應用機會_COI

在數字資產市場處于底部的震蕩階段,多個數字資產領域的資管團隊為用戶提供了合適的存儲保障,幫助不少用戶度過了艱難的時期.

1900/1/1 0:00:00
區塊鏈:區塊鏈+泛娛樂行業研究報告_TOS

分析師聲明本?以勤勉的職業態度,獨立、客觀地出具本報告。本報告所采用的數據和信息均來自市場公開信息,本?不保證該等信息的準確性或完整性.

1900/1/1 0:00:00
區塊鏈:一流投資人會關注什么樣的區塊鏈初創公司?_哪些國家禁止加密貨幣

譯者|Moni編輯|孫瑞麗區塊鏈技術具有改變世界的巨大潛力——所以,你要你有足夠的潛力,就會引起風險投資者的關注.

1900/1/1 0:00:00
BIT:交易所的交易量是真的嗎?報告:高流動性是錯覺_Gold Bits Coin

2月26日,合資企業CoVentureCrypto公布一項研究報告,通過探究交易場所和交易對象來分析加密交易所的“真正流動性”。報告得出結論稱,主要交易所普遍存在可疑“清洗交易”.

1900/1/1 0:00:00
區塊鏈:討論幣價就踢出「龜龜幣」社區,理想主義成為拉新利器?_COI

作者|遂心、盧曉明編輯|盧曉明理想主義,似乎已經成為了熊市中的拉新神器。此前,Odaily星球日報介紹過靠匿名和低調崛起的Grin,團隊充滿理想主義,非常強調公平.

1900/1/1 0:00:00
PUNKS:獲得智能合約之父認同的隱私方案Zether是到底什么?_DogStonks Pro

例如,我們可有效地證明一組Elgamal加密值在一定范圍內。此外,我們可將one-out-of-many證明與范圍證明結合起來,以允許匿名傳輸.

1900/1/1 0:00:00
ads