CN112040015B - 一种共识节点列表生成方法及相关装置 - Google Patents

一种共识节点列表生成方法及相关装置 Download PDF

Info

Publication number
CN112040015B
CN112040015B CN202011226730.5A CN202011226730A CN112040015B CN 112040015 B CN112040015 B CN 112040015B CN 202011226730 A CN202011226730 A CN 202011226730A CN 112040015 B CN112040015 B CN 112040015B
Authority
CN
China
Prior art keywords
node
consensus
keywords
list
consensus 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
CN202011226730.5A
Other languages
English (en)
Other versions
CN112040015A (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 CN202011226730.5A priority Critical patent/CN112040015B/zh
Publication of CN112040015A publication Critical patent/CN112040015A/zh
Application granted granted Critical
Publication of CN112040015B publication Critical patent/CN112040015B/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
    • 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
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种共识节点列表生成方法及相关装置,其中,智能合约中记录有包括区块链网络中多个共识节点的节点信息的参考共识节点列表,节点信息包括关键字,多个节点信息是按照第一排列顺序排列的,所述方法包括:从智能合约中获取参考共识节点列表中的多个节点信息,并从获取到的各个节点信息中提取相应各个共识节点的关键字;基于关键字排列规则确定各个共识节点的关键字的排列顺序;基于各个共识节点的关键字的排列顺序确定各个共识节点的节点信息的第二排列顺序;按照第二排列顺序将各个共识节点的节点信息写入信息列表中,生成目标共识节点列表。采用上述方式,可以使得区块链网络中各个共识节点所维护的共识节点列表始终具备一致性。

Description

一种共识节点列表生成方法及相关装置
技术领域
本申请涉及区块链技术领域,尤其涉及一种共识节点列表生成方法、一种共识节点列表生成装置、一种计算机设备及一种计算机可读存储介质。
背景技术
在区块链网络中,每个共识节点均会维护共识节点列表,共识节点列表可用于记录区块链网络中的共识节点的节点信息。共识节点维护的共识节点列表中的各节点信息,是由共识节点从智能合约中写入的共识节点列表中读取到的。
目前,共识节点是按照读取的先后顺序依次将读取到的各节点信息写入信息列表,从而生成共识节点所维护的共识节点列表。但如果由于某些原因导致共识节点读取节点信息的先后顺序与智能合约中的排列先后顺序不同,这样就会出现区块链网络中各个共识节点所维护的共识节点列表中的节点信息的排列顺序不完全相同的问题,即无法实现各个共识节点所维护的共识节点列表的一致性。
而区块链网络中各个共识节点所维护的共识节点列表的一致性,对于区块链网络的整体性能,具有至关重要的作用。因此,如何使得区块链网络中各个共识节点所维护的共识节点列表始终具备一致性是目前亟需解决的问题。
发明内容
本申请实施例提供了一种共识节点列表生成方法及相关装置,可以使得区块链网络中各个共识节点所维护的共识节点列表始终具备一致性。
一方面,本申请实施例提供了一种共识节点列表生成方法,其中,智能合约中记录有参考共识节点列表,所述参考共识节点列表中包括区块链网络中的多个共识节点的节点信息,所述节点信息包括关键字,所述参考共识节点列表中的多个节点信息是按照第一排列顺序排列的,所述方法包括:
从所述智能合约中获取所述参考共识节点列表中的多个节点信息,并从获取到的各个节点信息中提取相应各个共识节点的关键字;
基于关键字排列规则确定所述各个共识节点的关键字的排列顺序;
基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序;
按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表。
在一实施例中,共识节点的关键字为数值;所述基于关键字排列规则确定所述各个共识节点的关键字的排列顺序,包括:
按照关键字从大到小的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序;或者,按照关键字从小到大的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序。
在一实施例中,所述数值为共识节点在所述区块链网络中的编号,或者为共识节点对应的哈希值。
在一实施例中,所述基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,包括:
将所述各个共识节点的关键字的排列顺序作为所述各个共识节点的节点信息的第二排列顺序;或者,按照顺序调整规则对所述各个共识节点的关键字的排列顺序进行调整,根据调整后的排列顺序确定所述各个共识节点的节点信息的第二排列顺序。
在一实施例中,所述按照顺序调整规则对所述各个共识节点的关键字的排列顺序进行调整,根据调整后的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,包括:
确定所述各个共识节点的关键字的排列顺序的反向排列顺序,并将所述反向排列顺序作为所述各个共识节点的节点信息的第二排列顺序;或者,将所述各个共识节点的关键字的排列顺序中,排在第M位和排在第N位的关键字的排列顺序进行对调,得到所述各个共识节点的关键字的新的排列顺序,并基于所述新的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,其中,所述M和N为正整数。
在一实施例中,所述按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表之后,所述方法还包括:
基于所述目标共识节点列表生成节点列表区块,并将所述节点列表区块添加到区块链上。
在一实施例中,所述将所述节点列表区块添加到区块链中之前,所述方法还包括:
向所述区块链网络中的共识节点广播所述节点列表区块;
获取所述区块链网络中各个共识节点返回的针对所述节点列表区块的共识数据;
基于获取到的共识数据确定所述节点列表区块是否共识通过;若所述节点列表区块共识通过,则执行所述将所述节点列表区块添加到区块链上的步骤。
一方面,本申请实施例提供了一种共识节点列表生成装置,其中,智能合约中记录有参考共识节点列表,所述参考共识节点列表中包括区块链网络中的多个共识节点的节点信息,所述节点信息包括关键字,所述参考共识节点列表中的多个节点信息是按照第一排列顺序排列的,所述装置包括:
获取单元,用于从所述智能合约中获取所述参考共识节点列表中的多个节点信息;
处理单元,用于:从获取到的各个节点信息中提取相应各个共识节点的关键字;基于关键字排列规则确定所述各个共识节点的关键字的排列顺序;基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序;按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表。
在一实施例中,共识节点的关键字为数值;所述处理单元,具体用于:
按照关键字从大到小的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序;或者,按照关键字从小到大的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序。
在一实施例中,所述数值为共识节点在所述区块链网络中的编号,或者为共识节点对应的哈希值。
在一实施例中,所述处理单元,具体用于:将所述各个共识节点的关键字的排列顺序作为所述各个共识节点的节点信息的第二排列顺序;或者,按照顺序调整规则对所述各个共识节点的关键字的排列顺序进行调整,根据调整后的排列顺序确定所述各个共识节点的节点信息的第二排列顺序。
在一实施例中,所述处理单元,具体用于:
确定所述各个共识节点的关键字的排列顺序的反向排列顺序,并将所述反向排列顺序作为所述各个共识节点的节点信息的第二排列顺序;
或者,将所述各个共识节点的关键字的排列顺序中,排在第M位和排在第N位的关键字的排列顺序进行对调,得到所述各个共识节点的关键字的新的排列顺序,并基于所述新的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,其中,所述M和N为正整数。
在一实施例中,所述装置还包括区块生成单元,用于基于所述目标共识节点列表生成节点列表区块;
所述处理单元,还用于将所述节点列表区块添加到区块链上。
在一实施例中,所述装置还包括收发单元,用于:
向所述区块链网络中的共识节点广播所述节点列表区块;获取所述区块链网络中各个共识节点返回的针对所述节点列表区块的共识数据;
所述处理单元,还用于:基于获取到的共识数据确定所述节点列表区块是否共识通过;若所述节点列表区块共识通过,则将所述节点列表区块添加到区块链上。
一方面,本申请实施例提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行上述共识节点列表生成方法。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述共识节点列表生成方法。
相应地,本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述共识节点列表生成方法。
本申请实施例中,预先为区块链网络中的共识节点设置关键字,并在将共识节点列表写入智能合约中时,将共识节点对应的关键字写入相应的节点信息中;区块链网络中的任一共识节点从智能合约中获取到节点信息后,根据指定的关键字排列规则以及获取到的各个节点信息中的关键字,确定获取到的各个节点信息的排列顺序,并按照该排列顺序将获取到的各个共识节点的节点信息写入信息列表中,生成共识节点所维护的共识节点列表。采用上述方式,可以使得区块链网络中各个共识节点所维护的共识节点列表始终具备一致性,从而有效提高区块链网络的整体性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种分布式系统的架构示意图;
图2是本申请实施例提供的一种区块的结构示意图;
图3示出了区块链网络的架构以及示出了共识节点列表中的节点信息的一种排列情况;
图4示出了区块链网络的架构以及示出了共识节点列表中的节点信息的另一种排列情况;
图5示出了在智能合约中写入共识节点列表的流程;
图6是本申请实施例提供的一种共识节点列表生成方法的流程示意图;
图7示出了共识节点列表中的节点信息的又一种排列情况;
图8示出了共识节点列表和区块链的一种存储方式;
图9示出了共识节点列表和区块链的另一种存储方式;
图10是本申请实施例提供的一种共识节点列表生成装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为更好的理解本申请实施例,下面先对本申请实施例所涉及的区块链技术进行介绍。
随着科技时代的到来和移动互联网的发展,网络变革的步伐也愈来愈快,实现同一领域或多个领域的信息融合,为客户提供全方位信息化方案的过程亦面临着体系结构的改进、支撑重心转移等新的挑战。因此,区块链技术作为分布式账本的一种特定实现,凭借其存储和管理数据的天然优势,逐渐成为各个领域存储数据和交易数据的首选方式。
区块链网络是一种分布式系统,分布式系统可以由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成。参见图1,是本申请实施例提供的分布式系统应用于区块链网络的一个可选的架构示意图。区块链网络由多个节点形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P 协议是一个运行在传输控制协议(TCP,Transmission Control Protocol )协议之上的应用层协议。在区块链网络中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1示出的区块链网络中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链网络中节点提交的记录数据,例如交易数据等。
参见图2,是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储数据记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链(Blockchain)。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
3)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链网络中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
3.1)钱包,用于提供进行虚拟资源的交易的功能,包括发起交易,即将当前交易的交易记录发送给区块链网络中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中。当然,钱包还支持查询电子货币地址中剩余的电子货币。
3.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链网络中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
3.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的虚拟资源转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
4)共识,用于解决并保证每一笔交易或者数据在所有记账节点上的一致性和正确性问题。区块链的共识机制就是确定达成某种共识和维护共识的方式。区块链的共识机制使其在不依靠中心化组织的情况下,依然大规模高效协作完成运转。
参见图3,是本申请实施例提供的一种区块链网络的架构示意图。如图3所示,区块链网络中的节点包括共识节点(如图3中的共识节点a、b、c、d)和其他类型的节点(如图3中的节点x、y)。共识节点是区块链网络中具备出块功能以及共识功能的节点,可以是区块链网络中存储完整区块链的全节点。区块链网络中的共识节点可分为主节点和从节点,所谓的主节点是指当前阶段负责出块(即生成区块)的共识节点,所谓的从节点是指区块链网络中除主节点以外的共识节点。当前阶段可以是指当前区块高度。共识节点和其他类型的节点可以是终端或者服务器等计算机设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基于云计算服务的云服务器。终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。共识节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
共识节点列表可用于记录区块链网络中的共识节点的节点信息,所述节点信息可以包括节点标识以及其它与共识节点相关的信息。如图3所示,在区块链网络中,可以事先将共识节点列表写入智能合约中(图3中示例性的用字母a表示共识节点a的节点信息),区块链网络中的任一共识节点均可以从智能合约写入的共识节点列表中读取节点信息。如果共识节点是按照读取的先后顺序依次将读取到的各节点信息写入信息列表,从而生成共识节点所维护的共识节点列表的,则当出现由于某些原因导致共识节点读取节点信息的先后顺序与智能合约中的排列先后顺序不同的情况时,就会出现区块链网络中的各个共识节点所维护的共识节点列表中的节点信息的排列顺序不完全相同的情况,即无法实现各个共识节点所维护的共识节点列表的一致性。共识节点列表的一致性是指:共识节点列表中记录的节点信息一致,且各个节点信息的排列顺序也一致。
例如,如图3所示,假设节点信息是按照“a→b→c→d”的写入顺序被写进智能合约中的,其中,a表示共识节点a(示例性的用字母区分区块链网络中的共识节点)的节点信息,其余情况则以此类推。若智能合约中的节点信息被共识节点a按照“b→c→a→d”的读取顺序读取出,则各节点信息在共识节点a所维护的共识节点列表中的排列顺序便为“b→c→a→d”;若智能合约中的节点信息被共识节点b按照“b→a→d→c”的读取顺序读取出,则各节点信息在共识节点b所维护的共识节点列表中的排列顺序便为“b→a→d→c”。此时,共识节点a和b所维护的共识节点列表不具备一致性。
经研究表明,若区块链网络中的共识节点所维护的共识节点列表不具备完全一致性,则会严重影响区块链网络的整体性能。例如,会导致任意两个共识节点在按照共识节点列表中的索引进行信息交互时,出现交互信息错误的问题;又如,会导致各个共识节点在按照共识节点列表中的排列顺序选取主节点(或者说出块节点)时,出现主节点选取失败或者选取错误的问题。因此,如果可以使得区块链网络中各个共识节点所维护的共识节点列表始终具备一致性,则能够有效降低交互信息错误、主节点选取失败或者选取错误的发生概率,从而有效提高区块链网络的整体性能。
基于此,本申请实施例提供了一种共识节点列表生成方法,主要包括:预先为区块链网络中的共识节点设置关键字,并在将共识节点列表写入智能合约中时,将共识节点对应的关键字写入相应的节点信息中(如图4所示,示例性的用“a(关键字1)”表示共识节点a的包括关键字的节点信息);区块链网络中的任一共识节点从智能合约中获取到节点信息后,根据指定的关键字排列规则以及获取到的各个节点信息中的关键字,确定获取到的各个节点信息的排列顺序,并按照该排列顺序将获取到的各个共识节点的节点信息写入信息列表中,生成共识节点所维护的共识节点列表。
例如,如图4所示,无论各节点信息是按照何种写入顺序被写进智能合约中的,共识节点a和b读取出智能合约中的包括关键字的节点信息之后,如果基于关键字排列规则,确定出各个节点信息的排列顺序为“a→b→c→d”,则按照排列顺序“a→b→c→d”将各个节点信息写入各自所维护的共识节点列表中。这样,共识节点a和b所维护的共识节点列表中的各节点信息相同,且排列顺序也相同,具备一致性。
采用上述方式,可以使得每一次生成共识节点列表时,区块链网络中各个共识节点生成的共识节点列表中的节点信息的排列顺序都保持相同,从而使得各个共识节点所维护的共识节点列表始终具备一致性,这样可以有效提高区块链网络的整体性能。以上简要介绍了本申请实施例所描述的共识节点列表生成方法,以下进行详细介绍。
首先,对本方案所涉及的在智能合约中写入共识节点列表的过程进行介绍,此过程可以由区块链网络中的特定节点(可以是共识节点或者除共识节点之外的节点)实现,如图5所示,包括但不限于如下步骤:
先为区块链网络中的共识节点设置关键字,关键字为字符串,该字符串可以是数值。为共识节点设置的关键字可以用于确定共识节点列表中各共识节点信息的排列顺序,也可以用作共识节点的标识,以对区块链网络中的共识节点进行区分。
在一实施方式中,关键字的确定方式可以为:按照随机的方式对区块链网络中的共识节点进行排列,将各个共识节点的排列编号作为其对应的关键字。在另一实施方式中,关键字的确定方式也可以为:采用哈希一致性算法计算区块链网络中的共识节点的哈希值,将计算得到的哈希值作为共识节点的关键字。其中,计算共识节点的哈希值的方式可以是:针对共识节点的IP(网际互连协议)地址、MAC(硬件)地址或者其在区块链网络中的编号/区块链地址进行哈希计算,得到共识节点的哈希值。
然后,将为共识节点设置的关键字添加至其节点信息中。其中,共识节点的节点信息除了包含该共识节点的关键字之外,还可以包含与共识节点相关的其他数据,例如共识节点的区块链地址、用于指示共识节点是否可以作为主节点的指示信息、共识节点作为主节点的排列顺序,等等。
进一步地,将各共识节点的包含关键字的节点信息写入参考共识节点列表中,并将写入节点信息的参考共识节点列表写入智能合约中,以及将记录有参考共识节点列表的智能合约部署到区块链网络中,以使区块链网络中的任一共识节点从智能合约中获取到节点信息后,根据指定的关键字排列规则以及获取到的各个节点信息中的关键字,确定获取到的各个节点信息的排列顺序,并按照该排列顺序将获取到的各个共识节点的节点信息写入信息列表中,生成共识节点所维护的共识节点列表。
其中,参考共识节点列表中的多个节点信息是按照第一排列顺序排列的。在一实施方式中,由于各共识节点在生成自己所需维护的共识节点列表时,需要对从智能合约记录的参考共识节点列表中获取到的各节点信息进行重排,故参考共识节点列表中的各节点信息的第一排列顺序可以是随机确定的。例如,假设共识节点a的节点信息中包括共识节点a的关键字1,共识节点b的节点信息中包括共识节点b的关键字2,共识节点c的节点信息中包括共识节点c的关键字3,共识节点d的节点信息中包括共识节点d的关键字4。在将上述节点信息写入参考节点列表时,可以随机确定上述节点信息的排列顺序,如下表一所示:写入参考节点列表中的各节点信息的排列顺序依次为:共识节点b的节点信息、共识节点a的节点信息、共识节点c的节点信息、以及共识节点d的节点信息。
表一参考共识节点列表:
b(关键字2) a(关键字1) c(关键字3) d(关键字4) ......
在另一实施方式中,也可按照指定的关键字排列规则(如关键字为数值时,按照关键字从大到小或者从小到大的顺序进行排列),对需要写入参考共识节点列表中的各共识节点的关键字进行排列,并根据各关键字的排列顺序确定各节点信息的第一排列顺序,按照第一排列顺序将各节点信息写入参考共识节点列表中。例如,结合前文所述的例子,如果按照指定的关键字排列规则确定出各关键字1、2、3、4的排列顺序为“4→3→2→1”,则如下表二所示:写入参考节点列表中的各节点信息的排列顺序依次为:共识节点d的节点信息、共识节点c的节点信息、共识节点b的节点信息、以及共识节点a的节点信息。
表二参考共识节点列表:
d(关键字4) c(关键字3) b(关键字2) a(关键字1) ......
其中,记录有参考共识节点列表的智能合约可以部署在区块链网络中的每一个节点/每一个共识节点中。在可行的实施方式,记录有参考共识节点列表的智能合约也可以只部署在区块链网络中的指定节点中,该指定节点可以是一个或者多个,可以是区块链网络中的共识节点,也可以是区块链网络中除共识节点之外的节点。例如可以将区块链网络中处于中心位置区域(可以是地理区域,也可以是网络区域,后续不再赘述)中的一个或者多个节点(或者只选取共识节点)作为部署记录有参考共识节点列表的智能合约的指定节点,也可以将区块链网络中的节点所处的区域划分成多个子区域,将处于每个子区域中的中心位置区域的一个或者多个节点(或者只选取共识节点)作为部署记录有参考共识节点列表的智能合约的指定节点。
以下对区块链网络中的任一共识节点生成自己所需维护的共识节点列表的方式进行介绍,如图6所示,包括但不限于如下步骤:
S601、从智能合约中获取参考共识节点列表中的多个节点信息。
本申请实施例中,智能合约是按照前文所述的方式部署到区块链网络中的,智能合约中记录有参考共识节点列表,参考共识节点列表中包括区块链网络中的多个共识节点的节点信息,多个节点信息在参考共识节点列表中是按照第一排列顺序排列的。共识节点的节点信息包含该共识节点的关键字,在可行的实施例中,节点信息还可以包括共识节点的区块链地址、用于指示共识节点是否可以作为主节点的指示信息、共识节点作为主节点的排列顺序,等等。
其中,从智能合约中获取参考共识节点列表中的多个节点信息时,可以是获取参考共识节点列表中的全部节点信息,也可以是只获取某些指定的共识节点的节点信息。例如,参考共识节点列表中的多个节点信息的第一排列顺序是基于关键字排列规则确定的,当前阶段只需从排在前X位的节点信息对应的共识节点中确定出主节点,此时则可以只获取参考共识节点列表中排在前X位的节点信息;所述X为正整数。
S602、从获取到的各个节点信息中提取相应各个共识节点的关键字。共识节点的关键字为字符串,可用于区分共识节点。
在一实施例中,该字符串可以是数值,所述数值可以为共识节点在区块链网络中的编号,也可以为共识节点对应的哈希值,该哈希值可以是针对共识节点的IP地址、MAC地址或者其在区块链网络中的编号/区块链地址进行哈希计算得到的。
S603、基于关键字排列规则确定所述各个共识节点的关键字的排列顺序。
在一实施例中,共识节点的关键字为数值,关键字排列规则可以是指将关键字按照从大到小或者从小到大的顺序进行排列。具体地,按照关键字从大到小的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序;或者,按照关键字从小到大的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序。
S604、基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序。
本申请实施例中,第二排列顺序所指示的所述各个共识节点的节点信息的先后顺序(如共识节点a的节点信息排在共识节点b的节点信息之前),与所述第一排列顺序所指示的所述各个共识节点的节点信息的先后顺序可以一致,也可以不一致。在一实施方式中,可以将所述各个共识节点的关键字的排列顺序直接作为所述各个共识节点的节点信息的第二排列顺序。
在另一实施方式中,可以按照顺序调整规则对所述各个共识节点的关键字的排列顺序进行调整,并根据调整后的排列顺序确定所述各个共识节点的节点信息的第二排列顺序。具体地,确定所述各个共识节点的关键字的排列顺序的反向排列顺序,并将所述反向排列顺序作为所述各个共识节点的节点信息的第二排列顺序。或者,先将所述各个共识节点的关键字的排列顺序中,排在第M位和排在第N位的关键字的排列顺序进行对调,得到所述各个共识节点的关键字的新的排列顺序;其中,所述M和N为正整数,进行排列顺序对调的关键字可以是一组或者多组。进一步地,基于所述新的排列顺序确定所述各个共识节点的节点信息的第二排列顺序。可以是将所述新的排列顺序直接作为所述各个共识节点的节点信息的第二排列顺序,也可以将所述新的排列顺序的反向排列顺序(也可以采用其他调整方式进行顺序调整)作为所述各个共识节点的节点信息的第二排列顺序。采用上述方式,可以增加第二排列顺序的确定方式的难度,有利于在一定程度上提高安全性。
S605、按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表。
本申请实施例中,目标共识节点列表即为共识节点所需维护的共识节点列表,目标共识节点列表中的各个节点信息是按照第二排列顺序排列的。
例如,结合前文所述的例子,假设共识节点a的节点信息中包括共识节点a的关键字1,共识节点b的节点信息中包括共识节点b的关键字2,共识节点c的节点信息中包括共识节点c的关键字3,共识节点d的节点信息中包括共识节点d的关键字4。无论写入智能合约中的参考节点列表中各节点信息的排列顺序为:共识节点a的节点信息→共识节点b的节点信息→共识节点c的节点信息→以及共识节点d的节点信息;还是为:共识节点b的节点信息→共识节点a的节点信息→共识节点c的节点信息→以及共识节点d的节点信息。如果按照指定的关键字排列规则确定出各关键字1、2、3、4的排列顺序为“4→3→2→1”,并将关键字的排列顺序直接作为各共识节点的节点信息的第二排列顺序,则如图7所示,各共识节点所维护的共识节点列表中各节点信息的排列顺序均为:共识节点d的节点信息→共识节点c的节点信息→共识节点b的节点信息→以及共识节点a的节点信息。可见,采用上述方式,可以使得区块链网络中各个共识节点生成的共识节点列表中的节点信息的排列顺序保持相同,使得各个共识节点所维护的共识节点列表始终具备一致性。
在生成目标共识节点列表之后,存储所述目标共识节点列表。在一实施方式中,如图8所示,可以将目标共识节点列表和区块链分开存储。在另一实施方式中,如图9所示,可以基于目标共识节点列表生成节点列表区块(如图9中的区块M),并将生成的节点列表区块添加到共识节点存储的区块链上。具体地,可以将目标共识节点列表写入区块的区块体中,并在区块的区块头中添加目标共识节点列表的标识,以及目标共识节点列表的生成时间、摘要信息等等。将目标共识节点列表以区块的形式进行保存,可以实现存证。
其中,目标共识节点列表的标识可以是根据共识节点列表的生成顺序的序号确定的,例如该目标共识节点是共识节点第5次生成的共识节点列表,则可以将共识节点列表5作为该目标共识节点列表的标识。当共识节点生成新的共识节点列表时,可以根据新生成的共识节点列表生成新的节点列表区块,并将新生成的节点列表区块添加到共识节点存储的区块链上。当共识节点需要对共识节点列表进行调整时,则可以从区块链上最新的节点列表区块中获取最新的共识节点列表,并对获取到的共识节点列表进行调整后,根据调整后的共识节点列表生成新的节点列表区块,并将新生成的节点列表区块添加到共识节点存储的区块链上。
在可行的实施方式中,将所述节点列表区块添加到区块链上之前,先对所述节点列表区块进行共识。具体地,向区块链网络中的共识节点广播所述节点列表区块,并获取区块链网络中各个共识节点返回的针对所述节点列表区块的共识数据。其中,该共识数据用于指示节点列表区块中的共识节点列表与自身生成的共识节点列表是否一致。基于获取到的共识数据确定所述节点列表区块是否共识通过,如果超过预设比例的(如2/3)共识节点的共识数据指示节点列表区块中的共识节点列表与其自身生成的共识节点列表一致,则确定节点列表区块共识通过,并将所述节点列表区块添加到区块链上。反之,则确定节点列表区块共识未通过,并执行上述步骤重新生成目标共识节点列表,直至重新生成的目标共识节点列表共识通过,或者重新生成目标共识节点列表的次数超过预设次数为止。采用上述方式,可以保证共识节点列表的准确性,这可以有效降低后续共识过程中交互信息错误、主节点选取失败或者选取错误的发生概率。
本申请实施例中,预先为区块链网络中的共识节点设置关键字,并在将共识节点列表写入智能合约中时,将共识节点对应的关键字写入相应的节点信息中;区块链网络中的任一共识节点从智能合约中获取到节点信息后,根据指定的关键字排列规则以及获取到的各个节点信息中的关键字,确定获取到的各个节点信息的排列顺序,并按照该排列顺序将获取到的各个共识节点的节点信息写入信息列表中,生成共识节点所维护的共识节点列表。采用上述方式,可以使得每一次生成共识节点列表时,区块链网络中各个共识节点生成的共识节点列表中的节点信息的排列顺序都保持相同,从而使得各个共识节点所维护的共识节点列表始终具备一致性,这样可以有效提高区块链网络的整体性能。
请参阅图10,为本申请实施例提供的一种共识节点列表生成装置的结构示意图。本申请实施例中所描述的共识节点列表生成装置,对应于执行前文所述共识节点列表生成方法的共识节点。其中,智能合约中记录有参考共识节点列表,所述参考共识节点列表中包括区块链网络中的多个共识节点的节点信息,所述节点信息包括关键字,所述参考共识节点列表中的多个节点信息是按照第一排列顺序排列的。所述装置包括:
获取单元1001,用于从所述智能合约中获取所述参考共识节点列表中的多个节点信息;
处理单元1002,用于:从获取到的各个节点信息中提取相应各个共识节点的关键字;基于关键字排列规则确定所述各个共识节点的关键字的排列顺序;基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序;按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表。
在一实施例中,共识节点的关键字为数值;所述处理单元1002,具体用于:
按照关键字从大到小的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序;或者,按照关键字从小到大的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序。
在一实施例中,所述数值为共识节点在所述区块链网络中的编号,或者为共识节点对应的哈希值。
在一实施例中,所述处理单元1002,具体用于:
将所述各个共识节点的关键字的排列顺序作为所述各个共识节点的节点信息的第二排列顺序;或者,按照顺序调整规则对所述各个共识节点的关键字的排列顺序进行调整,根据调整后的排列顺序确定所述各个共识节点的节点信息的第二排列顺序。
在一实施例中,所述处理单元1002,具体用于:
确定所述各个共识节点的关键字的排列顺序的反向排列顺序,并将所述反向排列顺序作为所述各个共识节点的节点信息的第二排列顺序;
或者,将所述各个共识节点的关键字的排列顺序中,排在第M位和排在第N位的关键字的排列顺序进行对调,得到所述各个共识节点的关键字的新的排列顺序,并基于所述新的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,其中,所述M和N为正整数。
在一实施例中,所述装置还包括区块生成单元1003,用于基于所述目标共识节点列表生成节点列表区块;
所述处理单元1002,还用于将所述节点列表区块添加到区块链上。
在一实施例中,所述装置还包括收发单元1004,用于:
向所述区块链网络中的共识节点广播所述节点列表区块;获取所述区块链网络中各个共识节点返回的针对所述节点列表区块的共识数据;
所述处理单元1002,还用于:基于获取到的共识数据确定所述节点列表区块是否共识通过;若所述节点列表区块共识通过,则将所述节点列表区块添加到区块链上。
可以理解的是,本申请实施例的共识节点列表生成装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请实施例中,预先为区块链网络中的共识节点设置关键字,并在将共识节点列表写入智能合约中时,将共识节点对应的关键字写入相应的节点信息中;区块链网络中的任一共识节点从智能合约中获取到节点信息后,根据指定的关键字排列规则以及获取到的各个节点信息中的关键字,确定获取到的各个节点信息的排列顺序,并按照该排列顺序将获取到的各个共识节点的节点信息写入信息列表中,生成共识节点所维护的共识节点列表。采用上述方式,可以使得每一次生成共识节点列表时,区块链网络中各个共识节点生成的共识节点列表中的节点信息的排列顺序都保持相同,从而使得各个共识节点所维护的共识节点列表始终具备一致性,这样可以有效提高区块链网络的整体性能。
请参阅图11,为本申请实施例提供的一种计算机设备的结构示意图。本申请实施例中所描述的计算机设备包括:处理器1101、通信接口1102及存储器1103。其中,处理器1101、通信接口1102及存储器1103可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
其中,处理器1101(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析用户向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口1102可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器1101的控制用于收发数据。存储器1103(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器1103既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器1103提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在本申请实施例中,智能合约中记录有参考共识节点列表,所述参考共识节点列表中包括区块链网络中的多个共识节点的节点信息,所述节点信息包括关键字,所述参考共识节点列表中的多个节点信息是按照第一排列顺序排列的。处理器1101通过运行存储器1103中的可执行程序代码,执行如下操作:
从所述智能合约中获取所述参考共识节点列表中的多个节点信息,并从获取到的各个节点信息中提取相应各个共识节点的关键字;基于关键字排列规则确定所述各个共识节点的关键字的排列顺序;基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序;按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表。
在一实施例中,共识节点的关键字为数值;处理器1101基于关键字排列规则确定所述各个共识节点的关键字的排列顺序时,具体用于:按照关键字从大到小的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序;或者,按照关键字从小到大的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序。
在一实施例中,所述数值为共识节点在所述区块链网络中的编号,或者为共识节点对应的哈希值。
在一实施例中,处理器1101基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序时,具体用于:将所述各个共识节点的关键字的排列顺序作为所述各个共识节点的节点信息的第二排列顺序;或者,按照顺序调整规则对所述各个共识节点的关键字的排列顺序进行调整,根据调整后的排列顺序确定所述各个共识节点的节点信息的第二排列顺序。
在一实施例中,所述处理器1101按照顺序调整规则对所述各个共识节点的关键字的排列顺序进行调整,根据调整后的排列顺序确定所述各个共识节点的节点信息的第二排列顺序时,具体用于:确定所述各个共识节点的关键字的排列顺序的反向排列顺序,并将所述反向排列顺序作为所述各个共识节点的节点信息的第二排列顺序;或者,将所述各个共识节点的关键字的排列顺序中,排在第M位和排在第N位的关键字的排列顺序进行对调,得到所述各个共识节点的关键字的新的排列顺序,并基于所述新的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,其中,所述M和N为正整数。
在一实施例中,处理器1101按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表之后,还用于:基于所述目标共识节点列表生成节点列表区块,并将所述节点列表区块添加到区块链上。
在一实施例中,处理器1101将所述节点列表区块添加到区块链中之前,还用于:通过所述通信接口1102向所述区块链网络中的共识节点广播所述节点列表区块;通过所述通信接口1102获取所述区块链网络中各个共识节点返回的针对所述节点列表区块的共识数据;基于获取到的共识数据确定所述节点列表区块是否共识通过;若所述节点列表区块共识通过,则将所述节点列表区块添加到区块链上。
具体实现中,本申请实施例中所描述的处理器1101、通信接口1102及存储器1103可执行本申请实施例提供的一种共识节点列表生成方法中所描述的共识节点的实现方式,也可执行本申请实施例提供的一种共识节点列表生成装置中所描述的实现方式,在此不再赘述。
本申请实施例中,预先为区块链网络中的共识节点设置关键字,并在将共识节点列表写入智能合约中时,将共识节点对应的关键字写入相应的节点信息中;区块链网络中的任一共识节点从智能合约中获取到节点信息后,根据指定的关键字排列规则以及获取到的各个节点信息中的关键字,确定获取到的各个节点信息的排列顺序,并按照该排列顺序将获取到的各个共识节点的节点信息写入信息列表中,生成共识节点所维护的共识节点列表。采用上述方式,可以使得每一次生成共识节点列表时,区块链网络中各个共识节点生成的共识节点列表中的节点信息的排列顺序都保持相同,从而使得各个共识节点所维护的共识节点列表始终具备一致性,这样可以有效提高区块链网络的整体性能。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如本申请实施例所述的共识节点列表生成方法。其具体实现方式可参考前文描述,此处不再赘述。
本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行如本申请实施例所述的共识节点列表生成方法。其具体实现方式可参考前文描述,此处不再赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory ,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请部分实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (7)

1.一种共识节点列表生成方法,其特征在于,智能合约中记录有参考共识节点列表,所述参考共识节点列表中包括区块链网络中的多个共识节点的节点信息,所述节点信息包括关键字,所述参考共识节点列表中的多个节点信息是按照第一排列顺序排列的,所述方法包括:
从所述智能合约中获取所述参考共识节点列表中的多个节点信息,并从获取到的各个节点信息中提取相应各个共识节点的关键字;
基于关键字排列规则确定所述各个共识节点的关键字的排列顺序;
基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序;
按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表;
基于所述目标共识节点列表生成节点列表区块,并在所述节点列表区块共识通过之后将所述节点列表区块添加到区块链上;
其中,所述基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,包括:将所述各个共识节点的关键字的排列顺序中,排在第M位和排在第N位的关键字的排列顺序进行对调,得到所述各个共识节点的关键字的新的排列顺序,并基于所述新的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,所述M和N为正整数,进行排列顺序对调的关键字可以是一组或者多组。
2.如权利要求1所述的方法,其特征在于,共识节点的关键字为数值;所述基于关键字排列规则确定所述各个共识节点的关键字的排列顺序,包括:
按照关键字从大到小的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序;
或者,按照关键字从小到大的顺序对所述各个共识节点的关键字进行排列,得到所述各个共识节点的关键字的排列顺序。
3.如权利要求2所述的方法,其特征在于,所述数值为共识节点在所述区块链网络中的编号,或者为共识节点对应的哈希值。
4.如权利要求1所述的方法,其特征在于,所述在所述节点列表区块共识通过之后将所述节点列表区块添加到区块链上,包括:
向所述区块链网络中的共识节点广播所述节点列表区块;
获取所述区块链网络中各个共识节点返回的针对所述节点列表区块的共识数据;
基于获取到的共识数据确定所述节点列表区块是否共识通过;
若所述节点列表区块共识通过,则将所述节点列表区块添加到区块链上。
5.一种共识节点列表生成装置,其特征在于,智能合约中记录有参考共识节点列表,所述参考共识节点列表中包括区块链网络中的多个共识节点的节点信息,所述节点信息包括关键字,所述参考共识节点列表中的多个节点信息是按照第一排列顺序排列的,所述装置包括:
获取单元,用于从所述智能合约中获取所述参考共识节点列表中的多个节点信息;
处理单元,用于:从获取到的各个节点信息中提取相应各个共识节点的关键字;基于关键字排列规则确定所述各个共识节点的关键字的排列顺序;基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序;按照所述第二排列顺序将所述各个共识节点的节点信息写入信息列表中,生成目标共识节点列表;
所述处理单元,还用于基于所述目标共识节点列表生成节点列表区块,并在所述节点列表区块共识通过之后将所述节点列表区块添加到区块链上;
其中,所述处理单元基于所述各个共识节点的关键字的排列顺序确定所述各个共识节点的节点信息的第二排列顺序时,具体用于:将所述各个共识节点的关键字的排列顺序中,排在第M位和排在第N位的关键字的排列顺序进行对调,得到所述各个共识节点的关键字的新的排列顺序,并基于所述新的排列顺序确定所述各个共识节点的节点信息的第二排列顺序,所述M和N为正整数,进行排列顺序对调的关键字可以是一组或者多组。
6.一种计算机设备,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1-4中任一项所述的共识节点列表生成方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-4中任一项所述的共识节点列表生成方法。
CN202011226730.5A 2020-11-06 2020-11-06 一种共识节点列表生成方法及相关装置 Active CN112040015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011226730.5A CN112040015B (zh) 2020-11-06 2020-11-06 一种共识节点列表生成方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011226730.5A CN112040015B (zh) 2020-11-06 2020-11-06 一种共识节点列表生成方法及相关装置

Publications (2)

Publication Number Publication Date
CN112040015A CN112040015A (zh) 2020-12-04
CN112040015B true CN112040015B (zh) 2021-02-12

Family

ID=73573719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011226730.5A Active CN112040015B (zh) 2020-11-06 2020-11-06 一种共识节点列表生成方法及相关装置

Country Status (1)

Country Link
CN (1) CN112040015B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113364871B (zh) * 2021-06-07 2022-05-17 杭州溪塔科技有限公司 一种基于智能合约的节点选举方法、装置及电子设备
CN114205233B (zh) * 2021-11-30 2022-07-12 北京大学 一种面向数据管控的智能合约自适应配置与执行的系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878000A (zh) * 2017-03-06 2017-06-20 中钞信用卡产业发展有限公司北京智能卡技术研究院 一种联盟链共识方法及系统
CN110011974A (zh) * 2019-03-07 2019-07-12 深圳市融汇通金科技有限公司 区块链的记账方法、装置、终端和计算机可读存储介质
CN110727731A (zh) * 2019-09-05 2020-01-24 阿里巴巴集团控股有限公司 区块链网络中加入节点的方法和区块链系统
CN111427957A (zh) * 2020-03-26 2020-07-17 财付通支付科技有限公司 区块链投票信息校验方法、装置、设备以及存储介质
CN111444210A (zh) * 2020-03-26 2020-07-24 腾讯科技(深圳)有限公司 区块链共识节点管理方法、装置、设备以及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281644B2 (en) * 2017-07-28 2022-03-22 Hitachi, Ltd. Blockchain logging of data from multiple systems
CN111291060B (zh) * 2020-01-14 2023-10-27 腾讯科技(深圳)有限公司 一种管理区块链节点的方法、装置及计算机可读介质
CN111311414B (zh) * 2020-02-27 2023-12-08 杭州云象网络技术有限公司 一种基于一致性哈希算法的区块链多方共识方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878000A (zh) * 2017-03-06 2017-06-20 中钞信用卡产业发展有限公司北京智能卡技术研究院 一种联盟链共识方法及系统
CN110011974A (zh) * 2019-03-07 2019-07-12 深圳市融汇通金科技有限公司 区块链的记账方法、装置、终端和计算机可读存储介质
CN110727731A (zh) * 2019-09-05 2020-01-24 阿里巴巴集团控股有限公司 区块链网络中加入节点的方法和区块链系统
CN111480157A (zh) * 2019-09-05 2020-07-31 阿里巴巴集团控股有限公司 用于在区块链网络中添加节点的系统和方法
CN111427957A (zh) * 2020-03-26 2020-07-17 财付通支付科技有限公司 区块链投票信息校验方法、装置、设备以及存储介质
CN111444210A (zh) * 2020-03-26 2020-07-24 腾讯科技(深圳)有限公司 区块链共识节点管理方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN112040015A (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN110597925B (zh) 一种基于区块链的跨链数据处理方法及装置
EP3438903B1 (en) Hierarchical network system, and node and program used in same
TWI737944B (zh) 基於區塊鏈的交易執行方法及裝置、電子設備
CN110400142B (zh) 数据处理方法、装置及存储介质
CN108769264B (zh) 一种区块链分域方法
CN109492013B (zh) 应用于数据库集群的数据处理方法、装置和系统
CN108492108A (zh) 区块链跨链通信方法、系统和计算机可读存储介质
CN111507717B (zh) 数据处理方法、装置、区块节点及计算机可读存储介质
CN106815218B (zh) 数据库访问方法、装置和数据库系统
CN111698315B (zh) 针对区块的数据处理方法、数据处理装置及计算机设备
CN111740966B (zh) 一种基于区块链网络的数据处理方法及相关设备
CN106997557B (zh) 订单信息采集方法及装置
CN112040015B (zh) 一种共识节点列表生成方法及相关装置
CN110597922B (zh) 数据处理方法、装置、终端及存储介质
CN111597567B (zh) 数据处理方法、装置、节点设备及存储介质
CN111464356B (zh) 一种区块共识周期切换方法、装置及计算机设备
EP4379556A1 (en) Blockchain-based data processing method, and device and computer-readable storage medium
CN112287034A (zh) 一种数据同步方法、设备以及计算机可读存储介质
CN113765675B (zh) 一种交易数据处理方法、装置、设备以及介质
US20220318415A1 (en) Integrity auditing for multi-copy storage
CN110955724A (zh) 基于区块链的数据处理方法、装置、节点设备及存储介质
CN111488626A (zh) 基于区块链的数据处理方法、装置、设备及介质
CN111984735A (zh) 一种数据归档方法、装置、电子设备和存储介质
CN113254424B (zh) 数据服务迁移方法、装置及设备
CN115409507A (zh) 区块处理方法、区块处理装置、计算机设备及存储介质

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40035770

Country of ref document: HK