区块链笔记 - 《区块链技术核心概念与原理讲解》
说明:笔记内容来源于慕课网《区块链技术核心概念与原理讲解》视频课程。如有侵权,请联系删除。
目录
1、区块链前世今生
- 密码朋克(Cypherpunk)
维基解密的创始人:阿桑奇
BT下载的作者:布莱姆-科恩
WWW的发明者:蒂姆伯纳斯-李
智能合约概念的提出者:尼克萨博
Facebook创始人:肖恩帕克
中本聪
Adam Back 发明了Hashcash,使用了POW
Haber/Stornetta 提出时间戳方法保证数字文件安全的协议
戴伟 发明了B-money,强调点对点交易和不可变更记录
哈尔-芬尼 退出了"加密现金"
2008年中本聪 《比特币:一个点对点的电子现金系统》
比特币的底层技术(如 点对点的网络、时间戳、加密技术、工作量证明等)不仅可以运用到数字货币,
还能应用到其他领域。把这些技术综合提炼出来,就形成了区块链的概念。
2、区块链前景
- 应用场景
* 资产:数字资产发行、支付(跨境支付)、交易、结算
* 记账:股权交易、供应链金融、商业积分
* 不可篡改:溯源、众筹、医疗证明、存在性证明
* 点对点:共享经济、物联网
* 隐私:匿名交易
- 人才缺口巨大
区块链招聘年薪高达百万 巨头入局抢夺人才(2018-03-19 来源:猎云网 作者:王亚楠)
3、比特币是什么
- 比特币是数字货币
- 什么是货币
* 凯恩斯《货币论》:货币是可以承载价值的一般等价物
- 货币历史
* 铜币、金银:贵金属作为货币的价值,取决于贵金属本身的价值
* 银票:信用货币,银票作为货币的价值,取决于钱庄的背书
* 法币:信用货币(如,人民币),银票作为货币的价值,取决于国家政府的背书
信用货币,就实物而言,只是一张纸,本身是没有价值的。
信用货币的价值,来源于我们对信用货币的信任,或者讲,来源于我们对钱庄、政府的信任。
- 数字货币
* 一串数字
类似于金银铜、纸可以作为货币,数字也可以作为货币。
数字货币的价值,来源于大家对数字的信任,在区块链中称为共识。
大家认为数字有价值,数字就可以作为货币。比如,卖包子的认可这个数字,这个数字就可以用来买包子,卖手机的认可这个数字,这个数字就可以用来买手机。
- 信任从何而来
* 财产只受自己控制:银行动不了我们的¥,财产只受自己的私钥控制
* 无通胀:不会因为银行发行更多的钞票而贬值,比特币的总量为2100万个
* 没有假钞:任何作弊的支付,都无法得到比特币网络中其他矿工的确认,因而无法完成支付
* 流通性好:可以全球无缝的流通,点对点的流通
- 去中心化的记账系统
* 中心化系统:通常会有一个中央服务器来存储所有数据。
中央服务器存储的是什么,就是最终的结果。如果中央服务器的数据被篡改,也没法验证。
因为只有一方拥有这个数据,其他节点无法验证数据的真实有效性。
* 去中心化系统:数据不再只存储在中央服务器中,而是存储在比特币网络中每个节点中。
如果把每个节点比作一台电脑,记账数据就会存储在每台电脑中。
【问题】每台电脑中都存储一份账本数据,如果某台电脑的账本和其他电脑的账本不一样,到底以哪个账本为准?
4、比特币原理
4.1 账本如何验证?(哪一个账本是有效的?)
【一个不同账本的场景】
正确的账本,分别存储王二、张三、李四、赵五的电脑中。
张三偷偷把自己的余额,由30改为300。
这时,张三的账本,和王二、李四、赵五的账本不一致,以谁的账本为准呢?
- 方案1:核对账本记录,少数服从多数
比特币网络中有数百万个账本,每个账本都有海量的记录。
每次转账时,都和这数百万个账本逐一核对,这个效率是无法接受的。
- 方案2:Hash
* 哈希函数:Hash(原始信息)=摘要信息
* 特点:
1) 同样的原始信息用同一个哈希函数总能得到相同的摘要信息
2) 原始信息的任何微小的变化都会哈希出面目全非的摘要信息
3) 从摘要信息无法逆向推算出原始信息
账本通常包含的信息:序号、记账时间(时间戳)、交易信息。
对账本进行哈希运算,得到一个摘要信息,如787635A。
如果摘要信息和其他人的摘要信息一致,则说明账本信息和其他人的账本信息一致。
这样,对比摘要 相对于 对比账本原始信息,效率就会提升很多。
- 区块
序号、时间戳、Hash值、交易记录,保存下来后,就形成了区块。
序号、时间戳、Hash值称为区块的头
对第2个账本进行哈希运算时,加入第1个账本的Hash值,得到第2个账本的摘要信息,如456635B。
如果第2个账本的摘要信息一致,说明第2个账本的信息和第1个账本的摘要信息都是一致的。
第1个账本的摘要信息一致,又说明第1个账本的信息是一致的。
以此类推,可以由第3个账本信息一致,推出第2个、第1个账本信息一致。
每个账本都会生成各自的区块,所有这些区块串联的结构,就称为区块链。
每个节点在核对数据时,只需要核对最后一个区块的摘要信息。
如果最后一个区块的摘要信息相同,说明整个区块链的账本都是一致的,由此可以完成高效的账本验证。
4.2 所有权问题?(如何证明谁拥有这个货币?)
4.3 为什么要参与记账?(挖矿)
4.4 以谁的账本为准?(共识机制)