本文將從什么是區(qū)塊、什么是交易、智能合約是怎么一回事、ERC20 轉(zhuǎn)賬的本質(zhì)以及 ETH 與 ERC20 轉(zhuǎn)賬的區(qū)別幾個(gè)角度系統(tǒng)地介紹 ETH。
什么是區(qū)塊
首先來討論下什么是區(qū)塊。相信大家對(duì)于區(qū)塊還是有一定了解的,區(qū)塊鏈嘛,就是一個(gè)一個(gè)區(qū)塊像一條鏈子一樣連接起來。
那么 ETH 的區(qū)塊是由什么組成的呢?
這邊列舉了我們作為一個(gè) ETH 的使用者,應(yīng)該知道的一些 ETH 區(qū)塊的組成部分。像是 這個(gè)區(qū)塊的所在高度、唯一的 Hash 值、父區(qū)塊的 Hash 值、區(qū)塊出塊那一瞬間的時(shí)間戳、挖出這個(gè)區(qū)塊的礦工地址、這個(gè)區(qū)塊的區(qū)塊大小、一共消耗了多少的 Gas
等等,這些概念都很簡(jiǎn)單,看他們的名字就能知道是什么意思,這里就不多贅述了。
接下來將著重介紹以下挖礦收益與叔塊地址的概念。
1.1 關(guān)于挖礦收益
首先是挖礦收益,各個(gè)礦工們不停地耗費(fèi)大量電費(fèi)去計(jì)算下一個(gè)區(qū)塊就是為了得到每個(gè)區(qū)塊出塊時(shí)的獎(jiǎng)勵(lì),這些都是貨真價(jià)實(shí)的 ETH,礦工們?cè)偻ㄟ^出售挖出來的 ETH 獲利。
這里每個(gè)區(qū)塊出塊時(shí)的獎(jiǎng)勵(lì)主要由三部分組成,分別是 出塊獎(jiǎng)勵(lì)、手續(xù)費(fèi)收益以及叔塊獎(jiǎng)勵(lì)。
1.2 出塊獎(jiǎng)勵(lì)
出塊獎(jiǎng)勵(lì)就是每產(chǎn)生一個(gè)新的區(qū)塊時(shí),挖出這個(gè)區(qū)塊的礦工所能獲得獎(jiǎng)勵(lì)(爆塊獎(jiǎng)勵(lì))。這個(gè)收益具體多少是寫在共識(shí)里的,修改這個(gè)固定收益需要硬分叉升級(jí)。
截止到目前為止,這個(gè)固定收益已經(jīng)變化了三次,首先是代號(hào)“邊疆”的初始 ETH 主網(wǎng)版本,從 0 高度開始,每塊的出塊獎(jiǎng)勵(lì)為 5ETH。
到了第四百三十七萬(wàn)塊的高度時(shí),隨著代號(hào)“拜占庭”的硬分叉升級(jí),每塊的出塊獎(jiǎng)勵(lì)從 5ETH 降低到了 3ETH。
最近一次變化是第七百二十八萬(wàn)塊高度的“君士坦丁堡”硬分叉升級(jí),每塊的出塊獎(jiǎng)勵(lì)從 3ETH 降低到了 2ETH。截止到目前為止,每塊的出塊獎(jiǎng)勵(lì)一直都是 2ETH。
其次,還有手續(xù)費(fèi)收益。這一部分的定義就簡(jiǎn)單多了,就是這個(gè)區(qū)塊內(nèi)所有交易手續(xù)費(fèi)的總和。
1.3 叔塊獎(jiǎng)勵(lì)
最后一部分就是叔塊獎(jiǎng)勵(lì),這里需要了解的就是,每個(gè)區(qū)塊最多可以包含兩個(gè)叔塊,當(dāng)然也可以一個(gè)都不包含。
并且每包含一個(gè)叔塊,就可以獲得 1/32 的出塊獎(jiǎng)勵(lì),以現(xiàn)在每個(gè)區(qū)塊的出塊獎(jiǎng)勵(lì)為 2ETH 為例,那么每包含一個(gè)叔塊,就可以得到 2 的 1/32,也就是 0.0625 個(gè) ETH。如果包含兩個(gè)叔塊的話,就是 0.125 個(gè) ETH。
1.4 叔塊地址
介紹完挖礦收益,我們來了解一下剛才提到的叔塊概念。這里放了一張圖,能夠比較清晰的幫助大家理解叔塊的概念。
ETH 目前是 PoW 的挖礦模式,就有可能發(fā)生在極短時(shí)間內(nèi)兩個(gè)礦工同時(shí)得到新區(qū)塊的情況,這時(shí)其中的一個(gè)新區(qū)塊將因?yàn)槁艘稽c(diǎn)點(diǎn),或者節(jié)點(diǎn)連接不好沒有及時(shí)廣播出去而作廢。
在 BTC 網(wǎng)絡(luò)中,這個(gè)作廢的新區(qū)塊被稱為孤塊,BTC 中的孤塊是沒有收益的。而 ETH 的出塊速度要比 BTC 高很多,也就是發(fā)生孤塊的概率要高很多,為了避免礦工過多的發(fā)生辛苦挖出的區(qū)塊變成孤塊而沒有收益的情況發(fā)生,ETH 引入了叔塊的概念。
如圖所示,在 1 高度的區(qū)塊之后產(chǎn)生了兩個(gè) 2 高度的區(qū)塊,其中綠色的區(qū)塊成為了真正的 2 高度區(qū)塊,而黃色的區(qū)塊將面臨被拋棄的危險(xiǎn)。這時(shí),后面的 3 高度區(qū)塊就將這個(gè)黃色的區(qū)塊包含為自己的叔塊。叔塊這個(gè)名字也非常的形象,叔叔就是自己父親的兄弟。3 高度區(qū)塊將因?yàn)榘艘粋€(gè)叔塊而獲得額外的叔塊獎(jiǎng)勵(lì)。
同時(shí)這個(gè)叔塊的礦工地址也將收到獎(jiǎng)勵(lì),具體的獎(jiǎng)勵(lì)數(shù)額與出塊高度和叔塊高度有關(guān),公式是叔塊高度加 8(這個(gè)字符是 8 不是日),減去出塊高度,再乘上每塊的出塊獎(jiǎng)勵(lì),最后除以 8。以剛才那個(gè)圖展示的情況為例,叔塊高度為 2,出塊高度為 3,也就是 2 加 8 減 3 再乘以 2,最后除以 8,得到 1.75 個(gè) ETH。通過這個(gè)公式可以看出,叔塊最多只能是上述 8 個(gè)高度以內(nèi)的區(qū)塊。
什么是交易
了解完區(qū)塊,接著來認(rèn)識(shí)一下交易。交易就是區(qū)塊鏈這個(gè)去中心化賬本中具體的一條條記錄。
它主要由這筆交易的 Hash、所在的區(qū)塊高度、時(shí)間戳、From 和 To 地址以及這筆交易涉及的 ETH 金額
組成,其次還有 Input、Nonce 以及交易手續(xù)費(fèi)
等屬性。
前三個(gè) Hash、高度與時(shí)間戳比較好理解,看名字就能知道是什么意思。因此接下來著重介紹一下后面的幾個(gè)概念。
2.1 From、To 地址以及 ETH 金額
作為一個(gè)去中心化的賬本,轉(zhuǎn)賬是最基本的功能,我們可以把每一筆交易當(dāng)成是一筆 ETH 的轉(zhuǎn)賬,而一筆轉(zhuǎn)賬就是由發(fā)送方、接收方以及轉(zhuǎn)賬金額組成,這里對(duì)應(yīng)的就