一、思维导图
二、思维导图文字版
数字货币与区块链原理——廖雪峰
数字货币与区块链简介
比特币
- 概念:通过密码学理论建立的不可伪造的货币系统
- 特点
- 无需信任中心的货币发行机制
- 发行数量固定2100万,防止通货膨胀
- 账本公开不可篡改(Blockchain)
- 密码学理论保证货币防伪造
- 数字签名保证交易完整可信
- P2P网络(PEER TO PEER)
- 矿工节点
- 钱包节点
传统货币
区别:不需要中心化信任机构(银行)
区块链不可篡改原理
简述
区块链是一个不断增长的全网总账本,每个完全节点都拥有完整的区块链;节点总是信任最长的区块链;伪造区块链需要拥有超过51%的全网算力。
哈希算法保证区块链的不可篡改特性
- 哈希算法
- 哈希算法又称散列算法,它是一个单向函数,可以把任意长度的输入数据转化为固定长度的输出
- 安全的哈希算法满足碰撞率低以及输出无规律
- 如何防止篡改
- Merkle Hash Merkle Hash记录在区块头部,保证交易记录永远无法修改 把一系列交易数据的哈希根据一个算法变成汇总哈希
- Block Hash 计算头部哈希得到
去中心化P2P交易
数字签名
- 密码学理论设计
- 私钥(SK/PK)(相当于银行卡密码)
- 公钥(PK)(相当于银行卡卡号):任何人都可以根据公钥查询余额,但不知道持有人是谁
交易
- 每个区块链都记录了至少一笔交易
- 每次交易一个输出必须一次性花完
- 交易费用即矿工的挖矿所得
工作量证明的挖矿原理
工作量证明
- 原理:不断尝试计算区块的哈希,直到计算出一个特定的哈希值,它比难度值要小
- 难度值根据bits由一个公式算出来
- 比特币网络的难度值是不断变化的,它的难度值保证大约每10分钟产生一个区块,而难度值在每2015个区块调整一次:如果区块平均生成时间小于10分钟,说明全网算力增加,难度值也会增加,如果区块平均生成时间大于10分钟,说明全网算力减少,难度值也会减少。因此,难度值随着全网算力的增减会动态调整。
- 比特币总量限制为2100万个比特币,初始挖矿奖励为每个区块50个比特币,以后每4年减半
共识算法
两个矿工在同一时间各自找到了有效区块,此时采用最长分叉的共识算法,整个网络上的矿工会在最长的链上继续挖矿
可编程支付原理
支付本质
由程序触发的数字资产转移
智能合约
当一个预先编好的条件被触发时,智能合约可以自动执行相应的程序