1.一种计算机实现的用于在可信执行环境tee中处理区块链数据的方法,所述可信执行环境在通信地耦接到区块链网络的计算设备上执行,所述方法包括:
从所述区块链网络的区块链节点接收在所述可信执行环境中执行一个或多个软件指令的请求;
确定用于执行所述一个或多个软件指令的一个或多个区块不被频繁访问,其中,所述一个或多个区块被存储在所述区块链节点上并且被追加到区块链;
在所述可信执行环境中执行所述一个或多个区块的纠错编码以生成一个或多个编码区块;
基于所述一个或多个软件指令将所述一个或多个编码区块中的每一个编码区块划分为多个数据集;以及
基于所述一个或多个软件指令将所述多个数据集和数据存储安排发送到所述区块链网络的区块链节点,其中,所述数据存储安排指示所述多个数据集中的至少一个数据集由每一个所述区块链节点存储。
2.根据权利要求1所述的方法,其中,
如果所述一个或多个区块被创建了预定的时间量或者与所述一个或多个区块相关联的区块数据持续预定的时间量未被检索用于执行智能合约,则所述一个或多个区块被确定为不被频繁访问的区块。
3.根据前述权利要求中的任意一项所述的方法,其中,
响应于确定所述计算设备的计算资源的利用率小于或等于预定值,或者响应于所述计算设备的存储空间的使用率大于或等于预定百分比,执行所述纠错编码。
4.根据前述权利要求中的任意一项所述的方法,其中,通过向所述一个或多个区块添加冗余位来执行所述纠错编码。
5.根据前述权利要求中的任意一项所述的方法,其中,所述纠错编码是纠删编码。
6.根据前述权利要求中的任意一项所述的方法,其中,所述数据存储安排还指示存储所述多个数据集的剩余部分的哈希值。
7.根据权利要求6所述的方法,还包括:
在所述多个数据集的所述剩余部分的所述哈希值被存储之后,删除存储在所述区块链节点上的所述一个或多个区块。
8.根据前述权利要求中的任意一项所述的方法,还包括:
使用所述一个或多个区块中相对应区块的区块id来索引所述多个数据集中的每一个数据集。
9.根据前述权利要求中的任意一项所述的方法,其中,所述请求包括一个或多个输入参数,并且所述请求经过与所述可信执行环境相关联的应用编程接口被接收。
10.一种通信共享区块链数据的系统,包括:
一个或多个处理器;以及
耦接到所述一个或多个处理器并且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行权利要求1-9中任意一项所述的方法。
11.一种用于通信共享区块链数据的装置,所述装置包括用于执行权利要求1-9中任意一项所述的方法的多个模块。