[发明专利]一种基于可信执行环境的隐私交易保护方法及区块链系统有效
申请号: | 202310459702.5 | 申请日: | 2023-04-26 |
公开(公告)号: | CN116170440B | 公开(公告)日: | 2023-08-15 |
发明(设计)人: | 张殷乾;杨举;牛健宇 | 申请(专利权)人: | 南方科技大学 |
主分类号: | H04L67/10 | 分类号: | H04L67/10;H04L9/40;G06Q20/38 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 孙果 |
地址: | 518055 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 可信 执行 环境 隐私 交易 保护 方法 区块 系统 | ||
1.一种基于可信执行环境的隐私交易保护方法,应用于区块链系统,其特征在于,所述区块链系统包括共识节点和执行节点,所述方法包括:
共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中;
若共识节点对所述区块达成共识,则将所述区块发送至执行节点;
所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易;
所述共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中,包括:
共识节点在可信执行环境中接收各个客户端发送的交易数据以及与所述交易数据对应的执行节点索引;
获取当前网络阶段在共识节点中选举产生的领导者节点;
所述领导者节点将具有相同执行节点索引的交易数据按照交易数据接收顺序进行排序后,打包至同一区块中;
所述领导者节点将各个所述区块发送到所述共识节点中的跟随者节点;
所述若共识节点对所述区块达成共识,则将所述区块发送至执行节点,包括:
所述跟随者节点采用CFT共识协议对各个所述区块进行共识;
若所述区块达成共识,则由所述领导者节点按照各个区块对应的执行节点索引确定各个区块对应的所述执行节点中的目标执行节点;
所述领导者节点分别将各个区块发送至对应的目标执行节点;
所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易,包括:
所述执行节点中的各个目标执行节点在可信执行环境中获取对应区块的交易数据;
确定所述区块中各个交易数据调用的智能合约,将调用同一智能合约的交易数据划分为同一类别;
按照所述交易数据的顺序确定每一类别中交易数据的顺序;
按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易;
所述执行节点在可信执行环境中按照所述区块中交易数据的排序执行与所述交易数据对应的交易之后,还包括:
当所述执行节点上的所有交易数据对应的交易执行完成时,所述执行节点将各个交易对应的执行结果上链和落盘;
所述区块链系统还包括存储节点;所述基于可信执行环境的隐私交易保护方法还包括:
所述存储节点实时同步所述执行节点上各个区块中的交易数据对应的执行结果。
2.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述基于可信执行环境的隐私交易保护方法还包括:
预先将所述区块链系统中的智能合约编译为Wasm格式。
3.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易,还包括:
若存在跨合约调用的第一交易,则停止所述第一交易的执行;
当各个不同类别的交易数据对应的交易执行完成后,保留当前状态下的上下文信息;
对所述第一交易执行跨合约调用的操作,生成跨合约调用返回值;
根据所述上下文信息和所述跨合约调用返回值继续执行所述第一交易,直至所述第一交易执行结束。
4.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易,还包括:
若存在访问互斥资源的第二交易,则停止所述第二交易的执行;
当占用互斥资源的当前交易执行完成后,解除对互斥资源的锁定;
对所述第二交易执行访问互斥资源的操作后,继续执行所述第二交易,直至所述第二交易执行结束。
5.一种区块链系统,其特征在于,所述区块链系统包括:
共识节点,用于在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中,以及对所述区块达成共识,并将所述区块发送至执行节点;
执行节点,用于在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易;
存储节点,用于实时同步所述执行节点上各个区块中的交易数据对应的执行结果;
所述共识节点具体包括:
接收单元,用于由共识节点在可信执行环境中接收各个客户端发送的交易数据以及与所述交易数据对应的执行节点索引;
第一获取单元,用于获取当前网络阶段在共识节点中选举产生的领导者节点;
打包单元,用于由所述领导者节点将具有相同执行节点索引的交易数据按照交易数据接收顺序进行排序后,打包至同一区块中;
第一发送单元,用于由所述领导者节点将各个所述区块发送到所述共识节点中的跟随者节点;
共识单元,用于由所述跟随者节点采用CFT共识协议对各个所述区块进行共识;
第一确定单元,用于在所述区块达成共识的情况下,由所述领导者节点按照各个区块对应的执行节点索引确定各个区块对应的所述执行节点中的目标执行节点;
第二发送单元,用于由所述领导者节点分别将各个区块发送至对应的目标执行节点;
所述执行节点具体包括:
第二获取单元,用于由各个目标执行节点在可信执行环境中获取对应区块的交易数据;
第二确定单元,用于确定所述区块中各个交易数据调用的智能合约,将调用同一智能合约的交易数据划分为同一类别;
第三确定单元,用于按照所述交易数据的顺序确定每一类别中交易数据的顺序;
第一执行单元,用于按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易;
上链和落盘单元,用于当所述执行节点上的所有交易数据对应的交易执行完成时,所述执行节点将各个交易对应的执行结果上链和落盘。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南方科技大学,未经南方科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310459702.5/1.html,转载请声明来源钻瓜专利网。