加密货币 crypto-currency
运用到密码学中的两个功能:哈希,签名
- 哈希
- collision resistance
性质:抗碰撞,用于检测内容是否被篡改
哈希碰撞:不同的输入得到相同的输出,x ≠ y, H(x) = H(y)
256位
MD5已经可以人为制造哈希碰撞了
- hiding
性质:从输出不能反推输入(输入空间大且分布均匀)
- puzzle friendly
H(block header + nonce) <= target space,挖矿就是试各种随机数+block header 取哈希之后,落在指定范围内。挖矿就是寻找nonce,difficult to salve, but easy to verify.
比特币用的哈希函数是 SHA-256 (Secure Hash Algorithm安全散列算法)
- 签名
比特币开户:在本地创立公私钥对(非对称加密RSA),去中心化的,不需要像银行开户一样去网点办理,自己决定是否开户。
持有好的随机源,公私钥对重复的机率超级小。