CN113052596B - 基于区块链的出块方法、装置、设备和介质 - Google Patents

基于区块链的出块方法、装置、设备和介质 Download PDF

Info

Publication number
CN113052596B
CN113052596B CN201911384413.3A CN201911384413A CN113052596B CN 113052596 B CN113052596 B CN 113052596B CN 201911384413 A CN201911384413 A CN 201911384413A CN 113052596 B CN113052596 B CN 113052596B
Authority
CN
China
Prior art keywords
block
preset
period
encryption result
encryption
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
CN201911384413.3A
Other languages
English (en)
Other versions
CN113052596A (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.)
China Mobile Communications Group Co Ltd
China Mobile Chengdu ICT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Chengdu ICT 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 China Mobile Communications Group Co Ltd, China Mobile Chengdu ICT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201911384413.3A priority Critical patent/CN113052596B/zh
Publication of CN113052596A publication Critical patent/CN113052596A/zh
Application granted granted Critical
Publication of CN113052596B publication Critical patent/CN113052596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于区块链的出块方法、装置、设备和介质。该方法包括:在基于PoW算法从区块链网络的区块节点中选取加密结果最先满足预设第一出块条件的第一区块的过程中,获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;将区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块。根据本发明实施例提供的基于区块链的出块方法、装置、设备和介质,可以提高出块速率。

Description

基于区块链的出块方法、装置、设备和介质
技术领域
本发明涉及区块链领域,尤其涉及基于区块链的出块方法、装置、设备和介质。
背景技术
区块链技术被视为继云计算、物联网、大数据之后的又一项颠覆性技术,受到各行各业的高度关注。
在出块过程中,区块链的多个节点基于共识机制选出一个用于存储数据交易的节点。然而,现有的共识机制出块效率较低。
发明内容
本发明实施例提供的基于区块链的出块方法、装置、设备和介质,可以提高出块速率。
第一方面,提供一种基于区块链的出块方法,包括:在基于工作量证明PoW算法从区块链网络的区块节点中选取加密结果最先满足预设第一出块条件的第一区块的过程中,获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;将区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块;其中,预设第一出块条件包括加密结果的前K个数据为预设值,预设第二出块条件包括加密结果的一端的连续M个数值为预设值,M为小于K的正整数,第二区块的出块周期m小于第一区块的出块周期k。
根据本发明实施例提供的基于区块链的出块方法,区块链可以多次对第一区块数据进行加密运算,并将计算得到的加密结果最先满足第二出块条件的区块节点选取为第二区块。由于第二区块对应的第二出块条件包括加密结果的一端的连续M个数值为预设值,相较于第一区块对应的第一出块条件,M小于K。并且,第二区块的出块周期m小于第一区块的出块周期k,简化了出块的难易程度,提高了出块速率。
在一种可选的实施方式中,第二区块配置有以第二区块的出块时刻为起始时刻的有效期。
在一种可选的实施方式中,获取在产生第一区块的出块周期k内产生的第二区块;按照预设的选择策略,从产生第一区块的出块周期k内产生的第二区块中选择N个第二区块作为第一区块的相关区块。
通过本实施例,可以建立第一区块和第二区块间的联系,将第一区块的相关区块的有效期作为第一区块的有效期,能够防止区块节点私藏第一区块。
在一种可选的实施方式中,预设的选择策略包括:按照出块时刻从早到晚的次序,选择N个第二区块;或者,从与第一区块的出块时间差不超过预设时刻的第二区块中选出N个第二区块。
通过本示例,可以从在第一区块的出块周期m内产生的第二区块中选择合适的第二区块作为第一区块的相关区块,减小了计算量,并保证了选择的合理性。
在一种可选的实施方式中,方法还包括:在区块链网络的除第一区块之外的区块节点对第一区块进行验证的过程中,判断第一区块的相关区块是否超出第一区块的相关区块的有效期;若判断结果是未超出,则第一区块验证通过;若判断结果是已超出,则第一区块验证失败。
在一种可选的实施方式中,区块链网络中的每一区块节点的第一区块数据均还包括:每一区块节点的前一区块节点的哈希指针,表征当前时间的时间戳和每一区块节点的梅克尔根。
通过本示例,可以通过前一区块节点的哈希指针、时间戳、梅克尔根、第一预设难度值和第一随机数作为考核各节点算力的依据,使共识机制更合理。
在一种可选的实施方式中,方法还包括:通过调整第一难度系数和M的取值,以使第二区块的出块周期达到m。
通过本示例,可以对第二区块的出块周期和出块难以程度作灵活的调整。
在一种可选的实施方式中,方法还包括:将在第一区块的出块周期k内产生的交易数据分散存储于第一区块和在第一区块的出块周期k内产生的第二区块内。
通过本实施例,可以有效的平衡各区块节点的存储压力。
第二方面,提供一种基于区块链的出块方法,包括:获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;将区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块;其中,若基于PoW算法从区块链网络的区块节点中选取加密结果的前K个数据最先为预设值的第一区块,预设第二出块条件包括加密结果的后M个连续的数值为预设值,M为小于K的正整数,第二区块的出块周期m小于第一区块的出块周期k。
根据本发明实施例提供的基于区块链的出块方法,区块链可以多次对第一区块数据进行加密运算,并将计算得到的加密结果最先满足第二出块条件的区块节点选取为第二区块。由于第二区块对应的第二出块条件包括加密结果的一端的连续M个数值为预设值,相较于第一区块对应的第一出块条件,M小于K。并且,第二区块的出块周期m小于第一区块的出块周期k,简化了出块的难易程度,提高了出块速率。
第三方面,提供一种基于区块链的出块装置,包括:第一计算模块,用于在基于PoW算法从区块链网络的区块节点中选取加密结果最先满足预设第一出块条件的第一区块的过程中,获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;第一选择模块,用于将区块节点中加密结果最先满足预设第一出块条件的区块选取为第二区块;其中,预设第一出块条件包括加密结果的前K个数据为0,预设第二出块条件包括加密结果的一端的连续M个数值为0,M为小于K的正整数,第二区块的出块周期m小于第一区块的出块周期k。
在一种可选的实施方式中,第二区块配置有以第二区块的出块时刻为起始时刻的有效期。
第四方面,提供一种基于区块链的出块装置,包括:第二计算模块,用于获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;第二选择模块,用于将区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块;其中,若基于PoW算法从区块链网络的区块节点中选取加密结果的前K个数据最先等于预设值的第一区块,预设第二出块条件包括加密结果的后M个连续的数值为预设值,M为小于K的正整数,第二区块的出块周期m小于第一区块的出块周期k。
第五方面,提供一种基于区块链的出块设备,包括:存储器,用于存储程序;
处理器,用于运行存储器中存储的程序,以执行第一方面或第一方面的任一可选的实施方式提供的基于区块链的出块方法,或者以执行第二方面或第二方面的任一可选的实施方式提供的基于区块链的出块方法。
第六方面,提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或第一方面的任一可选的实施方式提供的基于区块链的出块方法,或者实现第二方面或第二方面的任一可选的实施方式提供的基于区块链的出块方法。
根据本发明实施例提供的基于区块链的出块方法、装置、设备和介质,区块链可以多次对第一区块数据进行加密运算,并将计算得到的加密结果最先满足第二出块条件的区块节点选取为第二区块。由于第二区块对应的第二出块条件包括加密结果的一端的连续M个数值为预设值,相较于第一区块对应的第一出块条件,M小于K。并且,第二区块的出块周期m小于第一区块的出块周期k,简化了出块的难易程度,提高了出块速率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于区块链的出块方法的示意流程图;
图2是本发明实施例提供的另一种基于区块链的出块方法的示意流程图;
图3是本发明实施例提供的一种基于区块链的出块装置的结构示意图;
图4是本发明实施例提供的另一种基于区块链的出块装置的结构示意图;
图5是本发明实施例提供的一种基于区块链的出块设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例提供了一种基于区块链的出块方案,适用于从区块链中进行出块的具体场景中。在本发明实施例中,利用PoW算法从区块链选取第一区块的同时,区块链可以多次对第一区块数据进行加密运算,并将计算得到的加密结果最先满足第二出块条件的区块节点选取为第二区块。由于第二区块对应的第二出块条件包括加密结果的一端的连续M个数值为预设值,相较于第一区块对应的第一出块条件,M小于K。并且,第二区块的出块周期m小于第一区块的出块周期k,简化了出块的难易程度,提高了出块速率。
首先,针对区块链的工作原理作简要说明。区块链包括多个区块节点。在区块链技术中,交易,表征区块链存储数据的单位。在区块链上两个外部拥有账户之间需要被区块链节点记录的行为可以称为一笔交易。在交易被区块链验证后,该笔交易的交易数据会被存储至区块链的数据库中。在教育领域的区块链中,每一条对学生的教育质量的评价、每一条对教育机构的评价、学生的考试成绩等均可以作为一条交易。
在交易数据产生之后,区块链的区块节点会基于共识机制选出一个节点对交易数据进行验证,并在验证通过后,存储该交易数据。这个过程就是出块。被选出的那个节点就称为出块结果。
其次,针对选取出块过程中的共识机制,有一种共识机制称为工作量证明(ProofOf Work,PoW)机制,也称为PoW算法。针对PoW算法的具体说明如下。
PoW机制要求区块链的区块节点进行一定量的运算,谁最先计算得到运算结果谁就是出块结果。具体地,各区块节点利用PoW算法不断的对各自的区块头进行运算。在整个运算过程中,区块头并非一成不变的,每次运算结束后,区块头中的随机数就变化一次。
在PoW机制中,区块节点不断的计算区块头的哈希值。其中,计算哈希值可以采用SHA256(即一种加密算算法)。
若某一区块最先计算出计算结果满足预设第一出块条件,则该区块则为第一出块结果。其实,第一出块条件可以是计算结果的前K个数据为预设值。示例性的,预设值可以是0,即区块计算得到的哈希值前M位均为0。比如,若某一区块计算的结果为0000…0(M个0)11010111…11001,则该区块的计算结果满足第一出块条件。其中,K的具体数值可以根据出块速度的要求等具体设置,对此不作限定。比如,若需要每10分钟出一次块,K的取值可以是4,也就是说需要计算结果的前4位需要是0。
为了更好的理解本发明,下面将结合附图,详细描述根据本发明实施例的基于区块链的出块方法、装置、设备和介质,应注意,这些实施例并不用来限制本发明公开的范围。
图1是本发明实施例提供的一种基于区块链的出块方法的示意流程图。如图1所示,本实施例中的基于区块链的出块方法100可以包括以下步骤S110和S120。
S110,在基于PoW算法从区块链网络的区块节点中选取加密结果最先满足预设第一出块条件的第一区块的过程中,获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果。其中,每次进行加密运算的第一区块数据的第一随机数不同。
其中,第一随机数Nonce1是动态变化的,该区块的每计算一次,该值就变化一次。示例性的,在区块的第n次计算过程中,第一随机数Nonce1=n-1。
其中,第一难度值D1是一个预设值,用于表征出块的难度,在第二区块的出块周期m内第一难度值D1不发生改变。
在一个实施例中,区块链网络中的每一区块节点的第一区块数据均还包括:每一区块节点的前一区块节点的哈希指针,表征当前时间的时间戳和每一区块节点的梅克尔根。此时,第n次加密结果H(n)可以是对前一区块节点的哈希指针h-1、第n次计算过程中的第一随机数Nonce1、第一难度值D1、该区块节点的梅克尔根(Merkle Root)和表征当前时间的时间戳T1计算出来的一个哈希值。其中,计算哈希值的算法可以是SHA256。
针对每个区块节点来说,它的区块头包括前一区块节点的哈希指针h -1、第一随机数Nonce1、第一难度值D1、该区块节点的梅克尔根(Merkle Root)和表征当前时间的时间戳T1。
其中,前一区块节点为区块链中该区块节点的上一区块节点。前一区块节点的哈希指针h -1表征指向前一区块节点的数据存储位置的指针,具体地可以是前一区块的哈希值。
其中,该区块节点的梅克尔根用于体现该区块节点的所包含的所有交易。示例性的,可以将该区块节点的交易两两拼接并计算一个哈希值,示例性的,若某一区块内存在8个交易数据,分别是交易1、交易2、交易3、交易4、交易5、交易6、交易7、交易8。首先,对交易两两拼接计算哈希值,交易1、交易2拼接后计算的哈希值是H11,交易3、交易4拼接后计算的哈希值是H12,交易5、交易6拼接后计算的哈希值是H13,交易7、交易8拼接后计算的哈希值是H14。再将计算的哈希值两两拼接再计算一个新的哈希值,直到最后通过两两拼接的方式计算出一个哈希值。再对哈希值两两拼接计算一个哈希值。例如,哈希值H11和哈希值12拼接后计算的哈希值为H21,哈希值H13和哈希值14拼接后计算的哈希值为H22。可以再将哈希值为H21和哈希值H22拼接后计算得到哈希值H31。哈希值31即为该区块的梅克尔根。
其中,表征当前时刻的时间戳T1不断更新,例如可以每隔几秒钟更新1次。
S120,将区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块。其中,关于预设第一出块条件,预设第一出块条件包括加密结果的前K个数据为预设值。预设第一出块条件的具体内容可参见本发明上述实施例的相关说明,对此不再赘述。
现有的PoW出块机制,产生一个第一区块的时间大概是10分钟,一笔交易得到确认至少需要10分钟,而且目前仅仅支持每秒7笔教育的速度。对于交易量较大的区块链来说,例如教育区块链中对教育机构的一条点评就可以作为一笔交易来说,出块速率较低。根据本发明实施例提供的基于区块链的出块方法,在利用PoW算法从区块链选取第一区块的同时,区块链可以多次对第一区块数据进行加密运算,并将计算得到的加密结果最先满足第二出块条件的区块节点选取为第二区块。由于第二区块对应的第二出块条件包括加密结果的一端的连续M个数值为预设值,相较于第一区块对应的第一出块条件,M小于K。并且,第二区块的出块周期m小于第一区块的出块周期k,简化了出块的难易程度,提高了出块速率。
首先,针对S120中的预设第二出块条件,预设第二出块条件包括加密结果的一端的连续M个数值为预设值。具体的,可以是加密结果的前面连续M个数据为预设值,例如前M个数据连续为0。又或者,可以是加密结果的最后M个连续的数据为预设值,例如,后M个数据连续为0。
为了降低第二区块的出块难度,可以使第二区块的出块速度快于第一区块的出块速度。由于区块的出块周期与其出块难易程度相关,区块周期越长,出块难度越大。相应地,可使第二区块的出块周期m小于第一区块的出块周期k。具体地,由于M和K的大小与其出块周期相关,M和K的值越大,则出块周期越长,因此,为了降低第二区块的出块难度,可以令M为小于K的正整数。例如,若第一出块条件是加密结果的前4个数为0,则第二出块条件可以是加密结果的最后3位数为0。M和K的数值可以根据出块时间要求等具体要求设置,对此不作限定。
除了M的取值能够影响第二区块的出块周期之外,第一难度系数也可以影响第二区块的出块周期。因此,为了通过调整第二区块的出块周期,来调整第二区块的出块难易程度,在一个实施例中,基于区块链的出块方法100还包括:通过调整第一难度系数和所述M的取值,以使所述第二区块的出块周期达到m。其中,第一难度系数越小,则第二区块的出块周期越短。M的取值越小,第二区块的出块周期k越短。
由于第二出块的出块难易程度与第一区块的出块难易程度的比值等于第二区块的出块周期k与第一区块的出块周期m的比值。相应地,可以通过控制第二区块的出块周期k与第一区块的出块周期m的比值来控制第二出块的出块难易程度与第一区块的出块难易程度的比值。示例性的,若需要将第二区块的出块难易程度设置为第一区块的出块难易程度的1/500~1/1000,则可以令第二区块的出块周期k=m/500~m/1000。
在本发明的一些实施例中,第二区块配置有以所述第二区块的出块时刻为起始时刻的有效期。示例性的,有效期的长度可以等于第一区块的出块周期的长度k。若当前时刻超出第二区块的有效期,则第二区块失效。
在本发明的一些实施例中,在产生了第二区块之后,基于区块链的出块方法100还可以包括下述第一步骤和第二步骤。
第一步骤、获取在产生所述第一区块的出块周期k内产生的第二区块。示例性的,若上一次产出第一区块的时刻是T1,本次产出第一区块的时刻是T2,则获取[T1,T2]时间段内产生的第一区块。其中,获取的第二区块的数量,和第一区块的出块周期m与第二区块的出块周期k的比值相关。示例性的,若第二区块的出块周期k是第一区块的出块周期m的1/500,则,在第一区块的出块周期m内产生500个区块。
第二步骤、按照预设的选择策略,从产生所述第一区块的出块周期k内产生的第二区块中选择N个第二区块作为所述第一区块的相关区块。
通过上述步骤,可以将第一区块的相关区块的有效期作为第一区块的有效期,能够防止区块节点私藏第一区块。
首先,针对第二步骤,可以建立选取出的N个第二区块与第一区块的对应关系。示例性的,可以将选择出的N个第二区块与第一区块组成一个作为出块结果的出块链,以建立N个第二区块与第一区块的相关性。
其次,由于可能在第一区块的出块周期m内产出的第二区块的数量较多,为了便于计算,可以按照预设的选择策略选择N个具有代表性的第二区块与第一区块作为第一区块的相关区块。针对预设的选择策略,在第一个示例中,预设的选择策略可以包括:按照出块时刻从早到晚的次序,选择N个第二区块。也就是说,将在该第一区块的出块周期m内最早产出的N个第二区块作为第一区块的相关区块。在另一个实施例中,从与所述第一区块的出块时间差不超过预设时刻的第二区块中选出N个第二区块。其中,预设时刻可以根据具体工作场景和工作需求设置,对此不做限制。其中,可以根据第一区块的出块周期m和第二区块的出块周期k选择合适的预设时刻。例如,可以是60秒。示例性的,若第一区块的出块时刻为T2,预设时刻为t1,则可以从在[T2-t1,T2]时间段内产生的第二区块中选择N个区块作为第一区块的相关区块。
在一些实施例中,在确定了第一区块的相关区块之后,可以依据第一区块的相关区块的有效期来对该第一区块作验证。相应地,在上述第二步骤之后,基于区块链的出块方法100还包括
第三步骤、在所述区块链网络的除所述第一区块之外的区块节点对所述第一区块进行验证的过程中,判断所述第一区块的相关区块是否超出所述第一区块的相关区块的有效期。具体地,可以判断当前时刻饰扣超出第一区块的相关区块的有效期。
第四步骤、若判断结果是未超出,则所述第一区块验证通过。示例性的,N个区块中至少1个第二区块未超出自身的有效期,则判断结果为未超出。此外,在第一区块验证通过之后,则表征第一区块得到了其他节点关于对它存储第一区块的出块周期k内产生的交易数据的认可。第一区块可以对第一区块的出块周期k内产生的交易数据进行验证,若验证通过,则存储交易数据。
第五步骤、若判断结果是已超出,则所述第一区块验证失败。示例性的,N个区块中所有第二区块均超出自身的有效期,则判断结果为已超出。则证明该第一区块是无效的出块结果,可以让区块链中各区块节点继续计算以产生新的第一区块。
通过上述步骤,可以将第一区块的相关区块的有效期作为第一区块的有效期,能够防止区块节点私藏第一区块。
在本发明的一些实施例中,在确定了第一区块和第二区块的出块结果之后,还涉及到交易数据在第一区块和第二区块的存储问题。相应地,的基于区块链的出块方法100还包括:将在第一区块的出块周期k内产生的交易数据分散存储于第一区块和在第一区块的出块周期k内产生的第二区块内。示例性的,若在第一区块的出块周期k内产生了X个第二区块,则可以将出块周期k内产生的交易数据存储至第一区块和上述X个第二区块中。例如,可以平均存储至上述区块内。或者,可以按照比例存储至上述区块中。
通过将数据分散存储至第一区块和第二区块中,能够提高存储速度,以及降低第一区块的存储压力。
本发明实施例提供了另一种基于区块链的出块方法。图2是本发明实施例提供的另一种基于区块链的出块方法的逻辑示意图。本实施例中的基于区块链的出块方法200可以包括以下S210和S220。
S210,获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同。
其中,S210的具体实施方式可参见本发明上述实施例对S110的具体描述。S210与S110的不同之处在于,在区块链出块的过程中可以仅产出第二区块,而无需产出第一区块。第二区块的具体内容可参见本发明上述实施例对第一区块的相关描述,对此不再赘述。
需要说明的是,本实施例提供的基于区块链的出块方法200可以是一套单独的出块共识机制,还可以结合除POW算法之外的其他共识机制,对此不作限定。
S220,将区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块。
其中,若基于PoW算法从区块链网络的区块节点中选取加密结果的前K个数据最先等于预设值的第一区块,预设第二出块条件包括加密结果的后M个连续的数值为预设值,M为小于K的正整数,第二区块的出块周期m小于第一区块的出块周期k。示例性的,各区块节点的第一区块数据可以具体为各自的区块头。预设第二出块条件包括基于区块的区块头计算的哈希值的最后M位均为0。其中,各区块节点的区块头除第一预设难度值和第一随机数之外,还可以包括每一区块节点的前一区块节点的哈希指针,表征当前时间的时间戳和每一区块节点的梅克尔根。区块头的具体实施方式可参见本发明上述实施例对第一区块数据的相关描述,在此不再赘述。
根据本发明实施例提供的基于区块链的出块方法,相较于利用PoW算法从区块链选取第一区块的出块方法,区块链可以多次对第一区块数据进行加密运算,并将计算得到的加密结果最先满足第二出块条件的区块节点选取为第二区块。由于第二区块对应的第二出块条件包括加密结果的一端的连续M个数值为预设值,相较于第一区块对应的第一出块条件,M小于K。并且,第二区块的出块周期m小于第一区块的出块周期k,简化了出块的难易程度,提高了出块速率。
下面结合附图,详细介绍根据本发明实施例的装置。
基于相同的发明构思,本发明实施例提供了基于区块链的出块装置。图3是本发明实施例提供的一种基于区块链的出块装置的结构示意图。如图3所示,基于区块链的出块装置300包括第一计算模块310和选择模块320。
第一计算模块310,用于在基于PoW算法从区块链网络的区块节点中选取加密结果最先满足预设第一出块条件的第一区块的过程中,获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同。
第一选择模块320,用于将区块节点中加密结果最先满足预设第一出块条件的区块选取为第二区块。
其中,预设第一出块条件包括加密结果的前K个数据为0,预设第二出块条件包括加密结果的一端的连续M个数值为0。
M为小于K的正整数,第二区块的出块周期m小于第一区块的出块周期k。
在本发明的一些实施例中,第二区块配置有以第二区块的出块时刻为起始时刻的有效期。
在一些实施例中,基于区块链的出块装置300还包括获取模块和处理模块。
获取模块,用于获取在产生第一区块的出块周期k内产生的第二区块。
处理模块,用于按照预设的选择策略,从产生第一区块的出块周期k内产生的第二区块中选择N个第二区块作为第一区块的相关区块。
在一些实施例中,预设的选择策略包括:按照出块时刻从早到晚的次序,选择N个第二区块。
在一些实施例中,预设的选择策略包括:从与第一区块的出块时间差不超过预设时刻的第二区块中选出N个第二区块。
在一些实施例中,基于区块链的出块装置300还包括判断模块。
判断模块,用于在区块链网络的除第一区块之外的区块节点对第一区块进行验证的过程中,判断第一区块的相关区块是否超出第一区块的相关区块的有效期。
判断模块,还用于若判断结果是未超出,则第一区块验证通过。
判断模块,还用于若判断结果是已超出,则第一区块验证失败。
在本发明的一些实施例中,区块链网络中的每一区块节点的第一区块数据均还包括:每一区块节点的前一区块节点的哈希指针,表征当前时间的时间戳和每一区块节点的梅克尔根。
在本发明的一些实施例中,基于区块链的出块装置300还包括出块周期调整模块。
出块周期调整模块,用于通过调整第一难度系数和M的取值,以使第二区块的出块周期达到m。
在本发明的一些实施例中,基于区块链的出块装置300还包括存储管理模块,用于将在第一区块的出块周期k内产生的交易数据分散存储于第一区块和在第一区块的出块周期k内产生的第二区块内。
根据本发明实施例的基于区块链的出块装置的其他细节,与图1所示实例描述的基于区块链的出块方法类似,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
下面结合附图,详细介绍根据本发明实施例的装置。
基于相同的发明构思,本发明实施例提供了另一种基于区块链的出块装置。图4是本发明实施例提供的一种基于区块链的出块装置的结构示意图。如图4所示,基于区块链的出块装置400包括第二计算模块410和第二选择模块420。
第二计算模块410,用于获取区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同。
其中,第二计算模块410的具体实施方式可参见本发明上述实施例对第一计算模块310的具体描述。第二计算模块410与第一计算模块310的不同之处在于,第一计算模块310需要在区块链产生第一区块的过程中执行相应的计算动作,而第二计算模块410无需限制在区块链产生第一区块的过程中,既可执行相应的计算动作。第二区块的具体内容可参见本发明上述实施例对第一区块的相关描述,对此不再赘述。
第二选择模块420用于将区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块。
其中,若基于PoW算法从区块链网络的区块节点中选取加密结果的前K个数据最先等于预设值的第一区块,预设第二出块条件包括加密结果的后M个连续的数值为预设值,M为小于K的正整数,第二区块的出块周期m小于第一区块的出块周期k。
根据本发明实施例的基于区块链的出块装置的其他细节,与图1所示实例描述的基于区块链的出块方法以及与图2所示实例描述的基于区块链的出块方法类似,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
图5是本发明实施例提供的一种基于区块链的出块设备的示例性硬件架构的结构图。
如图5所示,基于区块链的出块设备500包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505、以及输出设备506。其中,输入接口502、中央处理器503、存储器504、以及输出接口505通过总线510相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线510连接,进而与基于区块链的出块设备500的其他组件连接。
具体地,输入设备501接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到基于区块链的出块设备500的外部供用户使用。
也就是说,图5所示的基于区块链的出块设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现图1所示实施例所描述的基于区块链的出块设备的方法,或者可以实现图2所示实施例所描述的基于区块链的出块设备的方法。
本发明实施例还提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现图1所示实施例的基于区块链的出块方法,或者可以实现图2所示实施例的基于区块链的出块方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

Claims (12)

1.一种基于区块链的出块方法,其特征在于,所述方法包括:
在基于工作量证明PoW算法从区块链网络的区块节点中选取加密结果最先满足预设第一出块条件的第一区块的过程中,获取所述区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;
将所述区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块;
其中,所述预设第一出块条件包括所述加密结果的前K个数据为预设值,预设第二出块条件包括所述加密结果的一端的连续M个数值为所述预设值,M为小于K的正整数,
所述第二区块的出块周期m小于所述第一区块的出块周期k。
2.根据权利要求1所述的方法,其特征在于,
所述第二区块配置有以所述第二区块的出块时刻为起始时刻的有效期。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取在产生所述第一区块的出块周期k内产生的第二区块;
按照预设的选择策略,从产生所述第一区块的出块周期k内产生的第二区块中选择N个第二区块作为所述第一区块的相关区块。
4.根据权利要求3所述的方法,其特征在于,
所述预设的选择策略包括:
按照出块时刻从早到晚的次序,选择N个第二区块;
或者,
从与所述第一区块的出块时间差不超过预设时刻的第二区块中选出N个第二区块。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述区块链网络的除所述第一区块之外的区块节点对所述第一区块进行验证的过程中,判断所述第一区块的相关区块是否超出所述第一区块的相关区块的有效期;
若判断结果是未超出,则所述第一区块验证通过;
若判断结果是已超出,则所述第一区块验证失败。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过调整第一难度系数和所述M的取值,以使所述第二区块的出块周期达到m。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将在所述第一区块的出块周期k内产生的交易数据分散存储于所述第一区块和在所述第一区块的出块周期k内产生的第二区块内。
8.一种基于区块链的出块方法,其特征在于,所述方法包括:
获取所述区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;
将所述区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块;
其中,若基于PoW算法从区块链网络的区块节点中选取加密结果的前K个数据最先等于预设值的第一区块,预设第二出块条件包括所述加密结果的后M个连续的数值为所述预设值,M为小于K的正整数,
所述第二区块的出块周期m小于所述第一区块的出块周期k。
9.一种基于区块链的出块装置,其特征在于,所述装置包括:
第一计算模块,用于在基于PoW算法从区块链网络的区块节点中选取加密结果最先满足预设第一出块条件的第一区块的过程中,获取所述区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;
第一选择模块,用于将所述区块节点中加密结果最先满足预设第一出块条件的区块选取为第二区块;
其中,所述预设第一出块条件包括所述加密结果的前K个数据为0,预设第二出块条件包括所述加密结果的一端的连续M个数值为0,
M为小于K的正整数,所述第二区块的出块周期m小于所述第一区块的出块周期k。
10.一种基于区块链的出块装置,其特征在于,所述装置包括:
第二计算模块,用于获取所述区块节点多次对包含有第一预设难度值和第一随机数的第一区块数据进行加密运算后得到的加密结果,其中,每次进行加密运算的第一区块数据的第一随机数不同;
第二选择模块,用于将所述区块节点中加密结果最先满足预设第二出块条件的区块选取为第二区块;
其中,若基于PoW算法从区块链网络的区块节点中选取加密结果的前K个数据最先等于预设值的第一区块,预设第二出块条件包括所述加密结果的后M个连续的数值为所述预设值,M为小于K的正整数,
所述第二区块的出块周期m小于所述第一区块的出块周期k。
11.一种基于区块链的出块设备,其特征在于,所述设备包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行权利要求1-9任一权利要求所述的基于区块链的出块方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现权利要求1-8任一权利要求所述的基于区块链的出块方法。
CN201911384413.3A 2019-12-28 2019-12-28 基于区块链的出块方法、装置、设备和介质 Active CN113052596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911384413.3A CN113052596B (zh) 2019-12-28 2019-12-28 基于区块链的出块方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911384413.3A CN113052596B (zh) 2019-12-28 2019-12-28 基于区块链的出块方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN113052596A CN113052596A (zh) 2021-06-29
CN113052596B true CN113052596B (zh) 2024-04-09

Family

ID=76507592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911384413.3A Active CN113052596B (zh) 2019-12-28 2019-12-28 基于区块链的出块方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN113052596B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285860B (zh) * 2021-10-30 2023-07-07 ***股份有限公司 一种调整区块生成难度的方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及***
CN108777704A (zh) * 2018-05-16 2018-11-09 横琴密达科技有限责任公司 一种区块链共识方法及***
CN109245878A (zh) * 2018-08-03 2019-01-18 克洛斯比尔有限公司 一种区块链的新区块生成方法、设备及可读存储介质
CN109242299A (zh) * 2018-08-31 2019-01-18 深圳付贝科技有限公司 分布式挖矿方法、挖矿机及区块链***
CN109785130A (zh) * 2018-12-17 2019-05-21 金蝶软件(中国)有限公司 区块链随机共识方法、装置、计算机设备和存储介质
WO2019148351A1 (zh) * 2018-01-31 2019-08-08 华为技术有限公司 一种信息处理方法及区块链节点
CN110247753A (zh) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 基于区块链节点网络的出块方法及装置
CN110298670A (zh) * 2019-07-05 2019-10-01 北京艾摩瑞策科技有限公司 涉及pbft的共识方法及其装置
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
CN110569251A (zh) * 2019-09-23 2019-12-13 腾讯科技(深圳)有限公司 一种数据处理方法、相关设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7040218B2 (ja) * 2018-03-29 2022-03-23 富士通株式会社 ブロックチェーンプログラム及びブロックチェーン方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及***
WO2019148351A1 (zh) * 2018-01-31 2019-08-08 华为技术有限公司 一种信息处理方法及区块链节点
CN108777704A (zh) * 2018-05-16 2018-11-09 横琴密达科技有限责任公司 一种区块链共识方法及***
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
CN109245878A (zh) * 2018-08-03 2019-01-18 克洛斯比尔有限公司 一种区块链的新区块生成方法、设备及可读存储介质
CN109242299A (zh) * 2018-08-31 2019-01-18 深圳付贝科技有限公司 分布式挖矿方法、挖矿机及区块链***
CN109785130A (zh) * 2018-12-17 2019-05-21 金蝶软件(中国)有限公司 区块链随机共识方法、装置、计算机设备和存储介质
CN110247753A (zh) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 基于区块链节点网络的出块方法及装置
CN110298670A (zh) * 2019-07-05 2019-10-01 北京艾摩瑞策科技有限公司 涉及pbft的共识方法及其装置
CN110569251A (zh) * 2019-09-23 2019-12-13 腾讯科技(深圳)有限公司 一种数据处理方法、相关设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"POW区块链共识算法分析与展望";戴安博等;《通信技术》;20191210;第52卷(第12期);2839-2845 *
戴安博等."POW区块链共识算法分析与展望".通信技术.2019,第52卷(第12期), *

Also Published As

Publication number Publication date
CN113052596A (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
CN108985732B (zh) 基于无区块的dag技术的共识和账本数据组织方法及***
Xu et al. Block stochastic gradient iteration for convex and nonconvex optimization
WO2020087042A1 (en) Blockchain consensus systems and methods involving a time parameter
CN104239194A (zh) 基于bp神经网络的任务完成时间预测方法
CN112348518B (zh) 一种区块链交易证明的方法及装置
CN111373694B (zh) 零知识证明硬件加速器及其方法
CN113052596B (zh) 基于区块链的出块方法、装置、设备和介质
CN109324901B (zh) 基于区块链的深度学习分布式计算方法、***和节点
Growiec A new class of production functions and an argument against purely labor‐augmenting technical change
CN116599669A (zh) 数据处理方法、装置、计算机设备及存储介质
CN113721988B (zh) 基于芯片的工作量证明方法和用于工作量证明的芯片
CN102160336A (zh) 仿真装置和仿真方法
CN113326332B (zh) 一种区块链的快照同步方法及装置
CN109146060B (zh) 一种基于卷积神经网络处理数据的方法及装置
CN113541952B (zh) 基于格的数字签名方法
KR101929984B1 (ko) 모듈러 곱셈기 및 그것의 모듈러 곱셈 방법
CN114785812B (zh) 一种基于零知识证明的区块链区块同步方法及装置
US9569175B2 (en) FMA unit, in particular for utilization in a model computation unit for purely hardware-based computing of function models
CN110570309A (zh) 用于更换区块链网络的领导者的方法和***
KR101731921B1 (ko) 하드웨어 타입 소수 판별 장치 및 그 방법
Alexandru et al. Partial-global stochastic Metropolis update for dynamical smeared link fermions
US20020032711A1 (en) Multiplication module, multiplicative inverse arithmetic circuit, multiplicative inverse arithmetic control method, apparatus employing multiplicative inverse arithmetic circuit, and cryptographic apparatus and error correction decoder therefor
Leung et al. Optimal multiple stopping with negative discount rate and random refraction times under Lévy models
US10211973B2 (en) Method and device for transmitting data on asynchronous paths between domains with different clock frequencies
CN113222747A (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