TL;DR行业一直在寻找解决方案来解决比特币可编程性差,速度慢和不隐私的问题。在数十年的可扩展性研究和用户体验了可扩展有实质性好处之后,研究人员开始研究比特币上构建有效性证明。比特币的有效性证明可以在原生的图灵不完备脚本上做更改来构建rollup,或者在已有的双向支付通道上进行rollup。比特币自出现以来,一直存在几个问题:可编程性差,速度慢,不隐私。行业也一直在寻找解决方案,比如通过可扩展性来提高速度。可扩展的研究已经进行了十多年,而且也在很多其他的区块链上实行,确实也解决了一些问题,用户们也看到了实质性的好处。现在有些研究人员就将注意力转移到了将有效性证明放在比特币上,比如这一套用在比特币或者比特币的二层(闪电网络)会不会也有同样的效果。主要通过技术层面,如何构建,构建之后的效果还有构建中可能存在的风险等方面讨论。扩容需要解决的基本问题是避免中心化,除了这个,网络优化扩容主要有两个目的:第一个是减少区块传播延迟,第二个就是降低作为全节点参与比特币网络的宽带成本。Fibre协议就是通过减少区块传播延迟来实现可扩展性,由Matt Corallo开发的协议,可以将块传播的时间降低到比光速慢几毫秒;关于第二点,在BIP152中就有这样的技术,叫做紧凑块中继,通过减少对网络传播块时需要发送的数据量来降低了全节点的宽带成本。也是由Matt Corallo开发的,不过他并不是最早提出这个概念的,而是基于Greg Maxwell更早期的工作之上进行开发,Greg Maxwell是第一个提出在比特币环境中建立zk证明的人。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月上线。Plasma2017年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这个活动其实是基于社交媒体游戏LN TrustChain,在闪电网络上进行,Hodlonaut在比特币闪电网络上以0.001BTC开始将火炬传递给其他人,其他人可以添加或者保留一部分BTC,传递给下一个。不同的是闪电网络的支付通道需要保证足够的流动性余额,而rollup不存在这个问题,对新用户更友好。而且在有效性证明,如果需要添加新功能,只需要添加到父链全节点中,不需要额外的共识更改。全节点不需要了解rollup是怎么样达成共识和执行交易,只需要验证rollup的有效性证明。所以如果基于这一点,在比特币的一层上建立二层,也可以实现灵活,更高级的智能合约。有两种方法,一个是将比特币本身的脚本进行扩展,或者是使用全新的智能语言来实现。如果用新的语言,就可以在BTC中构建对新语言的支持,或者是在其他链上构建支持。但是一些复杂的执行环境之间建立桥接都会收到比特币共识规则的限制,而且大部分人认为使用桥接不如直接使用BTC更安全。而且因为btc本身的基础层就带有透明度,所以隐私协议建立在BTC上不太成立,长远来看不足以保护隐私。可以实施的就是零知识,端到端加密技术。zerocash就是隐私协议,零知识加上端到端加密技术。第一个实现的应用是zcash,第一个实现zerocash的rollup是Aztec,2021年3月在以太坊启动,开发人员将它称为zk-zk-rollup,在提供隐私性的同时还可以将交易汇总,并且证明汇总的交易对一层上的Aztec智能合约具有有效性。所以比特币用户同样可以转向zk-zk-rollup,来替代直接在比特币上进行交易,隐私的同时还可以节约成本。用有效性汇总扩展闪电网络闪电网络是一个双向支付渠道的去中心化网络,可以将支付转移到链下,在比特币基础层上使用智能合约来提出和解决争议。用户先要确定另一个用户打开通道,拥有足够的流动性连接的通道才可以立即发送和接受,在开启和结算的时候会占用比特币区块空间,导致了在给定时间内可以加入闪电网络的用户数量存在上限,但是如果使用不同方式的双资金通道,rollup就可以将闪电网络扩展到3.8倍的空间给交易者。总结在比特币上建立有效性汇总,首先是要在原生的图灵不完备脚本上做更改,才可以在上面用图灵完备语言构建rollup智能合约,在2022年3月也有一篇文章描述了比特币的有效性汇总如何工作,同样是更改操作码,改善大小的限制,但是要遵循两个原则,就是递归契约和有效性证明的验证。而且有效性汇总也不是唯一的方法,通过向比特币添加其他rollup逻辑的扩展块,也可以达到扩展的目的。虽然目前还没有可以实现的版本,但是在论文中有数据对比,包括通过更改交易类型和加密方式,所得到的结果都显示确实可以加速交易的进行并且减少占用空间,所以在理论和实验上,比特币上构建有效性证明是可行的。
文章来自:https://www.bitpush.news/articles/3355868?from=listen

更新日期: 2022-11-26 02:17:31
文章标签: ,,,
文章链接: 研究|比特币有效性汇总  [复制链接]
站方声明: 除特别标注, 本站所有文章均为原创, 互联分享, 尊重版权, 转载请注明.