区块链一——hash函数,签名和验证

区块链简介——hash函数、签名和验证

Date: 2020-08-26

Blockchain是保存持续增长的记录的分布式数据库。

基础知识:

hash函数性质(假设输入空间很大,而且平均分布)

1.抵制碰撞:难以找到不同的输入,映射到同一个输出(但是不代表不会出现)。可防篡改,因为篡改输入,输出改变。

2.隐藏:输出难以推出输入。可用于防泄漏。

3.hash(任意长度的消息)->固定长度的消息(数字摘要)


hash函数常被用于区块链签名

区块链签名过程分为签名和验证,如下:

签名:hash函数对交易记录信息进行hash变换,生成数字摘要。之后使用秘钥对数字摘要进行签名。

验证:签名完成之后,付款的节点向其他节点进行广播,广播信息包括原始交易信息和签名。其他节点使用验证算法,对交易信息和签名进行计算,得出的结果如果与摘要相同,则验证通过,将交易记录写入账本并进行广播。被广播的节点验证完成后会向其他相邻节点广播,直至所有节点验证完成。(暂时忽略余额验证)
区块链一——hash函数,签名和验证_第1张图片

区块链一——hash函数,签名和验证_第2张图片
区块链一——hash函数,签名和验证_第3张图片

你可能感兴趣的:(区块链)