【技术实现步骤摘要】
数据账户创建方法及装置
[0001]本说明书一个或多个实施例涉及区块链领域,尤其涉及一种数据账户创建方法及装置。
技术介绍
[0002]智能合约的专利技术降低了区块链的应用门槛,联盟链的推出更是加快了企业对区块链的应用。然而,企业对区块链的应用面临着巨大的技术挑战,尤其在企业的业务逻辑日趋复杂,业务数据不断累积的情况下,由于现有的技术限制和性能瓶颈,通常需要由单个智能合约实现复杂的业务逻辑,该智能合约下也需要存储大量的业务数据。
[0003]因此,通常会导致如下问题:第一,智能合约的代码量较大,甚至可能逼近用于执行智能合约的虚拟机的上限;第二,如果为了减小智能合约的代码量,将智能合约拆分为多个子合约,则需要在这多个子合约之间进行跨合约调用来执行业务,使业务的执行性能受到影响;第三,如果智能合约所实现的业务逻辑需要升级,则需要在区块链上部署新的智能合约,即需要将升级后的业务逻辑写入至新的智能合约,并将原先的智能合约中的业务数据拷贝至新的智能合约,使得新的智能合约兼容原先的智能合约中的业务数据。
技术实现思路
[0004]本说明书一个或多个实施例提供技术方案如下:
[0005]本说明书提供一种数据账户创建方法,应用于区块链节点;所述区块链支持的账户类型包括数据账户;所述数据账户用于维护所述区块链上部署的智能合约进行合约计算所需的业务数据;所述方法包括:
[0006]接收用于创建所述数据账户的数据账户创建交易;其中,所述数据账户创建交易包括所述区块链上部署的智能合约进行合约计算所需的 ...
【技术保护点】
【技术特征摘要】
1.一种数据账户创建方法,应用于区块链节点;所述区块链支持的账户类型包括数据账户;所述数据账户用于维护所述区块链上部署的智能合约进行合约计算所需的业务数据;所述方法包括:接收用于创建所述数据账户的数据账户创建交易;其中,所述数据账户创建交易包括所述区块链上部署的智能合约进行合约计算所需的业务数据;响应于所述数据账户创建交易,在所述区块链上创建数据账户;以及,将所述业务数据添加至所述数据账户进行维护。2.根据权利要求1所述的方法,所述数据账户中维护的业务数据被组织成默克尔树的形式,在所述区块链节点搭载的本地数据库中存储;所述数据账户的账户结构包括用于维护所述默克尔树的根节点的Hash值的数据存储字段;所述将所述业务数据添加至所述数据账户进行维护,包括:将所述业务数据写入所述本地数据库中存储的默克尔树,以对所述默克尔树进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段。3.根据权利要求2所述的方法,所述业务数据包括业务数据内容和与所述业务数据内容对应的数据访问代码;所述将所述业务数据写入所述本地数据库中存储的默克尔树,以对所述默克尔树进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段,包括:将所述业务数据内容和所述数据访问代码的对应关系,写入所述本地数据库中存储的默克尔树,以对所述默克尔树进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段。4.根据权利要求3所述的方法,所述数据访问代码包括用于读写业务数据内容的接口代码。5.根据权利要求2所述的方法,所述数据账户创建交易还包括与所述业务数据对应的数据描述信息;所述数据账户的账户结构还包括用于维护所述数据描述信息的Hash值的数据描述字段;所述方法还包括:计算所述数据账户创建交易中的与所述业务数据对应的数据描述信息的Hash值,并将计算出的所述Hash值填充至所述数据账户中的数据描述字段。6.根据权利要求2所述的方法,所述方法还包括:接收与所述数据账户对应的管理方发起的针对所述数据账户的数据账户更新交易;其中,所述数据账户更新交易包括更新后的所述业务数据;响应于所述数据账户更新交易,确定所述管理方是否具有与所述数据账户对应的管理权限;如果所述管理方具有与所述数据账户对应的管理权限,则将更新后的所述业务数据写入所述本地数据库中存储的默克尔树,以对所述默克尔树上已写入的所述业务数据进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段。7.根据权利要求1所述的方法,所述数据账户的账户结构包括用于维护与所述数据账户对应的访问授权信息的授权字段;
所述方法还包括:接收与所述数据账户对应的管理方发起的针对所述数据账...
【专利技术属性】
技术研发人员:俞本权,刘燕,魏长征,何家华,郭学鹏,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。