区块链 哈希 Hash

密码学中,最重要的函数之一是哈希函数。哈希函数将任意大小的数据(内容)映射到固定大小的数据(哈希值)。

哈希函数是单向的,从内容生成哈希值很容易,但从哈希值映射到内容很难。

比特币使用SHA-256哈希函数,该函数生成一个大小为256位(32字节)的哈希值(输出)。如图所示

图

Bob在向Alice下订单时,创建了一条类似于上面所示的消息。把这个消息通过哈希函数生成32字节的哈希值。

哈希值的特点是,哈希值对于对于消息内容是唯一的,消息内容有任何改动,哪怕是多了个字符,生成的哈希值也是不一样的。

所以哈希值通常可以用来校验内容是否篡改。

区块链中,当Bob付款给Alice时,创建了一个转账交易,但他不会将其单独发送给Alice。相反,交易消息将在他所连接的整个网络上广播。Bob的网络如图所示。消息传递到所有连接的节点(机器),图中的一些节点被标记为矿工。这些机 ...