700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 哈希函数在区块链中的应用

哈希函数在区块链中的应用

时间:2024-02-18 12:10:13

相关推荐

哈希函数在区块链中的应用

哈希指针除了保存结构体在内存中的位置还要保存结构体的哈希值。好处:不只可以找到结构体的位置,还可以检测这个结构体的哈希值。区块链和普通链表的主要区别就在于用哈希指针代替了普通的指针。识别区块数据是否被篡改:区块链的哈希值能够唯一而精准地标识一个区块。把各个区块串联成区块链:每个区块都包含上一个区块的哈希值和下一个区块的值。Merkle tree(默克尔哈希树)使用单向哈希。Merkle tree的顶部称为top hash(顶部哈希),亦称root hash(根哈希)或master hash(主哈希)。一个区块上所有交易的hash值构成了该区块Merkle tree的叶子节点,root hash保存在区块头里面,因此所有交易与区块头部绑定在了一起。好处:只要记住root hash,就可以检测出对树中任何的修改作用:归纳校验区块数据的存在性,完整性,快速定位每笔交易,核实交易数据是否被篡改Merkle proof:证明某一个交易是否被写入区块链中

Merkle tree示意图

挖矿找一个nonce(随机数),跟区块的块头里其他信息合在一起取hash,小于等于某个范围。 H(block header)<= target。挖矿难度的设置:比特币难度是对挖矿难度程度的度量,即指计算复合给定目标的一个hash值得困难程度。比特币挖矿过程使用SHA-256hash函数不断运算。挖矿就是重复计算区块头的hash值,不断修改nonce值,直到符合目标hash值过程。Hash函数的结果无法预知,也没有特定模式快速算出hash值。以太坊用户地址生成生成私钥:产生的256比特随机数作为私钥(256比特 16进制32字节)生成公钥:

1)利用将私钥(32字节)和椭圆曲线线ECDSA-secp256k1计算公钥(65字节)(前缀04||X公钥||Y公钥)

2)利用Keccak-256算法计算公钥的hash值(32字节)

3)取上一步结果后20字节即为以太坊地址

输地址

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。