CN110176998A - 一种工作量证明的共识方法、装置、设备和存储介质 - Google Patents

一种工作量证明的共识方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110176998A
CN110176998A CN201910412988.5A CN201910412988A CN110176998A CN 110176998 A CN110176998 A CN 110176998A CN 201910412988 A CN201910412988 A CN 201910412988A CN 110176998 A CN110176998 A CN 110176998A
Authority
CN
China
Prior art keywords
address
node
public key
block
proof
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.)
Pending
Application number
CN201910412988.5A
Other languages
English (en)
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.)
BEIJING ZHONGXIANG BIT TECHNOLOGY Co Ltd
Original Assignee
BEIJING ZHONGXIANG BIT TECHNOLOGY 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 BEIJING ZHONGXIANG BIT TECHNOLOGY Co Ltd filed Critical BEIJING ZHONGXIANG BIT TECHNOLOGY Co Ltd
Priority to CN201910412988.5A priority Critical patent/CN110176998A/zh
Publication of CN110176998A publication Critical patent/CN110176998A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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/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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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

Abstract

本申请公开了一种工作量证明的共识方法、装置、设备及存储介质,该方法包括:接收生成节点发送的新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前生成节点的公钥,公钥与用于接收奖励的地址相对应;对区块头进行公钥校验;对IP地址进行逻辑校验;对IP地址的有效性进行校验。该方法减少生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络的影响。

Description

一种工作量证明的共识方法、装置、设备和存储介质
技术领域
本发明一般涉及区块链技术领域,具体涉及一种工作量证明的共识方法、装置、设备和存储介质。
背景技术
区块链是由一个个数据区块组成的数据库,具有去中心化、分布式存储、数据不可篡改等特性,可以应用在很多场景。
工作量证明的共识机制是区块链技术的其中一种共识机制,工作量证明机制具有完全去中心化的特点。
然而随着加密货币的火热,挖矿带来了巨大的利润,随之出现了矿场、矿池等集中的生产资源,而生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络造成了严重的威胁。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种工作量证明的共识方法、装置、设备和存储介质。
第一方面,本发明提供了一种工作量证明的共识方法,其特征在于,包括:
接收生成节点发送的新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前所述生成节点的公钥,公钥与用于接收奖励的地址相对应;
对区块头进行公钥校验;
对IP地址进行逻辑校验;
对IP地址的有效性进行校验。
在其中一个实施例中,对区块头进行公钥校验,包括:
利用哈希算法计算公钥的哈希地址;
确定哈希地址是否与用于接收奖励的地址匹配。
在其中一个实施例中,对IP地址进行逻辑校验,包括:
确认IP地址是否在预设周期内仅出现1次。
在其中一个实施例中,对IP地址的有效性进行校验,包括:
在本地生成随机数,将随机数及所述公钥发送至与IP地址对应的生成节点;
接收签名数据,签名数据为生成节点利用公钥所对应的私钥对接收到的随机数进行签名后的数据;
利用公钥对签名数据进行验证。
第二方面,本申请实施例提供了一种工作量证明的共识方法,包括:
生成新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前生成节点的公钥,公钥与用于接收奖励的地址相对应;
将新的区块发送至验证节点,以便于验证节点对区块头进行公钥校验、对IP地址进行逻辑校验及对IP地址的有效性进行校验。
第三方面,本申请实施例提供了一种工作量证明的共识装置,包括:
接收模块,用于接收生成节点发送的新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前所述生成节点的公钥,公钥与用于接收奖励的地址相对应;
第一校验模块,用于对区块头进行公钥校验;
第二校验模块,用于对IP地址进行逻辑校验;
第三校验模块,用于对IP地址的有效性进行校验。
在其中一个实施例中,第三校验模块还用于:
在本地生成随机数,将随机数及公钥发送至与IP地址对应的生成节点;
接收签名数据,该签名数据为生成节点利用公钥所对应的私钥对接收到的随机数进行签名后的数据;
利用公钥对签名数据进行验证。
第四方面,本申请实施例提供了一种工作量证明的共识装置,包括:
生成模块,用于生成新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前生成节点的公钥,公钥与用于接收奖励的地址相对应;
发送模块,用于将新的区块发送至验证节点,以便于验证节点对区块头进行公钥校验、对IP地址进行逻辑校验及对IP地址的有效性进行校验。
第五方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任一项的工作量证明的共识方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的工作量证明的共识方法。
本申请实施例提供的工作量证明的共识方法、装置、设备和存储介质,验证节点接收到的新的区块的区块头字段包括记录当前生成节点的IP地址及记录当前生成节点的公钥,验证节点对接收到的新的区块的区块头进行公钥校验、对IP地址进行逻辑校验、对IP地址的有效性进行校验。本申请实施例利用全球IP地址资源,对矿池集中的生产区块进行一定的制约,减少生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络的影响。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明的实施例中一种工作量证明的共识方法的流程图;
图2为本发明的实施例中步骤130的流程图;
图3为本发明的另一实施例中一种工作量证明的共识方法的流程图;
图4为本发明的实施例中一种工作量证明的共识装置的结构示意流程图;
图5为本发明的另一实施例中一种工作量证明的共识装置的结构示意流程图;
图6本发明的实施例的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
在区块链系统中,每个节点既可以是生成节点也可以是验证节点。当某个生产者对应的节点生产了新的区块,则该生产者对应的节点即为生成节点,而如果某个节点并没有生产新的区块,而该节点是用于验证其他节点发送的区块是否为有效区块时,该节点则为验证节点。
其中,有效区块是指生产者生产的区块计算得到的哈希值小于某一阈值时所对应的区块。对于区块的生产者来书,不仅要生产一个有效区块,而且要把该有效区块尽快发送到网络中,使得全网接受,从而获得收益,则该有效区块成为最终区块。
为了减少生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络的影响。提出一种工作量证明的共识方法。
参照图1,其示出了根据本申请一个实施例描述的工作量证明的共识方法的示例性流程图。图1所示的工作量证明的共识方法适用于验证节点。
如图1所示,在步骤110中,接收生成节点发送的新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前生成节点的公钥,公钥与用于接收奖励的地址相对应。
具体地,验证节点接收生成节点发送的新的区块,用于验证生产者生产的区块是否为有效区块。
一般地,区块包括区块头和区块体。通常情况,区块头字段包括:版本号nVersion、上一个区块的哈希值hashPrevBlock、交易列表的Merkle根哈希值hashMerkleRoot、当前时间戳nTime、当前挖矿难度nBits、随机数Nonce值nNonce。在本实施例中,区块头字段还包括:记录当前生成节点的IP地址ipAddr和记录当前生成节点的公钥publicKey,其中,公钥与用于接收奖励的地址相对应,接收奖励的地址是指生成区块的地址,即生成节点的地址。
区块头字段中的nVersion、hashPrevBlock、nBits是不能修改的,生成一个新的区块只能通过修改hashMerkleRoot、nTime和nNonce。
验证节点收到新的区块,要对新区块进行有效性校验,有效性校验需要通过以下几方面来进行校验。
首先,验证节点可以计算得到待接收的新的区块的nVersion、hashPrevBlock、nBits,验证节点将自身计算得到的nVersion、hashPrevBlock、nBits与接收到的区块的区块头中相应字段进行比较,如果一致,则进行其他验证,如果不一致,则判定该接收到的区块为无效区块。
其次,根据区块头的字段计算生成的区块的区块头的哈希值,如果哈希值满足nBits的难度要求时,判定该区块为有效区块。
其中,区块头的哈希值满足nBits的难度要求,具体为:
SHA256(SHA256(nVersion,hashPrevBlock,hashMerkleRoot,nTime,nBits,nNonce,publicKey,ipAddr)<TARGET
其中,不等式左边为根据区块头的字段计算得到的区块头的哈希值,不等式右边TARGET为根据nBits计算出的一个阈值,计算TARGET为现有技术,这里不再赘述。
另外,验证节点对收到的新的区块的有效性校验包括:如图1所示,
步骤120,对区块头进行公钥校验;
步骤130,对IP地址进行逻辑校验;
步骤140,对IP地址的有效性进行校验。
需要说明的是,在图1中对上述3个的校验用步骤120、步骤130及步骤140进行了标示,但是,并不表示对上述3个进行校验时必须按照此顺序进行校验,上述3个校验中可以对其中任意一个先进行校验,再进行其他的校验。图1中之所以采用步骤120对区块头进行公钥校验、步骤130对IP地址进行逻辑校验、步骤140对IP地址的有效性进行校验这样的顺序,在实际应用中一般采用由易到难的顺序进行校验。
验证节点可以分别通过下述实施例完成上述3个校验。
本实施例提供的工作量证明的共识方法,验证节点接收到的新的区块的区块头字段包括记录当前生成节点的IP地址及记录当前生成节点的公钥,验证节点对接收到的新的区块的区块头进行公钥校验、对IP地址进行逻辑校验、对IP地址的有效性进行校验。本实施例中,区块的区块头字段包含IP地址,并且对IP地址进行逻辑校验和对IP地址的有效性进行校验,即本实施例利用全球IP地址资源有限,对矿池集中生产区块进行一定的制约,减少生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络的影响。
在一个实施例中,对区块头进行公钥校验,包括:
利用哈希算法计算公钥的哈希地址;
确定哈希地址是否与用于接收奖励的地址匹配。
具体地,利用哈希算法计算公钥的哈希地址可以为:
A=RIPEMD160(SHA256(K))
其中,K为公钥,A为哈希地址。
其中,接收奖励的地址为生成节点的地址。
如果通过哈希算法计算得到的哈希地址与生成节点的地址匹配,则验证节点继续对IP地址进行逻辑校验或对IP地址的有效性进行校验,如果上述两个校验已经全部完成,则可以判定该区块为有效区块;否则,判定该区块为无效区块,结束校验。
将判定为有效区块的区块尽快发送至网络中,抢占先机,使得全网接受,即使得有效区块变成最终区块,这样生产者就能获得收益。
在一个实施例中,对IP地址进行逻辑校验,包括:
确认IP地址是否在预设周期内仅出现1次。
具体地,预设周期可以根据应用场景和应用需求进行设定,例如可以设定150个区块为一个预设周期。
假设IP地址在预设周期内仅出现1次,则验证节点可以继续对区块头进行公钥校验或对IP地址的有效性进行校验,如果上述两个校验已经全部完成,则可以判断该区块为有效区块;否则,判断该区块为无效区块,结束校验。
同一IP地址在预设周期内仅出现1次,表明在使用POW算法的区块链网络中,同一IP地址不能频繁生产新区块。
如果生产者进行类似矿池的合作式的集中生产区块,就需要安排更多的独立IP地址,而全球独立的IP地址资源很稀缺,就会极大地增加成本。通过验证节点对IP地址进行逻辑校验,可以保证区块头中的IP地址在预设周期内没有出现过,从而可以极大减少生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络的影响,即对矿池集中生产区块进行一定的制约。
在一个实施例中,如图2所示,步骤130对IP地址的有效性进行校验,包括:
步骤210,在本地生成随机数,将随机数及公钥发送至与IP地址对应的生成节点;
步骤220,接收签名数据,签名数据为生成节点利用公钥所对应的私钥对接收到的随机数进行签名后的数据;
步骤230,利用公钥对签名数据进行验证。
具体地,生成节点提供签名模块,可以对验证节点发来的数据进行提供签名。
具体地,当验证节点收到生成节点发送的新的区块时,验证节点在本地生成随机数,验证节点将生成的随机数及区块的区块头中记录的公钥发送至区块头中记录的IP地址对应的生成节点。
生成节点利用区块头中记录的公钥所对应的私钥对接收到的随机数进行签名,生成节点将签名后的签名数据再发送至验证节点。
验证节点接收到生成节点发送的签名数据后,验证节点利用区块头中记录的公钥对签名数据进行验证。
如果验证确定提供了正确的签名数据,则验证节点可以继续对区块头进行公钥校验或对IP地址进行逻辑校验,如果上述两个校验已经全部完成,则可以判断该区块为有效区块;否则,判断该区块为无效区块,结束校验。
由于私钥的重要性,矿池不会将私钥交给其它人员管理,这样就限制了区块的生产者一定是IP地址的提供者,如果想要寻求IP地址资源的合作,将会面临私钥暴露的风险。因此,本实施例中利用公钥对公钥所对应的私钥对接收到的随机数进行签名后的数据进行验证,可以极大减少生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络的影响,即对矿池集中生产区块进行一定的制约。
参照图3,其示出了根据本申请另一个实施例描述的工作量证明的共识方法的示例性流程图。图3所示的工作量证明的共识方法适用于生成节点。
如图3所示,在步骤310中,生成新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前生成节点的公钥,公钥与用于接收奖励的地址相对应。
具体地,生成节点生成新的区块。
一般地,区块包括区块头和区块体。通常情况,区块头字段包括:版本号nVersion、上一个区块的哈希值hashPrevBlock、交易列表的Merkle根哈希值hashMerkleRoot、当前时间戳nTime、当前挖矿难度nBits、随机数Nonce值nNonce,区块头字段还包括:记录当前生成节点的IP地址ipAddr和记录当前生成节点的公钥publicKey。
区块头字段中的nVersion、hashPrevBlock、nBits是不能修改的,生成一个新的区块只能通过修改hashMerkleRoot、nTime和nNonce。
生成的区块需要根据区块头的字段计算区块头的哈希值,如果哈希值满足nBits的难度要求时,该区块才为有效区块,发送至验证节点判断是否为最终区块。
其中,区块头的哈希值满足nBits的难度要求,具体为:
SHA256(SHA256(nVersion,hashPrevBlock,hashMerkleRoot,nTime,nBits,nNonce,publicKey,ipAddr)<TARGET
其中,不等式左边为根据区块头的字段计算得到的区块头的哈希值,不等式右边TARGET为根据nBits计算出的一个阈值,其为现有技术,这里不再赘述。
其中,接收奖励的地址是指生产区块的地址,即生成节点的地址。
如图3所示,在步骤320中,将新的区块发送至验证节点,以便于验证节点对区块头进行公钥校验、对IP地址进行逻辑校验及对IP地址的有效性进行校验。
具体地,步骤310中生成节点生成新的区块后,将生成的新的区块发送至验证节点,验证节点对该区块进行验证,如果区块在该验证节点处通过验证,则该区块为有效区块,将该区块尽快发送至网络中,抢占先机,使得全网接受后,加入区块链中,成为最终区块;如果区块在该节点处没有通过验证,则该区块为无效区块。
本实施例提供的工作量证明的共识方法,生成节点生成的新的区块的区块头字段包括记录当前生成节点的IP地址及记录当前生成节点的公钥,生成节点将生成的新的区块发送至验证节点,以便于验证节点对区块头进行公钥校验、对IP地址进行逻辑校验、对IP地址的有效性进行校验。本实施例中,区块的区块头字段包含IP地址,并且区块会发送至验证节点对IP地址进行逻辑校验和对IP地址的有效性进行校验,即本实施例利用全球IP地址资源有限,对矿池集中生产区块进行一定的制约,减少生产资源的集中对比特币等依赖工作量证明机制的去中心化区块链网络的影响。
如图4为本发明实施例提供的工作量证明的共识装置400的结构示意图。如图4所示,该装置可以实现如图1所示的方法,该装置可以包括:
接收模块410,用于接收生成节点发送的新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前生成节点的公钥,公钥与用于接收奖励的地址相对应;
第一校验模块420,用于对区块头进行公钥校验;
第二校验模块430,用于对IP地址进行逻辑校验;
第三校验模块440,用于对IP地址的有效性进行校验。
可选地,第一校验模型420还用于:
利用哈希算法计算公钥的哈希地址;
确定哈希地址与用于接收奖励的地址是否匹配。
可选地,第二校验模型430还用于:
确认IP地址是否在预设周期内仅出现1次。
可选地,第三校验模块440还用于:
在本地生成随机数,将随机数及公钥发送至与IP地址对应的生成节点;
接收签名数据,签名数据为生成节点利用公钥所对应的私钥对接收到的随机数进行签名后的数据;
利用公钥对签名数据进行验证。
本实施例提供的工作量证明的共识装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
如图5为本发明另一个实施例提供的工作量证明的共识装置500的结构示意图。如图5所示,该装置可以实现如图3所示的方法,该装置可以包括:
生成模块510,用于生成新的区块,其中,新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前生成节点的公钥,公钥与用于接收奖励的地址相对应;
发送模块520,用于将新的区块发送至验证节点,以便于验证节点对区块头进行公钥校验、对IP地址进行逻辑校验及对IP地址的有效性进行校验。
本实施例提供的工作量证明的共识装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
图6为本发明实施例提供的一种计算机设备的结构示意图。如图6所示,示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口606也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考图1描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述工作量证明的共识方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中前述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请的工作量证明的共识方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种工作量证明的共识方法,其特征在于,所述方法包括:
接收生成节点发送的新的区块,其中,所述新的区块的区块头字段至少包括记录所述生成节点的IP地址及记录所述生成节点的公钥,所述公钥与用于接收奖励的地址相对应;
对所述区块头进行公钥校验;
对所述IP地址进行逻辑校验;
对所述IP地址的有效性进行校验。
2.根据权利要求1所述的工作量证明的共识方法,其特征在于,所述对所述区块头进行公钥校验,包括:
利用哈希算法计算所述公钥的哈希地址;
确定所述哈希地址与所述用于接收奖励的地址是否匹配。
3.根据权利要求1所述的工作量证明的共识方法,其特征在于,所述对所述IP地址进行逻辑校验,包括:
确认所述IP地址是否在预设周期内仅出现1次。
4.根据权利要求1所述的工作量证明的共识方法,其特征在于,所述对所述IP地址的有效性进行校验,包括:
在本地生成随机数,将所述随机数及所述公钥发送至与所述IP地址对应的生成节点;
接收签名数据,所述签名数据为所述生成节点利用与所述公钥对应的私钥对接收到的所述随机数进行签名后的数据;
利用所述公钥对所述签名数据进行验证。
5.一种工作量证明的共识方法,其特征在于,包括:
生成新的区块,其中,所述新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前所述生成节点的公钥,所述公钥与用于接收奖励的地址相对应;
将所述新的区块发送至验证节点,以便于所述验证节点对所述区块头进行公钥校验、对所述IP地址进行逻辑校验及对所述IP地址的有效性进行校验。
6.一种工作量证明的共识装置,其特征在于,所述装置包括:
接收模块,用于接收生成节点发送的新的区块,其中,所述新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前所述生成节点的公钥,所述公钥与用于接收奖励的地址相对应;
第一校验模块,用于对所述区块头进行公钥校验;
第二校验模块,用于对所述IP地址进行逻辑校验;
第三校验模块,用于对所述IP地址的有效性进行校验。
7.根据权利要求6所述的工作量证明的共识装置,其特征在于,所述第三校验模块还用于:
在本地生成随机数,将所述随机数及所述公钥发送至与所述IP地址对应的生成节点;
接收签名数据,所述签名数据为所述生成节点利用所述公钥所对应的私钥对接收到的所述随机数进行签名后的数据;
利用所述公钥对所述签名数据进行验证。
8.一种工作量证明的共识装置,其特征在于,包括:
生成模块,用于生成新的区块,其中,所述新的区块的区块头字段至少包括记录当前生成节点的IP地址及记录当前所述生成节点的公钥,所述公钥与用于接收奖励的地址相对应;
发送模块,用于将所述新的区块发送至验证节点,以便于所述验证节点对所述区块头进行公钥校验、对所述IP地址进行逻辑校验及对所述IP地址的有效性进行校验。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~5中任一项所述方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~5中任一项所述方法。
CN201910412988.5A 2019-05-17 2019-05-17 一种工作量证明的共识方法、装置、设备和存储介质 Pending CN110176998A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910412988.5A CN110176998A (zh) 2019-05-17 2019-05-17 一种工作量证明的共识方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910412988.5A CN110176998A (zh) 2019-05-17 2019-05-17 一种工作量证明的共识方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN110176998A true CN110176998A (zh) 2019-08-27

Family

ID=67691504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910412988.5A Pending CN110176998A (zh) 2019-05-17 2019-05-17 一种工作量证明的共识方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110176998A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339197A (zh) * 2020-02-26 2020-06-26 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
CN111510427A (zh) * 2020-03-06 2020-08-07 杜晓楠 在i2p网络中缓解路径创建攻击的方法、计算机可读存储介质和i2p网络
CN112448817A (zh) * 2019-09-05 2021-03-05 陈小虎 一种去中心化的共识方案

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415530A (zh) * 2013-11-19 2017-02-15 日出科技集团有限责任公司 区块挖掘方法和装置
CN107424066A (zh) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 一种基于价值量建立共识机制的方法及其系统
CN108416589A (zh) * 2018-03-08 2018-08-17 深圳前海微众银行股份有限公司 区块链节点的连接方法、系统及计算机可读存储介质
CN108805538A (zh) * 2018-06-14 2018-11-13 清华大学 一种数字货币交易方法和装置
CN109543456A (zh) * 2018-11-06 2019-03-29 北京新唐思创教育科技有限公司 区块生成方法及计算机存储介质
CN109753792A (zh) * 2018-12-29 2019-05-14 北京金山安全软件有限公司 一种攻击检测方法、装置及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415530A (zh) * 2013-11-19 2017-02-15 日出科技集团有限责任公司 区块挖掘方法和装置
CN107424066A (zh) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 一种基于价值量建立共识机制的方法及其系统
CN108416589A (zh) * 2018-03-08 2018-08-17 深圳前海微众银行股份有限公司 区块链节点的连接方法、系统及计算机可读存储介质
CN108805538A (zh) * 2018-06-14 2018-11-13 清华大学 一种数字货币交易方法和装置
CN109543456A (zh) * 2018-11-06 2019-03-29 北京新唐思创教育科技有限公司 区块生成方法及计算机存储介质
CN109753792A (zh) * 2018-12-29 2019-05-14 北京金山安全软件有限公司 一种攻击检测方法、装置及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112448817A (zh) * 2019-09-05 2021-03-05 陈小虎 一种去中心化的共识方案
CN111339197A (zh) * 2020-02-26 2020-06-26 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
CN111510427A (zh) * 2020-03-06 2020-08-07 杜晓楠 在i2p网络中缓解路径创建攻击的方法、计算机可读存储介质和i2p网络
CN111510427B (zh) * 2020-03-06 2022-02-11 杜晓楠 在i2p网络系统中缓解路径创建攻击的方法、计算机可读存储介质和i2p网络系统

Similar Documents

Publication Publication Date Title
AU2018347190B2 (en) Blockchain data protection based on account note model with zero-knowledge proof
CN109716707B (zh) 分布式电子记录和交易历史的服务器设备和方法
US11900380B2 (en) Blockchain architecture with record security
US20200043007A1 (en) Techniques For Expediting Processing Of Blockchain Transactions
CN110766406B (zh) 资源转移方法、资源转移装置、存储介质及电子设备
CN111445334B (zh) 一种区块链系统的聚合签名方法、装置及存储介质
CN112765677B (zh) 一种基于区块链的联邦学习方法、装置和系统
CN108985100B (zh) 基于区块链的元素安全性证明方法、装置、设备和介质
US20190268139A1 (en) Data authentication using a blockchain approach
CN107438002A (zh) 基于区块链的系统以及系统中的电子设备和方法
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
CN108921556A (zh) 一种区块链的验证方法、装置、设备及存储介质
US10693646B2 (en) Event execution using a blockchain approach
CN110176998A (zh) 一种工作量证明的共识方法、装置、设备和存储介质
CN110851877B (zh) 一种数据处理方法、装置及区块链节点设备、存储介质
WO2019204117A1 (en) Systems and methods for recording assets and transactions thereof in blockchains
CN106650495A (zh) 一种文件验证方法及装置
US20220172198A1 (en) Real-time blockchain settlement network
CN112184191A (zh) 基于区块链的资源交易方法、装置及系统
CN111694895A (zh) 区块链远程数据审计方法、系统
CN103647650A (zh) 基于规则定义的自动签名/验签装置和自动签名/验签方法
KR20170099152A (ko) 주주명부를 등록하고 주식 소유권 이전을 기록하는 방법 및 서버
CN109934015B (zh) 区块数据增信方法、区块链节点及存储介质
US20230368292A1 (en) Cryptocurrency payment based on a canceled fiat transaction
KR102546257B1 (ko) 콘텐츠 시청 개입을 통해 콘텐츠 변형 기능을 제공하며, 변형 기능에 대한 소유권을 부여하기 위한 시스템

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190827