
- 區塊鏈教程
- 區塊鏈 - 首頁
- 區塊鏈基礎
- 區塊鏈 - 簡介
- 區塊鏈的歷史
- 區塊鏈 - 技術
- 區塊鏈與密碼學
- 區塊鏈超越加密貨幣
- 區塊鏈 - 高階概念
- 區塊鏈 - 去中心化
- 區塊鏈 - 去中心化應用(DApp)
- 區塊鏈 - 去中心化金融(DeFi)
- 區塊鏈 - 未來展望
- 區塊鏈中的智慧合約
- 區塊鏈 - 裡卡迪安合約
- 區塊鏈 - 預言機
- 區塊鏈 - 去中心化自治組織(DAO)
- 比特幣
- 比特幣 - 無形的黃金
- 比特幣的工作原理?
- 比特幣 - 網路
- 比特幣 - 錢包
- 比特幣 - 創新
- 以太坊
- 以太坊替代加密貨幣
- 以太坊生態系統
- 以太坊虛擬機器
- 以太坊高階
- 以太坊錢包
- 以太坊礦工節點
- 其他
- 區塊鏈 - 雙重支付
- 公鑰密碼學
- 區塊鏈 - 雜湊
- 比特幣 - 挖礦
- 區塊鏈 - 區塊鏈
- 區塊鏈 - 工作量證明
- 區塊鏈 - 網路與挖礦
- 區塊鏈 - 礦工激勵
- 區塊鏈 - 梅克爾樹
- 區塊鏈 - 支付驗證
- 區塊鏈 - 解決衝突
- 區塊鏈 - 隱私
- 比特幣 - 緩解攻擊
- 區塊鏈 - 結論
- 區塊鏈資源
- 區塊鏈 - 快速指南
- 區塊鏈 - 資源
- 區塊鏈 - 討論
區塊鏈 - 以太坊高階
以太坊區塊鏈已成為現代社會中非常流行的區塊鏈。在本章中,我們將討論一些以太坊高階主題,例如創世區塊、區塊難度、Gas 等等。接下來,後續章節將討論以太坊區塊鏈的一些重要概念,例如以太坊錢包和以太坊礦工的作用。
以太坊中的區塊和區塊鏈
區塊是區塊鏈的基本結構元件。在以太坊中,每個區塊都由幾個關鍵元素組成,包括:
1. 交易列表
區塊包含所有已發生的交易的完整列表,以及與其關聯的任何叔區塊的頭部列表。
2. Ommers 或叔區塊的頭部
叔區塊是指一個塊是父塊的後代,但本身沒有任何子塊。Ommers 或叔區塊被認為是有效的但陳舊的區塊,不屬於主鏈,儘管它們增強了區塊鏈的整體安全性。
3. 區塊頭部
區塊頭部表示以太坊區塊的基本和複雜元素。每個頭部包含多個元件,如下所述:
- **父雜湊** - 這指的是前一個區塊頭部的 Keccak 256 位雜湊。
- **Ommers 雜湊** - 這是表示包含在當前區塊中的 Ommers(或叔區塊)列表的 Keccak 256 位雜湊。
- **受益人** - 此欄位儲存指定在成功挖礦區塊後接收挖礦獎勵的實體的 160 位地址。
- **狀態根** - 狀態根欄位包含狀態默克爾樹中根節點的 Keccak 256 位雜湊。
- **交易根** - 這是交易默克爾樹中根節點的 Keccak 256 位雜湊。
- **回執根** - 回執根是交易回執默克爾樹中根節點的 Keccak 256 位雜湊,其中包含區塊中所有交易的回執。
- **日誌布隆過濾器** - 日誌布隆過濾器是一個布隆過濾器,它聚合了區塊交易列表中每個交易回執的日誌條目中的記錄器地址和日誌主題。
- **難度** - 這表示與當前區塊關聯的難度級別。
- **編號** - 這表示所有先前區塊的累積計數,創世區塊被指定為區塊零。
- **Gas 限額** - 此欄位表示區塊允許的最大 Gas 消耗量。
- **Gas 使用量** - 此欄位反映了區塊中包含的交易消耗的總 Gas 量。
- **時間戳** - 時間戳表示初始化區塊時的 Unix 時間戳。
- **額外資料** - 額外資料欄位可用於儲存與區塊相關的任何任意資訊。
- **Mixhash** - Mixhash 欄位包含一個 256 位雜湊,用於證明已付出足夠的計算工作(工作量證明,或 PoW)來建立區塊。
- **Nonce** - Nonce 是一個 64 位雜湊(數值),它與 Mixhash 欄位一起用於驗證是否已應用足夠的計算工作(PoW)。

創世區塊
創世區塊表示區塊鏈網路中的第一個區塊。它在內容和建立方法方面與標準區塊略有不同。此區塊包含 15 個特定專案,例如時間戳、Nonce、雜湊等等。
區塊驗證
如果以太坊區塊滿足以下條件,則被視為有效:
- 它與叔塊和交易保持一致,確保所有 Ommers 都被識別為叔塊,並且這些叔塊的**工作量證明 (PoW)** 是合法的。
- 前一個區塊必須存在且有效。
- 區塊的時間戳必須有效,這意味著它應該晚於父區塊的時間戳,並且不超過未來 15 分鐘。
- 如果任何這些條件未滿足,則該區塊將被拒絕。
區塊終結
**區塊終結** 是礦工進行的一個關鍵過程,用於驗證區塊的內容並分配獎勵。此過程包含四個不同的步驟,如下所述:
Ommers 驗證
在挖礦中,識別 Ommers 至關重要。這涉及驗證陳舊區塊的頭部以確保其合法性,並確認叔塊和當前區塊之間的關係是否符合最大深度六個區塊。
交易驗證
在挖礦中,識別交易至關重要。此步驟需要驗證區塊中使用的總 Gas 是否對應於最後一次交易後的最終 Gas 消耗,從本質上反映了區塊內交易消耗的累積 Gas。
獎勵應用
此步驟涉及獎勵的分配,包括使用相應的獎勵餘額更新受益人的賬戶。在以太坊中,礦工也會收到陳舊區塊的補償,相當於區塊獎勵的 1/32。
狀態和 Nonce 驗證
最後一步需要驗證狀態和區塊 Nonce。在挖礦的上下文中,需要計算有效的狀態和區塊 Nonce。
Gas
在以太坊區塊鏈上執行的每個操作都需要支付 Gas。鑑於**以太坊虛擬機器 (EVM)** 的**圖靈完備**特性,此機制對於防止無限迴圈導致整個區塊鏈凍結至關重要。交易費用以**以太坊**表示,從發起交易的賬戶的餘額中扣除。
礦工需要費用才能將其交易包含在他們的挖礦工作中。如果此費用設定得太低,則可能不會處理該交易;相反,更高的費用會增加礦工選擇將交易包含在區塊中的可能性。但是,如果包含了一個具有足夠費用的交易,但涉及過於複雜的運算,如果分配的 Gas 不足,則可能會觸發 Gas 不足異常。在這種情況下,交易將失敗,但仍將記錄在區塊中,發起者將不會收到退款。
交易成本可以使用以下公式計算:
Total cost = gasUsed * gasPrice
費用計劃
在三種特定情況下需要支付 Gas 才能執行操作:
- 計算操作時
- 在建立合約或進行訊息呼叫時
- 當記憶體使用量增加時