继续追寻中本聪的脚步

标签:共识机制算法

区块链共识是让一个小组中的所有流程根据每个流程的投票达成一致的具体价值的任务。
所有进程必须达成相同的价值,并且必须是由至少一个进程提交的值(即,一致性算法不能仅发明一个值)。
在最基本的情况下,值可以是二进制(0或1),这将允许所有进程使用它来做出是否做某事的决定。
通过选举算法,我们的目标是挑选一名领导。

对于分布式事务,我们需要一致同意是否提交。

这些是共识的形式。用一致的算法,我们需要得到一致的一致同意。

这是一个听起来很简单的问题,但在分布式系统中发现了令人惊讶的大量使用。

任何依靠多个进程保持共同状态的算法都依赖于解决共识问题,达成共识的地方的一些例子是:

同步复制的状态机并确保所有副本具有相同(一致)的系统状态视图。
选举领导人。(例如互相排斥)
分布式容错日志记录与全球一致的排序。
管理组员资格。
决定承诺或中止分布式交易。

进程之间的共识很容易在一个完美的世界中实现。

例如,当我们较早地研究了分布式互斥算法时,我们访问了一个共识的形式,每个人都可以就谁可以访问资源达成同样的决定。

最简单的实施是指定负责确定结果的全系统协调员。

两阶段提交协议也是一个系统的例子,我们假设协调员和同事是活着的并且沟通或者我们可以等待他们无限期地重启,如果有必要的话。这些算法的结果是,所有进程必须能够正常运行,并且能够相互通信。

故障使之变得困难,故障包括进程故障和通信故障。区块链扩容方式

区块链共识机制
既然接受者有一个提议的价值,那么我们就需要一种方法来了解一个提案已被大多数接受者所接受。

学习者负责获取这些信息。每个接受者在接受提案后,都会将其转发给所有的学习者。这样做的问题是潜在的大量重复消息:(接受者数量)*(学习者数量)。如果需要的话,这可以被优化。可以选出一个或多个 “杰出的学习者”。接受者将与他们交流,他们反过来会通知其他学习者。

处理失败
我们不可能完全同意完全异步的错误过程,这意味着不要假定进程或网络通信的速度。

核心问题是没有办法检查一个进程是否失败,或者这个进程是否还活着,但是与进程的通信速度是难以忍受的。

菲舍尔,林奇,帕特森证明了这种不可能性。

另外,在不可靠的沟通的情况下,由于我们可能永远无法与流程进行沟通,所以达成共识是不可能实现的。

我们将研究两个容错方案,这些方案说明了强加给我们的一些基本约束。两军问题尤其相关。
拜占庭两军将军问题
我们来看一下好处理器的情况,但通信线路有问题。这就是所谓的两军问题,可以概括如下:

AB 两军师协同攻击敌军C, AB在物理上是分开的,并使用信使进行通信。 AB发送一个消息“ 让我们在黎明发起攻击 ”。 B收到消息并同意,用“ OK ”消息发送回信使者。信使到达A,但是A意识到B不知道信使是否安全地返回了。如果B不相信A得到了承认,那么就不会相信这次袭击应该发生,因为军队不会自己胜利。 A可以选择用“ A received the OK ” 的消息将信使发送回B,但A将不确定B是否接收到该消息。二军的问题表明,即使与没有缺陷的处理器,两个进程之间可证明协议是不是 可以用不可靠的通信通道。

paxos算法协议
Paxos是一种流行的容错分布式共识算法,它允许将全球一致的(全部)订单分配给客户端消息(操作)。

分布式一致性算法的目标是允许一组计算机都同意系统中提出的一个节点(而不是一个随机值)的单个值。

在分布式系统中这样做的挑战是消息可能丢失或者机器cn失败。Paxos保证只要参与算法的大多数系统可用,一组机器将选择一个建议值。

 
POW(Proof of Work)工作证明
共识机制在以前一般被称为证明方式(Proof),因为比特币采用工作量证明(即Proof-Of-Work,简写为POW)。

POW系统构建区块的过程一般称为“挖矿”(mine)

随着大家对分布式账本一致性问题的不断探索,很多方法被提出来,尤其近期有很多区块链项目回归了对传统BFT算法的改进,在思路上已经跳出了“证明”的语义,因此进一步高度概括为共识机制。

分布式系统复制的状态机
构建分布式系统的一个重要动机是实现高可扩展性和高可用性。

高可用性可以通过冗余实现:复制功能组件将取代那些停止运作的组件。为了实现多个活动组件的冗余,我们希望所有正在运行的副本执行相同的操作:在给定相同的输入的情况下生成相同的输出。

系统的状态机方法设计每个副本(系统的每个组件)作为确定性状态机。对于给定系统某个特定状态的一些给定输入,将产生确定性输出并转换到新状态。我们将每个副本(组件)称为一个进程。为了正确执行和高可用性,每个进程看到相同的输入是非常重要的。要做到这一点,我们依靠共识算法。这确保多个进程将执行相同的操作,因为它们将被提供相同的一组输入。

输入的例子可以是来自客户端的从文件的特定位置读取数据或将数据写入文件的特定位置的请求。我们希望复制的文件包含完全相同的数据并产生相同的结果。为了实现这一点,我们需要在所有进程中就客户端请求达成一致,并且请求必须完全排序:每个服务器必须以与其他人完全相同的顺序看到文件读/写请求。总的排序部分最容易通过选择一个进程来服务序列号(尽管还有其他更复杂但更分散的实现。

确保进展
该算法的一个问题是,对于两个提议者来说可能会继续发出数量增加的提议序列,其中没有一个被选择。来自一个提议者的接受消息可能被接受者忽略,因为已经从另一个提议者处理了更高编号的准备消息。为了确保算法的进展,选择一个“杰出提议者”作为唯一的尝试发布提议。

在操作中,客户向领导者发送命令,这是一个当选的“杰出提议者”。这个提议者对命令进行排序(分配一个值)并运行Paxos算法,以确保选择了一致的序列号。由于失败或其他服务器可能会有冲突,因此认为它是领导者,使用Paxos可以确保只有一个命令(提案)被赋值。

分布式租赁与锁定
进程通常依靠锁来确保对资源的独占访问。

锁的难点在于它们不具有容错性。如果持有锁的进程死亡或忘记释放锁,则除非有附加软件来检测这些动作并打破锁定,否则锁就会存在。

出于这个原因,为锁添加到期时间更安全。这把 变成租约

我们在两阶段和三阶段提交协议中看到了这种方法的一个例子。两阶段提交协议使用锁定,而三阶段提交使用租用; 如果租约到期,交易将被中止。我们也看到了这种方法,保持对远程对象的引用。如果租约到期,服务器认为该对象未被引用并且适合于删除。客户负责定期更新租约,只要它需要这个对象。

租赁方法的缺点是在租约到期之前资源不可用。现在我们有一个权衡:失败后可能会有很长一段时间的租赁,或者需要经常更新的短租赁。

层级租约与共识
在具有复制组件的容错系统中,应该通过运行共识算法来授予资源租约。

Paxos的角度来看,很明显,虽然没有大量的消息传递发生,但涉及到的玩家数量很多,因此在使用该算法时存在一定的效率成本。折中方法是使用一致性算法作为选举算法来选择协调器。

该协调员被授予大量资源或系统状态的租约。现在,协调员负责为全部或部分系统状态分配租约。

当协调员的主要租约到期时,必须再次运行一致的算法来授予新的租约,并有可能选出一个新的协调员,但是不必为每个客户端都运行,请求;

这是由协调员简单地处理。

比特币解决拜占庭将军问题@刘教链-Ai神吐槽

比特币解决拜占庭将军问题@刘教链

丢失的拜占庭将军问题之谜 众所周知,比特币作为一个开放的、分布式的点对点网络,所需要克服的一个非常关键的问题就是拜占庭将军问题,也就是关于分布式共识的问题。 共识机制,也是区块链领域一个非常热门的创新点。各种项目层出不穷,热衷于向大家推销的...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(3816)去评论
链上区块链 链下区块链 数据协同@张开翔@FISCO BCOS开源社区-Ai神吐槽

链上区块链 链下区块链 数据协同@张开翔@FISCO BCOS开源社区

原文标题:一文说清“链上”和“链下” 什么是“上链”?什么数据和逻辑应该“上链”?文件能不能上链?链上能不能批量查数据?“链下”又是什么? “链上”、“链下”诸多问题,一文说清。 什么是“链上”和“链下” 区块“链”的链,包含“数据链”和“...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(3903)去评论
FileStorm共识机制:去中心化存储成本可靠性会比中心化低本身就是一个伪命题_存储分片_星际风暴傅献农(献哥)-Ai神吐槽

FileStorm共识机制:去中心化存储成本可靠性会比中心化低本身就是一个伪命题_存储分片_星际风暴傅献农(献哥)

最近很多朋友问FileStorm是采用的什么共识机制,这里我写个文章解释一下。 IPFS协议 区块链的一个核心价值就是建立了一套信任机制,让不同的个体和团体能把计算资源共享,将计算能力大大提升。同理,区块链也可以用来实现数据存储的共享,提升...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(6469)去评论
OFGP_开源网关协议实现跨链价值流通_iBitcome去中心化钱包_Braft跨链共识机制_蓝狐笔记-Ai神吐槽

OFGP_开源网关协议实现跨链价值流通_iBitcome去中心化钱包_Braft跨链共识机制_蓝狐笔记

最近蓝狐笔记关注到OFGP的跨链解决方案,它是通用的去中心化的网关系统,它采用了联盟链的方式来推动跨链价值流通,就目前阶段,落地性较好,也是蓝狐笔记期待能快速落地的一个跨链方案,值得关注。 OFGP是开放联盟网关协议,英文称之为Open f...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(5244)去评论
BM看待PoW工作量证明共识机制_蓝狐笔记-Ai神吐槽

BM看待PoW工作量证明共识机制_蓝狐笔记

PoW真的是“浪费”的共识机制吗?本文作者是BM,可能很多人都会惊讶,毕竟他一直对DPoS青睐有加,本文中他认为特定的工作量证明有价值,对生态发展有益,尤其是通过稀释短期投机者来补贴长期投资者,可以让网络更安全。 来源:蓝狐笔记 ID:la...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(4822)去评论
区块链信任机制怎么建立?人类相信科学_陈利人_订阅号待字闺中-Ai神吐槽

区块链信任机制怎么建立?人类相信科学_陈利人_订阅号待字闺中

人们常说,区块链解决了信任问题,那么,到底是什么意思?怎么解决的?换句话说,区块链的信任从哪而来? 首先是信任从数学和密码学而来,人类相信科学。 数学和密码学 完全随机的随机数生成器,保证了每次都会生成真正不同的随机数。这样,每次使用数字钱...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(5102)去评论
长铗_区块链论语第九篇_区块链信用_PoW_为什么要挖矿_刘韧-Ai神吐槽

长铗_区块链论语第九篇_区块链信用_PoW_为什么要挖矿_刘韧

我必须强调“这是我所理解的”,因为现在每个人都在讲区块链思维,每个人头脑中都有自己理解的区块链。我会用几个典型的问题来引入,为什么说互联网是区块链的镜像,它就像互联网的平行世界。 区块链重构信用体系 区块链的信用和支付宝传统信用有区别。传统...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(5207)去评论
DPoS共识机制_委托股权证明_LoomNetwork-Ai神吐槽

DPoS共识机制_委托股权证明_LoomNetwork

委托股权证明(DPoS)——它是PoS的一种变体,以限制网络上验证者的数量为代价,提供高级别的可扩展性。 在本文中,我们将介绍DPoS的工作机制、优势、权衡,以及如何减轻这些权衡以实现更高级别的可扩展性,同时避免审查和双重支出的风险。 Dp...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(11810)去评论
POS挖矿模式POW挖矿_对比-Ai神吐槽

POS挖矿模式POW挖矿_对比

POW挖矿可以认为就是所有需要买矿机挖矿的、用显卡挖矿的币种,而不用挖矿的币种就是POS。 POS挖矿的方式跟我们买矿机挖矿的这个币种不一样,POS通过把币锁在钱包里,通过钱包来挖矿,这是不消耗电能的,不需要购买专业的挖矿设备的。其实在过去...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(12720)评论(2)
BM为EOS节点更改EOS白皮书2.0_EosLaoMao老猫-Ai神吐槽

BM为EOS节点更改EOS白皮书2.0_EosLaoMao老猫

以下这篇关于 EOS 白皮书内容变动的文档,本来是 EosLaoMao 的运营 赵余 写出来作为内部分享的,但我建议他将这篇公开,因为,就算节点和节点之间有竞争关系,但社区之间,更加重要的是合作关系,所以,这篇提纲契领的对比文档,贡献给大家...

赞(0)Ai神吐槽Ai神吐槽区块链技术 阅读(6011)去评论

讨论群终身200元

永远不解散,不涨价。不荐股、不带单。
ai学习安装,美股分析交流,不构成任何投资建议。终身免费指导。
AI产业链资料整理+资料库

联系我们