一种去中心化的区块链实现方法、系统及存储介质与流程

文档序号:17126768发布日期:2019-03-16 00:33阅读:243来源:国知局
一种去中心化的区块链实现方法、系统及存储介质与流程
本发明涉及区块链领域,尤其涉及的是一种去中心化的区块链实现方法、系统及存储介质。
背景技术
:近几年,比特币和挖矿的概念越来越被大家熟知,同时在背后支撑比特币运行的区块链技术也越来越受到大家的重视,且区块链技术已经在银行、保险、电子商务、资产交易、身份验证等领域得到了不错的应用。目前,区块链的硬件载体还是依赖于联网计算机,非常不便。因此,现有技术存在缺陷,有待改进与发展。技术实现要素:本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种去中心化的区块链实现方法、系统及存储介质,旨在解决现有技术中区块链的硬件载体还是依赖于联网计算机,非常不便的问题。本发明解决技术问题所采用的技术方案如下:一种去中心化的区块链实现方法,其中,包括:nan群组中的主设备通过wi-fiaware协议在发现窗口之外发送发现信标帧,发现周边的设备,周边的设备根据所述发现信标帧加入nan群组;nan群组中的主设备或非主同步设备在发现窗口内发送同步信标帧,同步整个nan群组的设备的时钟;nan群组中的主设备记录各个设备的接口地址,生成节点接口地址列表,并在nan群组所在的网络中发送第一广播信令;nan群组的各个设备接收到第一广播信令并在本地保存所述节点接口地址列表。进一步地,所述nan群组中的主设备记录各个设备的接口地址,生成节点接口地址列表,并在nan群组所在的网络中发送第一广播信令具体包括:nan群组中的主设备通过服务发现帧获取各个设备的接口地址,依次记录本身的接口地址、各个非主同步设备的接口地址及各个非主非同步设备的接口地址,并生成节点接口地址列表;nan群组中的主设备将所述节点接口地址列表在nan群组所在的网络中进行广播,并发送第一广播信令。进一步地,所述nan群组的各个设备接收到第一广播信令并在本地保存所述节点接口地址列表之后还包括:nan群组中的主设备实时更新所述节点接口地址列表,并在nan群组所在的网络中发送新的第一广播信令;nan群组的各个设备接收到新的第一广播信令,并在本地实时更新所述节点接口地址列表。进一步地,所述方法还包括:当检测到nan群组中的主设备离开nan群组时,非主同步设备和非主非同步设备根据等级高低竞选成为新的主设备。进一步地,所述nan群组的各个设备接收到第一广播信令并在本地保存所述节点接口地址列表之后还包括:所述nan群组中的第一设备根据wi-fi信号强度检测附近的第二设备,并获取所述第二设备的接口地址;所述第一设备获取所述第二设备的接口地址后,所述第一设备与第二设备完成点对点通信。进一步地,所述第一设备获取所述第二设备的接口地址后,所述第一设备与第二设备完成点对点通信之后还包括:所述第一设备在nan群组所在的网络中发送第二广播信令;所述nan群组的各个设备接收到第二广播信令后,将第一设备与第二设备之间的通信记录保存在本地,生成通信记录列表。进一步地,所述nan群组的各个设备接收到第二广播信令后,将第一设备与第二设备之间的通信记录保存在本地,生成通信记录列表之后还包括:当nan群组的设备对通信记录有异议时,根据通信记录列表查找关键词;所述关键词包括:第一设备的接口地址、第二设备的接口地址和第一设备的发送时间戳。进一步地,所述服务发现帧的属性为服务描述属性和制造商特定属性。本发明还提供了一种去中心化的区块链实现系统,其中,包括多个nan设备,所述多个nan设备形成nan群组;所述nan群组中的主设备通过wi-fiaware协议发现周边的设备,周边的设备加入nan群组;nan群组中的主设备或非主同步设备同步整个nan群组中的设备的时钟;nan群组中的主设备记录各个设备的接口地址,生成节点接口地址列表,并在nan群组所在的网络中发送第一广播信令;nan群组的各个设备接收到第一广播信令并在本地保存所述节点接口地址列表。本发明还提供了一种存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的去中心化的区块链实现方法。本发明所提供的一种去中心化的区块链实现方法,包括:nan群组中的主设备通过wi-fiaware协议在发现窗口之外发送发现信标帧,发现周边的设备,周边的设备根据所述发现信标帧加入nan群组;nan群组中的主设备或非主同步设备在发现窗口内发送同步信标帧,同步整个nan群组的设备的时钟;nan群组中的主设备记录各个设备的接口地址,生成节点接口地址列表,并在nan群组所在的网络中发送第一广播信令;nan群组的各个设备接收到第一广播信令并在本地保存所述节点接口地址列表。本发明实现了去中心化网络,构建了一个具有本地局域性质的区块链,无需用户手动操作设备,使得区块链的硬件载体不再依赖于联网计算机,非常方便。附图说明图1是本发明中去中心化的区块链实现方法的较佳实施例的流程图。图2是本发明的去中心化的区块链实现方法的较佳实施例的nan操作的时序图。图3是本发明中去中心化的区块链实现系统的较佳实施例的功能原理框图。具体实施方式为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。请参见图1,图1是本发明中一种去中心化的区块链实现方法较佳实施例的流程图。如图1所示,本发明实施例所述的一种去中心化的区块链实现方法,包括以下步骤:步骤s100、nan群组中的主设备通过wi-fiaware协议在发现窗口之外发送发现信标帧,发现周边的设备,周边的设备根据所述发现信标帧加入nan群组。wi-fiaware协议是一种基于位置邻近的wi-fi协议,即在wi-fiaware群组里的设备无需建立wi-fi连接就可以发现其他设备及其服务,因此,wi-fiaware协议也称为wi-finan(neighborawarenessnetworking)协议。相比于普通wi-fi协议,wi-fiaware协议在组建网络方面具有稳固、低功耗的优点,可应用于物联网领域。在wi-fi网络中,多台设备(本发明以智能手机为例)连接wi-fi路由器实现上网,路由器扮演着中心设备的角色;在户外,多台智能手机连接基站的lte网络,每个小区的基站也起到了中心设备的角色。这两种网络有个共同特点,即中心化网络,中心设备以辐射的形式与众多节点通信,网络的正常运行离不开中心设备。与wi-fi网络和基站网络不同的是,区块链是一个去中心化的网络,即该网络没有中心设备,网络中的所有节点都扮演相同的角色。wi-fiaware网络也是一个去中心化的网络,不依赖于中心设备,且该网络还有一个优点是网络中的任意一个节点因为故障离开网络时并不会影响整体网络的正常运行。因此,wi-fiaware网络比较适合组建区块链。另外,由于wi-fiaware网络的性质是本地局域网,因此,本发明利用wi-fiaware协议搭建的区块链是本地局域区块链,可以在既是本地局域网性质的又是区块链性质的应用场景中发挥作用,这样的应用场景有本地多组p2p电子现金交易等。组成nan群组中的所有nan设备保持同步时钟,处在同一信道,在群组里,一个设备既可以向另外一个设备发送信息,也可以向多个设备发送信息。nan群组的传输范围与普通wi-fi相同。每个nan群组都有一个编号,用于区分不同的群组。nan的群组中的每个设备都有一个接口地址(interfaceaddress),用来区分不同的设备。在nan群组里,nan设备可分为三类,为主设备、非主同步设备和非主非同步设备。主设备为nan群组中第一个发出发现信标帧的设备,非主同步设备和非主非同步设备的类型随机分配。需要说明的是,主设备可以更换,当主设备离开nan群组时,非主同步设备和非主非同步设备可以根据等级高低竞选成为新的主设备,而不会破坏原先的群组,这也是nan协议的一大优点。表1为nan设备的类型及其对应的收发帧。表1需要注意的是,所述主设备、非主同步设备和非主非同步设备,是wi-fiaware组网过程中的逻辑概念,所有nan设备在区块链中都是普通的节点。因此,组网完成后的网络是个去中心化的网络。尤其需注意的是,主设备不等同于中心设备。主设备在发现窗口之外发送发现信标帧,目的为了使主设备发现未在nan群组的设备。wi-fiaware操作是指nan设备加入wi-fiaware群组时的动作,包括设备发现、时钟同步、服务发现。如图2所示,主设备在发现窗口之外发送发现信标帧,在发现窗口内发送同步信标帧和服务发现帧;非主同步设备在发现窗口内发送同步信标帧和服务发现帧;非主非同步设备在发现窗口内发送服务发现帧。nan发现信标帧的格式,如表2所示。其中,fc(framecontrol)是指帧控制;duration是指信标帧的持续时间;a1是指广播地址,即值为51-6f-9a-01-00-00的mac地址;a2是指发送者的mac地址;a3是指nan群组的编号,即其值为50-6f-9a-01-00-00到50-6f-9a-01-ff-ff之间的随机mac地址;seq.ctrl.(sequencecontrol)是指序列控制;timestamp是指信标帧的时间戳;beaconinterval是指信标间隔;capability是指容量信息;ie(informationelement)是指nan信息元素;fcs(framechecksum)是指信标帧的校验和。表2进一步的,nan信息元素(informationelement,ie)的格式,如表3所示。其中,elementid是指ieee802.11规定的信息元素编号;length是指oui、ouitype和attributes的字节总长度;oui是指组织唯一编号(organizationallyuniqueidentifier);ouitype是指信息元素的类型;attributes是指属性。表3fieldelementidlengthouiouitypeattributesvalue0xddx+40x50-6f-9a0x13var.size/bytes1131x进一步的,nan属性(attributes)的通用格式如表4所示。表4fieldidlengthbodyfield…idlengthbodyfieldvaluex1…x2size/bytes12x1…12x2其中,id是指nan属性的编号,属性id的类别及其对应的帧类别,如表5所示;length是指bodyfield的长度;bodyfield是指属性的内容。表5具体的,在表5中,yes/m表示该帧必须包含该属性,yes/o表示该帧可选择性地包含该属性,no表示该帧不包含该属性,na表示无效。步骤s200、nan群组中的主设备或非主同步设备在发现窗口内发送同步信标帧,同步整个nan群组的设备的时钟。具体的,在一个nan群组里,主设备和非主同步设备在发现窗口内发送同步信标帧,且每个设备在一个发现窗口内最多发送一次。时钟同步的目的是使群组里的所有设备的时钟保持一致,这样可以降低时延和功耗。进一步的,nan同步信标帧的格式与nan发现信标帧相同。步骤s300、nan群组中的主设备记录各个设备的接口地址,生成节点接口地址列表,并在nan群组所在的网络中发送第一广播信令。步骤s400、nan群组的各个设备接收到第一广播信令并在本地保存所述节点接口地址列表。步骤s300具体包括如下步骤:组网完成后,nan群组中的主设备通过服务发现帧获取各个设备的接口地址,依次记录本身的接口地址、各个非主同步设备的接口地址及各个非主非同步设备的接口地址,并生成节点接口地址列表;nan群组中的主设备将所述节点接口地址列表在nan群组所在的网络中进行广播,并发送第一广播信令。在本发明较佳实施例中,在nan群组里的任何一台设备都可以发送服务发现帧,目的是让设备发布(publish)自己的服务,并订阅(subscribe)其他设备的服务。nan服务发现帧的格式,如表6所示。其中,category是指该帧的类型为公共行动帧(publicactionframe);actionfield是指与指定制造商有关的公共行动帧;oui是指组织唯一编号(organizationallyuniqueidentifier);ouitype是指oui的类型;attributes是指属性。表6fieldcategoryactionfieldouiouitypeattributesvalue0x040x090x50-6f-9a0x13var.size/bytes1131var.服务发现帧中的属性可参考表4和表5,即服务发现帧必须包含服务描述属性,可选择性地包含nan连接能力属性、wlan基础设施属性、p2p操作属性、ibss属性、mesh属性、未来nan服务发现属性、未来有效地图属性、国家代码属性、范围属性和制造商特定属性。在本发明中,各个nan设备利用服务发现帧互相收发本发明规定的信息,因此,在本发明中,在符合wi-finan协议的基础上,规定服务发现帧的属性只有服务描述属性和制造商特定属性。所述服务描述属性最小占12字节。所述制造商特定属性格式如表7所示。其中,attributeid是指制造商特定属性的编号;length是指oui和body的字节长度和;oui是指制造商的编号;body是指制造商的特定信息,用作本发明规定的信息。表7fieldattributeidlengthouibodyvalue0xddx+3size/bytes123x总的来说,在本发明描述的机制下,任何一台nan设备发送的服务发现帧格式如表8所示。表8目前,区块链的硬件载体还是依赖于联网计算机,市面上还没有出现仅凭智能手机就可以组建运行本地局域区块链的相关技术方案。而在本发明中,nan设备均优选为智能手机,多部智能手机可直接组网,而不需要中心设备(如联网计算机),使得用户无需操作智能手机,各个智能手机可以自动组建本地局域区块链并安全运行区块链,填补了市面上智能手机之间无法组建运行本地局域区块链的空白。在本发明较佳实施例中,节点接口地址列表如表9所示。表9区块链的节点节点在wi-fiaware中的角色接口地址节点1主设备接口地址1节点2非主同步设备或非主非同步设备接口地址2节点3非主同步设备或非主非同步设备接口地址3………为了更好地理解本发明的方案,这里将表8所描述的服务发现帧进行简化表示,如表10所示。表10中的body字段即为表8中的body字段。表10表10中消息id的定义及其说明,如表11所示。表11消息id说明0x01主设备在网络中广播节点接口地址列表0x02两台智能手机点对点通信0x03两台智能手机完成点对点通信后,发送方广播通信记录主设备在网络里广播表9所示的区块链的节点接口地址列表,对应的信令(即第一广播信令)格式,如表12所示。表12其中,区块链节点接口地址列表即为由表9中的接口地址1、接口地址2等组成的接口地址序列。网络中的其他节点接收第一广播信令,并在本地保存所述节点接口地址列表。所述步骤s400之后还包括:nan群组中的主设备实时更新所述节点接口地址列表,并在nan群组所在的网络中发送新的第一广播信令;nan群组的各个设备接收到新的第一广播信令,并在本地实时更新所述节点接口地址列表。具体的,主设备会实时更新表9所示的区块链的节点接口地址列表并在网络中广播,此时广播的是已更新的第一广播信令,网络中的其他节点也会接收广播消息并在本地实时更新,保持一致性。在本发明较佳实施例中,所述步骤s400之后还包括:所述nan群组中的第一设备根据wi-fi信号强度检测附近的第二设备,并获取所述第二设备的接口地址;所述第一设备获取所述第二设备的接口地址后,所述第一设备与第二设备完成点对点通信。具体来说,本发明可完成距离最近的两台设备(以智能手机为例)的点对点通信服务,即如果区块链中的第一设备(智能手机a)想和离自己最近的第二设备(智能手机)通信,智能手机a可以检测附近智能手机的wi-fi信号强度并获取其接口地址信息,wi-fi信号强度最大的智能手机就是离智能手机a最近位置的智能手机。这样,区块链节点之间的通信采用点对点(p2p,point-to-point)直接通信的方式,并对通信内容进行加密。wi-fiaware协议支持点对点通信,wi-fiaware群组中智能手机点对点通信的信令格式如表13所示。表13完成点对点通信后,所述第一设备在nan群组所在的网络中发送第二广播信令;所述nan群组的各个设备接收到第二广播信令后,将第一设备与第二设备之间的通信记录保存在本地,使得各节点保持统一性,并生成通信记录列表。具体的,区块链的点对点通信,对通信内容采取加密措施,但会向区块链中的其他节点广播通信记录,区块链的每个节点都保存所有节点的通信记录,并且不可以被修改。针对这一点,wi-fiaware协议支持广播通信。本发明定义,当两台智能手机完成点对点通信后,作为发送方的智能手机(即第一设备,第二设备则为接收方)会广播如表14所示的信令(即第二广播信令)。表14网络中的其他智能手机接收到第二广播信令后,将通信记录保存在本地,形成通信记录列表,如表15所示。表15发送方接收方发送方的发送时间戳接口地址1接口地址2发送时间戳1接口地址1接口地址2发送时间戳2接口地址1接口地址2…接口地址3接口地址4发送时间戳1接口地址3接口地址4发送时间戳2接口地址3接口地址4…………在本发明较佳实施例中,当nan群组的设备对通信记录有异议时,根据通信记录列表查找关键词;所述关键词包括:第一设备的接口地址、第二设备的接口地址和第一设备的发送时间戳。具体的,区块链中的所有设备在本地保存并实时更新通信记录列表,当系统或某个节点对某条通信记录有异议时,系统或者节点可以根据通信记录列表,方便地溯源通信记录,查找的关键词分别是发送方(第一设备)的接口地址,接收方(第二设备)的接口地址和发送方(第一设备)的发送时间戳。这样,以关键词为查找线索,系统或节点可以在通信记录列表中快速找到某条通信记录。如图3所示,本发明实施例还提供了一种去中心化的区块链实现系统,所述系统包括多个nan设备,所述多个nan设备形成nan群组;所述nan群组中的主设备通过wi-fiaware协议发现周边的设备,周边的设备加入nan群组;nan群组中的主设备或非主同步设备同步整个nan群组中的设备的时钟;nan群组中的主设备记录各个设备的接口地址,生成节点接口地址列表,并在nan群组所在的网络中发送第一广播信令;nan群组的各个设备接收到第一广播信令并在本地保存所述节点接口地址列表。本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的去中心化的区块链实现方法,具体如上所述。综上所述,本发明公开的去中心化的区块链实现方法、系统及存储介质,是基于wi-fiaware协议的去中心化的区块链实现方法,实现了去中心化网络、点对点通信、广播通信记录及通信记录溯源,构建了一个具有本地局域性质的区块链。本发明所描述的方案,无需用户手动操作设备(如手机),具有自动组建区块链和安全运营区块链的优点,适合在一些本地局域区块链的应用场景中投入使用,使得区块链的硬件载体不再依赖于联网计算机,非常方便。应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1