[发明专利]一种基于SQL数据库的区块链状态存储方法有效

专利信息
申请号: 201710066745.1 申请日: 2017-02-07
公开(公告)号: CN106874440B 公开(公告)日: 2019-11-12
发明(设计)人: 谢晗剑;岳利鹏 申请(专利权)人: 杭州秘猿科技有限公司
主分类号: G06F16/22 分类号: G06F16/22
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 邱启旺
地址: 310030 浙江省杭州*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 sql 数据库 区块 状态 存储 方法
【说明书】:

发明公开了一种基于SQL数据库的区块链状态存储方法,该方法在链初始化时,生成一个数据库,每个合约可以创建若干数据表,并可以对表结构和表数据进行基于SQL语法的增删改查操作,并封装出一些带权限的接口供其他账户调用。节点在每个高度执行交易后生成数据库变更日志(log),并将log作为世界状态进行持续的哈希存证,以保证各节点数据的一致。该方法解决了区块链只能存储简单数据结构的现状,采用广泛使用的数据表结构,支持增删改查操作,甚至跨合约联合查询,丰富了链上智能合约所能表达的功能,同时降低了链外系统的对接难度。

技术领域

本发明在现有区块链协议和智能合约技术的基础上,添加了状态存储相关的协议,特别是基于SQL数据库的数据组织和存储方法。

背景技术

区块链是一种新的分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。智能合约扩展了原本简单的为地址记录余额的功能,可以让账户拥有丰富的状态数据,记录复杂的数据结构。目前智能合约技术的这些数据存储结构大都为顺序排列的半结构化数据,支持一些基础的数据类型和一些数组类数据结构。外部账户由事先定义的统一数据结构存储,合约账户由自定义的数据结构存储,这些数据结构经过序列化后变为二进制数据作为账户的状态,并经一系列哈希运算后得出世界状态根。

这种半结构化数据无法像目前广泛使用的SQL数据库一样,对数据按照表结构进行组织,也无法支持大数据或复杂的数据结构,更无法进行SQL语法的查询,造成了智能合约开发和外部系统对接上的麻烦。

发明内容

本发明的目的在于针对现有技术的不足,提供一种基于SQL数据库的区块链状态存储方法

本发明的目的是通过以下技术方案实现的:一种基于SQL数据库的区块链状态存储方法,包括以下步骤

(1)生成创世块配置文件,在进行基础配置之后,增加对SQL数据库软件选型、软件版本、协议版本、数据库名称、用户名、密码等的配置。所述协议版本的配置方式为:

(1.1)在现有SQL基础协议上,指定对表、表结构和表数据的SQL语法增删改查操作。

(1.2)删除现有SQL协议中会引发分布式系统不一致的功能,如随机数random等函数。

(1.3)修改现有SQL协议中关于当前时间的实现方式,由从本地系统时间获取改为从所属高度块的时间戳获取,如now、today等函数。

(2)在创世块中添加基础账户的智能合约模板,确定基础公私钥账户的数据表结构。

(3)所有节点根据创世块配置文件进行初始化,按照配置新建一个数据库实例,生成数据库日志(log),将数据库日志(log)哈希后做为初始世界状态哈希(state_hash);所述节点拥有完全读写权限,同时为节点外系统创建只读权限账户。

(4)用户发起部署合约交易,在合约内部创建若干张表,并指定合约内唯一的表名称(name);出块节点收到用户发起的部署合约交易,若发起的交易是创建账户交易,则读取基础账户合约模板作为合约代码,否则根据用户自定义合约代码部署合约,生成唯一的地址(address),再处理基础运算并执行SQL语句以进行状态数据存储,最终写入数据库中的表名称为“%address%_%name%”。合约对自己创建的表具有完全的SQL读写权限,对其他合约创建的表只有SQL读权限。

(5)用户发起调用合约交易,出块节点收到用户发起的调用合约交易,则直接处理基础运算并执行SQL语句以进行状态数据存储。

(6)出块节点在执行完用户交易后,生成该块的数据库变更日志(log),将父块的state_hash插入log的首行,将该log哈希后作为当前块的state_hash,生成待验证块并广播。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州秘猿科技有限公司,未经杭州秘猿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710066745.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top