1、区块链的前世今生
密码朋克(Cypherpunk)
2008年中本聪:《比特币:一个点对点的电子现金系统》
比特币->区块链(一系列技术的集合)
资产、记账、不可篡改、点对点、隐私
2、比特币是什么
是一种数字货币
信任从何而来:财产只受自己控制、无通胀、没有假钞、流通性好
是去中心化的记账系统
3、比特币原理
账本如何验证?
Hash函数:Hash(原始信息) = 摘要信息
只要原始信息发生变化则摘要信息发生变化。
摘要信息无法逆向推算出原始信息。
对账本记录进行Hash之后对比其摘要信息。
区块头:序号/时间戳/Hash值。
在后序记录时加入之前的Hash值进行Hash。
所有区块串联一起则为区块链,只要核对最后一个区块即可。
4、账户所有权
点对点的交易,没有第三方。
地址对应私钥,私钥两次哈希就能得到地址。
非对称加密技术(交易签名):交易进行Hash得到摘要,用私钥对摘要进行前面。
签名:
摘要信息 = hash(交易信息)
签名信息 = sign(摘要信息,私钥)
之后付款节点广播交易原始信息和签名信息。
验证:
验证交易摘要 = verify(签名信息,付款方地址)
if 验证交易摘要 = 摘要信息:
通过
写入账本
再次广播
else:
donothing
签名:加密过程;验证:解密过程。
5、为什么记账——挖矿
记账:Hash打包的过程
消耗资源
完成记账的节点能够获得比特币
规则:
一段时间内只有一个人可以记账成功
通过解决密码学难题(即工作量证明)竞争获得唯一记账权
其他节点复制记账结果
Hash(上一个hash值,交易记录值,随机数) = 000aFD635BDC
修改随机数使得运算后的Hash以n个0开头。
理论上尝试16^n次方次。
交易记录集:
收集广播中还没有被记录账本的交易
交易的有效性验证
添加一笔给自己转账的交易(挖矿奖励)
6、共识机制
两个节点同时完成工作量证明,使用谁的区块?
无仲裁机构裁决
节点工作量只有在其他节点认同而有效
只认可累计工作量最大的区块链
保证延长最长链