由于P2P网络存在的网络延迟问题,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
大部分区块链商业应用并不需要网络代币,常见的代币类型的共识算法并不适合商业应用。如以下几种:
工作量证明机制(Proof of Work, POW)股权证明机制(Proof of Stake, POS)
POW的一种升级共识机制;根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。授权股权证明机制(DPOS)
类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。牺牲了去中心化的概念,不适合公有链。
基于 SunlightDB 可以选择以下几种非代币类共识算法。
Paxos 算法一个潜在的问题是 proposer 在此过程中出现故障,可以通过超时机制来解决。极为凑巧的情况下,每次新的一轮提案的proposer 都恰好故障,系统则永远无法达成一致(概率很小)。Paxos 能保证在超过50%的正常节点存在时,系统能达成共识。
Raft 算法它包括三种角色:leader、candiate和 follower,其基本过程为:Leader 选举:每个 candidate 随机经过一定时间都会提出选举方案,最近阶段中得票最多者被选为 leader同步log:leader 会找到系统中 log 最新的记录,并强制所有的 follower 来刷新到这个记录,这里的log指的是各种事件的发生记录。
Pool 验证池SunlightDB 插件数据服务
从根本上说,SunlightDB不仅仅是一套区块链数据库系统,更确切的说它是一个多功能数据服务平台,除了最基本的数据功能之外,基于丰富的插件它也提供了很多额外的功能服务,同时SunlightDB插件服务是可以不断扩展的。区块链的共识机制属于应用层问题,分布式数据库一致性算法应该处于区块链共识模型的下面一层。对于那些需要或者说可以,使用网络代币的区块链应用......
2017年12月12日,SunlightCoin 不见不散!