区块链技术基础—Merkel树

哈希算法

哈希算法是一种重要的计算机算法,可以将任意长度的二进制值串以不可逆的方式转化为较短的固定长度二进制值串,这个映射后的值称为哈希值。

一个优秀的哈希算法需要满以下特点:

  1. 逆向困难:从哈希值难以逆推出原始明文;
  2. 输入敏感:原始数据的任何修改都会导致最后得到的哈希值大不相同;
  3. 冲突概率小:两端不同内容的明文,产生相同哈希值的概率非常小。
  4. 计算高效:可以在有限时间的时间和资源下快速计算出明文对应的哈希值。

区块链通过对一个交易区块中的交易信息进行哈希运算,得到的哈希值能够唯一而准确地标识一个区块,参与记账的节点计算出的哈希值没有变化也就意味着区块中的信息没有被篡改。

基于此,哈希算法可以说是保证区块链不可篡改性的基石。

常见算法:
目前常见的哈希算法包括MD5和SHA系统算法。

Merkel树

默克尔树(Merkle tree,MT)是一种哈希二叉树,1979年由Ralph Merkle发明。与标准二叉树一样,由一组叶节点,一组中间节点和一个根节点构成。叶节点包含存储数据或其哈希值,中间节点是其两个子节点内容的哈希值,最上层的根节点同样也是由它的两个子节点内容的哈希值组成。如图:
image.png
以图中树为例,叶节点HA,HB,HC和HD分别存储了交易

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值