如何增加比特币交易容量一直是长期扩容之争的核心,目前一项独特的倡议方案公布了新的白皮书。
项目来自Rootstock,这家初创企业的知名项目是利用侧链将以太坊智能合约的功能引入比特币系统,同时不影响主要区块链。
技术上讲,这个倡议结合了比特币的多个开发中的技术:侧链、闪电网络(Lightning Network),以及其他实现链上扩容的解决方案。
尽管侧链的功能还没有添加到比特币中,比特币安全顾问Sergio Demian Lerner一直在Rootstock系统上做开发,比如搭建闪电网络的兼容版本——Lumino。
在这个过程中,Lerner发明了Lumino交易压缩协议(LTCP,Lumino Transaction Compression Protocol),白皮书也有提及。
LTCP通过链上扩容增加交易容量,然而对于链上扩容,不同的人有不同的理解。此处LTCP巧妙利用压缩工程使区块链可以结算更多交易。
“LTCP协议可以在占用较少区块链容量的情况下,让Lumino网络完成支付渠道的结算和充值”。
用户拓展
该领域还有其他项目,一样希望通过升级比特币支付网络,为更多用户提供服务。比如将来可以为数字货币提供顶层的闪电网络、使用全新交易结构的MimbleWimble。
Lerner说,同时链上扩容是专门为比特币区块链中每个区块直接增加数据容量的项目。即使比特币利用链下协议进行扩容,闪电网络(偶尔在比特币区块链上进行结算)、链上升级都可以为用户开辟出更多交易结算容量。
“通过增加链上容量,我们可以连接更多人,就这么简单”。他在白皮书中说,该系统可以扩容,以满足至少10亿用户的交易需求。
因此一旦闪电网络开始运行,链上容量还将是整体交易容量的障碍。
Lerner解释:
“每个活跃用户会定期给支付渠道充值或结算(向该支付渠道增加资金或提取资金),这些操作通常需要相应的链上交易;因此活跃用户的数量受限于链上容量,而不是链下容量”。
修改历史数据
源于以太坊的Rootstock并不像比特币一样采用UTXO模式(未使用交易输出),而是一种目前不兼容比特币的账户模式。
如若将该功能添加到侧链中,就需要进行软分叉,就像Lerner去年下旬提议的。支付渠道网络Lumino和数据压缩协议LTCP都是以此为系统搭建基础。
LTCP的主要创新是减少数据量的方式——Delta compression或Delta encoding(增量式压缩算法,以时序数据的差分模式存储及传输数据)。白皮书称,与比特币网络每秒两三笔交易的吞吐量相比,该协议可以在侧链上实现将近每秒2000笔交易;比特币区块链则是至少100笔交易。
来看一下它的原理。
按照该协议,当用户给支付渠道充值,某些历史数据是可以删除的。于是用户必须首先花费比特币,开通一个支付渠道。费用耗尽后,用户会再次充值。
每次用户充值之后,LTCP会查找与之相关的历史交易,修改这些交易的签名数据。然后系统只记录首笔及末笔交易,清除中间环节的签名等数据。
白皮书中有展示该流程的交易实例:
系统利弊
目前开发者在测试LTCP的缺陷,比如Lerner在纽约BitDevs研讨会上发表讲话之后探讨的“selfish mining”(这是一种不正当的竞争挖矿,矿工不及时向区块链网络公布挖矿结果,而是继续挖矿,以保持领先,在其他矿工即将赶上时,立刻向网络发布已经挖到的区块,使其链更长,并利用工作量证明机制获得挖矿奖励)。
随后一名参会者指出LTCP可能降低用户隐私。
Lerner反对称,Rootstock侧链的隐私性并不比以太坊差。
在加密货币中,如果用户继续使用同一个交易账户,其他用户可以利用“区块链浏览器”追踪交易历史。通常注重隐私性的用户会为每笔交易生成新的账户,以避免这个隐私性缺陷。
Lerner说,用户可以继续如此处理,或者利用所谓的混币服务(tumbling)隐藏代币的出处。
然而关于此法是否影响压缩率,他承认如果用户不生成很多账户,就不能用LTCP增加链上交易的容量。
Lerner说,“这是一种折衷”。