区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

简介:

比特币价格变化情况:

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

现在还是区块链技术的早期阶段。

各种虚拟货币市场份额占比:

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

 

基础要求:

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

学习大纲:

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

 

比特币系统中用到的密码学原理

cyrpto-currency 加密货币

加密货币其实不加密,区块链上的所有信息都是公开的

 

Crytographic hash function

比特币系统中的Crytographic hash function,要满足以下三条性质。

1.Collison resistance

(理论上无法证明,只能靠实践经验)

碰撞抵制:让下面的情况不会发生,毕竟输入空间无限大,输出空间只有2的256方。

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

作用:修改检测(百度网盘快速上传)

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

 

2.Hiding

满足输入空间足够大,输出分布比较均匀!

不能由hash值反推内容!

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

和collison resistance一起实现

digital commitment (digitial equivalent of a sealed envelope)

 

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

输入时给输入数据加 nonce(一个随机数), 使输入足够随机,分布足够均匀,满足Hiding

 

3.Puzzle friendly

不可由输入预测输出结果吗,事先不知道,只能通过计算去尝试。

才会有挖矿这一过程!计算没有捷径,工作量证明(proo of work)

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

挖矿很难,验证很容易。

区块链技术学习一:比特币简介以及比特币系统中用到的密码学原理

 

满足上述三条条件的Crytographic hash function

SHA256 (Secure Hash Algorithm)

 

签名

账户:一个公私钥对。(很难产生相同的**,可能性微乎其微)

(public key,private key)

非对称加密

可用作 加密/签名!

加密:公钥加密,私钥解密

签名:私钥加密,公钥解密

产生好的公钥和私钥需要一个好的随机源。

之后每一次签名也要有好的随机源,避免私钥的泄露!