区块链的数据结构

区块链中有三种重要的数据结构:哈希指针、默克尔树和区块链。

1.哈希指针

哈希指针的值是通过数据计算出来的且指向数据所在位置,所以哈希指针可以告诉我们数据存储位置及数据的哈希值。通过哈希指针,我们可以很容易判断出数据是否被篡改。

哈希指针在区块链中极为重要。区块链的结构就是由创世区块开始,之后的每个区块通过哈希指针进行连接。每一个区块中都包含了前一个区块的哈希指针,这样后面区块不仅可以查找到前面所有区块,也可以验证前面区块数据是否被更改,从而保证了区块链不易篡改的特性。

2.默克尔树

在区块的头部中,有存储一个梅克尔树根的哈希值(Merkle Root)。所以先来了解下什么是梅克尔树。
在这里插入图片描述
梅克尔树在区块链中用于组织和记录存储在区块中的交易,以便高效的验证某个交易是否存在在区块中。梅克尔树是通过不断的递归计算节点的哈希值直到只有一个哈希值来构建的。当梅克尔树中有N个数据时,最多只需要2*log2(N)计算就可以验证某个特定数据是否存在,所以梅克尔树是相当高效的。
梅克尔树是自底向上构建的。举个例子,假设我们现在有 A, B, C,D四笔交易需要存储记录在区块中,来看下是如何构建梅克尔树的。 首先要用 A,B,C,D 来构建树的叶子节点,将他们二次哈希后的

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值