区块链技术原理(12)-以太坊区块

文章目录


前言

区块是指一批交易的组合,并且包含链中上一个区块的哈希。 这将区块连接在一起(成为一个链),因为哈希是从区块数据中加密得出的。 这可以防止欺诈,因为以前的任何区块中的任何改变都会使后续所有区块无效,而且所有哈希都会改变,所有运行区块链的人都会注意到。


区块如何工作

为了保存交易历史,区块被严格排序(创建的每个新区块都包含一个其父块的引用),区块内的交易也严格排序。 除极少数情况外,在任何特定时间,网络上的所有参与者都同意区块的确切数目和历史, 并且正在努力将当前的活动交易请求分批到下一个区块。

随机选择的验证者在网络上构建完区块后,该区块将传播到整个网络;所有节点都将该区块添加至其区块链的末尾,然后挑选新的验证者来创建下一个区块。 目前,确切的区块构建过程和提交/共识过程由以太坊的"权益证明"协议规定。

区块包含什么?

以太坊区块由 ** 区块头(Header)和区块体(Body)** 两部分组成,其设计兼顾了交易验证效率和状态管理的灵活性:

  1. 区块头:共识与状态的核心标识
  • 父哈希(Parent Hash):链接前一个区块,形成链式结构,确保数据不可篡改。
  • 时间戳(Timestamp):记录区块生成时间,用于验证区块顺序和出块间隔(平均 12 秒)。
  • 状态根(State Root):通过Patricia 树(一种高效的 Merkle 树变种)对当前全网账户状态(余额、合约代码、存储变量)进行哈希运算,确保所有节点的状态一致性。
  • 交易根(Transactions Root):对区块内所有交易进行哈希,快速验证交易完整性。
  • 收据根(Receipt Root):记录每笔交易的执行结果(如 Gas 消耗、事件日志),用于追溯交易影响。
  • 难度值(Difficulty):PoW 时期用于调整挖矿难度,PoS 后被验证者随机选择算法替代,但区块头仍保留该字段以兼容历史数据。
  • 随机数(Nonce):PoW 时期用于工作量证明,PoS 后被验证者签名取代,证明区块合法性。
  • 额外数据(Extra Data):记录区块生成者信息(如验证者公钥)、升级版本号等元数据。
  1. 区块体:交易与执行结果的载体
  • 交易列表(Transactions):包含普通转账、合约调用和合约部署三类交易,每笔交易需经过签名验证和 Gas 费用计算。
  • 叔块引用(Uncle Hashes):记录本区块引用的 ** 叔块(Uncle Block)** 哈希值,叔块是因网络延迟未被及时打包的合法区块,通过 GHOST 协议获得部分奖励。
  • 收据列表(Receipts):记录每笔交易的执行结果(如成功 / 失败状态、事件日志),用于节点快速同步状态变更。

区块字段详细说明

区块时间

区块时间是指两个区块之间的时间间隔。 在以太坊中,时间划分为每 12 秒一个单位,称为"时隙"。 在每个时隙内,选择一个单独的验证者提议区块。 假设所有验证者都在线且完全正常运行,则每个时隙内都会有一个区块产生,意味着区块时间是 12 秒。 但是,偶尔验证者在被要求提议区块时不在线,导致有时候一些时隙是空的。

区块大小

以太坊的 "区块大小" 并非物理存储的字节数,而是由Gas 上限和Blob 数据容量共同定义的动态指标。Gas 是衡量计算资源消耗的单位,而 Blob(分片数据块)则是专门用于存储 Layer 2(L2)交易数据的扩展结构。

区块本身的大小是有界限的。 每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求而增加或减少,直至达到 3000 万单位燃料的区块限制(目标区块大小的 2 倍)。 区块的燃料限制可以相对于上一个区块的燃料限制上调或下调 1/1024 的比例。 因此,验证者可以通过共识来改变区块的燃料限制。 区块中所有交易消耗的总燃料量必须低于区块的燃料限制。 这很重要,因为它可以确保区块不能任意扩大。 如果区块可以任意扩大,由于空间和速度方面的要求,性能较差的全节点将逐渐无法跟上网络。 区块越大,在下一个时隙中及时处理它们需要的算力就越强大。 这是一种集中化的因素,可以通过限制区块大小来抵制。

与比特币区块对比

维度 以太坊区块 比特币区块
核心功能 不仅记录交易,还实时同步账户状态和合约执行结果,支持智能合约逻辑。 仅记录 UTXO 的转移,专注于简单转账。
状态管理 通过状态根和 Patricia 树实现全局状态共识,每次区块生成需重新计算全网状态。 无全局状态,仅维护 UTXO 集合,验证交易时需遍历历史记录。
扩展性 通过 Layer2(Rollup)和分片技术实现扩容,目标 1 万 TPS 以上。 依赖链下扩容(如闪电网络),链上 TPS 仅 7 笔左右。
分叉处理 采用 GHOST 协议,叔块可获得部分奖励,分叉率约 9.7%。 孤块无奖励,分叉率极低(约 1%)。
数据结构 使用 Patricia 树存储状态和交易,支持快速状态验证。 使用 Merkle 树存储交易,仅验证交易完整性。
相关推荐
大白猴7 小时前
大白话解析 Solidity 中的防重放参数
区块链·智能合约·solidity·时间戳·重放攻击·nonce·防重放参数
大白猴7 小时前
大白话解析“入口点合约”
区块链·智能合约·solidity·以太坊·账户抽象·入口点合约·erc4337
余_弦8 小时前
区块链中的密码学 —— 零知识证明
算法·区块链·以太坊
木鱼时刻14 小时前
肖臻《区块链技术与应用》第14-15讲 超越货币:以太坊如何用“智能合约”开启去中心化应用时代
去中心化·区块链·智能合约
电报号dapp11919 小时前
公链开发竞争白热化:如何设计下一代高性能、可扩展的区块链基础设施?
web3·去中心化·区块链·智能合约
爱看科技19 小时前
微美全息(NASDAQ:WIMI)Raft携手节点动态评估:引领联盟链高性能共识新潮流
去中心化·区块链
区块链蓝海21 小时前
YouBallin正式上线:用Web3重塑创作者经济
区块链
Dynadot_tech21 小时前
区块链 + 域名Web3时代域名投资的新风口(上)
web3·区块链·域名·dynadot·域名市场·域名投资
MicroTech20251 天前
重塑隐私边界,微算法科技(NASDAQ:MLGO)开发基于边缘计算的轻量级区块链身份隐私保护方案
区块链·数据保护