主页 > imtoken钱包可以存哪些币 > 区块链中的哈希算法

区块链中的哈希算法

imtoken钱包可以存哪些币 2023-01-17 06:29:49

区块链中的密码学

密码学在区块链中有两个主要应用:哈希算法和非对称加密算法。这次主要是详细讲解hash算法。

哈希算法

哈希算法的特点是:

1、输入可以是任意大小的字符串;

2、 产生固定大小的输出;

3、可以在合理的时间内计算出输出值。

为满足密码学的安全性,哈希算法还应具备以下三个特点:

1、防碰撞:不同的输入不会产生相同的输出;

2、不可逆性:如果y = Hash(x),则不能从y推导出x;

3、益智友好:如果要反转x比特币采用的哈希算法是,只能通过暴力枚举解决。

以比特币为例,我们来看看哈希算法的具体应用:在比特币中,哈希算法用于生成交易的数据摘要,当前区块包含前一个区块(区块? header hash) ,后面的block包含了当前block的hash值(),它们一一相连,形成一个hash指针的链表比特币采用的哈希算法是,如下图所示:

每个区块的具体内容:这些字段共同构成了区块头(block header),然后区块头需要经过两次hash,计算出来的值就是当前比特币区块的hash值。因为比特币系统要求计算出来的hash值满足一定的条件(小于一定的值),所以我们需要不断的遍历Nonce值来计算出一个新的hash值才能满足要求,只有满足要求的hash值是找到了,那么这是一个有效的区块(这一系列的动作也叫挖矿)。

默克尔树字段:

简单来说,Merkle Root 就是对区块中记录的所有交易进行多次哈希的结果(结果合并后再进行哈希)。在比特币区块链和以太坊区块链中,Merkle Root 字段的生成略有不同。硬币做 2 次计算,以太坊 3 次。总结

这次在学习整理hash算法的过程中,还是有些疑惑的。如果默克尔树的底部没有按照ABCD的顺序排列,会不会影响整个区块的Block header,从而影响整个区块链。参考文章地址:cloud.tencent.com/developer/a...

每天进步一点点~!