CN111713088B - 处理数据的方法、处理数据的装置和处理数据的设备 - Google Patents

处理数据的方法、处理数据的装置和处理数据的设备 Download PDF

Info

Publication number
CN111713088B
CN111713088B CN201880089370.3A CN201880089370A CN111713088B CN 111713088 B CN111713088 B CN 111713088B CN 201880089370 A CN201880089370 A CN 201880089370A CN 111713088 B CN111713088 B CN 111713088B
Authority
CN
China
Prior art keywords
node
credit
value
credit value
target value
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
CN201880089370.3A
Other languages
English (en)
Other versions
CN111713088A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111713088A publication Critical patent/CN111713088A/zh
Application granted granted Critical
Publication of CN111713088B publication Critical patent/CN111713088B/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请提供了一种处理数据的方法和装置,该方法包括:第一节点确定所述第一节点的第一信用值,其中所述第一节点为区块链网络中的一个节点;所述第一节点确定所述第一信用值大于第一预设阈值的情况下,基于第一目标值进行工作量计算证明,所述第一目标值为对应于第一难度的目标值,其中,所述第一难度小于基于预设目标值进行工作量证明计算对应的第二难度。本申请实施例的处理数据的方法能够降低区块链网络中共识算法的难度。

Description

处理数据的方法、处理数据的装置和处理数据的设备
技术领域
本申请涉及通信领域,更具体地,涉及通信领域中的一种处理数据的方法、处理数据的装置和处理数据的设备。
背景技术
在区块链网络中,引入一个共识机制来解决公共节点同意某一个信息并将它更新到总的共享账本中的问题,一种典型共识机制是工作量证明(Proof of work,PoW)。
目前PoW算法是区块链网络中的各个节点比拼计算能力,计算随机数(Nonce)的值,是一个极其消耗资源的过程。因此,如何降低区块链网络中PoW算法的难度是一个亟待解决的问题。
发明内容
本申请提供一种处理数据的方法、处理数据的装置和处理数据的设备,能够降低区块链网络中PoW算法的难度。
第一方面,提供了一种处理数据的方法,该方法包括:第一节点确定所述第一节点的第一信用值,其中所述第一节点为区块链网络中的一个节点。所述第一节点在确定所述第一信用值大于第一预设阈值的情况下,所述第一节点基于第一目标值进行工作量证明计算,所述第一目标值为对应于第一难度的目标值,其中,所述第一难度小于基于预设目标值进行工作量证明计算对应的第二难度。
根据本申请实施例的处理数据的方法,区块链中的节点首先确定自己当前的信用值的大小,当信用值超过第一预设阈值时,可以在进行工作量证明计算的时候,计算得到第一目标值即为完成工作量证明计算,且计算第一目标值的难度小于计算预设目标值的难度,则,在节点的信用值满足预设要求时,可以降低节点工作量证明计算的难度,从而能够在节省节点在工作量证明计算上的功耗。
结合第一方面,在第一方面的一种实现方式中,该方法还包括:所述第一节点确定第一节点的第二信用值。所述第一节点在确定所述第二信用值小于或等于所述第一预设阈值的情况下,所述第一节点基于所述预设目标值进行工作量证明计算。
根据本申请实施例的处理数据的方法,区块链中的节点首先确定自己当前的信用值的大小,当信用值没有超过第一预设阈值时,在进行工作量证明计算的时候,计算得到预设目标值即为完成工作量证明,则,当节点信用值不满足预设要求时,基于现有的工作量证明计算难度进行工作量证明,上述的第二信用值与第一信用的确定可以是在不同的时刻进行的,能够与现有的工作量证明计算方法相互兼容。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该方法还包括:所述第一节点确定第三信用值,所述第三信用值为第二节点的信用值,其中,所述第二节点为所述区块链网络中的除所述第一节点之外的任意一个节点。所述第一节点确定第四信用值,所述第四信用值为第三节点的信用值,其中,所述第三节点为所述区块链网络中的除所述第一节点和所述第二节点之外的任意一个节点。所述第一节点在确定所述第三信用值高于所述第四信用值的情况下,向所述第二节点发送交易信息。
根据本申请实施例的处理数据的方法,区块链中的第一节点可以计算区块链中各个节点的信用值,当第二节点的信用值的大小满足第二预设阈值,第三节点的信用值的大小满足第二预设阈值时,第一节点可以认为第二节点为可信任的节点,在第一节点有交易需要发出的时候,可以仅向信任的第二节点发送所述交易,能够降低工作量证明计算的功耗。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该方法还包括:所述第一节点确定第三信用值,所述第三信用值为第二节点的信用值,其中,所述第二节点为所述区块链网络中的除所述第一节点之外的任意一个节点。所述第一节点确定第四信用值,所述第四信用值为第三节点的信用值,其中,所述第三节点为所述区块链网络中的除所述第一节点和所述第二节点之外的任意一个节点。所述第一节点在确定所述第三信用值高于所述第四信用值的情况下,向所述第二节点发送交易信息,并在发送所述交易信息至所述第二节点之后,向所述第三节点发送所述交易信息。
根据本申请实施例的处理数据的方法,区块链中的第一节点可以计算区块链中各个节点的信用值,当第二节点的信用值的大小满足第二预设阈值,第三节点的信用值的大小满足第二预设阈值时,第一节点可以认为第二节点为可信任的节点,在第一节点有交易需要发出的时候,可以先向信任的第二节点发送所述交易,在将交易发送第二节点之后再向第三节点发送所述交易,能够降低工作量证明计算的功耗。例如,在第四时刻发送交易信息至上述第二节点,在第五时刻发送交易信息至上述第三节点,所述第五时刻晚于所述第四时刻。
可选地,第二预设阈值可以是***规定的与上述第一预设阈值相等的值,也可以是***设置的与上述第一预设阈值不同的值。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在所述第一节点确定第一信用值之前,所述方法还包括:所述第一节点向所述区块链网络中的X个节点发送加入请求消息,所述加入请求消息包括信用度信息,所述信用度信息用于指示所述第一节点的最新信用值,其中,X为大于或等于1的整数。
根据本申请实施例的处理数据的方法,第一节点在不是所述区块链网络中的节点的时候,需要首先向所述区块链网络发送加入请求消息,其中,可选地,第一节点的加入请求消息可以是广播在所述区块链网络中,第一节点的加入请求消息中包括信用度信息,所述区块链网络中的节点可以对第一节点的加入请求消息进行认证,判断第一节点所提供的信用值的可信度,增加了区块链网络的安全性。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法还包括:所述第一节点接收所述X个节点中的至少一个节点发出的认证确认消息并加入所述区块链网络,所述认证确认消息用于指示所述第一节点能够加入所述区块链网络;或者,所述第一节点从所述区块链网络中查询所述认证确认消息并加入所述区块链网络,所述认证确认消息用于确认所述第一节点能够加入所述区块链网络。
根据本申请实施例的处理数据的方法,对第一节点的加入请求消息进行认证的节点可以是所述区块链网络中的X个节点,当X个节点中至少一个节点发出的认证确认消息时,或者,第一节点可以在所述区块链网络中查询认证确认消息,并加入所述区块链网络,能够让第一节点加入所述区块链网络时携带自身当前信用度信息,有利于第一节点后续基于信用值进行工作量证明。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该方法还包括:所述第一节点向信用统计区块链网络中的节点发送信用统计信息。
根据本申请实施例的处理数据的方法,第一节点可以首先将信用统计信息发送给信用统计区块链网络,有利于后续信用值的获取。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一节点基于第一目标值进行工作量证明计算,包括:所述第一节点基于第一目标值进行工作量证明计算获得共识确认权。所述第一节点生成目标区块。
根据本申请实施例的处理数据的方法,第一节点可以在基于第一目标值进行工作量证明计算之后获得共识确认权,并生成目标区块,能够降低第一节点工作量证明计算的功耗。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法还包括:所述第一节点确定第五信用值;所述目标区块包括所述第五信用值;所述第一节点确定第五信用值为所述第一信用值减去预设的信用消耗值。
根据本申请实施例的处理数据的方法,第一节点在基于第一目标值进行工作量证明计算获得共识确认权之后,重新确定自己当前的信用值大小,当前信用值的大小比第一节点的第一信用值小,减去了第一节点进行工作量证明计算的信用消耗值,能够避免第一节点连续多次基于一目标值进行工作量证明计算影响区块链网络的安全性。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述预设的信用消耗值为所述第一节点基于第一目标值进行工作量证明计算获得共识确认权时消耗的信用值。
根据本申请实施例的处理数据的方法,第一节点在基于第一目标值进行工作量证明计算获得共识确认权时消耗的信用值在重新确定信用值的时候减去所述消耗的信用值,能够准确确定第一节点最新信用值。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述目标区块还包括高度差,所述高度差用于指示所述第一节点上一次基于所述第一目标值获得所述共识确认权的区块与当次基于所述第一目标值获得共识确认权的区块之间的区块高度差。
根据本申请实施例的处理数据的方法,第一节点生成的区块还包括第一节点计算所述第一目标值获得所述共识确认权与当前计算所述第一目标值获得共识确认权之间进行工作量证明计算的次数,使得区块链网络中的其他节点能够得知第一节点是否有权计算所述第一目标值获得所述共识确认权。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述方法还包括:所述第一节点接收第一交易信息,所述第一交易信息中包含信用需求值信息,所述信用需求信息用于指示所述第一交易被所述区块链节点进行共识确认所要求的信用值。
根据本申请实施例的处理数据的方法,第一节点在进行工作量证明计算之前会接收到区块链网络中的第一交易信息,第一节点获取进行第一交易所需的信用需求值,判断自身信用值是否满足第一交易所需的信用需求值,能够提高区块链网络中交易的完成速度。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一节点基于第一目标值进行工作量证明计算,还包括:
可选地,所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的N个区块的共识确认权的竞争中不再基于第一目标值进行工作量证明计算;
可选地,所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的Y个时间单位内的区块的共识确认权的竞争中不再基于第一目标值进行工作量证明计算;
可选地,所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的N个区块的共识确认权的竞争中基于预设目标值或第二目标值进行工作量证明计算,所述第二目标值为对应于第三难度的目标值,所述第三难度小于第二难度且大于第一难度;
可选地,所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的Y个时间单位内的共识确认权的竞争中基于所述预设目标值或所述第二目标值进行工作量证明计算;其中,所述N和所述Y为正整数。
根据本申请实施例的处理数据的方法,区块链网络规定第一节点基于第一目标值进行工作量证明计算获得共识确认权后,在接下来的N次或者Y个时间单位内的交易处理中不能再次基于第一目标值进行工作量证明计算,能够避免第一节点多次基于第一目标值进行工作量证明计算获得共识确认权降低区块链网络的安全性。
应理解,上述第一节点可以是区块链网络中的任意一个节点,例如,网络中互联的计算机或者服务器。
第二方面,提供了一种处理数据的方法,该方法包括:第二节点接收第一节点发送的加入请求消息,所述加入请求消息包括信用度信息,所述信用度信息用于指示所述第一节点在第一区块链网络中的信用值,所述第二节点为第二区块链网络中的一个节点,所述第一节点为所述第一区块链网络中的一个节点。所述第二节点根据所述信用度信息,获取所述第一节点在所述第一区块链网络中的信用值。
根据本申请实施例的处理数据的方法,第二节点接收第一节点发送的请求信息,并确定第一节点的最新信用值,能够在第一节点加入区块链网络时,得到当前的信用值信息,有利于第一节点后续基于信用值进行工作量证明计算。
结合第二方面,在第二方面的一种实现方式中,所述第二节点根据所述信用度信息,获取所述第一节点在所述第一区块链网络中的信用值包括:
所述信用度信息为所述第一节点在第一区块链网络中的信用值,所述第二节点根据所述信用度信息,获取所述信用值。
根据本申请实施例的处理数据的方法,第一节点可以直接将所述第一节点在第一区块链网络中的信用值包括在加入请求消息中发送给第二节点,第二节点接收到所述加入请求消息之后能够获取第一节点在第一区块链网络中的信用值。
结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述第二节点根据所述信用度信息,获取所述第一节点在所述第一区块链网络中的信用值包括:所述信用度信息包括目标区块链网络中的记录所述信用值的目标区块信息。所述第二节点根据所述目标区块信息向所述目标区块链网络发送查询请求消息,所述查询请求消息用于请求获取所述信用值。所述第二节点接收第三节点发送的查询响应信息,所述查询响应信息包括所述信用值,所述第三节点为所述目标区块链网络中的一个节点。
根据本申请实施例的处理数据的方法,第二节点可以从目标区块链网络中查询第一节点的信用值信息,增加了第一节点的信用值获取的方法。
可选地,在一些实施例中,目标区块链网络可以是第一节点所属的第一区块链网络,即,第一节点发送的加入请求消息中包括第一节点在所属第一区块链网络中的信用值所在的区块信息,第二节点根据该区块信息查询所述信用值,第一区块链网络中的第三节点将所述信用值包括在查询响应信息中,发送给第二节点。
可选地,在另一些实施例中,目标区块链网络可以是信用统计区块链网络,即,第一节点发送的加入请求消息中包括第一节点在所属第一区块链网络中的信用值所在信用统计区块链网络的区块信息,第二节点根据该区块信息查询所述信用值,信用统计区块链网络中的第三节点将所述信用值包括在查询响应信息中,发送给第二节点。
第三方面,提供了一种处理数据的方法,该方法包括:第三节点接收第一节点发送的信用统计信息,所述第三节点为信用统计区块链网络中的一个节点;所述第三节点根据所述信用统计信息,确定所述第一节点的信用值。
根据本申请实施例的处理数据的方法,第三节点可以作为信用统计区块链网络中的计算第一节点最新信用值的节点,计算第一节点的信用值,能够为后续第一节点的最新信用值的查询提供便利。
结合第三方面,在第三方面的一种实现方式中,该方法还包括:所述第三节点接收第二节点发送的查询请求信息,所述查询请求信息用于请求获取所述第一节点的信用值,所述第二节点为第一区块链网络中的一个节点。所述第三节点向所述第二节点发送查询反馈信息,所述查询反馈信息包括所述第一节点的信用值。
根据本申请实施例的处理数据的方法,第三节点可以向查询第一节点的最新信用值的第二节点反馈第一节点的最新信用值,增加了第二节点获取第一节点的信用值的方法。
第四方面,提供了一种处理数据的方法,该方法包括:第一节点获取第一区块链网络中的N个节点的信用值,其中所述第一节点为所述第一区块链网络中的任意一个节点。所述第一节点根据所述第一区块链网络中的所述N个节点的信用值,确定采用第一方案进行工作量证明计算或采用第二方案进行工作量证明计算,其中采用所述第一方案进行所述工作量证明计算为基于第一目标值进行所述工作量证明计算,其中所述第一目标值为对应于第一难度的目标值,采用所述第二方案进行所述工作量证明计算为基于预设目标值进行所述工作量证明计算,其中所述预设目标值为对应于第二难度的目标值,所述第一难度小于所述第二难度。
根据本申请实施例的处理数据的方法,第一节点可以在进行工作量证明计算之前计算区块链网络中的N个节点的信用值,其中,所述N个节点可以是区块链网络中的全部节点根据计算得到的N个节点信用值大小判断进行工作量证明计算的方案,能够提供区块链网络中的N个节点降低功耗进行工作量证明计算的方法。
结合第四方面,在第四方面的一种实现方式中,所述第一节点根据所述第一区块链网络中的N个节点的信用值,确定采用第一方案进行工作量证明计算或采用第二方案进行工作量证明计算,包括:所述第一节点在确定所述第一区块链网络中的N个节点的信用值均大于第一预设阈值的情况下,确定采用所述第一方案进行所述工作量证明计算。所述第一节点在确定所述第一区块链网络中的M个节点的信用值小于或等于所述第一预设阈值的情况下,确定采用所述第二方案进行所述工作量证明计算,其中,所述M为大于或者等于0且小于或者等于N的正整数。
根据本申请实施例的处理数据的方法,当区块链网络中的N个节点的信用值均大于第一预设值的情况下,N个节点均可以降低难度进行所述工作量证明计算,能够降低全网计算功耗。
结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,所述第一节点根据所述第一区块链网络中的N个节点的信用值,确定采用第一方案进行工作量证明计算或采用第二方案进行工作量证明计算,包括:所述第一节点在确定所述第一区块链网络中的信用值大于第二预设值的节点数目与所述第一区块链网络中的全部节点数目的比值大于第三预设值的情况下,或者,确定所述第一区块链网络中的信用值大于第二预设值的节点数目大于第四预设值的情况下,确定采用所述第一方案进行所述工作量证明计算。所述第一节点在确定所述第一区块链网络中的信用值大于第二预设值的节点数目与所述第一区块链网络中的全部节点数目的比值小于或等于第三预设值的情况下,或者,确定所述第一区块链网络中的信用值大于第二预设值的节点数目小于或等于第四预设值的情况下,确定采用所述第二方案进行所述工作量证明计算。
根据本申请实施例的处理数据的方法,当区块链网络中的全部节点的中的部分节点信用值大于第一预设值的情况下,全部节点或者信用值大于第一预设值的节点均可以降低难度进行所述工作量证明计算,能够降低全网计算功耗。
第五方面,提供了一种处理数据的装置,其中,所述处理数据的装置可以配置为第一方面中的第一节点或者可以为多个计算机装置配置为第一节点,包括用于执行上述第一方面以及第一方面的各实现方式中的处理数据的方法的各步骤的单元。
第六方面,提供了一种处理数据的装置,其中,所述处理数据的装置可以配置为第二方面中的第二节点或者可以为多个计算机装置配置为第二节点,包括用于执行上述第二方面以及第二方面的各实现方式中的处理数据的方法的各步骤的单元。
第七方面,提供了一种处理数据的装置,其中,所述处理数据的装置可以配置为第三方面中的第三节点或者可以为多个计算机装置配置为第三节点,包括用于执行上述第三方面以及第三方面的各实现方式中的处理数据的方法的各步骤的单元。
第八方面,提供了一种处理数据的装置,其中,所述处理数据的装置可以配置为第四方面中的第一节点或者可以为多个计算机装置配置为第一节点,包括用于执行上述第四方面以及第四方面的各实现方式中的处理数据的方法的各步骤的单元。
第九方面,提供了一种处理数据的设备,该设备具有实现上述第一至第四方面中的任一方面及其各种实现方式中的各个节点的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多于一个与上述功能相对应的模块。
第十方面,提供了一种服务器,服务器的结构中包括处理器。该处理器被配置为支持服务器执行上述第一至第四方面中的任一方面及其各种实现方式中的功能,在一个可能的设计中,该服务器还可以包括收发器,用于支持服务器接收或发送信息。在一个可能的设计中,该服务器还可以包括存储器,该存储器用于与处理器耦合,保存服务器必要的程序指令和数据。或者说,该服务器包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得服务器执行上述第一至第四方面中的任一方面及其各种实现方式中的任一种处理数据的方法。
第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序使得服务器执行上述第一至第四方面中的任一方面及其各种实现方式中的任一种处理数据的方法。或者说,该计算机可读存储介质用于储存为上述服务器所用的计算机软件指令,其包含用于执行上述第一方面的方法所设计的程序。
第十二方面,提供了一种芯片***,该芯片***包括处理器,用于支持服务器实现上述第一至第四方面中的任一方面及其各种实现方式中所涉及的功能。
从而,本申请提出的处理数据的方法、处理数据的装置和处理数据的设备,在节点的信用值满足预设值时,能够降低区块链网络中共识算法的难度。
附图说明
图1是适用本申请实施例的处理数据的方法和装置的区块链网络的一例的示意图;
图2是工作量证明的示意性流程图;
图3是本申请实施例提供的一种数据处理方法示意图;
图4是本申请实施例提供的另一种数据处理方法示意图;
图5是本申请实施例提供的另一种数据处理方法示意图;
图6是本申请实施例提供的另一种数据处理方法示意图;
图7是本申请实施例提供的另一种数据处理方法示意图;
图8是本申请实施例的数据处理装置的一例的示意性框图;
图9是本申请实施例的数据处理装置的另一例的示意性框图;
图10是本申请实施例的数据处理装置的另一例的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例提供的缓存数据的方法,可以应用于计算机上,该计算机包括硬件层、运行在硬件层之上的操作***层,以及运行在操作***层上的应用层。
该硬件层包括中央处理器(Central Processing Unit,CPU)、内存管理单元(Memory Management Unit,MMU)和内存(也称为主存)等硬件。
该操作***可以是任意一种或多种通过进程(Process)实现业务处理的计算机操作***,例如,Linux操作***、Unix操作***、Android操作***、iOS操作***或windows操作***等。
该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是计算机设备,或者,是计算机设备中能够调用程序并执行程序的功能模块。
并且,在本申请实施例中,该计算机设备可以是智能手机等手持设备,也可以是个人计算机等终端设备,或者,该计算机也可以是服务器,本申请实施例并未特别限定,只要能够通过运行记录有本申请实施例的处理数据的方法的代码,以根据本申请实施例的处理数据的方法处理数据即可。
其中,服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、***总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。本申请实施例的路径检测的执行主体可以是计算机设备,或者,是计算机设备中能够调用程序并执行程序的功能模块。
本文所描述的节点是指能够进行共识运算、存储数据、转发数据、验证数据等行为的基本单元,可以由一台或多台计算机装置组成,例如,可以是计算机、便携式计算机、服务器、穿戴设备等。
在本申请实施例中,该区块链网络100包括区块链网络设备用于执行共识机制的架构,如图1所示。
如图1所示该区块链网络100包括节点130。
节点130(包括如图1所示的节点130a-节点130e),图中的节点130可以简单的理解为电脑或者服务器,但不限于电脑或者服务器。
在本申请实施例中,各节点130彼此之间通信连接。
从而,各节点130可以基于通信连接,基于协商机制进行决策。
例如,该区块链网络100中的部分(例如,至少两个)或全部节点130之间能够针对由一个或多个节点发起的判定的协商,从而确定该判定的结果。
例如,在本申请实施例中,每个参与协商的节点可基于预设的判定规则针对某一事件的判定,从而,每个参与协商的节点可以分别得到针对该事件的判定结果,例如,该判定结果可以为“是”或“否”。这里,需要说明的是,参与协商的各节点使用的判定规则可以相同也可以不同,本申请并未特别限定。
其后,参与协商的各节点之间可以进行通信,以确定参与协商的各节点的判定结果。从而,能够基于参与协商的各节点判定结果的分布,确定区块链网络100做出的针对该事件的最终判定结果。作为示例而非限定,该区块链网络100可以是基于区块链技术实现上述协商机制。
区块链网络100,区块链网络100是由上述节点130构成的,从图1中可以看出各个节点之间是平等的,没有一个节点是中心节点,即,在区块链网络中不需要中心化。区块链是一种去中心化的数据库区块链网络由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术,网络层则包括分布式组网机制、数据传播机制和数据验证机制等,共识层主要封装网络节点的各类共识算法,激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等。合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识计算能力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
应理解,图1中所示的区块链网络100由上述节点130构成只是一个区块链网络的例子,在另一些实施例中,构成区块链网络的节点的数目可以与图1中所示的不同。
区块链网络根据应用场景和设计体系的不同,一般分为公有链、联盟链和专有链。其中:
公有链的各个节点可以自由加入和退出网络,并参加链上数据的读写,运行时以扁平的拓扑结构互联互通,网络中不存在任何中心化的服务端节点。
联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入与退出网络。各机构组织组成利益相关的联盟,共同维护区块链的健康运转。
专有链的各个节点的写入权限收归内部控制,而读取权限可视需求有选择性地对外开放。专有链仍然具备区块链多节点运行的通用结构,适用于特定机构的内部数据管理与审计。
区块链技术不是单项的技术,而是作为点对点传输、共识机制、分布式数据存储和密码学原理集成应用的***,该***具有全公开和防篡改的技术特性。
第一、点对点传输:参与区块链的节点是独立的、对等的,节点与节点之间通过点对点传输技术实现数据和信息的同步。节点可以是不同的物理机器,也可以是云端不同的实例。
第二、共识机制:区块链的共识机制是指多方参与的节点在预设的逻辑规则下,通过节点间的交互实现各节点对特定数据和信息达成一致的过程。共识机制需要依赖于良好设计的算法,因此不同的共识机制性能(如:交易的吞吐量(Transaction Per Second,TPS)交易/秒、达成共识的时延、耗费的计算资源、耗费的传输资源等)存在一定的差异。
第三、分布式数据存储:区块链中的分布式存储是参与该区块链的节点各自都存有独立的、完整的数据,保证了数据存储在节点间全公开。与传统的分布式数据存储不同,传统的分布式数据存储按照一定规则将数据分成多份进行备份或同步存储,而区块链分布式数据存储则依赖于区块链中各地位对等的、独立的节点间的共识来实现高一致性的数据存储。
第四、密码学原理:区块链通常是基于非对称加密技术实现可信的信息传播、校验等。
其中“区块”的概念是将一条或多条数据记录以“块”的形式组织,“区块”的大小可以根据实际应用场景自定义;而“链”是一种数据结构,该数据结构将存储数据记录的“区块”按照时间顺序并以哈希(HASH)技术相连。在区块链中,每个“区块”包含“区块头”和“区块体”两个部分,其中“区块体”包含打包进“区块”的交易记录;“区块头”包含“区块”中所有交易的根HASH和前一“区块”的HASH。区块链的数据结构保证了区块链上存储的数据具有不可篡改的特性。
本申请中对于区块链的构成并不限制,例如,本申请可以应用于上述公有链、联盟链或专有链,本申请主要涉及的是区块链中的上述共识机制。下面首先介绍一下区块链中的共识机制。
区块链要成为一个难以攻破的、公开的、不可篡改数据记录的去中心化诚实可信***,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆,提供一个最坚实且去中心化的***。在实践中,该流程分为两个方面:
(1)、选择一个独特的节点来产生一个区块;
(2)、使分布式数据记录不可逆。
实现上述流程的技术核心就是:共识机制。共识机制是区块链节点就区块信息达成全网一致共识的机制,可以保证最新区块被准确添加至区块链、节点存储的区块链信息一致不分叉甚至可以抵御恶意攻击。
当前主流的共识机制包括:工作量证明、权益证明、工作量证明与权益证明混合、股份授权证明、瑞波共识协议等。
下面以工作量证明为例,结合图2简单介绍一下目前区块链中的共识机制。
图2是工作量证明的示意性流程图。该示意图包括S210-S240。
工作量证明的基本原理:工作量证明***主要特征是客户端(节点)需要做一定难度的工作得出一个结果,验证方却很容易通过结果来检查出客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中的,对于验证方则是易于验证的。它与验证码不同,验证码的设计出发点是易于被人类解决而不易被计算机解决。下面对S210-S240四个步骤进行详细的介绍。
S210,节点获取数据记录。
在区块链中,各个节点会监听全网数据记录,将通过基本合法性验证的数据记录进行暂存。
S220,节点计算目标值。
节点消耗自身计算能力尝试不同的随机数(Nonce),进行指定哈希计算,并不断重复该过程直至找到合理的随机数,例如,给定的一个基本的字符串″Hello,world!″,区块链网络给出的工作量要求是,可以在这个字符串后面添加一个叫做Nonce的整数值,对变更后(添加Nonce)的字符串进行SHA256哈希运算,如果得到的目标值是哈希结果(以16进制的形式表示)以″0000″开头的,则验证通过。为了达到这个工作量证明的目标,进行工作量证明计算的节点需要不停的变更Nonce值,对得到的新字符串进行SHA256哈希运算。按照这个规则,我们需要经过4251次计算才能找到恰好前4位为0的哈希散列。
S230,节点生成区块信息。
节点找到合理的随机数后,生成区块信息。生成区块信息包括:输入区块头信息,以及输入区块记录信息到生成的区块信息中。区块头信息包括版本号、上一区块的散列值等信息。区块记录信息包括交易列表附加在区块头信息后面。
S240,节点广播区块信息。
节点生成区块信息后,在区块链网络中将区块信息广播出去。区块链网络中的其他节点验证该区块信息通过后,将该区块信息连接至区块链中,主链高度加一,然后区块链网络中所有节点切换至新区块链后面继续进行工作量证明计算产生新的区块信息。
工作量证明体现在S220中,节点需要不断消耗计算能力,进行哈希计算,以找到期望的随机数。如果两个节点在同一时间广播区块信息,那么区块链网络中的节点将根据后续节点的区块信息生成情况来确定哪个区块构建最终区块链,置于如何选择本申请不做限制。
其工作量主要体现在:一个符合要求的区块随机数由N个前导零构成,零的个数取决于网络的难度值。要得到合理的随机数需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的随机数值,说明该节点确实经过了大量的尝试计算。
根据图2中所示的共识机制,各个节点需要通过比拼计算能力计算上述随机值,这是一个消耗资源的过程。随着区块链技术的演进,越来越多的机构开始重视并参与到区块链技术的探索中来。从最初的以比特币、以太坊等公有链项目开源社区,到各种类型的区块链创业公司、风险投资基金、金融机构、信息技术(Information Technology,IT)企业及监管机构,区块链的发展生态也在逐渐得到发展与丰富。在物联网上运用区块链技术时,由于物联网中设备本身对功耗非常敏感,所以上述工作量证明机制制约了区块链物联网的发展。针对上述问题,本申请提出一种能够降低资源消耗的共识机制。
图3是本申请实施例提供的一种数据处理方法示意图。该示意图包括S310和S320,下面对这两个步骤进行详细的描述。
S310,第一节点确定该第一节点的第一信用值。
可选地,第一节点根据当前所属的第一区块链网络中的共识认证记录,确定该第一节点的第一信用值,所述第一信用值为所述第一节点在第一时刻的信用值,第一时刻可以是当前计算信用值的时刻,也可以是在一个时间段内的任意一个时刻,在该时间段内第一节点的第一信用值大小一致。
可选地,在一些实施例中,第一节点确定第一信用值包括:第一节点根据当前所属的第一区块链网络中的共识机制的累加机制确定第一信用值的累加算法,再根据第一信用值的累加算法计算第一信用值。
可选地,在一些实施例中,第一节点根据第一节点认证的交易量的多少计算第一信用值。
可选地,在另一些实施例中,第一节点根据第一节点认证的交易费率确定第一节点可以累加的信用值,根据可以累加的信用值累加得到第一信用值。
可选地,第一节点依据上述认证的交易量的多少或者交易费率确定第一节点可以累加的信用值时,可以根据第一节点历史认证交易中,对高费用交易、中费用交易或者低费用交易的比重作为其累加计算信用值的权重,以鼓励区块链网络中的节点处理低费用的小交易。
例如,第一节点根据认证记录计算第一信用值时,在历史认证交易中,使认证高费用交易在累加计算第一信用值的权重为1/6,认证中费用交易在累加计算第一信用值的权重为1/3,认证低费用交易在累加计算第一信用值的权重为1/2,这样在根据历史认证交易计算信用值时,低费用交易占比较大可以鼓励节点处理低费用的小交易,因为这样在后续计算信用值时累加权重大。
应理解,上述第一节点根据认证记录计算第一信用值只是一种举例的形式,不能限制本申请的保护范围,其他能够确认第一信用值大小的方法也在本申请的保护范围之内。
可选地,第一节点确定第一信用值可以是周期性进行,也可以是区块链网络中规定各个节点计算信用值的时间,本申请对此并不限定。
S320,第一节点进行工作量证明计算。
在第一节点确定第一信用值之后,第一节点判断第一信用值与第一预设阈值的大小。
可选地,在一些实施例中,第一预设阈值可以是***规定的阈值。
可选地,在另一些实施例中,第一预设阈值可以是区块链网络中的各个节点约定的阈值。
可选的,在一些实施例中,该第一信用值大于该第一预设阈值。在此情况下,该第一节点基于第一目标值进行工作量证明计算,该第一目标值为对应于第一难度的目标值,其中,该第一难度小于基于该预设目标值进行工作量证明计算对应的第二难度。
例如,假设该第一信用值为11,该第一预设阈值为10,则该第一信用值大于该第一预设阈值。假设在该第一节点基于该预设目标值进行工作量证明计算的情况下,若该第一节点计算的哈希结果是以″0000″开头,则证明验证通过。以″0000″开头的哈希结果就是该预设目标值。那么,在该第一节点基于第一目标值进行工作量证明计算的情况下,若该第一节点计算的哈希结果是以″000″开头,则可以通过验证获得工作量证明。以“000”开头的结果就是该第一目标值。
可选地,第一节点基于第一目标值进行工作量计算证明计算之前,接收第一交易信息,所述第一交易信息中包含信用需求值信息,所述信用需求信息用于指示第一交易信息被区块链网络中节点进行共识确认所要求的信用值,其中,第一交易信息可以是整个区块链里包含的交易的数量,第一交易信息包括在区块链中的区块头里,第一节点能够根据区块头获取第一交易信息。
可选地,第一节点确定所述第一信用值大于或等于所述第一交易信息中包含的信用值,则所述第一节点可以与区块链网络中的其他节点竞争第一交易信息的共识确认权,并在获得共识确认权后在生成的区块中包含所述第一交易信息。
可选地,在一些实施例中,该第一信用值的小于或者等于该第一预设阈值。在此情况下,该第一节点基于预设目标值进行工作量证明计算,该预设目标值为对应于第二难度的目标值。
例如,假设该第一信用值为9,该第一预设阈值为10,则该第一信用值小于该第一预设阈值。假设在该第一节点基于该预设目标值进行工作量证明计算的情况下,若该第一节点计算的哈希结果是以″0000″开头,则证明验证通过。以″0000″开头的哈希结果就是该预设目标值。那么,在该第一节点基于预设目标值进行工作量证明计算的情况下,需要得到哈希结果是以″0000″开头,才可以通过验证获得工作量证明。
第一节点计算出以″0000″开头的哈希结果的难度要高于计算出以“000”开头的哈希结果的难度。因此,该第一节点基于第一目标值进行工作量证明计算的难度要低于第一节点基于该预设目标值进行工作量证明计算的难度。因此,第一节点基于第一目标值进行工作量证明计算的时候,计算的次数可以少于第一节点基于预设目标值进行工作量证明计算的次数。
可选地,在一些实施例中,第一节点基于第一目标值进行工作量证明计算之前,第一节点确定所述第一节点连续基于第一目标值进行工作量证明计算的次数小于N次,其中N为大于0的整数。
例如,在第一节点连续使用两次基于第一目标值进行工作量证明计算之后,***规定即使第一节点的第一信用值大于第一预设阈值值,第一节点再次基于第一目标值进行工作量证明计算获得共识确认权后广播的区块信息将不被区块链网络中的其他节点接受。
可选地,在另一些实施例中,第一节点基于第一目标值进行工作量证明计算之前,第一节点确定所述第一节点连续基于预设目标值进行工作量证明计算的次数大于M次,其中M为大于0的整数。
例如,在第一节点连续使用两次基于预设目标值进行工作量证明计算之后,第一节点的第一信用值大于第一预设阈值的情况下,第一节点可以基于第一目标值进行工作量证明计算获得共识确认权。
可选地,第一节点基于第一目标值进行工作量证明计算之前,第一节点确定Y个时间单位内第一节点基于预设目标值或第二目标值进行工作量证明计算,其中,基于第二目标值进行工作量证明计算的难度小于基于预设目标值进行工作量证明计算的难度且大于基于第一目标值进行工作量证明计算的难度,其中Y为大于0的整数。一个时间单位可以是1ms、0.5ms、2ms、5ms等,本申请实施例对时间单位的具体长度并不限制。例如,以1ms为一个时间单位,可以确定2ms内第一节点是基于预设目标值或第二目标值进行工作量证明计算之后第一节点可以基于第一目标值进行工作量证明计算。
例如,在第一节点连续两个时间单位内基于第一目标值进行工作量证明计算之后,***规定即使第一节点的第一信用值大于第一预设阈值,第一节点再次基于第一目标值进行工作量证明计算获得共识确认权后广播的区块信息将不被区块链网络中的其他节点接受。
具体地说,以图1中区块链网络为例节点130a已经连续两次,或者,连续两个时间单位内进行工作量证明计算的时候是得到的计算结果是一个前3位为0的哈希散列,节点130a进行工作量证明计算之后会生成区块信息并广播区块信息,那么,节点130a再次以得到的计算结果是一个前3位为0的哈希散列进行工作量证明计算并广播区块信息,图1中的其他节点(如图1所示的节点130b-节点130n)将不接受节点130a广播的区块信息。
可选地,为了使得第一节点不会连续基于第一目标值进行工作量证明计算,在第一节点第一次基于第一目标值进行工作量证明计算之后,将上述第一信用值减去一个相应的量,得到一个新的信用值。
可选的,在一些实施例中,所述相应的量的大小可以是区块链网络规定的预设的信用消耗值。
可选的,在一些实施例中,所述相应的量的大小可以是区块链网络中各个节点之间约定的预设的信用消耗值。
可选的,在一些实施例中,所述相应的量的大小可以是第一节点基于第一目标值进行工作量证明计算获得共识确认权时消耗的信用值。
可选的,第一节点可以将新的信用值的信息包括在广播的区块信息中,使得区块链网络中的其他节点能够得知第一节点新的信用值,第一节点再次进行工作量证明计算之前会判断新的信用值与第一预设阈值的大小,工作量证明计算与上述确定第一信用值之后的方法类似,这里不再赘述。
可选地,第一节点在获得共识确认权生成区块信息之后,将上述第一信用值在所属的区块链网络中广播,例如,在生成的区块信息中增加上述第一信用值。
可选地,在一些实施例中,所述第一节点在生成的区块信息中增加上述第一信用值可以是在每次获得共识确认权产生新区块信息时,都将信用值记录在新区块信息中,更新自己的信用值。
可选地,在一些实施例中,所述第一节点在生成的区块信息中增加上述第一信用值也可以是通过预设的控制机制,例如周期性或者满足信用值累加门限后再增加信用值,本申请对此不做限制。
第一节点将上述第一信用值广播之后,第一节点所属的区块链网络中其他节点会对第一节点广播的第一信用值进行共识认证,即判断第一节点是否能够基于第一信用值进行工作量证明,如果共识认证通过则全网节点接受第一节点基于第一信用值进行工作量证明生成的区块。
应理解,第一节点可以是图1中所示的区块链网络中的任意一个节点130,不能限制本申请的保护范围。
图4是本申请实施例提供的另一种数据处理方法示意图。该示意图包括S410-S420,下面对这两个步骤进行详细的描述。
S410,第一节点确定第三信用值以及第四信用值。
所述第一节点确定第三信用值,所述第三信用值为第二节点的信用值,其中,所述第二节点为所述区块链网络中的除所述第一节点之外的任意一个节点;
所述第一节点确定第四信用值,所述第四信用值为第三节点的信用值,其中,所述第三节点为所述区块链网络中的除所述第一节点和所述第二节点之外的任意一个节点。
S420,第一节点发送交易信息。
可选地,在一些实施例中,所述第一节点在确定所述第三信用值高于所述第四信用值的情况下,向所述第二节点发送交易信息,例如,第一节点确定第二节点的第三信用值为2,第一节点确定第三节点的第四信用值为1,则第一节点可以只向第二节点发送交易信息。
可选地,在一些实施例中,所述第一节点在确定所述第三信用值高于所述第四信用值的情况下,向所述第二节点发送交易信息,并在发送所述交易信息至所述第二节点之后,向所述第三节点发送所述交易信息,例如,第一节点确定第二节点的第三信用值为2,第一节点确定第三节点的第四信用值为1,则第一节点可以向第二节点发送交易信息之后再向第三节点发送交易信息。
图5是本申请实施例提供的另一种数据处理方法示意图。该示意图包括S510-S520,下面对这两个步骤进行详细的描述。
S510,第一节点向第二节点发送加入请求消息。
第一节点希望加入新的区块链(第二区块链网络)时,第一节点向第二节点发送加入请求消息,其中,该第一节点属于第一区块链网络,该第二节点属于第二区块链网络。
可选的,在一些实施例中,第一节点将上述加入请求消息发送至第二节点。
可选的,在一些实施例中,第一节点将上述加入请求消息发送至第二区块链网络中多个节点,第二节点获得所述加入请求消息的共识确认权。
可选的,在一些实施例中,第一节点将上述加入请求消息广播在第二节点所属的第二区块链网络中,第二节点获得所述加入请求消息的共识确认权。
可选地,在一些实施例中,第一节点将第一节点在第一区块链网络中(即第一节点当前所属区块链)的信用值增加在加入请求消息中。
可选的,在一些实施例中,第一节点在加入请求消息中提供第一节点当前的信用值所在第一区块链网络中区块信息。该区块信息供第二区块链中共识认证的第二节点进行第一节点信用值的查询。
可选的,在一些实施例中,第一节点在加入请求消息中提供第一节点当前的信用值所在信用统计区块链网络中区块信息。该区块信息供第二区块链中共识认证的第二节点进行第一节点信用值的查询。
可选的,在一些实施例中,在第一节点请求加入第二区块链网络时,第一节点可以向所述第二区块链网络支付加入请求消息费用。
可选地,在一些实施例中,第一节点支付上述费用的方式可以是在加入请求消息中包含所述费用,其中请求费用可以是实际的费用,也可以是间接费用,实际的费用可以是以多少比特币或者以太币作为交易费用,间接费用可以是在一定的时间内,当第一节点加入到第二区块链网络时,获得的认证费用的一部分按照一定的比例分给当时对加入请求消息进行共识认证的第二区块链网络中的认证节点。
S520,第二节点获取第一节点的信用值。
可选的,在一些实施例中,第一节点发送的加入请求消息中包括第一节点的信用值,第二节点可以在接收到所述加入请求消息时获取所述第一节点的信用值。
可选的,在另一些实施例中,第二节点根据加入请求消息中包括第一节点在所属第一区块链网络中的记录所述信用值的区块信息,向第一节点所属的第一区块链网络发送查询请求消息,第四节点可以向该第二节点发送查询响应信息,所述查询响应信息包括所述信用值,第二节点根据查询响应信息获取所述第一节点的信用值,该第四节点为该第一区块链网络中除该第一节点以外的任意一个节点。
可选的,在另一些实施例中,第二节点根据加入请求消息中包括第一节点在信用统计区块链网络中的记录所述信用值的区块信息,向信用统计区块链网络发送查询请求消息,信用统计区块链网络中第三节点发送查询响应信息,所述查询响应信息包括所述信用值,第二节点根据查询响应信息获取所述第一节点的信用值,该第三节点为该信用统计区块链网络中的任意一个节点。
可选地,第二节点在获取第一节点的信用值之前,获取第一节点的加入请求消息的共识确认权包括:
可选的,在一些实施例中,第一节点将上述加入请求消息广播在第二节点所属的第二区块链网络中,则第二区块链网络中的所有节点均会得知第一节点的加入请求消息。
可选地,在另一些实施例中,第一节点将上述加入请求消息发送至第二区块链网络中多个节点,则该多个节点均会得知第一节点的加入请求消息。
那么在第二区块链网络中的所有节点或多个节点都对第一节点的加入请求消息进行共识认证时,第二区块链中的所有节点或多个节点之间的认证竞争方式可以是依据图3所示的方法,信用值高的节点进行难度低的工作量证明计算,获得第一节点的加入请求消息认证,例如,在第二区块链中第二节点的当前信用值较高,获得第一节点的加入请求消息共识认证权。
可选的,在一些实施例中,该第二节点也可以无需竞争得到该共识认证权。例如,第一节点仅向第二节点发送加入请求消息,第二节点对该加入请求消息共识确认。
可选地,第二节点在对第一节点的加入请求消息的共识确认之后,第二节点向第一节点发送认证确认消息。
可选的,在一些实施例中,第二节点将认证确认消息发送至第一节点,确认第一节点可以加入第二节点所属的第二区块链网络。
可选的,在另一些实施例中,第二节点将认证确认消息广播在第二区块链网络中,第一节点在第二区块链网络中查询所述认证确认消息,确认加入第二区块链网络。
可选的,第二节点在完成认证第一节点的加入请求消息后,需要将该认证结果通知该第二区块链网络中的其他节点。
可选的,在一些实施例中,该第二节点可以将获取的第一节点的信用值添加在生成的区块信息中,并将区块信息广播在该第二区块链网络中。该第二区块链中的其他节点在确定接收到由第二节点广播的该区块信息的情况下,可以确定该第二节点已经完成对第一节点的认证。
可选的,在另一些实施例中,第二节点确定了第一节点的信用值,该信息输入在第二节点生成的区块信息中,广播出去。该第二区块链中的其他节点可以根据该区块信息,确定该第一节点加入该第二区块链网络可选地,可选的,在另一些实施例中,该第二区块链网络中可以有X个节点用于认证该第一节点的加入请求消息。该第二节点是该X该节点中的一个节点。
可选地,在一些实施例中,只有X个节点中的每个节点都发送认证确认消息,第一节点才能确认加入。
可选地,在另一些实施例中,第二区块链网络中的X个节点中的大于或等于特定比例(例如51%)的节点发送认证确认消息,第一节点才能够确认加入,其中,X为大于或等于1的整数。
可选地,在另一些实施例中,第二区块链网络中的X个节点中的几个节点依次确认,然后最后一个节点发送认证确认消息就好,例如假设第二区块链网络中存在3个节点,节点1确认能加入,然后节点2确认,节点2确认能加入,然后节点3确认,节点3确认能加入后由节点3发送认证确认消息就好。如果节点1确认不能加入,节点2都无需确认。
可选地,在另一些实施例中,上述认证确认消息可以是由上述第二区块链中的X个节点中的每个节点、第二区块链网络中的X个节点中的大部分节点或第二区块链网络中的X个节点中的几个节点依次确认,然后最后一个节点广播在第二区块链网络中,第一节点可以从第二区块链网络中查询得到认证确认消息。
可选地,在一些实施例中,认证确认消息可以是由上述第二区块链中的X个节点中的每个节点、第二区块链网络中的X个节点中的大部分节点或第二区块链网络中的X个节点中的几个节点依次确认,然后最后一个节点直接发送给第一节点。
可选地,第一节点获取到所述认证确认消息后,第一节点的加入请求消息认证成功,第一节点可以作为一个新的区块链节点加入上述第二区块链网络中,经过初始信用值计算后,第一节点确定当前自己在上述第二区块链中的初始信用值。
可选地,在一些实施例中,上述第一节点初始信用值计算可以是对X次共识认证中各个发送认证确认消息的节点提供的信用值进行平均或累加后确定的初始信用值。
可选地,第一节点根据初始信用值,确定是否可以降低Nonce值计算难度,以获得在第二区块链网络中区块共识确认权,具体地,第一节点可以根据图3提供的方法确定在所述第二区块链网络中的共识确认权,这里不再赘述。
可选地,在一些实施例中,第一节点可以在发送所述加入请求消息之后直接加入上述第二区块链网络。
图6是本申请实施例提供的另一种数据处理方法示意图。该示意图包括S610-S640,下面对这四个步骤进行详细的描述。
S610,第一节点向第二节点发送加入请求消息。
所述加入请求消息用于请求加入第二区块链网络,第二节点接收第一节点发送的加入请求消息。所述加入请求消息包括信用度信息,所述信用度信息用于指示所述第一节点在第一区块链网络中的信用值,其中所述第二节点为第二区块链网络中的一个节点,所述第一节点为第一区块链网络中的一个节点。所述第二节点根据所述信用度信息,获取所述第一节点在所述第一区块链网络中的信用值。
可选的,在一些实施例中,第一节点将上述加入请求消息发送至第二节点。
可选的,在一些实施例中,第一节点将上述加入请求消息广播在第二节点所属的第二区块链网络中,第二节点获得所述加入请求消息的共识确认权。
可选的,在一些实施例中,上述加入请求消息中包括所述第一节点在所属第一区块链网络中的信用值。
可选的,在另一些实施例中,上述加入请求消息中包括第一节点在所属第一区块链网络中的记录所述信用值的区块信息,第二节点可以根据所述目标区块信息向所述第一区块链网络发送查询请求消息,所述查询请求消息用于请求获取所述信用值。
S620,第一节点向第三节点发送信用统计信息。
所述信用统计信息用于计算所述第一节点的信用值。所述第三节点为信用统计区块链网络中的任意一个节点。
所述第三节点根据所述信用统计信息,确定所述第一节点的信用值。
例如,所述信用统计区块链可以要求所述第一节点提供一些信息,例如第一节点的交易费用,认证的区块个数,认证的区块中的交易个数等信息。所述第一节点可以将所述信用统计区块链的要求提供信息发送至所述信用统计区块链中的节点。所述信用统计区块链的要求提供信息即为所述信用统计信息。
可选的,在一些实施例中,所述第一节点可以定期地将所述信用统计信息发送至所述信用统计区块链中的节点。
可选的,在另一些实施例中,所述第一节点可以根据由事件触发将所述信用统计信息发送至所述信用统计区块链中的节点。
例如,所述第一节点在确定认证的交易增加超过一定个数的情况下,将所述信用统计信息发送至所述第三节点。又如,所述第一节点可以在获得共识确认权之后将所述信用统计信息发送至所述第三节点。又如,所述第一节点可以在确定所述第一节点的信用值高于一个预设阈值的情况下将所述信用统计信息发送至所述第三节点。
可选的,在一些实施例中,所述第一节点可以通过广播的方式将所述信用统计信息广播至所述信用统计区块链。
可选的,在另一些实施例中,所述第一节点可以直接向所述信用统计信息广播中的一个或多个节点发送所述信用统计信息,然后该一个或多个节点可以将在该信用统计区块链中广播该信用统计信息。
所述信用统计区块链中的接收到所述第一节点发送的所述信用统计信息的节点可以基于所述信用统计信息以及自身的信用值大小进行共识认证,以竞争所述信用统计信息的共识确认权,可选地,可以是图3中所示的工作量证明计算的方式竞争,这里不再赘述,例如,其中信用统计区块链中的所述第三节点为获得共识确认权的节点。
所述第三节点可以基于预设算法,根据所述信用度统计信息确定所述第一节点在所述信用统计区块链中的信用度,并进行共识认证和维护。该预设算法可以是经过所述信用统计区块链本身共识的一套累加机制,例如根据一个节点经过认证的交易量的数目确定该节点的信用度。又如,可以根据一个节点的交易费率确定该节点的信用度。
S630,第二节点向第三节点发送查询请求消息。
所述查询请求消息用于查询第一节点的信用值。第二区块链网络中的第二节点获得共识确认权,对第一节点的加入请求消息认证。
可选的,在一些实施例中,第一节点发送的加入请求消息中包括第一节点的信用值,第二节点可以在接收到所述加入请求消息时获取所述第一节点的信用值。
可选的,在另一些实施例中,第二节点根据加入请求消息中包括第一节点在所属第一区块链网络中的记录所述信用值的区块信息,向第一节点所属的第一区块链网络发送查询请求消息,第四节点可以向该第二节点发送查询响应信息,所述查询响应信息包括所述信用值,第二节点根据查询响应信息获取所述第一节点的信用值,该第四节点为该第一区块链网络中除该第一节点以外的任意一个节点。
可选的,在另一些实施例中,第二节点根据加入请求消息中包括第一节点在信用统计区块链网络中的记录所述信用值的区块信息,向信用统计区块链网络发送查询请求消息,信用统计区块链网络中第三节点发送查询响应信息,所述查询响应信息包括所述信用值,第二节点根据查询响应信息获取所述第一节点的信用值,该第三节点为该信用统计区块链网络中的任意一个节点。
可选的,在一些实施例中,所述第二节点可以向所述信用统计区块链或第一区块链网络支付查询费用。所述第二节点在查询到第一节点的信用度的情况下,对第一节点的加入请求消息进行确认,并在新广播的区块中增加认证通过第一节点加入请求消息的指示信息。
可选地,第二节点发送查询请求消息可以是在信用统计区块链网络或第一区块链网络中广播出去,然后信用统计区块链网络或第一区块链网络中的节点对查询请求消息进行共识认证,例如,信用统计区块链网络或第一区块链网络中的第三节点获得第二节点发送查询请求消息的共识确认权。
可选地,第三节点将第一节点的当前信用值信息直接发送给第二节点,或者第三节点将第一节点的当前信用值信息广播出去,第二节点在信用统计区块链网络第一区块链网络中查询获得第一节点的当前信用值。
所述第二节点通过上述三个步骤(接收所述第一节点发送加入请求消息,向所述第三节点发送查询请求消息,接收所述第三节点发送的所述第一节点的当前信用值)可以完成一次共识认证过程。
可选的,在一些实施例中,所述第一节点可以与所述第二区块链网络中的其他节点也进行上述共识认证过程。所述第一节点可以与所述第二区块链中的节点共进行X次共识认证过程。可以理解的是,该X次共识认证过程是由所述第二区块链中的X个不同的节点完成的。
S640,第一节点获取认证确认消息。
可选的,在一些实施例中,所述第二节点向所述第一节点发送认证确认消息。所述加入确认消息用于确认所述第一节点能够加入所述区块链网络。
可选的,在另一些实施例中,所述第二节点将所述认证确认消息广播在第二节点所属的第二区块链网络中。第一节点可以在所述第二区块链网络中查询所述认证确认消息。
可选的,在一些实施例中,在所述第一节点与所述第二区块链中的X个节点进行X次共识认证的情况下,向所述第一节点发送确认消息的节点是最后一次进行共识认证的节点。显然,图6所示的实施例中将所述第二节点作为在进行X次共识认证的情况下的最后一次共识认证的节点。
可选的,在另一些实施例中,若所述第一节点仅与所述第二区块链网络中的一个节点进行共识认证,则所述认证确认消息就是由进行共识认证的节点发送的。
可选的,第一节点可以定期对自己在新旧两个区块链中的交易认证记录进行统计,并发送到信用统计区块链中进行信用度的确认和记录。
可选地,当某个节点在区块链网络中发送交易数据进行区块链认证时,该节点可以在交易数据中协助带“信用值”需求指示,指示相关交易被区块链网络节点进行认证的信用值要求。
图7是本申请实施例提供的另一种数据处理方法示意图。该示意图包括S710-S720,下面对这两个步骤进行详细的描述。
S710,区块链网络确定多个节点的信用值。
可选地,在一些实施例中,区块链网络确定多个节点的信用值,包括:第一节点获取区块链网络中的N个节点的信用值,其中所述第一节点为所述区块链网络中的任意一个节点,其中,所述N个节点的信用值为第一节点分别获取的信用值,所述N为正整数。例如,所述区块链网络中有10个节点,第一节点获取得到10个节点中5个节点的信用值分别为1、2、3、4、5。该第一节点是该区块链网络中的任一个节点。换句话说,该区块链网络中的任一个节点都需要执行该第一节点执行的动作。
可选地,在另一些实施例中,区块链网络确定多个节点的信用值,包括:该区块链网络中的M个节点获取区块链网络中的N个节点的信用值,其中所述M节点为所述区块链网络中的任意M个节点,其中,所述N个节点的信用值为M个节点获取的M次信用值的平均值,或者,所述N个节点的信用值为M个节点获取的M次信用值的最大值,所M、N为正整数。例如,所述区块链网络中有10个节点,第一节点获取得到10个节点中5个节点的信用值分别为1、2、3、4、5,第二节点获取得到10个节点中该5个节点的信用值分别为2、3、4、5、6,则该5个节点的信用值分别为1.5、2.5、3.5、4.5、5.5或者则该5个节点的信用值分别为2、3、4、5、6。
应理解,上述10个节点中5个节点的形式是一种举例的形式,根据上述方法可以获取区块链网络中的所有节点的信用值。
S720,确定工作量证明计算算法。
可选地,区块链网络中的所有节点当前的信用值大小均大于第一预设阈值,其中,该所有节点的信用值可以是在S710中确定的,则区块链网络确定第一信用值大于第一预设阈值,例如,所述区块链网络中有10个节点,并且10个节点当前信用值大小均大于第一预设阈值,所述区块链网络确定第一信用值大于第一预设阈值。
可选地,区块链网络中的部分节点当前的信用值大小均大于第一预设阈值,其中,该部分节点的信用值可以是在S710中确定的,则区块链网络确定第一信用值大于第一预设阈值,其中,部分节点可以是***规定的超过一半的节点,例如,所述区块链网络中有10个节点,其中6个节点当前信用值大小均大于第一预设阈值,所述区块链网络确定第一信用值大于第一预设阈值。
可选地,区块链网络中的节点当前信用值大第一预设阈值的节点数目与所述区块链网络中的全部节点数目的比值大于第三预设值的情况下,区块链网络确定第一信用值大于第一预设阈值,例如,所述区块链网络中有10个节点,其中6个节点当前信用值大小均大于第一预设阈值,上述比值为0.6,可以确定当上述比值大于0.5时确定第一信用值大于第一预设阈值。
可选的,在一些实施例中,当区块链网络确定第一信用值大于第一预设阈值时,可选地,可以执行全网工作量证明计算算法复杂度的一次降低。
可选的,在另一些实施例中,当区块链网络确定第一信用值大于第一预设阈值时,只允许信用度高于第一预设阈值的节点可以执行全网工作量证明计算算法复杂度的一次降低。待后续难度恢复后区块链网络开始接纳新的低信用度节点的参与。
应理解,图3至图7中的第一节点可以是同一个节点或者区块链网络中的一个节点能执行图3至图7中的第一节点的动作。
图8示出了本申请实施例的数据处理装置500的示意性框图。图8所示的装置可以应用于区块链网络,所述区块链网络可以包括多个装置500,所述区块链网络中的各个节点可以由一个或者多个所述装置500组成,所述装置500包括:发送模块501、接收模块502和处理模块503。
发送模块501,用于发送信息。
例如,用于第一节点向第二节点所属的区块链网络发送加入请求消息,或者,用于第一节点向信用统计区块链网络发送信用统计信息,或者,用于第二节点向信用统计区块链网络发送查询请求信息,或者,用于第二节点向第一节点发送/在所属的区块链网络广播认证确认消息,或者,用于第三节点向第二节点发送/在所属的信用统计区块链网络广播查询反馈信息。
接收模块502,用于接收信息。
例如,用于第一节点接收/在区块链网络中查询认证确认消息,或者,用于第二节点接收/在区块链网络中查询查询反馈信息,或者,用于第三节点接收/在信用统计区块链网络中查询第一节点的信用统计信息,或者,用于第三节点接收/在信用统计区块链网络中查询第二节点发送查询请求消息。
处理模块503,包括确定单元、计算单元、生成单元等用于处理信息。
例如,确定单元,用于第一节点确定第一节点的第一信用值,或者,用于第一节点确定所属的区块链网络中其他节点的信用值,或者,用于第一节点确定所述第一信用值大于或等于所述第一交易信息中包含的信用值,或者,用于第一节点确定在基于第一目标值进行工作量证明计算之后的N个区块/Y个时间单位内的共识确认权的竞争中不再基于第一目标值进行工作量证明计算;用于第二节点根据第一节点发送的信用度信息确定第一节点的信用值。用于第三节点根据第一节点发送的信用统计信息,确定所述第一节点的信用值。
例如,计算单元,用于第一节点在所述第一信用值大于第一预设阈值的情况下,基于第一目标值进行工作量证明计算或者在所述第二信用值小于或等于所述第一预设阈值的情况下,所述第一节点基于所述预设目标值进行工作量证明计算,或者,用于第二节点或第三节点进行工作量证明计算。
例如,生成单元,用于第一节点、第二节点或第三节点生成新的区块信息,广播到所属的区块链网络中。
图9示出了本申请实施例的数据处理装置600的示意性框图。如图9所示的装置600可以包括处理单元601和通信单元602。
可选的,在一些实施例中,装置600可以是上述处理方法描述的第一节点,例如,装置600可以被配置为该第一节点。又如,装置600本身即为该第一节点。又如,该第一节点可以配置于装置600。装置600可以执行如上述方法中第一节点所执行的各动作或处理过程。这里,为了避免赘述,省略其详细说明。
可选的,在另一些实施例中,装置600可以是上述处理方法描述的第一节点,例如,装置600可以被配置为该第二节点。又如,装置600本身即为该第二节点。又如,该第二节点可以配置于装置600。装置600可以执行如上述方法中第二节点所执行的各动作或处理过程。这里,为了避免赘述,省略其详细说明。
装置600可以是上述处理方法描述的第三节点,例如,装置600可以被配置为该第一节点。又如,装置600本身即为该第三节点。又如,该第一节点可以配置于装置600。装置600可以执行如上述方法中第三节点所执行的各动作或处理过程。这里,为了避免赘述,省略其详细说明。
可选地,该装置600还包括存储单元,存储单元与处理单元通信连接。下面结合图10进一步说明本申请实施例的数据处理装置。
图10是根据本申请实施例提供的另一数据处理装置的结构框图。如图10所示的数据处理装置700包括存储器701和处理器702。
存储器701,用于存储程序。
处理器702,用于执行存储器701存储的程序,当程序被执行时,使得交换设备700可以实现上述图2-图7实施例提供的方法。
利用交换设备700可以将图2-图7所示的方法中的部分或全部通过软件来实现。
存储器701可以是物理上独立的单元,也可以与处理器702集成在一起。
可选的,当图2-图7所示的方法中的部分或全部通过软件实现时,交换设备700也可以只包括处理器702。用于存储程序的存储器701位于装置700之外,处理器702通过电路/电线与存储器701连接,用于读取并执行存储器701中存储的程序。
处理器702可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器701可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器701也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器701还可以包括上述种类的存储器的组合。
本申请的又一方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述如图3-图8所示的方法中第一节点执行的各个步骤。
本申请的又一方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述如图4-图6所示的方法中第二节点执行的各个步骤。
本申请的又一方面提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行上述如图6所示的方法中第三节点执行的各个步骤。
本申请的又一方面提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如图3-图7所示的方法中第一节点执行的各个步骤。
本申请的又一方面提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如图4-图6所示的方法中第二节点执行的各个步骤。
本申请的又一方面提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如图6所示的方法中第三节点执行的各个步骤。
应注意,上述方法实施例可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种处理数据的方法,其特征在于,所述方法包括:
第一节点确定所述第一节点的第一信用值,其中所述第一节点为区块链网络中的一个节点;
所述第一节点在确定所述第一信用值大于第一预设阈值的情况下,基于第一目标值进行工作量证明计算,所述第一目标值为对应于第一难度的目标值,其中,所述第一难度小于基于预设目标值进行工作量证明计算对应的第二难度。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点确定第一节点的第二信用值;
所述第一节点在确定所述第二信用值小于或等于所述第一预设阈值的情况下,基于所述预设目标值进行工作量证明计算。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一节点确定第三信用值,所述第三信用值为第二节点的信用值,其中,所述第二节点为所述区块链网络中的除所述第一节点之外的任意一个节点;
所述第一节点确定第四信用值,所述第四信用值为第三节点的信用值,其中,所述第三节点为所述区块链网络中的除所述第一节点和所述第二节点之外的任意一个节点;
所述第一节点在确定所述第三信用值高于所述第四信用值的情况下,向所述第二节点发送交易信息。
4.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一节点确定第三信用值,所述第三信用值为第二节点的信用值,其中,所述第二节点为所述区块链网络中的除所述第一节点之外的任意一个节点;
所述第一节点确定第四信用值,所述第四信用值为第三节点的信用值,其中,所述第三节点为所述区块链网络中的除所述第一节点和所述第二节点之外的任意一个节点;
所述第一节点在确定所述第三信用值高于所述第四信用值的情况下,向所述第二节点发送交易信息,并在发送所述交易信息至所述第二节点之后,向所述第三节点发送所述交易信息。
5.如权利要求1或2所述的方法,其特征在于,在所述第一节点确定第一信用值之前,所述方法还包括:
所述第一节点向所述区块链网络中的X个节点发送加入请求消息,所述加入请求消息包括信用度信息,所述信用度信息用于指示所述第一节点的最新信用值,其中,X为大于或等于1的整数。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一节点接收所述X个节点中的至少一个节点发出的认证确认消息并加入所述区块链网络,所述认证确认消息用于指示所述第一节点能够加入所述区块链网络;或者,
所述第一节点从所述区块链网络中查询所述认证确认消息并加入所述区块链网络,所述认证确认消息用于确认所述第一节点能够加入所述区块链网络。
7.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一节点向信用统计区块链网络中的节点发送信用统计信息。
8.如权利要求1或2所述的方法,其特征在于,所述第一节点基于第一目标值进行工作量证明计算,包括:
所述第一节点基于第一目标值进行工作量证明计算获得共识确认权;
所述第一节点生成目标区块。
9.如权利要求8所述的方法,其特征在于,所述目标区块包括第五信用值,所述第五信用值为所述第一信用值与预设的信用消耗值之差。
10.如权利要求9所述的方法,其特征在于,所述预设的信用消耗值为预设的所述第一节点基于第一目标值进行工作量证明计算获得共识确认权时消耗的信用值。
11.如权利要求8所述的方法,其特征在于,所述目标区块还包括高度差,所述高度差用于指示所述第一节点上一次基于所述第一目标值获得所述共识确认权的区块与当次基于所述第一目标值获得共识确认权的区块之间的区块高度差。
12.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一节点接收所述区块链网络中的第一交易信息,所述第一交易信息中包含信用需求值信息,所述信用需求信息用于指示所述第一交易信息被所述区块链节点进行共识确认所要求的信用值。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
所述第一节点确定所述第一信用值大于或等于所述第一交易信息被所述区块链节点进行共识确认所要求的信用值;
所述第一节点确定在生成的区块中包含所述第一交易信息。
14.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的N个区块的共识确认权的竞争中不再基于第一目标值进行工作量证明计算;或者,
所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的Y个时间单位内的区块的共识确认权的竞争中不再基于第一目标值进行工作量证明计算;或者,
所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的N个区块的共识确认权的竞争中基于预设目标值或第二目标值进行工作量证明计算,所述第二目标值为对应于第三难度的目标值,所述第三难度小于第二难度且大于第一难度;或者,
所述第一节点基于第一目标值进行工作量证明计算获得共识确认权后,所述第一节点确定在之后的Y个时间单位内的共识确认权的竞争中基于所述预设目标值或所述第二目标值进行工作量证明计算;其中,所述N和所述Y为正整数。
15.一种处理数据的装置,其特征在于,所述装置为区块链网络中的第一节点,所述装置包括:收发单元和处理单元;
所述处理单元,用于确定所述第一节点的第一信用值,其中所述第一节点为区块链网络中的一个节点;
在确定所述第一信用值大于第一预设阈值的情况下,所述处理单元,还用于基于第一目标值进行工作量证明计算,所述第一目标值为对应于第一难度的目标值,其中,所述第一难度小于基于预设目标值进行工作量证明计算对应的第二难度。
16.如权利要求15所述的装置,其特征在于,
所述处理单元,还用于确定所述第一节点的第二信用值;
在确定所述第二信用值小于或等于所述第一预设阈值的情况下,所述处理单元,还用于基于所述预设目标值进行工作量证明计算。
17.如权利要求15或16所述的装置,其特征在于,
所述处理单元,还用于确定第三信用值,所述第三信用值为第二节点的信用值,其中,所述第二节点为所述区块链网络中的除所述第一节点之外的任意一个节点;
所述处理单元,还用于确定第四信用值,所述第四信用值为第三节点的信用值,其中,所述第三节点为所述区块链网络中的除所述第一节点和所述第二节点之外的任意一个节点;
在确定所述第三信用值高于所述第四信用值的情况下,所述收发单元,用于向所述第二节点发送交易信息。
18.如权利要求15或16所述的装置,其特征在于,
所述处理单元,还用于确定第三信用值,所述第三信用值为第二节点的信用值,其中,所述第二节点为所述区块链网络中的除所述第一节点之外的任意一个节点;
所述处理单元,还用于确定第四信用值,所述第四信用值为第三节点的信用值,其中,所述第三节点为所述区块链网络中的除所述第一节点和所述第二节点之外的任意一个节点;
在确定所述第三信用值高于所述第四信用值的情况下,所述收发单元,用于向所述第二节点发送交易信息,并在发送所述交易信息至所述第二节点之后,用于向所述第三节点发送所述交易信息。
19.如权利要求15或16所述的装置,其特征在于,
在所述处理单元确定第一信用值之前,所述收发单元,还用于向所述区块链网络中的X个节点发送加入请求消息,所述加入请求消息包括信用度信息,所述信用度信息用于指示所述第一节点的最新信用值,其中,X为大于或等于1的整数。
20.如权利要求19所述的装置,其特征在于,
所述收发单元,还用于接收所述X个节点中的至少一个节点发出的认证确认消息并加入所述区块链网络,所述认证确认消息用于指示所述第一节点能够加入所述区块链网络;或者,
所述处理单元,还用于从所述区块链网络中查询所述认证确认消息并加入所述区块链网络,所述认证确认消息用于确认所述第一节点能够加入所述区块链网络。
21.如权利要求15或16所述的装置,其特征在于,
所述收发单元,还用于向信用统计区块链网络中的节点发送信用统计信息。
22.如权利要求15或16所述的装置,其特征在于,所述处理单元,还用于基于第一目标值进行工作量证明计算,包括:
所述处理单元基于第一目标值进行工作量证明计算获得共识确认权;
所述处理单元生成目标区块。
23.如权利要求22所述的装置,其特征在于,
所述目标区块包括第五信用值,所述第五信用值为所述第一信用值与预设的信用消耗值之差。
24.如权利要求23所述的装置,其特征在于,
所述预设的信用消耗值为预设的所述处理单元基于第一目标值进行工作量证明计算获得共识确认权时消耗的信用值。
25.如权利要求22所述的装置,其特征在于,
所述目标区块还包括高度差,所述高度差用于指示所述处理单元上一次基于所述第一目标值获得所述共识确认权的区块与当次基于所述第一目标值获得共识确认权的区块之间的区块高度差。
26.如权利要求15或16所述的装置,其特征在于,
所述收发单元,还用于接收所述区块链网络中的第一交易信息,所述第一交易信息中包含信用需求值信息,所述信用需求信息用于指示所述第一交易信息被所述区块链节点进行共识确认所要求的信用值。
27.如权利要求26所述的装置,其特征在于,
所述处理单元,还用于确定所述第一信用值大于或等于所述第一交易信息被所述区块链节点进行共识确认所要求的信用值;
所述处理单元,还用于确定在生成的区块中包含所述第一交易信息。
28.如权利要求15或16所述的装置,其特征在于,
所述处理单元基于第一目标值进行工作量证明计算获得共识确认权后,所述处理单元,还用于确定在之后的N个区块的共识确认权的竞争中不再基于第一目标值进行工作量证明计算;或者,
所述处理单元基于第一目标值进行工作量证明计算获得共识确认权后,所述处理单元,还用于确定在之后的Y个时间单位内的区块的共识确认权的竞争中不再基于第一目标值进行工作量证明计算;或者,
所述处理单元基于第一目标值进行工作量证明计算获得共识确认权后,所述处理单元,还用于确定在之后的N个区块的共识确认权的竞争中基于预设目标值或第二目标值进行工作量证明计算,所述第二目标值为对应于第三难度的目标值,所述第三难度小于第二难度且大于第一难度;或者,
所述处理单元基于第一目标值进行工作量证明计算获得共识确认权后,所述处理单元,还用于确定在之后的Y个时间单位内的共识确认权的竞争中基于所述预设目标值或所述第二目标值进行工作量证明计算;其中,所述N和所述Y为正整数。
29.一种处理数据的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,以使得所述设备执行如权利要求1至14中任一项所述的处理数据的方法。
30.一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得所述计算机执行如权利要求1至14中任一项所述的处理数据的方法。
CN201880089370.3A 2018-02-14 2018-02-14 处理数据的方法、处理数据的装置和处理数据的设备 Active CN111713088B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/076882 WO2019157740A1 (zh) 2018-02-14 2018-02-14 处理数据的方法、处理数据的装置和处理数据的设备

Publications (2)

Publication Number Publication Date
CN111713088A CN111713088A (zh) 2020-09-25
CN111713088B true CN111713088B (zh) 2022-03-01

Family

ID=67619109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880089370.3A Active CN111713088B (zh) 2018-02-14 2018-02-14 处理数据的方法、处理数据的装置和处理数据的设备

Country Status (2)

Country Link
CN (1) CN111713088B (zh)
WO (1) WO2019157740A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111127144A (zh) * 2019-12-16 2020-05-08 中国联合网络通信集团有限公司 用户信用评价方法、设备和存储介质
CN111242718B (zh) * 2019-12-18 2024-01-19 深圳大学 基于区块链的数据交易方法、装置、设备及介质
CN111199504B (zh) * 2019-12-29 2023-09-26 杭州拓深科技有限公司 一种基于区块链的去中心化消防维保监管方法
CN113127560A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种竞争记账的方法及装置
CN112632610A (zh) * 2020-12-28 2021-04-09 杭州趣链科技有限公司 一种隐私数据处理方法、装置及***
CN114867016A (zh) * 2021-02-03 2022-08-05 北京邮电大学 一种节点认证方法、***及装置
CN112954037A (zh) * 2021-02-03 2021-06-11 中国互联网络信息中心 一种基于联盟链的域名滥用处理方法及***
CN112988893B (zh) * 2021-03-15 2023-05-12 中国联合网络通信集团有限公司 基于区块链的信息管理方法、***、区块链节点及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488722A (zh) * 2015-11-30 2016-04-13 布比(北京)网络技术有限公司 基于衍生链的资产数据处理方法及装置
CN106453286A (zh) * 2016-09-27 2017-02-22 北京天德科技有限公司 一种基于区块链的信誉方法和***
CN106651346A (zh) * 2016-11-28 2017-05-10 上海凯岸信息科技有限公司 基于区块链的征信数据共享与交易***
CN106878396A (zh) * 2017-01-19 2017-06-20 布比(北京)网络技术有限公司 贸易信息的处理方法、装置和***
CN107067242A (zh) * 2017-03-24 2017-08-18 钱德君 一种区块链生成过程中难度值创建方法
CN107146152A (zh) * 2017-03-28 2017-09-08 杭州象链网络技术有限公司 一种基于区块链记账的信用管理机制
CN107395403A (zh) * 2017-07-07 2017-11-24 北京区块链云科技有限公司 一种适用于大规模电子商务的基于信用的区块链共识方法
CN107438003A (zh) * 2016-05-27 2017-12-05 索尼公司 电子设备、用于电子设备的方法和信息处理***
CN107679976A (zh) * 2017-09-28 2018-02-09 电子科技大学 一种基于区块链的拍卖方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162954B2 (en) * 2014-02-04 2018-12-25 Lenovo (Singapore) Pte. Ltd. Biometric account card
US10007913B2 (en) * 2015-05-05 2018-06-26 ShoCard, Inc. Identity management service using a blockchain providing identity transactions between devices
US10304143B2 (en) * 2016-05-05 2019-05-28 Lance Timothy Kasper Consensus system for manipulation resistant digital record keeping

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488722A (zh) * 2015-11-30 2016-04-13 布比(北京)网络技术有限公司 基于衍生链的资产数据处理方法及装置
CN107438003A (zh) * 2016-05-27 2017-12-05 索尼公司 电子设备、用于电子设备的方法和信息处理***
CN106453286A (zh) * 2016-09-27 2017-02-22 北京天德科技有限公司 一种基于区块链的信誉方法和***
CN106651346A (zh) * 2016-11-28 2017-05-10 上海凯岸信息科技有限公司 基于区块链的征信数据共享与交易***
CN106878396A (zh) * 2017-01-19 2017-06-20 布比(北京)网络技术有限公司 贸易信息的处理方法、装置和***
CN107067242A (zh) * 2017-03-24 2017-08-18 钱德君 一种区块链生成过程中难度值创建方法
CN107146152A (zh) * 2017-03-28 2017-09-08 杭州象链网络技术有限公司 一种基于区块链记账的信用管理机制
CN107395403A (zh) * 2017-07-07 2017-11-24 北京区块链云科技有限公司 一种适用于大规模电子商务的基于信用的区块链共识方法
CN107679976A (zh) * 2017-09-28 2018-02-09 电子科技大学 一种基于区块链的拍卖方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Personal Archive Service System using Blockchain Technology: Case Study, Promising and Challenging";Zhixong Chen;Yixuan Zhu;《2017 IEEE International Conference on AI & Mobile Services (AIMS)》;20171230;全文 *

Also Published As

Publication number Publication date
CN111713088A (zh) 2020-09-25
WO2019157740A1 (zh) 2019-08-22

Similar Documents

Publication Publication Date Title
CN111713088B (zh) 处理数据的方法、处理数据的装置和处理数据的设备
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
US9961050B2 (en) Manicoding for communication verification
De Oliveira et al. Towards a blockchain-based secure electronic medical record for healthcare applications
CN112492006A (zh) 一种基于区块链的节点管理方法和装置
Ferrer-Gomila et al. A fair contract signing protocol with blockchain support
Jia et al. A2 chain: a blockchain‐based decentralized authentication scheme for 5G‐enabled IoT
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
US10482078B2 (en) Methods and devices for handling hash-tree based data signatures
CN112235420B (zh) 基于区块链的数据同步方法、***及相关设备
TWI717927B (zh) 具有運算池之混合區塊鏈架構
CN110945831B (zh) 抗Sybil攻击身份的生成
CN109300038B (zh) 一种资源流的交易***
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
CN112600678A (zh) 一种数据处理方法、装置、设备及存储介质
CN108768672B (zh) 数据处理方法、装置及存储介质
CN114391241A (zh) 具有可调整法定数量的区块链分片
Zafar et al. Integration of blockchain and Internet of Things: Challenges and solutions
Le et al. A lightweight block validation method for resource-constrained iot devices in blockchain-based applications
CN112235301A (zh) 访问权限的验证方法、装置和电子设备
US20240179019A1 (en) Consensus result synchronization across algorithms of different fault tolerance types
CN111385096B (zh) 一种区块链网络***、签名处理方法、终端及存储介质
Rafati Niya et al. Architectures for Blockchain‐IoT Integration
WO2021233109A1 (zh) 基于区块链的消息处理方法、装置、设备以及存储介质
Diallo et al. Toward scalable blockchain for data management in VANETs

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