CN109167660B - 选举代表节点设备方法、装置、计算机设备及存储介质 - Google Patents

选举代表节点设备方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109167660B
CN109167660B CN201811046269.8A CN201811046269A CN109167660B CN 109167660 B CN109167660 B CN 109167660B CN 201811046269 A CN201811046269 A CN 201811046269A CN 109167660 B CN109167660 B CN 109167660B
Authority
CN
China
Prior art keywords
node device
network protocol
protocol address
representative
representative node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811046269.8A
Other languages
English (en)
Other versions
CN109167660A (zh
Inventor
郭锐
李茂材
王宗友
屠海涛
孔利
周开班
杨常青
王楠
丁勇
时一防
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811046269.8A priority Critical patent/CN109167660B/zh
Publication of CN109167660A publication Critical patent/CN109167660A/zh
Priority to PCT/CN2019/104057 priority patent/WO2020048427A1/zh
Priority to KR1020207033830A priority patent/KR102339194B1/ko
Priority to SG11202010954TA priority patent/SG11202010954TA/en
Priority to JP2020561863A priority patent/JP7112518B2/ja
Priority to US17/061,375 priority patent/US20210021412A1/en
Application granted granted Critical
Publication of CN109167660B publication Critical patent/CN109167660B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种选举代表节点设备方法、装置、计算机设备及存储介质,属于区块链技术领域。所述方法包括:目标服务器接收区块链***中的至少一个节点设备的网络协议地址;接收第一节点设备的网络协议地址获取请求;当该第一节点设备为新选举出的代表节点设备时,向其发送网络协议地址列表,该网络协议地址列表包括所有新选举的代表节点设备的网络协议地址信息,否则不响应该网络协议地址获取请求。本发明通过目标服务器存储和发放区块链***中代表节点设备的网络地址信息,使得所有新选举的代表节点设备的网络协议地址信息,只能被所有新选举的代表节点设备获取,降低了代表节点设备网络协议地址的暴露率,从而保证了代表节点设备的安全。

Description

选举代表节点设备方法、装置、计算机设备及存储介质
技术领域
本发明涉及区块链技术领域,特别涉及一种选举代表节点设备方法、装置、计算机设备及存储介质。
背景技术
近年来,随着网络技术的发展,区块链***被广泛应用在生活中,区块链***可以由多个节点设备构成,每个节点设备均可以利用区块存储交易数据,并按照时间顺序将区块以顺序相连的方式组合成一种链式数据结构,从而在区块链***内形成一种分布式账本。
目前,节点设备生成区块可以是如下过程,当任一个节点设备上发生交易时,该节点设备可以对交易数据进行记录,并在区块链***中广播该交易数据,以使得区块链***中的节点设备接收到该交易数据,当区块链***上的节点设备接收到交易数据之后,可以将交易数据打包并产生新区块,并通过共识机制验证新区块,当新区块通过验证后,各个节点设备可以将该新区块添加至节点设备上配置的区块链中。
在上述节点设备生成区块的过程中,为提高区块链***的工作效率,可以选举出一种代表节点设备来代替所有节点设备生成区块。那么在生成区块的过程中,代表节点设备可采用P2P(peer to peer,对等网络)广播的方式,在区块链***上广播交易数据。为了提高通信效率,也可以在代表节点设备之间采用直接通讯的方式进行数据交互,即通过彼此的IP(internet protocol,网络协议)地址,可以直接发送或接收交易数据。但是,如果代表节点设备传递交易数据时,采用直接通讯的方式,那么与代表节点设备通讯的所有节点设备均需要知道代表节点设备的IP地址,一旦代表节点设备的IP地址暴露,极易遭受攻击,会影响区块链***的正常运作。此时,就亟需一种能够保证代表节点设备的安全性的选举代表节点设备的方法。
发明内容
本发明实施例提供了一种选举代表节点设备方法、装置、计算机设备及存储介质,能够解决区块链***中代表节点设备的IP地址容易暴露的问题。该技术方案如下:
一方面,提供了一种选举代表节点设备方法,应用于目标服务器,该方法包括:
接收区块链***中的至少一个节点设备的网络协议地址信息;
接收第一节点设备的网络协议地址获取请求,该网络协议地址获取请求用于请求代表节点设备的网络协议地址信息;
当确定该第一节点设备为本次选举过程中选举出的代表节点设备时,向该第一节点设备发送网络协议地址列表,该网络协议地址列表包括该本次选举过程中选举出的代表节点设备的网络协议地址信息;
当确定该第一节点设备不是本次选举过程中选举出的代表节点设备时,不响应该网络协议地址获取请求。
本发明实施例提供的方法,通过目标服务器可以对所有候选节点设备的网络协议地址进行管理,在选举成功时,仅向新选举出的代表节点设备发送包括了所有新选举的代表节点设备的网络协议地址的网络协议地址列表,使得这些代表节点设备的网络协议地址,仅能被本次新选举出的代表节点设备知道,降低了代表节点设备的网络协议地址的暴露率,保证了代表节点设备的安全。
一方面,提供了一种选举代表节点设备方法,应用于区块链***的任一节点设备,该方法包括:
当该节点设备处于候选状态时,向目标服务器送该节点设备的网络协议地址信息;
当该节点设备在本次选举过程中被选举为代表节点设备时,向该目标服务器发送网络协议地址获取请求,该网络协议地址获取请求携带该节点设备的公钥;
接收该目标服务器返回的网络协议地址列表,该网络协议地址列表包括该本次选举过程中选举出的代表节点设备的网络协议地址信息;
该节点设备切换至代表状态运行。
本发明实施例提供的方法,通过区块链***中处于候选状态的节点设备向目标服务器发送该节点设备的网络协议地址信息,一旦该处于候选状态的节点设备当选为该区块链***中的代表节点设备,就可以向该目标服务器发送网络协议地址获取请求,由于目标服务器仅会向本次新选举出的代表节点设备发送网络协议地址列表,因此,这些网络协议地址仅能被本次选举过程中选举出的代表节点设备知道,降低了代表节点设备的网络协议地址的暴露率,保证了代表节点设备的安全。
一方面,提供了一种选举代表节点设备方法,应用于区块链***的任一节点设备,该方法包括:
当该节点设备在本次选举过程中被选举为代表节点设备时,将该节点设备的网络协议地址信息复制为预设数目的网络协议地址信息;
分别采用该本次选举出的各个代表节点设备的公钥,对该预设数目的网络协议地址信息进行加密,得到预设数目的密文;
广播该预设数目的密文;
间隔预设时长,该节点设备切换至代表状态运行。
本发明实施例提供的方法,通过新选举的代表节点设备可以在该区块链***内广播加密网络协议地址,该网络协议地址的加密方式可以是利用本次选举的代表节点设备的公钥进行加密,使得该加密网络协议地址仅能被新选举的代表节点设备才可以解密,也即是该网络协议地址仅能被本次选举过程中选举出的代表节点设备知道,从而降低了代表节点设备的网络协议地址的暴露率,保证了代表节点设备的安全。
一方面,提供了一种选举代表节点设备装置,应用于目标服务器,该装置包括:
第一接收模块,用于接收区块链***中的至少一个节点设备的网络协议地址信息;
第二接收模块,用于接收第一节点设备的网络协议地址获取请求,该网络协议地址获取请求用于请求代表节点设备的网络协议地址信息;
发送模块,用于当确定该第一节点设备为本次选举过程中选举出的代表节点设备时,向该第一节点设备发送网络协议地址列表,该网络协议地址列表包括该本次选举过程中选举出的代表节点设备的网络协议地址信息;
当确定该第一节点设备不是本次选举过程中选举出的代表节点设备时,不响应该网络协议地址获取请求。
一方面,提供了一种选举代表节点设备装置,应用于区块链***的任一节点设备,该装置包括:
第一发送模块,用于当该节点设备处于候选状态时,向目标服务器送该节点设备的网络协议地址信息;
第二发送模块,用于当该节点设备在本次选举过程中被选举为代表节点设备时,向该目标服务器发送网络协议地址获取请求,该网络协议地址获取请求携带该节点设备的公钥;
接收模块,用于接收该目标服务器返回的网络协议地址列表,该网络协议地址列表包括该本次选举过程中选举出的代表节点设备的网络协议地址信息;
切换模块用于,该节点设备切换至代表状态运行。
一方面,提供了一种计算机设备,该计算机设备包括:处理器;用于存放计算机程序的存储器;其中,该处理器用于执行存储器上所存放的计算机程序,实现该选举代表节点设备方法中任一项该的方法步骤。
一方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现该选举代表节点设备方法中任一项该的方法步骤。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种区块链***结构示意图;
图2是本发明实施例提供的一种选举代表节点设备方法流程图;
图3是本发明实施例提供的一种选举代表节点设备方法流程图;
图4是本发明实施例提供的一种选举代表节点设备装置结构示意图;
图5是本发明实施例提供的一种选举代表节点设备装置结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种区块链***结构示意图,参见图1,该***包括多个服务器,该***还可以包括目标服务器。在一种可能实施方式中,该目标服务器也可以是该区块链***外配置的与该区块链***相关联的目标服务器。
其中,多个服务器可以配置有同一条区块链,也即是,该多个服务器可以组成区块链***,各个服务器分别为该区块链***中的节点设备。该多个服务器可以是同一机构的多个服务器,还可以是属于不同机构的多个服务器,还可以是普通用户的多个服务器。
多个服务器作为区块链***中的节点设备,均可以接收交易数据,但区块链***在记录交易数据时,因各个节点设备用途不同,可以分为代表节点设备和非代表节点设备。其中,代表节点设备用于生成区块以及共识区块,非代表节点设备用于接收代表节点设备生成及经过共识的区块,验证区块,并将验证通过的区块存储至目标区块链中,并且当非代表节点设备处于代表节点设备的候选状态时,可通过选举的方式,选举为代表节点设备。
该目标服务器可以用于存储区块链***中处于候选状态的节点设备的网络协议地址信息,查询区块链***中新选举的代表节点设备列表,以及向新选举的代表节点设备发送所有新选举的代表节点设备的网络协议地址信息。
该区块链***记录交易数据的过程,以下述过程为例:
当区块链***中的任一节点设备接收到交易数据时,该节点设备需将接收到的交易数据广播在区块链***中,以便其他节点设备接收到该交易数据。当区块链***中的代表节点设备接收到该交易数据后,代表节点设备基于交易数据生成区块,以便各个代表节点设备对该区块进行共识,当代表节点设备对该区块共识通过后,代表节点设备在区块链***中广播该区块,非代表节点设备接收到代表节点设备广播的区块后,对该区块进行验证,通过验证后,将该区块存储至该非代表节点配置的目标区块链上。
本发明实施例所涉及的共识,是指区块链***中多个节点设备对数据分别进行验证,当任一个节点设备验证通过时,会在区块链***中广播验证通过消息,当任一个节点设备所接收到的验证通过消息符合预设共识策略时,则确定该数据共识通过。
例如,以共识是由区块链***中的代表节点设备进行为例进行说明,该共识可以通过POW(proof of work,工作量证明)机制完成。其过程描述如下:区块链***中的代表节点设备生成区块;代表节点设备计算该生成区块的区块头的哈希值,看其是否小于当前的目标值,如果哈希值大于目标值,代表节点设备就修改该生成区块中的随机数,并重新计算;当代表节点设备计算的哈希值小于目标值时,该代表节点设备根据其它代表节点的网络协议地址,向其他代表节点设备发送该区块;其他代表节点设备接收到该区块后,对其进行验证;当多数其他多数代表节点设备都认同该区块的有效性时,即为共识通过。
其中,通过代表节点设备利用彼此的网络协议地址,向其他代表节点设备发送区块的过程,为直接通讯的通讯。
本发明实施例提供的***,无需区块链***中的所有节点设备生成区块,也无需区块链***中大多数节点设备对生成的区块达成共识后,再进行验证是否可以存储交易数据,仅通过代表节点生成区块、共识区块以及非代表节点设备完成验证,即可将交易数据记录在区块链***中,从而提高了区块链***的工作效率,并且该区块链***中的代表节点设备之间,可以利用直接通讯完成区块共识,进一步提高了代表节点的工作效率,从而进一步提高了该区块链***的工作效率。
那么,关于区块链***中的代表节点设备的产生过程,在此用一个具体的实施例来描述如下:
图2是本发明实施例提供的一种选举代表节点设备方法流程图,参见图2,本发明实施例提供的方法流程包括:
201、第一节点设备向目标服务器发送自己的网络协议地址信息。
其中,区块链***中的第一节点设备为区块链***中的任一节点设备,该网络协议地址信息可以包括:网络协议地址和公钥,而目标服务器可以利用该公钥,来筛选代表节点设备的网络协议地址。
在本发明实施例中,以该第一节点设备为处于候选状态的节点设备为例。候选状态的节点设备是指候选成为代表节点设备的节点设备,其中,该处于候选状态的节点设备可以是具有一定的资质的节点设备,例如,该资质是指性能符合预设性能要求或者信用符合预设信用要求等。
对于区块链***中的第一次选举过程中,其对应的代表节点设备为区块链***在初始化时所设置的初期代表节点设备,而在后续的每一次选举过程中,其对应的代表节点设备均为上一次选举出的代表节点设备。
202、目标服务器接收至少一个节点设备发送的该网络协议地址信息。
在本实施例中,该至少一个节点设备可以为至少一个处于候选状态的节点设备。该目标服务器接收多个网络协议地址信息,以便该目标服务器可以基于该多个网络协议地址信息,筛选出代表节点设备的网络协议地址。
当然,该至少一个节点设备还可以包括未处于候选状态的节点设备,本发明实施例对此不做限定。
203、第一节点设备接收用户的投票交易数据。
在本实施例中,该投票交易数据为用户利用用户设备对该区块链***中至少一个处于候选状态的节点设备,进行投票的数据。
204、第一节点设备在区块链***中广播该投票交易数据。
该广播可以使得区块链***中的所有节点设备均接收到该投票交易数据。本发明实施例中,是以第一节点设备直接接收用户通过登录该第一节点设备进行投票,而产生的投票交易数据为例进行说明,而在一些实施例中,该第一节点设备可以直接接收用户通过登录其他节点设备进行投票后,其他节点设备所广播的投票交易数据,本发明实施例对此不做具体限定。
205、各个第二节点设备接收到投票交易数据。
该第二节点设备为将区块链***中除第一节点设备以外的节点设备。需要说明的是,本发明实施例所涉及的“第一”“第二”等定语均不用于对节点设备的功能进行区分,而仅仅是区分不同节点设备。
206、当该区块链***中的多个节点设备对该投票交易数据共识通过时,该区块链***中的多个节点设备将该投票交易数据存储至该区块链***的目标区块链中。
本发明实施例的多个节点设备对投票交易数据共识通过时,可以是指区块链***中的多个代表节点设备对该投票交易数据共识通过。对于第一次进行选举的区块链***来说,上文中所提及的初期代表节点设备可以作为本次参与共识过程的节点,后续在选举出多个代表节点设备后,该选举得到的多个代表节点设备可以切换至代表节点设备的运行状态,来参与整个区块链***的共识和生成区块过程,而未被选举为代表节点设备的节点设备则运行于非代表节点设备的状态,不参与整个区块链***的共识和生成区块过程。
207、当已生成的区块数达到预设数目时,第一节点设备从该目标区块链的各个区块中,确定多个第一区块,该多个第一区块用于存储各个节点设备的投票交易数据。
在该步骤207中,第一节点设备可以从该目标区块链的各个区块中,基于投票交易类型进行查询,得到存储有该投票交易类型的区块,作为第一区块。
在本发明实施例中,可以在整个区块链***的运行过程中进行多次选举,以避免由于某个代表节点设备发生状况所造成的***运行问题,例如,某个代表节点设备可能会设备运行不正常或是信用有问题等,从而可以保证基于代表节点设备的区块链***的稳定运行。
该已生成区块为上次选举之后生成的区块,当已生成的区块达到第一预设数目时才进行一次选举的方式,可以保证代表节点设备的切换时长,即多久切换一次代表节点设备,从而可以避免频繁切换代表节点设备,影响整个区块链***的正常运行。
可以理解的是,该已生成的区块不仅包含基于投票交易数据生成的区块,还包括基于其他交易数据生成的区块,当然,还可以包含基于投票交易数据以及其他交易数据生成的区块,本发明实施例对此不做赘述。
需要说明的是,区块链***中的各个节点设备均会执行上述步骤207的过程,本发明实施例对此不做赘述。
208、第一节点设备根据该多个第一区块中所存储的投票交易数据,确定该区块链***中各个节点设备的票数。
投票交易数据包括交易类型、被投票节点设备列表以及投票用户私钥签名等,因此,对于每个第一区块中所存储的投票交易数据,可以统计出哪个节点设备得到了多少票数。
在本发明实施例中,区块链***中的投票方式可以是增量投票的方式,增量投票是指在投票交易中指明被投票的节点设备,并保留历史投票结果。例如用户已经对A、B和C三个节点设备投票,本次投票对象为D节点设备,那么在本次投票时,可以直接对D节点设备投票,其投票交易数据中的被投票节点设备列表中应携带该D节点设备的设备公钥,也即是,该用户通过多轮投票,对A、B、C和D四个节点设备进行了投票。
基于上述增量投票的方式,也可以对被投票的节点设备进行撤票,例如用户已经对A、B和C三个节点设备投票,下次若想撤掉对C节点设备的投票,那么在下一次投票时,可以直接在投票交易数据中指出撤回对C节点设备的投票。
需要说明的是,在投票以及对投票进行统计时也可以采用其他方式,在此本发明不做具体限定。
上述步骤207至208实际上是对如何获取各个处于候选状态的节点设备对应的投票交易数据的示例,该过程也可以采用其他方式,在此本发明不做具体限定。
209、第一节点设备按照票数从高到低,确定选举结果,该选举结果包括该区块链***本次选举出的第二预设数目的代表节点设备的公钥和各个代表节点设备的票数。
该第二预设数目可以和当前正在工作的代表节点设备的数目保持一致,也即是通过该第二预设数目的设置,可以保证当前工作的代表节点设备可以被选举出代表节点设备全部切换掉。当然,该第二预设数目也可以进行变更,例如,该第二预设数目可以根据区块链***中节点设备的数量变化进行变更,当节点设备的数量增大时,该第二预设数目可以增大。
值得注意的是,该第一节点设备可以根据自己确定的选举结果,确定自己是否是本次新选举的代表节点设备,也即是该区块链***中的任一节点设备,都可以根据自己统计的选举结果,来确定自己是否是本次新选举的代表节点设备,以及其他本次新选举的代表节点设备的身份。
上述步骤207至209为第一节点设备根据该多个节点设备的票数,确定该区块链***中的多个代表节点设备的过程的一种实施方式,也即是,根据该多个第一区块中所存储的投票交易数据,确定该区块链***中的第二预设数目的代表节点设备的过程。
需要说明的是,上述选举过程仅为一种示例性的说明,在一些实施例中,还可以采取其他选举方式来选举出区块链***中的代表节点设备,本发明实施例对此不做限定。
210、新选举的代表节点设备向目标服务器发送网络协议地址获取请求。
其中,该网络协议地址获取请求携带该节点设备的公钥,以便目标服务器可以确定发送该网络协议地址获取请求的节点设备是否是本次新选举的代表节点设备。
需要说明的是,该新选举的代表节点设备向目标服务器发送网络协议地址获取请求之前,需要根据该节点设备确定的选举结果,来确定自己是否是新选举的代表节点设备,如果是,则该新选举的代表节点设备向目标服务器发送网络协议地址获取请求。
211、当目标服务器接收到该网络协议地址获取请求时,目标服务器向该区块链***发送查询请求,该查询请求用于查询本次选举的选举结果。
目标服务器向该区块链***发送查询请求,可以是向该区块链***中的任一节点设备送查询请求,也可以是向该区块链***中的特定节点设备送查询请求,也可以直接向该区块链***发送查询请求,本发明在此不作具体限定。
212、区块链***中的任一节点设备在接收到查询请求时,向该目标服务器发送本次选举的选举结果。
213、当目标服务器接收到该选举结果,且确定该第一节点设备为本次选举过程中选举出的代表节点设备时,向该第一节点设备发送网络协议地址列表,该网络协议地址列表包括所述本次选举过程中选举出的代表节点设备的网络协议地址信息。
该选举结果中包含多个代表节点设备的公钥,因此,在目标服务器接收到该选举结果时,可以根据该多个代表节点设备的公钥以及该第一节点设备的公钥,判断该第一节点设备是否为本次选举出的代表节点设备,如果是,则根据该多个代表节点设备的公钥,从已接收到的网络协议地址列表中,筛选出该各个代表节点设备的网络协议地址信息,并基于该各个代表节点设备的网络协议地址信息,生成网络协议地址列表。值得注意的是,当目标服务器确定该第一节点设备为本次新选举的节点设备时,目标服务器才会向该第一节点设备发送网络协议地址列表,如果经目标服务器判断该第一节点设备不是本次新选举的节点设备时,则该目标服务器不响应该第一节点设备发送的网络协议地址获取请求。
当然,上述过程所描述的是在确定了某一个节点设备为代表节点设备时,才执行网络协议地址筛选过程为例进行说明的,在一些实施例中,目标服务器可以在接收到选举结果后,同步执行对第一节点设备的判断以及网络协议地址筛选,再基于判断结果确定是否将生成的网络协议地址列表发送给该第一节点设备。
需要说明的是,上述过程是以当接收到网络协议地址获取请求时,目标服务器进行代表节点设备的查询为例进行说明,在一些实施例中,该目标服务器还可以无需由网络协议地址获取请求触发该查询过程,而是在区块链***的选举结束后自动进行查询并基于查询结果生成网络协议地址列表的过程,可以减少实时查询实时生成的耗时,本发明实施例对具体查询时机不做限定。
在一些实施例中,新选举出的代表节点设备还可以无需向目标服务器发送网络协议地址获取请求,而是由目标服务器在获取到选举结果后,向各个新选举出的代表节点设备主动发送该网络协议地址列表,以减少信令交互。
214、新选举的代表节点设备接收到该网络协议地址列表后,切换至代表状态运行。
本发明实施例提供的方法,通过目标服务器可以对所有候选节点设备的网络协议地址进行管理,在选举成功时,仅向新选举出的代表节点设备发送包括了所有新选举的代表节点设备的网络协议地址的网络协议地址列表,使得这些代表节点设备的网络协议地址,仅能被本次新选举出的代表节点设备知道,降低了代表节点设备的网络协议地址的暴露率,保证了代表节点设备的安全。
进一步地,在选举过程中,可选取不同的计票方式,可以为区块链***选举出代表节点设备,提供更加灵活的选举方式。间隔生成区块第一预设数目时,统计区块链***中各个节点设备的票数,并对票数进行从高到低的排序,进而选举出代表节点设备,该方式还可以控制代表节点设备的切换时长,从而避免代表节点设备频繁切换,区块链***无法正常工作。区块链***进行多次选举,可以避免某些不能正常工作的代表节点设备被切换掉,以维持区块链***正常运行。该区块链***中的代表节点设备在共识过程中,通过彼此的网络协议地址,进行直接通讯,进一步提高了区块链***的工作效率。
上述实施例为降低代表节点设备网络协议地址暴露率的一种选举代表节点设备方法,还可以是其他降低代表节点设备网络协议地址暴露率的选举代表节点设备方法,在此用一个具体的实施例来描述如下:
图3是本发明实施例提供的一种代表节点设备选举方法流程图,参见图3,本发明实施例提供的方法流程包括:
301、第一节点设备接收用户的投票交易数据。
在本发明实施例中,以用户利用用户设备向第一节点设备发起投票交易为例,区块链***进行初始化,确定初期代表节点设备,该初期代表节点设备是在未进行选举时区块链***中用于进行区块生成和区块共识的节点设备,在该初始化阶段,可以将初始代表节点设备的公钥存储在区块链的创世区块中,使得区块链***中每个节点设备均知道该初期代表节点设备的公钥。
另外,设置任一个初期代表节点设备都知道所有初期代表节点设备的网络协议地址信息,区块链***中非初期代表节点设备不知道初期代表节点设备的网络协议地址信息。
302、第一节点设备在区块链***中广播该投票交易数据。
该投票交易数据是,用户对区块链***的至少一个第一节点设备进行投票的数据。
303、各个第二节点设备接收到投票交易数据。
304、当该区块链***中的多个节点设备对该投票交易数据共识通过时,该区块链***中的多个节点设备将该投票交易数据存储至该区块链***的目标区块链中。
本发明实施例的多个节点设备对投票交易数据共识通过时,可以是指区块链***中的多个代表节点设备对该投票交易数据共识通过。对于第一次进行选举的区块链***来说,上文中所提及的初期代表节点设备可以作为本次参与共识过程的节点,后续在选举出多个代表节点设备后,该选举得到的多个代表节点设备可以切换至代表节点设备的运行状态,来参与整个区块链***的共识和生成区块过程,而未被选举为代表节点设备的节点设备则运行于非代表节点设备的状态,不参与整个区块链***的共识和生成区块过程。
305、当已生成的区块数达到第一预设数目时,第一节点设备从该目标区块链的各个区块中,确定多个第一区块,该多个第一区块用于存储各个节点设备的投票交易数据。
需要说明的是,区块链***中的各个节点设备均会执行上述步骤305的过程。
306、第一节点设备根据该多个第一区块中所存储的投票交易数据,确定该区块链***中各个节点设备的票数。
区块链***中的投票方式可以为全量投票的方式,全量投票是指每次交易均需指出被投票的节点设备,并且上次的投票无效,例如用户已经对A节点设备和B节点设备投票,下次投票对象为C节点设备和D节点设备,那么用户在下次投票时,不仅需要指明对C节点设备和D节点设备进行投票,还需要直接覆盖掉用户上次对A节点设备和B节点设备的投票。
需要说明的是,在投票以及对投票进行统计时也可以采用其他方式,在此本发明不做具体限定。
上述步骤305至306实际上是对如何获取各个处于候选状态的节点设备对应的投票交易数据的示例,该过程也可以采用其他方式,在此本发明不做具体限定。
307、第一节点设备按照票数从高到低,确定选举结果,该选举结果包括该区块链***中的第二预设数目的代表节点设备的公钥和各个代表节点设备的票数。
该第二预设数目可以和当前正在工作的代表节点设备的数目保持一致,也即是通过该第二预设数目的设置,可以保证当前工作的代表节点设备可以被选举出代表节点设备全部切换掉。当然,该第二预设数目也可以进行变更,例如,该第二预设数目可以根据区块链***中节点设备的数量变化进行变更,当节点设备的数量增大时,该第二预设数目可以增大。
值得注意的是,该第一节点设备可以根据自己确定的选举结果,确定自己是否是本次新选举的代表节点设备,也即是该区块链***中的任一节点设备,都可以根据自己确定的选举结果,来确定自己是否是本次新选举的代表节点设备,以及其他本次新选举的代表节点设备的身份。
所以该步骤307,确定选举结果的过程,即是确定自己以及本次选举出的代表节点设备的身份的过程。
上述步骤305至307为第一节点设备根据该多个节点设备的票数,确定该区块链***中的多个代表节点设备的过程的一种实施方式,也即是,根据该多个第一区块中所存储的投票交易数据,确定该区块链***中的第二预设数目的代表节点设备的过程。
308、新选举的代表节点设备在区块链***中广播第三预设数目的密文。
以便在本次选举过程中其他新选举的代表节点设备都可以接收到该密文,并都可以对该密文进行解密。
其中,设置第三预设数目,是在为了本次选举过程中其他新选举的代表节点设备都可以接收到自己可以解密的密文,第三预设数目可以比区块链***中正在工作的代表节点的数目少1。
该第三预设数目的密文的生成过程是,首先,将该新选举的代表节点设备的网络协议地址信息复制为第三预设数目的网络协议地址信息;其次,分别采用本次选举出的各个代表节点设备的公钥,对该第三预设数目的网络协议地址信息进行加密;最后,得到第三预设数目的密文。可选地,采用所述新选举的代表节点设备的私钥,对所述新选举的代表节点设备的原始网络协议地址信息进行加密,得到所述新选举的代表节点设备的网络协议地址信息。
当该密文被该新选举的代表节点设备在区块链***中广播时,可以保证仅有新选举的代表节点设备才能解密,降低了代表设备的网络协议地址信息的暴露率,保证了区块链***中代表节点设备的安全。
需要说明的是,该区块链***中的节点设备可以组成一个P2P网络,节点设备以广播的形式,实现节点设备之间的通讯。为了提高代表节点设备之间的通讯效率,在各个代表节点设备还可以通过彼此的网络协议地址,来实现通讯。对本发明实施例而言,新选举的代表节点设备目前还不知道彼此的网络协议地址,新选举的代表节点设备可以通过在该P2P网络内广播密文,使得其他新选举的代表节点设备接收该密文,并通过解密来获得该新选举的代表节点设备的网络协议地址,以便各个新选举的代表节点设备在进行代表节点设备的工作时,可以利用彼此的网络协议地址,进行直接通讯,从而在保证网络协议地址对代表节点设备以外的设备隐藏的情况下,还能提高代表节点设备的工作效率。
309、其他新选举的代表节点设备接收并解密该密文。
该解密是指新选举的代表节点设备可以基于自己的私钥,对利用自己公钥加密的密文进行解密。
310、间隔预设时长后,新选举的代表节点设备切换至代表状态运行。
设置预设时长,可以保证有足够的时间,可以使在本次选举过程中选举出的代表节点设备,均可以接收到其他新选举的代表节点设备发送的密文,并对密文进行解密,即可保证新选举的代表节点设备都可以获取其他新代表节点设备的网络协议地址信息。
本发明实施例提供的方法,通过新选举的代表节点设备可以在该区块链***内广播加密的网络协议地址,该网络协议地址的加密方式可以是利用本次选举的代表节点设备的公钥进行加密,使得该加密网络协议地址仅能被新选举的代表节点设备才可以解密,也即是该网络协议地址仅能被本次选举过程中选举出的代表节点设备知道,从而降低了代表节点设备的网络协议地址的暴露率,保证了代表节点设备的安全。
进一步地,通过选举出的代表节点设备可以代替区块链***的全部节点设备生成区块,并且还可以对新区块完成共识的工作,提高了区块链***的工作效率,另外,该区块链***中的代表节点设备在共识时,可以通过彼此的网络协议地址,进行直接通讯,进一步提高了区块链***的工作效率。
图4是本发明实施例提供的一种选举代表节点装置结构示意图,参见图4,包括第一接收模块401、第二接收模块402、发送模块403。
其中,第一接收模块401与第二接收模块402连接,用于接收区块链***中的至少一个节点设备的网络协议地址信息;
第二接收模块402与发送模块403连接,用于接收第一节点设备的网络协议地址获取请求,该网络协议地址获取请求用于请求代表节点设备的网络协议地址信息;
发送模块403,用于当确定该第一节点设备为本次选举过程中选举出的代表节点设备时,向该第一节点设备发送网络协议地址列表,该网络协议地址列表包括该本次选举过程中选举出的代表节点设备的网络协议地址信息;
当确定该第一节点设备不是本次选举过程中选举出的代表节点设备时,不响应该网络协议地址获取请求。
可选地,该装置还包括:
查询模块,用于当该本次选举过程结束时,向该区块链***发送查询请求,该查询请求用于查询该本次选举过程中选举出的各个代表节点设备;
第三接收模块,用于接收该各个代表节点设备的公钥。
可选地,该装置还包括:
生成模块,用于根据该各个代表节点设备的公钥,从已接收到的网络协议地址信息中,筛选出该各个代表节点设备的网络协议地址信息,基于该各个代表节点设备的网络协议地址信息生成该网络协议地址列表。
本发明实施例提供的装置,可以存储该区块链***中的节点设备的网络协议地址,并可以基于区块***中的第一节点设备的网络协议地址获取请求,查询该区块链***中本次选举过程中选举出的代表节点设备,如果该第一节点设备为新的代表节点设备,则向该第一节点设备发送所有新选举的代表节点设备的网络协议地址信息,否则,该装置不予回应,由此可见,新选举的代表节点设备的网络协议地址,仅在所有新选举的代表节点设备中暴露,降低了该区块***中代表节点设备的暴露率,保证了新代表节点设备的安全,维护了该区块链***的正常运作。
图5是本发明实施例提供的一种选举代表节点装置结构示意图,参见图5,包括第一发送模块501、第二发送模块502、接收模块503和切换模块504。
第一发送模块501与第二发送模块502连接,用于当该节点设备处于候选状态时,向目标服务器送该节点设备的网络协议地址信息;
第二发送模块502与接收模块503连接,用于当该节点设备在本次选举过程中被选举为代表节点设备时,向该目标服务器发送网络协议地址获取请求,该网络协议地址获取请求携带该节点设备的公钥;
接收模块503与切换模块504连接,用于接收该目标服务器返回的网络协议地址列表,该网络协议地址列表包括该本次选举过程中选举出的代表节点设备的网络协议地址信息;
切换模块504,用于将该节点设备切换至代表状态运行。
本实施例提供的装置,可以视为区块链***中的代表节点设备的候选节点设备,该节点设备可以预先在目标服务器中储存网络协议地址,一旦该节点设备当选为代表节点设备,则可以向目标服务器发送网络协议地址获取请求,进而可以接收到本次选举过程中选举出的代表节点设备的网络协议地址信息,进而保证新选举的代表节点设备可以获取本次选举过程中选举出的代表节点设备的网络协议地址信息,达到了新选举的代表节点设备的网络协议地址信息被新选举的代表节点设备所知的目的,在共识时区块链***的代表节点设备,可以基于彼此的网络协议地址,进行直接通讯,提高了代表节点设备的工作效率,进一步地提高了该区块链***的工作效率。
本发明实施例提供了一种选举代表节点装置,包括复制模块,加密模块,广播模块,以及切换模块。所述复制模块用于当节点设备在本次选举过程中被选举为代表节点设备时,将所述节点设备的网络协议地址信息复制为预设数目的网络协议地址信息;所述加密模块用于分别采用所述本次选举出的各个代表节点设备的公钥,对所述预设数目的网络协议地址信息进行加密,得到预设数目的密文;所述广播模块用于广播所述预设数目的密文;所述切换模块用于间隔预设时长,所述节点设备切换至代表状态运行。
加密模块还用于,在所述复制模块将所述节点设备的网络协议地址信息复制为预设数目的网络协议地址信息之前,采用所述节点设备的私钥,对所述节点设备的原始网络协议地址信息进行加密,得到所述节点设备的网络协议地址信息。
本发明实施例提供的一种选举代表节点装置还包括投票模块,投票模块用于,在节点设备在本次选举过程中被选举为代表节点设备之前,对所述区块链***中的至少一个节点设备进行投票,所述投票为所述区块链***选举代表节点进行的投票。
本发明实施例提供的一种选举代表节点装置还包括确定模块,所述确定模块用于,在对所述区块链***中的至少一个节点设备进行投票后,根据所述至少一个节点设备的票数,确定所述区块链***中预设数目的代表节点设备。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的选举代表节点设备装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的选举代表节点设备方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本发明实施例提供的一种服务器的结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上CPU(central processing units,处理器)601和一个或一个以上的存储器602,其中,该存储器602中存储有至少一条指令,该至少一条指令由该处理器601加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的选举代表节点设备方法。例如,该计算机存储介质可以是RAM(read-only Memory,rOM)、随机存取存储器(random accessmemory,只读存储器)、CD-ROM(compact disc read-only memory,只读光盘)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种选举代表节点设备方法,其特征在于,应用于目标服务器,所述方法包括:
接收区块链***中的至少一个节点设备的网络协议地址信息;
接收第一节点设备的网络协议地址获取请求,所述网络协议地址获取请求用于请求代表节点设备的网络协议地址信息;
当确定所述第一节点设备为本次选举过程中选举出的代表节点设备时,向所述第一节点设备发送网络协议地址列表,所述网络协议地址列表包括所述本次选举过程中选举出的代表节点设备的网络协议地址信息;
当确定所述第一节点设备不是本次选举过程中选举出的代表节点设备时,不响应所述网络协议地址获取请求;
所述接收第一节点设备的网络协议地址获取请求之前,或,所述接收第一节点设备的网络协议地址获取请求之后,所述方法还包括:
当所述本次选举过程结束时,向所述区块链***发送查询请求,所述查询请求用于查询所述本次选举过程中选举出的各个代表节点设备;
接收所述各个代表节点设备的公钥。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述各个代表节点设备的公钥,从已接收到的网络协议地址信息中,筛选出所述各个代表节点设备的网络协议地址信息,基于所述各个代表节点设备的网络协议地址信息生成所述网络协议地址列表。
3.一种选举代表节点设备方法,其特征在于,应用于区块链***的任一节点设备,所述方法包括:
当所述节点设备处于候选状态时,向目标服务器发送所述节点设备的网络协议地址信息;
当本次选举过程结束时,由所述目标服务器向所述区块链***发送查询请求,所述查询请求用于查询所述本次选举过程中选举出的各个代表节点设备,接收所述各个代表节点设备的公钥;
当所述节点设备在本次选举过程中被选举为代表节点设备时,向所述目标服务器发送网络协议地址获取请求,所述网络协议地址获取请求携带所述节点设备的公钥;
接收所述目标服务器返回的网络协议地址列表,所述网络协议地址列表包括所述本次选举过程中选举出的代表节点设备的网络协议地址信息;
所述节点设备切换至代表状态运行。
4.一种选举代表节点设备方法,其特征在于,应用于区块链***的任一节点设备,所述方法包括:
当本次选举过程结束时,由目标服务器向所述区块链***发送查询请求,所述查询请求用于查询所述本次选举过程中选举出的各个代表节点设备,接收所述各个代表节点设备的公钥;
当所述节点设备在本次选举过程中被选举为代表节点设备时,将所述节点设备的网络协议地址信息复制为预设数目的网络协议地址信息;
分别采用所述本次选举出的各个代表节点设备的公钥,对所述预设数目的网络协议地址信息进行加密,得到预设数目的密文;
广播所述预设数目的密文;
间隔预设时长,所述节点设备切换至代表状态运行。
5.根据权利要求4所述的方法,其特征在于,将所述节点设备的网络协议地址信息复制为预设数目的网络协议地址信息之前,所述方法还包括:
采用所述节点设备的私钥,对所述节点设备的原始网络协议地址信息进行加密,得到所述节点设备的网络协议地址信息。
6.根据权利要求4所述的方法,其特征在于,所述节点设备在本次选举过程中被选举为代表节点设备之前,还包括:
对所述区块链***中的至少一个节点设备进行投票,所述投票为所述区块链***选举代表节点进行的投票。
7.根据权利要求6所述的方法,其特征在于,所述对所述区块链***中的至少一个节点设备进行投票后,包括:
根据所述至少一个节点设备的票数,确定所述区块链***中预设数目的代表节点设备。
8.一种选举代表节点设备装置,其特征在于,应用于目标服务器,所述装置包括:
第一接收模块,用于接收区块链***中的至少一个节点设备的网络协议地址信息;
第二接收模块,用于接收第一节点设备的网络协议地址获取请求,所述网络协议地址获取请求用于请求代表节点设备的网络协议地址信息;
发送模块,用于当确定所述第一节点设备为本次选举过程中选举出的代表节点设备时,向所述第一节点设备发送网络协议地址列表,所述网络协议地址列表包括所述本次选举过程中选举出的代表节点设备的网络协议地址信息;
当确定所述第一节点设备不是本次选举过程中选举出的代表节点设备时,不响应所述网络协议地址获取请求;
所述装置还包括:
查询模块,用于当所述本次选举过程结束时,向所述区块链***发送查询请求,所述查询请求用于查询所述本次选举过程中选举出的各个代表节点设备;
第三接收模块,用于接收所述各个代表节点设备的公钥。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
生成模块,用于根据所述各个代表节点设备的公钥,从已接收到的网络协议地址信息中,筛选出所述各个代表节点设备的网络协议地址信息,基于所述各个代表节点设备的网络协议地址信息生成所述网络协议地址列表。
10.一种选举代表节点设备装置,其特征在于,应用于区块链***的任一节点设备,所述装置包括:
第一发送模块,用于当所述节点设备处于候选状态时,向目标服务器发送所述节点设备的网络协议地址信息;
当本次选举过程结束时,由所述目标服务器向所述区块链***发送查询请求,所述查询请求用于查询所述本次选举过程中选举出的各个代表节点设备,接收所述各个代表节点设备的公钥;
第二发送模块,用于当所述节点设备在本次选举过程中被选举为代表节点设备时,向所述目标服务器发送网络协议地址获取请求,所述网络协议地址获取请求携带所述节点设备的公钥;
接收模块,用于接收所述目标服务器返回的网络协议地址列表,所述网络协议地址列表包括所述本次选举过程中选举出的代表节点设备的网络协议地址信息;
切换模块,用于将所述节点设备切换至代表状态运行。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求3任一项所述的选举代表节点设备方法所执行的操作;或如权利要求4至7任一项所述的选举代表节点设备方法所执行的操作。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求3任一项所述的选举代表节点设备方法所执行的操作;或如权利要求4至8任一项所述的选举代表节点设备方法所执行的操作。
CN201811046269.8A 2018-09-07 2018-09-07 选举代表节点设备方法、装置、计算机设备及存储介质 Active CN109167660B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201811046269.8A CN109167660B (zh) 2018-09-07 2018-09-07 选举代表节点设备方法、装置、计算机设备及存储介质
PCT/CN2019/104057 WO2020048427A1 (zh) 2018-09-07 2019-09-02 选举代表节点设备方法、装置、计算机设备及存储介质
KR1020207033830A KR102339194B1 (ko) 2018-09-07 2019-09-02 대표 노드 디바이스를 선출하기 위한 방법 및 장치, 및 컴퓨터 디바이스 및 저장 매체
SG11202010954TA SG11202010954TA (en) 2018-09-07 2019-09-02 Method and apparatus for electing representative node device, and computer device and storage medium
JP2020561863A JP7112518B2 (ja) 2018-09-07 2019-09-02 代表ノード機器の選出方法並びにその、装置、コンピュータ機器及びコンピュータプログラム
US17/061,375 US20210021412A1 (en) 2018-09-07 2020-10-01 Method and apparatus for electing representative node device, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811046269.8A CN109167660B (zh) 2018-09-07 2018-09-07 选举代表节点设备方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109167660A CN109167660A (zh) 2019-01-08
CN109167660B true CN109167660B (zh) 2021-05-14

Family

ID=64894384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811046269.8A Active CN109167660B (zh) 2018-09-07 2018-09-07 选举代表节点设备方法、装置、计算机设备及存储介质

Country Status (6)

Country Link
US (1) US20210021412A1 (zh)
JP (1) JP7112518B2 (zh)
KR (1) KR102339194B1 (zh)
CN (1) CN109167660B (zh)
SG (1) SG11202010954TA (zh)
WO (1) WO2020048427A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167660B (zh) * 2018-09-07 2021-05-14 腾讯科技(深圳)有限公司 选举代表节点设备方法、装置、计算机设备及存储介质
CN112243047B (zh) * 2019-07-19 2022-04-01 傲为有限公司 基于公链的区块链网络寻址方法
KR102373593B1 (ko) * 2019-07-19 2022-03-14 (주)유미테크 블록체인기반 신뢰네트워크 노드 관리방법
CN111131184B (zh) * 2019-12-06 2022-07-29 长沙理工大学 一种区块链共识机制的自主调节方法
CN113472561A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 一种区块链数据处理方法及其设备
CN113596174B (zh) * 2021-08-06 2022-02-18 环球数科集团有限公司 一种区块链节点部署与选举的装置
CN116170289A (zh) * 2022-08-01 2023-05-26 北京奥星贝斯科技有限公司 一种节点选举的方法、装置、存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN107070874A (zh) * 2017-01-23 2017-08-18 济南浪潮高新科技投资发展有限公司 广播通信的***、加密方法及装置、解密方法及装置
CN107423124A (zh) * 2017-07-27 2017-12-01 中链科技有限公司 一种用于对交易数据进行并行处理的方法
CN108156203A (zh) * 2016-12-06 2018-06-12 杭州海康威视数字技术股份有限公司 一种存储***及存储节点管理方法
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、***和计算机可读存储介质
CN108305056A (zh) * 2018-03-27 2018-07-20 搜游网络科技(北京)有限公司 基于区块链的数据处理方法、装置及区块链节点网络

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100555730B1 (ko) * 2003-11-04 2006-03-03 삼성전자주식회사 애드혹 네트워크의 리더 선출방법
US8582777B2 (en) * 2006-05-03 2013-11-12 Samsung Electronics Co., Ltd. Method and system for lightweight key distribution in a wireless network
JP5092803B2 (ja) 2008-03-04 2012-12-05 凸版印刷株式会社 プリンタ監視システムおよびプリンタ監視方法
US9875510B1 (en) * 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
US10679152B2 (en) * 2016-12-06 2020-06-09 Mastercard International Incorporated Method and system for travel itinerary bidding via blockchain
US10686590B2 (en) * 2016-12-23 2020-06-16 Joseph Santilli Methods and systems for crowdsourcing an outcome to an issue
US10742393B2 (en) * 2017-04-25 2020-08-11 Microsoft Technology Licensing, Llc Confidentiality in a consortium blockchain network
WO2018223042A1 (en) * 2017-06-01 2018-12-06 Schvey, Inc. d/b/a/ Axoni Distributed privately subspaced blockchain data structures with secure access restriction management
CN107395403B (zh) * 2017-07-07 2020-01-14 北京区块链云科技有限公司 一种适用于大规模电子商务的基于信用的区块链共识方法
US11251975B1 (en) * 2017-09-27 2022-02-15 Seagate Technology Llc Block chain based trusted security infrastructure
US11310234B2 (en) * 2017-11-16 2022-04-19 International Business Machines Corporation Securing permissioned blockchain network from pseudospoofing network attacks
CN108847925B (zh) * 2018-06-20 2020-09-15 深圳大学 一种基于树状结构的分片区块链生成方法
US20210256016A1 (en) * 2018-06-25 2021-08-19 Commonwealth Scientific And Industrial Research Organisation Blockchain system and method
US11194680B2 (en) * 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US10848375B2 (en) * 2018-08-13 2020-11-24 At&T Intellectual Property I, L.P. Network-assisted raft consensus protocol
CN109167660B (zh) * 2018-09-07 2021-05-14 腾讯科技(深圳)有限公司 选举代表节点设备方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156203A (zh) * 2016-12-06 2018-06-12 杭州海康威视数字技术股份有限公司 一种存储***及存储节点管理方法
CN107070874A (zh) * 2017-01-23 2017-08-18 济南浪潮高新科技投资发展有限公司 广播通信的***、加密方法及装置、解密方法及装置
CN106878071A (zh) * 2017-01-25 2017-06-20 上海钜真金融信息服务有限公司 一种基于Raft算法的区块链共识机制
CN107423124A (zh) * 2017-07-27 2017-12-01 中链科技有限公司 一种用于对交易数据进行并行处理的方法
CN108182635A (zh) * 2017-12-18 2018-06-19 深圳前海微众银行股份有限公司 区块链共识方法、***和计算机可读存储介质
CN108305056A (zh) * 2018-03-27 2018-07-20 搜游网络科技(北京)有限公司 基于区块链的数据处理方法、装置及区块链节点网络

Also Published As

Publication number Publication date
KR20210005678A (ko) 2021-01-14
CN109167660A (zh) 2019-01-08
KR102339194B1 (ko) 2021-12-14
SG11202010954TA (en) 2020-12-30
WO2020048427A1 (zh) 2020-03-12
JP2021526676A (ja) 2021-10-07
JP7112518B2 (ja) 2022-08-03
US20210021412A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
CN109167660B (zh) 选举代表节点设备方法、装置、计算机设备及存储介质
CN109165945B (zh) 代表节点设备选举方法、装置、计算机设备及存储介质
CN110443614B (zh) 节点设备删除方法、装置、计算机设备及存储介质
US11411721B2 (en) Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN111949953B (zh) 基于区块链的身份认证方法、***、装置和计算机设备
CN107315786B (zh) 业务数据存储方法及装置
Kogias et al. Enhancing bitcoin security and performance with strong consistency via collective signing
CN110753026B (zh) 一种基于区块链的分片方法及装置
CN113098907B (zh) 一种区块链的群组划分方法与装置
CN110674180B (zh) 一种业务数据处理方法、装置以及可读存储介质
CN109218391B (zh) 一种基于区块链的分布式存储***审计与去中心化的方法
CN110569251A (zh) 一种数据处理方法、相关设备及计算机可读存储介质
CN110597918B (zh) 一种账户管理方法、装置及计算机可读存储介质
CN114048517B (zh) 区块链的双通道共识***和方法、计算机可读存储介质
CN113301114B (zh) 区块链共识节点选择方法、装置、计算机设备和存储介质
CN112333212B (zh) 电力物联网业务数据的加密管理方法及装置
CN112333213B (zh) 一种电力物联网业务数据的隐私保护方法及装置
CN111771390A (zh) 自组织网络
CN113657898A (zh) 联盟链中的共识方法和***
CN113691376B (zh) 一种密钥管理方法及装置
Xie et al. A raft algorithm with byzantine fault-tolerant performance
CN113824555B (zh) 一种密钥处理方法及装置
Kokoris Kogias et al. Bitcoin meets collective signing
Kalpana et al. Reward and Punishment Strategy Based Security Enhancement in IoT Using Mobile Cloud Computing
WO2021096400A1 (en) Method of separating a private state and private transactions from an aggregate state and aggregate transactions in a distributed ledger network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant