比特币有效性汇总

TL;DR

  • 行业一直在寻找解决方案来解决比特币可编程性差,速度慢和不隐私的问题。
  • 在数十年的可扩展性研究和用户体验了可扩展有实质性好处之后,研究人员开始研究比特币上构建有效性证明。
  • 比特币的有效性证明可以在原生的图灵不完备脚本上做更改来构建rollup,或者在已有的双向支付通道上进行rollup。

BTC上的扩容方案:链下交易执行协议

链下交易执行协议是希望减轻基础层全节点网络的资源负载,将交易执行转移到一个单独的更高层网络,基础层上的完整节点只需要执行一批交易中的第一个和最后一个交易。第一个链下交易执行协议是比特币支付通道的一个版本。也是被中本聪提出的,在2011年的一封私人邮件里。2013年6月,Mike Hearn和Matt corallo通过bitcoinj实现,bitcoinj是使用比特币协议的库,可以维护钱包,发送,接受交易并且可以通过java实现一些高级功能。今年最流行的链下交易执行协议是闪电网络。

其他链上解决方案

除了比特币,以太坊链也有很多扩容的方法,在2017年以太坊上出现一款加密猫的游戏,造成了拥堵,交易确认延迟非常严重,开发人员才开始重新思考扩容这个路线,并且把它提上日程,提出的解决方案最早是侧链这一类用牺牲安全性来换取吞吐量的方法,但牺牲安全性并不是可以长久的办法,所以只是作为短期方案迅速实施。同时也在试着开发下一个解决方案:分片,可以在不放弃自我监管或者损害全节点去中心化的情况下实现更多的用法。

状态通道

在分片实现之前,有状态通道可以扩容,即支付通道协议在btc上应用的一般化。下图是以太坊官网给出的优缺点对比。

图片来源:https://ethereum.org/zh/developers/docs/scaling/state-channels/

分片

2014年10月,Vitalk在博客中第一次提到了分片,就是将加密货币的块处理和存储分成两组或者两组以上节点处理,而且共享安全性,不会有一个分片比其他分片更容易受到攻击的情况。分片越多,吞吐量越大,不会增加全节点的计算负担。第一个实现的是zilliqa(ZIL),2017年创建,2019年1月上线。

Plasma

2017年8月在白皮书被提到的方案。同样是交易执行转移到链下的技术,同时安全性将依附于一层,这一点是比侧链表现优秀,另外用户也不需要锁定资金和管理通道,这里是优于状态通道的。但它依旧不能作为通用的解决方案,不支持通用计算并且也很难对图灵完备的智能合约进行支持,对于想保证以太坊EVM保持灵活的开发人员来说并没有什么吸引力。同时早期版本有大规模退出问题,不仅会导致拥堵和延迟几周的提款,还造成一个数据可用性的问题,如果用户没有加密证明来保证自己的状态正确,那么资金就会被冻结,一直到数据可用才可以恢复提款。后续的版本解决的大规模退出问题,但是对EMV兼容没有很好解决。2019年开发人员开始寻找一个方案可以同时解决数据可用性和EVM兼容。

图片来源:https://ethereum.org/zh/developers/docs/scaling/plasma/

Rollup

汇总方案就是Plasma之后被提出,用来解决数据可用性,判断状态转换是否有效。两个变体,op和zk。以太坊不是第一个zk在区块链的第一个应用,最早将zk技术部署到主网上的加密货币是Firo,2016年9月实现了zerocoin协议,随后就是zcash。以太坊可以直接使用。zk的方案层出不穷,现在主要就是snark 和stark,都在积极的发展。

有效性汇总的应用

2020年9月Eric wall发起了一个社交媒体游戏#tBTCzksynctorch,他将以太坊上的无信任BTC(TBTC)转进zksync,告诉他的follwer,如果想收到这个火炬,就留下以太坊的地址,并且同样发一条推特,看最后可以传递到哪里,活动有很多人参与。2022年2月俄乌战争,乌克兰发布了ETH地址,向全球的人募集捐款,Wall决定使用torch进行捐款,最后在zksync上将tBTC提出来换成ETH捐给了乌克兰。

图片来源:https://bitcoinrollups.org/#fn:29
图片来源:https://bitcoinrollups.org/#fn:29

用有效性汇总扩展闪电网络

闪电网络是一个双向支付渠道的去中心化网络,可以将支付转移到链下,在比特币基础层上使用智能合约来提出和解决争议。用户先要确定另一个用户打开通道,拥有足够的流动性连接的通道才可以立即发送和接受,在开启和结算的时候会占用比特币区块空间,导致了在给定时间内可以加入闪电网络的用户数量存在上限,但是如果使用不同方式的双资金通道,rollup就可以将闪电网络扩展到3.8倍的空间给交易者。

总结

在比特币上建立有效性汇总,首先是要在原生的图灵不完备脚本上做更改,才可以在上面用图灵完备语言构建rollup智能合约,在2022年3月也有一篇文章描述了比特币的有效性汇总如何工作,同样是更改操作码,改善大小的限制,但是要遵循两个原则,就是递归契约和有效性证明的验证。而且有效性汇总也不是唯一的方法,通过向比特币添加其他rollup逻辑的扩展块,也可以达到扩展的目的。虽然目前还没有可以实现的版本,但是在论文中有数据对比,包括通过更改交易类型和加密方式,所得到的结果都显示确实可以加速交易的进行并且减少占用空间,所以在理论和实验上,比特币上构建有效性证明是可行的。

文献参考

https://bitcoinrollups.org/#fn:29

Support us:

http://giveth.io/project/cyc

--

--

Distributed blockchain research institution. Focusing on underlying technology research and practice. Support us: http://giveth.io/project/cyc

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
CYC

Distributed blockchain research institution. Focusing on underlying technology research and practice. Support us: http://giveth.io/project/cyc