Txunami:极高吞吐量的比特币现金交易生成器
比特币现金开发团队BU(Bitcoin Unlimited)首席开发人员Peter R. Rizun在美国时间9月15号发表推特,并@GAndrewStone来称赞他工作的出色表现。因为他开发了用于可伸缩性测试的交易生成器—Txunami,该交易生成器能够产生50,000 tx / s!

TPS是数字货币系统吞吐量,也就是系统每秒钟能够处理的业务数量。如果TPS太低就会造成网络拥堵,进而影响区块链的生态发展。吞吐量是衡量区块链系统性能的重要指标,特别是衡量一个系统对交易的处理性能。
Txunami
Txunami是由BU开发人员GAndrewStone创建的,用于解决加载网络的问题。它使用10个线程(测试到本地bitcoind)能够达到每秒约50000个交易(TPS),将比特币现金的吞吐量提升到一个新的高度。它通过P2P协议直接向比特节点提交交易,而不是使用RPC协议。这样可以提供更好的测试,因为大多数真实交易都是通过此渠道提交和转发的。
Txunami使用Bitcoin Unlimited的libbitcoincash.so和libunivalue.a共享库,允许用户指定多步骤交易方案,承认多个主机的交易有效性,允许同时或按顺序进行操作。
Txunami分两个阶段运作; 准备和测试
准备阶段
在准备阶段,Txunami从其配置文件中读取UTXO和私钥,并将它们用于嵌套的1对多交易中,以生成在测试期间使用的指定数量的UTXO。在这期间您可以查看debug.log文件以确保真正接受这些交易。
在准备阶段可能会遇到两个常见问题,首先如果Txunami超出了您配置的未经证实的交易链长度,尤其是生成数百万个UTXO(未花费的交易输出)时,可以通过更改bitcoin.conf文件(limitdescendantcount = 5000000 limitdescendantsize = 250100),来解决此问题。
第二个问题是Txunami会产生大量的UXTO和子交易,造成大部余额作为费用流失。通过设置bitcoin接收免费交易,就可以避免支付多余费用。
测试阶段
在测试阶段,Txunami从JSON配置文件中读取“schedule”字段。此字段指定在什么时间发送到哪些节点的交易速率。Txunami首先查找调度实体的总数(时间间隔,主机对),并在它们之间平均分配UTXO池。然后它为每个计划实体生成一个线程。它打开到目标节点的P2P连接,并开始向目标主机发送1个输入和1个输出交易,将给予它的UTXO用于新的TXO。一旦消耗了所有UTXO,它就会通过将UTO与UTXO交换并继续来创建未经证实的交易链。
Txunami使用漏桶算法来精确控制交易生成速率。达到计划中指定的结束时间时,将断开连接并退出线程。当所有线程退出时,运行完成并且Txunami结束。
现在BCH在市场上的交易需求和交易数量越来越多,保证交易速度和低费用尤为重要。Txunami每秒可以达成超过50000个交易的极高吞吐量,提高了BCH系统对交易的处理性能,再加上其本身的大区块优势,未来BCH不会出现像比特币和以太坊一样的网络拥堵、高手续费等问题。因此会吸引更多的用户使用BCH进行交易。

