CN114301928A - 一种基于sgx的链上链下混合共识方法及系统 - Google Patents
一种基于sgx的链上链下混合共识方法及系统 Download PDFInfo
- Publication number
- CN114301928A CN114301928A CN202111428260.5A CN202111428260A CN114301928A CN 114301928 A CN114301928 A CN 114301928A CN 202111428260 A CN202111428260 A CN 202111428260A CN 114301928 A CN114301928 A CN 114301928A
- Authority
- CN
- China
- Prior art keywords
- sgx
- transaction
- block chain
- chain
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 abstract description 2
- 239000004744 fabric Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于SGX的链上链下混合共识方法及系统,方法包括:S1,事务提交阶段;S2,事务执行阶段;S3,结果上链阶段;系统包括:客户端、区块链平台、SGX服务器集群以及链下数据库;客户端可向区块链发起SGX事务与提交事务结果;区块链将SGX事务及其结果上链,同时根据事务需求将数据与智能合约发送到SGX服务器集群;服务器集群通过访问数据库获得链下数据并构建安全区执行智能合约与共识;链下数据库保存数据供应商的机密或大规模数据。本发明通过SGX连接链上链下数据存储,实现链上链下的混合共识,并通过SGX保证了数据与执行的机密性、完整性。
Description
技术领域
本发明涉及计算机区块链技术领域,尤其是涉及一种基于SGX的链上链下混合共识方法及系统。
背景技术
区块链本质上是一种由互不信任的多方节点共同维护的分布式数据账本,其具有去中心化、不可篡改、可溯源的特点,因此能够保证链上数据无法被攻击者篡改。但区块链中为了实现数据不可篡改、可溯源的特性,需要将区块链的全部数据公开并在每个节点上保存相应副本,这显然对隐私保护以及数据使用等问题是不友好的。对于企业等数据提供方而言,可能并不希望将自身数据库完全公开,或无法接受全部数据上链带来的高额开销。这导致区块链目前的应用方法难以适应新型业务需求,因此迫切的需求一种解决数据存储以及隐私保护的方法。
SGX(Software Guard Extensions)是基于CPU指令集进行拓展,从而通过硬件与软件相结合的方式实现的一种安全保护机制。SGX能够在内存中划分出特定的加密区域安全区(Enclave),并保证安全区内数据的机密性以及代码执行的可靠性。同时SGX能够保证即使是操作系统等特权软件也无法访问或破坏安全区内部数据以及代码。因此可以通过将SGX与链下数据库相结合的方式保护数据提供方的数据安全性与隐私性。
针对上述背景与问题,链上链下混合共识与数据共享技术不但能够解决上链数据中涉及的隐私以及安全性问题,也能够解决链上空间有限或上链开销较大的问题。
发明内容
为解决现有技术的不足,结合区块链技术与SGX,通过SGX作为区块链与链下数据库联系的中间件,实现链上链下混合共识,通过SGX执行需要访问链下数据库的特定事务,保证数据隐私性与计算可靠性,本发明采用如下的技术方案:
一种基于SGX的链上链下混合共识方法,包括如下步骤:
S1,事务提交阶段,包括如下步骤:
S11,若用户希望使用的智能合约还未部署在区块链上,则需要按照所使用的区块链平台的规则编写智能合约并部署在区块链节点上,客户端根据需求构建区块链事务并发送到区块链背书节点,区块链事务包含普通事务和SGX事务,普通事务根据所使用的区块链平台指定的结构构建;所述SGX事务包含所需使用的智能合约、链上数据、链下数据库及从数据库中查询数据的规则等信息;
S12,区块链对区块链事务进行背书、排序操作,并打包成区块进行广播,普通事务与SGX事务具有不同的计算与数据需求,因此在事务提交阶段中需要执行不同的事务处理流程,对普通事务进行模拟执行,不对SGX事务模拟执行,将区块链事务打包到区块;SGX事务在上链过程中不需要执行计算,这是由于SGX事务成块后可由SGX服务器集群执行,而普通事务必须遵循区块链流程;
S13,区块链验证节点收到区块后,判断区块中是否有SGX事务,若有,则从区块链账本中查询SGX事务相关信息以及智能合约源码,相关信息包含链上数据,将构建的包含SGX事务、SGX事务相关信息(链上数据)、智能合约源码的通信包发送到SGX服务器集群;
S2,事务执行阶段,包括如下步骤:
S21,SGX服务器集群接收SGX事务、SGX事务相关信息(链上数据)、智能合约源码;
S22,SGX服务器集群中,每台SGX服务器对通信包进行解包,创建安全区并将智能合约部署在安全区内,根据SGX事务及其相关信息,即根据SGX事务中从数据库中查询数据的规则,查询相应链下数据库并获得所需链下数据,将链下数据与链上数据放入安全区,在安全区内利用智能合约,对链上数据、链下数据进行处理,执行SGX事务并生成读写集;
S23,SGX服务器集群内,对SGX事务的执行结果及其读写集进行共识;
S24,共识通过后,SGX服务器修改链下数据库状态,将执行结果及其链上数据读写集等信息,使用客户端提供的公钥进行加密并发送到客户端;若共识失败,则将共识失败的信息发送到客户端,提示客户端重新提交请求;服务器集群及其共识机制能够避免单一服务器带来的拒绝服务攻击以及遭恶意破坏而生成错误结果等问题;
S3,结果上链阶段,包括如下步骤:
S31,客户端通过私钥解密执行结果及其链上数据读写集,并发送到区块链背书节点,由于SGX事务中也使用了链上数据,可能对链上数据进行修改,因此需要提交到区块链,已执行的SGX事务已经包含了本身的执行结果以及读写集,因此同样对其不再进行模拟执行,仅签名后发送到客户端;
S32,客户端构建已执行的SGX事务,已执行的SGX事务后续与普通事务处理完全一致,遵循所使用的区块链平台的上链流程,区块链系统按照原始流程,将执行结果生成区块,提交到区块链,并根据其执行结果中的链上读写集,修改区块链账本状态。在Fabric区块链平台中,已执行的SGX事务将通过排序、验证、提交等步骤最终添加到区块链中。
进一步地,S13中区块链的背书节点接收区块链事务,并对普通事务进行模拟执行、签名操作,不对SGX事务模拟执行,对SGX事务进行签名,客户端收集背书节点返回的签名,在满足背书条件后,将区块链事务发送到排序节点,排序节点将区块链事务打包到区块并发送到验证节点,验证节点对SGX事务进行判断、查询,并构建通信包,将SGX事务、SGX事务相关信息(链上数据)、智能合约源码,发送到SGX服务器集群;所述S31中,执行结果及其链上数据读写集发送到区块链的背书节点,背书节点同样对其不再进行模拟执行,而是直接签名并发送到客户端。
进一步地,S13的区块中,普通事务与SGX事务共享成块规则,但分别打包在区块的不同位置中,将未执行的SGX事务按时间戳顺序排序并保存在区块尾部,并进行标记,从而方便分辨每个区块中未执行的SGX事务。
进一步地,S13中的共享成块规则,是指在区块链Fabric中两种事务共享最大出块时长以及区块最大事务数。
进一步地,S13中构建包含SGX事务、SGX事务相关信息(链上数据)、智能合约源码的通信包,并发送到SGX服务器集群,通信包按同一区块中多个SGX事务的时间戳顺序生成;所述S21中,SGX服务器集群根据通信包的时间戳顺序,插入维护的事务队列中,并按时间戳顺序执行队列中的事务。
进一步地,SGX服务器收到新的请求后,生成当前服务器状态记录并返回区块链,区块链上维护了一个包含SGX服务器集群中所有SGX服务器状态的表,用于将SGX事务发送到SGX服务器集群以及查询SGX服务器状态,SGX服务器状态包括IP地址、拥有者、所属组织信息以及当前是否可用。
进一步地,S32中客户端将构建的已执行的SGX事务,提交到区块链并根据其执行结果中附加的链上读写集修改区块链账本状态。
进一步地,客户端维护一对公钥与私钥,所述S24中,将执行结果及其链上数据读写集,通过客户端提供的公钥进行加密并发送到客户端,所述S31中,客户端通过私钥解密执行结果及其链上数据读写集,并发送到区块链。
一种基于SGX的链上链下混合共识系统,包括客户端、区块链、SGX服务器集群及链下数据库,所述客户端包括请求构造模块、结果获取模块,所述区块链包括事务上链模块、请求提交模块,所述SGX服务器集群包括数据获取模块、事务计算模块、结果共识模块、结果返回模块;
所述请求构造模块,用于根据用户根据自身需求、所需计算源码与数据构建SGX事务,并将SGX事务发送到区块链;
所述结果获取模块,获取SGX执行结果及其链上数据读写集,将需要上链的部分重新构建SGX事务发送到区块链;
所述事务上链模块,可基于现有区块链平台的基础功能实现,但需对其中功能进行修改,其中SGX事务需与普通区块链事务具有不同的处理流程,在流程中对未执行的SGX事务不需要执行计算而是直接跳过执行阶段,并打包成块;对已执行的SGX事务,无需再次模拟执行,通过从客户端获取的执行结果中附加的链上读写集,修改区块链账本状态,而所述区块链系统只需对其进行签名并继续上链流程;
所述请求提交模块,根据未执行SGX事务,查询SGX事务相关信息以及智能合约源码,相关信息包含链上数据,并将每一个SGX事务、SGX事务相关信息、智能合约源码打包成一个通信包,发送到SGX服务器集群;
所述数据获取模块,SGX事务的执行需要将链上链下的数据相结合进行计算,此模块除接收区块链系统发送的SGX事务、SGX事务相关信息(链上数据)、智能合约源码通信包外,并对链下数据库进行访问与查询,从而获得事务计算所需的链下数据;
所述事务计算模块,所有SGX服务器都需要根据事务需求,利用智能合约对SGX事务计算所需的数据进行处理并得到计算结果,基于SGX扩展指令集生成可信执行空间,将智能合约部署在可信执行空间中,并将链上数据、链下数据传入可信执行空间,在可信执行空间内执行SGX事务并生成读写集,可信执行空间能够保证数据的机密性以及计算执行的安全性;
所述结果共识模块,SGX服务器对事务计算完成后,需要在集群内部对执行结果及其读写集进行共识,通过集群的共识能够解决服务器出现拒绝服务攻击,或由于遭受其他恶意攻击而产生错误结果的问题;
所述结果返回模块,在SGX事务执行完成后,将共识通过后的执行结果及其读写集等信息利用客户端提供的公钥加密,并生成通信包发送到客户端;
所述链下数据库,链下数据库即为数据供应商或某些企业提供的数据库,其中存放没有上链但执行中需要的数据,即链下数据,能够通过SGX服务器对其进行访问。
进一步地,请求构造模块构造的区块链事务包括普通事务和SGX事务,所述事务上链模块对普通事务进行模拟执行,并与SGX事务分别打包到区块。
本发明的优势和有益效果在于:
本发明通过构建基于SGX的链上链下混合共识机制,利用部分公开数据保存在链上、部分机密或大规模数据保存在链下数据库的方法,替代将全部数据保存在区块链上的解决方案。并通过在链下部署SGX服务器集群的方法,保证了链下数据使用的机密性以及安全性。能够帮助企业保护机密数据、避免大规模数据上链的庞大开销以及帮助用户使用部署在区块链上的智能合约处理链下数据。
附图说明
图1是本发明的总体结构示意图。
图2是本发明中事务上链阶段流程图。
图3是本发明中事务执行阶段流程图。
图4是本发明中结果上链阶段流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
一种基于SGX的链上链下混合共识系统,实施例包含客户端、区块链、SGX服务器集群以及链下数据库四种实体。
(1)客户端,可以通过对普通区块链客户端进行扩展而实现,客户端除普通区块链客户端功能外还包括:
请求构造模块,由用户根据自身需求、所需计算源码与数据构建SGX请求,并将SGX请求发送到区块链。
结果获取模块,客户端用户需要维护自己的公钥与私钥用于对计算结果进行加解密。同时,当SGX服务器集群将加密的计算结果发送到客户端后,需要利用私钥对计算结果进行解密,同时将需要上链的部分重新构建事务发送到区块链。
(2)区块链,可以通过对现有区块链平台进行扩展以及修改实现,部署扩展的区块链可以是以太坊、Hyperledger Fabric等其他区块链平台,此实体包括:
事务上链模块,此模块可基于现有区块链平台的基础功能实现,但需对其中功能进行修改。其中SGX事务需与普通区块链事务具有不同的处理流程,在流程中SGX事务不需要执行计算而是直接跳过执行阶段,而成块时,也需要构建特殊的区块结构,将未执行的SGX事务以时间戳排序统一放置在区块尾。
请求提交模块,此模块在接收到区块中包含的未执行SGX事务后,需要查询得到事务内需求的智能合约源码以及计算数据,并将每一个SGX事务及其相关数据打包成一个通信包发送到SGX服务器集群。
(3) SGX服务器集群,可以通过数台搭载有支持SGX的intel CPU的计算机或服务器构成,服务器间彼此互联形成集群,此实体包括:
数据获取模块,SGX事务的执行需要将链上链下的数据相结合进行计算,此模块除接收区块链系统发送的事务通信包外,还需要对链下数据库进行访问与查询,从而获得事务计算所需的数据。
事务计算模块,所有SGX服务器都需要根据事务需求,利用智能合约对数据进行处理并得到计算结果。此模块需要基于SGX扩展指令集生成可信执行空间,将智能合约部署在可信执行空间中,并将数据传入可信执行空间,从而进行计算。可信执行空间能够保证数据的机密性以及计算执行的安全性。
结果共识模块,SGX服务器对事务计算完成后,需要在集群内部对计算结果进行共识,通过集群的共识能够解决服务器出现拒绝服务攻击,或由于遭受其他恶意攻击而产生错误结果的问题。
结果返回模块,在SGX事务计算完成后,将计算结果以及生成的读写集等信息利用客户端提供的公钥加密,并生成通信包发送到客户端。
(4)链下数据库,链下数据库即为数据供应商或某些企业提供的数据库,其中存放没有上链但执行中需要的数据,能够通过SGX服务器对其进行访问。
系统各实例间的关系以及流程控制如图1所示,分为事务上链阶段、事务执行阶段以及结果上链阶段三部分进行阐述,其中本实施例采用了Hyperledger Fabric作为实施的区块链平台,基于Fabric流程实施。
在初始化后,事务上链阶段流程如图2所示,涉及请求构造模块、事务上链模块以及请求提交模块,下面结合附图与实施例对此阶段进行详细说明:
(1)若用户希望使用的智能合约还未部署在区块链上,则需要按照所使用的区块链平台的规则编写智能合约并部署在区块链节点上。
(2)用户在客户端根据自身需求构建事务,事务可分为普通区块链事务以及SGX事务两类,其中普通区块链事务根据所使用的区块链平台指定的结构构建。而SGX事务需要在事务中包含所需使用的智能合约、所需使用的链上数据、所需使用的链下数据库以及从数据库中查询数据的规则。
(3)客户端将构建的事务发送到区块链背书节点,背书节点对普通事务进行模拟执行、签名操作,而对于SGX事务无需模拟执行。这是由于SGX事务需要在SGX服务器中结合链下数据进行计算,因此只需对SGX事务进行签名并返回给客户端。
(4)客户端收集背书节点返回的签名,在满足背书条件后,将事务发送到排序节点。
(5)排序节点在收到事务后,将其打包到区块并发送到验证节点,其中普通区块链事务与SGX事务会共享成块规则,在Fabric中两种事务共享最大出时长以及区块最大事务数。区块中未执行的SGX事务不与其他事务混合存放,而是按照时间戳顺序排序并保存在区块尾部,从而更容易分辨每个区块中的SGX事务。
(6)验证节点收到区块后,首先判断区块中是否包含SGX事务,若有则根据SGX事务的需求在区块链账本中查询所需数据以及智能合约,并构建包含事务本身、链上数据、智能合约源码的通信包发送到SGX服务器集群。其中每个通信包仅包含一个SGX事务及其相关信息,通信包按照SGX事务的时间戳顺序生成并发送。
在区块链向SGX服务器集群发送数据包后,事务执行阶段流程如图3所示,涉及数据获取模块、事务计算模块、结果共识模块以及结果返回模块,下面结合附图与实施例对此阶段进行详细说明:
(1)SGX服务器集群在收到请求后将新到达的请求按照其时间戳顺序插入维护的请求队列中,服务器集群会按照时间戳顺序执行队列中的事务。
(2)在SGX服务器收到新的请求后,生成当前服务器状态记录并返回区块链。这是由于区块链上维护了一个包含SGX服务器集群中所有SGX服务器状态的表,这张表用于将SGX事务发送到SGX服务器集群以及查询SGX服务器状态。服务器状态包括IP地址、拥有者、所属组织信息以及当前是否可用。
(3)SGX服务器首先对数据包进行解包,创建安全区并将智能合约部署在安全区内。根据事务中查询数据库的逻辑查询相应数据库并获得所需链下数据,将链下链上数据放入安全区。
(4)SGX服务器在安全区内利用智能合约对链上、链下数据进行处理,并生成读写集。
(5)SGX服务器执行结束后,将结果在集群内部进行共识。若共识通过,则首先修改链下数据库中数据,再将计算结果、链上数据读写集等信息利用客户端提供的公钥进行加密,发送到客户端。若共识失败,则将共识失败的信息发送到客户端,提示客户端重新提交请求。服务器集群及其共识机制能够避免单一服务器带来的拒绝服务攻击以及遭恶意破坏而生成错误结果等问题。
在SGX服务器集群将结果发送到客户端后,结果上链阶段流程如图4所示,涉及结果获取模块、事务上链模块,下面结合附图与实施例对此阶段进行详细说明:
(1)发起请求的客户端收到计算结果后,首先通过私钥解密获取其中客户所需的信息,再将解密后的结果、相关读写集发送到区块链背书节点。SGX事务中也使用了链上数据,可能对链上数据进行修改,因此需要提交到区块链。
(2)已执行的SGX事务已经包含了本身的执行结果以及读写集,因此背书节点同样对其不再进行模拟执行,而是直接签名并发送到客户端。
(3)已执行的SGX事务后续与普通事务处理完全一致,遵循所使用的区块链平台的上链流程,并最终根据其执行结果改变区块链状态。在Fabric区块链平台中,已执行的SGX事务将通过排序、验证、提交等步骤最终添加到区块链中。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (10)
1.一种基于SGX的链上链下混合共识方法,其特征在于包括如下步骤:
S1,事务提交阶段,包括如下步骤:
S11,客户端构建区块链事务并发送到区块链,区块链事务包含普通事务和SGX事务;
S12,区块链对普通事务进行模拟执行,不对SGX事务模拟执行,将区块链事务打包到区块;
S13,区块链判断区块中是否有SGX事务,若有,则从区块链中查询SGX事务相关信息以及智能合约,相关信息包含链上数据,将SGX事务、SGX事务相关信息、智能合约发送到SGX服务器集群;
S2,事务执行阶段,包括如下步骤:
S21,SGX服务器集群接收SGX事务、SGX事务相关信息、智能合约;
S22,SGX服务器创建安全区并将智能合约部署在安全区内,根据SGX事务及其相关信息,查询相应链下数据库并获得链下数据,将链下数据与链上数据放入安全区,在安全区内利用智能合约,对链上数据、链下数据进行处理,执行SGX事务;
S23,SGX服务器集群内,对SGX事务的执行结果进行共识;
S24,共识通过后,SGX服务器修改链下数据库状态,将执行结果发送到客户端;若共识失败,则将共识失败的信息发送到客户端;
S3,结果上链阶段,包括如下步骤:
S31,客户端获取执行结果,并发送到区块链,再发送到客户端;
S32,客户端构建已执行的SGX事务,提交到区块链,并根据其执行结果修改区块链状态。
2.根据权利要求1所述的一种基于SGX的链上链下混合共识方法,其特征在于所述S13中,区块链的背书节点接收区块链事务,并对普通事务进行模拟执行、签名操作,不对SGX事务模拟执行,对SGX事务进行签名,客户端收集背书节点返回的签名,在满足背书条件后,将区块链事务发送到排序节点,排序节点将区块链事务打包到区块并发送到验证节点,验证节点对SGX事务进行判断、查询,将SGX事务、SGX事务相关信息、智能合约,发送到SGX服务器集群;所述S31中,执行结果发送到区块链的背书节点,背书节点直接签名并发送到客户端。
3.根据权利要求1所述的一种基于SGX的链上链下混合共识方法,其特征在于所述S13的区块中,普通事务与SGX事务共享成块规则,但分别打包,将未执行的SGX事务按时间戳顺序排序并保存在区块尾部。
4.根据权利要求1所述的一种基于SGX的链上链下混合共识方法,其特征在于所述S13中的共享成块规则,是指在区块链中两种事务共享最大出块时长以及区块最大事务数。
5.根据权利要求1所述的一种基于SGX的链上链下混合共识方法,其特征在于所述S13中, SGX事务、SGX事务相关信息、智能合约的通信包,并发送到SGX服务器集群,通信包按SGX事务的时间戳顺序生成;所述S21中,SGX服务器集群根据通信包的时间戳顺序,插入事务队列,并按时间戳顺序执行队列中的事务。
6.根据权利要求1所述的一种基于SGX的链上链下混合共识方法,其特征在于所述SGX服务器收到新的请求后,生成当前服务器状态记录并返回区块链,区块链上维护了一个包含SGX服务器集群中SGX服务器状态的表,用于将SGX事务发送到SGX服务器集群以及查询SGX服务器状态,SGX服务器状态包括IP地址、拥有者、所属组织信息以及当前是否可用。
7.根据权利要求1所述的一种基于SGX的链上链下混合共识方法,其特征在于所述S32中,客户端将构建的已执行的SGX事务,提交到区块链并根据其执行结果中附加的链上读写集修改区块链状态。
8.根据权利要求1所述的一种基于SGX的链上链下混合共识方法,其特征在于所述客户端维护一对公钥与私钥,所述S24中,将执行结果通过客户端提供的公钥进行加密并发送到客户端,所述S31中,客户端通过私钥解密执行结果,并发送到区块链。
9.一种基于SGX的链上链下混合共识系统,包括客户端、区块链、SGX服务器集群及链下数据库,其特征在于所述客户端包括请求构造模块、结果获取模块,所述区块链包括事务上链模块、请求提交模块,所述SGX服务器集群包括数据获取模块、事务计算模块、结果共识模块、结果返回模块;
所述请求构造模块,用于构建SGX事务,并将SGX事务发送到区块链;
所述结果获取模块,获取SGX执行结果,将需要上链的部分重新构建SGX事务发送到区块链;
所述事务上链模块,对未执行的SGX事务直接跳过执行阶段,并打包成块;对已执行的SGX事务,通过从客户端获取的执行结果,修改区块链状态;
所述请求提交模块,根据未执行SGX事务,查询SGX事务相关信息以及智能合约,相关信息包含链上数据,并将SGX事务、SGX事务相关信息、智能合约,发送到SGX服务器集群;
所述数据获取模块,接收SGX事务、SGX事务相关信息、智能合约,并对链下数据库进行访问与查询,获得链下数据;
所述事务计算模块,SGX服务器基于SGX扩展指令集生成可信执行空间,将智能合约部署在可信执行空间中,并将链上数据、链下数据传入可信执行空间,在可信执行空间内执行SGX事务;
所述结果共识模块,在集群内部对执行结果进行共识;
所述结果返回模块,将共识通过后的执行结果发送到客户端;
所述链下数据库,存放链下数据,通过SGX服务器对其进行访问。
10.根据权利要求9所述的一种基于SGX的链上链下混合共识系统,其特征在于所述请求构造模块构造的区块链事务包括普通事务和SGX事务,所述事务上链模块对普通事务进行模拟执行,并与SGX事务分别打包到区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111428260.5A CN114301928A (zh) | 2021-11-29 | 2021-11-29 | 一种基于sgx的链上链下混合共识方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111428260.5A CN114301928A (zh) | 2021-11-29 | 2021-11-29 | 一种基于sgx的链上链下混合共识方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114301928A true CN114301928A (zh) | 2022-04-08 |
Family
ID=80965890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111428260.5A Pending CN114301928A (zh) | 2021-11-29 | 2021-11-29 | 一种基于sgx的链上链下混合共识方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301928A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117348999A (zh) * | 2023-12-06 | 2024-01-05 | 之江实验室 | 一种业务执行系统及业务执行方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107919954A (zh) * | 2017-10-20 | 2018-04-17 | 浙江大学 | 一种基于sgx的区块链用户密钥保护方法和装置 |
CN109347941A (zh) * | 2018-10-10 | 2019-02-15 | 南京简诺特智能科技有限公司 | 一种基于区块链的数据共享平台及其实现方法 |
WO2019232789A1 (zh) * | 2018-06-08 | 2019-12-12 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
US20200145189A1 (en) * | 2018-11-01 | 2020-05-07 | International Business Machines Corporation | Database encryption layer |
CN111241589A (zh) * | 2018-11-29 | 2020-06-05 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN112052473A (zh) * | 2019-06-05 | 2020-12-08 | 国际商业机器公司 | 地理位置合规性 |
CN112541758A (zh) * | 2020-12-01 | 2021-03-23 | 鲁静 | 基于区块链的多轮投票式容错排序共识机制与方法 |
CN112836217A (zh) * | 2021-01-12 | 2021-05-25 | 清华大学深圳国际研究生院 | 基于sgx的动态减小tcb的区块链虚拟机方法及系统 |
CN113065149A (zh) * | 2021-05-06 | 2021-07-02 | 广西师范大学 | 基于区块链和抗合谋攻击指纹码的数据版权保护方法 |
WO2021184963A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 调用合约的方法及装置 |
US20210311934A1 (en) * | 2020-07-03 | 2021-10-07 | Alipay Labs (singapore) Pte. Ltd. | Managing transactions in multiple blockchain networks |
-
2021
- 2021-11-29 CN CN202111428260.5A patent/CN114301928A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107919954A (zh) * | 2017-10-20 | 2018-04-17 | 浙江大学 | 一种基于sgx的区块链用户密钥保护方法和装置 |
WO2019232789A1 (zh) * | 2018-06-08 | 2019-12-12 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
CN109347941A (zh) * | 2018-10-10 | 2019-02-15 | 南京简诺特智能科技有限公司 | 一种基于区块链的数据共享平台及其实现方法 |
US20200145189A1 (en) * | 2018-11-01 | 2020-05-07 | International Business Machines Corporation | Database encryption layer |
CN111241589A (zh) * | 2018-11-29 | 2020-06-05 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN112052473A (zh) * | 2019-06-05 | 2020-12-08 | 国际商业机器公司 | 地理位置合规性 |
WO2021184963A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 调用合约的方法及装置 |
US20210311934A1 (en) * | 2020-07-03 | 2021-10-07 | Alipay Labs (singapore) Pte. Ltd. | Managing transactions in multiple blockchain networks |
CN112541758A (zh) * | 2020-12-01 | 2021-03-23 | 鲁静 | 基于区块链的多轮投票式容错排序共识机制与方法 |
CN112836217A (zh) * | 2021-01-12 | 2021-05-25 | 清华大学深圳国际研究生院 | 基于sgx的动态减小tcb的区块链虚拟机方法及系统 |
CN113065149A (zh) * | 2021-05-06 | 2021-07-02 | 广西师范大学 | 基于区块链和抗合谋攻击指纹码的数据版权保护方法 |
Non-Patent Citations (7)
Title |
---|
LILI CHEN等: "Tora: A Trusted Blockchain Oracle Based on a Decentralized TEE Network", 《2021 IEEE INTERNATIONAL CONFERENCE ON JOINT CLOUD COMPUTING》, 13 October 2021 (2021-10-13) * |
SHOROUQ ALANSARI等: "A Distributed Access Control System for Cloud Federations", 《2017 IEEE 37TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS)》, 17 July 2017 (2017-07-17) * |
丁毅;沈薇;李洁;程子敬;靳军;孙伽宁;: "卫星通信全代理同态可信传输机制研究", 中国空间科学技术, no. 04, 22 July 2020 (2020-07-22) * |
张志威;王国仁;徐建良;杜小勇;: "区块链的数据管理技术综述", 软件学报, no. 09, 15 September 2020 (2020-09-15) * |
张晓婷: "基于区块链技术的基因数据安全共享系统的研究与设计", 《硕士电子期刊出版信息》, no. 2021, 15 August 2021 (2021-08-15) * |
郝琨;信俊昌;黄达;王国仁;: "去中心化的分布式存储模型", 计算机工程与应用, no. 24, 15 December 2017 (2017-12-15) * |
郭铁铮;刘德有;钱艳平;陈强;卞新高;郭苏;: "基于DSP的定日镜跟踪控制系统研究", 太阳能学报, no. 01, 28 January 2010 (2010-01-28) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117348999A (zh) * | 2023-12-06 | 2024-01-05 | 之江实验室 | 一种业务执行系统及业务执行方法 |
CN117348999B (zh) * | 2023-12-06 | 2024-02-23 | 之江实验室 | 一种业务执行系统及业务执行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3652886B1 (en) | Blockchain | |
EP3937424A1 (en) | Blockchain data processing methods and apparatuses based on cloud computing | |
Chun et al. | Attested append-only memory: Making adversaries stick to their word | |
CN111047450A (zh) | 链上数据的链下隐私计算方法及装置 | |
CN112948810B (zh) | 一种可信计算程序调用方法、装置、电子设备及存储介质 | |
US11080371B2 (en) | Method and system of state consistency protection for Intel SGX | |
CN111934879A (zh) | 一种内外网系统数据传输加密方法、装置、设备和介质 | |
Zhao et al. | Shef: Shielded enclaves for cloud fpgas | |
CN104769606A (zh) | 提供安全的计算机环境的系统和方法 | |
CN110489996A (zh) | 一种数据库数据安全管理方法及系统 | |
JP2022177828A (ja) | 情報漏洩を低減した連合学習の方法、装置およびコンピュータプログラム(分割された動的シャッフルモデル更新を伴う連合学習) | |
Müller et al. | Tz4fabric: Executing smart contracts with arm trustzone:(practical experience report) | |
CN111698198B (zh) | 秘密生成和份额分发 | |
Annapureddy | Security challenges in hybrid cloud infrastructures | |
EP2863329A1 (en) | Establishing physical locality between secure execution environments | |
Zhu et al. | Full Encryption: An end to end encryption mechanism in GaussDB | |
CN114301928A (zh) | 一种基于sgx的链上链下混合共识方法及系统 | |
CN111160905B (zh) | 一种区块链节点用户请求处理保护方法及装置 | |
Dinis et al. | Rr: A fault model for efficient tee replication | |
Muller et al. | TZ4Fabric: Executing Smart Contracts with ARM TrustZone:(Practical Experience Report) | |
WO2016159883A1 (en) | Extracting information from a data set in a distributed computing environment | |
Randell et al. | Distributed secure systems: Then and now | |
Sauber et al. | A Novel Hadoop Security Model for Addressing Malicious Collusive Workers | |
Feng et al. | Efficient Distributed Secure Memory with Migratable Merkle Tree | |
US20020138739A1 (en) | Persistance and recovery of security keys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |