参考书籍《区块链原理、设计与应用》
基本原理
比特币网络工作流程
技术的演化与分类
分布式共识
交易性能
扩展性问题
数据库和存储系统
数据库也是区块链中重要的一环
分布式系统核心问题
单节点结构演变为分布式系统,首先遇到的问题就是一致性的保障。
一致性问题
如果一致性没处理清楚,如线路为a->b->c,A用户购买了a->c的票,而此时没有实时达到一致性,B用户购买b->c的票也会成功,这样在b站点就会出现同一个座位卖给两人。
一致性要求
带约束的一致性
共识算法
一致性是状态
共识算法是对某提案达成一致的过程
常见算法
即便在网络通信可靠的情况下,可扩展的分布式系统共识问题,其通用解法是没有下限即无解的(FLP不可能原理)。
CAP原理
ACID原则
-
基本可用(Basically Available):
分布式系统在出现故障时,允许损失 部分可用功能:- 响应上的损失(可用,但查询比平时慢)
- 功能上的损失:
-
软状态(Soft state):
软状态是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同的数据副本之间进行数据同步的过程存在延时。 -
最终一致性(Eventually consistent):
最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。