帮助更新此页面

🌏

本页面有新版本,但现在只有英文版。请帮助我们翻译最新版本。

没有错误!🐛

此页面未翻译,因此特意以英文显示。

我们期待您的共同协作来完善本页内容。欢迎您在此添加任何您认为对其他人有帮助的内容。

区块

上次编辑: , Invalid DateTime
编辑页面

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

前置要求

区块是一个对初学者非常友好的主题。 为了帮助您更好地理解这个页面,我们建议您先阅读帐户交易和我们的以太坊简介

为什么要有区块?

为了确保以太坊网络上的所有参与者保持同步状态并就交易的确切历史达成共识,我们将交易分为多个区块。 这意味着一次提交、商定和同步数十个(或数百个)交易。

区块中的交易导致状态变化的图表 图表来自 Ethereum EVM illustrated

通过间隔提交,即使交易请求每秒发生数十次,我们仍能给所有网络参与者足够的时间达成共识。 以太坊上的区块大约每十五秒提交一次。

区块如何工作

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

一旦某个区块被网络上的某个矿工放在一起(挖矿),它就会传播到网络的其余部分; 所有节点都将此块添加到其区块链的末尾,并且继续挖掘。 目前,以太坊的“工作量证明”协议指定了确切的块组装(挖矿)过程和提交/共识过程。

视觉演示

工作量证明协议(POW)

工作量证明是指:

  • 挖矿节点必须花费可变但大量的能源、时间和算力,才能为试图提交给网络的区块生成“合法性证明”。 这可以帮助保护网络免受垃圾邮件/拒绝服务攻击,因为证书的生成成本很高。
  • 其他矿工如果听说新区块拥有有效的合法性证书,则必须接受新区块作为区块链上的下一个规范区块。
  • 特定矿工生成此证书所需的确切时间是一个随机变量,彼此差异很大。 这确保了两个矿工不太可能同时对提议的下一个区块产生验证;当矿工产生并广播经认证的新区块时,他们几乎可以肯定该区块将被网络接受为区块链上规范的下一个区块,没有冲突(尽管在几乎同时产生两个认证块链的情况下,也有处理冲突的协议)。

关于挖矿的更多信息

区块包含什么?

  • timestamp – 开采区块的时间。
  • blockNumber – 区块链中区块的长度。
  • baseFeePerGas - 要将交易纳入区块,每个 gas 所需的最低费用。
  • difficulty – 开采所需的努力。
  • mixHash – 该区块的唯一标识符。
  • parentHash – 前一区块的唯一标识符(这是区块形成链的方式)。
  • transactions –包含在区块中的交易。
  • stateRoot –系统的整个状态:帐户余额、合约存储、合约代码和帐户随机数。
  • nonce – 哈希,当与 mixHash 结合使用时,可以证明该块已经通过了工作量证明

区块时间

区块时间指的是开采一个新区块所需的时间。 在以太坊中,平均区块时间在 12 到 14 秒之间,并在每个区块后进行评估。 预期区块时间在协议层面被设定为一个常数,当矿工增加计算能力时,用于保护网络的安全。 平均区块时间与预期区块时间进行比较,如果平均区块时间较高,则区块头的难度会降低。 如果平均区块时间较小,则会增加区块头中的难度。

区块大小

最后一个重要的一点是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万 gas,但区块的大小将根据网络需求而增加或减少。区块限制最多不超过 3000 万(目标区块大小的 2 倍)。 区块中所有交易所消耗的 gas 总量必须低于区块的 gas 限制。 这很重要,因为它可以确保区块不会任意扩大。 如果区块可以任意大,由于空间和速度方面的要求,性能较差的完整节点将逐渐无法跟上网络。

延伸阅读

还有哪些社区资源对您有所帮助? 请编辑本页面并添加!

该页面对您的问题是否有帮助?