哈希碰撞(collision resistance):两个不同的值经过哈希计算后哈希值相等,哈希表中位置冲突,就称为哈希碰撞。
可利用collision resistance对一个message求digest,用来检测对这个message的篡改,若篡改message,对应哈希值改变,找不到与message的哈希值相等的值。
Hiding:哈希函数的计算过程是单向不可逆的,给定一个值得出哈希值,但已知哈希值不能算出该值,不泄露有关输入的任何信息。
(但通过蛮力,遍历所有可能的输入,也能得到。)
挖矿:寻找一个nonce,能够满足H(block header)≤target
比特币中的签名管理
开户:每个用户自行决定,创立公钥和私钥,通信过程中加密和解密都用接收方的公私钥,公钥是公开的,但只有接收方的私钥才能解密。
发起交易时需要用发起交易者的私钥签名,用他的公钥去验证签名。
哈希指针:要存储结构体的位置和哈希值(只要是无环的数据结构,都可以用哈希指针代替普通指针)。
Merkle tree:提供Merkle proof,树中任何一个节点修改,都会影响根哈希值。