CN113076375B - 基于区块链的多方同步抽样共识方法及系统及装置及介质 - Google Patents
基于区块链的多方同步抽样共识方法及系统及装置及介质 Download PDFInfo
- Publication number
- CN113076375B CN113076375B CN202110333815.1A CN202110333815A CN113076375B CN 113076375 B CN113076375 B CN 113076375B CN 202110333815 A CN202110333815 A CN 202110333815A CN 113076375 B CN113076375 B CN 113076375B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- participating
- hash value
- data information
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于区块链的多方同步抽样共识方法及系统及装置及介质,涉及区块链领域,发起节点对所有参与节点发出共识请求;参与节点收到共识请求后,参与节点向发起节点发出获取数据信息请求;发起节点收到获取数据信息请求后,判断发出获取数据信息请求的参与节点的身份信息;发起节点判断参与节点身份信息准确后,将数据信息发送给参与节点;发起节点根据数据信息获取目标数据的哈希值A,并上链存储;参与节点根据数据信息随机获取目标数据中的一段抽样数据,获取抽样数据的哈希值B,并上链存储;通过比较哈希值A和哈希值B,判断是否共识。本发明能确保共识的可信度,提高共识互信的指标。
Description
技术领域
本发明涉及区块链领域,具体涉及基于区块链的多方同步抽样共识方法及系统及装置及介质。
背景技术
区块链技术,区块链在本质上是一个去中心化的分布式数据库,该数据库由区块链上各个节点共同维护,由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此,区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
现有的上链模式采用“单一举证”的方式,由发起上链的一方对接目标数据并单方计算生成HASH值,再由发起方向其它共识方提供上链的HASH值,共识方只能接收后进行共识签名,由于其它方不参与计算,算法、公式、环境等影响计算结果的因素发起方也无法形成自证,因此在其它共识方只接受结果而无法验证的状态下,共识互信的指标明显不足,即使不考虑数据自身的真实性因素,也无法证明上链的数据是否有其它因素影响,这种状态会存在数据的可信度不足的问题。
发明内容
本发明的目的在于确保共识的可信度,提高共识互信的指标。
为实现上述发明目的,本发明提供了基于区块链的多方同步抽样共识方法,包括:
发起节点对所有参与节点发出共识请求;
参与节点收到共识请求后,参与节点向发起节点发出获取数据信息请求;
发起节点收到获取数据信息请求后,判断发出获取数据信息请求的参与节点的身份信息;
发起节点判断参与节点身份信息准确后,将数据信息发送给参与节点;
发起节点根据数据信息获取目标数据的哈希值A,并上链存储;
参与节点根据数据信息随机获取目标数据中的一段抽样数据,获取抽样数据的哈希值B,并上链存储;
通过比较哈希值A和哈希值B,判断是否共识。
本发明在发起节点对参与节点发出共识请求后,参与节点对发起节点发出数据信息请求,发起节点收到数据信息请求后,为了确保参与节点的身份信息准确,首先对参与节点的身份信息进行判断,在核实参与节点的身份后,再将数据信息发送给参与节点,这样可以保证后续比较哈希值A和哈希值B的准确性,保证得到的数据具有判断是否共识的意义。
参与节点收到数据信息后,参与节点根据发起节点的数据信息来获取目标数据中的一段抽样数据,这样参与节点可有效地验证发起节点的计算是否准确,已达到从多方进行验证是否共识的效果,进而提高本发明的共识互信的指标,提高本发明的共识可信度。
具体的,数据信息包括数据读取接口、发起节点获取哈希值的程序语言、软件环境参数和硬件环境参数,所述数据读取接口用于根据目标数据随机获取一段抽样数据。参与节点根据发起节点的哈希值程序语言、软件环境参数和硬件环境参数来构建参与节点的哈希值程序语音、软件环境参数和硬件环境参数,这样可避免了发起节点在算法、公式、环境等影响计算结果的因素下无法自证的情况,参与节点可通过数据信息直接来验证共识方法是否可信,进而提高共识互相的指标,提高使用效率。
并且,本发明的参与节点不需要对所有目标数据进行哈希计算,仅随机获取部分目标数据即得到抽样数据,即可对共识准确度进行验证,使用更便捷。
具体的,判断发出获取数据信息请求的参与节点的身份信息,具体包括:
参与节点将身份信息发送给身份信息标识区块链,身份信息标识区块链根据参与节点发送的身份信息生成密钥对,参与节点的私钥对参与节点的身份信息加密,将加密后的身份信息存储于身份信息区块链,并返回存证地址,存证地址通过参与节点的公钥获取;
发起节点收到获取数据信息请求后,发起节点获取参与节点的公钥和私钥;
发起节点通过参与节点的公钥获取存证地址,通过存证地址获取对应参与节点的加密后的身份信息;
发起节点通过参与节点的私钥对加密后的身份信息解密;
发起节点将解密后的身份信息与发起节点预存的参与节点的身份信息进行比较;
若匹配,发起节点将数据信息发送给参与节点。
通过区块链对参与节点的身份进行存储,利用区块链的不可篡改性,保证在身份信息验证的过程中,发起节点解密后的身份信息与发起节点预存的身份信息的准确度,在本发明中发起节点在发出共识请求时,即根据预存的身份信息进行发送,因此在身份信息比较之前,即使预存的身份信息被篡改,篡改后的预存身份信息与解密后的身份信息也不能对应,进而能更进一步的保证判断是否共识的准确度。
优选的,参与节点根据数据信息随机获取目标数据中的一段抽样数据,获取抽样数据的哈希值B,并上链存储,具体包括:
参与节点根据数据信息中的软件环境参数、硬件环境参数以及发起节点获取哈希值的程序语言得到参与节点计算环境参数;
参与节点根据数据读取接口在发起节点的目标数据中随机读取一段抽样数据,并在参与节点计算环境参数下获取抽样数据的哈希值B。
优选的,通过比较哈希值A和哈希值B,判断是否共识,具体包括:
比较哈希值A和哈希值B,若哈希值A中存在哈希值B,则哈希值B对应的参与节点对数据共识进行数字签名认证;
若哈希值A中不存在哈希值B,则哈希值B对应的参与节点不对数据共识进行数字签名认证;
获取数字签名认证的数量C,比较发出数据信息请求的参与节点总数D和数字签名认证的数量C,若总数D大于或等于数量C的两倍,则共识;若总数D小于数量C的两倍,则不共识。
更进一步的,发起节点上设置有计时器,计时器用于记录发起节点发出共识请求到发起节点收到每个参与节点的数据信息请求的时间,该时间记为T1;
若T1大于或等于T,则发起节点收到获取数据信息请求后,发起节点不判断该T1对应的参与节点的身份信息,并且不向该T1对应的参与节点发送数据信息;
若T1小于阈值T,则发起节点收到获取数据信息请求后,判断该T1对应的参与节点的身份信息;其中阈值T为共识请求的有效时间
本发明的共识方法是发起节点与参与节点同步进行的,发起节点发出共识请求后,收到参与节点的数据请求后,即参与节点在收到共识请求,并回复发起节点后,才开始同步进行判断,从一定程度来说,可以简化复杂度,其次,本发明同步抽样的共识方法,能进一步的提高共识的可信度。并且如果参与节点回应发起节点的时候过久,则排除该节点的共识,避免该节点被恶意修改。
与本发明中的方法对应,本发明还提供了基于区块链的多方同步抽样共识系统,包括:
共识请求模块,用于发起节点对所有参与节点发出共识请求;
身份判断模块,用于判断向发起节点发出数据信息请求的参与节点的身份信息,并将数据信息发送给身份信息匹配的参与节点;
第一数据处理模块,用于获取发起节点的目标数据的哈希值A;
第二数据处理模块,用于根据数据信息随机获取目标数据中的一段抽样数据,并得到抽样数据的哈希值B;
判断模块,用于根据哈希值A和哈希值B判断是否共识。
优选的,还包括计时模块,计时模块用于记录共识请求模块发出共识请求到发起节点收到每个参与节点发出的数据信息请求的时间。
与本发明中的方法对应,本发明还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的多方同步抽样共识方法的步骤。
与本发明中的方法对应,本发明还提供了一种存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的多方同步抽样共识方法的步骤。
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明通过若干参与节点同步抽样目标数据并得到哈希值B,来与发起节点的目标数据的哈希值A比较,判断该共识方法是否共识,通过同步验证的方法避免区块上的目标数据在其他因素的影响下降低共识可信度。
同时,本发明通过抽样的方式对目标数据进行获取,能进一步的简化复杂程度,同时,参与节点在获取目标数据前,会对参与节点的身份信息进行验证,确保参与节点的准确,进而保证后续哈希值A和哈希值B的对比有意义,进一步的提高共识可信度。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为基于区块链的多方同步抽样共识方法的流程示意图;
图2为基于区块链的多方同步抽样共识系统的组成示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本领域技术人员应理解的是,在本发明的揭露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
实施例一
请参考图1,图1为基于区块链的多方同步抽样共识方法的流程示意图,本发明提供了基于区块链的多方同步抽样共识方法,所述方法包括:
步骤1发起节点对所有参与节点发出共识请求;
1.1发起节点预存有所有节点的身份信息;
1.2发起节点根据所有节点的身份信息将共识请求发送给所有参与节点,计时器开始计时;
步骤2参与节点收到共识请求后,参与节点向发起节点发出获取数据信息请求;发起节点收到获取数据信息请求后,判断发出获取数据信息请求的参与节点的身份信息;
2.1参与节点将身份信息发送给身份信息标识区块链,身份信息标识区块链根据参与节点发送的身份信息生成密钥对,参与节点的私钥对参与节点的身份信息加密,将加密后的身份信息存储于身份信息区块链,并返回存证地址,存证地址通过参与节点的公钥获取;
2.2参与节点向发起节点发出获取数据信息请求,计时器对该参与节点的计时停止,计时器记录发起节点发出共识请求到发起节点收到每个参与节点的数据信息请求的时间该时间记为T1,同时,参与节点将其公钥和私钥发送给发起节点;
2.3比较T1和阈值T,若T1大于或等于T,则发起节点收到获取数据信息请求后,发起节点不判断该T1对应的参与节点的身份信息,并且不向该T1对应的参与节点发送数据信息;同时发起模块对该参与节点发出预警信息;
2.4若T1小于阈值T,则发起节点收到获取数据信息请求后,判断该T1对应的参与节点的身份信息;其中阈值T为共识请求的有效时间,T的大小根据参与节点的情况而设定。
2.5发起节点通过参与节点的公钥获取该参与节点的存证地址,通过存证地址获取对应参与节点的加密后的身份信息;
2.6发起节点通过私钥对该加密后的参与节点的身份信息解密;
2.7发起节点对比该参与节点解密后的身份信息与预存的该参与节点对应的身份信息;
2.8若匹配,发起节点将数据信息发送给该参与节点;
2.9若不匹配,发起节点不将数据信息发送给该参与节点,同时对该参与节点发出预警信息;
步骤3发起节点根据数据信息获取目标数据的哈希值A,并上链存储;
步骤4参与节点根据数据信息随机获取目标数据中的一段抽样数据,获取抽样数据的哈希值B,并上链存储;
4.1参与节点根据数据信息中的软件环境参数、硬件环境参数以及发起节点获取哈希值的程序语言得到参与节点计算环境参数;
4.2参与节点根据数据读取接口在发起节点的目标数据中随机读取一段抽样数据,并在参与节点计算环境参数下获取抽样数据的哈希值B;
步骤5通过比较哈希值A和哈希值B,判断是否共识。
5.1比较哈希值A和哈希值B,若哈希值A中存在哈希值B,则哈希值B对应的参与节点对数据共识进行数字签名认证;
5.2若哈希值A中不存在哈希值B,则哈希值B对应的参与节点不对数据共识进行数字签名认证;
5.3获取数字签名认证的数量C和发出数据信息请求的参与节点总数D,比较数量C和总数D,若总数D大于或等于数量C的两倍,则共识;若总数D小于数量C的两倍,则不共识。
实施例二
步骤1发起节点对所有参与节点发出共识请求;
1.1发起节点预存有所有节点的身份信息;
1.2发起节点根据所有节点的身份信息将共识请求发送给所有参与节点,计时器开始计时;
步骤2参与节点收到共识请求后,参与节点向发起节点发出获取数据信息请求;发起节点收到获取数据信息请求后,判断发出获取数据信息请求的参与节点的身份信息;
2.1参与节点将身份信息发送给身份信息标识区块链,身份信息标识区块链根据参与节点发送的身份信息生成密钥对,参与节点的私钥对参与节点的身份信息加密,将加密后的身份信息存储于身份信息区块链,并返回存证地址,存证地址通过参与节点的公钥获取;
2.2参与节点向发起节点发出获取数据信息请求,计时器对该参与节点的计时停止,计时器记录发起节点发出共识请求到发起节点收到每个参与节点的数据信息请求的时间该时间记为T1,同时,参与节点将其公钥和私钥发送给发起节点;
2.3比较T1和阈值T,若T1大于或等于T,则发起节点收到获取数据信息请求后,发起节点不判断该T1对应的参与节点的身份信息,并且不向该T1对应的参与节点发送数据信息;同时发起模块对该参与节点发出预警信息;
2.4若T1小于阈值T,则发起节点收到获取数据信息请求后,判断该T1对应的参与节点的身份信息;其中阈值T为共识请求的有效时间,T的大小根据参与节点的情况而设定。
2.5发起节点通过参与节点的公钥获取该参与节点的存证地址,通过存证地址获取对应参与节点的加密后的身份信息;
2.6发起节点通过私钥对该加密后的参与节点的身份信息解密;
2.7发起节点对比该参与节点解密后的身份信息与预存的该参与节点对应的身份信息;
2.8若匹配,发起节点将数据信息发送给该参与节点;
2.9若不匹配,发起节点不将数据信息发送给该参与节点,同时对该参与节点发出预警信息;
步骤3发起节点验证数据信息;
3.1发起节点将数据信息的鉴别服务部署到数据服务平台上;
发起节点在数据服务平台上编写读取接口,所述读取接口用于参与节点获取数据信息的鉴别内容;
发起节点获取读取接口、数据信息,并将读取接口、数据信息通过智能合约存储在区块链上;
参与节点通过区块链获取读取接口、数据信息;
参与节点根据获取的读取接口编写数据鉴别内容获取的请求模型,并通过数据服务平台发送给发起节点;
发起节点将运行数据返回给参与节点,参与节点根据运行数据获取数据信息;
比较参与节点根据运行数据获取数据信息和参与节点从发起节点获取的数据信息,若相同,则验证通过,发起节点根据数据信息获取目标数据的哈希值A;反之不通过,返回步骤1;
步骤4发起节点根据数据信息获取目标数据的哈希值A,并上链存储;
步骤5参与节点根据数据信息随机获取目标数据中的一段抽样数据,获取抽样数据的哈希值B,并上链存储;
5.1参与节点根据数据信息中的软件环境参数、硬件环境参数以及发起节点获取哈希值的程序语言得到参与节点计算环境参数;
5.2参与节点根据数据读取接口在发起节点的目标数据中随机读取一段抽样数据,并在参与节点计算环境参数下获取抽样数据的哈希值B;
步骤6通过比较哈希值A和哈希值B,判断是否共识。
6.1比较哈希值A和哈希值B,若哈希值A中存在哈希值B,则哈希值B对应的参与节点对数据共识进行数字签名认证;
6.2若哈希值A中不存在哈希值B,则哈希值B对应的参与节点不对数据共识进行数字签名认证;
6.3获取数字签名认证的数量C和发出数据信息请求的参与节点总数D,比较数量C和总数D,若总数D大于或等于数量C的两倍,则共识;若总数D小于数量C的两倍,则不共识。
实施例三
请参考图2,图2为基于区块链的多方同步抽样共识方法的组成示意图,本发明实施例二提供了基于区块链的多方同步抽样共识方法,所述系统包括:
共识请求模块,用于发起节点对所有参与节点发出共识请求;
身份判断模块,用于判断向发起节点发出数据信息请求的参与节点的身份信息,并将数据信息发送给身份信息匹配的参与节点;
第一数据处理模块,用于获取发起节点的目标数据的哈希值A;
第二数据处理模块,用于根据数据信息随机获取目标数据中的一段抽样数据,并得到抽样数据的哈希值B;
判断模块,用于根据哈希值A和哈希值B判断是否共识。
其中,本系统还包括计时模块,计时模块用于记录共识请求模块发出共识请求到发起节点收到每个参与节点发出的数据信息请求的时间。
在本发明实施例三中,所述身份判断模块的具体方式为:信息标识区块链中预存有参与节点的身份信息标识,根据参与节点的身份信标识息生成密钥对,参与节点的私钥对参与节点的身份信标识息加密,将加密后的身份信标识息存储于身份信息区块链,并返回存证地址,存证地址通过参与节点的公钥获取;发起节点收到获取数据信息请求后,发起节点获取参与节点的公钥和私钥;发起节点通过参与节点的公钥获取存证地址,通过存证地址获取对应参与节点的加密后的身份信息;发起节点通过参与节点的私钥对加密后的身份信息解密;发起节点将解密后的身份信息与发起节点预存的参与节点的身份信息进行比较;若匹配,发起节点将数据信息发送给参与节点。
在本发明实施例三中,所述第一数据处理模块的具体方式为:发起节点根据数据信息获取目标数据的哈希值A,并上链存储,数据信息包括数据读取接口、发起节点获取哈希值的程序语言、软件环境参数和硬件环境参数,所述数据读取接口用于根据目标数据随机获取一段抽样数据。
在本发明实施例三中,所述第二数据处理模块的具体方式为:参与节点根据数据信息中的软件环境参数、硬件环境参数以及发起节点获取哈希值的程序语言得到参与节点计算环境参数;参与节点根据数据读取接口在发起节点的目标数据中随机读取一段抽样数据,并在参与节点计算环境参数下获取抽样数据的哈希值B。
在本发明实施例三中,所述判断模块的具体方式为:比较哈希值A和哈希值B,若哈希值A中存在哈希值B,则哈希值B对应的参与节点对数据共识进行数字签名认证;若哈希值A中不存在哈希值B,则哈希值B对应的参与节点不对数据共识进行数字签名认证;获取数字签名认证的数量C,比较发出数据信息请求的参与节点总数D和数字签名认证的数量C,若总数D大于或等于数量C的两倍,则共识;若总数D小于数量C的两倍,则不共识。
实施例四
本发明实施例四提供了一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于区块链的多方同步抽样共识方法的步骤。
其中,所述处理器可以是中央处理器,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中一种分布式网络数据的销毁装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
实施例五
本发明实施例五提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于区块链的多方同步抽样共识方法的步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnlyMemory,ROM)、可擦式可编程只读存储器((ErasableProgrammableReadOnlyMemory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.基于区块链的多方同步抽样共识方法,其特征在于,包括:
发起节点对所有参与节点发出共识请求;
参与节点收到共识请求后,参与节点向发起节点发出获取数据信息请求;
发起节点收到获取数据信息请求后,判断发出获取数据信息请求的参与节点的身份信息;
发起节点判断参与节点身份信息准确后,将数据信息发送给参与节点;
发起节点根据数据信息获取目标数据的哈希值A,并上链存储,具体包括:发起节点将数据信息的鉴别服务部署到数据服务平台上;发起节点在数据服务平台上编写读取接口,所述读取接口用于参与节点获取数据信息的鉴别内容;发起节点获取读取接口、数据信息,并将读取接口、数据信息通过智能合约存储在区块链上;参与节点通过区块链获取读取接口、数据信息;参与节点根据获取的读取接口编写数据鉴别内容获取的请求模型,并通过数据服务平台发送给发起节点;发起节点将运行数据返回给参与节点,参与节点根据运行数据获取数据信息;比较参与节点根据运行数据获取数据信息和参与节点从发起节点获取的数据信息,若相同,则验证通过,发起节点根据数据信息获取目标数据的哈希值A;
参与节点根据数据信息随机获取目标数据中的一段抽样数据,获取抽样数据的哈希值B,并上链存储;具体包括:参与节点根据数据信息中的软件环境参数、硬件环境参数以及发起节点获取 哈希值的程序语言得到参与节点计算环境参数;参与节点根据数据读取接口在发起节点的目标数据中随机读取一段抽样数 据,并在参与节点计算环境参数下获取抽样数据的哈希值B;
比较哈希值A和哈希值B,若哈希值A中存在哈希值B,则哈希值B对应的参与节点对数据共识进行数字签名认证;若哈希值A中不存在哈希值B,则哈希值B对应的参与节点不对数据共识进行数字签名认证;
获取数字签名认证的数量C,比较发出数据信息请求的参与节点总数D和数字签名认证的数量C,若总数D大于或等于数量C的两倍,则共识;若总数D小于数量C的两倍,则不共识;
发起节点上设置有计时器,计时器用于记录发起节点发出共识请求到发起节点收到每个参与节点的数据信息请求的时间,该时间记为T1;
若T1大于或等于阈值T,则发起节点收到获取数据信息请求后,发起节点不判断该T1对应的参与节点的身份信息,并且不向该T1对应的参与节点发送数据信息;
若T1小于阈值T,则发起节点收到获取数据信息请求后,判断该T1对应的参与节点的身份信息;其中阈值T为共识请求的有效时间。
2.根据权利要求1所述的基于区块链的多方同步抽样共识方法,其特征在于,数据信息包括数据读取接口、发起节点获取哈希值的程序语言、软件环境参数和硬件环境参数,所述数据读取接口用于根据目标数据随机获取一段抽样数据。
3.根据权利要求1所述的基于区块链的多方同步抽样共识方法,其特征在于,判断发出获取数据信息请求的参与节点的身份信息,具体包括:
参与节点将身份信息发送给身份信息标识区块链,身份信息标识区块链根据参与节点发送的身份信息生成密钥对,参与节点的私钥对参与节点的身份信息加密,将加密后的身份信息存储于身份信息区块链,并返回存证地址,存证地址通过参与节点的公钥获取;
发起节点收到获取数据信息请求后,发起节点获取参与节点的公钥和私钥;
发起节点通过参与节点的公钥获取存证地址,通过存证地址获取对应参与节点的加密后的身份信息;
发起节点通过参与节点的私钥对加密后的身份信息解密;
发起节点将解密后的身份信息与发起节点预存的参与节点的身份信息进行比较;
若匹配,发起节点将数据信息发送给参与节点。
4.基于区块链的多方同步抽样共识系统,其特征在于,包括:
共识请求模块,用于发起节点对所有参与节点发出共识请求;
身份判断模块,用于判断向发起节点发出数据信息请求的参与节点的身份信息,并将数据信息发送给身份信息匹配的参与节点;
第一数据处理模块,用于获取发起节点的目标数据的哈希值A;发起节点将数据信息的鉴别服务部署到数据服务平台上;发起节点在数据服务平台上编写读取接口,所述读取接口用于参与节点获取数据信息的鉴别内容;发起节点获取读取接口、数据信息,并将读取接口、数据信息通过智能合约存储在区块链上;参与节点通过区块链获取读取接口、数据信息;参与节点根据获取的读取接口编写数据鉴别内容获取的请求模型,并通过数据服务平台发送给发起节点;发起节点将运行数据返回给参与节点,参与节点根据运行数据获取数据信息;比较参与节点根据运行数据获取数据信息和参与节点从发起节点获取的数据信息,若相同,则验证通过,发起节点根据数据信息获取目标数据的哈希值A;
第二数据处理模块,用于根据数据信息随机获取目标数据中的一段抽样数据,并得到抽样数据的哈希值B;参与节点根据数据信息中的软件环境参数、硬件环境参数以及发起节点获取 哈希值的程序语言得到参与节点计算环境参数;参与节点根据数据读取接口在发起节点的目标数据中随机读取一段抽样数 据,并在参与节点计算环境参数下获取抽样数据的哈希值B;
判断模块,用于根据哈希值A和哈希值B判断是否共识,比较哈希值A和哈希值B,若哈希值A中存在哈希值B,则哈希值B对应的参与节点对数据共识进行数字签名认证;若哈希值A中不存在哈希值B,则哈希值B对应的参与节点不对数据共识进行数字签名认证;
获取数字签名认证的数量C,比较发出数据信息请求的参与节点总数D和数字签名认证的数量C,若总数D大于或等于数量C的两倍,则共识;若总数D小于数量C的两倍,则不共识;发起节点上设置有计时器,计时器用于记录发起节点发出共识请求到发起节点收到每个参与节点的数据信息请求的时间,该时间记为T1;若T1大于或等于阈值T,则发起节点收到获取数据信息请求后,发起节点不判断该T1对应的参与节点的身份信息,并且不向该T1对应的参与节点发送数据信息;若T1小于阈值T,则发起节点收到获取数据信息请求后,判断该T1对应的参与节点的身份信息;其中阈值T为共识请求的有效时间。
5.一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3中任意一个所述基于区块链的多方同步抽样共识方法的步骤。
6.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3中任意一个所述基于区块链的多方同步抽样共识方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110333815.1A CN113076375B (zh) | 2021-03-29 | 2021-03-29 | 基于区块链的多方同步抽样共识方法及系统及装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110333815.1A CN113076375B (zh) | 2021-03-29 | 2021-03-29 | 基于区块链的多方同步抽样共识方法及系统及装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076375A CN113076375A (zh) | 2021-07-06 |
CN113076375B true CN113076375B (zh) | 2023-07-25 |
Family
ID=76611074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110333815.1A Active CN113076375B (zh) | 2021-03-29 | 2021-03-29 | 基于区块链的多方同步抽样共识方法及系统及装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076375B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378208B (zh) * | 2021-07-14 | 2023-05-12 | 湖北央中巨石信息技术有限公司 | 一种依规计算取值的共识方法及系统及装置及介质 |
CN113378144B (zh) * | 2021-07-14 | 2022-09-02 | 湖北央中巨石信息技术有限公司 | 基于区块链的图像文件共识方法及系统及装置及介质 |
CN115708339B (zh) * | 2021-08-20 | 2024-03-12 | 清华大学 | 数据处理方法、装置和存储介质 |
CN114225381B (zh) * | 2022-01-07 | 2022-07-19 | 广州炫动信息科技有限公司 | 基于区块链分布式共识算法的战斗数据处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190140826A (ko) * | 2018-06-12 | 2019-12-20 | 한국전자통신연구원 | 난스 증명 기반 분산합의 노드 선정 방법 및 장치 |
CN110825755A (zh) * | 2019-10-30 | 2020-02-21 | 北京海益同展信息科技有限公司 | 区块链的共识方法、共识节点、电子设备、存储介质 |
CN111090892A (zh) * | 2020-03-24 | 2020-05-01 | 杭州智块网络科技有限公司 | 一种基于vrf和门限签名的区块链共识方法和装置 |
KR20200049491A (ko) * | 2019-07-26 | 2020-05-08 | 최우혁 | 블록체인 정보 관리 및 거래 지원 서비스 제공 방법 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN112200496A (zh) * | 2020-11-12 | 2021-01-08 | 北京三维天地科技股份有限公司 | 一种基于区块链的实验室检测报告管理系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450981B (zh) * | 2017-05-31 | 2020-04-24 | 创新先进技术有限公司 | 一种区块链共识方法及设备 |
CN107590738A (zh) * | 2017-08-24 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 选择共识节点的处理方法、装置及服务器 |
CN108683647B (zh) * | 2018-04-28 | 2020-09-11 | 重庆交通大学 | 一种基于多重加密的数据传输方法 |
CN109583184B (zh) * | 2018-10-09 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 身份验证方法及装置和电子设备 |
CN109583219A (zh) * | 2018-11-30 | 2019-04-05 | 国家电网有限公司 | 一种数据签名、加密及保存的方法、装置和设备 |
US11971874B2 (en) * | 2019-01-31 | 2024-04-30 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT) |
CN112507387B (zh) * | 2021-02-04 | 2021-06-01 | 北京全息智信科技有限公司 | 一种基于区块链的分布式数据和模型的计算方法及装置 |
-
2021
- 2021-03-29 CN CN202110333815.1A patent/CN113076375B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190140826A (ko) * | 2018-06-12 | 2019-12-20 | 한국전자통신연구원 | 난스 증명 기반 분산합의 노드 선정 방법 및 장치 |
KR20200049491A (ko) * | 2019-07-26 | 2020-05-08 | 최우혁 | 블록체인 정보 관리 및 거래 지원 서비스 제공 방법 |
CN110825755A (zh) * | 2019-10-30 | 2020-02-21 | 北京海益同展信息科技有限公司 | 区块链的共识方法、共识节点、电子设备、存储介质 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN111090892A (zh) * | 2020-03-24 | 2020-05-01 | 杭州智块网络科技有限公司 | 一种基于vrf和门限签名的区块链共识方法和装置 |
CN112200496A (zh) * | 2020-11-12 | 2021-01-08 | 北京三维天地科技股份有限公司 | 一种基于区块链的实验室检测报告管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113076375A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113076375B (zh) | 基于区块链的多方同步抽样共识方法及系统及装置及介质 | |
US11258612B2 (en) | Method, apparatus, and electronic device for blockchain-based recordkeeping | |
US20210081551A1 (en) | Method, apparatus, and electronic device for blockchain-based recordkeeping | |
US10587604B2 (en) | Device verification method and apparatus | |
US11017122B2 (en) | Method and server for authenticating and verifying file | |
US8539249B2 (en) | System and method for security authentication using biometric authentication technique | |
US11366932B2 (en) | Consensus method and data verification method, apparatus, and system of consortium blockchain | |
CN113076376B (zh) | 基于区块链的多方异步抽样共识方法及系统及装置及介质 | |
CN112988896B (zh) | 一种基于区块链的同步共识方法及系统及装置及介质 | |
US20170230187A1 (en) | Method and Apparatus for Managing Application Identifier | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
KR101925463B1 (ko) | 영상 해시값 등록 및 검증 방법, 및 이를 이용한 장치 | |
CN109190362B (zh) | 安全通信方法及相关设备 | |
US10469264B2 (en) | Method and server for authenticating and verifying file | |
US20230412399A1 (en) | Database Multi-Authentication Method and System, Terminal, and Storage Medium | |
CN113032489B (zh) | 一种基于区块链的异步共识方法及系统及装置及介质 | |
US11356279B2 (en) | Blockchain-based electronic signature method and apparatus | |
CN108985409B (zh) | 身份证信息读取方法、装置及电子设备 | |
TW202203062A (zh) | 基於區塊鏈的身份驗證方法及相關硬體 | |
CN115514492A (zh) | Bios固件验证方法、装置、服务器、存储介质和程序产品 | |
CN111125665A (zh) | 认证方法及设备 | |
CN114201748A (zh) | 高可信环境下计算移向数据端场景中数据源可信验证方法 | |
CN113408010B (zh) | 基于区块链的异步共识方法及系统及装置及介质 | |
CN113378144B (zh) | 基于区块链的图像文件共识方法及系统及装置及介质 | |
CN113378208B (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 |