33cn / chain33

高度模块化, 遵循 KISS原则的区块链开发框架
https://chain.33.cn
BSD 3-Clause "New" or "Revised" License
727 stars 255 forks source link

交易在dht网络广播中存在丢失情况 #1164

Open bysomeone opened 3 years ago

bysomeone commented 3 years ago

测试方法

  1. 测试线上主链的区块广播,统计区块内交易是否都在mempool中存在,跑了2w个区块,5%的区块无法在mempool中找到完整的交易列表, 即交易在网络广播中存在丢失情况

  2. 本机搭建4节点情况暂未发现丢失情况

相关模块

dht pubsub广播

bysomeone commented 2 years ago
  1. 本地双节点环境在高并发压测下也存在丢失, 主要是libp2p pubsub底层非阻塞实现, 在发送和接收端没有及时处理消息会将消息直接丢弃, 通过调整队列大小参数可以缓解

  2. 主链环境网络拓扑更复杂, 但并发数较低, 后续调整队列大小,升级版本后, 进一步测试