1.一种基于可信计算的区块链用户隐私保护方法,应用于包括链下可信执行环境设备的区块链中,其特征在于,所述基于可信计算的区块链用户隐私保护方法,包括:链下的可信执行环境设备注册到区块链并与区块链建立连接;
链下的可信执行环境设备在本地生成临时公私钥对,并将公钥提交到区块链上;
用户采用从区块链获取的所述公钥对自己的上链数据进行加密,发送到区块链;
区块链中部署的公开存储合约,接收用户发送的加密上链数据,存储在区块链上;
链下的可信执行环境设备在监听到用户的加密上链数据后,获取加密上链数据在安全区中进行隐私计算,将最终的计算结果连同相应的证明上传到区块链上;
区块链对链下的可信执行环境设备提交的证明进行验证,完成用户的状态转换;
其中,所述链下的可信执行环境设备在监听到用户的加密上链数据后,获取加密上链数据,包括:使用VRF随机函数,进行随机区块链节点选择;
从选择的区块链节点中获取最新区块的区块头哈希值,按照区块头哈希值相同与否进行分组,选取区块头哈希值最多的一组区块链节点作为本次博弈的谢林节点集合,从本次博弈的谢林节点集合中随机选取一个区块链节点作为最终选取的区块链节点;
从最终选取的区块链节点中获取最新区块的详细信息,从而获得用户的加密上链数据。
2.如权利要求1所述的基于可信计算的区块链用户隐私保护方法,其特征在于,所述公私钥对为RSA公私钥对。
3.如权利要求1所述的基于可信计算的区块链用户隐私保护方法,其特征在于,所述将公钥提交到区块链上,包括:链下的可信执行环境设备将公钥信息上传到区块链,所述公钥信息包括公钥、哈希值和数字签名;
区块链使用公钥解密签名得到摘要,并将从公钥信息中直接提取的哈希值与摘要进行比较,如果匹配则说明签名有效,以验证公钥的完整性。
4.如权利要求1所述的基于可信计算的区块链用户隐私保护方法,其特征在于,所述链下的可信执行环境设备注册到区块链并与区块链建立连接,包括:链下的可信执行环境设备首先进行远程认证,并生成认证报告提交到区块链;
区块链验证链下的可信执行环境设备的可用性后,完成链下的可信执行环境设备在区块链上的注册并与其建立连接。
5.如权利要求1所述的基于可信计算的区块链用户隐私保护方法,其特征在于,所述区块链中部署的公开存储合约,接收用户发送的加密上链数据,存储在区块链上,包括:所述公开存储合约设置有功能函数,在用户发送的加密上链数据触发功能函数对应的事件后,事件对应的功能函数接收用户发送的加密上链数据,存储在区块链上相应的数据结构中。