区块链
区块链是一个分布式的公共数据库,可以永久保存数字交易的记录。换句话说,它是一个日志文件,存储所有的不可变的数字交易记录
一个区块链由“矿工”共同维护,他们是网络内的成员,通过解决与区块相关的复杂算法问题,在每个区块中竞争验证比特币交易。
区块链技术不限于比特币。 它可以用于创建任何使用自己的区块链的加密货币,如以太坊和莱特币。
1.去中心化
2.共识机制
3.激励机制:通过经济激励,以确保遵守规则。中本聪 比特币
关键字:去中心化(Decentralized)、去信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(Reliable Database)。
区块链类型
- 公开区块链:Bitcoin(比特币),Ethereum Frontier(以太坊)。所有人都可以访问,所有人都可以发出交易等待被写入区块链,是完全的分布式。
- 协作区块链:Hyperledger。参与区块链的节点是事先选择好的。
- 私有区块链:Eris Industries。参与的节点只有用户自己,数据的访问和使用有严格的权限管理。
流程
数字货币 = 交易记录
一个交易:
1.判断是否有足够余额;
2.判断是否需要找零
3.发出去,让全球节点认同并备份
数据安全
- 保证交易记录再传输过程中不会被篡改
- 保证交易记录确实是由发起交易的人创造
加密
1.SHA256() 2.非对称加密
A:明文str->SHA256()加密->固定长度str1->使用私钥进行再加密->数字签名str2
A将明文str、数字签名str2、公钥
给B
B:明文str->SHA256()->固定长度str3->使用公钥进行解密->str4
判断str2是否等于str4
节点对区块的检验:检验交易记录的签名是否准确,输入值是否有效,输入值的数字和是否等于输出值
区块
- 黑洞效应
- 唯一区块ID = SHA256(‘区块内所有记录的集合’+’即将与之相连的上一个区块ID’+‘挖矿节点的运气值’+’…’)
- 产生区块、挖出区块、检验区块的时间周期近乎相同
分叉
拥有最多区块的支链将是真正被认可有价值的,较短的支链将会被直接Kill掉。
- “听谁的”——中本聪破解“拜占庭将军问题”的算法
- 比特币挖矿:记录交易
- 挖矿难度:增加挖矿难度,避免较多的分叉
- 算力:分叉后抢占优先发言权
- 工作量证明链:新的规则
双花与51%攻击
比特币(Bitcoin)
比特币区块链之上的代币——比特币。虚拟币
- 每个代币都基于某个底层的区块链。
挖矿收益
- 挖矿收益 = 挖出新区块的奖励+新区块中包含的交易费
- 随着挖矿奖励的递减,以及区块中交易的数量增加,交易费所占的比重将会逐渐增加。在2140年之后,所有的矿工收益将完全由交易费构成。