历史上的今天
今天是:2024年12月13日(星期五)
2021年12月13日 | “缺哪发哪” 腾讯实现高效率区块链网络结构和方法
2021-12-13 来源:爱集微
在常见的区块链网络比如以太坊中,区块链网络中节点之间通过广播心跳形式相互同步区块,通常是区块高度落后的节点向区块高度领先的节点拉取区块以进行区块同步。
对于区块链网络的结构而言,其中通常都包括有数据存储节点和数据备份节点,数据备份节点需要从数据存储节点处拉取区块以实现区块同步,根据所存储区块的区块高度来看,区块链网络中任意一个节点在某个时刻可以是数据存储节点,在其他时刻也可以是数据备份节点。
现有技术中区块链网络的区块备份大致流程为:数据存储节点按照顺序向数据备份节点推送区块,数据备份节点依据区块连续性依次确认已接收到的区块,只有当前区块的前一个区块已被确认接收后,当前区块才能进行接收确认。
也就是说,在现有的方案中,只要有一个中间区块没有被确认,数据存储节点会一直重复向备份节点传输该区块,在该中间区块之后的区块均不能被确认接收。由此可见,这种区块备份方法的效率比较低,同时也降低了网络资源利用率。
针对该问题,腾讯在2021年10月11日申请了一项名为“区块链网络的数据处理方法、装置、设备及存储介质”的发明专利(申请号:202111178889.9),申请人为腾讯科技(深圳)有限公司。
根据该专利目前公开的相关资料,让我们一起来看看这项技术方案吧。

如上图,为该专利中发明的区块链的结构示意图,其中,区块链中的第一个区块称为创世区块,创世区块包括区块头和区块主体,在区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息。
同时,创世区块还作为下一区块的父区块,在下一区块中,同样包括区块头和区块主体,区块主体中也包括有输入信息,区块头中除了存储当前区块的输入信息特征值、版本号、时间戳以及难度值外,还存储有父区块的区块头特征值。
以此类推,在该区块链结构中,后一个区块均以前一个区块为父区块,每个区块的区块头中均存储有其父区块的区块头特征值,这样使得区块链网络每个区块中存储的区块均与父区块中存储的区块存在关联,保证了区块中输入信息的安全性。

如上图,为该专利中基于上述提及的结构发明的区块链网络数据处理方法的流程示意图,该数据处理方法由数据备份节点设备执行,该节点设备可以对区块链网络中的数据进行备份。首先,该区块链系统会获取从数据存储节点接收到的多个区块,这些区块按照连续性被划分为第一类区块集和N个第二类区块集,根据上述介绍的结构,我们知道,这里的第一类区块集也就是创世区块。
其次,基于第一类区块集生成第一接收确认信息,并基于N个第二类区块集生成第二接收确认信息,第一接收确认信息用于指示数据备份节点已从创世区块开始累积接收到M个区块,这种接收确认的机制,可以提高区块备份的效率,也有利于提高网络资源的利用率。
最后,将第一接收确认信息和第二接收确认信息发送至数据存储节点,以指示数据存储节点基于第一接收确认信息和第二接收确认信息确定需要重新发送的目标区块,并向数据备份节点重新发送目标区块,从而完成区块的同步。
以上就是腾讯发明的区块链网络的数据处理方案,在该方案的数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,从而实现了“缺哪些区块就重新发哪些区块”的效果,不仅提高了区块备份效率,也提高了网络资源利用率。
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:38 编辑 有了这个程序, 就可以对没有注释的汇编程序自动加注释, 广大菜鸟就很容易看懂汇编天书啦:) … 查看全部问答> |
|
以前是学4.2的,现在改6.0了。发现中断差异很大。 1. wince4.2中很容易定义一个中断,然后可以在驱动或者是应用程序中使用。wince6.0中该如何定义呢? 听说有静态和动态之分,谁能都介绍一下具体该如何实现。 2. 添加完系统中断后应用程序在winc ...… 查看全部问答> |
|
我在目标平台上添加了USB Host和触摸屏驱动。Wince 启动后,我在屏幕上的点击位置可以改变鼠标的位置,但不会对点击对象产生作用。例如我在触屏上点击了“我的电脑”,鼠标位置出现在了“我的电脑”上,但没有选中“我的电脑”。如果点住鼠标左键不 ...… 查看全部问答> |
|
vista中将.inf copy到windows\\inf 将.sys copy到windows\\system32\\drivers 插入硬件,提示找到新硬件, 点击自动搜索安装(只有这一项,不像xp还能选择路径安装),提示\"在inf中找不到所需的行\" 但是在设备管理器相关设备(标有感叹号)点击\"更新驱 ...… 查看全部问答> |
|
对于 wince 6.0 的重启 有个疑问,请教大家。。。 网上的说法重启(热启动) 调用 OAL层的 IOCTL_HAL_REBOOT 函数来实现重启 或者调用 SetSystemPowerState(NULL, POWER_STATE_RESET, POWER_FORCE)? 而 IOCTL_HAL_REBOOT 对应调用 ...… 查看全部问答> |
|
我安装EVC 4.0 + SP4 + PPC 2003 + PPC2003SE CHS 前一段时间运行很好的,不只道时什么原因,今天模拟器怎么也连接不上,程序编译通过后不能下载到模拟器中,但可以下载到PDA中运行。 点击configure platform manager ...… 查看全部问答> |
|
我知道经典的是TEA5767,现在又有了 RDA5802。还有些什么芯片?不知道大家是否了解这两款芯片,他们各自有哪些优点。我要求功耗低。 附件中是datasheet,谁能帮我看一下哪个省电。 [ 本帖最后由 dsp_comm 于 2011-5-3 15:50 编辑 ]… 查看全部问答> |




