[发明专利]一种在区块链数据库上针对关键字key的索引方法有效
申请号: | 201810971875.4 | 申请日: | 2018-08-24 |
公开(公告)号: | CN109165224B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 申德荣;焦通;聂铁铮;寇月;于戈 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F21/62;G06F21/64;G06Q20/38 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 梁焱 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 数据库 针对 关键字 key 索引 方法 | ||
本发明提供一种在区块链数据库上针对关键字key的索引方法,涉及区块链数据查询技术领域。该方法首先普通节点根据用户输入的带关键字key的原始数据生成交易记录;存储节点将交易打包到区块中;将区块数据追加写入磁盘文件;根据key值查询交易数据,输出查询结果;普通用户对结果进行可信性验证。本发明直接根据数据关键字进行索引,实现数据的可查询性;将传统区块链中的交易结构扩展到可存储类似于传统数据库的模式结构,提高适用性;根据数字签名技术管理数据权限,提高数据安全性;根据MerkleRBTree自我感知索引是否被篡改,根据交易哈希感知交易是否被篡改,从而保证数据不可篡改性;同时实现轻量级节点的数据验证功能,使得查询端能有效检测数据可信性。
技术领域
本发明涉及区块链数据查询技术领域,尤其涉及一种在区块链数据库上针对关键字key的索引方法。
背景技术
随着比特币,以太币等一系列加密货币的兴起,其底层的区块链技术也受到了越来越广泛的关注。比特币最核心的意图是为了实现去中心化,即在没有第三方信任机构参与的情况下实现两个对等实体的数字货币交易。然而,现实世界中不可避免的存在很多自然中心,比如提供贷款的银行,提供电信服务的电信运营商等。虽然可以把这些中心机构当作是对等实体,将其与用户的交易记录到区块链上,比如用比特币去交话费,但是这种做法是不切实际的,因为这不利于机构管理用户数据(包括用户的信用等级等)。实际上,现有的中心机构都是由自己管理其存储用户相关信息的数据库,但是这种模式存在很多缺陷:1)不同的数据库可能存储着相同的用户基本身份信息,导致数据冗余度高;2)不同的中心机构各自管理自己的数据,不利于机构之间的数据共享;3)每个数据库大都由单一机构中心化管理,使得用户必须无条件信任该机构,存在中心化问题;4)用户不能够独立验证数据的正确性,如果数据被恶意篡改,用户与机构都无法察觉。
而区块链技术具有去中心化、防篡改以及公开透明的特性,为解决上述这些问题提供了可能。为此,希望有高效的共识算法来提高系统的吞吐率,并有高效的查询算法实现在区块链上检索数据。当前,在共识算法上已经有很多研究,例如POW、POS、PBFT。然而针对区块链查询的研究相对较少,大都是利用同步技术将交易数据同步到传统数据库,根据各数据项建立索引,从而实现快速查询,但是这种做法并不能保证索引的不可篡改,所以损失了区块链不可篡改的特性。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种在区块链数据库上针对关键字key的索引方法,解决区块链的查询问题,实现一种不可篡改的索引。
为解决上述技术问题,本发明所采取的技术方案是:
一种在区块链数据库上针对关键字key的索引方法,包括以下步骤:
步骤1:普通节点根据用户输入的带关键字key的原始数据生成交易记录,具体包括:
步骤1-1:生成交易默认信息,包括区块链版本号信息以及数据创建时刻的时间戳信息;
步骤1-2:指定该交易的前驱PreHash,若该关键字key是第一次出现,则前驱PreHash置为Null,否则前驱为该关键字key所对应的最新交易的哈希值;
步骤1-3:生成数据权限信息以及数据签名;将ScriptPubk赋值为下一个可对该关键字key数据进行修改的公钥,利用ECDSA算法,根据自己的私钥对交易数据进行签名;
步骤2:存储节点将交易打包到区块中,具体包括:
步骤2-1:验证交易格式是否符合规范,过滤无法识别的交易;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810971875.4/2.html,转载请声明来源钻瓜专利网。