CTOR对比Gavin提出的交易排序规则

​​通过对CTOR的了解,我们已经知道它有很多优于TTOR的地方。尤其在解决未来BCH扩容中块传播的瓶颈中发挥着重要的作用。由于TTOR是中本聪提出的技术,而CTOR则需要改变共识,因此并不是所有的人都赞同这一方案。对此,有人提出可以用Gavin提出的规范排序(GTOR)来替代CTOR。GTOR真的要比CTOR要好吗?

在之前的文章中,已经对GTOR进行过介绍,它是Gavin Andresen在“块传播”提案中提到的。为了提高块传播的速度,首先要做的就是将交易规范的排序,不过Gavin提出的这个排序并不是强制执行的(非共识层的)而且还会保留当前的TTOR规则。

在块传播中GTOR比CTOR慢

在之前的《CTOR有助于BCH石墨烯技术更上一层楼》文章中已经对对这一论点进行过说明。CTOR只需两个步骤,而GTOR则需要六步才能实现,因此CTOR实现起来更加简单。而且GTOR需要检查每笔交易的完整内容,并不仅仅是交易ID,所以在块传播的过程中,GTOR理论上会比CTOR慢20倍。

CTOR比GTOR更加简洁

虽然使用GTOR得到的规范交易排序也能带来一些好处,但是它需要在重建石墨烯区块的过程中进行一次拓扑排序,这样会变得更加复杂。最后虽可以选择实现OTI算法,在使用拓扑排序的情况下进行并行验证,但是CTOR直接能做到这点,提供切实的好处并简化代码,为什么还要采取GTOR这种迂回的方式呢?

CTOR能够提高UTXO证明效率,GTOR不能

CTOR可以使所有的UTXO顺序插入,按次序插入可以利用树结构让UTXO缓存更高效,同时提高UTXO证明(UTXO commitments)的可能性。由于UTXO是(txid,index)- >输出映射,如果按txid对块进行排序,那么所有插入都将是按顺序的。GTOR的顺序是没有这个属性的,即使在输入提取时,充其量GTOR的顺序也只确保一个交易的UTXO的读取和下一个UTXO读取的其中之一是连续的,但是剩下的读取操作将遍布各处,从而否定了从GTOR所获得的大部分或者所有的好处。

GTOR不具有CTOR的其他好处

在CTOR的论文的摘要中提到:“我们建议用交易规范排序代替现在的交易拓扑排序规则,其中预期的交易将根据块内的标识符进行排序。这种变化消除了BCH的整个可扩展性挑战,以便处理更大的区块。此更改还提供了两个引人注目的用例。首先,它允许生成交易包含/排除的紧凑证明,使无链应用程序成为可能。其次,它为比特币参与者提供一种更新的控制,以便能够在块内本地化他们的交易。”因此CTOR不仅能够在块传播中发挥出其优势,还可以允许生成交易包含/排除的紧凑证明,加入交易的本地化。而这两点对于SPV客户端来说是非常有利的,但是GTOR则不具有这些优势。

根据CTOR的排序,给定交易A和交易B,我们能够知道哪一个交易是优先的:当且仅当交易A具有较低的交易ID时,交易A才是优先的。这就是允许交易定位和生成排除证明的原因。要理解后者:如果交易A应该在交易C之后但是在交易D之前,并且有Merkle证明交易C和交易D都在接下来的区块中且紧挨着,那么我们就有了交易A不在该区块中的加密证明。

GTOR的排序规则并没有这一属性。即使交易A与交易B相比具有较低的交易ID(在Gavin的提议中定义不同,但无关紧要),交易A也并不总是优先于交易B。如果交易B依赖于同一块中的交易X,且交易X的ID要低于交易A时,交易B就是优先于交易A的。

虽然这只是一个小细节,但是这也是非常重要的。首先这能生成排除证明,其次它允许SPV钱包在某个块没有确认交易时进行最终的指示(而不仅仅是不知道交易是否能够被确认)。由于GTOR在排序时需要考虑依赖关系,所以做不到这一点。对于GTOR来说,虽然删除排序依赖关系可以简化规则,从而实现更好的扩展,但是Gavin的提议中并没有这样做。从本质上来说,GTOR并没有对交易进行排序。如果没有它,我们就无法对交易块进行二进制搜索,也无法知道交易位于merkle树的哪个位置(已获得包含/排除证明)。

综上所述,通过各方面的比较,GTOR只能够在块传播中发挥作用,而且效果还没有CTOR好。除此之外,CTOR将能为BCH带来更多的好处,这都是GTOR所不具备的。因此CTOR不仅仅优于现在的TTOR,也优于GTOR,是有益于BCH发展的一项改动。​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值