Author

Topic: 比特币的共识将如何实现? (Read 163 times)

full member
Activity: 133
Merit: 100
February 07, 2017, 02:43:38 AM
#1
共识市场

从某个角度来说,比特币区块大小的争议可以被看成是比特币共识规则如何落实的争议。这些规则是否应该像Core开发团队的核心人物那样主张的被设置成像石头那样难以改变呢?还是应该像Bitcoin Unlimited的提出的那样被设置成按每一个节点运营者的自主决定并且总体上实现共识涌现那样呢?

许多人喜欢比特币看作为资产,认为其属性就应该一成不变的想法,并且他们认为比特币的货币属性和抗审查属性永远不会被消弱。但这并不是真实的。可以将一款软件的共识参数设置成“像石头”一样是一个幻想。

由于不可能强制他人运行特定版本的软件,也无法防止他们修改代码,共识规则总是以从下至上的方式由网络参与者共同选择决定的。理解这些参与者选择的激励因素,以及这些个体的节点运营者的选择之间的相互影响最终涌现出共同的特性,有助于我们理解未来的共识规则是如何演变的。也许这种理解可以帮助我们建立让比特币属性根植于市场要比设置成一成不变的石头更有利的信心。

为什么节点会遵行共识规则

目前的比特币网络确实是跟随由Bitcoin Core客户端植入的代码规定的共识规则,但这仅仅是一个稳定平衡的一种形态。一个节点选择这个规则只是因为所有其他在这个网络中的节点都被强制遵守这些规则。一个矿工不会希望浪费POW计算量去生产一个孤块,因为这会导致他们失去区块奖励。一个商家不会希望看到他用于出售商品的交易被矿工拒绝打包,并且导致这笔交易双花。在这些例子中,我们可以观察到节点运营者接受或拒绝区块是遵行有效跟随网络共识目的的规则。

但是在软分叉下会发生什么呢?在一个软分叉过程中,矿工被引导增加新的有效区块规则,但在分叉前并不是强制性的。在这种情况下,矿工选择执行的新的区块规则就是改变比特币的属性,比如增加一个如支付到脚本哈希的新特性。

另外一个例子就是目前在比特币网络中的Bitcoin Unlimited节点运营者,他们有些人会无视目前的有效区块大小设定。这些节点依然能有效保持和Core节点的相互连接,但是如果矿工能够生产一条大于1MB区块的最长链,他们将会跟随这条链,但Core节点会拒绝这条链。在这种情况下,他们选择不强制执行1MB区块有效性规则的原因是试图将比特币视为一个整体系统,并对这个整体系统的属性进行影响。他们想要更大的区块。

因此我们可以看到,节点执行有效规则的动机可以分为两类:

1.节点强制执行区块有效规则,以和网络上其他节点保持共识。

2.节点强制执行区块有效规则,将比特币作为一个系统来看,并试图影响其属性。

如果参与网络的人在这个系统所有的属性上达成一致意见,那这两个动机就是完全一致的。

在决定哪些区块有效规则应该植入到节点是很简单的:我们简洁地指出哪些区块有效性规则可以引导比特币系统成为全球性的资产,并且让所有节点实现这些规则。

这是可能的,但是,这两个目标可能是不一致的。如果你认为网络应该遵行特定的规则,但网络的其余部分又不同意呢?如果有一部分非常坚定地认为某些特性是他们想整合的,并且他们愿意走自己的路,从网络独立出去和网络的其他部分分裂,无论是通过一个子系统,或者是创造一个区块链分叉,或者干脆从头开发参建一个山寨币。

但是如果这两个目标更加平衡,事情就会变得更加有趣和更复杂。我们需要将两个动机相混合,并且在两者之间取得平衡。托马斯谢林(Tomas Schelling)在他的书《冲突的策略》[1]中讨论了这种混合动机的动态变化。谢林提供了一个理论框架来理解那些既有竞争又合作的激励机制。

比特币网络参与者之间对比特币重要属性如何在网络中选择运行即相互冲突,又都强烈希望网络保持共识,谢林的分析对理解这种情况是非常有用的。

混合动机

当双方的利益一致时,混合动机策略可以看成是协调策略的组合;而当双方利益不一致时,混合动机策略则类似讨价还价策略。协调策略包含发出信号和收集信息以实现双方观点聚焦。讨价还价包括承诺策略到强迫服从,通常带有可接受的威胁报复。

这些策略同时具有风险和好处。为了了解这些策略如何动态地发挥作用,我们需要了解如何激励参与者,以及参与者风险承受能力,以及相互协作如何塑造参与者个体的行为,以及这些个体行为如何在大范围里的相互合作,使系统 涌现出特定的属性。

利用有效性规则充当分裂的挡箭牌

一个节点被强制遵行区块有效性规则就相当于受到威胁,如果不遵行就要被迫和其他节点分离,被踢出网络。无论是保持目前公认的规则,还是推动新的规则,节点影响网络接受的共识规则的方式都是通过威胁不遵守规则的节点就要被孤立来实现,不遵守这些规则也可能形成一个独立的团体。这种威胁的有效性取决于以下几个因素:

1.愿意被孤立的节点数量和其代表的经济意义。

2.被孤立的威胁传达给社区其他人的程度。

3.愿意跟随分裂分支的愿意和承诺。

4.新形成的独立团体的预期生存能力。这就是Daniel Krawisz的文章《谁控制着比特币》的主要思想[2]。在这种情况下,可用投资者的预期接受程度来估算实际的分裂可能性。

让我们来具体考虑几个例子:

例子1:区块大小有效规则

目前网络上的大多数节点实施一个规则,他们拒绝接收块大小大于1MB的区块。如果一个矿工挖出大于1MB的区块,他们「知道」(即,以非常高的可信度预测)这个块将会成为孤块,他们也会因此失去块奖励。即便大多数矿工同意建立一个包括大于1MB区块的链,如果所有的交易所和商家拒绝这个链,这个链也是没有价值的。通过运行软件来拒绝大区块,如果矿工生产大区块,经济体的大部分人会承诺从经济体中分裂。如果真的发生这种情况,市场将经历动荡,比特币价值将下降。因为这个威胁可信,所以矿工不会生产这样的链。矿工会追逐金钱,他们将跟随经济体中大多数的意志。

但让我们想象如果这个比例颠倒过来会发生什么。如果绝大多数比特币经济中重要的节点(交易所,支付处理商等)决定运行BU,而不强制执行1MB的块有效性规则,会发生什么?在这种情况下,如果一个小的经济弱小的人决定继续执行1MB块大小有效性规则,这对他们将是非常危险的。通过这样做,他们会拒绝一个包含大于1MB的块的链,即使大多数矿工通过工作量证明生产了这样的链,这将损害比特币的网络效应,从而降低其价值。然而,在这种情况下,矿工必须权衡这种网络效应的损失与更大的块的好处,他们预计更大的块将增加网络的价值。如果较大块的预期效益超过了网络分裂威胁的危害,那么他们可以选择生成更大的块。

例子2:2100万比特币有效规则

如果区块尺寸限制是通过自下而上的市场力量确定的,那么更重要的区块有效性规则,如比特币发行时间表和2100万比特币上限呢?这个过程会冒险违反比特币这种重要资产的有限供给原则么?

让我们考虑一个类似于最后一个例子的情况。大多数节点停止执行比特币的上限限制,也许他们相信,需要更多的通货膨胀以保持价格(以比特币衡量)不会迅速放缓,或者他们认为矿工需要额外的报酬来支付保护网络的费用。但少数节点不同意。许多长期持有者和忠实的货币信徒都誓言拒绝违反先前通货膨胀时间表的区块,即使它是最长的链。现在矿工必须评估:如果他们挖“通货膨胀比特币”,少数“普通比特币”会持续和保持价值的可能性是什么?两种比特币的市场价值如何比较?挖这种币的价格损失的风险是否会超过他们增加的区块奖励的价值?如果这些风险对他们来说很重要,那么“普通比特币”少数将能够阻止他们违反现有的比特币发行时间表,这是一个很难偏离的点。此外,其他经济节点,也类似地评估情况,将选择也执行现有的比特币发行时间表,以避免分裂和价格下跌的风险。

例子3:隔离见证软分叉

在软分叉的情况下,网络参与者协调添加先前未强制执行的新的区块有效性规则。这个过程通常由矿工引导,矿工可以孤立那些没有遵守新规则的区块。非挖矿节点不需要选择是否遵循新规则,而是跟随并接受最长的链,因此这也导致他们跟随遵循新共识的矿工。事实上,不实施新的有效性规则的节点将遵循并认识到大多数节点接受的链是有效的,这常常被认为是软分叉有利的原因。

在某种意义上,矿工可以使用软分叉来强制通过协议改动,无论非挖矿节点是否同意。然而,我们必须意识到,这对于那些被强制执行新软分叉规则的人来说是有风险的。如果社区的大部分人不选择将新规则应用到他们验证的区块,他们只是将跟随最长的链,但将改变之门打开很可能被逆转。新规则可能降低安全性,类似于SPV钱包的安全性。

在有争议的变化的情况下,这种风险会加剧。执行新软分叉有效性规则的那些节点必须认真考虑如果产生违反新规则的链,它们将与网络的其余部分分裂的风险,并且网络的大部分将在该较长链延续。

这种风险不只是理论上的。事实上,在BIP 66的软分叉之后,2015年7月就出现了这样一个共识失败。正在实施的改变是无争议的,它只是一个紧缩签名编码的规则,以确保它们遵循标准行为。是矿工之间的协调出现了问题。一些矿工表示他们将执行新规则,但实际上是不检查和不拒绝不符合新规则的区块。当一个违反新规则的区块产生时,这些矿工继续向前挖,并在这些块顶端延长区块链。这表明,当节点开始强制执行新的有效性规则时,存在共识分裂的风险。如果选择不执行新规则的群体数量很大,那么这种风险会更严重。

软分叉和硬分叉

以这种方式观察事物——意识到强制执行块有效性规则相当于威胁不执行新规则的节点踢出网络—— 给我们一种新的方式看待软分叉和硬分叉。

软分叉是节点开始执行以前没有生效的额外区块有效性规则。这将增加节点与其他节点发生共识分裂的风险,可能降低安全性以及对新的有效性规则的信任。

另一方面,硬分叉涉及到威胁下降。节点可以通过删除之前被强制接受的规则来接受硬分叉。这些节点将跟随最长的工作量证明链,因此它们与经济体中的大多数失去共识的风险很低。

现在已经确定,比特币货币属性的任何变化都可以通过软分叉完成,就像通过硬分叉一样简单。例如,软分叉扩展区块可用于提高2,100万比特币限制。鉴于硬分叉对比特币的货币属性的修改不比软分叉更危险,节点运营商通过放宽执行比特币的非货币属性规则来降低与最长工作量证明链不兼容的风险有意义的,从而使硬分叉改变区块变得有可能,就可以说得通了

有关未来的一个观点

一个健康的未来比特币网络应该由多个相互竞争的软件项目充当各个网络节点客户端。一些项目将专门满足矿工或商家的需求。其他的用户可能是需要轻量级客户端提供紧凑的欺诈证明来保证网络安全。

另外,各个项目除了特性相互竞争之外,它们还将在期望的共识行为上竞争。持有者和投资者将确保比特币的稀缺性得以保持。商家和支付处理商将保护交易的易用性。矿工将通过工作量证明获得手续费收入。

这个愿景的结果将是一个比特币网络,其中偶然的共识失败变得不太可能,有意识的共识变化,提高比特币的整体价值会顺利发生。自下而上的选择与个人激励相结合将产生一个有弹性,灵活和可信的系统。

结论

比特币的承诺提供一个基于市场的货币,并且能够自行抵制破坏它的意图。为了证明比特币的承诺有价值,我们需要有信心将其货币属性在未来持续。当前的情况是,一个具备垄断性质的软件项目,集中了绝大多数人的信任,这使得比特币的基本属性容易受到颠覆。通过参与者的市场互动来保护和支持比特币的基本特性,这是比特币在未来长期稳定的唯一希望。

比特币社区在改变协议之前需要达成社会共识的想法,这其实是误解了系统是如何被管理。没有任何一个机构应该负责,因此没有人应该能够确定针对某个协议更改是否已经达成了充分的社会共识。任何人都可以随时尝试硬分叉,并且由市场决定这样的改变是否有价值。

我们不应该寻求自上而下的控制,也不应该通过社会压力和单一设计的虚假安全中寻求避难。为了通过市场力量保护比特币的货币属性免于受到强大威胁的信心,最好的行动方式是拥抱促进自由市场的共识行为的机制。(译/黄世亮)

转自:http://www.gongxiangcj.com/show-22-3053-1.html
Jump to: