当前位置: 首页 > 专利查询>曾建伟专利>正文

一种包含智能合约的区块链网式数据库及工作方法技术

技术编号:16102040 阅读:41 留言:0更新日期:2017-08-29 22:37
本发明专利技术提供一种包含智能合约的区块链网式数据库,包括智能合约模块、数据打包模块、区块头计算模块、库内通信模块,智能合约模块与数据打包模块连接,数据打包模块与区块头计算模块、库内通信模块连接;智能合约模块是用户自定义模块,该模块将按用户的自定义的约束验证及处理数据;数据打包模块按照树链的方式组织数据;库内通讯模块将采用PBFT的算法来保证主节点及备份节点的一致性。还提供包含智能合约的区块链网式数据库的工作方法。本发明专利技术提供了区块链系统的通用核心库,能加快区块链应用的开发速度;能实现多链交互,不仅可以避免单链模式账本过大导致部分节点无法参与网络的情况,还可以通过链条间的业务逻辑依赖关系保证数据真实性。

【技术实现步骤摘要】
一种包含智能合约的区块链网式数据库及工作方法
本专利技术涉及数据库
,特别是涉及一种包含智能合约的区块链网式数据库及工作方法。
技术介绍
自中本聪2008年专利技术比特币(Bitcoin),一种点对点的电子现金系统,区块链(BlockChain)技术逐渐走进人们的视野。除了比特币系统外,还有以太坊(Ethereum)、公证链(Factom)是最广为人知的三大使用区块链技术的系统。然而,这三个系统各有利弊:比特币和以太坊都是单链系统;公证链虽然已有多链的雏形,但只有包含关系——二级数据(副链)被包含在一级数据(主链)中;三者中只有以太坊使用智能合约,能自动执行复杂的逻辑。单链系统的弊处在于所有数据存储在一个账本中,当数据越来越多时,网络中一些存储空间小的节点就被迫退出,不利于去中心化系统的稳定性。链条若没有智能合约,则只能执行简单且固定的逻辑,系统应用层面的扩展性非常弱;像比特币和公证链只能记录特定的项目,不能执行更为复杂的逻辑。此外,区块链的数据结构虽具有不可篡改的性质,但不能保证数据的真实性;例如公证链,记录的事项在发生之后,所以当写入的数据是错误的时候,不可篡改的性质反倒是个劣势。只有像比特币这样的系统,是“记录即发生,不记录不发生”的情况下,区块链的数据才能保证绝对的真实性。最后,三个系统都非通用系统,都是为了特定目的而搭建的区块链具体应用系统;所以二次开发需要做大幅度修改。有鉴于此,特提出本专利技术,以改正上述现有技术的不足之处。
技术实现思路
针对上述现有技术,本专利技术所要解决的技术问题是提供一种包含智能合约的区块链网式数据库,该包含智能合约的区块链网式数据库提供了区块链系统的通用核心库,能加快区块链应用的开发速度;能实现多链交互,不仅可以避免单链模式账本过大导致部分节点无法参与网络的情况,还可以通过链条间的业务逻辑依赖关系保证数据真实性。本专利技术还提供了一种包含智能合约的区块链网式数据库的工作方法。为了解决上述技术问题,本专利技术提供了一种包含智能合约的区块链网式数据库,其包括智能合约模块、数据打包模块、区块头计算模块、库内通信模块,所述智能合约模块与数据打包模块连接,所述数据打包模块分别与区块头计算模块、库内通信模块连接,所述智能合约模块还与外部非链式应用模块连接;所述智能合约模块是用户自定义模块,用户可对数据进行自定义的约束,该模块将按用户的自定义的约束验证及处理数据;所述数据打包模块按照树链的方式组织数据;所述库内通讯模块将采用PBFT的算法来保证同链条主节点及备份节点的一致性。本专利技术的进一步改进为,所述区块头计算模块包括树根计算模块和挖矿模块,所述树根计算模块分别与区块头计算模块、库内通信模块连接,所述挖矿模块分别与区块头计算模块、库内通信模块连接;所述树根计算模块将计算树根的哈希值并保存在区块头中;所述挖矿模块采用Hashcash算法,通过遍历区块头中的随机数域来计算出符合一定工作量的区块头哈希值,该区块头的哈希值将存储在下一个区块头中。本专利技术还提供了一种包含智能合约的区块链网式数据库的工作方法,其包括以下步骤:步骤一:非链式应用模块发送数据到包含智能合约的区块链网式数据库;步骤二:接收到数据的节点检查链ID是否匹配,若不匹配,则发送到对应链ID的节点,否则进入步骤三;步骤三:进入智能合约模块,验证数据是否符合约束,若不符合约束,则向非链式应用模块返回报错信息,否则进入步骤四;步骤四:节点将收集到的数据打包,并计算出树根的哈希值;步骤五:变更随机数构成区块头形成备选区块;步骤六:验证备选区块头的哈希值是否符合约束,若不符合约束,则返回步骤五;否则新区块形成,并更新到其他节点。与现有技术相比,本专利技术包括智能合约模块、数据打包模块、区块头计算模块、库内通信模块,所述智能合约模块与数据打包模块连接,所述数据打包模块分别与区块头计算模块、库内通信模块连接,所述智能合约模块还与外部非链式应用模块连接。本专利技术还提供了一种包含智能合约的区块链网式数据库的工作方法。本专利技术提供了区块链系统的通用核心库,能加快区块链应用的开发速度;能实现多链交互,不仅可以避免单链模式账本过大导致部分节点无法参与网络的情况,还可以通过链条间的业务逻辑依赖关系保证数据真实性。附图说明图1是本专利技术的区块链网式数据库结构框图;图2是专利技术的工作流程图;图3是专利技术的新生儿默克尔树图。具体实施方式下面结合附图说明及具体实施方式对本专利技术进一步说明。如图1所示,一种包含智能合约的区块链网式数据库,其包括智能合约模块、数据打包模块、区块头计算模块、库内通信模块,所述智能合约模块与数据打包模块连接,所述数据打包模块分别与区块头计算模块、库内通信模块连接,所述智能合约模块还与外部非链式应用模块连接;所述智能合约模块是用户自定义模块,用户可对数据进行自定义的约束,该模块将按用户的自定义的约束验证及处理数据;所述数据打包模块按照树链(一般是MerkleTree或MerklePatriciaTree)的方式组织数据;所述库内通讯模块将采用PBFT(PracticalByzantineFaultTolerance)的算法来保证同链条主节点及备份节点的一致性。具体地,如图1所示,所述区块头计算模块包括树根计算模块和挖矿模块,所述树根计算模块分别与区块头计算模块、库内通信模块连接,所述挖矿模块分别与区块头计算模块、库内通信模块连接;所述树根计算模块将计算树根的哈希值(如果是MerkleTree则可省去该模块)并保存在区块头中;该模块是为了保证区块内的数据不被篡改。所述挖矿模块采用Hashcash算法,通过遍历区块头中的随机数域来计算出符合一定工作量的区块头哈希值,该区块头的哈希值将存储在下一个区块头中。挖矿模块是构成链条的核心,一方面通过将上一个区块头的哈希值存入下一个区块头中的方法来保证区块数据不被篡改,一方面通过挖矿方式来证明工作量的方法来增加伪造链条的成本。如图2所示,本专利技术还提供了一种包含智能合约的区块链网式数据库的工作方法,其包括以下步骤:步骤一:非链式应用模块发送数据到包含智能合约的区块链网式数据库;步骤二:接收到数据的节点检查链ID是否匹配,若不匹配,则发送到对应链ID的节点,否则进入步骤三;步骤三:进入智能合约模块,验证数据是否符合约束,若不符合约束,则向非链式应用模块返回报错信息,否则进入步骤四;步骤四:节点将收集到的数据打包,并计算出树根(一般是默克尔树,MerkleTree)的哈希值;步骤五:变更随机数构成区块头形成备选区块;步骤六:验证备选区块头的哈希值是否符合约束,若不符合约束,则返回步骤五;否则新区块形成,并更新到其他节点。如图3所示,下面以自然人一生周期为案例来详细说明:区块区块包括区块头,新生儿信息列表,新增业务信息列表和事项申请列表四个域,如下表:域描述区块头前区块头哈希值,新生儿信息默克尔树根(MerkleTreeRoot),新业务信息默克尔树根(一般为空),事项申请消息默克尔树根,自然人MPT根(Merkle-Patricia-TreeRoot,这里的前缀可以是身份证号),业务MPT根(Merkle-Patricia-TreeRoot),时间戳。[1]每个自然人都拥有一个账户,MPT是以太坊为融入账户层加入区块链对默本文档来自技高网...
一种包含智能合约的区块链网式数据库及工作方法

【技术保护点】
一种包含智能合约的区块链网式数据库,其特征在于:其包括智能合约模块、数据打包模块、区块头计算模块、库内通信模块,所述智能合约模块与数据打包模块连接,所述数据打包模块分别与区块头计算模块、库内通信模块连接,所述智能合约模块还与外部非链式应用模块连接;所述智能合约模块是用户自定义模块,用户可对数据进行自定义的约束,该模块将按用户的自定义的约束验证及处理数据;所述数据打包模块按照树链的方式组织数据;所述库内通讯模块将采用PBFT的算法来保证同链条主节点及备份节点的一致性。

【技术特征摘要】
2017.05.12 CN 20171033331661.一种包含智能合约的区块链网式数据库,其特征在于:其包括智能合约模块、数据打包模块、区块头计算模块、库内通信模块,所述智能合约模块与数据打包模块连接,所述数据打包模块分别与区块头计算模块、库内通信模块连接,所述智能合约模块还与外部非链式应用模块连接;所述智能合约模块是用户自定义模块,用户可对数据进行自定义的约束,该模块将按用户的自定义的约束验证及处理数据;所述数据打包模块按照树链的方式组织数据;所述库内通讯模块将采用PBFT的算法来保证同链条主节点及备份节点的一致性。2.根据权利要求1所述的一种包含智能合约的区块链网式数据库,其特征在于:所述区块头计算模块包括树根计算模块和挖矿模块,所述树根计算模块分别与区块头计算模块、库内通信模块连接,所述挖矿模块分别与区块头计算模...

【专利技术属性】
技术研发人员:曾建伟
申请(专利权)人:曾建伟
类型:发明
国别省市:广东,44

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

1