实际上,一个区块链网络被编程成总是偏爱最长的区块链。也就是说,它将选择包含更多信息或处理过的交易的区块。在比特币区块链中,孤块被丢弃,矿工执行的工作是无用的。 此外,正是由于这种类型的区块,大多数交易所和一些钱包将自动等待额外的确认,才使资金可用。它们通过计算用户正在接收的交易和当前区块之间挖掘了多少区块来实现这一点。 >eth.getBlock(blockNumber) } >eth.syncing.highestBlock -eth.getTransaction(“ ”).blockNumber 区块是如何验证的? 区块链系统使用Merkle树数据结构,这使得它们(在理论上)是不可变的。Merkle树是Ralph Merkle在1979年申请专利的,在密码学中被广泛使用。Merkle树是验证共享数据是否被更改、损坏或更改的基本方法,非常适合区块链,因为它是轻量级的。例如,由于比特币的Merkle树结构,用户的移动钱包不需要下载所有的比特币交易来验证它们。 给定区块中的每个交易对应于Merkle树中的一个叶子,通过哈希单个交易递归构建Merkle根。 对交易(叶)进行哈希以创建额外的叶节点,这些叶节点可能对应于区块链网络中的交易。尽管可以从大量的交易中创建Merkle树,但Merkle根总是对应于一个32字节或256位的字符串(例如,SHA256哈希算法总是输出32字节的固定长度,而不管输入的大小)。通过这种方式,我们可以使用小到32字节的数据来验证多达数千个交易。 根据案例,任何更改,无论多么小,都会阻止对Merkle根的验证,并使区块链的部分或全部历史失效。 以太坊区块链中的区块类型以太坊与比特币的一个不同之处在于,它有一个更快的区块创建机制,旨在加快交易过程。但是,当区块生成之间的时间间隔非常短(大约15秒)时,会创建大量孤块,因为将所有这些区块都包含在区块链中是低效的。 这导致了矿工在没有奖励的情况下浪费时间在区块上工作的问题。为了解决这个问题,以太坊的开发者推出了GHOST协议。 GHOST代表Greedy Heaviest Observed Subtree,这个概念很简单。它奖励那些验证孤块的矿工,尽管其奖励低于标准区块。为了释放奖励,区块必须被主链中的区块引用——或者叔块。 该机制的另一个优点是解决了网络中心化的问题。当快速创建区块时,大型矿池很容易垄断区块验证,导致较小的竞争对手创建无数无用的孤块。 以太坊区块链中的区块类型以太坊区块链中有两种类型的区块: 主链区块是包含在以太坊区块链中的区块。发现它的矿工将获得奖励。 叔块是经过身份验证但未包含在主区块链中的区块。矿工因此得到的报酬比有效区块低。 (责任编辑:admin) |