这个女生说:弄懂本文前,你所知道的区块链可能都是错的
复制状态机,通俗点讲,就是多个节点从相同的初始状态开始,执行相同的一串命令,产生相同的最终状态。这一系列节点的状态都是相同的,就是所谓的“复制状态”。 ![]() 在复制状态机中,如果某一事务是有效的,将其输入将导致系统的状态向下一个转换。在每个状态转换过程中,每个进程决定下一个输出值。 从一个有效状态转换到下一个有效状态的逻辑称为“状态转换逻辑”。 ![]() 事务是数据库上的原子操作,这种操作一旦开始,就一直运行到结束,中间不会有任何切换。 换句话讲就是操作要么完全完成,要么根本不发生。在复制状态机中,这一系列被维护的事务集合称为“事务日志”。 所谓的“达成共识”意味着所有的计算机必须一致同意在每个状态转换过程中的输出值,也就是说,每台计算机上的事务日志都是相同的。 复制状态是一种确定性状态机,功能与单个状态机相同,状态机中的单个计算机可能发生故障,但整个状态机依然会正常运转。 故障主要有:
即使是在局部故障的情况下,复制状态机仍然必须不断地接受新事务到事务日志,从而提供服务。这其实也是每一种共识算法的基本目标。 ![]() 共识问题的定义 如果一个算法满足以下条件,它就会达到共识:
注意:不同的算法有不同的条件。例如,有些算法将一致性划分为稳定性和整体性,还有些算法具有合法性、完整性或高效性的概念。在这里,如此细微的差别,就不赘述了。 (编辑:衢州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |