作者:Pierre Rochard
时间:2019年9月18日
公众号:以太坊爱好者
本文是基于我在 Chain-In 会议上的演讲而写的:https://youtu.be/yzQ4OPjPPP0
我们为什么要关心比特币的治理?
比特币的治理之所以如此重要,是因为它不仅是密码学货币的开山鼻祖,而且是所有密码学货币中流动性最强,又最具盛名的一种。用 Michael Goldstein 的话来说:“健全货币是文明的支柱,比特币正是这样一种强大的工具,能够促进社会协作。” 如果比特币的治理模型存在缺陷,就无法发挥其全部潜力。如果比特币的治理模型存在缺陷,其利益相关者就应该去努力修复这些缺陷。
每当人们谈到比特币的治理,总会将关注点落在 “谁是最终决策者” 这个问题上,无非就是矿工、节点和投资者这几类群体,对于治理的目的和机制却讳莫如深,乃至与现实脱节。对过往治理情形的评价通常是看哪一方在决策中 “胜出” 或 “失败”,而非决策过程是否充分。
何为比特币治理?
比特币治理指的是就一套交易和区块验证规则达成共识并予以执行的过程。所谓 “执行”,就是每个人都采用这些规则来验证来自交易和区块的付款是否符合他们对 “比特币” 的主观定义。只要有两个或以上的人采用了同一套验证规则,则他们都从主观意识上对 “比特币” 的定义达成了社会共识。
比特币治理的目标是什么?
比特币治理应达到什么样的目标?大家的观点都各不相同。在治理上取得什么样的成果是比较理想的?
- Matt Corallo 认为免信任性是比特币最重要的一个特性。Matt 对免信任的定义是 “在使用比特币的过程中,用户除了要运行开源软件之外,无需信赖其他任何东西”。如果缺少了免信任这一特性,比特币就会丧失很多优势。
- Daniel Krawisz 认为实现比特币价值最大化是治理所要达到的理想成果。Daniel 表示“比特币升级的一般规则是只采纳那些能够提升比特币价值的升级”。
就比特币治理这块而言,以上两位的观点分别体现了道义论和结果论之间的经典分歧。我更偏向于 Matt 侧重免信任性的观点。纵观整个货币史,从古代的造币局到现代的中央银行,信任他人来制造货币的结果无一例外是这份信任被滥用。如果放弃了免信任性,比特币只能在局部地区达到价格的巅峰,无法在全球范围内创造新高。此外,没有证据表明比特币的价格与比特币协议的升级有关。比特币的基本价值或许有受到升级的影响,但这并不能从市场价格中有效反映出来,因为比特币具有极强的流动性和波动性。如果我们无法看出升级对比特币价值的影响,那么结果论者的方法就失去了凭依(变得不可操作)。
我们应该先给当前的比特币治理流程下个定义,才能依据上文提到的维护免信任性和提升价值这两种目标做出评价。
当前的比特币治理流程是如何运作的?
比特币治理流程的用意在于维护一套验证规则。从抽象层面来看,这套验证规则涵盖了语法(syntax)、数据结构、资源使用限制、完整性检查、时间锁定、内存池和主要分支的调和、coinbase 奖励和费用计算以及区块头验证。要想不做出任何牺牲就改进这些规则可不是那么容易的事。
这些规则大多都来自中本聪。已经添加和改进了一些规则来处理故障和拒绝服务(DoS)漏洞。另外还更改了一些规则来实现新的创新项目。例如,新增了 Check Sequence Verify 操作码来实现新的脚本。
研究
每一个规则更改都要从研究开始。例如,隔离见证就源自解决交易重塑性(malleability)的研究。交易重塑性是一个非常严重的问题,如果不能解决的话,闪电网络就无法部署在比特币上。在业内外研究者的共同努力之下,最终创造出了隔离见证技术。
批评者指出,研究者想要研究什么,用户期望获得什么以及什么对网络属性有利,这三者之间偶尔会出现脱节。此外,学术型的计算机科学家喜欢 “科学模拟” 更胜于 “工程试验”。这就是研究者圈子为何如此焦虑的原因之一。
提议
研究者发现某个问题的解决方案之后,就会将自己的改进提议分享给其他的协议开发者。主要的分享渠道有:以邮件的形式发送至比特币开发者邮箱列表;撰写成一份正式的白皮书;以及/或者 一个比特币改进提议(BIP)。
实现
要想在节点软件上实现某个提议,要么由给出提议的研究者自己完成,要么由其他对此感兴趣的协议开发者来完成。如果该提议超出了研究者的能力范围,或是无法通过同行评议,就会被搁置,直至被放弃或是被修改。
虽然这么说可能会给大家一个印象,就是比特币协议开发的贡献者可以对一项提案投票表决,但实际上研究者可以绕过开发者,直接将提议公诸于众。在这种情况下,如果研究者没有足够的知名度和信誉度,就会处于不利地位。
在实现阶段还会遇到另一个问题,如果某个参考实现得不到比特币协议开发者乃至比特币社区内其他成员的认可,参考实现的维护者就不会把它合并入真正的软件实现中。参考实现的维护者会有意识地顺应共识的变化,而非强制改变共识。托管在 github.com/bitcoin/bitcoin 上的 C++ 参考实现直接继承自中本聪的代码库,目前已经发展成熟且可靠性强,一直以来都是最热门的比特币节点实现。
要想绕过参考实现的维护者、摆脱社会共识的影响,只需将比特币代码库复制过来,根据改进提议修改之后发布即可。 BIP-148 的用户激活软分叉(UASF)就是这么玩的。
涉及到修改验证规则的提议可能会导致软分叉或硬分叉。一些提议只能通过硬分叉来实现。从分叉前节点的角度来看,软分叉实现是前向兼容的(forward compatible)。如果是软分叉,分叉前节点不需要升级它们的软件,也可以继续验证分叉前的共识规则。不过,这些分叉前节点不会验证由软分叉更改过的规则。从分叉前节点的角度来看,硬分叉是不向前兼容的。由分叉后节点所组成的网络是不会接纳分叉前节点的。
硬分叉和软分叉会对网络和用户造成什么样的影响?这点一直存在争议。软分叉相比硬分叉似乎风险更低,因为前者不需要节点做出明确的选择,不过,软分叉也可以视为强制性的,因为如果有人不同意软分叉,必须通过硬分叉的方式来逆转它。
部署
一旦将某个实现部署到节点软件上,就必须说服用户使用改版后的节点软件。并非所有的节点用户都具备同等的重要性。例如,“区块链浏览器” 的重要性更强些,因为很多用户都依赖其节点。此外,交易所可以决定哪些验证规则集合对应哪个币种(货币符号)。投机交易者、持币大户和其他交易所都会对这些币种的验证规则进行检查。
个人用户可能会在社交媒体上暴露自己正在使用哪个版本的节点软件,这可能会引发女巫攻击。对共识规则的终极测试就是,你的节点软件收到的付款是否符合你对比特币的主观定义,以及你向交易对手的节点软件发送的付款是否是符合其对比特币的主观定义。
有一个叫做 BIP-9(设有超时和延迟的版本位)的链上治理提议是与关于软分叉的。该提议通过测量矿工的支持率来决定是否实行软分叉。也就是说,用矿工的支持率代替整个社区的支持率来决定是否通过某个提议。悲催的是,由于挖矿活动不断趋于集中化,矿工和用户之间又存在利益冲突,这种替代式测量的结果可能不准。让矿工来进行链上 “投票” 的机制也会延续一系列的迷思,比如:比特币是矿工执政的,是矿工来决定交易和区块有效性的,等等。仅在我们意识到并且接受这种替代式测量的条件下, BIP-9 才是有用的。
执行
对验证规则的更改是由完全验证节点组成的去中心化点对点网络执行的。节点利用验证规则来独立验证节点运营方所收到的付款是否包含在有效的比特币交易和比特币区块中。节点不会将违反规则的交易和区块广播出去。事实上,如果有节点收到了无效的交易和区块,会与发送方节点断开连接并拒绝通信。正如 StopAndDecrypt 所言,“比特币在验证方面是牢不可破的。”如果所有人都认定某个区块是无效的,那么挖出该区块的矿工就得不到 coinbase 奖励和交易费。
矿工的职责是基于一组交易序列生成一个经过难度值调整的工作量证明,其中包括一个发布函数证明(通常被称为 “时间戳”)。矿工一方面消耗硬件和电力成本来提供算力,另一方面 通过 coinbase 奖励 + 交易费来获得收入。矿工就好比是雇佣兵。过去,矿工在提供挖矿服务的过程中不会执行完全的规则验证。由于挖矿活动的集中化,不能相信矿工会自动自觉执行验证了。
现行的比特币治理模型是否增强了免信任性?
我认为,现行的比特币治理模型防止了免信任程度的下降。过去的 5 年来,比特币链上交易的数量急剧增加,且势头不减。去年,矿工呼吁要将区块容量翻一番,如果比特币的治理模型没能阻止他们,那么在提高交易吞吐量的同时势必会牺牲免信任性。
现行的比特币治理模型是否提升了比特币的价值?
我认为二者之间不可能存在因果关系。比特币的价格相比两年之前已经有了大幅提升,不过这一过程似乎是由交易者的心理,而非技术基础驱动的。不可否认的是,就技术基础而言,现行的比特币治理模型已经修改过了共识规则,使得闪电网路可以部署在比特币网络上。我已经在已有通道上做过试验,并进行过闪电付款了:我认为闪电网络无疑增加了比特币的价值。
原文链接: https://medium.com/@pierre_rochard/bitcoin-governance-37e86299470f
作者: Pierre Rochard
翻译&校对: 闵敏 & 阿剑
https://ethfans.org/posts/bitcoin-governance-by-pierre-rochard