1. 首页
  2. 业界观点

开发明星Hans Moog:信任机器(2)—分布式账本技术领域的模型

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

在本系列博文的上一部分,我们讨论了基于稀缺资源的sybil保护机制是如何造成可扩展性的三难问题的,以及使用真实世界信任的不同形式的sybil保护是如何有效克服这些和其他限制的。

在继续介绍规范的缺失部分之前,我想绕个弯子,建立一个模型,让我们不仅对所有现有的,而且对潜在的未发现的共识机制进行分类。

这个模型不仅可以指导我们的设计决策,而且还可以让我们更容易理解:为什么我认为我提议的共识机制优于现有的解决方案?

基本认知

为了能够开发这样一个模型,我们首先需要了解关于分布式账本的一些基本认知。

1. 两种形式的通信

所有现有的DLT都使用两种具有不同属性的通信形式。

1.1 点对点通信

点对点通信是基于使用专用连接直接联系对等体。它可以比作拨打你奶奶的号码,然后和她通电话。

这种形式的通信的好处是它非常快,而且可以交换个人信息。

这种通信形式的缺点是,它在大型网络中不能很好地扩展(想象一下同时有成千上万的电话),而且有必要公布自己的电话号码(IP地址+端口),这就容易开启DDOS攻击向量–攻击者不断地呼叫我们的号码,阻止诚实的连接建立。

1.2 Gossip(流言)协议

流言协议是基于点对点的通信,但不是单独联系每个网络参与者,而是节点拥有有限的邻居,他们与之交换信息。

任何收到的消息都会被转发给邻居们。如果邻居的数量大于1,那么消息就会以指数级的速度传播到所有的网络参与者。

这种方法的好处是,它的速度相当快,不需要向所有网络参与者透露自己的地址,而且可以扩展到任意大的网络。

这种方法的缺点是不可能交换个人信息–所有节点看到的信息完全相同。

2. DLT中的节点的时间相对性看法

根据定义,去中心化网络中的节点在空间上是分离的(分布式)。由于信息以最大速度传播,他们自然会以不同的顺序看到信息。

原因很明显:由于节点是存在于我们宇宙中的计算机,它们继承了存在于我们宇宙中的同样的物理限制,因此它们也继承了相当于同时性的相对论,即网络中的不同坐标(节点)对时间的感知是不同的。

试图建立一个共识机制,无论如何试图建立一个事件的总秩序(如区块链)是可能的,但有点违背节点如何感知他们的宇宙的性质。

事实上,全局排序的唯一方法是通过限制宇宙的大小(验证者的数量)或人为地放慢信息,使网络变得同步。

3. 共识意味着投票

节点以不同的顺序看到消息的一个直接后果是,在存在冲突的情况下要达成共识,我们需要投票决定哪个冲突的消息应该获胜。

这意味着每一个现有的共识机制最终都是一种投票机制,对最佳DLT的追求也相应地是对最有效和最灵活的投票机制的追求。

现在我们已经了解了这些基本认知,我们可以继续通过比较两个主要的共识机制来发展我们的模型。

经典的共识

与流行的看法相反,共识研究并不是从2008年的中本聪开始的,而是早在几十年前的1980年代,Paxos家族及其后续算法的工作就已经开始了。早期,这些算法只提供了容错性(对崩溃或不响应的验证者的弹性),但后来被扩展到对任意的拜占庭容错(验证者说谎或主动试图破坏系统)的安全。

这些算法不仅提供了非常快的终结时间(具有确定性的终结),而且它们也被研究得非常好,并证明能容忍1/3的恶意行为者。

然而,与中本聪区块链相比,它们确实有一些缺点,这很可能是我们没有更早看到DLT革命的原因。

1. 它们只适用于几十个验证者

这些算法是基于对所有其他验证者意见的了解,这需要节点使用点对点的通信方式定期查询对方。这有二次信息传递的复杂性,这意味着在更大的网络中,维持共识所需的吞吐量会过大。

2. 他们只在固定的委员会环境下工作

所有的网络参与者都需要事先就所有验证者的身份达成一致,无法适用于一个开放和无许可的设定条件下的网络部署。

3. 它们容易受到DDOS攻击

这些协议是基于使用点对点通信协议直接查询对方,这使得它们很容易受到DDOS攻击。

结合验证者的数量必须很小的事实,使得只需攻击几个验证者(1/3,大概在7-11个节点左右),就可以相对容易地破坏整个网络。

中本聪共识

在很长一段时间里,我们似乎知道关于共识的一切和它的局限性,直到一些意想不到的事情发生。2008年,中本聪发表了他的比特币白皮书,优雅地解决了几乎所有的问题。

比特币最大的突破是在区块链(Stuart Haber和W. Scott Stornetta于1991年发明的一种数据结构)之上引入了投票方案,可以使用流言协议在节点之间有效地复制。

由区块生产者定期发布的区块,包含了被添加到账本上的状态变化,以及对前一个区块生产者的区块的引用。通过这个引用,区块形成了一个链,每个区块都隐含地批准了所有以前的区块,这代表了发行者对他认为正确的链的投票。收到最多投票的链(最长的链)获胜。

它不需要所有节点定期与所有验证者联系,而是依靠定期考虑一个随机选择的验证者的意见,其声明被添加到区块链中,并复制给所有其他网络参与者。

好处

这两个小变化(只考虑单一的意见和使用流言协议来分发)对共识算法的属性产生了巨大影响。

1. 无限的网络规模

由于能够使用八卦协议,Nakamoto共识可以扩展到无限的节点数量。

2. 无信任的验证

由于区块链被复制给所有的网络参与者(即使是那些没有积极参与创建区块的人),他们可以获得相同的信息,并可以应用相同的状态变化。此外,以前离线的节点或后来加入网络的节点有可能下载所有以前的区块,并得出相同的结论,而不必相信第三方。

3. 不变性

由于区块是通过哈希值连接在一起的,所以区块的内容是不可改变的。即使改变一个比特,也会导致包含的区块改变其哈希值,并破坏链。

4. 拜占庭的阈值比经典共识要高

中本聪共识不是只能容忍33%的恶意行为者,而是能够容忍50%的不良行为者。

5. 稳健性+动态可用性

由于节点使用流言协议进行通信,验证者的IP地址不必公开暴露给所有人。这样就很难通过攻破单个参与者或通过进行DDOS攻击等方式来伤害网络。此外,即使有大量的区块生产者离开网络,网络也会继续运行。

6. 网络可以是开放和无许可的

网络参与者不需要就所有验证者的身份达成一致,而只需要同意他们看到的区块是否有效。与 “工作证明 “相结合,这使网络变得开放和无许可,而不需要建立一个共享的身份认知。

7. 灵活性+自由度

然而,这种投票方案的真正魅力在于其灵活性。它并不局限于工作证明,而是让你对如何选择区块生产者的方式有完全的自由。

这开启了整个领域的试图更有效地选择区块生产者的研究。乃至今天,我们有了PoW链(比特币)、PoS链(Cardano)、VDF链(Solana)、许可链(Hyperledger)、半许可链(EOS)和其他各种变种。

这种自由度和灵活性是所有DLT中99%使用区块链的原因。

得失

尽管中本聪共识有很多真正引人注目的特点,并且是第一个在大规模网络中实现稳健分布式共识的方法,但它也有它的缺陷。

1.概率最终性

与经典共识相比,中本聪共识的第一个缺陷是它使用了一个概率的最终性。这意味着,在中本聪共识中,事情永远不会成为真正的最终结果(只是越来越难被恢复)。在比特币中,一旦事情被6个区块批准,通常就被认为是最终结果。

2. 缓慢的确认

由于事情在被认为是 “不可逆转 “之前必须得到一定数量的区块的确认,并且由于区块必须以相对较大的延迟发出,所以在事情被认为是被确认之前需要很长的时间。

定义模式

这两种被命名的共识机制在其属性上是如此不同,以至于它们很可能处于DLT整个谱系的两端。

根据这一假设,我们选择了两个最显著的差异–用于投票的通信形式和验证者的数量–作为我们模型的基石。

结果是一个有6个象限的二维空间,6个象限中只有5个代表DLT的可行选择,一个是经典的集中式客户/服务器架构,我们从PayPal或Visa等服务中知道。

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

通过观察一个协议的这两个方面,我们可以得出它的几乎所有特征和权衡。此外,根据一个项目在这个模型中所占据的空间,考虑到象限所规定的缺点和限制,它只能变得更糟,但永远不会比更好。

将不同象限的方法结合起来是可能的,它可以获得多个象限的最好结果,但这也会导致相应的缺点和权衡的继承。

让我们来看看DLT的一些最重要的衡量标准吧!

概率性与确定性的最终性

最简单和最明显的分类之一是将具有以下特点的协议分开。

  • 确定性的最终性,这意味着事情是真正的最终的,系统中没有回滚的机会。
  • 概率最终性,这意味着事情越来越难被逆转,但它们永远不会真正最终。

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

如果网络中的每个节点都知道每个验证者的确切意见,那么他们中的任何一个都不可能进来假装他实际上是指别的意见。

然而,如果我们只考虑所有验证者中的一个子集的意见,那么可能会有一个很小但非零的机会,即我们最初听到的是少数人的意见。因此,回退是可能的,但可能性会越来越小。

虽然概率终结性一开始听起来比较逊色,但它通常被认为是同样安全的,因为它允许更多的恶意节点(50%而不是33%)和更大的网络(后面会详细介绍)。

到最终结果的时间

另一个重要指标是交易最终完成所需的时间。

在给定的时间内能收集到的意见越多,就有可能越快达到网络中所有节点对多数意见有类似的看法。

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

因此,所有不限制收集的意见数量的共识机制都应该有合理的快速确认时间。

可扩展性(支持的网络规模)

每个DLT都是基于分布式节点的点对点网络,其中至少有一些节点充当验证者(或共识生产者)。

为了分析网络在支持的验证者和节点数量方面的可扩展性,我们将单独看一下每个象限。

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

点对点通信/所有验证者

这个象限代表了研究得最透彻的一类共识算法–经典的共识算法。

从前面的讨论中我们知道,它们只支持几十个节点的非常小的网络规模(由于信息传递的复杂性是二次的)。

流言协议/所有验证者

由于这种类型的DLT仍然考虑所有验证者的意见,它继承了与前一类相似的限制。然而,流言协议的使用可以被认为是潜在的更有效的,这应该增加前一类的可扩展性,大约1个数量级,这意味着这样的DLT应该能够处理多达1000个验证者(有可能是无限量的共识消耗节点)。

点对点通信/验证人子集

由于收集的意见数量是有限制的,我们希望信息传递的复杂性也是有限制的。

这意味着支持的网络规模理论上是无界的。然而,只有在所有节点之间平等地分配相互查询意见的负载时,这才是真的。例如,如果有一个验证者比其他人更有影响力,那么这个节点将被更频繁地查询。

不存在一个能产生完全平等的权重分布的单一的Sybil保护。这意味着网络规模可以比前两类大,但就所有实际目的而言,它仍然是有界限的。

流言协议/验证者子集(包括单一验证者)

这类共识机制通过流言来分配意见,这意味着所有节点最终都会看到相同的消息。其结果是,即使是在共识中具有很大影响力的验证者也只需要发送一次他们的意见,而不需要被每个节点查询。

其结果是一个可以扩展到无限数量的节点和验证者的网络。

安全性和稳健性

另一个非常重要的指标是协议的安全性和稳健性,按照上一个例子,我们将单独讨论每个象限。

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

点对点通信/所有验证者

这个象限最大的问题是,只有很少的验证者必须通过公布他们的IP地址来暴露自己。因此,用DDOS攻击等方式攻击网络变得非常容易。

流言协议/所有验证者

支持的验证者数量相对较多,再加上节点可以通过使用流言协议来掩盖他们的IP地址,使得这个系列的共识机制可以很好地抵御外部攻击。

事实上,意见是通过流言来复制的,这将进一步确保所有节点看到相同的信息,并得出相同的结论,这将排除诸如协议失败的情况。

点对点通信/验证人子集

节点暴露他们的IP地址作为协议的一部分,这使他们容易受到DDOS攻击。然而,这只对节点本身构成威胁,而不是对整个网络构成威胁,因为支持的验证者数量有可能很大。

然而,节点基于对世界的主观感知形成自己的意见这一事实,确实允许像协议失败这样的事情发生。有可能使这种可能性相对较低,但不可能完全排除它们。

流言协议/验证人子集(包括单一验证者)

这一类可以说是我们所知的最安全、最稳健的共识机制的所在地。

八卦协议的使用不仅排除了协议失败,而且还允许节点隐藏他们的IP地址,作为八卦协议的一部分,这使得个人节点很难被攻击,从而使整个网络受到攻击。

自由度(Sybil保护)

DLT革命是通过降低对验证者身份的绝对共识的要求而开始的,即对八卦信息的权重的绝对共识。

这听起来是一个小的变化,但它使外部的虚假保护(如工作证明)得以整合。由于我们想建立一个直接使用信任的DLT,这是最重要的衡量标准之一,我们将再次单独讨论各象限。

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

所有验证者

基于收集所有验证者意见的共识机制显然需要对这些验证者的身份有绝对的共识。

点对点的交流/验证者子集

收集验证者子集的意见的想法旨在获得对所有验证者意见的估计。这种估计显然不是100%的准确,这意味着共识机制需要有一种方法来解释这种不精确性。

如果他们允许在收集意见时有不精确性,那么他们也有可能会处理关于验证者的权重的近似共识。

流言协议/验证者子集

与前一类相似,我们希望这些共识机制有可能能够处理收集到的意见中的某种不精确性。

然而,流言协议的使用确实稍微增加了自由度,因为它只要求对流通信息的权重达成大致的共识。

由于所有节点最终都会看到相同的消息,我们可以允许验证者的感知权重存在一些额外的不精确性。

流言协议/单一验证者

如果节点只考虑一个验证者的意见,那么我们就需要有一种方法来处理不同验证者的冲突声明。

决定这些分叉的唯一方法是对每个声明的权重达成绝对共识。

总结

我们已经引入了一个模型,使我们能够将DLT分为5个不同的类别。这些类别决定了它们大部分的基本属性(独立于其余的设计决定)。

下面的图表显示了所检查的属性的概况–用颜色编码,从绿色(好)到红色(坏)。

开发明星Hans Moog:信任机器(2)---分布式账本技术领域的模型

不是由多种不同方法组合而成的共识机制的数量相对有限。下面的图表显示了一些最重要的机制。

启示

中本聪共识是我们所知的最稳健、最安全、最具可扩展性的共识机制,通过区块链这样的复制数据结构的概率终结性,不仅为我们提供了一个完全消除协议失败的工具,而且还证明了只要超过50%的验证者是诚实的,它就是安全的。

但是,虽然这对于未分片的系统来说似乎非常有利,但对于分片来说却成了一个巨大的障碍。

由于区块链的定义是追踪一条最长的链,所以分片这种系统的唯一方法是并行地运行多个实例。其后果是,分片之间需要存在某种形式的通信协议。否则,就不可能在分片之间移动资金,它们将被完全隔离。

然而,为了实现分片之间的资金转移,我们要么需要对最终结果有一个精确的感知(这在Nakamoto共识中是设计上的缺失),要么需要有能力进行跨链回滚,这被认为是很难以合理的方式实现。

要可靠地分担这样一个系统,唯一的办法是对可能的回滚长度有非常悲观的假设。这就是为什么驱动链(比特币的扩展建议之一)需要多个月才能在两个分片之间转移资金的原因。

但是,这不仅仅是分片的问题,这构成了一个问题。缓慢的确认时间阻碍了很多与加密货币被用作数字现金形式有关的用例。等待数分钟甚至数小时来确认一项交易是完全不可行的。著名的 “用比特币买咖啡 “的例子表明,对于许多现实世界的用例,我们需要更快的确认。

比特币至上主义的出现

一个新技术只有比现有的解决方案更好,才能获得成功,这一认识与之前的观察相结合,导致了加密货币社区的巨大裂痕。

一边是设想DLT将在人类未来发挥重要作用的加密货币爱好者,他们希望不惜一切代价使这项技术获得成功;另一边是比特币极简主义者,当涉及到系统的安全性或稳健性时,他们不愿意做出任何折衷。

他们认为,我们已经有了一个用于日常支付的法币系统,唯一真正缺少的是一个安全的价值存储。他们不认为比特币是一种交换媒介,而是一种随着时间的推移传递价值的方式。

这些论点确实有道理,但前提是我们假设没有其他的解决方案来解决上述问题,而我们只是还没有找到而已。

混合解决方案

为了克服这些限制,大多数当代DLT试图结合不同的解决方案,以获得多个世界的最佳方案。

目前最流行的方法是,随机选择所有验证者的一个小子集,作为一段时间(一个纪元)的共识生产者,并让他们运行一个经典的共识算法。他们将自己的决定作为区块链中的一部分进行传播,这使得这些项目能够将分片所需的快速和确定性的最终结果与传统区块链的可扩展性相结合。

然而,通过在区块链上使用经典的共识算法,它们不仅变得更加复杂,而且还交换了使中本聪共识强大的部分原因,以获得更快的确认。这也是为什么比特币至上主义者不喜欢很多现有的下一代项目的原因之一。

事实上,如果有一天,1/3的随机选择的验证者(大约7-11个节点)不能及时产生共识声明,这些较新的区块链项目将面临巨大的问题。

其中一些会简单地停止确认交易(譬如ETH 2.0),而另一些则会完全停止,不得不通过硬分叉重新启动(譬如Cosmos)。

考虑到DLT的目标是为人类的货币未来创造一个技术基础,这些权宜之计似乎是非常有问题的。

只要DLT主要用于投资目的,接受这些权宜之计可能并不那么关键,但一旦我们谈论将它们作为交换媒介融入我们的经济,这种脆弱性就会对整个社会构成巨大威胁。

想象一下,一个外部攻击者能够在战争开始前通过DDOS攻击十几个节点来瘫痪整个国家的经济。事实上,这些节点假设由普通人运行,他们不一定是保护其基础设施免受复杂攻击的专家,这使得这个问题更加严重。

未开发的象限

如果我们看一下我们的模型,我们意识到有一个象限(流言协议/验证者子集),目前还没有被任何共识机制所覆盖。

这个象限不仅解决了Nakamoto共识的缺点,没有任何额外的权宜之计,而且在涉及到所使用的Sybil保护机制时,它也提供了最大的灵活性。

目前还没有现存的共识机制在这个象限运行的说法实际上是不正确的,因为目前有两个项目正在研究这样的共识机制。其中一个是SPECTRE协议,它使用BlockDAG来允许验证者并行发布确认,另一个是IOTA,它是完全无区块的。

虽然SPECTRE肯定增加了原始Nakamoto共识的可扩展性,但它仍然需要对消息的权重达成绝对共识,以决定冲突的声明。这就强制使用了基于稀缺资源的Sybil保护,如工作证明,并有其所有的缺点。

只有像IOTA这样的无区块协议,能够对每一笔交易的命运进行单独投票,能够完全利用给定象限的所有好处,因此有可能直接将信任纳入DLT。

通过使用Cardanos EUTXO模型,这种无区块的架构甚至能够直接对智能合约进行建模(无需进行全局排序)。状态可以以输出的形式放在公开的地方,而不需要依赖一个建立所有请求的总秩序的实例。如果两个实体想同时消费同一个状态,那么共识机制将确保只有其中一个成功。

结论

我们开发了一个模型,使我们能够判断不同的共识机制的潜在好处和缺点,而不受其具体设计决定的影响。

通过比较潜在的好处和缺点与实际的好处和缺点,我们可以发现相应DLT设计中的低效率。

这将有助于我们判断后续的博文的设计决策,并让我们了解IOTA离你能达到的实际最佳状态有多远。

原文链接:https://husqy.medium.com/the-trust-machine-part2-a-model-of-the-entire-dlt-space-f169fe527c75

本文原文非中文版本,由BruceX进行翻译,如若转载,请注明出处:http://www.iota.love/202106/the-trust-machine-part2-a-model-of-the-entire-dlt-space/