Tezos分类帐最突出的一个方面是通过接受和部署协议升级来实现自我管理的能力,无需硬分析。块链协议的参与者通常遵循一套固定的规则。硬叉是这些参与者打破其中一些规则并开始遵循不同规则集的过程。已经建议使用硬盘作为引入新功能并跟上加密分类帐创新的方法。然而,这种突然变化的规则可能会导致治理问题。没有一个明确的程序在硬叉上融合特定的行动方式,参与者就会猜测其他参与者将选择哪个规则。

Tezos规则规定了自己的规则的自我修正。因此,创新和变革是可能的,而不需要硬叉。你可以在这个视频中看到我说“没有必要的硬盘”。事实上,Tezos并没有必要在硬件上加入新功能。

然而,在Tezos的生活中几乎肯定会有硬叉。请允许我解释一下。在有些情况下,通过治理模型对账本进行更改是不实际的,并且没有比简单的硬叉更有优势。在这些场景中,期望的更改通常是没有争议的,并且在参与者中广泛地需要。这里有几个例子:

照片来自Billie Grace Ward

在2011年,发现Bitcoin代码包含一个整数溢出错误,让任何人都可以生成非常大量的比特币。代码的逻辑是单独检查每个输出,但并没有防止总计超过溢出:0 btc等于92,000,000,000 btc + 92,000,000,000 btc。幸运的是,Bitcoin,由于Bitcoin开发人员的勤勉尽快修复,甚至可以将其固定为一个软叉,一个fork的变体,它只限制一组有效的块,并且可以被节点验证器强制执行在这种情况下的矿工),一个人。

Tezos代码库努力根除尽可能多的错误(例如,所有tez数量都被输入并封装在一个模块中,以防止意外溢出)。然而,错误可以而且确实发生。这种性质的错误不能通过缓慢和审慎的治理程序轻易解决。发现数十亿的硬币可以从这个空气中创造出来,这是一个需要立即采取行动的问题。它不能等待举行预定的投票。

幸运的是,令牌持有者谁真的相信渲染网络通过让任何人打造百亿硬币不能用是不合法的选民最好的行动方针。技术和政治决定在权力下放的块上可能会有一个模糊的界限,但这种情况恰恰落在“技术决策”类别中。

如果Tezos一直受到这种性质的错误的困扰,那么当然会遇到一个难题。这不仅仅是我是规范性的(虽然我当然支持这样一个分支),但这只是一个事实的陈述。在这种情况下会发生硬叉,它将被视为合法分支。

紧急错误修复是硬叉的一个很好的理由(如果可能的话,可以使用软叉)。

还有其他的情况下,我可以看到Tezos块链难拼。假设例如新的协议升级希望利用配对密码术。一种可能性是在OCaml中实现配对密码库,并将其包含在更新中。另一个是依靠像RelicPBC这样的现有图书馆。例如,我们当前的协议依赖于外部libsodium来提供大多数加密原语。我们也可能要包括Zcash-Bellman图书馆。严格来说,添加外部依赖应该被认为是硬盘。但是,如果参与者同意依赖该图书馆的升级,

偶尔添加有用的外部依赖关系,特别是加密库,是硬盘的完美的理由。它几乎没有注册为一个。

硬叉不是“需要的”。我们可以在OCaml中重新实现配对密码术(OCaml擅长编写处理抽象代数的程序,但是它的GC使得它不那么适合避免边信道攻击)。我们还可以在协议中嵌入LLVM解释器,并将外部库的编译源作为字符串传递。推来推,我们不会被卡住。我们不会依赖于硬叉,这意味着我们不必依靠有足够的下面来推动它的任何一方集中。但是,如果硬叉是最低的水果,而且这个问题是微乎其微的(安装利益相关者已经批准的升级所需的依赖关系),那么使用它是非常好的。

我们希望避免强硬,因为作为引入创新但有争议的变化的机制,它们往往集中在一起。我们不这样做是因为一些奇怪的固有的拒绝硬盘。我们重视实用主义。

Tezos治理失败的一些潜在情况常常出现:“如果一个恶意的政党贿赂大量的利益相关者,让他们投票决定破坏网络呢?”或者“如果一个大型的证明团体,股东代表决定伤害链条?“ Tezos有几种针对这种情况的内置保护措施,但也有硬叉的可能性。我们的原则和价值观表明,我们遵循自然结论的原则,但不是荒唐的结论。Tezos的目标不是与正常的游戏脱离现实。如果网络在治理机制的一些灾难性的失败中受到伤害,当然会硬派。

如果错误的或恶意的协议升级通过治理程序的各种防御措施,不要让其永久性瘫痪网络是硬叉的完全有效的理由。

硬叉不能很好地扩展到大型社区,它们可以具有集中效应。我们不认为他们是一个很好的可靠的工具,用于定期升级分类帐,但像革命一样,他们偶尔会在工具箱中占有一席之地,而且他们的可能性可以让许多演员变得诚实。让众所周知,Tezos旨在提供一个可靠的智能合约平台,具有动态治理模式,使其能够跟上创新,而不是提供有关难题的理论观点。

作者:ArthurB ,tezos创始人。