CN112541763B - 一种区块链管理器的区块共识审批的方法及装置 - Google Patents
一种区块链管理器的区块共识审批的方法及装置 Download PDFInfo
- Publication number
- CN112541763B CN112541763B CN202011462721.6A CN202011462721A CN112541763B CN 112541763 B CN112541763 B CN 112541763B CN 202011462721 A CN202011462721 A CN 202011462721A CN 112541763 B CN112541763 B CN 112541763B
- Authority
- CN
- China
- Prior art keywords
- block
- manager
- verification
- blockchain
- transaction
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012795 verification Methods 0.000 claims abstract description 259
- 238000004891 communication Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 11
- 238000004422 calculation algorithm Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供了一种区块链管理器的区块共识审批方法,包括如果所述第一区块完成区块验证的轮数K小于或等于第一设定阈值时,第一区块链管理器等待第一随机时间后,把其产生的第一区块发送给区块链网络中其他各第二区块链管理器以对第一区块进行一轮区块验证,计算第一区块的共识通过率,如果共识通过率大于或等于第二设定阈值时,则第一区块的共识审批通过;如果共识通过率小于第二设定阈值且对所述第一区块完成共识审批的轮数K大于第一设定阈值时,所述第一区块共识审批失败。本发明还相应提供了实现上述各方法的装置。本发明相对于现有的共识审批算法,具有计算量时间小和计算资源少等优点。
Description
技术领域
本发明涉及区块链领域,特别是涉及一种用于车联网的区块链管理器共识审批的领域。
背景技术
当今世界,拥有私家车的人越来越多,也导致了道路上的交通事故越来越多,这逐渐成为了现代社会的一个严重问题。车辆自组网VANET(Vehicular Ad Hoc Network)通过一种称为车辆间无线访问WAVE(wireless access in vehicular environments)的无线介质,在车辆之间以及车辆与路侧单元RSU(Road Side Unit)之间提供数据交换及通信。这种通信方式提供了实时的相关信息,有助于提升驾驶员和乘客的安全,并摆脱交通拥堵。车辆间及车辆与RSU之间的高度连通性虽然实现了智能化,但对安全性提出了挑战。VANET中的一些节点旨在实现车辆安全,防止被恶意实体攻击,这些恶意实体会危及车辆、司机和乘客的安全。车辆之间以及车辆与RSU之间的信息交换包括位置、速度、警告信息等,因此也会带来新的隐私挑战。传统的智能汽车安全和隐私机制会由于集中化、缺乏隐私和安全威胁等问题而失效。
目前已提出的方法中,有利用阈值认证和群签名的方法解决公共信息可靠性的问题,但并不能解决工作量庞大和缺乏激励机制的问题。还有提出了一种基于联盟区块链的点对点电力交易模型,解决了可扩展性问题,但容易受到安全攻击。
发明内容
有鉴于此,本发明提供了一种区块链管理器的区块共识审批的方法,用于基于区块链的车联网,提出了一种基于时间退避算法的区块链管理器BM(Blockchain Manager)区块共识审批方法,区块的接收方BM首先检查区块的发送方BM的身份,如果接收方BM已经批准了该发送方此前发送的至少一个区块,则不重复执行严格的交易验证过程,而是在验证区块签名和时间戳后立即批准该区块;否则,如果发送方BM向接收方BM发送的是第一个区块,则采用通常的严格交易验证过程来验证交易。该基于时间退避算法的区块共识审批方法运算量小,更加高效,适合车联网领域。
第一方面,提供一种区块链管理器的区块共识审批的方法,包括第一区块链管理器产生第一区块,发送至其所在区块链网络上进行多轮区块验证,一轮区块验证为所述区块链网的各第二区块链管理器对第一区块各完成一次区块验证;以及如果所述第一区块完成区块验证的轮数K小于或等于第一设定阈值时,第一区块链管理器等待第一随机时间后,发送第一区块给所述区块链网络中各第二区块链管理器以对第一区块进行区块验证,其中,K的初值设置0;以及第二区块链管理器收到第一区块链管理器发送的第一区块的区块验证请求时,对所述第一区块进行区块验证;以及所述各第二区块链管理器对第一区块完成一轮区块验证后,第一区块链管理器计算第一区块的共识通过率,如果共识通过率大于或等于第二设定阈值时,则第一区块的共识审批通过,第一区块链管理器将第一区块追加到第一区块链的末端,否则,K值加1;以及如果共识通过率小于第二设定阈值且对所述第一区块完成共识审批的轮数K大于第一设定阈值时,所述第一区块共识审批失败;以及其中,第二区块链管理器为所述区块链网络上除第一区块链管理器以外的其他各区块链管理器,所述共识通过率等于对所述第一区块的区块验证通过的第二区块链管理器的数目除以第二区块链管理器的总数的商。
由上,在对第一区块的每轮区块验证时,第一区块链管理器等待第一随机时间后再发送第一区块,使第二区块链管理器在后续的区块验证中可以对第一区块链管理器是否是恶意的管理器进行判断,以及基于收到的其他区块链管理器发送的已经验证过的区块和其中交易,更加高效进行区块验证,从而进行高效而安全的共识审批。
根据第一方面,一种区块链管理器的区块共识审批的方法的第一种可能的实现方式中,所述第一区块链管理器产生第一区块包括,第一区块链管理器基于接收的服务请求创建第一交易块,并把第一交易加入到当前区块中,生成第一区块,其中,所述第一交易块包含交易时间戳、交易公钥和交易签名,所述第一区块信息包含区块时间戳和区块链管理器签名,所述交易时间戳为第一交易生成时间,所述交易公钥为所述服务请求者的公钥,所述交易签名为服务请求者私钥的签名,所述区块时间戳为第一区块生成时间,所述区块链管理器签名为第一区块链管理器公钥的签名。
由上,第一交易和第一区块的包含的相关的密钥和签名,便于对区块和交易的身份验证,提高区块验证的可靠性。
根据第一方面的第一种可能的实现方式,一种区块链管理器的区块共识审批的方法的第二种可能的实现方式中,所述第二区块链管理器对所述第一区块的区块验证包括,在第一设定时间内第二区块链管理器对收到的第一区块链管理器的区块进行统计,生成所接收的第一区块链管理器的区块总数,当所述所接收的第一区块链管理器的区块总数大于第三设定阈值时,第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过;以及当所接收的第一区块链管理器的区块总数小于或等于第三设定阈值时,第二区块链管理器对所述第一区块基于信任关系进行信任验证;以及如果所述第二区块链管理器对所述第一区块的信任验证不通过,则第二区块链管理器对第一区块进行严格验证,如果第二区块链管理器对所述第一区块的严格验证中各项验证任一不通过,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过;以及如果所述第二区块链管理器对所述第一区块的信任验证通过或严格验证中各项验证均通过,则对所述第一区块进行区块身份验证,如果所述第一区块通过区块身份验证中各项验证均通过,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证通过,否则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过。
由上,对于通过信任关系可以快速对一个区块的实现信任验证,结合后续区块身份验证去除过时区块和非有效区块,从而高效安全完整区块验证,支持实现高效安全的共识审批。
根据第一方面的第二种可能的实现方式,一种区块链管理器的区块共识审批的方法的第三种可能的实现方式中,所述第二区块链管理器对所述第一区块基于信任关系进行信任验证包括,第二区块链管理器对第一区块链管理器基于本地保存的信任列表进行核查,如果第一区块链管理器位于信任列表中,则第一区块信任验证通过;以及如果第一区块链管理器不在信任列表中,则第二区块链管理器将向其信任列表中各第三区块链管理器发送第一区块;以及各第三区块链管理器基于其本地保存的信任列表核查第一区块链管理器,如果任一第三区块链管理器发现第一区块管理在其本地的信任列表中,则该第三区块链管理器向第二区块链管理器汇报第一区块信任验证通过;以及其中,所述信任列表包含所述区块链网络中各区块链管理器成功接收的区块的发送方。
由上,基于第二区块链管理器或第三区块链管理器对第一区块链管理器曾经的信任关系状态直接对第一区块进行信任验证,适合各区块链管理器比较相近的区块链网络且区块链管理器之间信任关系是先验已知的,因为区块链管理器之间信任关系是先验已知的,基于上述方法不需要耗费各区块链管理器的大量计算时间和计算资源,从而提高共识审批的效率。
根据第一方面的第二种可能的实现方式,一种区块链管理器的区块共识审批的方法的第四种可能的实现方式中,所述区块身份验证包括,区块时间戳验证,其包括,第二区块链管理器检查当前时间戳与区块时间戳的差是否小于第二设定时间,如果小于第二设定时间,则区块时间戳验证通过,否则区块时间戳验证不通过;以及区块公钥验证,其包括,第二区块链管理器使用第一区块链管理器的公钥对第一区块的区块签名进行验证,如果验证通过,所述区块公钥验证通过。
由上,区块时间戳验证本质排除过时区块,过时区块通常会延迟到达,区块公钥验证为验证第一区块链管理器是否还有效,通过第二区块链管理器对第一区块的身份验证,可以判断第一区块是有效的非过时区块,从完成区块验证。
根据第一方面的第二种可能的实现方式,一种区块链管理器的区块共识审批的方法的第五种可能的实现方式中,所述严格验证包括,交易时间戳验证,其包括,第二区块链管理器检查当前时间戳与第一区块中各交易的交易时间戳的差是否都小于第三设定时间,如果都小于的话,则交易时间戳验证通过;交易公钥验证,其包括,第二区块链管理器对第一区块各交易的交易签名使用各交易的交易公钥进行验证,如果通过,则所述交易公钥验证通过。
由上,交易时间戳验证本质排除过时交易,过时交易通常会延迟到达,交易公钥验证本质为验证第一区块各交易发送方是否还有效,通过第二区块链管理器对第一区块的严格验证,可以判断第一区块各交易是有效的非过时交易,从而实现严格验证,进而实现信任验证未通过时的区块验证。
根据第一方面,一种区块链管理器的区块共识审批的方法的第六种可能的实现方式中,所述第一随机时间等于第二随机时间与第三随机时间的和,其中,所述第二随机时间大于或等于2倍的延迟时间且小于第一设定时间,所述第三随机时间等于第一随机数与延迟时间的乘积,第一随机数为从0到2的k次方减去1的差之间的随机数,所述延迟时间为第一区块链管理器与各第二区块链管理器间的最小传输延时。
由上,第一随机时间的第三随机时间基于退避算法设定,与第一区块共识审批的完成轮数K有关,当K越大时,第三随机时间越长,各第二区块链管理器收到的所述区块链网络共识审批通过区块就越多,如果这些通过共识审批的区块中包含的交易与第一区块中交易重合,则从各第二区块链管理器待验证的交易池中去除,帮助进行高效的后续的严格验证,从而高效安全进行第一区块共识审批。
第二方面,提供一种区块链管理器的区块共识审批的装置,用于区块链网络中第一区块链管理器时包括,区块生成模块,用于第一区块链管理器接收到一服务请求时,创建第一交易块,并把第一交易加入到当前区块中,生成第一区块,其中,其中,所述第一交易块包含交易时间戳、交易公钥、交易签名和交易报文,所述第一区块信息包含区块时间戳、区块链管理器签名和区块报文,所述交易时间戳为第一交易生成时间,所述交易公钥为所述服务请求者的公钥,所述交易签名为服务请求者私钥的签名,所述交易报文为服务请求中的服务信息,所述区块时间戳为第一区块生成时间,所述区块链管理器签名为第一区块链管理器公钥的签名,所述区块报文为服务请求中的服务信息;时间退避模块,用于如果所述第一区块完成共识审批的轮数K小于或等于第一设定阈值时,第一区块链管理器等待第一随机时间后,发送所述第一区块给所述区块链网络各第二区块链管理器以对第一区块进行一轮区块验证,其中,K的初值设置0;区块验证模块,用于第二区块链管理器收到第一区块链管理器发送的第一区块的区块验证请求时,对所述第一区块进行区块验证;共识审批判定模块,用于所述各第二区块链管理器对第一区块完成一轮区块验证后第一区块链管理器计算第一区块的共识通过率,如果共识通过率大于或等于第二设定阈值时,则第一区块的共识审批通过,第一区块链管理器将第一区块追加到第一区块链的末端,否则的话K值加1,以及如果共识通过率小于第二设定阈值且对所述第一区块完成共识审批的轮数K大于第一设定阈值时,所述第一区块共识审批失败;其中,所述共识通过率等于对所述第一区块的区块验证通过的第二区块链管理器的数目除以第二区块链管理器的总数的商,第一区块链管理器为所述区块链网络上收到所述服务请求的区块链管理器,第二区块链管理器为所述区块链网络上除第一区块链管理器以外的其他区块链管理器。
由上,在对第一区块的每轮区块验证时,第一区块链管理器等待第一随机时间后再发送第一区块,使第二区块链管理器在后续的区块验证中可以对第一区块链管理器是否是恶意的管理器进行判断,以及基于收到的其他区块链管理器发送的已经验证过的区块和其中交易,更加高效进行区块验证,从而进行高效而安全的共识审批。
根据第二方面,一种区块链管理器的区块共识审批的方装置的第一种可能的实现方式中,所述区块共识审批装置用于第二区块链管理器时包括,恶意管理器判断模块,用于在第一设定时间内第二区块链管理器对收到的第一区块链管理器的区块进行统计,生成所接收的第一区块链管理器的区块总数,当所述所接收的第一区块链管理器的区块总数大于第三设定阈值时,第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过;信任验证模块,用于所述所接收的第一区块链管理器的区块总数小于或等于第三设定阈值时,第二区块链管理器对所述第一区块进行信任验证;严格认证模块,用于第二区块链管理器对所述第一区块进行信任验证不通过时,第二区块链管理器对所述第一区块所有交易进行严格验证,如果所述严格验证中任一项验证不通过,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过;区块身份认证模块,用于第二区块链管理器对第一区块的信任验证通过或所述严格验证中各项验证均通过时对第一区块进行身份验证,以及如果所述第一区块的身份验证中各项验证均通过时,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证通过,否则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过。
由上,对于通过信任关系可以快速对一个区块的实现信任验证,结合后续区块身份验证去除过时区块和非有效区块,从而高效安全完整区块验证,支持实现高效安全的共识审批。
根据第二方面的第一种可能的实现方式,一种区块链管理器的区块共识审批的装置的第二种可能的实现方式中,所述共识审批装置用于第二区块链管理器时,所述信任验证模块包括,直接信任验证模块,用于第二区块链管理器在本地保存的信任列表核查对第一区块链管理器,如果第一区块链管理器在其信任列表中,则第一区块信任验证通过;区块转移发送模块,用于如果第一区块链管理器不在信任列表中,则第二区块链管理器将向信任列表中各第三区块链管理器发送第一区块;其中,所述信任列表包含区块链网络中各区块链管理器成功接收的区块的发送方。
由上,基于第二区块链管理器对第一区块链管理器曾经的信任关系状态直接对第一区块进行信任验证,适合各区块链管理器比较相近的区块链网络且区块链管理器之间信任关系是先验已知的,因为区块链管理器之间信任关系是先验已知的,基于上述方法不需要耗费各区块链管理器的大量计算时间和计算资源,从而提高共识审批的效率。
根据第二方面的第二种可能的实现方式,一种区块链管理器的区块共识审批的装置的第三种可能的实现方式中,所述共识审批装置用于第三区块链管理器时,包括间接信任验证模块,用于第三区块链管理器基于其本地保存的区块列表核查第一区块链管理器,如果任一第三区块链管理器发现第一区块管理在其本地的信任列表中,则改第三区块链管理器向第二区块链管理器汇报第一信任验证通过;
由上,基于第三区块链管理器对第一区块链管理器曾经的信任关系状态直接对第一区块进行信任验证,适合各区块链管理器比较相近的区块链网络且区块链管理器之间信任关系是先验已知的,因为区块链管理器之间信任关系是先验已知的,基于上述方法不需要耗费各区块链管理器的大量计算时间和计算资源,从而提高共识审批的效率。
根据第二方面的第一种可能的实现方式,一种区块链管理器的区块共识审批的装置的第四种可能的实现方式中,所述共识审批装置用于第二区块链管理器时,所述区块身份验证模块包括,区块时间戳验证模块,用于第二区块链管理器检查当前时间戳与区块时间戳的差是否小于第二设定时间,如果小于则区块时间戳验证通过;区块公钥验证模块,用于第二区块链管理器使用第一区块链管理的公钥对第一区块的区块签名进行验证,如果验证通过,所述区块公钥验证通过。
由上,区块时间戳验证本质排除过时区块,过时区块通常会延迟到达,区块公钥验证为验证第一区块链管理器是否还有效,通过第二区块链管理器对第一区块的身份验证,可以判断第一区块是有效的非过时区块,从完成区块验证。
根据第二方面的第一可能的实现方式,一种区块链管理器的区块共识审批的装置的第五可能的实现方式中,所述共识审批装置用于第二区块链管理器时,所述区块身份验证模块包括,交易时间戳验证模块,用于第二区块链管理器检查当前时间戳与第一区块中各交易的交易时间戳的差是否小于第三设定时间,如果小于的话,则交易时间戳验证通过;交易公钥验证模块,用于第二区块链管理器对第一区块各交易的交易签名使用相应交易的交易公钥进行验证,如果验证通过,所述交易公钥验证通过。
由上,交易时间戳验证本质排除过时交易,过时交易通常会延迟到达,交易公钥验证本质为验证第一区块各交易发送方是否还有效,通过第二区块链管理器对第一区块的严格验证,可以判断第一区块各交易是有效的非过时交易,从而实现严格验证,进而实现信任验证未通过时的区块验证。
根据第二方面,一种区块链管理器的区块共识审批的方装置的第六种可能的实现方式中,所述共识审批装置用于第一区块链管理器时,所述第一随机时间等于第二随机时间与第三随机时间的和,其中,所述第二随机时间大于或等于2倍的延迟时间乘积且小于第一设定时间,所述第二随机时间等于第一随机数与延迟时间的乘积,第一随机数为从0到2的k次方减去1的差的之间的随机数,延迟时间为第一区块链管理器与各第二区块链管理器间的最小传输延时。
由上,第一随机时间的第三随机时间基于退避算法设定,与第一区块共识审批的完成轮数K有关,当K越大时,第三随机时间越长,各第二区块链管理器收到的所述区块链网络共识审批通过区块就越多,如果这些通过共识审批的区块中包含的交易与第一区块中交易重合,则从各第二区块链管理器待验证的交易池中去除,帮助进行高效的后续的严格验证,从而高效安全进行第一区块共识审批。
第三方面,提供了一种计算设备,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本发明第一方面任一所述实施方式。
第四方面,提供了一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面任一所述实施方式任一所述实施方式。
第五方面,提供了一种区块链管理器,包括第二方面所述装置。
附图说明
图1A、本发明的区块链管理器共识审批流程示意图;
图1B、本发明的区块结构示意图;
图1C、本发明的交易结构示意图;
图1D、本发明的区块验证流程示意图;
图1E、本发明的信任验证流程示意图;
图2A、本发明的区块链管理器共识审批装置结构示意图;
图2B、本发明的区块验证模块结构示意图;
图2C、本发明的信任验证装置结构示意图;
图3、本发明的计算结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
下面基于图1A至附图1E介绍本发明的一种区块链管理器的区块共识审批的方法实施例。
【一种区块链管理器的区块共识审批的方法实施例】
图1A示出了一种区块链管理器的区块共识审批的方法实施例的流程图,其包括,
步骤110、第一区块链管理器基于接收的服务请求生成第一交易,把交易放到当前的区块中,生成第一区块。
其中,其中,所述第一交易块包含交易时间戳、交易公钥、交易签名和交易报文,所述第一区块信息包含区块时间戳、区块链管理器签名和区块报文,所述交易时间戳为第一交易生成时间,所述交易公钥为所述服务请求者的公钥,所述交易签名为服务请求者私钥的签名,所述交易报文为服务请求中的服务信息,所述区块时间戳为第一区块生成时间,所述区块链管理器签名为第一区块链管理器公钥的签名,所述区块报文为其交易块信息;
具体地,图1B示出了第一交易块的具体信息,其中,交易ID为交易的唯一标识,区块链管理器公钥的Hash为第一区块链管理器公钥的Hash,用于创建交易,交易公钥和交易签名用来记录交易发送方的详细身份信息,时间戳是初始化交易的时间交易生成的时间,交易接收时间为第一区块链管理器收到服务请求的时间。图1C从示出了第一区块的具体信息,其中,区块ID是区块的唯一标识,交易数量是指单个区块中包含的交易的总数,区块时间戳表示区块链管理器生成该区块的时间,区块公钥和区块签名用来记录区块链管理器的详细身份信息。所有的交易以Merkle树的结构进行组织,Merkle树根是对单个区块中所有交易的验证。
步骤120、第一区块链管理器等待第一随机时间后,向各第二区块链管理器发送第一区块。
其中,第二区块链管理器为所述区块链网络中除了第一区块链管理器的其他区块链管理器,所述第一随机时间等于第二随机时间与第三随机时间的和,所述第二随机时间大于或等于2倍的延迟时间乘积且小于第一设定时间,所述第三随机时间等于第一随机数与延迟时间的乘积,第一随机数为从0到2的k次方减去1的差之间的随机数,所述延迟时间为第一区块链管理器与各第二区块链管理器间的最小传输延时。具体地,本实施例中第一设定时间一般设置为2分钟。
由上,第一随机时间的第三随机时间基于退避算法设定,与第一区块共识审批的完成轮数K有关,当K越大时,第三随机时间越长,各第二区块链管理器收到的所述区块链网络共识审批通过区块就越多,如果这些通过共识审批的区块中包含的交易与第一区块中交易重合,则从各第二区块链管理器待验证的交易池中去除,帮助进行高效的后续的严格验证,从而高效安全进行第一区块共识审批。
由上,第一随机时间的第二随机时间设置的最小值,确保各第二区块链管理器有足够的时间传播所述区块链网络的各区块链管理器生成的新区块,便于各第二区块链管理器度量各区块链管理器生成的新区块生成区块的频率,从而发现恶意频繁生成区块的区块链管理器。
步骤130、各第二区块链管理器对第一区块进行区块验证。
其中,为了高效进行共识审批,本步骤中仅对未通过第一区块区块验证的第二区块链管理器发送第一区块,已经通过第一区块的区块验证的第二区块链管理器在本轮共识审批中可以认为其已经通过共识验证,所述共识通过率等于对所述第一区块的区块验证通过的第二区块链管理器的数目除以第二区块链管理器的总数的商。具体区块验证详细方法请参考【区块验证方法】。
由上,各第二区块链管理器对第一区块的区块验证是对第一区块共识审批的重要过程,共识通过率用于判断共识审批是否通过。
步骤140、判断当前的共识通过率是否大于第二设置阈值,即第一区块是否通过审批。
具体地,第二设定阈值可以设置为大于50%的数目,本实施例设置为51%,如果第一区块的共识通过率大于或等51%,则第一区块通过共识审批,转入步骤150;如果第一区块的共识通过率小于51%,则转入步骤160。
步骤150、输出第一区块通过共识审批,把第一区块添加到区块链的末端。
由上,完成第一区块通过共识审批后,第一区块中各第一交易合法,其中的信息也添加到第一区块链,便于各区块链管理器访问。
步骤160、判断K是大于第一设定阈值,即对第一区块的共识审批是否达到最大次数,第二设定阈值为第一区块的共识审批的最大轮数。
如果已经达到最大轮数,则第一区块共识审批失败,转入步骤170,否则转入步骤120,继续共识审批。
步骤170、输出第一区块共识审批失败,且删除第一区块。
【区块验证方法】
图1D示出了本发明的方法实施例中的区块验证方法的流程,包括,
步骤1310、第二区块链管理器统计在第一设定时间内的第一区块链管理器发送的区块数目M。
其中,基于在第一设定时间统计的第一区块链管理器发送的区块数目,及第一区块链管理器产生区块的频率。已知第一设定时间一般设置2分钟。
由上,上述方法统计的第一区块链管理器产生区块的频率,可用于判断第一区块链管理器是否恶意区块链管理器,以提高区块链的安全。
步骤1320、判断所述区块数目M是否大于第三设定阈值,即判断第一区块链管理器是否恶意区块链管理器。
其中,如果所述区块数目M是大于第三设定阈值,则判断第一区块链管理器是恶意区块链管理器,转入步骤1392,否则转入步骤1330,继续区块验证。三设定阈值一般根据网络的实际计算量设置,本实施例中设置为10。
步骤1330、第二区块链管理器对第一区块进行信任验证。
其中,信任验证的主要方法参考【信任验证方法】,通过信任认证则证明第二区块链管理器或其信任的区块链管理器曾成功接收第一区块链管理器的区块,说明第一区块链管理器对第二区块管理器来说是可以信任的。
步骤1340、判断第二区块链管理器对第一区块的信任验证是否通过。
其中,如果第一区块通过第二区块链管理器的信任验证,则转入步骤1350,继续第一区块管理器的身份验证,否则转入步骤1360,对第一区块进行严格认证。
步骤1350、第二区块链管理器对第一区块进行身份验证,包括区块时间戳验证和区块公钥验证。
其中,区块时间戳验证包括,第二区块链管理器检查当前时间戳与区块时间戳的差是否小于第二设定时间,如果小于第二设定时间,则区块时间戳验证通过,否则区块时间戳验证不通过;区块公钥验证包括,使用第一区块的公钥对第一区块的签名进行验证,如果验证通过,所述区块公钥验证通过。
由上,区块时间戳验证本质排除过时区块,过时区块通常会延迟到达,区块公钥验证为验证第一区块链管理器是否还有效,通过第二区块链管理器对第一区块的身份验证,可以判断第一区块是有效的非过时区块,从完成区块验证。
步骤1360、第二区块链管理器对非通过信任验证的第一区块进行严格验证,严格验证包括对第一区块的所有交易的交易时间戳验证和交易公钥验证。
交易时间戳验证包括,第二区块链管理器检查当前时间戳与第一区块各交易时间戳的时间差是否小于第二设定时间,如果所述各交易的所述时间差均小于第二设定时间,则交易时间戳验证通过,否则交易时间戳验证不通过;交易公钥验证包括,使用第一区块各交易的公钥对第一区块的各交易的签名进行验证,如果所述各交易的签名均通过验证,所述交易公钥验证通过。
由上,交易时间戳验证本质排除过时交易,过时交易通常会延迟到达,交易公钥验证本质为验证第一区块各交易发送方是否还有效,通过第二区块链管理器对第一区块的严格验证,可以判断第一区块各交易是有效的非过时交易。
步骤1370、判断第一区块是否通过区块身份验证。
其中,如果第一区块是否通过区块身份验证,则第一区块通过第二区块链管理器的区块验证,转入步骤1391,否则,第一区块未通过第二区块链管理器的区块验证,转入步骤1392。
步骤1380、判断第一区块是否通过严格验证。
其中,如果第一区块是否通过严格验证,则第转入步骤1350继续区块身份验证,否则,第一区块未通过第二区块链管理器的区块验证,转入步骤1392。
步骤1391、第二区块链管理器向第一区块链管理器汇报第一区块通过区块验证。
步骤1392、第二区块链管理器向第一区块链管理器汇报第一区块未通过区块验证。
【信任验证方法】
图1E示出了本发明的方法实施例中的信任验证方法的流程,包括,
步骤1331、第二区块链管理器在其信任列表中查找第一区块链管理器。
其中,所述信任列表包含区块链网络中各区块链管理器成功接收的区块的发送方。如果第一区块链管理器在第二区块链管理器的信任列表中,说明第二区块链管理器对第一区块链管理器曾存在直接信任关系。
由上,基于第二区块链管理器对第一区块链管理器曾经的信任关系状态直接对第一区块进行信任验证,适合各区块链管理器比较相近的区块链网络且区块链管理器之间信任关系是先验已知的,因为区块链管理器之间信任关系是先验已知的,基于上述方法不需要耗费各区块链管理器的大量计算时间和计算资源,从而提高共识审批的效率。
步骤1332、判断第一区块链管理器在是否第二区块链管理器的信任列表中。
其中,如果第一区块链管理器在第二区块链管理器的信任列表中,说明第二区块链管理器对第一区块链管理器层存在直接信任关系,转入步骤1337,否则转入步骤1333。
步骤1333,第二区块链管理器向各第三区块链管理器发送第一区块。
其中,所述第三区块链管理器为第二区块链管理器的信任列表中各个区块链管理器。
步骤1334,各第三区块链管理器在其信任列表中查找第一区块链管理器。
其中,如果第一区块链管理器在第三区块链管理器的信任列表中,说明第三区块链管理器对第一区块链管理器曾存在直接信任关系。
由上,基于第三区块链管理器对第一区块链管理器曾经的信任关系状态直接对第一区块进行信任验证,不需要耗费各第三区块链管理器的大量计算时间和计算资源,从而提高共识审批的效率。
步骤1335、判断第一区块链管理器是否在任一第三区块链管理器的信任列表中。
其中,如果第一区块链管理器是任一第三区块链管理器的信任列表中,说明该第三区块链管理器对第一区块链管理器曾经有信任关系,则第一区块通过第三区块链管理器的信任验证,转入步骤1337,否则转入步骤1336。
步骤1336,输出第一区块未通过第二区块链管理器的信任验证。
步骤1337,输出第一区块通过第二区块链管理器的信任验证。
综上,一种区块链管理器的区块共识审批的方法实施例通过所述区块链网络中各区块链管理器曾经的信任关系,对包含交易的区块进行信任验证,从而实现对区块的高效的共识审批。同时使用基于时间的退避算法,去除过时或恶意交易、过时或恶意区块和恶意区块链管理,结合区块公钥和交易公钥验证区块或交易的身份,实现安全的高效的区块共识审批。
下面基于图2A至图2C介绍本发明的一种区块链管理器的区块共识审批的装置实施例。
【一种区块链管理器的区块共识审批的装置实施例】
图2A示出了一种区块链管理器的区块共识审批的装置实施例的结构示意图,其包括,
区块生成模块210,用于第一区块链管理器接收到一服务请求时,创建第一交易块,并把第一交易加入到当前区块中,生成第一区块,其中,其中,所述第一交易块包含交易时间戳、交易签名和交易报文,所述第一区块信息包含区块时间戳、区块链管理器签名和区块报文,所述交易时间戳为第一交易生成时间,所述交易签名为服务请求者私钥的签名,所述交易报文为服务请求中的服务信息,所述区块时间戳为第一区块生成时间,所述区块链管理器签名为第一区块链管理器公钥的签名,所述区块报文为服务请求中的服务信息。
具体地,该模块的工作原理和优点同一种区块链管理器的区块共识审批的方法实施例的步骤110,这里不在详述。
时间退避模块220,用于如果所述第一区块完成共识审批的轮数K小于或等于第一设定阈值时,第一区块链管理器等待第一随机时间后,发送所述第一区块给所述区块链网络各第二区块链管理器以对第一区块进行一轮区块验证,其中,K的初值设置0,各第二区块链管理器对所述第一区块完成一轮共识审批时,K值加1。
具体地,该模块的工作原理和优点同一种区块链管理器的区块共识审批的方法实施例的步骤120,这里不在详述。
区块验证模块230,用于第二区块链管理器收到第一区块链管理器发送的第一区块的区块验证请求时,对所述第一区块进行区块验证。
具体地,该模块的工作原理和优点同一种区块链管理器的区块共识审批的方法实施例的步骤130,这里不在详述。
共识审批判断模块240,用于所述各第二区块链管理器对第一区块完成一轮区块验证后第一区块链管理器计算第一区块的共识通过率,如果共识通过率大于或等于第二设定阈值时,则第一区块的共识审批通过,第一区块链管理器将第一区块追加到第一区块链的末端,以及如果共识通过率小于第二设定阈值且对所述第一区块完成共识审批的轮数K大于第一设定阈值时,所述第一区块共识审批失败;其中,所述共识通过率等于对所述第一区块的区块验证通过的第二区块链管理器的数目除以第二区块链管理器的总数的商。
具体地,该模块的工作原理包含一种区块链管理器的区块共识审批的方法实施例的步骤140、步骤150、步骤160、步骤170,该模块优点包含上述各步骤描述的方法的优点,这里不在详述。
【区块验证模块】
图2B示出了区块验证模块的结构示意图。其包括,
恶意管理器判断模块2310,用于在第一设定时间内第二区块链管理器对收到的第一区块链管理器的区块进行统计,生成所接收的第一区块链管理器的区块总数,当所述所接收的第一区块链管理器的区块总数大于第三设定阈值时,第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过。
具体地,该模块的工作原理包括一种区块链管理器的区块共识审批的方法实施例的区块验证方法的步骤1310、步骤1320和步骤1392,该模块优点包含上述各步骤描述的方法的优点,这里不在详述。
信任验证模块2320,用于所述所接收的第一区块链管理器的区块总数小于或等于第三设定阈值时,第二区块链管理器对所述第一区块进行信任验证。
具体地,该模块的工作原理包括一种区块链管理器的区块共识审批的方法实施例的区块验证方法的步骤1330和步骤1340,该模块优点包含上述各步骤描述的方法的优点,这里不在详述。
严格验证模块2340,用于第二区块链管理器对所述第一区块进行信任验证不通过时,第二区块链管理器对所述第一区块所有交易进行严格验证,如果所述严格验证中任一项验证不通过,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过。
其中,从结构该模块还包括,
交易时间戳验证模块,用于第二区块链管理器检查当前时间戳与第一区块中各交易的时间戳的差是否小于第三设定时间,如果小于的话,则交易时间戳验证通过;
交易公钥验证模块,用于第二区块链管理器对第一区块各交易的签名使用相应交易的公钥进行验证,如果验证通过,所述交易公钥验证通过。
具体地,该模块的工作原理包括一种区块链管理器的区块共识审批的方法实施例的区块验证方法的步骤1360、步骤1370和步骤1392,该模块优点包含上述各步骤描述的方法的优点,这里不在详述。
区块身份认证模块2330,用于第二区块链管理器对第一区块的信任验证通过或所述严格验证中各项验证均通过时对第一区块进行身份验证,以及如果所述第一区块的身份验证中各项验证均通过时,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证通过,否则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过。
其中,从结构该模块还包括,
区块时间戳验证模块,用于第二区块链管理器检查当前时间戳与区块时间戳的差是否小于第二设定时间,如果小于则区块时间戳验证通过;
区块公钥验证模块,用于第二区块链管理器使用第一区块的公钥对第一区块的签名进行验证,如果验证通过,所述区块公钥验证通过。
具体地,该模块的工作原理包括一种区块链管理器的区块共识审批的方法实施例的区块验证方法的步骤1350、步骤1370、步骤1391和步骤1392,该模块优点包含上述各步骤描述的方法的优点,这里不在详述。
【信任验证模块】
图2C示出了区块验证模块的结构示意图。其包括,
直接信任验证模块2321,用于第二区块链管理器在本地保存的信任列表核查对第一区块链管理器,如果第一区块链管理器在其信任列表中,则第一区块信任验证通过,其中,所述信任列表包含区块链网络中各区块链管理器成功接收的区块的发送方。
具体地,该模块的工作原理包括一种区块链管理器的区块共识审批的方法实施例的信任验证方法的步骤1331、步骤1332和步骤1337,该模块优点包含上述各步骤描述的方法的优点,这里不在详述。
区块转移发送模块2322,用于如果第一区块链管理器不在信任列表中,则第二区块链管理器将向信任列表中各第三区块链管理器发送第一区块。
具体地,该模块的工作原理包括一种区块链管理器的区块共识审批的方法实施例的信任验证方法的步骤1333,该模块优点包含上述步骤描述的方法的优点,这里不在详述。
间接信任验证模块2323,用于第三区块链管理器基于其本地保存的区块列表核查第一区块链管理器,如果任一第三区块链管理器发现第一区块管理在其本地的信任列表中,则改第三区块链管理器向第二区块链管理器汇报第一信任验证通过
具体地,该模块的工作原理包括一种区块链管理器的区块共识审批的方法实施例的信任验证方法的步骤1334、步骤1335、步骤1336和步骤1337,该模块优点包含上述各步骤描述的方法的优点,这里不在详述。
综上,一种区块链管理器的区块共识审批的装置实施例通过所述区块链网络中各区块链管理器曾经的信任关系,对包含交易的区块进行信任验证,从而实现对区块的高效的共识审批。同时使用基于时间的退避算法,去除过时或恶意交易、过时或恶意区块和恶意区块链管理,结合区块公钥和交易公钥验证区块或交易的身份,实现安全的高效的区块共识审批。
本发明还提供了一种区块链管理器,包括一种区块链管理器的区块共识审批的装置实施例所述各装置。
该区块链管理器具有一种区块链管理器的区块共识审批的装置实施例中所述第一区块链管理器、第一区块链管理器和第一区块链管理器的各模块。
【计算设备】
本发明还提供的一种计算设备,下面图3详细介绍。
该计算设备300包括,处理器310、存储器320、通信接口330、总线340。
应理解,该图所示的计算设备300中的通信接口330可以用于与其他设备之间进行通信。
其中,该处理器310可以与存储器320连接。该存储器320可以用于存储该程序代码和数据。因此,该存储器320可以是处理器310内部的存储单元,也可以是与处理器310独立的外部存储单元,还可以是包括处理器310内部的存储单元和与处理器310独立的外部存储单元的部件。
可选的,计算设备300还可以包括总线340。其中,存储器320、通信接口330可以通过总线340与处理器310连接。总线340可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(EFStended Industry StandardArchitecture,EISA)总线等。所述总线340可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本发明实施例中,该处理器310可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器310采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
该存储器320可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。处理器310的一部分还可以包括非易失性随机存取存储器。例如,处理器310还可以存储设备类型的信息。
在计算设备300运行时,所述处理器310执行所述存储器320中的计算机执行指令执行各方法实施例的操作步骤。
应理解,根据本发明实施例的计算设备300可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备300中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
【计算介质】
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行各方法实施例的操作步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
Claims (8)
1.一种区块链管理器的区块共识审批方法,其特征在于,包括:
第一区块链管理器产生第一区块,发送至其所在区块链网络上进行多轮区块验证,一轮区块验证为所述区块链网络的各第二区块链管理器对第一区块各完成一次区块验证;
如果所述第一区块完成区块验证的轮数K小于或等于第一设定阈值时,第一区块链管理器等待第一随机时间后,发送第一区块给所述区块链网络中各第二区块链管理器以对第一区块进行区块验证,其中,K的初值设置0;
第二区块链管理器收到第一区块链管理器发送的第一区块的区块验证请求时,对所述第一区块进行区块验证;
所述各第二区块链管理器对第一区块完成一轮区块验证后,第一区块链管理器计算第一区块的共识通过率,如果共识通过率大于或等于第二设定阈值时,则第一区块的共识审批通过,第一区块链管理器将第一区块追加到第一区块链的末端,否则,K值加1;
如果共识通过率小于第二设定阈值且对所述第一区块完成共识审批的轮数K大于第一设定阈值时,所述第一区块共识审批失败;
其中,第二区块链管理器为所述区块链网络上除第一区块链管理器以外的其他各区块链管理器,所述共识通过率等于对所述第一区块的区块验证通过的第二区块链管理器的数目除以第二区块链管理器的总数的商;
所述第二区块链管理器对所述第一区块的区块验证包括:
在第一设定时间内第二区块链管理器对收到的第一区块链管理器的区块进行统计,生成所接收的第一区块链管理器的区块总数,当所述所接收的第一区块链管理器的区块总数大于第三设定阈值时,第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过;以及
当所接收的第一区块链管理器的区块总数小于或等于第三设定阈值时,第二区块链管理器对所述第一区块基于信任关系进行信任验证;以及
如果所述第二区块链管理器对所述第一区块的信任验证不通过,则第二区块链管理器对第一区块进行严格验证,如果第二区块链管理器对所述第一区块的严格验证中各项验证任一不通过,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过;以及
如果所述第二区块链管理器对所述第一区块的信任验证通过或严格验证中各项验证均通过,则对所述第一区块进行区块身份验证,如果所述第一区块通过区块身份验证中各项验证均通过,则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证通过,否则第二区块链管理器向第一区块链管理器汇报第一区块的区块验证不通过;
所述第二区块链管理器对所述第一区块基于信任关系进行信任验证包括:
第二区块链管理器对第一区块链管理器基于本地保存的信任列表进行核查,如果第一区块链管理器位于信任列表中,则第一区块信任验证通过;以及
如果第一区块链管理器不在信任列表中,则第二区块链管理器将向其信任列表中各第三区块链管理器发送第一区块;以及
各第三区块链管理器基于其本地保存的信任列表核查第一区块链管理器,如果任一第三区块链管理器发现第一区块管理在其本地的信任列表中,则该第三区块链管理器向第二区块链管理器汇报第一区块信任验证通过;其中,所述信任列表包含所述区块链网络中各区块链管理器成功接收的区块的发送方;
所述区块身份验证包括区块时间戳验证和区块公钥验证,其中,区块时间戳验证包括:第二区块链管理器检查当前时间戳与区块时间戳的差是否小于第二设定时间,如果小于第二设定时间,则区块时间戳验证通过,否则区块时间戳验证不通过;区块公钥验证包括,第二区块链管理器使用第一区块链管理器的公钥对第一区块的区块签名进行验证,如果验证通过,所述区块公钥验证通过;
所述严格验证包括交易时间戳验证和交易公钥验证,其中,交易时间戳验证包括:第二区块链管理器检查当前时间戳与第一区块中各交易的交易时间戳的差是否都小于第三设定时间,如果都小于的话,则交易时间戳验证通过;其中,交易公钥验证包括:第二区块链管理器对第一区块各交易的交易签名使用各交易的交易公钥进行验证,如果通过,则所述交易公钥验证通过。
2.根据权利要求1所述方法,其特征在于,所述第一区块链管理器产生第一区块包括:
第一区块链管理器基于接收的服务请求创建第一交易块,并把第一交易加入到当前区块中,生成第一区块, 其中,所述第一交易块包含交易时间戳、交易公钥和交易签名,第一区块信息包含区块时间戳和区块链管理器签名,所述交易时间戳为第一交易生成时间,所述交易公钥为服务请求者的公钥,所述交易签名为服务请求者私钥的签名,所述区块时间戳为第一区块生成时间,所述区块链管理器签名为第一区块链管理器公钥的签名。
3.根据权利要求1所述方法,其特征在于,所述第一随机时间等于第二随机时间与第三随机时间的和,其中,所述第二随机时间大于或等于2倍的延迟时间且小于第一设定时间,所述第三随机时间等于第一随机数与延迟时间的乘积,第一随机数为从0到2的k次方减去1的差之间的随机数,所述延迟时间为第一区块链管理器与各第二区块链管理器间的最小传输延时。
4.一种区块链管理器的区块共识审批装置,其特征在于,用于区块链网络中第一区块链管理器,其包括:
区块生成模块,用于接收到服务请求,及基于所述服务请求创建第一交易块,并把第一交易加入到当前区块中,生成第一区块,其中,所述第一交易块包含交易时间戳、交易公钥和交易签名,第一区块信息包含区块时间戳、区块链管理器签名,所述交易时间戳为第一交易生成时间,所述交易公钥为服务请求者的公钥,所述交易签名为服务请求者私钥的签名,所述区块时间戳为第一区块生成时间,所述区块链管理器签名为第一区块链管理器公钥的签名;
时间退避模块,用于如果所述第一区块完成区块验证的轮数K小于或等于第一设定阈值时,等待第一随机时间后,发送所述第一区块给其所在区块链网络中的各第二区块链管理器以对第一区块进行新一轮区块验证,其中,K的初值设置0,一轮区块验证为所述区块链网络的各第二区块链管理器对第一区块各完成一次区块验证;
共识审批判定模块,用于在其他各区块链管理器对第一区块完成一轮区块验证后发送第一区块的区块链管理器计算第一区块的共识通过率,如果共识通过率大于或等于第二设定阈值时,则第一区块的共识审批通过,第一区块链管理器将第一区块追加到第一区块链的末端,否则的话 K值加1,以及如果共识通过率小于第二设定阈值且对所述第一区块完成共识审批的轮数K大于第一设定阈值时,所述第一区块共识审批失败;
其中,第一区块链管理器为所述区块链网络上收到所述服务请求的区块链管理器,第二区块链管理器为所述区块链网络上除第一区块链管理器以外的其他区块链管理器,所述共识通过率等于对所述第一区块的区块验证通过的第二区块链管理器的数目除以第二区块链管理器的总数的商;
其中,所述区块共识审批装置用于第二区块链管理器时,包括:
区块验证模块,用于收到第一区块链管理器发送的第一区块的区块验证请求时,对所述第一区块进行区块验证;
且所述区块验证模块包括:
恶意管理器判断模块,用于在第一设定时间内对收到的第一区块链管理器的区块进行统计,生成所接收的第一区块链管理器的区块总数,当所述所接收的第一区块链管理器的区块总数大于第三设定阈值时,则向第一区块链管理器汇报第一区块的区块验证不通过;以及
信任验证模块,用于所述所接收的第一区块链管理器的区块总数小于或等于第三设定阈值时,对所述第一区块进行信任验证;以及
严格认证模块,用于对所述第一区块进行信任验证不通过时,对所述第一区块所有交易进行严格验证,如果所述严格验证中任一项验证不通过,则向第一区块链管理器汇报第一区块的区块验证不通过;以及
区块身份认证模块,用于对第一区块的信任验证通过或所述严格验证中各项验证均通过时对第一区块进行身份验证,以及如果所述第一区块的身份验证中各项验证均通过时,则向第一区块链管理器汇报第一区块的区块验证通过,否则向第一区块链管理器汇报第一区块的区块验证不通过;
所述共识审批装置用于第二区块链管理器时,所述信任验证模块包括:
直接信任验证模块,用于在本地保存的信任列表核查对第一区块链管理器,如果第一区块链管理器在其信任列表中,则第一区块信任验证通过;以及
区块转移发送模块,用于如果第一区块链管理器不在信任列表中,则向信任列表中各第三区块链管理器发送第一区块以让第三区块链管理器对第一区块进行信任验证,其中,所述信任列表包含区块链网络中各区块链管理器成功接收的区块的发送方;
所述共识审批装置用于第三区块链管理器时,包括:间接信任验证模块,用于基于其本地保存的区块列表核查第一区块链管理器,如果任一第三区块链管理器发现第一区块管理在其本地的信任列表中,则改第三区块链管理器向第二区块链管理器汇报第一信任验证通过;
所述共识审批装置用于第二区块链管理器时,所述区块身份验证模块包括:区块时间戳验证模块,用于检查当前时间戳与区块时间戳的差是否小于第二设定时间,如果小于则区块时间戳验证通过;以及
区块公钥验证模块,用于使用第一区块的区块公钥对第一区块的区块签名进行验证,如果验证通过,所述区块公钥验证通过;
所述共识审批装置用于第二区块链管理器时,所述严格认证模块包括:交易时间戳验证模块,用于检查当前时间戳与第一区块中各交易的交易时间戳的差是否小于第三设定时间,如果小于的话,则交易时间戳验证通过;以及
交易公钥验证模块,用于对第一区块各交易的签名使用相应交易的交易公钥进行验证,如果验证通过,所述交易公钥验证通过。
5.根据权利要求4所述装置,其特征在于,所述共识审批装置用于第一区块链管理器时,所述第一随机时间等于第二随机时间与第三随机时间的和,其中,所述第二随机时间大于或等于2倍的延迟时间且小于第一设定时间,所述第二随机时间等于第一随机数与延迟时间的乘积,第一随机数为从0到2的k次方减去1的差的之间的随机数,延迟时间为第一区块链管理器与各第二区块链管理器间的最小传输延时。
6.一种计算设备,其特征在于,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至3任一所述方法。
7.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至3任一所述方法。
8.一种区块链管理器,其特征在于,包括权利要求4至5任一所述装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462721.6A CN112541763B (zh) | 2020-12-11 | 2020-12-11 | 一种区块链管理器的区块共识审批的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462721.6A CN112541763B (zh) | 2020-12-11 | 2020-12-11 | 一种区块链管理器的区块共识审批的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112541763A CN112541763A (zh) | 2021-03-23 |
CN112541763B true CN112541763B (zh) | 2024-04-30 |
Family
ID=75020097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011462721.6A Active CN112541763B (zh) | 2020-12-11 | 2020-12-11 | 一种区块链管理器的区块共识审批的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112541763B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021357A (zh) * | 2014-06-26 | 2014-09-03 | 军工保密资格审查认证中心 | 计算机存储卡注册绑定及对注册绑定存储卡识别的方法 |
CN108985772A (zh) * | 2018-07-02 | 2018-12-11 | 上海达家迎信息科技有限公司 | 一种区块链的验证方法、装置、设备及存储介质 |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
KR101975822B1 (ko) * | 2018-10-26 | 2019-05-08 | (주)리그시스템 | 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 |
CN109831425A (zh) * | 2019-01-25 | 2019-05-31 | 中国联合网络通信集团有限公司 | 区块链共识方法、装置、设备及计算机可读存储介质 |
CN109949157A (zh) * | 2019-03-08 | 2019-06-28 | 矩阵元技术(深圳)有限公司 | 一种区块链共识的处理方法、装置及系统 |
CN109995536A (zh) * | 2019-03-15 | 2019-07-09 | 广州杰赛科技股份有限公司 | 一种区块链共识方法、装置及可读存储介质 |
GB201913987D0 (en) * | 2019-09-27 | 2019-11-13 | Nchain Holdings Ltd | Time-locked blockchain transactions and related blockchain technology |
CN110602117A (zh) * | 2019-09-20 | 2019-12-20 | 浙江树人学院(浙江树人大学) | 基于区块链的车联网节点一致性共识方法 |
WO2020048440A1 (zh) * | 2018-09-07 | 2020-03-12 | 腾讯科技(深圳)有限公司 | 代表节点设备选举方法、装置、计算机设备及存储介质 |
CN111062811A (zh) * | 2019-12-02 | 2020-04-24 | 远光软件股份有限公司 | 一种区块链共识方法、系统、存储介质 |
WO2020147489A1 (zh) * | 2019-01-18 | 2020-07-23 | 阿里巴巴集团控股有限公司 | 区块链交易的生成方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10230756B2 (en) * | 2015-11-25 | 2019-03-12 | International Business Machines Corporation | Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network |
US10360191B2 (en) * | 2016-10-07 | 2019-07-23 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
CN107592292B (zh) * | 2017-07-26 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种区块链节点间通信方法及装置 |
US11836720B2 (en) * | 2018-03-12 | 2023-12-05 | The Pen | Infinitely scalable cryptocurrency system with fast, secure verification |
US11088827B2 (en) * | 2018-07-09 | 2021-08-10 | At&T Intellectual Property I, L.P. | Location-based blockchain |
US20200162261A1 (en) * | 2018-11-18 | 2020-05-21 | Ramachandran Iyer | System and method of blockchain consensus mechanism with custom hardware based on geographic distribution, density, node asset and reputation |
-
2020
- 2020-12-11 CN CN202011462721.6A patent/CN112541763B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021357A (zh) * | 2014-06-26 | 2014-09-03 | 军工保密资格审查认证中心 | 计算机存储卡注册绑定及对注册绑定存储卡识别的方法 |
CN108985772A (zh) * | 2018-07-02 | 2018-12-11 | 上海达家迎信息科技有限公司 | 一种区块链的验证方法、装置、设备及存储介质 |
WO2020048440A1 (zh) * | 2018-09-07 | 2020-03-12 | 腾讯科技(深圳)有限公司 | 代表节点设备选举方法、装置、计算机设备及存储介质 |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
KR101975822B1 (ko) * | 2018-10-26 | 2019-05-08 | (주)리그시스템 | 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 |
WO2020147489A1 (zh) * | 2019-01-18 | 2020-07-23 | 阿里巴巴集团控股有限公司 | 区块链交易的生成方法和装置 |
CN109831425A (zh) * | 2019-01-25 | 2019-05-31 | 中国联合网络通信集团有限公司 | 区块链共识方法、装置、设备及计算机可读存储介质 |
CN109949157A (zh) * | 2019-03-08 | 2019-06-28 | 矩阵元技术(深圳)有限公司 | 一种区块链共识的处理方法、装置及系统 |
CN109995536A (zh) * | 2019-03-15 | 2019-07-09 | 广州杰赛科技股份有限公司 | 一种区块链共识方法、装置及可读存储介质 |
CN110602117A (zh) * | 2019-09-20 | 2019-12-20 | 浙江树人学院(浙江树人大学) | 基于区块链的车联网节点一致性共识方法 |
GB201913987D0 (en) * | 2019-09-27 | 2019-11-13 | Nchain Holdings Ltd | Time-locked blockchain transactions and related blockchain technology |
CN111062811A (zh) * | 2019-12-02 | 2020-04-24 | 远光软件股份有限公司 | 一种区块链共识方法、系统、存储介质 |
Non-Patent Citations (4)
Title |
---|
一种基于信任协商机制的云服务资源信任验证方法;杨绍禹;王世卿;郭晓峰;;计算机科学(第07期);全文 * |
区块链共识算法的比较研究;宋焘谊;赵运磊;;计算机应用与软件(第08期);全文 * |
基于区块链共识机制的SDWAN零信任网络架构;罗可人;;集成电路应用(第07期);全文 * |
基于区块链技术的车联网汽车身份认证可行性研究;刘勇;李飞;高路路;徐翔;;汽车技术(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112541763A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112435028B (zh) | 一种基于区块链的物联网数据共享方法及装置 | |
Studer et al. | Flexible, extensible, and efficient VANET authentication | |
CN108665359B (zh) | 区块链处理方法、记账节点及验证节点 | |
KR101962686B1 (ko) | 전자 투표 시스템 및 방법 | |
Oham et al. | A blockchain based liability attribution framework for autonomous vehicles | |
US10880285B2 (en) | Self-driving vehicle test authentication | |
CN111698255B (zh) | 一种业务数据传输方法、设备及系统 | |
US20080235509A1 (en) | Method for exchanging messages and verifying the authenticity of the messages in an ad hoc network | |
KR20190054738A (ko) | 비잔틴 장애를 극복 가능한 블록체인 생성 방법 | |
CN112311788A (zh) | 一种访问控制方法、装置、服务器及介质 | |
CN106792681B (zh) | 用于车联网的入侵检测方法和装置及设备 | |
CN113256297B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN110517145B (zh) | 基于多区块链间的数据交易方法及相关设备 | |
Yao et al. | Accident responsibility identification model for Internet of Vehicles based on lightweight blockchain | |
CN112087502A (zh) | 处理请求的方法、装置、设备及存储介质 | |
CN110648534A (zh) | 基于区块链的物联网的交通数据上链方法及设备 | |
Rathore et al. | TangleCV: Decentralized technique for secure message sharing in connected vehicles | |
CN112235301A (zh) | 访问权限的验证方法、装置和电子设备 | |
CN112202564A (zh) | 交易传递方法、装置、电子设备及可读存储介质 | |
Zhang et al. | Secure and reliable parking protocol based on blockchain for VANETs | |
Limbasiya et al. | Autosec: Secure automotive data transmission scheme for in-vehicle networks | |
CN113612616A (zh) | 一种基于区块链的车辆通信方法和装置 | |
CN112037062B (zh) | 交易共识方法、装置、电子设备及可读存储介质 | |
CN112541763B (zh) | 一种区块链管理器的区块共识审批的方法及装置 | |
CN112102078B (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 |