1.一种用于区块链系统的装置,包括:
设备,包括至少一个存储器和至少一个处理器,所述至少一个存储器被适配为存储用于所述设备的运行时数据,所述至少一个处理器被适配为执行处理器可执行代码,所述处理器可执行代码响应于执行来使所述设备能够执行动作,所述动作包括:
在所述处理器的可信执行环境(TEE)中存储预定类型的区块链协议代码和预定类型的共识代码;
使用TEE证明来验证在所述TEE中存储的所述区块链协议代码是所述预定类型的区块链协议代码,并且验证在所述TEE中存储的所述共识代码是所述预定类型的共识代码;
接收更改所述预定类型的区块链协议代码的请求;以及
基于所述预定的共识代码来确定是否改变所述预定类型的区块链协议代码。
2.根据权利要求1所述的装置,所述动作还包括:
接收更改与所述区块链系统相关联的至少一个其他预定参数的请求,其中所述至少一个其他预定参数包括以下中的至少一项:成员资格添加、成员资格删除、包括所述TEE的所述处理器的处理器类型、TEE类型、在所述TEE中执行的代码版本、或者在所述TEE中执行的机密联盟区块链框架(COCO)版本;以及
基于所述共识代码来确定是否更改所述至少一个其他预定参数。
3.根据权利要求1所述的装置,所述动作还包括:
接收区块链事务;以及
基于所述共识代码来选择用于所述区块链事务的验证节点领导者。
4.根据权利要求3所述的装置,所述动作还包括:
经由所选择的所述验证节点领导者来处理所述区块链事务;
基于所述区块链事务的所述处理,为区块链网络直接更新经处理的所述区块链的官方状态;以及
向所述区块链网络广播经处理的所述区块链的经更新的所述官方状态。
5.一种用于区块链系统的方法,包括:
在处理器的可信执行环境(TEE)中存储预定类型的区块链协议代码和预定类型的共识代码;
使用TEE证明来验证在所述TEE中存储的所述区块链协议代码是所述预定类型的区块链协议代码,并且验证在所述TEE中存储的所述共识代码是所述预定类型的共识代码;
接收更改所述预定类型的区块链协议代码的请求;以及
在所述处理器的所述TEE中执行所述预定的共识代码以确定是否改变所述预定类型的区块链协议码。
6.根据权利要求5所述的方法,还包括:
接收更改与所述区块链系统相关联的至少一个其他预定参数的请求,其中所述至少一个其他预定参数包括以下中的至少一项:成员资格添加、成员资格删除、用于包括所述TEE的所述处理器的处理器类型、TEE类型、在所述TEE中执行的代码版本、或在所述TEE中执行的机密联盟区块链框架(COCO)版本;以及
基于所述共识代码来确定是否更改所述至少一个其他预定参数。
7.根据权利要求5所述的方法,还包括:
接收区块链事务;以及
基于所述共识代码来选择用于所述区块链事务的验证节点领导者。
8.根据权利要求7所述的方法,还包括:
基于所述共识代码来执行与所述区块链事务相关联的冲突解决。
9.根据权利要求7所述的方法,还包括:
经由所选择的所述验证节点领导者来处理所述区块链事务;
基于所述区块链事务的所述处理,为区块链网络直接更新经处理的所述区块链的官方状态;以及
向所述区块链网络广播经处理的所述区块链的经更新的所述官方状态。
10.一种处理器可读存储介质,其上存储有处理器可执行代码,所述处理器可执行代码在由至少一个处理器执行时实现动作,所述动作包括:
在所述处理器的可信执行环境(TEE)中存储预定类型的认证协议代码和预定类型的共识代码;
使用TEE证明来验证在所述TEE中存储的所述认证协议代码是所述预定类型的认证协议代码,并且验证在所述TEE中存储的所述共识代码是所述预定类型的共识代码;
接收更改所述预定类型的认证协议代码的请求;以及
基于所述预定的共识代码来确定是否改变所述预定类型的认证协议代码。
11.根据权利要求10所述的处理器可读存储介质,所述处理器可执行代码在执行时实现进一步的动作,所述进一步的动作包括:
接收认证事务;以及
基于所述共识代码来选择用于所述认证事务的验证节点领导者。
12.根据权利要求11所述的处理器可读存储介质,所述处理器可执行代码在执行时实现进一步的动作,包括:
经由所选择的所述验证节点领导者来处理所述认证事务;
基于所述认证事务的所述处理,为认证网络直接更新经处理的所述认证的官方状态;以及
向所述认证网络广播经处理的所述认证的经更新的所述官方状态。
13.根据权利要求7所述的方法,其中所述区块链事务是加密和机密的,以使得仅授权方被允许查看所述区块链事务。
14.根据权利要求5所述的方法,还包括:认可包括所述处理器的第一验证节点。
15.根据权利要求14所述的方法,还包括:
发现与多个预期成员相关联的其他验证节点;以及
从所述其他验证节点接收私钥。