您当前的位置: 首页 >  区块链

PolarDay.

暂无认证

  • 3浏览

    0关注

    144博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

区块链学习笔记1——BTC密码学原理

PolarDay. 发布时间:2021-12-11 10:37:38 ,浏览量:3

区块链学习笔记1——密码学原理

学习视频:北京大学肖臻老师《区块链技术与应用》 笔记参考:北京大学肖臻老师《区块链技术与应用》公开课系列笔记——目录导航页

梦开始的地方(狗头)

BTC的密码学原理主要包括两个方面——哈希、签名

一、哈希

哈希函数是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出。

比特币系统中哈希函数的三个重要性质
  • collision resistance:如果x!=y,那么H(x)!=H(y),对一个给定的x很难找到y使得H(x)=H(y)
  • hiding:已知H(x)很难推出x
  • puzzle friendly:对H(x)的范围是不可预测的

通过collision resistance和hiding两条特性,我们可以实现digital commitment,以预测股票为例,一个人要想预测第二天的股票,但是他不能直接说出他预测的股票到底是哪一个,否则可能会导致人为因素对结果造成干扰,此时他可以给出他所预测的股票的hash值,这时根据hiding的性质,其他人不能得到他预测的股票到底是哪个,等到第二天结果出现时,他只需要公布他所预测的结果,其他人对他的结果计算hash值看是否与昨天公布的值一致即可,这时根据collision resistance的性质,不同的值对应的hash值也不同,所以不会出现他所公布的结果与昨天预测的结果不同的情况

比特币中所使用的的哈希函数是SHA-256

挖矿

挖矿实际上就是一个不断测试区块头部中的随机数部分nonce使的整个区块头的哈希值满足某一target的过程 H(block header)

关注
打赏
1659342973
查看更多评论
立即登录/注册

微信扫码登录

0.0380s