一种基于区块链的键值数据组织方法及系统技术方案

技术编号:19057167 阅读:38 留言:0更新日期:2018-09-29 12:14
本发明专利技术公开了一种基于区块链的键值数据组织方法及系统,区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案,本发明专利技术设计的区块链是一种几乎不可能被更改的分布式Key‑Value数据库存储方式,形成了一种新的数据记录、存储和表达的方式。采用本发明专利技术的方案后key‑value值将公开可查询可验证,可追溯,且难以修改,安全性得到提高。本发明专利技术可应用到安全的DNS,CA等领域。

【技术实现步骤摘要】
一种基于区块链的键值数据组织方法及系统
本专利技术涉及的是区块链及其应用
,特别涉及一种涉及到可以实现去中心CA和DNS服务的基于区块链的键值管理方法及系统。
技术介绍
键值(key-value)数据库是一类典型的数据库。用户通常需要提交key来获得value。目前基于中心的键值数据库存在单一失效点的安全隐患。如何去中心提高健壮性,是一个基本的安全问题。传统分布式的方法仍然面临key-value值被修改,或者绝对信任分布式键值数据的问题。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术中的传统分布式的方法仍然面临key-value值被修改,或者绝对信任分布式键值数据的问题缺陷,提供一种去中心的键值数据组织方法,利用该方法可以建立一个分布式域名系统,即<域名,IP地址>,也可以建立一个CA系统,即<ID,PK>。本专利技术解决其技术问题所采用的技术方案是:提供了一种基于区块链的键值数据组织方法,该方法满足:(1)区块链由多个区块组成,每个区块之间通过hash值产生关联;(2)前一个区块的hash值计算后,放在下一个区块上;(3)如果区块的生成是封闭的,那么区块的数据结构为:<PreviousBlockHash,Key,Value,Timestamp>;(4)如果区块的生成不是封闭的,区块中的键值对由每个键值对提议节点产生:4.1)区块的数据结构为:<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request>;4.2)每个键值对提议节点提出Key,Value后,广播<Key,Value>到所有节点上;4.3)每个矿工节点在收到广播的区块后,都试图计算一个合适的Nonce值,如果成功计算出Nonce值,则将新的区块链接到上一个区块,否则不将新的区块链接到上一个区块;4.4)矿工节点会广播区块<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request,MinerID>;4.5)收到广播的节点验证区块Nonce是否满足要求Hash(PreviousBlockHash,Key,Value,Timestamp,Nonce)<Request,如果满足,则该区块<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request,MinerID>为新的区块起始点,否则丢掉该区块<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request,MinerID>;4.5)矿工节点获得的线下支付的收益是根据MinerID来计算的,MinerID同时为<Key,Value>的正确性负责,如果是错误的,该区块将被分叉掉,从而无法获得收益;其中,PreviousBlockHash表示前一区块的hash值,Timestamp表示时间戳,Key表示健,Value表示值,Nonce表示随机数,Request表示当前区块的哈希值的要求,MinerID表示矿工节点的ID。进一步地,在本专利技术的基于区块链的键值数据组织方法中,如果区块的生成是封闭的,则该区块全部由可信任的节点产生。进一步地,在本专利技术的基于区块链的键值数据组织方法中,如果区块的生成不是封闭的,区块链中的节点由键值对提议节点以及矿工节点组成。进一步地,在本专利技术的基于区块链的键值数据组织方法中,如果区块的生成不是封闭的,对于其中的部分区块:键值对提议节点和矿工节点为同一个节点。进一步地,在本专利技术的基于区块链的键值数据组织方法中,所述将新的区块链接到上一个区块具体为:将上一个区块链的hash值写到本区块中,并正确的计算出Nonce值后进行记录。根据本专利技术的另一方面,本专利技术为解决其技术问题,提供了一种基于区块链的键值数据组织系统,采用上述任意一项的基于区块链的键值数据组织方法进行键值数据组织。区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案,区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录(即由系统参与者共同维护),区块链并不是一种单一的技术,而是多种技术整合的结果,这些技术以新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。结合上述这些技术,采用本专利技术的方案后key-value值将难以本修改,安全性得到提高。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术的基于区块链的键值数据结构图。具体实施方式为了对本专利技术的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本专利技术的具体实施方式。在下述实施例的区块的数据结构中,分别以PreviousBlockHash、Key、Value、Timestamp、Nonce、Request表示:前一区块的hash值、健、值、时间戳(记录该区块产生的时间,精确到秒)、随机数、当前区块的哈希值的要求。参考图1,本专利技术的基于区块链的键值数据组织方法中,满足:(1)区块链由多个区块组成,每个区块之间通过hash值产生关联。(2)前一个区块的hash值计算后,放在下一个区块上。(3)如果区块的生成是封闭的(私有链),即区块全部由可信任的节点产生的,那么该区块的数据结构为:<PreviousBlockHash,Key,Value,Timestamp>(4)如果区块的生成不是封闭的(公有链),则将节点分为两类:键值对提议节点以及矿工节点,这两类节点可以是同一个节点,区块中的<键、值>对由每个键值对提议节点产生,即<键、值>对由每个键值对提议节点提出,此时:4.1)区块的数据结构为:<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request>;4.2)每个键值对提议节点提出Key,Value后,广播<Key,Value>到所有节点上;4.3)每个矿工节点在收到广播的区块后,都试图计算一个合适的Nonce值,如果成功计算出Nonce值,则将新的区块链接到上一个区块,即将上一个区块链的hash值写到本区块中,并正确的计算出Nonce值;4.4)矿工节点广播该区块<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request,MinerID>;4.5)收到广播的节点可以验证该区块,即Nonce是否满足要求Hash(PreviousBlockHash,Key,Value,Timestamp,Nonce)<Request。如果满足,则该区块为新的区块起始点;否则丢掉该区块;4.6)矿工节点将获得线下支付的收益,根据MinerID来计算本文档来自技高网...

【技术保护点】
1.一种基于区块链的键值数据组织方法,其特征在于,满足:(1)区块链由多个区块组成,每个区块之间通过hash值产生关联;(2)前一个区块的hash值计算后,放在下一个区块上;(3)如果区块的生成是封闭的,那么区块的数据结构为:

【技术特征摘要】
1.一种基于区块链的键值数据组织方法,其特征在于,满足:(1)区块链由多个区块组成,每个区块之间通过hash值产生关联;(2)前一个区块的hash值计算后,放在下一个区块上;(3)如果区块的生成是封闭的,那么区块的数据结构为:<PreviousBlockHash,Key,Value,Timestamp>;(4)如果区块的生成不是封闭的,区块中的键值对由每个键值对提议节点产生:4.1)区块的数据结构为:<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request>;4.2)每个键值对提议节点提出Key,Value后,广播<Key,Value>到所有节点上;4.3)每个矿工节点在收到广播的区块后,都试图计算一个合适的Nonce值,如果成功计算出Nonce值,则将新的区块链接到上一个区块,否则不将新的区块链接到上一个区块;4.4)矿工节点会广播区块<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request,MinerID>;4.5)收到广播的节点验证区块Nonce是否满足要求Hash(PreviousBlockHash,Key,Value,Timestamp,Nonce)<Request,如果满足,则该区块<PreviousBlockHash,Key,Value,Timestamp,Nonce,Request,...

【专利技术属性】
技术研发人员:任伟
申请(专利权)人:中国地质大学武汉
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1