主页 > 苹果手机如何下载imtoken > 比特币和区块链:分布式系统的共识问题和比特币共识问题

比特币和区块链:分布式系统的共识问题和比特币共识问题

苹果手机如何下载imtoken 2023-05-29 06:21:28

接下来我们要谈的是比特币和区块链中一个非常重要的问题:共识问题。 但是为了充分理解共识问题,我们需要谈谈分布式系统的一些重要理论基础。 在此基础上,我们从分布式系统的角度对比特币共识问题给出更准确的定义。

P2P系统是一种分布式系统,比特币是一种P2P系统,所以比特币中的共识问题和分布式系统的一致性问题是一脉相承的。 图灵奖获得者兰波特说:分布式系统的核心问题是一致性问题。 事实上,比特币的共识问题是分布式系统共识问题的一个特殊版本。

那么什么是分布式系统的一致性问题呢?

我们先来看一个例子。

办公室里有一堆人在讨论去吃午饭,让我们简单点吧,假设是三个人。 这三个人各持己见。 显然没有办法决定最后去哪里吃午饭。 如果你不能决定去哪里吃午饭,那么这些人要么吃自己的饭菜,要么就饿着肚子。 假设我们把一起吃午饭作为小组的目标,这意味着他们三个无论如何都必须同意。 那么问题来了,固执己见是不够的。

该怎么办?

这就需要一套严格的约定,而这套约定机制可以保证集体达成共识。

我们可能会觉得这群人都是白痴,吃午饭都这么麻烦。 但是如果把人换成节点,把整个系统换成一个集体,就没有可靠严格的协议了,这些节点之间真的是三个吃午饭的白痴,各持己见。 整个系统会因此进入不一致状态。 因此,对于分布式系统的一致性问题,最简单的理解就是分布式系统中的节点可以通过一定的协议集协商出一个一致的结果。

做这种协议最简单的方法是选择一个领导者,通常称为领导者。 领导选好后,领导说去哪里。 这个问题不是解决了吗? 当然不是那么简单。 因为选择领导的过程本身就和选择吃饭的地方是一样的问题。 所以我们还是没有解决选领导的问题。 这意味着我们需要一个协议来规定领导人的选举。

有人说很简单,先喊出来的人就是领导。 但是在分布式系统的世界里比特币系统的一致性,没有这么简单的事情。 例如,A 和 B 几乎同时说他们是领导者。 由于网络延迟等问题,C看到A先到,D看到B先到。 那么按照规则C和D认可的leader是完全不同的。 这就涉及到分布式系统中的时间问题。 由此引出不少话题。 为了解决分布式系统中的时间问题,各个研究者提出了各种解决方案。 从早年的 Lamport 到最新的 Google 在 Spanner 中使用 GPS+原子钟。 总而言之,时间问题是解决分布式系统一致性问题的一个关键点。 如果我们深入研究这些分布式系统的协议,它们的应用场景都有关于时间的假设。

这还不算完,有些机器可能会因为不明原因出现故障,无法联系。 可能联系不上的机器过段时间又能联系上。 那么这些机器呢? 在他们联系不上的这段时间里,系统能不能做出决定,如果能做出决定,他们上线后如何同步到系统的最新决定。 我们可以想象,如果系统中有很多离线和断开连接的节点,超过一半,系统肯定瘫痪了。 但是这个系统能丢多少机器,其他节点还能达成共识吗? 这也是分布式系统一致性的一个关键方面。

还没结束。 到目前为止,我们假设这些机器正在正常工作。 如果其中一些机器被黑客入侵,或者他们居心不良比特币系统的一致性,不遵守规则。 当一个系统中有遵守规则的好人和不遵守规则的坏人时,这个系统还能达成一致吗? 叛徒和失去联系之间有区别吗? 如果没有区别,应该怎么办? 如果有差异,其他节点将无法就系统中有多少叛徒达成共识。 这是分布式系统一致性的另一个方面。

因此,分布式系统的一致性问题简单的说就是一个系统可能因为网络的原因对每个节点看到的时间不一样,当节点可能失去连接,系统可能混入敌人,等等一系列的状态,如何就某件事达成共识,如何保证系统中的每一个节点,包括后续的节点,都能同步到这个一致的状态。

在讨论分布式系统的一致性时,我们通常会有一个时间维度。 简单的说,一个分布式系统需要多长时间才能达成共识。 最常用的两种模式是:强一致性和最终一致性。 强一致性简单的说就是系统能够在限定时间内完全达成共识。 最终一致性只是意味着系统最终会达成共识,但达成共识的时间可能会很长。

对应比特币的共识问题,其实比特币的共识问题就是比特币系统的各个节点对账本是什么达成一致。 这是一个最终的一致性问题。

极客社区:区块链极客社区起源于北美顶尖工程师社区,核心成员来自各大科技公司和顶尖大学。 社区以打造世界一流的区块链生态为目标,以推动区块链技术普及为己任。 希望站在区块链时代的前沿,与用户分享最优质的区块链资源! 在这里,您将获得最权威的区块链教程、最新鲜的区块链资讯,以及对接顶级区块链生态的机会。

加入我们,与硅谷巨头、常春藤学府一起,品酒谈链;

加入我们,拥抱区块链去中心化的朝阳,破旧立新,让思维碰撞,让智慧共享;

加入我们,肩负区块链时代赋予我们的独特使命,不忘初心,砥砺前行!

不割韭菜,只谈技术,工程师专属社区!