首页> 中国专利> 移动宽带网络下的区块链多播网络、区块链设备及其通信方法

移动宽带网络下的区块链多播网络、区块链设备及其通信方法

摘要

本公开的实施例涉及移动宽带网络下的区块链单播多播网络、区块链设备及其通信方法。在区块链网络的区块组播节点处执行的方法包括获得新区块信息并对其进行验证。该方法还包括响应于经验证的新区块信息有效,基于组播区域中的区块节点的类型和新区块信息,生成不同类型的区块组播报文;以及向移动宽带网络中的多媒体广播多播(MBMS)节点发送该不同类型的区块组播报文,以使得经由移动宽带网络向多个区块节点广播该报文。本公开的实施例通过MBMS多播将最新区块链同步到所有节点,有效解决了传统P2P网络占用网络资源过多和容易引起网络风暴的缺点。此外,区块链节点通过MBMS多播快速地同步区块链,具有实时性好且易于实现的优点。

著录项

  • 公开/公告号CN107277781A

    专利类型发明专利

  • 公开/公告日2017-10-20

    原文格式PDF

  • 申请/专利权人 上海点融信息科技有限责任公司;

    申请/专利号CN201710305381.8

  • 发明设计人 肖诗源;

    申请日2017-05-03

  • 分类号H04W4/06(20090101);H04W28/02(20090101);H04W56/00(20090101);G06Q20/06(20120101);G06Q20/38(20120101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 200023 上海市黄浦区局门路457号八号桥四期3楼

  • 入库时间 2023-06-19 03:34:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-22

    授权

    授权

  • 2017-11-17

    实质审查的生效 IPC(主分类):H04W4/06 申请日:20170503

    实质审查的生效

  • 2017-10-20

    公开

    公开

说明书

技术领域

本公开的实施例总体上涉及区块链技术,并且具体地,涉及一种移动宽带网络下的区块链多播网络、区块链设备及其通信方法。

背景技术

区块链是一种源自比特币的去中心化分布式记账技术。参与到区块链系统中的各个节点,彼此无需信任。区块链由所有参加的节点共同维护,每个参与维护的节点都可以获取一份区块链数据的完整拷贝并独立进行验证。区块链采用了密码技术来保证区块链只能添加新数据而不能篡改已经发生过的数据。

通常,区块链使用基于互联网的对等(P2P:peer-to-peer)网络架构将所有节点联系在一起。在P2P网络中不存在任何服务端、中央化的服务、以及层级结构,每个网络节点以“扁平”的拓扑结构相互连通。P2P网络的节点之间交互运作、协同处理,每个节点在对外提供服务的同时也使用网络中其他节点所提供的服务。P2P网络也因此具有可靠性、去中心化,以及开放性。

区块链的P2P网络和传统的基于P2P的文件分享一样,可能占用互联网的大量带宽。这个问题在移动宽带网络中更加突出。例如,在区块链的典型应用场景物联网(IOT,Internet of Things)中,海量设备通过移动宽带相连。在此情况下,大量且更大的区块数据在物联网众多区块节点之间传递,这带来可观的带宽消耗,并且显著增加了区块链在移动宽带网络上的部署成本。

有鉴于此,期望的是提供一种解决方案用以有效解决传统P2P区块链网络占用网络资源过多以及容易引起网络风暴的问题,与此同时 具有易于实现、成本有效等优势。

发明内容

总体上,本公开的实施例提出了移动宽带网络下的区块链多播网络、区块链设备及其通信方法。

在本公开的第一方面,提供一种用于区块链网络的通信方法。该方法包括:在区块链网络的区块组播节点处,获得新区块信息;对新区块信息进行验证;响应于经验证的新区块信息有效,基于区块链网络中的多个区块节点的节点类型和新区块信息,生成不同类型的区块组播报文;以及向移动宽带网络中的多媒体广播多播(MBMS)节点发送不同类型的区块组播报文,以使得经由移动宽带网络向多个区块节点广播区块组播报文。

在某些实施例中,生成不同类型的区块组播报文包括:生成区块报文头部,区块报文头部至少指示区块组播报文的类型以及当前区块的高度;基于新区块信息的区块头部和区块报文头部,生成第一类型的区块组播报文;以及基于新区块信息的区块交易数据和区块报文头部,生成第二类型的区块组播报文。

在某些实施例中,生成第二类型的区块组播报文包括:将区块交易数据分为多个传送源块;对多个传送源块进行前向纠错编码;以及将经编码的多个传送源块基于单向传输上的文件传递(FLUTE)协议封装为多个组播报文。

在某些实施例中,广播区块组播报文包括:在广播第二类型的区块组播报文之前,以预定次数广播第一类型的区块组播报文。

在某些实施例中,广播区块组播报文包括:在广播第二类型的区块组播报文期间,以预定次数广播第一类型的区块组播报文。

在本公开的第二方面,提供一种用于区块链网络的通信方法。该方法包括:在区块链网络的组播区域中的区块链全节点处,接收来自组播区域中的区块组播节点的区块组播报文,区块组播报文包括第一类型和第二类型,第一类型的区块组播报文至少包括区块信息的区 块头部,并且第二类型的区块组播报文至少包括区块信息的区块交易数据;以及解析第一类型和第二类型的区块组播报文,以得到区块信息。

在某些实施例中,解析第一类型和第二类型的区块组播报文包括:基于区块组播报文的区块报文头部,确定区块组播报文的类型;响应于区块组播报文为第一类型,提取区块组播报文中的区块头部;以及响应于区块组播报文为第二类型,提取区块组播报文中的区块交易数据。

在某些实施例中,该方法还包括:确定得到的区块信息是否完整;以及响应于得到的区块信息不完整,向相邻节点发送请求以获取完整的区块信息。

在某些实施例中,该方法还包括:响应于产生新区块信息,向区块组播节点和组播区域中不具有接收多播能力的节点发送新区块信息。

在本公开的第三方面,提供一种用于区块链网络的通信方法,包括:在区块链网络的组播区域中的简易支付验证(SPV)节点处,接收来自组播区域中的区块组播节点的区块组播报文,区块组播报文包括第一类型和第二类型,第一类型的区块组播报文至少包括区块信息的区块头部,并且第二类型的区块组播报文至少包括区块信息的区块交易数据;以及解析第一类型的区块组播报文,以获取区块信息。

在某些实施例中,解析第一类型的区块组播报文包括:基于区块组播报文的区块报文头部,确定区块组播报文的类型;响应于区块组播报文为第一类型,提取区块组播报文中的区块头部;以及响应于区块组播报文为第二类型,丢弃区块组播报文。

在某些实施例中,该方法还包括:向组播区域中的相邻节点通知多播能力信息,多播能力信息指示自己是否具有发送多播的能力、接收多播的能力或者发送和接收多播的能力。

根据本公开的第四方面,提供一种区块链网络中的组播设备,包括:处理器;存储器,耦合至处理器并且存储有指令,指令在由处理 器执行时使组播设备执行以下动作:获得新区块信息;对新区块信息进行验证;响应于经验证的新区块信息有效,基于区块链网络中的多个区块节点的节点类型和新区块信息,生成不同类型的区块组播报文;以及向移动宽带网络中的多媒体广播多播(MBMS)节点发送不同类型的区块组播报文,以使得经由移动宽带网络向多个区块节点广播区块组播报文。

根据本公开的第五方面,提供一种区块链网络中的全节点设备,包括:处理器;存储器,耦合至处理器并且存储有指令,指令在由处理器执行时使组播设备执行以下动作:接收来自组播区域中的区块组播节点的区块组播报文,区块组播报文包括第一类型和第二类型,第一类型的区块组播报文至少包括区块信息的区块头部,并且第二类型的区块组播报文至少包括区块信息的区块交易数据;以及解析第一类型和第二类型的区块组播报文,以得到区块信息。

根据本公开的第六方面,提供一种区块链网络中的简易支付验证(SPV)设备,包括:处理器;存储器,耦合至处理器并且存储有指令,指令在由处理器执行时使SPV设备执行以下动作:接收来自组播区域中的区块组播节点的区块组播报文,区块组播报文包括第一类型和第二类型,第一类型的区块组播报文至少包括区块信息的区块头部,并且第二类型的区块组播报文至少包括区块信息的区块交易数据;以及解析第一类型的区块组播报文,以获取区块信息。

根据本公开的第七方面,提供一种区块链网络,包括根据本公开的第一方面所描述的组播设备、根据本公开的第二方面所描述的的全节点设备以及本公开的第三方面所描述的的简易支付验证设备。

根据本发明的第八方面,提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行根据本公开的第一方面、第二方面和第三方面所描述的方法。

本公开的实施例提出了一种在移动宽带网络下通过单播和MBMS多播为区块链混合组网的方案。该方案具有以下的优点:通过MBMS多播将最新区块链同步到所有节点,有效解决了传统P2P网 络占用网络资源过多和容易引起网络风暴的缺点。此外,区块链节点通过MBMS多播同步区块链的速度快,实时性好,并且易于实现。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了移动宽带网络的多媒体广播多播系统架构的示意图;

图2示出了根据本公开实施例的移动宽带网络中的区块链混合网络架构的示意图;

图3示出了根据本公开实施例的可以由区块组播节点执行的方法的示例流程图;

图4示出了传统的MBMS组播报文封装的示意图;

图5示出了在一些实施例中应用的第一类型的组播报文封装的示意图;

图6示出了在一些实施例中应用的第二类型的组播报文封装的示意图;

图7示出了根据本公开实施例的可以由区块全节点执行的方法的示例流程图;

图8示出了根据本公开实施例的可以由区块简易支付验证节点执行的方法的示例流程图;以及

图9示出了根据本公开的一些实施例的设备的框图。

具体实施方式

现将结合附图对本公开的实施例进行具体的描述。应当注意的是,附图中对相似的部件或者功能组件可能使用同样的数字标示。所附附图仅仅旨在说明本公开的实施例。本领字段的技术人员可以在不偏离本公开精神和保护范围的基础上从下述描述得到替代的实施方式。

如本文中所述,术语“包括”及其各种变体可以被理解为开放式 术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。

如前所述,区块链的P2P网络可能占用互联网的大量带宽,这在利用移动宽带网络的区块链应用中尤其突出。一方面因为设备数量众多,区块链的每一个区块传播到每个设备会带来更大的带宽消耗;另一方面,因为设备数量众多,交易量庞大,需要更大的区块来容纳更多的交易,同时要求产生区块的时间间隔更短,因此会有更多的数据在P2P网络中传播。

为了有效解决此问题,同时提升区块链网络的效率,本公开的实施例提出一种移动宽带网络下的区块链单播多播混合组网方案,其利用移动网络的多媒体广播多播服务(MBMS:Multimedia Broadcast and Multicase Services)技术来广播每一个最新的区块信息到网络所有区块链节点,同时保留了使用单播来发现相邻节点以及同步区块。

移动网络的MBMS技术支持在蜂窝网络中提供多播/广播服务,为很大覆盖范围的广大用户提供相同的内容。MBMS能够显著地降低运营商在诸如长期演进(LTE)网络上同时向大量用户提供诸如视频、音频等高带宽内容的成本,避免在单播网络中由于许多用户同时获取相同内容而引起的网络拥塞。

图1示出了移动网络的MBMS系统100的示意架构图。如图所示,MBMS系统包括广播多播服务中心(BM-SC:Broadcast Multicast Service Center)120,其负责对内容提供商所提供的内容服务110进行鉴权,计费和流量整形以及网络中的数据传输同步等。内容服务110可以包括例如直播数据流、内容分布式网络(CDN:Content Distributed Network)数据流、卫星数据流等数据内容,这些数据内容可以由不同的内容提供商提供。

BM-SC 120经由SGmb接口121承载MBMS控制信令、经由SGi-mb接口122承载MBMS业务数据而与MBMS网关130通信。MBMS网关130负责将来自BM-SC的IP报文多播到相应的基站150 上。多播协调实体(MCE:Multicast Coordination Entity)140可以是独立地实体也可以是基站150的一部分,其提供准入控制、为MBMS分配无线电资源等。由此,基站150将来自内容提供商的IP多播报文提供给无线终端160的用户。

此外,MBMS系统100还包括广播操作支持系统170、网络操作支持系统180等,分别提供MBMS服务必要的支持。无线终端160还可以与BM-SC 120之间通过HTTP单播文件修复和接收报告。

需要注意的是,MBMS系统100仅是移动网络中提供广播多播技术的一个示例,其也可以是长期演进LTE或第五代移动通信(5G)网络中的演进MBMS(eMBMS)系统。另外,在此使用的术语“无线终端”是具有无线通信功能的任何终端设备,包括但不限于,手机、计算机、个人数字助理、游戏机、可穿戴设备、以及传感器等。术语“基站”可以表示节点B(Node B,或者NB)、演进节点B(eNB)、诸如微微基站、毫微微基站等的低功率节点、基本收发器站(BTS)、基站(BS)、或者基站子系统(BSS)等等。

对于区块链网络,尽管区块链P2P网络中的各个节点如前所述是相互对等的,但是根据所提供的功能不同,各节点可能具有不同的分工。一些节点保有一份完整的、最新的区块链拷贝,这样的节点被称为全节点。全节点能够独立自主地校验所有交易,而不需借由任何外部参照。另外还有一些节点只保留了区块链的一部分,它们通过一种称为简易支付验证(SPV,Simple Payment Verification)的方式来完成交易验证。这样的节点被称为SPV节点。

一般而言,区块链中的每个区块包括区块头部和区块体。区块体中记录区块生成时间段内的交易清单,区块链的其他功能通过区块头部实现。区块头部包括例如版本号、时间戳、区块哈希值、难度值、随机数Nonce等。其中版本号标识软件及协议的相关版本信息;时间戳记录区块产生的时间;区块哈希值是区块所链接的前一区块(即父区块)的区块头的哈希值;难度值是区块相关数学题的难度目标;随机数Nonce是解密该区块相关数学题的答案的值。

当区块链网络中由具有挖矿或产生新区块能力的节点创建出新区块时,SPV节点只需要接收区块头部,而全节点需要接收整个区块信息。

图2示出了根据本公开的实施例的移动宽带网络中的单播多播混合网络200的示意架构图。在图2中,eMBMS区块节点是指具有eMBMS多播能力的全节点(称之为区块组播节点),它们是可信任节点,可以配置为普通全节点和SPV节点的种子节点。每个区块组播节点都具有相应的多播(也称为组播)区域。不同的组播区域可以有不同的区块组播节点。这些区块组播节点可以属于不同的移动网络运营商,也可以占用不同的eMBMS信道。

如图2所示出的,区块链网络200包括组播区域210和220。在每个组播区域中存在相应的区块组播节点,即eMBMS区块节点211和221。在组播区域210中包括普通全节点212、214、215以及SPV节点213。在组播区域220中包括普通全节点222、223、225以及SPV节点224。

在实际应用中,任何机器如计算机、移动终端、智能手机、物联网设备等都可以加入区块链网络200而成为节点。可以理解,图2中仅是示意了区块链网络200中的各节点之间的逻辑关联,物理上区块链网络200中的各节点之间可以通过包括有线、无线等各种方式连接。本公开在此方面不做限制。

区块链网络200中的节点既可以具有接收eMBMS多播的能力,也可以不具有接收eMBMS多播的能力,但是它们都有通过单播与其他节点交互的能力。作为示例,例如组播区域210中的全节点212、SPV节点213和全节点215(以阴影示出)具备接收eMBMS多播的能力,而全节点214不具备接收eMBMS多播的能力。同样地,组播区域220中的全节点222、全节点223和全节点225(以阴影示出)具备接收eMBMS多播的能力,而SPV节点224不具备接收eMBMS多播的能力。

根据本公开的实施例,区块链节点通过单播相互握手时,告诉对 方自己是否具有发送和接收多播的能力。而且,每个具有挖矿或产生新区块能力的节点一旦创建出新区块,其优先将新区块信息发送给相互连接的eMBMS区块节点和不具有接收eMBMS多播能力的节点。

在这样的区块链网络200中,eMBMS区块节点获得新区块信息并验证通过后,通过多播将区块信息发送给其多播区域中的具有多播接收能力的节点。此外,对于不具有接收多播能力的节点,其可以采用传统的单播方式获取区块信息。由此,区块链网络200可以支持SPV节点,也可以支持全节点,并且可以支持具有多播接收能力的节点,也可以支持只具有单播能力的节点。

不同的组播区域210和220之间可以经由eMBMS区块节点之间的单播传递区块信息或者其他节点将区块信息转发给相应的eMBMS区块节点,以此方式,通过eMBMS多播可以将最新区块链同步到网络内区块链节点,有效解决了传统P2P网络占用网络资源过多和容易引起网络风暴的缺点,特别适合移动宽带网络和物联网相结合的场景。另一方面,区块链节点通过eMBMS多播同步区块链的速度快,经过的中间节点少,可以降低软分叉的概率,降低采用工作量(POW,prove of work)证明的区块链的能耗。

eMBMS区块节点211可以通过组播区块的报文封装来实现对组播区域中的报文组播。图3示出了根据本公开的实施例的可以由组播节点执行的方法300。方法300例如可以在eMBMS区块节点211处执行。

在310,在区块链网络的区块组播节点处,获得新区块信息。在一个实施例中,该新区块信息可以是eMBMS区块节点211从区块链网络中的区块节点接收的,或者是由该eMBMS区块节点211产生的。随后在320,区块组播节点对新区块信息进行验证。

在330,响应于经验证的新区块信息有效,区块组播节点基于区块链网络中的多个区块节点的节点类型和新区块信息,生成不同类型的区块组播报文。

根据本公开的实施例,将每一个区块当作一个独立的文件,使用 类似eMBMS组播文件的方案来组播区块。为了提高区块信息的组播效率并有效利用带宽资源,组播节点生成不同类型的区块组播报文。

图4示出了传统的eMBMS组播文件的报文封装400。如图所示,文件可以被分割许多小的数据块放在组播报文的单向传输上的文件传递(FLUTE:File Delivery overUnidirectional Transport)包体(即有效载荷)中发送出去。字段401指示单播IP地址,例如报文将发往的BM-SC的地址。字段402和405指示用户数据报协议(UDP:User DatagramProtocol)报文头部。字段403为SYNC头部,指示SYNC协议信息。SYNC协议用于广播报文的实体(例如各基站)之间的时间同步。字段404指示与组播区域相对应的多播IP地址。而被分割的数据块在字段406中被分别承载发送。

由于区块链中的SPV节点只需要接收区块头部,而区块头部一般比较小。例如,比特币的区块头部为80字节,其可以直接放入一个UDP包中。由此,本公开的实施例引入区块报文头部(BLOCK packet header)字段,其包括区块数据类型(BLOCK type)以及区块高度(BLOCK height)。区块数据类型标记该报文中的内容是区块头部信息还是区块交易信息,区块高度用于存放当前区块的高度。在一个示例中,区块报文头可以为9字节,其中区块数据类型可以为1字节,另外8个字节用于存放当前区块的高度。

图5和图6分别示出了根据本公开的一些实施例的第一类型的组播报文封装500和第二类型的组播报文封装600的示意图。如图5所示,第一类型的组播报文封装500除了报文协议栈400中401-405各字段外,还包括区块报文头字段501和区块头部502。区块报文头字段501由如前所述的类型和高度两个子字段构成。区块头部502包括区块链中的区块的区块头部信息,如前所述。

在图6中,第二类型的组播报文封装600除了报文协议栈400中401-405各字段外,还包括区块报文头字段601、FLUTE头部602和FLUTE有效载荷字段603。同样地,区块报文头字段601由如前所述的类型和高度两个子字段构成。FLUTE有效载荷字段603中承载区 块交易数据。在一个示例中,当类型字段的值为为0x01时,表示后面的数据是区块头部。当类型字段为0x02时,表示后面的数据是区块交易信息。

当区块组播节点按照如上过程生成并封装了不同类型的区块组播报文后,在340,向移动宽带网络中的MBMS节点发送不同类型的区块组播报文,以使得经由移动宽带网络向多个区块节点广播区块组播报文。

在一个实施例中,区块链组播节点211生成不同类型的区块组播报文,发送给移动网络中的MBMS节点例如BM-SC 120。经由BM-SC120,不同类型的区块组播报文被广播出去。由此,组播区域210中具有接收多播能力的节点可以接收这些区块组播报文,并对报文进行处理,从而获取区块信息。

根据本公开的一个实施例,对于SPV节点,只需要接收并解析BLOCK type为0x01的报文,而忽略BLOCK type为0x02的报文,以节省能耗。而对于全节点,两种类型的报文都需要接收。对于任意节点,如果根据报文中的区块高度发现该区块已经通过别的方式接收过,也可以忽略该报文。

由于MBMS多播发送的是基于UDP包的报文,也即并不保证可靠信息传送,因而在多播接收端信号不好的时候,传送有可能发生丢包的情况。本公开的实施例还提供针对两种不同BLOCK type的报文丢包的不同解决方案。

对于第二类型的区块组播报文(即区块交易报文),区块交易数据作为一个文件通过FLUTE协议封装而发送,可以使用前向纠错编码(FEC,Forward Error Correction)技术来对区块交易数据进行编码。具体地,根据区块链网络的丢包率,可以使用特定的FEC编码算法(例如,Rator10),为诸如新区块的区块交易数据生成一定比例的修复数据。

根据本公开的一个实施例,将区块交易数据分为多个传送源块;对多个传送源块进行前向纠错编码,之后将经编码的多个传送源块基 于FLUTE协议封装为多个组播报文。例如,如果区块交易数据可以分为N个报文发送,那么经前向纠错编码的数据可以通过M个报文发送。在区块链节点处,如果接收到的报文的总数为K,只要满足K>N+L(0<L<M),FEC解码算法就可以将原始区块交易数据还原出来。由此,通过文件前向纠错编码,实现对区块交易数据的有效和可靠传送。

对于第一类型的区块组播报文(即区块头部报文),同样可以使用前向纠错编码技术来应对包丢失。在另一实施例中,可以使用重复发送的方式来解决区块头部报文丢失的问题。例如,区块组播节点在发送一个区块的交易数据之前,总是先发送预定次数(例如,2次)的区块头部报文。在发送区块交易数据过程中,还可以按照需求配置多次穿插重复发送区块头部报文。以此方式,实现对区块头部信息的有效和可靠传送。

此外,如果一个节点没有接收到区块头部报文或者完整的区块交易数据,可以通过单播的方式从相邻节点获取。

图7和图8分别示出了根据本公开的实施例的可以由全节点和SPV执行的方法。可以由全节点例如全节点212执行的方法700包括在710,在组播区域中的区块链全节点处,接收来自组播区域中的区块组播节点的区块组播报文。该区块组播报文包括如上的第一类型和第二类型,第一类型的区块组播报文至少包括区块信息的区块头部,并且第二类型的区块组播报文至少包括区块信息的区块交易数据。

然后在720,全节点解析第一类型和第二类型的区块组播报文,以得到区块信息。具体地,例如具有多播接收能力的全节点212可以通过识别区块组播报文的区块报文头部,确定区块组播报文的类型。如果是第一类型,则提取区块组播报文中的区块头部;如果区块组播报文为第二类型,则提取区块组播报文中的区块交易数据。

在一个实施例中,全节点212还基于通信双方所交互的FEC算法对所接收到的多个第二类型的组播报文进行FEC解码,从而获取区块交易数据。在另一实施例中,全节点212还确定得到的区块信息是 否完整。如果到的区块信息不完整,则向相邻节点发送请求以获取完整的区块信息。

根据本公开的实施例,如果全节点212产生了一个新区块,其向区块组播节点211和组播区域210中不具有接收多播能力的节点(例如全节点214)发送该新区块信息,以使得通过区块组播节点211将新区块广播到组播区域210。与此同时,组播区域220中的区块组播节点221可以进一步将该新区块广播给组播区域220中的区块链节点。

图8示出了根据本公开的实施例的可以由SPV节点(例如SPV节点213)执行的方法800。在810,在组播区域中的SPV节点处,接收来自组播区域中的区块组播节点的区块组播报文,区块组播报文包括第一类型和第二类型,第一类型的区块组播报文至少包括区块信息的区块头部,并且第二类型的区块组播报文至少包括区块信息的区块交易数据。

然后在820,解析第一类型的区块组播报文,以获取区块信息。具体地,例如具有多播接收能力的SPV节点213可以通过识别区块组播报文的区块报文头部,确定区块组播报文的类型。如果是第一类型,则提取区块组播报文中的区块头部;如果区块组播报文为第二类型,则忽略或丢弃该报文。以此方式,不仅有利于节省带宽资源,也有利于节省SPV节点的功耗。

在某些实施例中,SPV节点213向其组播区域中的相邻节点通知多播能力信息,该多播能力信息指示自己是否具有发送多播的能力、接收多播的能力或者发送和接收多播的能力。

通过以上所描述的本公开的实施例,提供了在移动宽带网络下通过单播和eMBMS多播为区块链混合组网的方案。该方案网络吞吐量大,实时性好,适用于交易频率高,交易实时性要求高的场景。另外,对原有的区块链P2P网络的改动较小,实现比相对简便。

图9图示了可以用来实施本公开的实施例的电子设备900的示意性框图。应当理解,电子设备900可以被实现为图2所描述的任一节点,或者电子设备900也可以被实现为图2所描述的任一节点中的任 一个模块。如图9所示,设备900包括中央处理单元(CPU)901(例如处理器),其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各种方法,例如方法300、700或800,可由处理单元901执行。例如,在一些实施例中,方法300、700或800可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序被加载到RAM 903并由CPU 901执行时,可以执行上文描述的方法300、700或800中的一个或多个动作或步骤。

一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。

作为示例,可以用通用处理器、数字信号处理器(DSP)、专 用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本公开所描述的各种示例性的逻辑块、模块和电路。通用处理器可以是微处理器,或者,处理器也可以是任何普通的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。

作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。

用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。

在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随 机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。

另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。

尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号