提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
今天看了北大肖臻老师《区块链技术与应用》公开课,有很大收获,在此写博客以做笔记,加深印象,若有不当之处,欢迎斧正。
一、哈希
哈希函数的性质:
- collision resistance(抗碰撞性):例如,有一个输入 X 和它的哈希值 H(X) ,没有任何已知方法可以使你找到另一个输入 Y ,使 H(Y) = H(X)。
- hiding(单向性):由输入X到算出哈希值H(X)的过程是不可知的,也不能由哈希值反推输入。
- puzzle friendly(结果不可预知):在有输入的情况下,没有方法可以判断出该输入对应的哈希值在哪个区间或范围之中。
二、签名
使用非对称加密算法,由一对公钥和私钥产生,公钥由私钥产生,公钥公开,私钥保密,当你向对方发送明文时,用对方的公钥对明文进行加密,对方收到后使用自己的私钥解密;当你向全网广播你的交易时,使用自己的私钥签名,其他人收到交易信息后使用你公开的公钥进行验证,确认交易。
注意:产生公钥、私钥时需要有好的随机源,签名时也要有好的随机源。
总结
区块链密码学原理关键在于哈希和签名,理解这两点有助于之后的深入学习。