本公开涉及区块链网络,并且具体地涉及提高区块在矿工节点间的传播速度和/或减少传播区块所需的带宽。
背景技术:
1、在工作量证明区块链系统中,当发现有效区块时,矿工会试图快速将其成功传达给所有其他矿工。这涉及通过区块链网络将有关区块的信息传播到所有挖矿节点。在某些情况下,这可能涉及发送完整的区块数据。在某些情况下,这可能涉及发送区块头和交易列表信息。接收矿工通过对头进行哈希处理并确认其与成功的矿工提供的哈希值相匹配来验证新区块。
2、随着区块大小和交易数量的增加,区块传播的延迟会加剧临时分叉和孤区块的问题。这些情况对矿工和系统整体来说都是代价高昂的。
3、可能有利的是,在传播区块数据时设计用于减少区块数据所消耗的带宽并提高传播速度的方法和系统。
技术实现思路
1.一种通过区块链网络中的挖矿节点压缩交易标识符的计算机实现的方法,所述方法包括:
2.根据权利要求1所述的方法,其中,输出包括:经由网络连接,在附加消息中向第二挖矿节点传输所述经压缩的交易标识符,所述附加消息引用区块模板,所述区块模板定义正由所述挖矿节点挖掘的候选区块。
3.根据权利要求1或2所述的方法,其中,截断是基于经压缩的交易标识符的长度参数来选择所述交易标识符的字节数。
4.根据权利要求1至3中任一项所述的方法,其中,所述数据结构存储具有所述固定长度前缀值的一个或多个先前生成的经压缩的交易标识符的索引的有序列表,并且其中,存储所述索引包括:将所述索引附加到所述有序列表。
5.根据权利要求1至4中任一项所述的方法,其中,生成所述固定长度前缀值包括:首先使用盐币值对所述交易标识符进行随机化处理。
6.根据权利要求5所述的方法,其中,所述盐币值包括与最近验证的区块相关联的默克尔根,并且其中,随机化处理包括:将所述交易标识符与所述默克尔根进行异或运算。
7.根据权利要求1至6中任一项所述的方法,其中,生成所述固定长度前缀值包括:通过将所述交易标识符的第一半与第二半进行异或运算来递归地折叠所述交易标识符。
8.根据权利要求7所述的方法,其中,生成所述固定长度前缀值还包括:对递归折叠后的交易标识符进行截断。
9.根据权利要求1至8中任一项所述的方法,
10.根据权利要求9所述的方法,其中,
11.根据权利要求10所述的方法,其中,如果所述比较导致对应于所述第二长度的字节数的匹配项,则所述长度是比所述第二长度长的第三长度。
12.根据权利要求9至11中任一项所述的方法,其中,输出包括:使用基于所述长度选择的操作码来将所述经压缩的交易标识符插入到附加消息中。
13.根据权利要求1至12中任一项所述的方法,还包括:
14.一种用于在区块链网络中压缩交易标识符的计算装置,所述计算装置包括:
15.一种计算机可读介质,存储有用于在区块链网络中压缩交易标识符的处理器可执行指令,所述处理器可执行指令包括:在由一个或多个处理器执行时使所述处理器执行根据权利要求1至13中任一项所述的方法的指令。
16.一种在区块链网络中解析经压缩的交易标识符的计算机实现的方法,包括: