CN111612445B - 基于区块链的数据处理方法、系统、设备和存储介质 - Google Patents

基于区块链的数据处理方法、系统、设备和存储介质 Download PDF

Info

Publication number
CN111612445B
CN111612445B CN202010436603.1A CN202010436603A CN111612445B CN 111612445 B CN111612445 B CN 111612445B CN 202010436603 A CN202010436603 A CN 202010436603A CN 111612445 B CN111612445 B CN 111612445B
Authority
CN
China
Prior art keywords
resource transfer
node
transfer information
character string
block
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
CN202010436603.1A
Other languages
English (en)
Other versions
CN111612445A (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 CN202010436603.1A priority Critical patent/CN111612445B/zh
Publication of CN111612445A publication Critical patent/CN111612445A/zh
Application granted granted Critical
Publication of CN111612445B publication Critical patent/CN111612445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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/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/3247Cryptographic 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 involving digital signatures
    • 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)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种基于区块链的数据处理方法、系统、计算机设备和存储介质。所述方法由区块链系统中的建块节点执行,包括:获取当前建块周期的资源转移信息;所述资源转移信息包括定向资源转移信息;所述定向资源转移信息的资源接收节点为所述建块节点;根据各所述定向资源转移信息包括的随机字符串,共同确定参考字符串;根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;建立当前建块周期的区块以存储所述资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。本申请可节约运算资源。

Description

基于区块链的数据处理方法、系统、设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于区块链的数据处理方法、系统、设备和存储介质。
背景技术
随着计算机技术的发展,出现了区块链技术,区块链是由区块形成的链式存储结构,基于节点间的共识算法实现区块的生成及链接。其中,区块链网络的节点随着数据的不断增长不断生成新的区块,实现区块链的不断增长。
然而,目前基于区块链的数据处理中所涉及的共识算法会消耗大量算力,这些大量消耗的算力并未创造出除实现数据处理外更多的实用价值,这样就会导致大量运算资源的浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种能够节约运算资源的基于区块链的数据处理方法、装置、系统、计算机设备和存储介质。
一种基于区块链的数据处理方法,其特征在于,由区块链系统中的建块节点执行,所述方法包括:
获取当前建块周期的资源转移信息;所述资源转移信息包括定向资源转移信息;所述定向资源转移信息的资源接收节点为所述建块节点;
根据各所述定向资源转移信息包括的随机字符串,共同确定参考字符串;
根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;
建立当前建块周期的区块以存储所述资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。
一种基于区块链的数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取当前建块周期的资源转移信息;所述资源转移信息包括定向资源转移信息;所述定向资源转移信息的资源接收节点为所述建块节点;
确定模块,用于根据各所述定向资源转移信息包括的随机字符串,共同确定参考字符串;
选取模块,用于根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;
建块模块,用于建立当前建块周期的区块存储所述资源转移信息,并从建块节点的状态转换为普通节点的状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法的步骤。
上述基于区块链的数据处理方法、装置、计算机设备和存储介质,按周期选取建块节点,在每个建块周期内,当前的建块节点选取出下一个建块周期的建块节点后,即对当前建块周期产生的数据建块存储,并在当前建块周期结束时自动从建块节点的状态转换为普通节点的状态,以将建块权转移给下一个周期的建块节点,并在下一个建块周期以普通节点的角色进行数据处理。其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面由于运算过程基于字符串进行可以极大地减少运算量,另一方面随机化的选取节点的方式还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
一种基于区块链的数据处理方法,其特征在于,由区块链系统中的普通节点执行,所述方法包括:
广播定向资源转移信息;所述定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点;
接收当前建块周期的建块节点广播的选取结果;所述选取结果与当前建块周期内各定向资源转移信息的随机字符串与参考字符串的距离相关,所述参考字符串由当前建块周期内各定向资源转移信息的随机字符串共同确定;
当所述选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。
一种基于区块链的数据处理装置,其特征在于,所述装置包括:
广播模块,用于广播定向资源转移信息;所述定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点;
接收模块,用于接收当前建块周期的建块节点广播的选取结果;所述选取结果与当前建块周期内各定向资源转移信息的随机字符串与参考字符串的距离相关,所述参考字符串由当前建块周期内各定向资源转移信息的随机字符串共同确定;
转换模块,用于当所述选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法的步骤。
上述基于区块链的数据处理方法、装置、计算机设备和存储介质,按周期选取建块节点,在每个建块周期内,当前建块周期的普通节点通过定向资源转移参与选取下一个建块周期的建块节点,在当选下一个建块周期的建块节点后,自动在当前建块周期结束时,由普通节点的状态转换为建块节点的状态,以在下一个建块周期以建块节点的角色进行数据处理。其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面由于运算过程基于字符串进行可以极大地减少运算量,另一方面随机化的选取节点的方式还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
一种基于区块链的数据处理系统,其特征在于,所述系统包括建块节点和普通节点;
所述普通节点用于广播定向资源转移信息;所述定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点;
所述建块节点用于获取当前建块周期的资源转移信息;所述资源转移信息包括定向资源转移信息;所述定向资源转移信息的资源接收节点为所述建块节点;根据各所述定向资源转移信息包括的随机字符串,共同确定参考字符串;根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;
所述普通节点还用于接收当前建块周期的建块节点广播的选取结果;当所述选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态;
所述建块节点还用于建立当前建块周期的区块以存储所述资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。
上述基于区块链的数据处理系统,按周期选取建块节点,在每个建块周期内,当前的普通节点则通过定向资源转移参与选取下一个建块周期的建块节点,在当选下一个建块周期的建块节点后,自动在当前建块周期结束时,由普通节点的状态转换为建块节点的状态,以在下一个建块周期以建块节点的角色进行数据处理。当前的建块节点选取出下一个建块周期的建块节点后,即对当前建块周期产生的数据建块存储,并在当前建块周期结束时自动从建块节点的状态转换为普通节点的状态,以将建块权转移给下一个周期的建块节点,并在下一个建块周期以普通节点的角色进行数据处理。其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面由于运算过程基于字符串进行可以极大地减少运算量,另一方面随机化的选取节点的方式还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
附图说明
图1A为一个实施例中数据共享系统的架构图;
图1B为一个实施例中区块链中区块的关系示意图;
图2为一个实施例中基于区块链的数据处理方法的流程示意图;
图3为一个实施例中基于交易信息的结构示意图;
图4为一个实施例中随机字符串的处理流程示意图;
图5为另一个实施例中基于区块链的数据处理方法的流程示意图;
图6为一个实施例中基于区块链的数据处理系统的架构图;
图7A为一个实施例中一个建块周期内建块节点的数据处理流程;
图7B为一个实施例中一个建块周期内普通节点的数据处理流程;
图8为一个实施例中基于区块链的数据处理装置的结构框图;
图9为另一个实施例中基于区块链的数据处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
区块链系统是采用区块链技术(Blockchain Technology)存储数据的系统,是一个不可篡改的、可信任的数据库。区块链系统中存储的数据具有很高的稳定性和可靠性。区块链系统中可以包括多个节点设备,节点设备和节点设备之间可以进行数据共享。
参见图1A所示的数据共享系统,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101、102、103、104、…。多个节点可以是指数据共享系统中各个客户端。每个节点设备进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护该区块链系统内的共享数据。为了保证区块链系统内的信息互通,区块链系统中的每个节点设备之间可以存在信息连接,节点设备之间可以通过上述信息连接进行信息传输。例如,当区块链系统中的任意节点设备接收到输入信息时,区块链系统中的其他节点设备便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统中全部节点设备上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1:
节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1B,区块链由多个区块组成,创始块中包括区块头和区块主体;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有父区块的区块头特征值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
本申请实施例提供的方案涉及区块链技术,具体通过如下实施例进行说明:
在一个实施例中,本申请提供的基于区块链的数据处理方法,可以应用于如图1A所示的数据共享系统中。在本申请中,区块链系统按照周期建立区块,并按照建块周期选取用于建立区块的建块节点。在一个建块周期内,存在唯一的一个“建块节点”,剩余的节点都是“普通节点”,每个节点之间完全公平,不存在特权节点,每个节点都可能会在“建块节点”以及“普通节点”这两种角色之间切换:(1)建块节点负责收集区块链系统中的资源转移信息创建新的区块,并选出下一任建块节点;(2)普通节点,负责广播资源转移信息,校验其他节点的资源转移信息,同时可以有选择的参与下一任建块节点的选取。
举例说明,比如节点101为一个建块周期的建块节点,节点102为当前建块周期内参与选取下一个建块周期的建块节点的普通节点。那么在这个建块周期内,节点101则获取当前建块周期的资源转移信息;然后根据资源转移信息中定向资源转移信息包括的随机字符串共同确定参考字符串,并继续根据各随机字符串分别与参考字符串的距离,从各定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;再建立当前建块周期的区块以存储资源转移信息。节点102则广播定向资源转移信息;接收当前建块周期的建块节点广播的选取结果;查看本地是否被选中为下一个建块周期的建块节点。
进一步地,在当前建块周期结束时,节点101从建块节点的状态转换为普通节点的状态,若节点102当选为下一个建块周期的建块节点时,则节点102从普通节点的状态转换为建块节点的状态。这样节点101将建块权转移至节点102,在下一个建块周期内,节点101即以普通节点的角色进行数据处理,节点102则以建块节点的角色进行数据处理。
其中,每个建块周期内的资源转移信息会包括定向资源转移信息。定向资源转移信息的资源接收节点为当前建块周期中的建块节点。普通节点通过定向资源转移信息参与选取下一个建块周期的建立节点。普通节点接收到的选取结果与当前建块周期内各定向资源转移信息的随机字符串与参考字符串的距离相关,参考字符串由当前建块周期内各定向资源转移信息的随机字符串共同确定。这样,依赖定向资源转移信息的随机字符串选择建块节点,使得选择建块节点过程中的运算随机化,保证了区块链系统中各节点之间的公平性。
另外,建块节点在建立区块后,会在其所在的区块链系统中广播新建立的区块的块信息,由区块链系统中的其他普通节点对新建立的区块进行校验,并在完成校验后将新建立的区块添加至其存储的区块链中。
在一个实施例中,如图2所示,提供了一种基于区块链的数据处理方法,以该方法应用于图1中的建块节点为例进行说明,包括以下步骤:
步骤202,获取当前建块周期的资源转移信息;资源转移信息包括定向资源转移信息;定向资源转移信息的资源接收节点为建块节点。
可以理解,在区块链系统中建立区块是周期性进行的,建块周期即是指区块建立的周期。如几十分钟或者几个小时等。各建块周期的时长可以相同也可以不同。在本实施例中,在每个建块周期内由每个建块周期内的建块节点来新建区块,该区块中可存储建块周期内产生的数据,即建块节点具有建块权。
其中,资源是可通过网络获取所有权的物品,包括虚拟物品和实体物品中的至少一种。虚拟物品包括账户数值、虚拟形象产品、虚拟充值卡、游戏装备和虚拟货币中的至少一种。实体物品可以是任意可被用户拥有的具有实际形态的物品,比如电子产品、玩具、工艺品或签名照片等。
资源转移信息是指资源转移所涉及的数据。区块链系统中的每个节点都可以和该区块链系统中其他任意一个节点发生通信以及进行资源转移。定向资源转移信息是普通节点参与选取下一个建块周期的建块节点的依据。
在一个实施例中,资源转移信息还包括普通资源转移信息。普通资源转移信息和定向资源转移信息是两种不同类型的资源转移信息。普通资源转移信息是交换类型的资源转移信息,且普通资源转移信息的发起节点和资源接收节点可以是区块链系统中的任意节点。定向资源转移信息是赠予类型的资源转移信息、且定向资源转移信息的资源接收节点固定为建块节点。
其中,交换类型的资源转移是双向的,交换类型的资源转移信息可以只记录一个方向的资源转移。如,A和B进行资源交换,A将资源1转移至B,且B将资源2转移至A,在资源转移信息中可以只记录A将资源1转移至B的过程。赠予类型的资源转移是单向的,赠予类型的资源转移信息则记录该单向的资源转移。如,A和B进行资源赠予,A将资源转移至B,或B将资源转移至A,在资源转移信息中记录A将资源转移至B,或B将资源转移至A的过程。
可以理解,在区块链系统中,资源转移信息在被写入区块后才会生效,那么区块链系统中的节点需要将资源转移信息广播出去,这样一方面建块节点可以收集到资源转移信息以便后续写入区块,另一方面其他节点在接收到资源转移信息后可以参与验证资源转移信息防止恶意节点伪造资源转移信息。
具体地,在一个建块周期开始时,区块链系统中的各节点即可以广播由本节点发起的资源转移信息,这样当前建块周期的建块节点即可以收集到当前建块周期内区块链系统中的资源转移信息。这里,当前建块周期的资源转移信息可以是从当前建块周期开始起预设时间段内的资源转移信息,也可以是从当前建块周期开始起预设数量的资源转移信息。
在一个具体的实施例中,获取当前建块周期的资源转移信息包括:获取当前建块周期的信息收集周期内的资源转移信息。需要说明的是,在一个建块周期中,区块链系统的各个节点均可广播资源转移信息。建块节点则只会收集信息收集周期内的资源转移信息。当然,在存在附加资源转移阶段时,建块节点也会收集附加资源转移阶段内的资源转移信息。通常,在信息收集周期结束时,普通节点便不再广播资源转移信息。
举例说明,区块链系统中的其中一个节点当选为建块节点后,并开始该建块节点的建块周期时,该建块节点可在一个周期时间(比如10分钟)内收集区块链系统中广播的资源转移信息,当周期时间结束时,停止收集资源转移信息。
在一个实施例中,区块链系统中每个节点均对应存在一对公钥/私钥对。其中,私钥不对外公开,公钥则对外公开;即每个节点存储有其所在区块链系统中任一节点的公钥和自己的私钥。公钥被用作节点的唯一身份标识。这里的公钥私钥对可以基于非对称加密算法RSA计算得到。
在一个实施例中,资源转移信息包括四个部分。第一部分为发起方公钥和接收方公钥,用于指定资源转移的发起节点和接收节点。第二部分包括资源转移的数额和类型。第三部分为发起节点随机生成的随机字符串被建块节点的公钥加密后的结果。第四部分为第一、二和三部分的摘要信息被发起节点的私钥加密后的结果。这里,资源转移信息的第四部分是为了防止恶意节点伪造资源转移信息,因为私钥未公开,而公钥是公开的,因此其他节点收到资源转移信息后,就可以使用资源转移信息的发起节点对应的公钥解密得到摘要信息,然后再计算第一、二和三部分的摘要信息,比较两个摘要信息,如果两者一致,则表示该资源转移信息未被篡改。其中,摘要信息的提取可采用SHA256算法。
在一个具体的实施例中,资源转移信息具体可以是交易信息。普通资源转移信息为普通交易信息,定向资源转移信息为捐赠交易信息。交易信息包括四个部分。如图3所示,第一部分为交易信息的发起方公钥和接收方公钥,用于指定交易的发起节点和接收节点。第二部分包括交易数额、交易类型(普通交易或捐赠交易)和交易附加额(手续费)。第三部分为使用建块节点的公钥加密的随机字符串,即发起方随机生成的随机字符串被建块节点的公钥加密后的结果。第四部分为使用发起方私钥对第一、二和三部分的摘要信息加密后的结果。
步骤204,根据各定向资源转移信息包括的随机字符串,共同确定参考字符串。
其中,随机字符串是随机生成的字符串。每个资源转移信息中均会包括一个随机字符串。该随机字符串可以是明文,也可以是被加密后的密文。参考字符串是用作参考选取下一个建块周期的建块节点的字符串。
具体地,建块节点在获取到当前建块周期的资源转移信息后,可从这些资源转移信息中筛选出定向资源转移信息,以基于定向资源转移信息包括的随机字符串选取下一个建块周期的建块节点。这样,基于随机字符串的随机性来随机化后续的计算过程,可以有效地保证各个节点之间的公平性。
在一个实施例中,步骤204包括:获取各定向资源转移信息各自包括的随机字符串;按照预设排序方式对各随机字符串进行排序,得到排序结果;根据排序结果对各随机字符串进行摘要叠加,得到参考字符串。
具体地,在定向资源转移信息包括的随机字符串为明文时,建块节点可直接获取随机字符串。在定向资源转移信息包括的随机字符串为密文时,建块节点则需要对密文解密,得到随机字符串。
在一个实施例中,定向资源转移信息包括数字签名和随机密文;数字签名通过定向资源转移信息的发起节点所对应的私钥加密得到;随机密文通过当前建块周期的建块节点所对应的公钥加密得到。获取各定向资源转移信息各自包括的随机字符串,包括:根据定向资源转移信息的数字签名验证定向资源转移信息;在验证通过后,获取各定向资源转移信息包括的随机密文;通过本地的私钥解密各随机密文,得到各定向资源转移信息各自包括的随机字符串。
其中,定向资源转移信息包括的随机字符串为随机密文,且是通过当前建块周期的建块节点所对应的公钥加密得到。数字签名通过定向资源转移信息的发起节点所对应的私钥对定向资源转移信息的其他信息的摘要信息加密得到。
具体地,建块节点可对定向资源转移信息进行验证。这里的验证可以包括资源转移信息中包括的发起方公钥和接收方公钥的有效性验证,以及定向资源转移信息是否为伪造资源转移信息的验证。建块节点在对定向资源转移信息验证通过后,获取该定向资源转移信息包括的随机密文,通过本地的私钥解密该随机密文,得到该定向资源转移信息包括的随机字符串。在定向资源转移信息有多个时,即可获得者多个定向资源转移信息各自包括的随机字符串。这样可以保证区块链系列中数的可靠性和各节点之间的公平性。
进一步地,预设排序方式是预先设置好的对随机字符串进行排序的依据。比如,按照字典序对随机字符串进行排序。这里通过约定的排序方式对随机字符串进行排序后再进行后续处理步骤,可以避免不排序所导致的建块节点随意安排顺序,而不同的顺序会导致最终计算结果的差异,进而导致的一个节点主观的左右最终选取建块节点的结果,无法保证各个节点的公平性的问题。
在一个实施例中,根据排序结果对各随机字符串进行摘要叠加,得到参考字符串,包括:根据排序结果,对首个随机字符串提取摘要,并将提取的摘要拼接至下一个随机字符串得到拼接字符串,将拼接字符串作为当前字符串;对当前字符串提取摘要,并将提取的摘要拼接至排序结果下的下一个随机字符串,得到下一个当前字符串,直至得到最后一个当前字符串;提取最后一个当前字符串的摘要,得到参考字符串。
举例说明,以资源转移信息为交易信息为例,如图4所示,建块节点可筛选出捐赠交易信息,获取各捐赠交易信息的随机字符串,按照字典序对各随机字符串进行排序,对排序后的随机字符串进行叠加签名。其中,对排序后的随机字符串进行叠加SHA签名,具体为从第一个随机字符串开始计算SHA256摘要信息,将前一个随机字符串的SHA256摘要信息拼接到后一个随机字符串前,然后计算拼接结果的SHA256摘要信息,依次循环直到所有随机字符串都完成SHA256摘要信息,得到的最终的摘要即为参考字符串。
在本实施例中,基于随机字符串确定参考字符串,将数据随机化,其后对随机字符串计算摘要,将数据二次随机化,进一步保证了各节点之间的公平性。
可以理解的是,在区块链系统中,根据各定向资源转移信息的随机字符串确定参考字符串时,不一定限定于采用上述实施例提供的计算方式。通常,满足以各定向资源转移信息的随机字符串为输入,进行一定的计算后得到的结果就可以用作参考字符串。在另外的实施例中,建块节点可以通过其他方式对各随机字符串进行摘要叠加,得到参考字符串。比如,将各随机字符串直接拼接后,对拼接结果计算摘要信息得到参考字符串;或者,将各随机字符串各自计算摘要信息,再将摘要信息拼接后计算摘要信息得到参考字符串;等等。
上述实施例中,一方面基于随机字符串来计算参考字符串,通过随机化的计算保证了节点之间的公平性,另一方面通过约定的排序方式对随机字符串进行排序后再进行后续处理步骤,可以避免不排序所导致的建块节点随意安排顺序,而不同的顺序会导致最终计算结果的差异,进而导致的一个节点主观的左右最终选取建块节点的结果,无法保证各个节点的公平性的问题。
步骤206,根据各随机字符串分别与参考字符串的距离,从各定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点。
具体地,以随机字符串与参考字符串的距离为依据,从各定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点。可以理解,以随机字符串与参考字符串的距离为依据,只是一种从多个候选对象中选取一个目标对象的方式。通常,选取建块结果的依据满足节点无法主观地左右选取结果即可。当然,在另外的实施例中,建块节点也以随机字符串与参考字符串的其他数据关系为依据,从各定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点。
其中,字符串之间的距离可以通过欧式距离来衡量。欧氏距离(Euclidean),
Figure 194281DEST_PATH_IMAGE001
Figure 827126DEST_PATH_IMAGE002
,通常用来计算两个向量之间的距离。此时,
Figure 519138DEST_PATH_IMAGE003
为一个向量的第i个坐标值,
Figure 521729DEST_PATH_IMAGE004
为另二个向量的第i个坐标值。当欧氏距离用来计算字符串 之间的距离时,则
Figure 451639DEST_PATH_IMAGE003
为一个字符串的第i个字符ANSI值,
Figure 574492DEST_PATH_IMAGE004
为另一个字符串的第i个字符 ANSI值。
在一个实施例中,步骤206包括:分别计算各随机字符串与参考字符串的距离;按照距离降序对相应的定向资源转移信息进行排序;将排序的定向资源转移信息中首位定向资源转移信息的发起节点,选取为下一个建块周期的建块节点。
具体地,建块节点可分别计算各随机字符串与参考字符串的距离,然后将各定向资源转移信息按照其所包括的随机字符串与参考字符串的距离降序排序。也就是说,定向资源转移信息所包括的随机字符串与参考字符串的距离越大,排序越靠前;定向资源转移信息所包括的随机字符串与参考字符串的距离越小,排序越靠后。
举例说明,继续参考图4,建块节点可对每一个捐赠交易信息计算其随机字符串与参考字符串之间的距离,将距离附加到相应的捐赠交易信息中,并按照距离降序对相应的捐赠交易信息进行排序。
进一步地,建块节点可以查询这些定向资源转移信息中,是否存在多于一个定向资源转移信息对应相同的发起节点的场景,也就是同一个节点发起多次定向资源转移的场景。
需要说明的是,在对定向资源转移信息进行排序时,还可以按照其他的排序方式进行排序,比如按照距离升序对相应的定向资源转移信息进行排序等。对定向资源转移信息进行排序,只是一种从多个候选对象中选取一个目标对象的方式。通常,排序方式满足节点无法主观地左右排序结果即可。
在一个实施例中,按照距离降序对相应的定向资源转移信息进行排序,包括:在多于一个定向资源转移信息对应相同的发起节点时,则保留所包括的随机字符串与参考字符串的距离最小的定向资源转移信息;对于保留的定向资源转移信息,按照相应的距离的降序进行排序。
举例说明,假设区块链系统中包括节点1、节点2、节点3和节点4。其中节点1为当前建块周期的建块节点,节点2存在1个定向资源转移信息b,节点3存在3个定向资源转移信息c1、c2和c3,节点4存在1个定向资源转移信息d。那么,节点3落入同一个节点发起多次定向资源转移的场景。则,节点3的3个定向资源转移信息c1、c2和c3,仅保留所包括的随机字符串与参考字符串的距离最小的定向资源转移信息c2,建块节点再对保留下来的定向资源转移信息b、c2和d,按照所包括的随机字符串与参考字符串的距离的降序进行排序。
这样,可以避免一个节点通过多于一次的定向资源转移来增大被选为建块节点的概率,进而打破各节点之间的公平性。
更进一步地,建块节点可以查看排序的定向资源转移信息中首位定向资源转移信息的数量是否多于一个。在排序的定向资源转移信息中首位定向资源转移信息唯一时,当前建块周期的建块节点则直接将该定向资源转移信息的发起节点作为下一个建块周期的建块节点。
在一个实施例中,将排序的定向资源转移信息中首位定向资源转移信息的发起节点,选取为下一个建块周期的建块节点,包括:当排序的定向资源转移信息中首位定向资源转移信息的数量多于一个时,则进入附加资源转移阶段;其中,在附加资源转移阶段内,允许首位定向资源转移信息的发起节点向建块节点再次发起定向资源转移;从再次发起定向资源转移的发起节点中,选取在附加资源转移阶段内累积发起资源转移的数额最大的发起节点,作为下一个建块周期的建块节点。
具体地,在排序的定向资源转移信息中首位定向资源转移信息的数量多于一个时,则进入附加资源转移阶段。在附加资源转移阶段内允许同时排在首位的这些定向资源转移信息的发起节点向当前建块周期的建块节点发起定向资源转移,且次数不限。也就是允许这些发起节点再次以建块节点为资源接收节点发起多于一次的定向资源转移。在附加资源转移阶段结束时,建块节点再从发起定向资源转移的发起节点中,选取在附加资源转移阶段内累积发起资源转移的数额最大的发起节点,作为下一个建块周期的建块节点。
这样,在有多个并列第一时,则进入附加资源转移阶段,以在附加资源转移阶段里的资源转移的累积数额为依据,再从多个候选者中选出唯一的一个节点,作为下一个建块周期的建块节点,为顺利选出唯一的建块节点提供保障。
在一个具体的实施例中,附加资源转移阶段为附加交易阶段,附加交易阶段的资源转移信息为捐赠交易信息。也就是说,在附加交易阶段进行多轮捐赠交易,价高者得。
需要说明的是,在排序的定向资源转移信息中首位定向资源转移信息的数量多于一个时,也可以采用其他方式从这些定向资源转移信息的发起节点中,选取一个节点为下一个建块周期的建块节点。只是一种从多个候选对象中选取一个目标对象的方式。通常,满足节点无法主观地左右选取结果即可。
步骤208,建立当前建块周期的区块以存储资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。
具体地,当前建块周期的建块节点选出下一个建立周期的建块节点后,即建立当前建块周期的区块,该区块中写入了当前建立周期所涉及的数据,包括当前建块周期内的存储资源转移信息等。当前建块周期的建块节点在建立区块后,将该区块的块信息在区块链系统中广播,其他普通节点在接收到块信息后,对块信息进行验证,并在验证通过后将该将该区块添加至本地存储的区块链中。此时全网建块成功,写入区块的资源转移信息生效,当前建块周期的建块节点从建块节点的状态转换为普通节点的状态,下一个建块周期开始。
在一个实施例中,步骤208包括:获取对定向资源转移信息进行排序的排序结果,以及在附加资源转移阶段内进行定向资源转移的第三资源转移信息;获取对定向资源转移信息进行排序的排序结果,以及附加资源转移阶段内的附加资源转移信息;存储资源转移信息、排序结果及附加资源转移信息,生成当前建块周期的区块;广播区块的块信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态;广播的块信息用于指示当前建块周期的普通节点在对块信息验证通过后存储。
具体地,建块节点在建块时,会将当前建块周期产生的数据写入区块中。包括普通资源转移信息、定向资源转移数据、附加资源转移信息、对定向资源转移信息进行排序的相关信息等。其中,附加资源转移信息是在资源转移转移阶段内针对建块节点进行定向资源转移的信息,也是一种定向资源转移数据。
其中,一个区块中可写入的资源转移信息的数量有限。在当前建块周期产生的资源转移信息的数量超过可写入区块的数量时,建块节点可根据资源转移信息所包括的附加额,选取写入区块的资源转移信息。写入区块的资源转移信息才会生效。
在一个具体的实施例中,块信息包含三部分:(1)部分普通交易信息以及所有的捐赠交易信息;(2)捐赠交易信息排序的相关信息;(3)多轮竞价信息。
上述基于区块链的数据处理方法,按周期选取建块节点,在每个建块周期内,当前的建块节点选取出下一个建块周期的建块节点后,即对当前建块周期产生的数据建块存储,并自动从建块节点的状态转换为普通节点的状态,以在下一个建块周期以普通节点的角色进行数据处理;其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面可以极大地减少运算量,另一方面还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
可以理解的是,本申请的区块链系统中的共识可包括建块的共识和选取建块节点的方式的共识。可以认为区块链系统中的各节点对选取建块节点的方式和建立区块的方式达成共识后,即在每一个建块周期内按照达成共识的内容选取建立节点和建立区块,以使得区块链系统稳定地运行。
在一个实施例中,如图5所示,提供了一种基于区块链的数据处理方法,以该方法应用于图1中的普通节点为例进行说明,包括以下步骤:
步骤502,广播定向资源转移信息;定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点。
需要说明的是,由于当前的建块节点在选择下一任建块节点时,只会从定向资源转移信息的发起节点中选取,因此如果某个节点想要竞选下一任建块节点,那就必须发起定向资源转移,也就是将一个定向资源转移信息广播出去。
具体地,意图参与选取下一个建块周期的建块节点的普通节点,可在区块链系统中广播定向资源转移信息,以参与选取下一个建块周期的建块节点。普通节点也可根据自身需要,在区块链系统中广播普通资源转移信息,该普通资源转移信息的资源接收节点可以是区块链系统中的任意节点。
当然,在另外的实施例中,普通节点也可选择不参与选取下一个建块周期的建块节点,则无需发起定向资源转移。该普通节点则可根据自身需要,在区块链系统中广播普通资源转移信息。
普通节点在没有资源转移信息需要广播,或需要广播的资源转移信息已广播,可收集和参与验证其他普通节点广播的资源转移信息,同时等待建块节点广播下一个建块周期的建块节点的选取结果。
步骤504,接收当前建块周期的建块节点广播的选取结果;选取结果与当前建块周期内各定向资源转移信息的随机字符串与参考字符串的距离相关,参考字符串由当前建块周期内各定向资源转移信息的随机字符串共同确定。
具体地,在区块链系统中的各普通节点广播资源转移信息时,建块节点可收集这些资源转移信息,从这些资源转移信息中筛选出定向资源转移信息,根据各定向资源转移信息的随机字符串共同确定参考字符串,再根据各定向资源转移信息的随机字符串与参考字符串距离,确定选取结果,再将选取结果在区块链系统中进行广播。这样,各普通节点即可接收到建块节点广播的选取结果。
步骤506,当选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。
在一个实施例中,接收当前建块周期的建块节点广播的选取结果,包括:接收当前建块周期的建块节点广播的定向资源转移信息排序结果;定向资源转移信息排序结果为将当前建块周期内各定向资源转移信息,按照所包括随机字符串与参考字符串的距离的降序排序得到;当定向资源转移信息排序结果表示本地的定向资源转移信息排在首位、且排在首位的资源转移信息不唯一时,则进入附加资源转移阶段;在附加资源转移阶段再次进行定向资源转移,并广播再次进行定向资源转移的定向资源转移信息;接收当前建块周期的建块节点广播的节点选取结果;节点选取结果根据附加资源转移阶段的定向资源转移信息得到。
具体地,建块节点可分别计算各随机字符串与参考字符串的距离;按照距离降序对相应的定向资源转移信息进行排序。其中,在排序时,若存在多于一个定向资源转移信息对应相同的发起节点时,则保留与参考字符串的距离最小的定向资源转移信息;对于保留的定向资源转移信息,按照相应的距离的降序进行排序,得到定向资源转移信息排序结果并在区块链系统中广播。
普通节点接收到监控节点广播的定向资源转移信息排序结果后,一方面可验证资源转移信息排序结果是否合规,另一方面可查看本地对应的定向资源转移信息是否排在首位。若本地对应的定向资源转移信息未排在首位,则表示本地未被选中作为下一个建块周期的建块节点,则准备继续以普通节点的状态进入下一个建块周期。若本地对应的定向资源转移信息排在首位且唯一,则表示本地被选中作为下一个建块周期的建块节点,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。
若本地对应的定向资源转移信息排在首位且不唯一,则表示本地被选中作为下一个建块周期的建块节点的候选节点,则进入附加资源转移阶段。本地可在附加资源转移阶段内再次发起定向资源转移,且次数不限。当前建块周期的建块节点则从附加资源转移阶段内发起定向资源转移的发起节点中,选取在附加资源转移阶段内累积发起资源转移的数额最大的发起节点,作为下一个建块周期的建块节点。
建块节点广播经过附加资源转移阶段的节点选取结果。普通节点在接收到节点选取结果后,当节点选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。当节点选取结果表示本地未被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由继续以普通节点的状态进入下一个建块周期。
上述基于区块链的数据处理方法,按周期选取建块节点,在每个建块周期内,当前建块周期的普通节点通过定向资源转移参与选取下一个建块周期的建块节点,在当选下一个建块周期的建块节点后,自动在当前建块周期结束时,由普通节点的状态转换为建块节点的状态,以在下一个建块周期以建块节点的角色进行数据处理;其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面可以极大地减少运算量,另一方面还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
在一个实施例中,该基于区块链的数据处理方法还包括:收集当前建块周期的其他普通节点广播的资源转移信息并进行验证;在对收集的资源转移信息验证通过后,采用验证通过的资源转移信息验证定向资源转移信息排序结果;接收当前建块周期的建块节点广播的块信息并进行验证;在对块信息验证通过后进行存储。
具体地,普通节点可收集当前建块周期的其他普通节点广播的资源转移信息并进行验证。普通节点也可接收建块节点广播的定向资源转移信息排序结果,采用验证通过的资源转移信息来验证定向资源转移信息排序结果。建块节点在广播定向资源转移信息排序结果时,也会广播计算定向资源转移信息排序结果所需要的中间数据,比如各定向资源转移信息的随机字符串和参考字符串。
在存在附加资源转移阶段时,建块节点还会广播基于附加资源转移阶段内广播的定向资源转移信息得到的节点排序以及排序选取结果。建块节点还会广播新建区块的块信息。普通节点则可对建块节点广播的这些信息进行验证。
在本实施例中,区块链系统中任意节点可对其他节点广播的信息进行验证,以确保写入区块链的区块中的数据的可靠性。
需要说明的是,区块链系统中的节点可通过三种方式获取资源:(1)通过建立区块获取资源。成功建立区块可获取预设数额的资源。(2)通过当选建块节点获取资源。当选建块节点后,参与选取下一个建块周期建块节点的普通节点会主动发起针对当前建块节点定向资源转移。其中,定向资源转移的最小数额设置为较小的数值,比如通过建立区块获取资源的2%,这样可以让资源数额少的普通节点也可以参与下一个建块周期建块节点。如果在选取下一个建块周期建块节点的排序时发生多个节点并列第一时,会发起预设时长的多轮定向资源转移,在该阶段的所有资源转移对象均为当前建块节点。(3)通过将资源转移信息写入区块获取资源。资源转移信息中包括附加数额,即附加转移至当前建块节点的数额。一个区块中可写入的资源转移信息的数量有限。在当前建块周期的资源转移信息的数量超过可写入的区块的数量时,建块节点可根据资源转移信息中包括附加数额决定是否将资源转移信息写入区块。
而且,本申请的区块链系统是一种去中心化的系统,没有中心节点,也没有专门的监管系统,整个系统之所以能够按照既定的规则运行,是一个趋利和博弈的过程,这里存在两个基础:(1)资源获取,获取资源促使区块链系统中的所有节点遵循一定规则;(2)资源最大化决策,节点会做出它所认为的当前或者最终最有利于获取资源的决定。
区块链系统中的博弈包括:(1)获取资源的前提是当选为建块节点,因此所有节点都会尽力的去争取当选建块节点;(2)通过发起定向资源转移参与选取建块节点,而且区块链系统中规定多次定向资源转移最终会被选中排序最低的一次,依次避免意图通过多次定向资源转移增加当前建块节点的概率;(3)定向资源转移存在最小额限制,没有最大额限制,而且由于最终排序经由的是一个随机化的计算,因此不会有节点发起大额的捐赠,同时存在一个入门门槛(最小资源转移的数额),相当于一张门票,至少得购买门票,才能参与。
这样,规避了目前常见的共识算法浪费算力的问题;同时通过随机算法,保证了各个节点的公平性,系统中各个节点人人平等,拥有较大算力或者较多资源的节点并不比普通节点拥有更大的权力。
本申请还提供了一种基于区块链的数据处理系统。参考图6,该基于区块链的数据处理系统是去中心化分布式部署的系统,包括多个节点。基于区块链的数据处理系统中的每个节点都会和系统中其他任意一个节点发生通信。基于区块链的数据处理系统包括建块节点和普通节点。每一个时刻系统中只存在唯一的一个“建块节点”,剩余的节点都是“普通节点”;系统中任意一个节点都有可能当选为“建块节点”。基于以上,系统中每个节点之间是完全公平的,不存在特权节点,每个节点都可能会在“建块节点”以及“普通节点”这两种角色之间做切换。
具体地,建块节点用于执行上述实施例中由建块节点执行的基于区块链的数据处理方法的步骤;普通节点则用于执行上述实施例中由普通节点执行的基于区块链的数据处理方法的步骤。
上述基于区块链的数据处理系统,按周期选取建块节点,在每个建块周期内,当前的普通节点则通过定向资源转移参与选取下一个建块周期的建块节点,在当选下一个建块周期的建块节点后,自动在当前建块周期结束时,由普通节点的状态转换为建块节点的状态,以在下一个建块周期以建块节点的角色进行数据处理。当前的建块节点选取出下一个建块周期的建块节点后,即对当前建块周期产生的数据建块存储,并在当前建块周期结束时自动从建块节点的状态转换为普通节点的状态,以将建块权转移给下一个周期的建块节点,并在下一个建块周期以普通节点的角色进行数据处理。其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面由于运算过程基于字符串进行可以极大地减少运算量,另一方面随机化的选取节点的方式还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
本申请还提供一种应用场景,该应用场景应用上述的基于区块链的数据处理方法。具体地,该基于区块链的数据处理方法在该应用场景的应用如下:基于区块链的数据处理方法所应用的区块链系统是一种去中心化的系统,没有中心节点,也没有专门的监管系统,按照周期选取建块节点,建块节点建立区块。
参考图7A,该图示出了一个实施例中一个建块周期内建块节点的数据处理流程。对于建块节点,在建块周期开始时开始收集交易信息,在时间到达截止时间后停止收集交易信息。交易信息包括普通交易信息和捐赠交易信息。捐赠交易信息的接收节点固定为建块节点。建块节点然后从收集到的交易信息中筛选出捐赠交易信息,根据捐赠交易信息中包括的随机字符串计算参考字符串,然后根据各随机字符串与参考字符串的距离对捐赠交易信息进行排序。建块节点然后在区块链系统中广播对捐赠交易信息进行排序的排序结果,并判断是否存在并列第一的捐赠交易信息。当不存在并列第一的捐赠交易信息时,则直接将排序第一的捐赠交易信息的发起节点选为下一个建块周期的建块节点。当存在并列第一的捐赠交易信息时,则进入附加交易阶段。在附加交易阶段内,允许并列第一的捐赠交易信息的发起节点再次发起捐赠交易且交易次数不限。建块节点再收集附加交易阶段的捐赠交易信息,选取在附加交易阶段内累积发起捐赠交易的数额最大的节点,作为下一个建块周期的建块节点,并在区块链系统中广播。建块节点再将当前建块周期内的交易、对捐赠交易信息的排序相关的信息以及附加交易阶段的产生的信息建块,并在区块链系统中广播新建的区块的块信息,在当前建块周期结束时,从建块节点的状态转换为普通节点的状态,以转移建块权,开始下一个建块周期。
参考图7B,该图示出了一个实施例中一个建块周期内普通节点的数据处理流程。对于普通节点,在建块周期开始时根据自身需求广播普通交易信息和/或捐赠交易信息。在没有交易信息需要广播时,则收集和参与验证其他普通节点的交易信息,同时等待建块节点广播捐赠交易信息的排序结果。普通节点在接收到建块节点广播的排序结果后,判断本地是否当选为下一个建块周期的建块节点。若当选为下一个建块周期的建块节点,则在当前建块周期结束时,从普通节点的状态转换为建块节点的状态,以获取建块权开始下一个建块周期。若未当选为下一个建块周期的建块节点,则判断是否进入附加交易阶段发起捐赠交易。若未进入附加交易阶段发起捐赠交易,则等待开始下一个建块周期。若进入附加交易阶段,则在附加交易阶段再次发起捐赠交易,广播捐赠交易信息,同时等待建块节点广播附加交易阶段的选取结果。普通节点在接收到建块节点广播的选取结果后,判断本地是否当选为下一个建块周期的建块节点。若当选为下一个建块周期的建块节点,则在当前建块周期结束时,从普通节点的状态转换为建块节点的状态,以获取建块权开始下一个建块周期。若未当选为下一个建块周期的建块节点,则等待开始下一个建块周期。
应该理解的是,虽然上述实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种基于区块链的数据处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块801、确定模块802、选取模块803和建块模块804,其中:
获取模块801,用于获取当前建块周期的资源转移信息;资源转移信息包括定向资源转移信息;定向资源转移信息的资源接收节点为建块节点;
确定模块802,用于根据各定向资源转移信息包括的随机字符串,共同确定参考字符串;
选取模块803,用于根据各随机字符串分别与参考字符串的距离,从各定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;
建块模块804,用于建立当前建块周期的区块以存储资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。
在一个实施例中,确定模块802还用于获取各定向资源转移信息各自包括的随机字符串;按照预设排序方式对各随机字符串进行排序,得到排序结果;根据排序结果对各随机字符串进行摘要叠加,得到参考字符串。
在一个实施例中,确定模块802还用于根据排序结果,对首个随机字符串提取摘要,并将提取的摘要拼接至下一个随机字符串得到拼接字符串,将拼接字符串作为当前字符串;对当前字符串提取摘要,并将提取的摘要拼接至排序结果下的下一个随机字符串,得到下一个当前字符串,直至得到最后一个当前字符串;提取最后一个当前字符串的摘要,得到参考字符串。
在一个实施例中,定向资源转移信息包括数字签名和随机密文;数字签名通过定向资源转移信息的发起节点所对应的私钥加密得到;随机密文通过当前建块周期的建块节点所对应的公钥加密得到。确定模块802还用于根据定向资源转移信息的数字签名验证定向资源转移信息;在验证通过后,获取各定向资源转移信息包括的随机密文;通过本地的私钥解密各随机密文,得到各定向资源转移信息各自包括的随机字符串。
在一个实施例中,选取模块803还用于分别计算各随机字符串与参考字符串的距离;按照距离降序对相应的定向资源转移信息进行排序;将排序的定向资源转移信息中首位定向资源转移信息的发起节点,选取为下一个建块周期的建块节点。
在一个实施例中,选取模块803还用于在多于一个定向资源转移信息对应相同的发起节点时,则保留所包括的随机字符串与参考字符串的距离最小的定向资源转移信息;对于保留的定向资源转移信息,按照相应的距离的降序进行排序。
在一个实施例中,选取模块803还用于当排序的定向资源转移信息中首位定向资源转移信息的数量多于一个时,则进入附加资源转移阶段;其中,在附加资源转移阶段内,允许首位定向资源转移信息的发起节点向建块节点再次发起定向资源转移;从再次发起定向资源转移的发起节点中,选取在附加资源转移阶段内累积发起资源转移的数额最大的发起节点,作为下一个建块周期的建块节点。
在一个实施例中,建块模块804还用于获取对定向资源转移信息进行排序的排序结果,以及附加资源转移阶段内的附加资源转移信息;存储资源转移信息、排序结果及附加资源转移信息,生成当前建块周期的区块;广播区块的块信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态;广播的块信息用于指示当前建块周期的普通节点在对块信息验证通过后存储。
上述基于区块链的数据处理装置,按周期选取建块节点,在每个建块周期内,当前的建块节点选取出下一个建块周期的建块节点后,即对当前建块周期产生的数据建块存储,并自动从建块节点的状态转换为普通节点的状态,以在下一个建块周期以普通节点的角色进行数据处理;其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面可以极大地减少运算量,另一方面还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
在一个实施例中,如图9所示,提供了一种基于区块链的数据处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:广播模块901、接收模块902和转换模块903,其中:
广播模块901,用于广播定向资源转移信息;定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点;
接收模块902,用于接收当前建块周期的建块节点广播的选取结果;选取结果与当前建块周期内各定向资源转移信息的随机字符串与参考字符串的距离相关,参考字符串由当前建块周期内各定向资源转移信息的随机字符串共同确定;
转换模块903,用于当选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。
在一个实施例中,接收模块902还用于接收当前建块周期的建块节点广播的定向资源转移信息排序结果;定向资源转移信息排序结果为将当前建块周期内各定向资源转移信息,按照所包括随机字符串与参考字符串的距离的降序排序得到;当定向资源转移信息排序结果表示本地的定向资源转移信息排在首位、且排在首位的资源转移信息不唯一时,则进入附加资源转移阶段;在附加资源转移阶段再次进行定向资源转移,并广播再次进行定向资源转移的定向资源转移信息;接收当前建块周期的建块节点广播的节点选取结果;节点选取结果根据附加资源转移阶段的定向资源转移信息得到。
在一个实施例中,接收模块902还用于收集当前建块周期的其他普通节点广播的资源转移信息并进行验证;在对收集的资源转移信息验证通过后,采用验证通过的资源转移信息验证定向资源转移信息排序结果;接收当前建块周期的建块节点广播的块信息并进行验证;在对块信息验证通过后进行存储。
上述基于区块链的数据处理装置,按周期选取建块节点,在每个建块周期内,当前建块周期的普通节点通过定向资源转移参与选取下一个建块周期的建块节点,在当选下一个建块周期的建块节点后,自动在当前建块周期结束时,由普通节点的状态转换为建块节点的状态,以在下一个建块周期以建块节点的角色进行数据处理;其中,下一个建块周期的建块节点从定向资源转移信息的发起节点中选取,且取决于各定向资源转移信息包括的随机字符串。这样,基于随机字符串的随机共识,一方面可以极大地减少运算量,另一方面还使得区块链系统中任意节点都有可能当选建块节点,在建块节点和普通节点两种节点之间切换,保证了各个节点之间的公平性。
关于基于区块链的数据处理装置的具体限定可以参见上文中对于基于区块链的数据处理方法的限定,在此不再赘述。上述基于区块链的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于区块链的数据处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的数据处理方法。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (22)

1.一种基于区块链的数据处理方法,其特征在于,由区块链系统中的建块节点执行,所述方法包括:
获取当前建块周期的资源转移信息;所述资源转移信息包括定向资源转移信息;所述定向资源转移信息的资源接收节点为所述建块节点;
获取各所述定向资源转移信息各自包括的随机字符串;
按照预设排序方式对各所述随机字符串进行排序,得到排序结果;
根据排序结果,对首个随机字符串提取摘要,并将提取的摘要拼接至下一个随机字符串得到拼接字符串,将拼接字符串作为当前字符串;对当前字符串提取摘要,并将提取的摘要拼接至排序结果下的下一个随机字符串,得到下一个当前字符串,直至得到最后一个当前字符串;提取最后一个当前字符串的摘要,得到参考字符串;
根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;
建立当前建块周期的区块以存储所述资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。
2.根据权利要求1所述的方法,其特征在于,所述资源转移信息包括数字签名和随机密文;所述数字签名通过所述定向资源转移信息的发起节点所对应的私钥加密得到;所述随机密文通过当前建块周期的建块节点所对应的公钥加密得到;所述获取各所述定向资源转移信息各自包括的随机字符串,包括:
根据所述定向资源转移信息的数字签名验证所述定向资源转移信息;
在验证通过后,获取各所述定向资源转移信息包括的随机密文;
通过本地的私钥解密各所述随机密文,得到各所述定向资源转移信息各自包括的随机字符串。
3.根据权利要求1所述的方法,其特征在于,所述根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点,包括:
分别计算各所述随机字符串与所述参考字符串的距离;
按照距离降序对相应的定向资源转移信息进行排序;
将排序的定向资源转移信息中首位定向资源转移信息的发起节点,选取为下一个建块周期的建块节点。
4.根据权利要求3所述的方法,其特征在于,所述按照距离降序对相应的定向资源转移信息进行排序,包括:
在多于一个定向资源转移信息对应相同的发起节点时,则保留所包括的随机字符串与所述参考字符串的距离最小的定向资源转移信息;
对于保留的定向资源转移信息,按照相应的距离的降序进行排序。
5.根据权利要求3所述的方法,其特征在于,所述将排序的定向资源转移信息中首位定向资源转移信息的发起节点,选取为下一个建块周期的建块节点,包括:
当排序的定向资源转移信息中首位定向资源转移信息的数量多于一个时,则进入附加资源转移阶段;其中,在所述附加资源转移阶段内,允许所述首位定向资源转移信息的发起节点向所述建块节点再次发起定向资源转移;
从再次发起定向资源转移的发起节点中,选取在所述附加资源转移阶段内累积发起资源转移的数额最大的发起节点,作为下一个建块周期的建块节点。
6.根据权利要求5所述的方法,其特征在于,所述建立当前建块周期的区块以存储所述资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态,包括:
获取对所述定向资源转移信息进行排序的排序结果,以及所述附加资源转移阶段内的附加资源转移信息;
存储所述资源转移信息、所述排序结果及所述附加资源转移信息,生成当前建块周期的区块;
广播所述区块的块信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态;广播的所述块信息用于指示当前建块周期的普通节点在对所述块信息验证通过后存储。
7.一种基于区块链的数据处理方法,其特征在于,由区块链系统中的普通节点执行,所述方法包括:
广播定向资源转移信息;所述定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点;
接收当前建块周期的建块节点广播的选取结果;所述选取结果与当前建块周期内各定向资源转移信息的随机字符串与参考字符串的距离相关,所述参考字符串的确定步骤包括:获取当前建块周期内各定向资源转移信息各自包括的随机字符串,按照预设排序方式对各所述随机字符串进行排序,得到排序结果;根据排序结果,对首个随机字符串提取摘要,并将提取的摘要拼接至下一个随机字符串得到拼接字符串,将拼接字符串作为当前字符串;对当前字符串提取摘要,并将提取的摘要拼接至排序结果下的下一个随机字符串,得到下一个当前字符串,直至得到最后一个当前字符串;提取最后一个当前字符串的摘要,得到所述参考字符串;
当所述选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。
8.根据权利要求7所述的方法,其特征在于,所述接收当前建块周期的建块节点广播的选取结果,包括:
接收当前建块周期的建块节点广播的定向资源转移信息排序结果;所述定向资源转移信息排序结果为将当前建块周期内各定向资源转移信息,按照所包括随机字符串与参考字符串的距离的降序排序得到;
当所述定向资源转移信息排序结果表示本地的定向资源转移信息排在首位、且排在首位的资源转移信息不唯一时,则进入附加资源转移阶段;
在所述附加资源转移阶段再次进行定向资源转移,并广播再次进行定向资源转移的定向资源转移信息;
接收当前建块周期的建块节点广播的节点选取结果;所述节点选取结果根据所述附加资源转移阶段的定向资源转移信息得到。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
收集当前建块周期的其他普通节点广播的资源转移信息并进行验证;
在对收集的资源转移信息验证通过后,采用验证通过的资源转移信息验证所述定向资源转移信息排序结果;
接收当前建块周期的建块节点广播的块信息并进行验证;
在对所述块信息验证通过后进行存储。
10.一种基于区块链的数据处理系统,其特征在于,所述系统包括建块节点和普通节点;
所述普通节点用于广播定向资源转移信息;所述定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点;
所述建块节点用于获取当前建块周期的资源转移信息;所述资源转移信息包括定向资源转移信息;所述定向资源转移信息的资源接收节点为所述建块节点;获取各所述定向资源转移信息各自包括的随机字符串;按照预设排序方式对各所述随机字符串进行排序,得到排序结果;根据排序结果,对首个随机字符串提取摘要,并将提取的摘要拼接至下一个随机字符串得到拼接字符串,将拼接字符串作为当前字符串;对当前字符串提取摘要,并将提取的摘要拼接至排序结果下的下一个随机字符串,得到下一个当前字符串,直至得到最后一个当前字符串;提取最后一个当前字符串的摘要,得到参考字符串;根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;
所述普通节点还用于接收当前建块周期的建块节点广播的选取结果;当所述选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态;
所述建块节点还用于建立当前建块周期的区块以存储所述资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。
11.根据权利要求10所述的系统,所述建块节点还用于分别计算各所述随机字符串与所述参考字符串的距离;按照距离降序对相应的定向资源转移信息进行排序;将排序的定向资源转移信息中首位定向资源转移信息的发起节点,选取为下一个建块周期的建块节点。
12.一种基于区块链的数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取当前建块周期的资源转移信息;所述资源转移信息包括定向资源转移信息;所述定向资源转移信息的资源接收节点为建块节点;
确定模块,用于获取各所述定向资源转移信息各自包括的随机字符串;按照预设排序方式对各所述随机字符串进行排序,得到排序结果;根据排序结果,对首个随机字符串提取摘要,并将提取的摘要拼接至下一个随机字符串得到拼接字符串,将拼接字符串作为当前字符串;对当前字符串提取摘要,并将提取的摘要拼接至排序结果下的下一个随机字符串,得到下一个当前字符串,直至得到最后一个当前字符串;提取最后一个当前字符串的摘要,得到参考字符串;
选取模块,用于根据各所述随机字符串分别与所述参考字符串的距离,从各所述定向资源转移信息的发起节点中选取作为下一个建块周期中建块节点的目标节点;
建块模块,用于建立当前建块周期的区块以存储所述资源转移信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态。
13.根据权利要求12所述的装置,其特征在于,所述资源转移信息包括数字签名和随机密文;所述数字签名通过所述定向资源转移信息的发起节点所对应的私钥加密得到;所述随机密文通过当前建块周期的建块节点所对应的公钥加密得到;所述确定模块还用于根据所述定向资源转移信息的数字签名验证所述定向资源转移信息;在验证通过后,获取各所述定向资源转移信息包括的随机密文;通过本地的私钥解密各所述随机密文,得到各所述定向资源转移信息各自包括的随机字符串。
14.根据权利要求12所述的装置,其特征在于,所述选取模块还用于分别计算各所述随机字符串与所述参考字符串的距离;按照距离降序对相应的定向资源转移信息进行排序;将排序的定向资源转移信息中首位定向资源转移信息的发起节点,选取为下一个建块周期的建块节点。
15.根据权利要求14所述的装置,其特征在于,所述选取模块还用于在多于一个定向资源转移信息对应相同的发起节点时,则保留所包括的随机字符串与所述参考字符串的距离最小的定向资源转移信息;对于保留的定向资源转移信息,按照相应的距离的降序进行排序。
16.根据权利要求14所述的装置,其特征在于,所述选取模块还用于当排序的定向资源转移信息中首位定向资源转移信息的数量多于一个时,则进入附加资源转移阶段;其中,在所述附加资源转移阶段内,允许所述首位定向资源转移信息的发起节点向所述建块节点再次发起定向资源转移;从再次发起定向资源转移的发起节点中,选取在所述附加资源转移阶段内累积发起资源转移的数额最大的发起节点,作为下一个建块周期的建块节点。
17.根据权利要求16所述的装置,其特征在于,所述建块模块还用于获取对所述定向资源转移信息进行排序的排序结果,以及所述附加资源转移阶段内的附加资源转移信息;存储所述资源转移信息、所述排序结果及所述附加资源转移信息,生成当前建块周期的区块;广播所述区块的块信息,并在当前建块周期结束时从建块节点的状态转换为普通节点的状态;广播的所述块信息用于指示当前建块周期的普通节点在对所述块信息验证通过后存储。
18.一种基于区块链的数据处理装置,其特征在于,所述装置包括:
广播模块,用于广播定向资源转移信息;定向资源转移信息的资源接收节点为当前建块周期的建块节点、且用于参与选取下一个建块周期的建块节点;
接收模块,用于接收当前建块周期的建块节点广播的选取结果;选取结果与当前建块周期内各定向资源转移信息的随机字符串与参考字符串的距离相关,参考字符串的确定步骤包括:获取当前建块周期内各定向资源转移信息各自包括的随机字符串,按照预设排序方式对各所述随机字符串进行排序,得到排序结果;根据排序结果,对首个随机字符串提取摘要,并将提取的摘要拼接至下一个随机字符串得到拼接字符串,将拼接字符串作为当前字符串;对当前字符串提取摘要,并将提取的摘要拼接至排序结果下的下一个随机字符串,得到下一个当前字符串,直至得到最后一个当前字符串;提取最后一个当前字符串的摘要,得到所述参考字符串;
转换模块,用于当选取结果表示本地被选为下一个建块周期的建块节点时,则在当前建块周期结束时,由普通节点的状态转换为建块节点的状态。
19.根据权利要求18所述的装置,其特征在于,所述接收模块还用于接收当前建块周期的建块节点广播的定向资源转移信息排序结果;所述定向资源转移信息排序结果为将当前建块周期内各定向资源转移信息,按照所包括随机字符串与参考字符串的距离的降序排序得到;当所述定向资源转移信息排序结果表示本地的定向资源转移信息排在首位、且排在首位的资源转移信息不唯一时,则进入附加资源转移阶段;在所述附加资源转移阶段再次进行定向资源转移,并广播再次进行定向资源转移的定向资源转移信息;接收当前建块周期的建块节点广播的节点选取结果;所述节点选取结果根据所述附加资源转移阶段的定向资源转移信息得到。
20.根据权利要求19所述的装置,其特征在于,所述接收模块还用于收集当前建块周期的其他普通节点广播的资源转移信息并进行验证;在对收集的资源转移信息验证通过后,采用验证通过的资源转移信息验证所述定向资源转移信息排序结果;接收当前建块周期的建块节点广播的块信息并进行验证;在对所述块信息验证通过后进行存储。
21.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
22.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
CN202010436603.1A 2020-05-21 2020-05-21 基于区块链的数据处理方法、系统、设备和存储介质 Active CN111612445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010436603.1A CN111612445B (zh) 2020-05-21 2020-05-21 基于区块链的数据处理方法、系统、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010436603.1A CN111612445B (zh) 2020-05-21 2020-05-21 基于区块链的数据处理方法、系统、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111612445A CN111612445A (zh) 2020-09-01
CN111612445B true CN111612445B (zh) 2021-08-20

Family

ID=72198859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010436603.1A Active CN111612445B (zh) 2020-05-21 2020-05-21 基于区块链的数据处理方法、系统、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111612445B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109493049A (zh) * 2018-11-21 2019-03-19 利尔·契夫 一种基于区块链的钱包资产保护系统
CN111082990A (zh) * 2019-12-19 2020-04-28 上海优扬新媒信息技术有限公司 一种区块链的共识方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8080615B2 (en) * 2007-06-19 2011-12-20 Micron Technology, Inc. Crosslinkable graft polymer non-preferentially wetted by polystyrene and polyethylene oxide
CN107481145A (zh) * 2017-08-30 2017-12-15 北京知金链网络技术有限公司 区块链多维随机数共识推举方法
CN110896389B (zh) * 2018-09-12 2022-03-15 普天信息技术有限公司 一种区块链的共识方法、电子设备和计算机可读存储介质
CN110505084B (zh) * 2019-08-01 2022-06-10 江苏万链区块链技术研究院有限公司 一种区块链打包节点共识推举方法
CN110489542B (zh) * 2019-08-10 2023-12-12 刘莎 一种互联网网页信息和文本信息的自动摘要方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109493049A (zh) * 2018-11-21 2019-03-19 利尔·契夫 一种基于区块链的钱包资产保护系统
CN111082990A (zh) * 2019-12-19 2020-04-28 上海优扬新媒信息技术有限公司 一种区块链的共识方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111612445A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN108717630B (zh) 一种出块方法及其实现系统
CN107566124B (zh) 基于哈希运算的共识建立方法、区块链系统及存储介质
CN108492103B (zh) 一种联盟区块链共识方法
US20210126790A1 (en) Method and system for publicly verifiable proofs of retrievability in blockchains
US10862959B2 (en) Consensus system and method for adding data to a blockchain
CN110599147A (zh) 一种基于区块链的密文检索公平支付方法及系统
CN108961052A (zh) 区块链数据的验证方法、存储方法、装置、设备和介质
US11157899B1 (en) System and method for bootstrapping a separate proof of work chain
CN110855432B (zh) 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制
CN112118239B (zh) 区块链共识方法及装置、电子设备、存储介质
CN109508987B (zh) 一种区块链的构建方法、系统及相关组件
JP2021517324A (ja) 媒体リソース割当方法、装置、システム、コンピュータプログラム及びコンピュータ装置
CN111010284B (zh) 一种待共识区块的处理方法、相关装置及区块链系统
CN111698094A (zh) 一种基于区块链系统的共识方法及区块链系统
CN107679149A (zh) 一种数据处理方法及服务器
CN114372589A (zh) 一种联邦学习方法及相关装置
CN110990790B (zh) 一种数据处理方法及设备
CN114615281B (zh) 基于小规模委员会的区块链出块方法及PoS协议确认方法
GB2572340A (en) Data processing system using directed acyclic graph and method of use thereof
CN111683121A (zh) 基于DPoS的云端数据溯源区块链共识机制改进方法
RU2706459C1 (ru) Способ принятия единого согласованного решения в распределенной системе ЭВМ
CN111612445B (zh) 基于区块链的数据处理方法、系统、设备和存储介质
Hsueh et al. EPoW: Solving blockchain problems economically
CN113282418A (zh) 一种模型聚合处理方法及装置
CN110535629B (zh) 一种异步网络条件下的出块共识方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028934

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant