作者:John Hardy & Jamie Redman
编译:Wendy
时间:2017年3月6日
上周又出现了一种解决区块扩容辩论的新方法。在过去的几个月时间里,隔离验证(SegWit)这个需要95%矿工支持的方案已经停滞不前了——甚至没有达到激活阈值的四分之一。而如今有一位自称“shaolinfry”的匿名社区成员提出了另一种不需要矿工投票的激活方案。然而,这一方案包含的具体流程在比特币社区中引发了大量的争议。
什么是UASF?
这个方案最初出现在了比特币开发者的邮箱中,名为“用户激活软分叉”(UASF,user-activated soft fork
)。这个概念的作者认为把隔离验证等方案的命运交到矿工手中会产生很多问题。Shaolinfry说,由矿工来激活软分叉存在政治和技术上的问题。
让网络中大多数算力来做决定只会给矿工带来不必要的关注,最终会造成严重的政治倾向。
而Shaolinfry提出的UASF方案被称为“纪念日激活”(即指定某一天进行激活)或者“紧急共识”。
Shaolinfry解释道:
‘纪念日激活’指的是节点在将来预设的某一时间点自动执行软分叉。与算力激活相比,这一方法所需的准备时间更长,同时还带来了大量的优势,提供更好的折中方案。UASF比较自由,矿工不一定要用新版本开采区块,没有升级的矿工出的区块也不会成为孤块。
自从这一概念提出,各个社交媒体和比特币论坛都做出了激烈的反应。隔离验证支持者都认为这一方案是可行的,然而其它比特币支持者则认为UASF不是一个好办法。
UASF优劣势分析
其中最引人注目的就是比特大陆CEO吴忌寒(Jihan Wu)的观点。
如果大多数矿工都投反对票,那么UASF可能会分裂区块链,并且创造出两种或三种比特币。交易所必须多加小心。
另外,早前已经离开BTCC的前首席运营官缪永权(Samson Mow)也对这一方案做出了回应。
我认为如果当前更新协议的方法无法继续下去,那么UASF是可行的。
Reddit网友也就这一方案发起了投票。
下文是某比特币资讯平台作者的观点:
目前,要激活软分叉只需矿工投票即可。比如说,隔离验证软分叉需要网络中95%矿工的支持。
目前比特币网络节点数量约为6000个,其中约5000个运行Bitcoin Core,而有约3000个运行Core客户端的节点已经全面支持隔离验证(客户端版本>=0.13.1)。
这3000个节点在支持隔离验证之后唯一能做的事就是等待其它矿工的激活。然而,事情并不可能如此顺利,他们也很可能因此丧失一部分利益。
UASF意味着矿工无需为软分叉的激活而发声。反之,会有一个新版的比特币软件安装在节点中,这个新版客户端中预先设定了一个约定的激活点。
截止发稿时,区块高度为#455,855。假设我们要在3个月之内激活隔离验证(大约是在12,960个区块之后),那么这个新版客户端可以规定“在区块#468,815之后只承认支持隔离验证的区块”。
假设到了区块#468,815,只有60%的节点更新到了新的客户端,此外,大部分大型交易所和比特币企业都公开宣布支持并激活隔离验证。
这就会给矿工带来难题。如果到时候他们不出隔离验证区块,那么大部分节点和企业都不会承认他们的区块。
隔离验证区块是向后兼容的,也就是说,没有升级软件的节点仍然会承认这类区块的有效性。
这也就意味着隔离验证激活的可行性能够得到大大的提升,毕竟矿工一旦做出错误的决定,就要承担一定的经济损失。目前最安全的选择就是挖隔离验证区块,因为这种方式最终会得到节点100%的支持。
所以说基本情况是这样的。矿工知道自己如果不支持隔离验证就会被忽略。当知道大部分的网络成员可能不会承认自己的区块时,矿工如果还是拒绝挖与隔离验证兼容的区块,那么他就需要拥有相当大的勇气(或者说相当愚蠢)。
如果只有51%的矿工进行客户端升级,那么隔离验证的激活就不会有任何问题。
我不认为隔离验证无法取得矿工共识,也不可能有超过51%的挖矿算力因拒绝切换软件而在网络中创造分叉,形成两个区块链。
更可能出现的结果是另一个与Core竞争的比特币软件会把隔离验证激活当作一个催化剂,并试图利用这一点来笼络人心,趁机推出自己的方案。
这并不是UASF的本意,但在某种软分叉方案激活的同时,社区很自然会被迫在几个相互竞争的客户端中作出选择。
与Core竞争的客户端很可能试图通过激活硬分叉实现区块扩容。前提是他们必须对难度调整做出改变,并且要添加重放攻击保护。
这样一来,所有的节点和矿工也能就比特币不同的发展路线作出清晰的选择。其它竞争方案可能因为羞愧走不到这一步,不过,一个固定的激活点能够提供一个绝佳的机会,迫使社区就扩容辩论进行投票。
最终产生的赢家只有一个,很可能会出现一种微不足道的竞争币。而最终扩容问题则会得到彻底的解决。
看了这么多观点,大家对UASF又是怎么看的呢?