1.一种交易高度预指定的共识方法,所述方法适用于区块链系统,所述区块链系统包括多个数据存储节点和共识节点,其特征在于,所述方法包括:第一数据存储节点接收用户发送的第一交易,获取所述第一交易的交易哈希并转化为二进制,并根据预设获取其中的高度识别字段数据进行标记;
根据预设的确定可预指定高度区间,将可预指定高度区间内的所有区块高度转化为二进制并提取预设的高度匹配字段数据对高度进行标记,高度匹配字段数据与高度识别字段数据的长度一致;其中,可预指定高度区间的范围依据所述高度匹配字段数据的长度设定;
将所述第一交易的高度识别字段数据与可预指定高度区间内的所有区块高度的进行匹配,以确定所述第一交易的预指定高度,记为第一高度;
当第一高度与当前高度差值为预设的第一值时,所述区块链系统为第一数据存储节点随机选取一组作为对比组的数据存储节点,获取第一数据存储节点及其对比组中所有预指定高度为第一高度的交易并去重得到第一交易列表,遍历所述第一交易列表内交易逐一与对比组内交易进行比对,当对比组内超过2/3的数据存储节点拥有该交易时,则补充入第二交易列表中,遍历完成获得第二交易列表;
第一数据存储节点接收第一共识节点发送的获取预指定高度为第一高度的交易数据请求时,将第二交易列表及其梅克尔根发送至第一共识节点;
第一共识节点获取多个数据存储节点发送的交易列表及对应的梅克尔根,选取至少2/
3数据存储节点一致的数据作为共识数据,进行共识。
2.根据权利要求1所述的一种交易高度预指定的共识方法,其特征在于,第一数据存储节点接收用户发送的第一交易后还包括,对第一交易的交易签名进行验签,若无效则直接拒绝接收。
3.根据权利要求1所述的一种交易高度预指定的共识方法,其特征在于,进行共识前,共识节点对共识数据中的所有交易进行有效性验证,剔除无效交易,再进行共识。
4.一种计算机设备,其特征在于,一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1或2或3所述的方法。
5.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1或2或3所述的方法。