区块是指一批交易的组合,并且包含链中上一个区块的哈希。 这将区块连接在一起(成为一个链),因为哈希是从区块数据中加密得出的。 这可以防止欺诈,因为以前的任何区块中的任何改变都会使后续所有区块无效,而且所有哈希都会改变,所有运行区块链的人都会注意到。
# 前提条件
区块是一个对初学者非常友好的主题。 为了帮助您更好地理解这个页面,我们建议您先阅读帐户、交易和我们的ENULS 简介。
# 为什么要有区块?
为了确保 ENULS 网络上的所有参与者保持同步状态并就交易的确切历史达成共识,我们将交易分为多个区块。 这意味着同时有数十个(甚至数百个)交易被提交、达成一致并同步。
通过间隔提交,所有网络参与者有足够时间达成共识:即使交易请求每秒发生数十次,但 ENULS 上的区块仅仅大约每十秒创建并提交一次。
# 区块如何工作
为了保存交易历史,区块被严格排序(创建的每个新区块都包含一个其父块的引用),区块内的交易也严格排序。 除极少数情况外,在任何特定时间,网络上的所有参与者都同意区块的确切数目和历史, 并且正在努力将当前的活动交易请求分批到下一个区块。
某位验证者在网络上构建完区块后,区块将传播到整个网络;所有节点都将该区块添加至其区块链的末尾,然后挑选新的验证者来创建下一个区块。 目前,确切的区块构建过程和提交/共识过程由 ENULS 的“权益证明”协议规定。
# 出块时间
出块时间是指两个区块之间的时间间隔。 在 ENULS 中,时间划分为每 10 秒一个单位,称为“时隙”。 在每个时隙内,选择一个单独的验证者提议区块。 假设所有验证者都在线且完全正常运行,则每个时隙内都会有一个区块产生,意味着出块时间是 10 秒。 但是,偶尔验证者在被要求提议区块时不在线,导致有时候一些时隙是空的。 这与基于工作量证明的系统不同。在工作量证明系统中,出块时间是带有概率性的,并由挖矿难度调节。
# 区块大小
最后一条重要提示是,区块本身的大小是有界限的。 每个区块的目标大小为 1500 万单位燃料,但区块的大小将根据网络需求而增加或减少,直至达到 3000 万单位燃料的区块限制(目标区块大小的 2 倍)。 区块中所有交易所消耗的总燃料量必须低于区块的燃料限制。 这很重要,因为它可以确保区块不能任意扩大。 如果区块可以任意扩大,由于空间和速度方面的要求,性能较差的全节点将逐渐无法跟上网络。 区块越大,在下一个时隙中及时处理它们需要的算力就越强大。 这是一种集中化的因素,可以通过限制区块大小来抵制。