1. 参考博客
2. 引入
sha256
非对称加密
加密(hash值 + 私钥)= 加密后的hash值
解密(加密后的hash值 + 公钥) = 解密后的hash值1
shaa256(接收到的值) = hash值2
hash值2 vs hash值1
引入比特币:
需要有一种方法确认付款方是否有足量的比特币。
每笔交易都必须把以前的交易作为基础。
小红支付时发送:
小青支付50BTC给小红->支付50BTC给小白
小红的数字签名(针对这条支付消息)
小红的公钥(付款方公钥)
小白接收到支付消息后:
50BTC >= 50BTC
sha-256(“接收到的支付消息”) = 哈希值1
使用小红的公钥对小红的数字签名进行解密,得到哈希值2
哈希值1 = 哈希值2
3个一致性方案问题:
1)如何进行同步
2)如何防止记录被篡改
3)如何防止同一笔比特币收入被重复使用
比特币使用区块链解决3个问题。
使用一个巧妙的方法限制单位时间内生成的新区块的数量。