CN116170440A - 一种基于可信执行环境的隐私交易保护方法及区块链系统 - Google Patents
一种基于可信执行环境的隐私交易保护方法及区块链系统 Download PDFInfo
- Publication number
- CN116170440A CN116170440A CN202310459702.5A CN202310459702A CN116170440A CN 116170440 A CN116170440 A CN 116170440A CN 202310459702 A CN202310459702 A CN 202310459702A CN 116170440 A CN116170440 A CN 116170440A
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- transaction data
- execution
- block
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004806 packaging method and process Methods 0.000 claims abstract description 14
- 238000012163 sequencing technique Methods 0.000 claims abstract description 12
- 238000012856 packing Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 15
- 238000013461 design Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 abstract description 13
- 230000006399 behavior Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于可信执行环境的隐私交易保护方法及区块链系统,区块链系统包括共识节点和执行节点,方法包括:共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个交易数据进行排序后打包到区块中;若共识节点对区块达成共识,则将区块发送至执行节点;执行节点在可信执行环境中按照区块中交易数据的顺序执行与交易数据对应的交易。本发明使用可信执行环境为区块链系统提供机密性保护,机密数据的处理全程在可信执行环境中进行,将共识与执行分离,有效避免了系统受侧信道攻击,同时采用排序打包‑共识‑执行的架构设计,有效避免系统受回溯攻击,使得系统具有更强的安全性。
Description
技术领域
本发明涉及区块链领域,尤其涉及的是一种基于可信执行环境的隐私交易保护方法及区块链系统。
背景技术
区块链是一个典型的分布式系统。区块链通过共识机制使系统中所有计算机对状态保持一致,并将发生的所有交易行为记录在公开的账本中,所有用户都可对交易行为进行溯源和验证,所以可以将区块链理解为一个分布式的账本。以以太坊为例,它是一个公链,任何运行以太坊程序的用户都可接入以太坊网络,用户可发起交易调用智能合约,通过以太坊虚拟机(EVM)执行交易改变智能合约的状态,并将交易广播到网络中,其他节点执行交易并验证其正确性。在某些区块链应用场景中,比如拍卖、供应链金融和医疗数据系统等,对数据有机密性要求,现有的区块链平台,如以太坊,虽然可以保证数据的可用性和正确性,但缺乏隐私性,不适用于对机密数据的存储和计算。
有学者提出使用可信执行环境(TEE)来加密和执行隐私交易,同时能保持较快的交易处理速度,可信执行环境是CPU中与操作系统隔离的内存区域,提供了一种在不信任的系统中执行敏感程序的可证明、隐私保护和完整性保护的方法,目前主流的可信执行环境包括Intel Software Guard Extension (SGX)、ARM TrustZone和AMD Secure EncryptedVirtualization(SEV)等,例如英特尔SGX可以为有隐私计算需求的程序提供安全的隔离环境飞地(Enclave),由代码和数据初始化,enclave一旦初始化成功,CPU就会阻止所有其他程序(管理程序,操作系统和主机进程等)访问enclave内存地址,只有enclave代码可在enclave中执行和访问内存地址,执行过程对其他程序也是不可见的。但是可信执行环境本身也存在受到回溯攻击和侧信道攻击等攻击而破坏数据隐私性的风险,攻击者可通过观察可信执行环境执行后的结果发动回溯攻击,例如攻击者发送交易给一个执行节点,执行节点执行后产生结果,这个结果需要共识,无论如何都要传出可信执行环境,传出可信执行环境后就能被观察到(这里不考虑攻击者通过侧信道观察未传出可信执行环境的执行结果),攻击者可以通过观察执行结果的大小从而猜测执行结果,如果该执行结果不是攻击者所需要的,他可以阻止这个执行结果的共识。攻击者可以通过一定的信道获取系统运行时产生的变化信息,利用这些信息推理系统内部的机密信息。传统的侧信道攻击主要利用物理方面的信息,例如电磁辐射量、功耗、运行时间等,需要攻击者在近端获取这些信息。另一种是软件侧信道攻击,主要通过软件方式获取微体系结构泄露的信息,不需要物理信息探测设备以及对物理信息进行分析,例如攻击者仅了解受害者执行程序的总时间即可获取想要的信息。在现有的设计中仍无法完全避免攻击者通过回溯攻击、侧信道攻击等手段破坏系统的隐私性和正确性。
因此,现有技术存在缺陷,有待改进与发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于可信执行环境的隐私交易保护方法及区块链系统,旨在解决现有技术中区块链系统因遭受回溯攻击和侧信道攻击导致系统的隐私性和正确性被破坏的问题。
本发明解决技术问题所采用的技术方案如下:
一种基于可信执行环境的隐私交易保护方法,应用于区块链系统,所述区块链系统包括共识节点和执行节点,所述方法包括:
共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中;
若共识节点对所述区块达成共识,则将所述区块发送至执行节点;
所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。
可选地,所述共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中,包括:
共识节点在可信执行环境中接收各个客户端发送的交易数据以及与所述交易数据对应的执行节点索引;
获取当前网络阶段在共识节点中选举产生的领导者节点;
所述领导者节点将具有相同执行节点索引的交易数据按照交易数据接收顺序进行排序后,打包至同一区块中;
所述领导者节点将各个所述区块发送到所述共识节点中的跟随者节点。
可选地,所述若共识节点对所述区块达成共识,则将所述区块发送至执行节点,包括:
所述跟随者节点采用CFT共识协议对各个所述区块进行共识;
若所述区块达成共识,则由所述领导者节点按照各个区块对应的执行节点索引确定各个区块对应的所述执行节点中的目标执行节点;
所述领导者节点分别将各个区块发送至对应的目标执行节点。
可选地,所述基于可信执行环境的隐私交易保护方法还包括:
预先将所述区块链系统中的智能合约编译为Wasm格式。
可选地,所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易,包括:
所述执行节点中的各个目标执行节点在可信执行环境中获取对应区块的交易数据;
确定所述区块中各个交易数据调用的智能合约,将调用同一智能合约的交易数据划分为同一类别;
按照所述交易数据的顺序确定每一类别中交易数据的顺序;
按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易。
可选地,所述按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易,还包括:
若存在跨合约调用的第一交易,则停止所述第一交易的执行;
当各个不同类别的交易数据对应的交易执行完成后,保留当前状态下的上下文信息;
对所述第一交易执行跨合约调用的操作,生成跨合约调用返回值;
根据所述上下文信息和所述跨合约调用返回值继续执行所述第一交易,直至所述第一交易执行结束。
可选地,所述按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易,还包括:
若存在访问互斥资源的第二交易,则停止所述第二交易的执行;
当占用互斥资源的当前交易执行完成后,解除对互斥资源的锁定;
对所述第二交易执行访问互斥资源的操作后,继续执行所述第二交易,直至所述第二交易执行结束。
可选地,所述执行节点在可信执行环境中按照所述区块中交易数据的排序执行与所述交易数据对应的交易之后,还包括:
当所述执行节点上的所有交易数据对应的交易执行完成时,所述执行节点将各个交易对应的执行结果上链和落盘。
可选地,所述区块链系统还包括存储节点;所述基于可信执行环境的隐私交易保护方法还包括:
所述存储节点实时同步所述执行节点上各个区块中的交易数据对应的执行结果。
本发明还提供一种区块链系统,所述区块链系统包括:
共识节点,用于在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中,以及对所述区块达成共识,并将所述区块发送至执行节点;
执行节点,用于在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。
本发明公开了一种基于可信执行环境的隐私交易保护方法及区块链系统,应用于区块链系统,所述区块链系统包括共识节点和执行节点,所述方法包括:共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中;若共识节点对所述区块达成共识,则将所述区块发送至执行节点;所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。本发明使用可信执行环境为区块链系统提供机密性保护,机密数据的处理全程在可信执行环境中进行,将共识与执行分离,有效避免了系统受侧信道攻击,同时采用排序打包-共识-执行的架构设计,有效避免系统受回溯攻击,使得系统具有更强的安全性。
附图说明
图1是本发明中系统设计架构图。
图2是本发明中基于可信执行环境的隐私交易保护方法较佳实施例的流程图。
图3是本发明中基于可信执行环境的隐私交易保护方法较佳实施例中步骤S100的具体流程图。
图4是本发明中基于可信执行环境的隐私交易保护方法较佳实施例中步骤S200的具体流程图。
图5是本发明中基于可信执行环境的隐私交易保护方法较佳实施例中步骤S300的具体流程图。
图6是本发明中区块链系统较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
区块链是一个典型的分布式系统。区块链通过共识机制使系统中所有计算机对状态保持一致,并将发生的所有交易行为记录在公开的账本中,所有用户都可对交易行为进行溯源和验证,所以可以将区块链理解为一个分布式的账本。以以太坊为例,它是一个公链,任何运行以太坊程序的用户都可接入以太坊网络,用户可发起交易调用智能合约,通过以太坊虚拟机(EVM)执行交易改变智能合约的状态,并将交易广播到网络中,其他节点执行交易并验证其正确性。
在某些区块链应用场景中,比如拍卖、供应链金融和医疗数据系统等,对数据有机密性要求,现有的区块链平台,如以太坊,虽然可以保证数据的可用性和正确性,但缺乏隐私性,不适用于对机密数据的存储和计算,所以针对有这一特殊需求的应用场景,本发明提出一种机密区块链,在保证一定程度的数据可用性和正确性的情况下,对隐私数据进行加密存储并保证计算过程中没有数据的泄露。
密码学相关方法最早被用于数据加密、验证、传输和计算,比如零知识验证技术可在无需获取特定信息的条件下就能验证事物有效性,同态加密允许人们对密文进行特定形式的代数运算得到仍然是正确的加密的结果,有学者应用零知识验证技术对智能合约进行隐私保护,但由于需要大量且复杂的计算过程,其计算效率差强人意,对区块链的交易处理速度有很大影响。区块链系统往往需要处理大量交易,而系统中计算资源是有限的,如果将大量计算资源用于密码计算,虽能为交易提供隐私保护,但代价是造成系统交易处理的性能下降,从实际生产环境的角度看这是成本巨大的,以目前密码学算法的计算速度是无法满足实际应用环境的。
有学者提出使用可信执行环境(TEE)来加密和执行隐私交易,同时能保持较快的交易处理速度,可信执行环境是CPU中与操作系统隔离的内存区域,提供了一种在不信任的系统中执行敏感程序的可证明、隐私保护和完整性保护的方法,目前主流的可信执行环境包括Intel Software Guard Extension (SGX)、ARM TrustZone和AMD Secure EncryptedVirtualization(SEV)等,例如英特尔SGX可以为有隐私计算需求的程序提供安全的隔离环境飞地(Enclave),由代码和数据初始化,enclave一旦初始化成功,CPU就会阻止所有其他程序(管理程序,操作系统和主机进程等)访问enclave内存地址,只有enclave代码可在enclave中执行和访问内存地址,执行过程对其他程序也是不可见的。但是可信执行环境本身也存在受到回溯攻击和侧信道攻击等攻击而破坏数据隐私性的风险,攻击者可通过观察可信执行环境执行后的结果发动回溯攻击,例如攻击者发送交易给一个执行节点,执行节点执行后产生结果,这个结果需要共识,无论如何都要传出可信执行环境,传出可信执行环境后就能被观察到(这里不考虑攻击者通过侧信道观察未传出可信执行环境的执行结果),攻击者可以通过观察执行结果的大小从而猜测执行结果,如果该执行结果不是攻击者所需要的,他可以阻止这个执行结果的共识。
攻击者可以通过一定的信道获取系统运行时产生的变化信息,利用这些信息推理系统内部的机密信息。传统的侧信道攻击主要利用物理方面的信息,例如电磁辐射量、功耗、运行时间等,需要攻击者在近端获取这些信息。另一种是软件侧信道攻击,主要通过软件方式获取微体系结构泄露的信息,不需要物理信息探测设备以及对物理信息进行分析,例如攻击者仅了解受害者执行程序的总时间即可获取想要的信息。在现有的设计中仍无法完全避免攻击者通过回溯攻击、侧信道攻击等手段破坏系统的隐私性和正确性。
区块链具有去中心化、可溯源、不可篡改等特性,能够保证数据的完整性和可用性,在某些有存储机密数据需求的场景中,区块链缺乏机密性保护措施。可信执行环境利用硬件隔离和内存加密等技术可以为程序运行提供完整性、机密性保护,但同时可信执行环境存在被回溯攻击和侧信道攻击的风险,破坏程序和数据的机密性。经实验测试表明,程序在可信执行环境中运行的运行速度相比传统的通用执行环境较慢,程序运行速度关系到区块链系统交易处理速度,所以性能问题也是一个不可忽略的问题。
现有的机密区块链系统有采用排序-共识-执行的架构设计并由可信执行环境提供机密性保护,但缺少对恶意攻击行为的保护。
针对上述问题,本发明设计了一种基于可信执行环境的共识与执行分离的机密区块链系统,可防御上述攻击行为。本发明提出使用可信执行环境提供机密性保护并设计了一种新的区块链系统结构,能够防护回溯攻击、侧信道攻击同时利用交易的并行处理提高系统性能。本发明采用排序打包-共识-执行的架构设计,将交易排序打包区块后进行共识,使全局交易顺序保持一致,使攻击者无法控制和改变交易的执行顺序,而可信执行环境的交易执行过程可以不受干扰,所以降低了被回溯攻击的风险。同时采用排序和执行分离并指定信任节点执行交易的架构,信任节点受到特殊保护比如运行此节点的机器放置在封闭机房,可以极大增加攻击者实施侧信道攻击的难度,系统在交易打包时将在同一执行节点执行的交易打包进同一区块中,在共识结束后直接发送到指定的执行节点进行执行,充分利用执行节点的计算资源,加快交易的执行速度。与传统的通用执行环境相比,区块链程序在可信执行环境中运行的效率更低,所以在本发明中采用交易并行执行方案来提高区块链程序的交易处理速度,增加系统吞吐量。需注意,此方案不是提高系统性能的通用解决方案,而是为本系统特别设计的。
请参见图1,图1是本发明系统设计架构图。需注意本架构图仅供参考,具体使用中并不限制各终端数量。图1中包括两个客户端,三个共识节点,两个执行节点以及三个存储节点。为了给交易提供机密性保护,共识节点和执行节点利用可信执行环境对交易进行处理,机密数据仅对可信执行环境可见,在网路传输和存储时均是密文形式,只有可信执行环境可对其进行解密。
请参见图2,图2是本发明中基于可信执行环境的隐私交易保护方法较佳实施例的的流程图。如图2所示,本发明实施例所述的基于可信执行环境的隐私交易保护方法应用于区块链系统,所述区块链系统包括共识节点和执行节点,所述方法包括:
步骤S100、共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中。
具体地,客户端承担和区块链网络中节点的交互职责,可以向共识节点发送交易,能够读取区块链系统中的区块数据,部署共识节点的设备拥有可信执行环境。共识节点负责接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块。
在一种实现方式中,请参阅图3,所述步骤S100具体包括:
步骤S110、共识节点在可信执行环境中接收各个客户端发送的交易数据以及与所述交易数据对应的执行节点索引;
步骤S120、获取当前网络阶段在共识节点中选举产生的领导者节点;
步骤S130、所述领导者节点将具有相同执行节点索引的交易数据按照交易数据接收顺序进行排序后,打包至同一区块中;
步骤S140、所述领导者节点将各个所述区块发送到所述共识节点中的跟随者节点。
具体地,客户端在生成交易时指定执行交易的执行节点索引,即指定执行交易的信任节点。共识节点接收各个客户端发送的交易数据以及与所述交易数据对应的执行节点索引,通过可信执行环境进行处理,与此同时共识节点中会选举出领导者节点。在排序打包阶段,对交易的处理工作在可信执行环境中进行,客户端将加密交易发送到共识节点的可信执行环境后,每个阶段的领导者节点负责排序打包工作。首先是领导者节点按照可信执行环境接收交易的先后顺序对交易进行排序,可信执行环境对交易解密后,领导者节点根据执行节点索引对交易进行打包,将具有相同执行节点索引的交易数据打包至同一区块中,并将各个区块发送到其他共识节点,即跟随者节点。即将在同一执行节点执行的交易打包进同一区块中,在共识结束后直接发送到指定的执行节点进行执行,并且并行执行交易,可有效加快交易处理的速度。共识节点在可信执行环境中接收交易数据,并对交易数据进行打包,可有效避免回溯攻击和侧信道攻击,系统具有较高的安全性。
如图2所示,本发明实施例所述的基于可信执行环境的隐私交易保护还包括:
步骤S200、若共识节点对所述区块达成共识,则将所述区块发送至执行节点。
具体地,共识节点对所述区块达成共识后,将达成共识的区块发送至执行节点,采用共识和执行分离的架构,可有效保护系统免受侧信道攻击。
在一种实现方式中,请参阅图4,所述步骤S200具体包括:
步骤S210、所述跟随者节点采用CFT共识协议对各个所述区块进行共识;
步骤S220、若所述区块达成共识,则由所述领导者节点按照各个区块对应的执行节点索引确定各个区块对应的所述执行节点中的目标执行节点;
步骤S230、所述领导者节点分别将各个区块发送至对应的目标执行节点。
具体地,本发明采用CFT共识协议对区块进行共识,在领导者节点完成交易排序打包工作后,将区块发送到其他跟随者节点进行共识,跟随者节点在收到区块后向领导者节点发送确认包,表明已经接收到区块,当领导者节点接收到系统节点总数二分之一数量的确认包时,即完成了区块的共识。在区块达成共识后可以保证全局交易顺序的一致性,保证执行节点执行交易的顺序是确定性的,这种情况下,攻击者无法通过控制执行节点可信执行环境的状态和数据输入来破坏交易的执行顺序。
区块达成共识后,领导者节点按照各个区块对应的执行节点索引确定各个区块对应的所述执行节点中的目标执行节点,并将各个区块发送至对应的目标执行节点。
需注意,本发明指定执行节点执行交易,即使用信任的执行节点执行交易。由于本发明将共识与执行分离,在模块解耦的情况下,共识节点将打包后的区块发送到客户端信任的执行节点执行区块中的交易,而不是所有节点都会将交易执行一遍,减小了攻击者的攻击范围,并且受信任的执行节点可以运行在受到专门保护的机器中,比如物理空间、网络层面的保护,受到攻击的风险显著降低,有效避免了系统受侧信道攻击。同时为了应对目标执行节点,即信任节点出现崩溃故障,本发明要求每个交易对应的目标执行节点,即信任节点数量大于等于二,只要保证至少有一个节点处于正常运行状态,区块的执行工作就可以正常进行,系统能够保持正常状态,信任节点数量越多,崩溃故障容错能力越强。
在一种实现方式中,预先将所述区块链系统中的智能合约编译为Wasm格式。
具体地,由执行节点利用可信执行环境执行区块中的交易,智能合约被编译为Wasm格式执行,以保证执行结果的确定性和不同执行节点执行结果的一致性,达到在不同可信执行环境中执行同一智能合约得到相同执行结果的效果。
如图2所示,本实施例所述的基于可信执行环境的隐私交易保护还包括:
步骤S300、所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。
具体地,执行节点置于可信执行环境中能为机密数据提供存储、执行方面的机密性保护,使得系统具有较高的安全性。
在一种实施例中,请参阅图5,所述步骤S300具体包括:
步骤S310、所述执行节点中的各个目标执行节点在可信执行环境中获取对应区块的交易数据;
步骤S320、确定所述区块中各个交易数据调用的智能合约,将调用同一智能合约的交易数据划分为同一类别;
步骤S330、按照所述交易数据的顺序确定每一类别中交易数据的顺序;
步骤S340、按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易。
具体地,各个目标执行节点在可信执行环境中获取对应区块的交易数据,确定所述区块中各个交易数据调用的智能合约,并将调用同一智能合约的交易数据划分为同一类别,按照交易数据的排序确定每一类别中交易数据的排序,并根据每一类别中交易数据的排序,执行各个不同类别的交易数据对应的交易。在交易的执行阶段采用并行执行的方式而非串行执行,由于区块链的智能合约隐私域是互斥的,合约之间没有共享数据,所以将调用不同智能合约的交易并行执行并不会产生冲突,也不会影响交易的执行结果,能够始终保持执行结果的唯一性,同时还可提高交易执行的效率,充分利用执行节点机器的性能。
在一种实现方式中,步骤S340还包括:
若存在跨合约调用的第一交易,则停止所述第一交易的执行;
当各个不同类别的交易数据对应的交易执行完成后,保留当前状态下的上下文信息;
对所述第一交易执行跨合约调用的操作,生成跨合约调用返回值;
根据所述上下文信息和所述跨合约调用返回值继续执行所述第一交易,直至所述第一交易执行结束。
具体地,当执行节点在执行各个交易时,若某个交易发生跨合约调用或者访问已经锁定的互斥资源时,暂时停止此交易的执行。等待当前正在执行的其他交易执行完成后,在保留当前状态上下文消息的基础上执行跨合约调用或者访问互斥资源的操作,即继续执行此交易,当此交易跨合约调用的智能合约执行结束后生成跨合约调用返回值,该跨合约调用返回值可保证原交易能够继续执行,并根据上下文信息还原上下文,从而继续执行原交易中的其他操作,直至当前交易执行结束。其中,交易的智能合约调用情况可以通过代码层判断,默认对所有节点公开。本发明通过在当前交易发生跨合约调用的情况下,暂停此交易的执行,等待其他交易执行完成后再继续执行当前交易,对系统资源进行合理的调度,避免了资源的浪费。
在一种实现方式中,步骤S340还包括:
若存在访问互斥资源的第二交易,则停止所述第二交易的执行;
当占用互斥资源的当前交易执行完成后,解除对互斥资源的锁定;
对所述第二交易执行访问互斥资源的操作后,继续执行所述第二交易,直至所述第二交易执行结束。
访问互斥资源则是读取或者写入数据等,当有交易对互斥资源进行操作时会锁定该资源,后续交易无法对其进行操作,必须等待资源被解锁才可继续执行。假设并行执行的交易中存在交易A访问了资源A(此时资源A被锁定),随后交易B需要访问资源A,由于该资源被锁定,所以要暂时停止执行交易B,当交易A执行完之后会解除锁定资源A,此时交易B即可继续执行。本发明通过在当前交易发生访问互斥资源的情况下,暂停此交易的执行,等待互斥资源解锁后再继续执行当前交易,对系统资源进行合理的调度。
在一种实现方式中,假设区块中包含六个交易,其中交易1、2调用智能合约1,交易3、5调用智能合约2,交易4、6调用智能合约3,其中智能合约1跨合约调用合约3,根据并行执行的规则,交易1、3和4调用不同合约,可并行执行,执行结束执行交易2、5和6,如果交易2在调用智能合约时发起了跨合约调用,假设调用合约3,此时停止执行交易2,继续执行交易5和6,待执行结束后保存上下文信息并继续执行交易2,也就是执行合约3,交易执行器将合约3执行结束后生成跨合约调用返回值,交易执行器会根据上下文信息,还原该上下文,交易2执行结束,所以交易的执行顺序是1、3和4并行执行,5和6并行执行。
在一种实现方式中,步骤300之后还包括:
当所述执行节点上的所有交易数据对应的交易执行完成时,所述执行节点将各个交易对应的执行结果上链和落盘。
具体地,执行节点接收来自领导者节点的区块后按照区块中的交易顺序依次执行这些交易,将执行结果上链、落盘。通过将共识节点和执行节点分离,可有效保护系统免受侧信道攻击。
在一种实现方式中,所述区块链系统还包括存储节点;所述基于可信执行环境的隐私交易保护方法还包括:
所述存储节点实时同步所述执行节点上各个区块中的交易数据对应的执行结果。
具体地,存储节点不参与区块的共识与执行,而只负责从执行节点处实时同步区块数据,与全局状态保持一致。通过存储节点可有效保存区块数据。
在一种实施例中,如图6所示,基于上述基于可信执行环境的隐私交易保护方法,本发明还相应提供了一种区块链系统,包括:
共识节点100,用于在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中,以及对所述区块达成共识,并将所述区块发送至执行节点;
执行节点200,用于在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。
在一种实现方式中,所述共识节点100具体包括:
接收单元,用于由共识节点在可信执行环境中接收各个客户端发送的交易数据以及与所述交易数据对应的执行节点索引;
第一获取单元,用于获取当前网络阶段在共识节点中选举产生的领导者节点;
打包单元,用于由所述领导者节点将具有相同执行节点索引的交易数据按照交易数据接收顺序进行排序后,打包至同一区块中;
第一发送单元,用于由所述领导者节点将各个所述区块发送到所述共识节点中的跟随者节点。
在一种实现方式中,所述共识节点100具体还包括:
共识单元,用于由所述跟随者节点采用CFT共识协议对各个所述区块进行共识;
第一确定单元,用于在所述区块达成共识的情况下,由所述领导者节点按照各个区块对应的执行节点索引确定各个区块对应的所述执行节点中的目标执行节点;
第二发送单元,用于由所述领导者节点分别将各个区块发送至对应的目标执行节点。
在一种实现方式中,所述区块链系统还包括:
预处理单元,用于预先将所述区块链系统中的智能合约编译为Wasm格式。
在一种实现方式中,所述执行节点200具体包括:
第二获取单元,用于由各个目标执行节点在可信执行环境中获取对应区块的交易数据;
第二确定单元,用于确定所述区块中各个交易数据调用的智能合约,将调用同一智能合约的交易数据划分为同一类别;
第三确定单元,用于按照所述交易数据的顺序确定每一类别中交易数据的顺序;
第一执行单元,用于按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易。
在一种实现方式中,所述第一执行单元还包括:
第一暂停单元,用于若存在跨合约调用的第一交易,则停止所述第一交易的执行;
第二保留单元,用于当各个不同类别的交易数据对应的交易执行完成后,保留当前状态下的上下文信息;
第一返回单元,用于对所述第一交易执行跨合约调用的操作,生成跨合约调用返回值;
第一结束交易单元,根据所述上下文信息和所述跨合约调用返回值继续执行所述第一交易,直至所述第一交易执行结束。
在一种实现方式中,所述第一执行单元还包括:
第一暂停单元,用于若存在访问互斥资源的第二交易,则停止所述第二交易的执行;
第二保留单元,用于占用互斥资源的当前交易执行完成后,解除对互斥资源的锁定;
第二结束交易单元,用于对所述第二交易执行访问互斥资源的操作后,继续执行所述第二交易,直至所述第二交易执行结束。
在一种实现方式中,所述执行节点200还包括:
上链和落盘单元,用于当所述执行节点上的所有交易数据对应的交易执行完成时,所述执行节点将各个交易对应的执行结果上链和落盘。
在一种实现方式中,所述区块链系统还包括:
存储节点,用于实时同步所述执行节点上各个区块中的交易数据对应的执行结果。
在一种实现方式中,系统架构中不设置执行节点,而由共识节点负责交易排序、区块共识和交易执行工作,在共识结束后区块在所有的共识节点中都会执行一遍,或者随机选择一部分节点执行交易,表面上是随机但在选取节点阶段可以通过IP地址等信息找到客户端自认为安全信任的节点或者运行在可控环境的节点执行交易,本质上也是将共识和执行解耦并且选择信任节点进行交易执行。
本发明主要包括四个重要部分:排序打包-共识-执行、共识与执行分离、指定信任节点执行交易和交易的并行执行。本发明使用可信执行环境为区块链系统提供机密性保护,机密数据的处理全程在可信执行环境中进行,并解决了针对可信执行环境的回溯攻击和侧信道攻击,系统具有较高安全性。为保护系统免受回溯攻击,本发明采用排序打包-共识-执行的架构设计。为保护系统免受侧信道攻击,本发明采用将共识与执行分离并指定信任节点执行交易的架构。为保证不同执行节点执行结果的一致性,智能合约被编译成Wasm格式执行。为加快交易处理的速度,提高系统性能,本发明对打包区块的规则进行修改以更适合新的系统设计,将在同一执行节点执行的交易打包进同一区块中,在共识结束后直接发送到指定的执行节点进行执行,并且并行执行交易。本发明能够提供更强的机密性保护,更强的安全性和性能。
综上所述,本发明公开了一种基于可信执行环境的隐私交易保护方法及区块链系统,应用于区块链系统,所述区块链系统包括共识节点和执行节点,所述方法包括:共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中;若共识节点对所述区块达成共识,则将所述区块发送至执行节点;所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。本发明使用可信执行环境为区块链系统提供机密性保护,机密数据的处理全程在可信执行环境中进行,将共识与执行分离,有效避免了系统受侧信道攻击,同时采用排序打包-共识-执行的架构设计,有效避免系统受回溯攻击,使得系统具有更强的安全性。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于可信执行环境的隐私交易保护方法,应用于区块链系统,其特征在于,所述区块链系统包括共识节点和执行节点,所述方法包括:
共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中;
若共识节点对所述区块达成共识,则将所述区块发送至执行节点;
所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。
2.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述共识节点在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中,包括:
共识节点在可信执行环境中接收各个客户端发送的交易数据以及与所述交易数据对应的执行节点索引;
获取当前网络阶段在共识节点中选举产生的领导者节点;
所述领导者节点将具有相同执行节点索引的交易数据按照交易数据接收顺序进行排序后,打包至同一区块中;
所述领导者节点将各个所述区块发送到所述共识节点中的跟随者节点。
3.根据权利要求2所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述若共识节点对所述区块达成共识,则将所述区块发送至执行节点,包括:
所述跟随者节点采用CFT共识协议对各个所述区块进行共识;
若所述区块达成共识,则由所述领导者节点按照各个区块对应的执行节点索引确定各个区块对应的所述执行节点中的目标执行节点;
所述领导者节点分别将各个区块发送至对应的目标执行节点。
4.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述基于可信执行环境的隐私交易保护方法还包括:
预先将所述区块链系统中的智能合约编译为Wasm格式。
5.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述执行节点在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易,包括:
所述执行节点中的各个目标执行节点在可信执行环境中获取对应区块的交易数据;
确定所述区块中各个交易数据调用的智能合约,将调用同一智能合约的交易数据划分为同一类别;
按照所述交易数据的顺序确定每一类别中交易数据的顺序;
按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易。
6.根据权利要求5所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易,还包括:
若存在跨合约调用的第一交易,则停止所述第一交易的执行;
当各个不同类别的交易数据对应的交易执行完成后,保留当前状态下的上下文信息;
对所述第一交易执行跨合约调用的操作,生成跨合约调用返回值;
根据所述上下文信息和所述跨合约调用返回值继续执行所述第一交易,直至所述第一交易执行结束。
7.根据权利要求5所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述按照每一类别中交易数据的顺序,并行执行各个不同类别的交易数据对应的交易,还包括:
若存在访问互斥资源的第二交易,则停止所述第二交易的执行;
当占用互斥资源的当前交易执行完成后,解除对互斥资源的锁定;
对所述第二交易执行访问互斥资源的操作后,继续执行所述第二交易,直至所述第二交易执行结束。
8.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述执行节点在可信执行环境中按照所述区块中交易数据的排序执行与所述交易数据对应的交易之后,还包括:
当所述执行节点上的所有交易数据对应的交易执行完成时,所述执行节点将各个交易对应的执行结果上链和落盘。
9.根据权利要求1所述的基于可信执行环境的隐私交易保护方法,其特征在于,所述区块链系统还包括存储节点;所述基于可信执行环境的隐私交易保护方法还包括:
所述存储节点实时同步所述执行节点上各个区块中的交易数据对应的执行结果。
10.一种区块链系统,其特征在于,所述区块链系统包括:
共识节点,用于在可信执行环境中接收各个客户端发送的交易数据,将各个所述交易数据进行排序后打包到区块中,以及对所述区块达成共识,并将所述区块发送至执行节点;
执行节点,用于在可信执行环境中按照所述区块中交易数据的顺序执行与所述交易数据对应的交易。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310459702.5A CN116170440B (zh) | 2023-04-26 | 2023-04-26 | 一种基于可信执行环境的隐私交易保护方法及区块链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310459702.5A CN116170440B (zh) | 2023-04-26 | 2023-04-26 | 一种基于可信执行环境的隐私交易保护方法及区块链系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116170440A true CN116170440A (zh) | 2023-05-26 |
CN116170440B CN116170440B (zh) | 2023-08-15 |
Family
ID=86416799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310459702.5A Active CN116170440B (zh) | 2023-04-26 | 2023-04-26 | 一种基于可信执行环境的隐私交易保护方法及区块链系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116170440B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938477A (zh) * | 2023-09-19 | 2023-10-24 | 南方科技大学 | 一种基于tee的去中心化侧链平台交易方法及智能终端 |
CN117422468A (zh) * | 2023-12-18 | 2024-01-19 | 安徽中科晶格技术有限公司 | 基于dag模型的合约链合约并行化方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190095879A1 (en) * | 2017-09-26 | 2019-03-28 | Cornell University | Blockchain payment channels with trusted execution environments |
CN110851870A (zh) * | 2019-11-14 | 2020-02-28 | 中国人民解放军国防科技大学 | 基于可信执行环境的区块链隐私保护方法、系统及介质 |
CN112492002A (zh) * | 2020-07-08 | 2021-03-12 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易转发方法及装置 |
US20210328810A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for processing transactions based on blockchain integrated station |
-
2023
- 2023-04-26 CN CN202310459702.5A patent/CN116170440B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190095879A1 (en) * | 2017-09-26 | 2019-03-28 | Cornell University | Blockchain payment channels with trusted execution environments |
CN110851870A (zh) * | 2019-11-14 | 2020-02-28 | 中国人民解放军国防科技大学 | 基于可信执行环境的区块链隐私保护方法、系统及介质 |
CN112492002A (zh) * | 2020-07-08 | 2021-03-12 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链一体机的交易转发方法及装置 |
US20210328810A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for processing transactions based on blockchain integrated station |
Non-Patent Citations (1)
Title |
---|
柯溢能;吴雅兰;: "中国工程学院院士陈纯:区块链赋能各行业亟须突破四项核心技术", 服务外包, no. 02 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938477A (zh) * | 2023-09-19 | 2023-10-24 | 南方科技大学 | 一种基于tee的去中心化侧链平台交易方法及智能终端 |
CN116938477B (zh) * | 2023-09-19 | 2024-05-10 | 南方科技大学 | 一种基于tee的去中心化侧链平台交易方法及智能终端 |
CN117422468A (zh) * | 2023-12-18 | 2024-01-19 | 安徽中科晶格技术有限公司 | 基于dag模型的合约链合约并行化方法、设备及存储介质 |
CN117422468B (zh) * | 2023-12-18 | 2024-03-29 | 安徽中科晶格技术有限公司 | 基于dag模型的合约链合约并行化方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116170440B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116170440B (zh) | 一种基于可信执行环境的隐私交易保护方法及区块链系统 | |
EP3937424B1 (en) | Blockchain data processing methods and apparatuses based on cloud computing | |
CN110245506B (zh) | 基于区块链的智能合约管理方法及装置、电子设备 | |
JP2008537613A (ja) | 分割通信システム | |
EP3790257A1 (en) | Security system for using shared computational facilities | |
CN112351022B (zh) | 信任区的安全防护方法及装置 | |
CN110750791A (zh) | 基于内存加密保障可信执行环境抗物理攻击的方法及系统 | |
CN107835185B (zh) | 一种基于ARM TrustZone的移动终端安全服务方法及装置 | |
Deng et al. | On the (in) security of secure ros2 | |
CN111160905B (zh) | 一种区块链节点用户请求处理保护方法及装置 | |
CN104639313B (zh) | 一种密码算法的检测方法 | |
US11122079B1 (en) | Obfuscation for high-performance computing systems | |
Kushala et al. | Recent trends on security issues in multi-cloud computing: a survey | |
CN114826625B (zh) | 基于sgx的区块链密钥存储方法及评价方法及装置 | |
CN113961939B (zh) | 嵌入式操作系统安全的防护方法和系统 | |
Altayaran et al. | Security threats of application programming interface (API's) in internet of things (IoT) communications | |
US11651089B2 (en) | Terminating distributed trusted execution environment via self-isolation | |
Focardi et al. | Information flow security of multi-threaded distributed programs | |
Alami-Kamouri et al. | Mobile Agent Security Based on Cryptographic Trace and SOS Agent Mechanisms. | |
Han et al. | Improving drone mission continuity in rescue operations with secure and efficient task migration | |
US11651090B2 (en) | Terminating distributed trusted execution environment via confirmation messages | |
Zhao et al. | Multi-level VM replication based survivability for mission-critical cloud computing | |
Cruz | Hardware-Backed Confidential Blockchain | |
Kanojiya | Framework to secure IoT enable application | |
Will et al. | Enclave Management Models for Safe Execution of Software Components. |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |