1 概述
区块链网络结点分布广,网络环境复杂,各结点之间的距离相差巨大,不同结点跨运营商甚至是跨海跨洲,网络的抖动和延迟非常大,严重影响共识算法的性能以及各结点之间区块的同步。元一实现了基于 TCP/UDP 的低时延价值互联
网传输层协议 QVIC( Quick Value Internet Connection),相比目前区块链网
络使用的传统互联网 TCP 和 UDP 协议,更好地适应和满足区块链价值网络在传输层和应用层面临的各种需求,在处理更多的连接、安全性、低延迟上具有明显的优势,特别是针对特定区块大小的数据包(1M,2M)的传输上进行了专门的优化,传输效率提高了接近 1 个数量级。
2 技术优势
采用非透明代理模式,客户端就近连接服务器,由加速服务接管传输;
数据从源端到目的端,中间无须增加缓存,保证快速和安全;
对数据流进行编码,通过 UDP 数据包进行服务器间的传送;
可采用负载均衡,提高鲁棒性;
对丢包有高容忍,在高丢包的情况下,也可以正常使用;
3 协议框架
QVIC 协议,是在广域网情况下,针对网络抖动、丢包不稳定等特点,针对性地进行优化。既保留了 UDP 协议快速高效的特点,又提供了 TCP 数据传输的完整性。
QVIC 协议采用预链接方式,握手控制在发送端完成,握手时间可以忽略,直接发送数据包,因此传输速率和效率得到了极大的提升。
4 实验对比
使用分布在北京、上海、广州、伦敦四地不同数据中心的 50 台机器构建点对点数据传输网络进行测试,经过 QVIC 协议加速,对 1G 文件的传输速率由 100Kbps 提升到 1Mbps;在上述四个数据搭建元一测试网络,使用 1K 个节点进行测试,经过 QVIC 协议加速,由于共识过程中的数据传输效率和块同步过程的效率提升,单个交易的确认时间减少了 70%。
4.1 传输速度
由下图可知,对比 TCP 协议,QVIC 协议在传输速率上有了巨大的提升,对于 1GB 数据的传输,加速比达到了 500%。
4.2 稳定性
在 UDP 的基础上,自定义传输控制算法和 FEC 动态补偿机制,与 TCP 相对,稳定性和效率也有明显的改善。