1.一种适合区块链交易验证的数据传输方法,其特征在于,包括以下步骤:步骤1:在区块链网络中,针对一次区块链交易验证过程,节点按照区块链规定的共识算法选出一个记账节点v0,剩余节点作为验证节点集合V={v1,…,vi…,vn},传输的区块数据为Block;
步骤2:根据节点自身性能特性,计算节点vi的通信连接数l(vi),根据节点之间的互联情况,从逻辑意义上,计算任意两节点vi和vj的通信权值w(vi,vj);
步骤3:根据节点通信能力的异构性并结合并发通信的优点,制定多连接并发通信规则;
步骤4:根据区块链网络规模和节点通信连接数分布情况,根据经验估算出通信树深度调节参考值集γ,(γi∈γ,0<i<m);m为参考值总个数,参考值集γ,选值范围在2、3、4;
步骤5:根据评估的通信影响因子和多连接并发通信规则,构造适合区块链交易验证的通信树传输路径;
步骤6:根据步骤5所得到的通信树,先收集处于叶节点的验证节点集VLeaf,对于任意一个叶 验 证节 点 vi ∈ VL e af ,计算 其 所 在通 信 支路 的 通信 延时 ,记 作最后一个叶验证节点收到区块数据所用的传输延时为 为该通信树对应区块数据传输延时;
步骤7:通过设置不同的通信树深度调节参考值γi,根据步骤5和步骤6计算区块数据传输延时 将区块数据传输延时 的最小值作为目标函数,获取最优的通信树深度*
调节参考值γ,记账节点v0存储该调节参考值对应的通信树结构,即为最优传输路径;如果该节点在接下来的算力竞争中获得记账权,可参照该最优传输路径组织节点按照该树形结构进行区块数据传输。
2.根据权利要求1所述的一种适合区块链交易验证的数据传输方法,其特征在于,所述步骤3具体为:记账节点v0作为通信树的根节点,任意两节点的通信主体任务是Block,因此除路由控制信息外通信主体任务是相同的;对于任意一个验证节点vi,当收到区块数据后,无间歇地并发地以自身最大通信连接数向未收到区块数据的l(vi)个验证节点通信,直至所有验证节点都收到区块数据。
3.根据权利要求1所述的一种适合区块链交易验证的数据传输方法,其特征在于,所述步骤5构造适合区块链交易验证的通信树传输路径,包括下列步骤:步骤5.1:将通信规模为N的区块链网络抽象为G=(V,E,W,L),VT=VTmp={v0},定义通信树存储结构TreeNode;
步骤5.2:对于任意一个通信树中的节点vi∈VTmp,其中vi≠v0采用孩子兄弟二叉树方法构建二叉树;节点vi在二叉通信树中的深度记做Deepth(vi);
先构造节点vi的右兄弟节点;首先计算节点vi通信父节点 求一个验证节点如果Depth(vi)≤γi, 必须满足 否则, 必须满足将 作为节点vi的右兄弟节点加入通信树中VT,更新通信树结构体类型TreeNode;
再构造节点vi的左孩子节点集;求l(vi)个验证节点 如果Depth(vi)≤γi,将未加入通信树的任意验证节点vi求 按照从大到小的顺序依次选择l(vi)个节点 否则从未加入通信树的验证节点集合中依次选择与vi相连的权值最小的l(vi)个节点 将节点集加入通信树VT中,更新通信树结构体类型TreeNode;
步骤5.3:判断通信树中验证节点个数是否小于N,如果小于N,继续步骤5.2,否则结束。