区块链用Merkle树结构简化验证程序
Merkle树是区块链的基本组成部分,Merkle树的叶子节点存储的是数据文件的哈希值,非叶子节点存储的是对其下面所有的叶子节点值的组合结果进行哈希计算后得出的哈希值,区块链利用Merkle树这种数据结构存放所有的叶子节点的哈希值,并以此为基础生成一个统一的哈希值。
区块中的任何一笔交易的发生和交易信息的变动都会使Merkle树发生改变。在交易信息的处理、比对及验证的过程中,尤其是在分布式环境下进行比对或验证时,Merkle树会大大减少数据的传输量和计算的复杂度。
区块链为每一笔交易盖上时间戳
在区块链中,时间戳的应用是对每一次交易记录的认证,它就像交易合同公证一样,能够显示交易记录的真实性。时间戳作为区块元数据的一部分,具有天然的时间特性。从某种意义上讲,区块链的本质可以被理解为构造了一个永不停息、无坚不摧的时间戳系统。
区块链通过时间戳来保证分布式账本的唯一性,避免双花问题的产生。时间戳从区块产生的一刻起就存在于区块之中,它扮演了区块链中的公证人的角色。与现有的公证机制相比,基于时间戳的公证系统更为经济,并且完全可信。
为什么时间戳更为可信呢?
是因为时间签名是直接写在区块链上的,区块链中已经生成的区块不能以任何方式进行修改,生成的哈希值就无法匹配,操纵行为也将由此而被系统检测到。区块链根据分布式的协议,构建了一个分布式的开放结构体系,交换的信息可以通过分布式记账的方式确定信息数据内容,加盖时间戳后生成区块数据,再通过分布式广播发送给各个节点,最终实现分布式存储。
时间戳证明存在性对数据应用安全散列算法加盖时间戳,并将该随机哈希值在全网中进行广播能够证实一组数据在某一时刻是真实存在的,因为**数据只有在该时刻的确存在,才能获取相应的随机哈希值,**每个时间戳会对前面的时间戳进行增强,这一过程不断重复、一次推进,最终形成了一个完整的链条。时间戳和哈希算法。Merkle树共同作用,增强了区块链的安全性能。
时间点后向证明:由于区块哈希值的不可伪造性,一个区块能提供出哈希值即可证明区块哈希值存在于该区块生成时刻之后,就像在一张白纸上写下了一串数字,说明的是数字出现的时间晚于白纸。
时间点前向证明则需要构造一个包含数字摘要的交易,当该交易进入区块后,便可以证明你在该区块时刻之前拥有该数字摘要。