用于更新区块链中的数据的系统和方法技术方案

技术编号:24179243 阅读:38 留言:0更新日期:2020-05-16 05:52
提供了用于更新区块链中的数据的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括:获得用于更新一个或多个区块链中的多条数据的一个或多个请求以及更新所述一个或多个区块链中的所述多条数据。

System and method for updating data in blockchain

【技术实现步骤摘要】
【国外来华专利技术】用于更新区块链中的数据的系统和方法
本申请一般涉及用于更新区块链中的数据的系统和方法。
技术介绍
区块链通过将数据保存在相互之间具有先后(precedence)关系的一系列数据区块中来以去中心化方式提供数据存储。区块的链由区块链节点的网络维护和更新,所述区块链节点也负责在共识方案下验证数据。存储的数据可以包括许多数据类型,例如各方之间的金融交易、历史访问信息等。许多区块链(例如以太坊区块链)已启用通过区块链交易执行的区块链合约(也被称为智能合约)。区块链交易是由外部拥有的账户(例如区块链账户)发起的签名的消息,由区块链网络传输并记录在区块链中。可以编写区块链合约以实现各种功能,例如将数据添加到区块链账户、更改区块链中的数据等。因此,可以通过执行各种区块链交易来维护和更新区块链。在现有的区块链方案中,每个区块链节点都需要执行各种区块链交易以维护区块链。达成共识后,所有区块链节点都需要按照约定的顺序执行相同的交易,以保持区块链的本地副本同步。因为每次执行都需要大量的算力,所以在重复计算中会消耗大量计算资源。随着区块链交易算法的复杂性提高,冗余问题将变得更加突出。此外,由于大多数区块链交易是为满足个人需求而构建的,并且不考虑其他同时执行的区块链交易,因此这些区块链交易的执行效率很低。例如,为了更新区块链数据,客户端在本地检索每个本地账户及其对应的本地维护的私钥。在相同的本地环境中,客户端使用本地账户的私钥对本地账户的区块链交易签名。然后,客户端发送签名的区块链交易以在区块链中执行。因此,一次执行一次区块链交易。此外,客户端必须存储和管理本地账户的区块链地址和公私钥,这给客户端带来了维护存储和安全性的负担。此外,由于区块链交易是由客户端在封闭环境中独立编写的,因此轻微的错误可能会导致整个区块链交易的执行错误,并可能导致巨大的财务损失。如果没有持续的资源投入,客户端维护的安全协议可能会变得过时、过期或存在漏洞,这可能导致区块链系统出现安全隐患。
技术实现思路
本文的各种实施例包括但不限于用于更新区块链中的数据的系统、方法和非暂时性计算机可读介质。根据一些实施例,一种计算机实现的用于更新区块链中的数据的方法包括:获得用于更新一个或多个区块链中的多条数据的一个或多个请求;更新所述一个或多个区块链中的所述多条数据。在一些实施例中,获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得用于在与一个本地账户相关联的多个区块链中对应地更新所述多条数据的所述一个或多个请求;以及更新所述一个或多个区块链中的所述多条数据包括:在所述多个区块链中对应地批量更新所述多条数据。在一些实施例中,获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得用于在与多个本地账户相关联的一个区块链中对应地更新所述多条数据的所述一个或多个请求;以及更新所述一个或多个区块链中的所述多条数据包括:在一个区块链中批量更新所述多条数据。在一些实施例中,获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得用于在与多个本地账户相关联的多个区块链中对应地更新所述多条数据的所述一个或多个请求;以及更新所述一个或多个区块链中的所述多条数据包括:在所述多个区块链中对应地批量更新所述多条数据。在一些实施例中,获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得一个或多个本地账户、待执行以对应地更新与所述一个或多个本地账户相关联的所述多条数据的一个或多个未签名的区块链交易、所述多条数据的信息以及所述与所述一个或多个区块链交易对应的所述一个或多个区块链的一个或多个标识;以及所述多条数据的所述信息包括:将要添加至所述一个或多个区块链的新数据或将对所述一个或多个区块链中的现有数据做出的更改。在一些实施例中,更新所述一个或多个区块链的所述多条数据包括:获得与所述一个或多个本地账户相关联的一个或多个区块链地址以及对应地与所述一个或多个区块链地址关联的一个或多个私钥;基于所述一个或多个区块链地址对应地更新所述一个或多个未签名的区块链交易;利用所述一个或多个私钥对应地对所述一个或多个更新的区块链交易进行签名;以及将所述签名的一个或多个区块链交易发送至所述一个或多个区块链的一个或多个区块链节点以供执行。在一些实施例中,将所述签名的一个或多个区块链交易发送至所述一个或多个区块链节点以供执行包括:构建包括所述签名的一个或多个区块链交易的主区块链交易;以及根据所述一个或多个区块链的所述一个或多个标识,将所述主区块链交易发送至所述一个或多个区块链的所述一个或多个区块链节点以供执行。在一些实施例中,获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:从客户端获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求;以及所述客户端不存储(1)与所述一个或多个本地账户相关联的所述一个或多个区块链地址和/或(2)与所述一个或多个区块链地址相关联的所述一个或多个私钥。在一些实施例中,获得对应地与所述一个或多个区块链地址关联的所述一个或多个私钥包括:检索加密形式的所述一个或多个私钥;基于所述一个或多个区块链地址对应地更新所述一个或多个未签名的区块链交易包括:将所述一个或多个区块链地址对应地添加至所述一个或多个未签名的区块链交易;以及利用所述一个或多个私钥对应地对所述一个或多个更新的区块链交易进行签名包括:对检索的所述加密形式的一个或多个私钥进行解密并利用解密形式的所述一个或多个私钥对应地对所述一个或多个更新的区块链交易进行签名。在一些实施例中,检索所述加密形式的所述一个或多个私钥包括:从密钥管理系统(KMS)中根据一个或多个映射关系中的一个或多个KMS目录检索所述加密形式的所述一个或多个私钥;所述一个或多个映射关系将所述一个或多个本地账户与所述一个或多个区块链地址和所述一个或多个KMS目录关联起来;以及所述一个或多个KMS目录链接至所述加密形式的所述一个或多个私钥。在一些实施例中,对所述检索的所述加密形式的一个或多个私钥进行解密并利用所述解密形式的所述一个或多个私钥对应地对所述一个或多个更新的区块链交易进行签名包括:在可信执行环境(TEE)中,对所述检索的所述加密形式的一个或多个私钥进行解密并利用所述解密形式的所述一个或多个私钥对应地对所述一个或多个更新的区块链交易进行签名。在一些实施例中,获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:根据轻目录访问协议(LDAP)从客户端获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求。根据一些实施例,一种用于更新区块链中的数据的系统,包括:一个或多个处理器以及耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行前述实施例中任一个所述的方法。根据一些实施例,一种用于更新区块链中的数据的装置,包括用于以执行前述实施例中任本文档来自技高网
...

【技术保护点】
1.一种计算机实现的用于更新区块链中的数据的方法,包括:/n获得用于更新一个或多个区块链中的多条数据的一个或多个请求;以及/n更新所述一个或多个区块链中的所述多条数据。/n

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的用于更新区块链中的数据的方法,包括:
获得用于更新一个或多个区块链中的多条数据的一个或多个请求;以及
更新所述一个或多个区块链中的所述多条数据。


2.根据权利要求1所述的方法,其中:
获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得用于在与一个本地账户相关联的多个区块链中对应地更新所述多条数据的所述一个或多个请求;以及
更新所述一个或多个区块链的所述多条数据包括:在所述多个区块链中对应地批量更新所述多条数据。


3.根据权利要求1所述的方法,其中:
获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得用于在与多个本地账户相关联的一个区块链中对应地更新所述多条数据的所述一个或多个请求;以及
更新所述一个或多个区块链的所述多条数据包括:在所述一个区块链中批量更新所述多条数据。


4.根据权利要求1所述的方法,其中:
获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得用于在与多个本地账户相关联的多个区块链中对应地更新所述多条数据的所述一个或多个请求;以及
更新所述一个或多个区块链的所述多条数据包括:在所述多个区块链中对应地批量更新所述多条数据。


5.如权利要求1至4中任一项所述的方法,其中
获得用于更新所述一个或多个区块链中的所述多条数据的所述一个或多个请求包括:获得一个或多个本地账户、待执行以对应地更新与所述一个或多个本地账户相关联的所述多条数据的一个或多个未签名的区块链交易、所述多条数据的信息以及与所述一个或多个区块链交易对应的所述一个或多个区块链的一个或多个标识;以及
所述多条数据的所述信息包括:待添加至所述一个或多个区块链的新数据、或待对所述一个或多个区块链中的现有数据做出的更改。


6.如权利要求5所述的方法,其中,更新所述一个或多个区块链的所述多条数据包括:
获得与所述一个或多个本地账户相关联的一个或多个区块链地址以及对应地与所述一个或多个区块链地址关联的一个或多个私钥;
基于所述一个或多个区块链地址对应地更新所述一个或多个未签名的区块链交易;
利用所述一个或多个私钥对应地对所述一个或多个更新的区块链交易进行签名;以及
将签名的一个或多个区块链交易发送至所述一个或多个区块链的一个或多个区块链节点以供执行。


7.如权利要求6所述的方法,其中,将所述签名的一个或多个区块链交易发送至所述一个或多个区块链节点以供执行包括:
构建包括所述签名的一个或多个区块链交易的主区块链交易;以及
根据所述一个或多个区块链的所述一个或多个标识,将所述主区块链交易发送至所述一个或多个区块链的所述一个或多个区块链节点以供执行。


...

【专利技术属性】
技术研发人员:管亚阳陈远王凯
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1