以太坊区块
区块是指一批交易的组合,每个区块都包含链中上一个区块的哈希,这将区块连接在一起(成为一个链),因为哈希是从区块数据中加密得出的,这在一定程度上就可以防止欺诈,因为以前的任何区块中的任何改变都会使后续所有区块无效,而且所有哈希都会改变,所有运行区块链的人都会发现,从而揪出作恶节点。
区块包含什么?
timestamp
– 开采区块的时间。blockNumber
– 区块链中区块的长度。baseFeePerGas
- 要将交易纳入区块,每个 gas 所需的最低费用。difficulty
– 开采所需的努力。mixHash
– 该区块的唯一标识符。parentHash
– 前一区块的唯一标识符(这是区块形成链的方式)。transactions
–包含在区块中的交易。stateRoot
–系统的整个状态:帐户余额、合约存储、合约代码和帐户随机数。nonce
– 哈希,当与 mixHash 结合使用时,可以证明该块已经通过了工作量证明。
区块时间
区块时间指的是开采一个新区块所需的时间。 在以太坊中,平均出块时间在 12 到 14 秒之间,并在每个区块挖出后再进行评估。预期区块时间在协议层面被设定为一个常数,当矿工增加计算能力时,用于保护网络的安全。平均区块时间与预期区块时间进行比较,如果平均区块时间较高,则区块头的难度会降低。如果平均区块时间较小,则会增加区块头中的难度。
区块大小
最后一个重要的一点是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万 gas,但区块的大小将根据网络需求而增加或减少。最多到 3000 万 gas 的区块限制(目标区块大小的 2 倍)。 区块中所有交易所消耗的 gas 总量必须低于区块的 gas 限制。 这很重要,因为它可以确保区块不能任意大。 如果区块可以任意大,由于空间和速度方面的要求,性能较差的完整节点将逐渐无法跟上网络。