比特币圈最大的冲突莫过于扩容之争了。
三、四年前比特币的用户基数和交易量都很小,每笔转账的费用通常只需几美分,甚至免费。从2016年起,随着交易量的上升,区块大小接近1MB的上限,平均容量约2000笔交易。为了让转账交易能尽快得到确认,用户付给矿工的交易费也水涨船高。
在写下此文时,每笔交易平均225B,每字节出价130sat/B以上可以得到优先确认(有90%以上概率被加入最新区块),按$6000/BTC的汇率估算交易费约$1.75。这笔费用对于大宗汇款来说微不足道,比起银行电汇便宜十几倍,但显然不适合买咖啡之类的小额交易。
要解决交易量饱和、交易费高昂的现状,比特币需要扩容。这一点几乎没有争议。至于具体的扩容方案上则分裂出两大阵营:以矿工集团为代表的大区块派和以Core开发者为首的二层网络派。
大区块派的扩容策略很容易解释:1MB的区块填满了是吧?增加区块上限呗。先提升到2MB。2MB还不够就4MB或8MB。大区块极端派认为连1GB的巨块都是可以接受的。
面对难题,显而易见的解决方法通常都有显而易见的缺陷。大区块方案也不例外。
先来看看2MB的区块有多大用处吧:区块容量上限约四千笔交易,平均每秒七笔,相当于Visa信用卡交易量上限的八千分之一,平均值的二百四十分之一。交易费顶多下降一半。平均确认时间不变。比特币显然仍不适合买咖啡。
如果用大区块策略让比特币处理Visa级别的交易量,那区块上限要提升到0.25GB。这意味着区块链每年增加13TB(参见[block #8] 应对区块链数据大爆炸),比特币全节点的运营成本飙升,节点更加中心化。区块增大的另一个副作用是验证和同步时间延长,分叉概率增加。这些后果都会降低比特币网络的总体安全性。
而且大区块策略不改变平均每十分钟一次的出块速度。确认交易的等待时间仍然会以分钟计,不满足需要快速支付的应用场景。
有人会说,GB级别的区块是荒唐的,但比特币不必对标Visa啊,何不先扩容到2MB,以后看情况再升到4MB、8MB?这种规模的区块好像没有太大的副作用。
2MB区块本身问题不大,但是从1MB升到2MB、从2MB升到4MB,每次扩容都需要硬分叉(参见[block #9] 分叉、睡教与SegWit2X)。连软分叉都应该格外谨慎对待,更何况硬分叉。硬分叉不仅带来更高的风险,同时也是个清理历史遗留错误、引入重要改进的大好机会。把它浪费在双倍扩容这样鸡毛蒜皮的改动上简直是儿戏。比特币不是Litecoin、Ethereum、Monero,在目前的发展阶段如果一言不合硬分叉的话,就好比一个计算机博士生在拿到学位前突发奇想要转系读挖掘机专业一样鲁莽。
既然大区块是急功近利的短视方案,那么比特币扩容路在何方呢?
基于二层支付通道的闪电网络(Lightning Network)是目前最有前景的方案。闪电网络利用哈希时间锁合约(Hashed Time-Lock Contracts或HTLC)让使用者在比特币主链上锁定一笔资金,开通链下的支付通道。之后的支付完全不受主链出块速度、区块上限影响,交易延迟从分钟级降低到毫秒级,交易量也提高多个数量级。
交易双方不需要信任第三方(比如中心化的银行或交易所),交易费用接近零,可以实现亚聪级支付额(细分比特币的原子单位“聪”),可以实现流式支付(比如按秒计费的在线播放)。全程用洋葱网络的方式传递交易信息,增加匿名性。只要采用同样的哈希锁,跨链交易也变得简单。
交易双方如果长期合作,支付通道可以无限期延续下去,不必定期在主链上结算;如果一方试图通过提前结算谋取利益,另一方可以在一个预定时期内阻止不诚实的行为,还可以外包给不能控制自己资金的第三方监督执行,即使自己的闪电网络钱包离线也能防止被坑。
功能如此强大的闪电网络根本不需要对比特币硬分叉,相较于大区块扩容的优势非常明显。不过它也遭到大区块派的各种攻击。抨击主要集中在三点:一、闪电网络到今年一月才发布v0.1-alpha公测版,正式发布日似乎还遥遥无期。但如果去github.com/lightningnetwork/lndhttps://就会看到开发团队非常活跃。闪电网络和其他复杂的软件系统一样需要时间才能完成。最大的技术障碍已经被隔离见证(SegWit)清除,闪电网络沦为vaporware的可能性已经很低。
另一个常被引述的攻击点是,闪电网络会造成二层网络节点的中心化。这个论调颇有迷惑性,因为早期的闪电网络设计受制于交易延展性(transaction malleability)攻击漏洞,时间锁必须设定期限,支付双方需要定期在主链结算并开通新的支付通道,这样会导致普通用户为了节省结算交易费与少数资金锁定期特别长的大节点建立通道,增加了中心化的可能。然而今年比特币主链已经通过软分叉激活了隔离见证,好处之一正是填补了交易延展性漏洞,间接地允许闪电网络创建无限期合约,不仅简化了系统、降低了交易费用,还降低了中心化风险。另一方面,早期闪电节点很少,暂时会用irc或tracker之类中心化的节点发现机制,但未来应该会像BitTorrent那样,过渡到类似DHT的去中心化方案。
最后一个常见攻击论点是闪电网络违背了中本聪意志(所谓的“Satoshi's vision”)。理由是2008年的比特币白皮书只写了链上交易,主链之外的二层交易网络偏离了比特币的最初设计。按这种固步自封、不就事论事探讨改进方案优劣、近乎原教旨主义的逻辑,中本聪本人作的诸多改动就早已偏离了自己的设计。比如比特币早期不设区块上限,能给指定IP地址转账等等。这些设计缺陷都逐步被认识和修正了,那是再正常不过的软件进化过程。连圣经都有好多版本迭代呢,要指望十年前的白皮书能以不变应万变,顺应比特币的发展需求那简直是可笑的。
总结:从技术角度分析,闪电网络扩容方案完胜大区块策略,它会给比特币带来新的活力和影响力。利益受到二层支付网络侵蚀的集团会继续诋毁它,但在隔离见证成功激活之后已经丧失了压制闪电网络的一张王牌。