以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > TRX > Info

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

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網絡總鎖倉量已突破30億美元:金色財經報道,L2BEAT數據顯示,截至10月7日,以太坊Layer2上總鎖倉量為30.8億美元。其中鎖倉量最高的為擴容方案Arbitrum,約17.2億美元,占比55.96%。其次是dYdX,鎖倉量超7.26億美元,占比23.58%。[2021/10/7 20:11:27]

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

優盾錢包CMO孟春東:以太坊生態仍是DeFi的主要戰場:針對“波卡生態的DeFi是否能達到目前以太坊生態的DeFi的規模”這一話題,近日優盾錢包CMO孟春東對外表示,從市場主流和客戶的反饋中發現,以太坊生態仍是DeFi的主要戰場。波卡的基礎設施等并不完善,生態建設也是從零開始。

隨著以太坊2.0的加速開發,波卡短時間內可能無法達到以太坊的生態規模,未來優盾錢包將參與波卡生態建設當中。?以太坊DEFI的爆發始于流動性挖礦,波卡的明星技術是通過異構分片技術解決了跨鏈問題,其未來的DeFi爆發點也將是在跨鏈領域,例如BTC,ETH和各種token的混合借貸、交易、staking等,單鏈級別則沒有優勢。[2020/10/8]

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

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

數據:以太坊礦工昨日手續費收入1700萬美元 刷新歷史記錄:The Block Research數據顯示,以太坊礦工昨天創造了歷史最高的1700萬美元手續費收入。該數字是2017年12月和2018年1月加密貨幣價格飆升時記錄的最高金額的3.7倍。另一方面,比特幣礦商昨天產生了150萬美元的交易費用,僅為Ethereum礦商費用的9%。The Block研究總監Larry Cermak表示,以太坊交易費的飆升以及礦工的收入激增,可能導致二級市場中以太坊礦機的價格上漲。Cermak說,這種趨勢對于AMD和Nvidia等采礦芯片制造商來說有利。(The Block)[2020/9/2]

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

以太坊研發者:一旦Layer 2和ETH2全速發展 其他協議將很難讓人信服:7月28日早間,以太坊研發者Philippe Castonguay發推稱,現在正是新的各種Layer 1協議竊取以太坊用戶的好時機。一旦Layer 2和ETH2實現全速發展,(那些協議)所謂的低費用和高吞吐量的主張將很難讓人信服。而這也意味著你行動的時間很短。7月27日晚間消息,以太坊已正式上線eth2驗證器launchpad測試版。[2020/7/28]

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

數據:以太坊DEX近7日交易量近2.5億美金,環比上漲13%:Dune Analysis數據顯示,截至6月13日,以太坊去中心化交易平臺近7日的總交易量為2.47億美金,較上一周相比,上漲了13%。其中,近7日內,總交易量的前三位分別是:Uniswap(8100萬美金)、dYdX(4200萬美金)、IDEX(4000萬美金)。近24小時交易量前三位分別是:Uniswap(660萬美金)、IDEX(380萬美金)、Kyber(310萬美金)。[2020/6/14]

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

其中的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以太坊幣現在的價格是多少Gasifyeth幣大跌Power Token

TRX
數資市場:今年波動性還會上升,也藏著不少創新應用機會_POO:POOLX幣

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

1900/1/1 0:00:00
小白也能看懂的“零知識證明”原理_ARK:區塊鏈游戲幣有哪些

編者按:本文來自hackernoon.com,作者:OscarW譯者:星球日報茶涼零知識證明或零知識協議是一種基于概率的驗證方法.

1900/1/1 0:00:00
以太坊2.0 AMA:最早于2019年底推出PoS鏈_LAYER:SafeBreastInu

1月24日,以太坊2.0的研究人員和開發人員在ethereumreddit社區進行了一次長達12個小時的AMA活動,在這次活動當中,他們就社區成員提出的疑問進行了解答.

1900/1/1 0:00:00
幣安造星記_LAUNCH:CeloLaunch

借助組合拳的輔助,幣安離成為一個“造星工廠”不遠了。而幣安方面也毫不避諱人們的猜想。3月1日,趙長鵬在媒體群中現身,回應有關LaunchPad的上幣疑問.

1900/1/1 0:00:00
政策周報 | 多地發布指導意見和白皮書,積極布局區塊鏈等數字經濟;美國懷俄明州推出法案,將加密貨幣定義為無形個人財產(1.21-1.27)_數字貨幣:特比特幣逗逗什么歌

本周,區塊鏈和數字貨幣相關利好政策不斷。國內方面,易會滿被任命為證監會主席,曾提出利用區塊鏈等手段加強小微信貸風控;四川省政府辦公廳印發國有企業高質量發展指導意見,提及積極布局區塊鏈等數字經濟;.

1900/1/1 0:00:00
比特幣挖坑,電費挖阱:青海淘金的魔幻現實主義故事_比特幣:區塊鏈的未來發展前景ppt

文:陳一編輯:添零柴達木盆地東北邊緣,風刮過,依然帶著冬天的寒冷。進入2月,德令哈這座小城的氣溫依然維持在零度以下,偶爾有小雪落下。幾個月前,礦工韓杰第一次來到這里.

1900/1/1 0:00:00
ads