一种基于关系数据库的区块链实现方法与流程

文档序号:28208751发布日期:2021-12-28 19:42阅读:146来源:国知局
一种基于关系数据库的区块链实现方法与流程

1.本发明涉及区块链技术领域,具体为一种基于关系数据库的区块链实现方法。


背景技术:

2.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
3.现有基于关系数据库的企业t平台,需要被追溯的数据表接入区块链,该数据不具有去中心化、分布式网络、强安全加密机制和记录公开透明不可篡改的能力的缺点。


技术实现要素:

4.针对现有技术的不足,本发明提供了一种基于关系数据库的区块链实现方法,解决了上述背景技术中提出现有基于关系数据库的企业t平台,需要被追溯的数据表接入区块链,该数据不具有去中心化、分布式网络、强安全加密机制和记录公开透明不可篡改的能力的问题。
5.为实现以上目的,本发明通过以下技术方案予以实现:一种基于关系数据库的区块链实现方法,包括以下步骤:s1、企业端打包数据上链;s2、记账端接收区块数据转发记账;s3、区块记账流程及公布区块;s4、区块验证流程;s5、创建侧链表的创世块:企业通过发送high=1的区块,注册新的侧链表。
6.可选的,所述步骤s1、企业端打包数据上链,具体包括以下步骤:s101、改造关系数据库中需上链的表结构,并增加high和hash两个字段;s102、在关系数据库中安装区块链软件企业端,基于sm2算法生成秘钥;s103、设置企业秘钥,并定义每个表的保密字段,常驻内存运行,与多个记账端长连接,一旦发现新数据,计算hash值,打包区块交易,发送给记账端。
7.可选的,所述步骤s2、记账端接收区块数据转发记账,具体包括以下步骤:s201、选择具备一定条件的服务器安装区块链软件记账端,并驱动常驻内存运行;s202、记账端分为排队节点、拜占庭节点、记账节点三种类型记账端通过p2p拓扑方式与其他节点链接;s203、记账节点记账完成后,运行时长减半后继续排队。
8.可选的,所述步骤s201的服务器应有固定ip,并保证网络环境稳定,存储空间足
够。
9.可选的,所述步骤s201中的每个记账端都可与多个企业端保持长连接,记账端无故障运行时长作为获得记账权利的条件。
10.可选的,所述步骤s201中的拜占庭节点与记账节点需相互保持链接,排队节点与至少3个拜占庭节点链接,保持系统运行稳定。
11.可选的,所述步骤s3、区块记账流程及公布区块,具体包括以下步骤:s301、记账端收到打包的区块后,验证区块合法性,如合法则发送到拜占庭节点,拜占庭节点验证区块合法性,轮候记账;s302、记账完成并发布到其他拜占庭节点投票;s303、其他拜占庭节点验证合法性投票确认并存储区块,转发到已连接的其他记账端。
12.可选的,所述步骤s4、区块验证流程,具体包括以下步骤:s401、通过企业公钥pk用sm2算法解密hash签名;s402、通过企业公钥pk和表名找到目标侧链,读取上一个高度prevhash;s403、结合公开数据集和已加密数据集,用sm3算法计算摘要,如与解密的hash签名相同,则验证合法。
13.可选的,所述步骤s5、创建侧链表的创世块中,第一个创世块中的数据部分为公开和保密字段定义、字段索引、表类型、公开字段限制条件等结构化的配置信息。
14.本发明提供了一种基于关系数据库的区块链实现方法,具备以下有益效果:该基于关系数据库的区块链实现方法按照区块链的核心思想,改造现有基于关系数据库的企业t平台,实现需要被追溯的数据表接入区块链,使得该数据具有去中心化、分布式网络、强安全加密机制和记录公开透明不可篡改的能力,实现两个区块链软件,分别是企业端和记账端,用于基于关系数据库的区块链平台的功能实现、性能调优等实验开展。
附图说明
15.图1为本发明的流程示意图;图2为本发明企业端打包数据上链的流程示意图;图3为本发明记账端接收区块数据转发记账的流程示意图;图4为本发明区块记账流程及公布区块的流程示意图;图5为本发明区块验证流程和创建侧链表的创世块的流程示意图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
17.请参阅图1至图5,本发明提供一种技术方案:一种基于关系数据库的区块链实现方法,包括以下步骤:s1、企业端打包数据上链;s2、记账端接收区块数据转发记账;s3、区块记账流程及公布区块;
s4、区块验证流程;s5、创建侧链表的创世块:企业通过发送high=1的区块,注册新的侧链表。
18.步骤s5、创建侧链表的创世块中,第一个创世块中的数据部分为公开和保密字段定义、字段索引、表类型、公开字段限制条件等结构化的配置信息。
19.本发明中,如附图2所示,步骤s1、企业端打包数据上链,具体包括以下步骤:s101、改造关系数据库中需上链的表结构,并增加high和hash两个字段;s102、在关系数据库中安装区块链软件企业端,基于sm2算法生成秘钥;s103、设置企业秘钥,并定义每个表的保密字段,常驻内存运行,与多个记账端长连接,一旦发现新数据,计算hash值,打包区块交易,发送给记账端。
20.本发明中,如附图3所示,步骤s2、记账端接收区块数据转发记账,具体包括以下步骤:s201、选择具备一定条件的服务器安装区块链软件记账端,并驱动常驻内存运行;s202、记账端分为排队节点、拜占庭节点、记账节点三种类型记账端通过p2p拓扑方式与其他节点链接;s203、记账节点记账完成后,运行时长减半后继续排队。
21.步骤s201的服务器应有固定ip,并保证网络环境稳定,存储空间足够。
22.步骤s201中的每个记账端都可与多个企业端保持长连接,记账端无故障运行时长作为获得记账权利的条件。
23.步骤s201中的拜占庭节点与记账节点需相互保持链接,排队节点与至少3个拜占庭节点链接,保持系统运行稳定。
24.本发明中,如附图4所示,步骤s3、区块记账流程及公布区块,具体包括以下步骤:s301、记账端收到打包的区块后,验证区块合法性,如合法则发送到拜占庭节点,拜占庭节点验证区块合法性,轮候记账;s302、记账完成并发布到其他拜占庭节点投票;s303、其他拜占庭节点验证合法性投票确认并存储区块,转发到已连接的其他记账端。
25.本发明中,如附图5所示,步骤s4、区块验证流程,具体包括以下步骤:s401、通过企业公钥pk用sm2算法解密hash签名;s402、通过企业公钥pk和表名找到目标侧链,读取上一个高度prevhash;s403、结合公开数据集和已加密数据集,用sm3算法计算摘要,如与解密的hash签名相同,则验证合法。
26.综上,该基于关系数据库的区块链实现方法,使用时,首先,改造关系数据库中需上链的表结构,并增加high和hash两个字段,以及在关系数据库中安装区块链软件企业端,基于sm2算法生成秘钥,并设置企业秘钥,并定义每个表的保密字段,常驻内存运行,与多个记账端长连接,一旦发现新数据,计算hash值,打包区块交易,发送给记账端;其次,选择具备一定条件的服务器安装区块链软件记账端,并驱动常驻内存运行,以及将记账端分为排队节点、拜占庭节点、记账节点三种类型记账端通过p2p拓扑方式与其他节点链接,而记账节点记账完成后,运行时长减半后继续排队;再其次,记账端收到打包的区块后,验证区块合法性,如合法则发送到拜占庭节点,拜占庭节点验证区块合法性,轮
候记账,记账完成并发布到其他拜占庭节点投票,其他拜占庭节点验证合法性投票确认并存储区块,转发到已连接的其他记账端;然后,先通过企业公钥pk用sm2算法解密hash签名,再通过企业公钥pk和表名找到目标侧链,读取上一个高度prevhash,并结合公开数据集和已加密数据集,用sm3算法计算摘要,如与解密的hash签名相同,则验证合法;最后,企业通过发送high=1的区块,注册新的侧链表。
27.以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1