比特币
密码学基础
比特币被称为加密货币,但其实加密货币是不加密的。
比特币中主要用到了密码学中的两个功能:哈希和签名
1.哈希
密码学中用的哈希函数被称为Cryptographic hash function
有两个重要性质:
- collision resistance(有的也称为collision free)
人力很难找到y,使得H(x)=H(y)。可以用来防篡改
- Hiding
哈希函数的计算过程是单向不可逆的,即x→H(x)反之不可,可蛮力求解,输入空间大,且分布均匀可以在一定程度上避免蛮力求解。
可以用来digital commitment(digital equivalent of a sealed envelope)
- Puzzle friendly
比特币中用到的hash函数还要求第三个性质:puzzle friendly
Hash值的计算事先是不可预测的,想要得到想要的hash值,只能一个个输入去尝试。这个性质说明挖矿的过程没有捷径,所以这个过程才可以用来作为工作量证明
扫描二维码关注公众号,回复:
8955401 查看本文章
比特币中用到的hash函数叫做:SHA-256
2.签名
比特币系统中创建账户:只需在本地创立一个公私钥对。
该公钥、私钥用于签名:用私钥签名,公钥验证。
注意:产生公私钥的时候有一个好的随机源。
学习链接:https://www.bilibili.com/video/av37065233?p=2(北京大学肖臻老师《区块链技术与应用》公开课)