首页
/
每日頭條
/
生活
/
eth怎麼漲這麼多
eth怎麼漲這麼多
更新时间:2024-12-21 17:51:48

eth怎麼漲這麼多(你不能不知道的)1

本文将從什麼是區塊、什麼是交易、智能合約是怎麼一回事、ERC20 轉賬的本質以及 ETH 與 ERC20 轉賬的區别幾個角度系統地介紹 ETH。

什麼是區塊

eth怎麼漲這麼多(你不能不知道的)2

首先來讨論下什麼是區塊。相信大家對于區塊還是有一定了解的,區塊鍊嘛,就是一個一個區塊像一條鍊子一樣連接起來。

那麼 ETH 的區塊是由什麼組成的呢?

eth怎麼漲這麼多(你不能不知道的)3

這邊列舉了我們作為一個 ETH 的使用者,應該知道的一些 ETH 區塊的組成部分。像是這個區塊的所在高度、唯一的 Hash 值、父區塊的 Hash 值、區塊出塊那一瞬間的時間戳、挖出這個區塊的礦工地址、這個區塊的區塊大小、一共消耗了多少的 Gas 等等,這些概念都很簡單,看他們的名字就能知道是什麼意思,這裡就不多贅述了。

接下來将着重介紹以下挖礦收益與叔塊地址的概念。

1.1 關于挖礦收益

首先是挖礦收益,各個礦工們不停地耗費大量電費去計算下一個區塊就是為了得到每個區塊出塊時的獎勵,這些都是貨真價實的 ETH,礦工們再通過出售挖出來的 ETH 獲利。

eth怎麼漲這麼多(你不能不知道的)4

這裡每個區塊出塊時的獎勵主要由三部分組成,分别是出塊獎勵、手續費收益以及叔塊獎勵。

1.2 出塊獎勵

出塊獎勵就是每産生一個新的區塊時,挖出這個區塊的礦工所能獲得獎勵(爆塊獎勵)。這個收益具體多少是寫在共識裡的,修改這個固定收益需要硬分叉升級。

eth怎麼漲這麼多(你不能不知道的)5

截止到目前為止,這個固定收益已經變化了三次,首先是代号“邊疆”的初始 ETH 主網版本,從 0 高度開始,每塊的出塊獎勵為 5ETH。

到了第四百三十七萬塊的高度時,随着代号“拜占庭”的硬分叉升級,每塊的出塊獎勵從 5ETH 降低到了 3ETH。

最近一次變化是第七百二十八萬塊高度的“君士坦丁堡”硬分叉升級,每塊的出塊獎勵從 3ETH 降低到了 2ETH。截止到目前為止,每塊的出塊獎勵一直都是 2ETH。

eth怎麼漲這麼多(你不能不知道的)6

其次,還有手續費收益。這一部分的定義就簡單多了,就是這個區塊内所有交易手續費的總和。

1.3 叔塊獎勵

最後一部分就是叔塊獎勵,這裡需要了解的就是,每個區塊最多可以包含兩個叔塊,當然也可以一個都不包含。

eth怎麼漲這麼多(你不能不知道的)7

并且每包含一個叔塊,就可以獲得 1/32 的出塊獎勵,以現在每個區塊的出塊獎勵為 2ETH 為例,那麼每包含一個叔塊,就可以得到 2 的 1/32,也就是 0.0625 個 ETH。如果包含兩個叔塊的話,就是 0.125 個 ETH。

1.4 叔塊地址

介紹完挖礦收益,我們來了解一下剛才提到的叔塊概念。這裡放了一張圖,能夠比較清晰的幫助大家理解叔塊的概念。

eth怎麼漲這麼多(你不能不知道的)8

ETH 目前是 PoW 的挖礦模式,就有可能發生在極短時間内兩個礦工同時得到新區塊的情況,這時其中的一個新區塊将因為慢了一點點,或者節點連接不好沒有及時廣播出去而作廢。

在 BTC 網絡中,這個作廢的新區塊被稱為孤塊,BTC 中的孤塊是沒有收益的。而 ETH 的出塊速度要比 BTC 高很多,也就是發生孤塊的概率要高很多,為了避免礦工過多的發生辛苦挖出的區塊變成孤塊而沒有收益的情況發生,ETH 引入了叔塊的概念。

如圖所示,在 1 高度的區塊之後産生了兩個 2 高度的區塊,其中綠色的區塊成為了真正的 2 高度區塊,而黃色的區塊将面臨被抛棄的危險。這時,後面的 3 高度區塊就将這個黃色的區塊包含為自己的叔塊。叔塊這個名字也非常的形象,叔叔就是自己父親的兄弟。3 高度區塊将因為包含了一個叔塊而獲得額外的叔塊獎勵。

eth怎麼漲這麼多(你不能不知道的)9

同時這個叔塊的礦工地址也将收到獎勵,具體的獎勵數額與出塊高度和叔塊高度有關,公式是叔塊高度加 8(這個字符是 8 不是日),減去出塊高度,再乘上每塊的出塊獎勵,最後除以 8。以剛才那個圖展示的情況為例,叔塊高度為 2,出塊高度為 3,也就是 2 加 8 減 3 再乘以 2,最後除以 8,得到 1.75 個 ETH。通過這個公式可以看出,叔塊最多隻能是上述 8 個高度以内的區塊。

什麼是交易

eth怎麼漲這麼多(你不能不知道的)10

了解完區塊,接着來認識一下交易。交易就是區塊鍊這個去中心化賬本中具體的一條條記錄。

它主要由這筆交易的 Hash、所在的區塊高度、時間戳、From 和 To 地址以及這筆交易涉及的 ETH 金額組成,其次還有 Input、Nonce 以及交易手續費等屬性。

eth怎麼漲這麼多(你不能不知道的)11

前三個 Hash、高度與時間戳比較好理解,看名字就能知道是什麼意思。因此接下來着重介紹一下後面的幾個概念。

2.1 From、To 地址以及 ETH 金額

作為一個去中心化的賬本,轉賬是最基本的功能,我們可以把每一筆交易當成是一筆 ETH 的轉賬,而一筆轉賬就是由發送方、接收方以及轉賬金額組成,這裡對應的就是 From、To 地址以及 ETH 金額。

From 地址就是主動發出這筆交易的地址,To 地址可以是一個普通的用戶地址,也可以是一個合約地址,如果是普通用戶地址時這筆交易就是一個簡單的 ETH 轉賬,如果是一個合約地址,那就是相對複雜一點的合約調用,最後的 ETH 金額,就是這筆 ETH 轉賬涉及到的轉賬金額。

eth怎麼漲這麼多(你不能不知道的)12

作為一個支持智能合約的公鍊,ETH 可以在發送交易時額外填入 Input 數據,這裡的 Input 數據就是調用合約時的調用參數。當然如果這是一筆普通的 ETH 轉賬交易,那麼 Input 空着就好了。理論上這裡的 Input 的内容可以随便填,隻要前面的一部分數據能正确的調用合約即可。

eth怎麼漲這麼多(你不能不知道的)13

在開發項目時有一個邀請返傭的功能,為了最大程度的降低用戶的感知,通過在發送 Swap、下單等交易時,在正确的 Input 内容最後,添加用戶的邀請碼的方式來實現了這個功能。

下面來介紹Nonce,所謂 Nonce 就是 From 地址的交易順序,本質上就是這個 From 地址發送的已打包的交易總數。同一個 From 地址的交易必須按照 Nonce 的順序打包。

eth怎麼漲這麼多(你不能不知道的)14

這裡就産生了一個問題,如果前面的 Nonce 沒有被打包的的話,後面的 Nonce 将永遠不會被打包。因為這個用戶前面發送的交易的手續費給的太低了,導緻這筆交易遲遲沒有被打包,而用戶還不斷的發送新的交易,然後用戶就會感到疑惑,為什麼我發的交易手續費給這麼高還是打包不了。原因就在這裡,用戶前面的交易手續費太低了,阻塞了後面所有的交易。這時應該将前面阻塞的交易加速或者取消掉,後面被阻塞的交易就會依次被打包。

這裡提到的交易加速和取消的功能也是通過 Nonce 來實現的,在一筆交易沒有被打包前,其中的 Nonce 可以重複發送,隻要新發送的交易的 Gas Price 比原來的高就可以将原來的交易覆蓋掉,通常新交易的 Gas Price 要比原來的高 10%以上,具體要求高多少是由節點配置決定的。

2.2 如何計算交易手續費

在闡述如何計算交易手續費之前,先來介紹幾個基本概念。

eth怎麼漲這麼多(你不能不知道的)15

首先是 Gas,Gas是 EVM 在執行指令時所需要消耗的資源。Gas Limit 和 Gas Used 則分别表示用戶在發送這筆交易時,預計需要消耗的 Gas 數量,以及這筆交易在執行時實際消耗的 Gas 數量,當一筆交易還沒執行完就把 Gas Limit 消耗完時,這筆交易将會失敗。最後是 Gas Price,表示這個用戶願意以多少 ETH 的價格,來購買 1 個單位的 Gas。

了解完這些基本概念,就能得出每筆交易的手續費是怎麼來的了,計算方式也很簡單,就是 Gas Used 乘以 Gas Price。

eth怎麼漲這麼多(你不能不知道的)16

舉個例子,一筆 ETH 轉賬需要消耗 21000Gas,而用戶願意出 120 的價格,這裡 120 的單位是 Gwei,1 個 Gwei 是 10 的-9 次方個 ETH,那麼完成這筆 ETH 轉賬交易用戶就需要支付 21000 乘以 120 再除以 10 的- 9 次方,也就是 0.00252 個 ETH。

需要特别說明的是,越複雜的合約調用所需要消耗的 Gas 就越高,而礦工們将優先打包手續費更高的交易。

智能合約是什麼回事

eth怎麼漲這麼多(你不能不知道的)17

3.1 以太坊虛拟機

介紹智能合約之前,需要先了解一下 EVM,即以太坊虛拟機,我們知道 ETH 是一條區塊鍊,這是一個去中心化的項目,那麼可以把 EVM 理解成是運行在 ETH 這個去中心化項目中的一台超級計算機,負責向用戶收取 Gas,然後執行區塊上存儲的代碼。

eth怎麼漲這麼多(你不能不知道的)18

這裡提到的區塊上存儲的代碼,就是智能合約。

ETH可以實現各種各樣的邏輯。例如CoinEx去年投資的OneSwap就是基于ETH實現的一個去中心化交易所。在計算機的世界,想要實現各種各樣的邏輯,就需要編寫出各種各樣的代碼,而這裡的代碼,就是智能合約。

3.2 智能合約

智能合約是存儲在區塊上的,而智能合約的地址就相當于是這段存儲在區塊上的代碼的調用入口,通過合約地址,就能方便的通過交易調用想調用的智能合約來實現預期的功能。

eth怎麼漲這麼多(你不能不知道的)19

這裡拿手機做個類比,BTC網絡就相當于是一台功能機,從最初的設計上來看隻能實現轉賬這樣的特定功能,而ETH網絡就相當于是一台智能手機,可以通過不同的智能合約實現各種各樣的功能,而這裡的智能合約就相當于是ETH這台智能手機上的一個個APP。

ERC20轉賬的本質

eth怎麼漲這麼多(你不能不知道的)20

我們知道,一個 ERC20 Token 其實就是一個智能合約,而 ERC20 就是指這一類智能合約的通用規範。那麼我們現在通過智能合約的角度來認識一下 ERC20 轉賬的本質是什麼。

剛才說了,智能合約本質上就是存儲在區塊上的代碼,那麼我們先來看下 ERC20 合約的代碼,這裡隻截取了其中轉賬部分的邏輯,代碼非常簡單,相信各位非技術朋友也能理解。

eth怎麼漲這麼多(你不能不知道的)21

首先我們看到第二行,這裡定義了一個 Event,中文名稱為事件,它的作用就是用來告知用戶這段代碼發生了什麼事情。這裡定義的是一個 Transfer 事件,顧名思義,它表示了一個轉賬行為的發生。這個 Transfer 事件有三個參數,分别用來告知用戶這個轉賬行為的發送方地址、接收方地址以及轉賬的金額。

eth怎麼漲這麼多(你不能不知道的)22

再往下就是 ERC20 合約轉賬這個功能的完整實現了。這個轉賬函數隻有接收方地址和轉賬金額兩個參數而沒有發送方地址,是因為發送方地址不需要特别聲明,這個轉賬函數的調用者就是發送方地址,也就是代碼中的 msg.sender。

首先這個函數會判斷一下這個發送方的餘額夠不夠,并且要求轉賬金額不能是一個負數,必須是一個大于 0 的數,否則就返回 False 表示這筆轉賬失敗了。

判斷條件通過後就正式開始轉賬邏輯了,邏輯非常簡單,首先把發送方的餘額減去轉賬金額,然後在給接收方的餘額加上轉賬金額就完成了。ERC20 轉賬本質上就這麼簡單,發送方的餘額減去轉賬金額、接收方的餘額加上轉賬金額。然後再将這個轉賬事件發送出來,最後返回 True 表示轉賬成功就可以了。

我們來看一下 ERC20 合約的轉賬功能怎麼調用的,還記得剛才介紹交易的時候有提到,如果這筆交易是一筆合約調用的話,那麼交易的 To 地址就是被調用的合約地址。還有交易裡面有一個 Input 屬性,是調用合約時的調用參數。

eth怎麼漲這麼多(你不能不知道的)23

上面的這個圖就是一個 ERC20 轉賬功能的調用參數,它可以分成三個部分,我這裡用紅色線段隔出來了。最前面的一小段字符表示轉賬這個函數的摘要,一個智能合約可能有多個函數,而每個函數的摘要都是不同的,因此通過這個摘要就能指定合約中的不同函數。後面這一長串表示一個地址,就是轉賬這個函數的第一個參數——接收方地址。最後的這個長串表示一個數字,就是轉賬的金額。

而下面的這個圖是浏覽器根據上面的 Input 原始數據解析出來的,幫助用戶清楚的看到個這筆交易調用了什麼函數,每個參數又是什麼。

eth怎麼漲這麼多(你不能不知道的)24

這筆 ERC20 轉賬的交易被成功打包後,就可以在交易詳情中查詢到這樣一個 Transfer 事件,通過這個 Transfer 事件,我們可以看到尾号 619 這個地址給尾号 9b0 這個地址轉了這麼多币,這裡顯示的數字還需要除以 Token 的精度才是真實的轉賬金額。這個 Token 是 ONES,精度是 18 位,因此這個數字表示 7200 個 ONES

最後我們就能通過這個 Transfer 事件解析出最終的 ERC20 轉賬記錄,即一個尾号 619 的地址,給一個尾号 9b0 的地址轉了 7200 個 ONES。

以上就是從智能合約的角度分析的一筆 ERC20 轉賬的本質。

ETH與ERC20轉賬的區别

我們最後來總結一下 ETH 轉賬和 ERC20 轉賬的區别。

eth怎麼漲這麼多(你不能不知道的)25

我們前面提到了,每筆交易天然就是一筆 ETH 轉賬,即使是一個合約調用,也能理解成是一筆 ETH 轉賬,隻不過接收方地址不是普通的用戶地址,而是一個智能合約地址,并且轉賬金額有可能是 0。

eth怎麼漲這麼多(你不能不知道的)26

除此之外,還有一種被稱為内部交易的情況也可能是一筆 ETH 轉賬,例如一個智能合約在執行的時候發生了一個 ETH 轉賬行為,就是通過一個内部交易體現的。

eth怎麼漲這麼多(你不能不知道的)27

而 ERC20 轉賬就簡單多了,它本質上就是一個 ERC20 合約的一個名為 Transfer 的事件。

ETH,你學會了麼?

關于CoinEx Smart Chain

CoinEx智能鍊(CSC)是CoinEx公鍊團隊為去中心化金融打造的去中心化、高效率的公鍊,具有以下特點:

  • 完美兼容以太坊生态:CSC基于以太坊虛拟機(EVM)構建,開發者可以使用成熟的開發工具,輕松的移植Dapp到CSC上,用戶也可輕松接入CSC網絡。
  • 極高效率和低交易費:CSC使用POS共識協議,實現秒級出塊時間,支持極高的TPS,同時保持低廉的交易費。
  • 出塊節點無需許可:CSC最多支持101個出塊節點,根據CET質押數量排序确定,無需中心化機構審核,網絡更加去中心化。
,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
客廳玄關裝飾畫之色彩篇 讓家美出與衆不同
客廳玄關裝飾畫之色彩篇 讓家美出與衆不同
玄關,在整個家裡的還是比較重要的一個空間。一進家門,這就是必經之路,這裡如果能裝飾的舒服,那麼就會給人們的心情帶來很好的調劑。因此,客廳玄關裝飾畫色調往往是人們視線當中最先接觸的點,也是給人總體色彩印象,同時,通過客廳玄關裝飾畫,我們也能夠對房間的主色調以及整體的氛圍有一個大緻的感受。關于客廳玄關裝...
2024-12-21
此妙招能幫你解決廁所堵塞!
此妙招能幫你解決廁所堵塞!
此妙招能幫你解決廁所堵塞!此妙招能幫你解決廁所堵塞!日常家中馬桶堵一般有兩種情況,第一種是,紙屑類易分解物體堵塞;第二種,就是牙簽、骨頭等不宜沖散的物體堵塞。我們先來看看遇見這兩種問題,怎麼解決:第一種,紙屑類易分解物體堵塞。遇到這種情況,大家完全不用着急。這時我們可以選擇向馬桶中倒熱水,最好是滾燙...
2024-12-21
新車有異味?教你去除車内異味
新車有異味?教你去除車内異味
新車有異味?教你去除車内異味教你去除車内異味1、蜂窩煤:第一個隆重介紹給大家的車内除味偏方不是木炭吸附,而是用蜂窩煤,但必須是燒過的。不過,在周末不用車時可以采用以上辦法,如果随時用車,還是選擇活性炭包來吸附異味吧,畢竟蜂窩煤難放置且容易将車内弄髒。2、醋:徐先生最近買了新車,終于有了自己的愛車那叫...
2024-12-21
卧室怎麼收拾好?告别卧室淩亂5絕招
卧室怎麼收拾好?告别卧室淩亂5絕招
在淩亂的卧室能夠找到你想要的東西不是一件容易的事情,以下5絕招将助你告别卧室淩亂,好了快來試試吧。【1】垂直中的水平利用你有沒有為放置自己各種各樣的皮帶和好久不用的小飾品苦惱過?那就試試這種衣櫥裡的“魔術抽屜”吧。又大又淺的抽屜内被分隔出許多小空間,正好可以容納卷起來的皮帶和...
2024-12-21
手表中不小心進入積水,怎樣去掉手表内的積水
手表中不小心進入積水,怎樣去掉手表内的積水
早上洗漱時候,不小心将手表浸到水了,或者天熱去遊泳館遊泳,不小心把表掉入水裡了,不知道怎樣才能去除表内的積水?可以使用以下方法:不小心發生表内進水,可用一種叫矽膠的顆粒狀物質與以及積水的手表一起放進一個密閉的容器内,數小時侯取出手表,積水即全消失。此法簡單經濟,對手表的精确度和壽命均無任何損害,已經...
2024-12-21
Copyright 2023-2024 - www.tftnews.com All Rights Reserved