CN116340418A - 一种预言机用多种账簿共识方法 - Google Patents
一种预言机用多种账簿共识方法 Download PDFInfo
- Publication number
- CN116340418A CN116340418A CN202211532112.2A CN202211532112A CN116340418A CN 116340418 A CN116340418 A CN 116340418A CN 202211532112 A CN202211532112 A CN 202211532112A CN 116340418 A CN116340418 A CN 116340418A
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- target data
- type
- consensus
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012795 verification Methods 0.000 claims abstract description 20
- 238000007689 inspection Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000013499 data model Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 241000345998 Calamus manan Species 0.000 description 1
- 241000219112 Cucumis Species 0.000 description 1
- 235000015510 Cucumis melo subsp melo Nutrition 0.000 description 1
- FJJCIZWZNKZHII-UHFFFAOYSA-N [4,6-bis(cyanoamino)-1,3,5-triazin-2-yl]cyanamide Chemical compound N#CNC1=NC(NC#N)=NC(NC#N)=N1 FJJCIZWZNKZHII-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 235000012950 rattan cane Nutrition 0.000 description 1
Images
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
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- 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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及区块链技术领域,公开了一种预言机用多种账簿共识方法,包括:从预设数据库中检索获取目标数据及所述目标数据的类型信息;根据所述类型信息从对应的预设区块链中获取验证数据;根据预设验证规则和所述验证数据验证所述目标数据是否正确;若正确,置信所述目标数据,否则,启动对所述预设数据库的全面检查预设数据库用于日常交易数据的记录,预设区块链用于对检索得到目标数据进行校验,既能够保证检索的效率,又能够保证检索结果的真实性,不被篡改。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种预言机用多种账簿共识方法。
背景技术
在大规模预言机节点场景内,预言机所需的数据来源多种多样,节点提供的数据类型形态各异,种类繁多。但是应用于预言机的区块链缺只有一条,所有节点公用一个账簿。导致多种类的数据,都存储在这一个账簿中,有些数据毫无相关性。
以上为传统的区块链技术与部署方式,应用后会导致预言机内的数据极为分散,在检索、溯源时耗时会大大增加。因此急需思考一种方式,不改变区块链的线性链式结构。使区块链具备能够并行处理、高效检索、安全存储的能力。
发明内容
本发明的目的在于提供一种预言机用多种账簿共识方法,解决以下技术问题:
如何提供能够既方便检索又保证储存安全的数据管理方法。
本发明的目的可以通过以下技术方案实现:
一种预言机用多种账簿共识方法,包括:
从预设数据库中检索获取目标数据及所述目标数据的类型信息;
根据所述类型信息从对应的预设区块链中获取验证数据;
根据预设验证规则和所述验证数据验证所述目标数据是否正确;
若正确,置信所述目标数据,否则,启动对所述预设数据库的全面检查。
通过上述技术方案,采用传统的预设数据库对将包含交易数据进行分类储存,在需要找到目标数据时,可直接在预设数据库中进行检索,若需要验证检索得到的目标数据是否正确,则可根据该目标数据的分类选择同样包含该目标数据的预设区块链,通过该预设区块链来对从预设数据库中检索得到目标数据进行验证;相当于采用了两套系统,一套预设数据库用于日常交易数据的记录,另一套预设区块链用于对检索得到目标数据进行校验,既能够保证检索的效率,又能够保证检索结果的真实性,不被篡改。
作为本发明进一步的方案:所述预设区块链的生成步骤包括:
获取待上链的交易数据的类型标识;
合并类型标识相同的所述交易数据后得到多个数据包;
将数据包分别打包至与所述类型标识对应的所述预设区块链中,同时将所述数据包及对应的类型标识合并储存至预设数据库中;
其中,所述预设区块链的区块头内预设有类型字段;所述类型字段与所述类型标识关联。
作为本发明进一步的方案:所述交易数据的类型标识分类按照预设分类规则进行设定,上链的所述数据包的类型标识不可更改,可以增加。
作为本发明进一步的方案:所述预设区块链的验证数据的获取方法包括:
确定所述预设区块链的区块头的类型字段;
根据所述类型字段所对应的交易数据按时间顺序建立与所述类型标识关联的merkle树;不同merkle树之间相互独立;
获取所述merkle树的merkle根;
所述merkle根为所述验证数据。
作为本发明进一步的方案:所述预设验证规则包括:
将目标数据与merkle树中的交易数据进行替换;
重新计算merkle树的merkle根;
若所述merkle根发生变化,则说明所述目标数据是否错误,否则为正确。
作为本发明进一步的方案:所述预设区块链的区块头的类型字段至少为一种。
本发明的有益效果:采用传统的预设数据库对将包含交易数据进行分类储存,在需要找到目标数据时,可直接在预设数据库中进行检索,若需要验证检索得到的目标数据是否正确,则可根据该目标数据的分类选择同样包含该目标数据的预设区块链,通过该预设区块链来对从预设数据库中检索得到目标数据进行验证;相当于采用了两套系统,一套预设数据库用于日常交易数据的记录,另一套预设区块链用于对检索得到目标数据进行校验,既能够保证检索的效率,又能够保证检索结果的真实性,不被篡改。
附图说明
下面结合附图对本发明作进一步的说明。
图1为本发明中多种账簿共识方法的基本流程示意图;
图2为现有区块链中的链块结构部分示意图;
图3为本发明中区块链中的链块结构部分示意图;
图4为本发明中数据类型判定原理示例图;
图5为本发明另一实施例中的链块结构部分示意图;
图6为本发明中区块链多类二叉树的原理性示意图;
图7为本发明中工资数据类型的merkel树示意图;
图8为本发明中采购数据类型的merkel树示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种预言机用多种账簿共识方法,包括:
从预设数据库中检索获取目标数据及所述目标数据的类型信息;
根据所述类型信息从对应的预设区块链中获取验证数据;
根据预设验证规则和所述验证数据验证所述目标数据是否正确;
若正确,置信所述目标数据,否则,启动对所述预设数据库的全面检查。
如图2所示,为本发明本实施例实施之前的区块链中的链块结构,可以看出,每一个区块内存储这个时间内所有打包的交易,从全部链条看来,交易信息被无差别的存储,因此从庞大的区块链条内想检索到需要的信息非常困难,耗时很长。
区块间采用链式结构进行连接,具体表现为每个区块的区块头中都包含了前一区块的哈希值,从而形成一条不可更改的完整区块数据链。链式结构带来的好处是能够顺藤摸瓜的定位到任意一条数据的位置,使得区块链具有溯源的功能。区块链系统可以采用基于交易的数据模型或基于账户的数据模型。基于交易的数据模型将表明交易来源的输入和表明交易去向的输出组合到一起,使得每笔交易可追溯。基于账户的数据模型能够快速查询用户余额和业务状态数据。
为了控制区块大小,区块链系统中通过哈希函数将原始交易数据编码为特定长度的字符串哈希值进行储存。
哈希函数也称散列函数,可以把一个空间的数据集尽可能均匀的映射到另外一个比原数据集更小的空间,即对于输入的任意长度字符串x都可以输出长度固定的H(x),且无法通过H(x)反推得到x。
因此,如图3所示,在本实施例中,在原有的区块链的区块头header上面添加了类型字段,此字段用以区分该区块存储内容的类型,不同类型的数据包不会被打包到相同的区块中。当类型为空的时候,视为所有类型,可以存储所有类型的数据包。
所述预设区块链的生成步骤包括:
获取待上链的交易数据的类型标识;
合并类型标识相同的所述交易数据后得到多个数据包;
将数据包分别打包至与所述类型标识对应的所述预设区块链中,同时将所述数据包及对应的类型标识合并储存至预设数据库中;
其中,所述预设区块链的区块头内预设有类型字段;所述类型字段与所述类型标识关联。
所述交易数据的类型标识分类按照预设分类规则进行设定,上链的所述数据包的类型标识不可更改,可以增加。
在实际应用中,如图4所示,上链数据需要进行预处理,为各种类型数据进行预标识。可以根据数据来源的端口,IP,合约或接口协议实行规定好;比如财务报销端口的报销提案数据在发送到区块节点时,建立的是报销账本,人事端口的人事信息变更提案数据发送到区块节点时,建立的是人事账本,发工资账本同
作为本发明进一步的方案:所述预设区块链的区块头的类型字段至少为一种。在本发明的本实施例中,一个区块链只有一个类型,为单块单数据包(single模式);在本发明的另一实施例中,如图5所示,一个区块链可以存储支持多个类型,为单块多数据包(Muti模式),在该模式下,数据包入链需要携带数据类型标记。
作为本发明进一步的方案:所述预设区块链的验证数据的获取方法包括:
确定所述预设区块链的区块头的类型字段;
根据所述类型字段所对应的交易数据按时间顺序建立与所述类型标识关联的merkle树;不同merkle树之间相互独立;
获取所述merkle树的merkle根;
所述merkle根为所述验证数据。
如图6所示,哈希树的顶部为顶部哈希(tophash),亦称根哈希(roothash)或主哈希(masterhash)。只要任一叶节点有变化,根哈希都会变。在比特币区块里,所有交易都按照MerkleTree的格式组织起来,再跟区块头里的hashMerkleTreeRoot对应起来,就可以保证本区块交易信息的不可篡改。
Merkle树在构建过程,是从输入数据开始进行hash,hash的结果作为树的叶子节点,然后相邻两个节点值两两配对作为输入再hash散列得到上层节点,如此一直往上,如果某层的结点数为奇数时,则最后一个节点与自己配对进行散列;
任何叶子节点数据变动都会逐层传递,导致根数据发生变化,根结果的比对可以作为构建树的数据的比对;反过来,根节点变化,可以根据逐层往下查找变动的节点,直到找到最终的叶子节点。
具体的,本发明中的预设验证规则包括:
将目标数据与merkle树中的交易数据进行替换;
重新计算merkle树的merkle根;
若所述merkle根发生变化,则说明所述目标数据是否错误,否则为正确。如图7和图8所示,分别为工资数据类型所对应的merkle树和采购数据类型所对应的merkle树,针对工资数据类型所对应的merkle树,可将工资类型的数据替换至对应的merkle树的底层交易数据部分,一旦叶子节点数据发生任何细微的变化,都会改变merkle树的顶部哈希,也就是merkle根。如此,本发明可以用于确保数据完整性的校验可以快速比较大量数据(将两组相同数据量的数据排序后,构建Merkle树,如果两个树的根相同,则两组数据是相同的),而且散列计算非常快速,可以带来完整性保障校验和数据比对计算性能的优势,并且可以快速定位修改,找出问题所在再多的交易数据都可以浓缩到一个32字节的字符串中,可以指数级减小交易验证的难度。
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (6)
1.一种预言机用多种账簿共识方法,其特征在于,包括:
从预设数据库中检索获取目标数据及所述目标数据的类型信息;
根据所述类型信息从对应的预设区块链中获取验证数据;
根据预设验证规则和所述验证数据验证所述目标数据是否正确;
若正确,置信所述目标数据,否则,启动对所述预设数据库的全面检查。
2.根据权利要求1所述的预言机用多种账簿共识方法,其特征在于,所述预设区块链的生成步骤包括:
获取待上链的交易数据的类型标识;
合并类型标识相同的所述交易数据后得到多个数据包;
将数据包分别打包至与所述类型标识对应的所述预设区块链中,同时将所述数据包及对应的类型标识合并储存至预设数据库中;
其中,所述预设区块链的区块头内预设有类型字段;所述类型字段与所述类型标识关联。
3.根据权利要求2所述的预言机用多种账簿共识方法,其特征在于,所述交易数据的类型标识分类按照预设分类规则进行设定,上链的所述数据包的类型标识不可更改,可以增加。
4.根据权利要求2所述的预言机用多种账簿共识方法,其特征在于,所述预设区块链的验证数据的获取方法包括:
确定所述预设区块链的区块头的类型字段;
根据所述类型字段所对应的交易数据按时间顺序建立与所述类型标识关联的merkle树;不同merkle树之间相互独立;
获取所述merkle树的merkle根;
所述merkle根为所述验证数据。
5.根据权利要求4所述的预言机用多种账簿共识方法,其特征在于,所述预设验证规则包括:
将目标数据与merkle树中的交易数据进行替换;
重新计算merkle树的merkle根;
若所述merkle根发生变化,则说明所述目标数据是否错误,否则为正确。
6.根据权利要求2所述的预言机用多种账簿共识方法,其特征在于,所述预设区块链的区块头的类型字段至少为一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211532112.2A CN116340418A (zh) | 2022-12-01 | 2022-12-01 | 一种预言机用多种账簿共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211532112.2A CN116340418A (zh) | 2022-12-01 | 2022-12-01 | 一种预言机用多种账簿共识方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116340418A true CN116340418A (zh) | 2023-06-27 |
Family
ID=86893533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211532112.2A Pending CN116340418A (zh) | 2022-12-01 | 2022-12-01 | 一种预言机用多种账簿共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116340418A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046521A (zh) * | 2019-04-24 | 2019-07-23 | 成都派沃特科技股份有限公司 | 去中心化隐私保护方法 |
CN110705998A (zh) * | 2019-09-02 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 基于区块链的信息审核方法及装置、电子设备、存储介质 |
CN113656497A (zh) * | 2021-08-06 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据验证方法和装置 |
CN113779025A (zh) * | 2021-08-06 | 2021-12-10 | 西安电子科技大学 | 一种区块链中分类数据检索效率的优化方法、系统及应用 |
-
2022
- 2022-12-01 CN CN202211532112.2A patent/CN116340418A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046521A (zh) * | 2019-04-24 | 2019-07-23 | 成都派沃特科技股份有限公司 | 去中心化隐私保护方法 |
CN110705998A (zh) * | 2019-09-02 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 基于区块链的信息审核方法及装置、电子设备、存储介质 |
CN113656497A (zh) * | 2021-08-06 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据验证方法和装置 |
CN113779025A (zh) * | 2021-08-06 | 2021-12-10 | 西安电子科技大学 | 一种区块链中分类数据检索效率的优化方法、系统及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113329031B (zh) | 一种区块的状态树的生成方法及装置 | |
US11973869B2 (en) | Maintaining blocks of a blockchain in a partitioned blockchain network | |
CN109034809B (zh) | 区块链的生成方法、装置、区块链节点及存储介质 | |
CN110474986B (zh) | 一种基于区块链系统的共识方法、装置及系统 | |
CN109313654B (zh) | 使用布隆过滤器对被许可的区块链进行去同步恢复的方法和系统 | |
CN111339106B (zh) | 一种区块链数据索引的方法 | |
CN112286963B (zh) | 一种区块链终端数据可信查询系统及其实现方法 | |
CN109542979B (zh) | 一种区块链系统快速同步及简精数据存储的方式 | |
CN114944932A (zh) | 将区块添加到被许可的区块链的方法和系统 | |
CN104408584B (zh) | 一种交易关联性的分析方法及系统 | |
CN109194646B (zh) | 一种基于区块链的安全认证数据存取方法 | |
CN104794123A (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
US20210073796A1 (en) | Method of selective authentication of a blockchain user with a smart contract | |
CN106874348A (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN110188112A (zh) | 一种区块链智能合约的变更记录的追溯方法及装置 | |
CN111339042B (zh) | 数据的操作处理方法、系统及调度服务器 | |
US20220407728A1 (en) | Systems and methods for processing blockchain transactions | |
US12007972B2 (en) | Systems and methods for processing blockchain transactions | |
CN107016071A (zh) | 一种利用简单路径特征优化树状结构数据的方法及系统 | |
CN112800065A (zh) | 基于改进区块存储结构的高效数据检索方法 | |
CN111461751A (zh) | 基于区块链的房产信息链上组织方法、历史状态追溯方法及装置 | |
CN111209341B (zh) | 区块链的数据存储方法、装置、设备及介质 | |
de Ocáriz Borde | An overview of trees in blockchain technology: merkle trees and merkle patricia tries | |
Jezek | Ethereum data structures | |
CN114328518A (zh) | 基于utxo模型的低存储消耗的方法和系统 |
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 |