2.0佛萨奇开发原理丨2.0佛萨奇智能合约系统开发方案及规则丨2.0佛萨奇系统源码案例

简介:  隐私合约功能由一个基于可信执行环境的隐私合约环境提供。这个隐私合约环境由可信执行环境Enclave和隐私计算网关组成。其中Enclave是运行在可信执行环境的逻辑,负责对合约进行验证、编译、执行,敏感数据密文只能在Enclave中解密。长安链的Enclave中实现了一套WASM逻辑,可以对任意数据处理逻辑进行编译、运行。隐私计算网关负责将用户、Enclave发出的信息打包成区块链的交易payload,并转发给区块链存证。

  隐私合约功能由一个基于可信执行环境的隐私合约环境提供。这个隐私合约环境由可信执行环境Enclave和隐私计算网关组成。其中Enclave是运行在可信执行环境的逻辑,负责对合约进行验证、编译、执行,敏感数据密文只能在Enclave中解密。长安链的Enclave中实现了一套WASM逻辑,可以对任意数据处理逻辑进行编译、运行。隐私计算网关负责将用户、Enclave发出的信息打包成区块链的交易payload,并转发给区块链存证。

  整个流程分为三个阶段:可信执行环境的远程证明、隐私合约的部署、隐私合约的调用。

  远程证明动作可以是一次性的。在该阶段,由用户发起对隐私合约环境中Enclave的远程证明,验证该Enclave是否运行于可信执行环境中,以及该Enclave中的逻辑是否在部署后被篡改过。

  隐私合约的部署发生在远程证明之后,每个不同的隐私合约需要单独进行一次部署。在这个阶段中,用户可以部署经区块链共识接受的任意数据处理逻辑作为隐私合约,隐私合约会被存在区块链上,其逻辑受到公开监管。不同于普通合约用户直接将合约代码上传到区块链节点的部署方式,隐私合约需要用户将合约上传到隐私计算环境初始化后,由隐私计算环境通过网关将处理好的合约上传到区块链账本中。

  隐私合约的调用发生在部署之后。一个隐私合约部署后,用户可以用相同或不同的数据为入参进行多次调用。

  1.可信执行环境与远程证明

  可信执行环境是CPU的一个安全加固区域,可以保证其中的软件逻辑和数据在机密性和完整性上得到保护。该区域的软硬件环境可以看做是与外界隔离的一个反沙箱环境。在这个环境中运行的程序,外部包括操作系统无法读取或写入其内存,也无法干扰其代码运行逻辑。

  远程证明可以使验证者辨别被验证的可信执行环境上的软件逻辑是否有变更。通常,远程证明的被验证方通过可信硬件生成一个证书,这个证书包含一个report信息,这个信息描述当前运行在可信执行环境中的软件(代码度量)。验证者通过验证这个证书的合法性来验证可信硬件上的软件进程是否被修改过。

  2.Intel DCAP远程证明

  Intel提供的远程证明机制。

  信任Intel。在DCAP远程证明模式中,Intel会作为根CA为SGX硬件提供认证。

  需要在网络中维护一个PCCS服务提供对网络中的SGX硬件认证。PCCS服务是将Intel为SGX下发的类似二级证书的信息缓存到一个局域网络中。

  3.自定义信任根的远程证明(v1.2.0开始支持)

  自定义信任根的远程证明对DCAP做了一些改动,将对Intel的信任转移到对任意选定的CA机构的信任上。

  在可信执行环境初始化阶段,可信硬件基于硬件固有密钥生成一对签名公私钥对和一对加密公私钥对,并向一个选定的CA机构申请证书。该证书中包含签名公钥和加密公钥。这个过程类似于硬件出厂时向Intel注册信息。

  在用户发起对Enclave的远程证明时:

  用户生成一个随机挑战(任意随机字符串),将其发送到隐私合约环境,由隐私计算网关转发到Enclave中。

  Enclave对收到的随机挑战制作一个远程证明。Enclave收到随机挑战后,调用SGX EREPORT指令获取report。这个report包含当前运行中的软件的代码度量和Enclave的其他信息。Enclave将随机挑战与report拼接后,用签名私钥对其签名,制作出包含随机挑战、report、Enclave签名、Enclave证书4个组件的远程证明。

  Enclave通过隐私计算网关输出远程证明(包括随机挑战、report、Enclave签名、Enclave证书)。

  隐私计算网关会调用系统合约将远程证明写入区块链存证。系统合约中包含验证远程证明合法性的逻辑,通过验证的远程证明会被写入区块链存证。

  隐私计算网关会返回一份远程证明给发起证明流程的用户,用户可以线下自行验证远程证明。

相关文章
|
8月前
|
存储 供应链 安全
dapp系统开发详细规则/玩法功能/案例设计/源码步骤
DApp是指去中心化应用(Decentralized Application),是构建在区块链技术之上的应用程序。与传统的中心化应用不同,DApp不依赖于中心化的服务器或管理者,而是通过智能合约和分布式网络来实现去中心化的运行。
|
机器人
量化交易丨交易所系统开发策略规则/逻辑方案/成熟技术/开发案例/源码部署
  “量化交易”有两层含义,一种是从狭义上的讲法,中指量化交易的内容,将交易的条件转变为程序的意思,自动下单。二是从广义上讲,是指系统交易的方法,一个整合交易的系统,按照一系列的交易条件,智能化的辅助决策系统体系,把丰富的从业经验与交易条件相符合,交易过程管理好风险控制。
|
8月前
|
监控 供应链 安全
dapp智能合约只涨不跌系统开发步骤详细/开发案例/功能需求/方案项目/源码功能
需求分析:明确系统的功能需求和业务逻辑。确定系统需要支持的资产类型、交易规则和逻辑限制等。
|
存储 开发框架 安全
dapp去中心化大小公排项目系统开发案例详情丨规则玩法丨需求逻辑丨方案项目丨源码程序
区块链技术的去中心化应用(DApp)开发在近年来逐渐受到广泛关注。大小公排互助系统是一种较为流行的DApp模式之一,其基本特点是参与者按照加入顺序依次排队,
IPPswap交易所系统开发详细指南丨需求设计丨教程方案丨源码项目
Based on the development of the IPPSwap exchange exchange exchange bottom pool LP pledge mining system you mentioned, the following is an overview of its basic process and elements
交易所开发源码丨交易所系统开发成熟技术/案例开发/需求功能/项目方案/详细程序/多版本
The development of an exchange system involves multiple aspects and functions. The following are the main functions that may be included in general and some detailed guidelines:
|
敏捷开发 安全 网络安全
区块链商城开发稳定版丨区块链商城系统开发功能逻辑/规则设计/案例开发/详细项目/源码说明
Decentralized trust: The blockchain mall eliminates the need for trust intermediaries in traditional e-commerce platforms through its decentralized characteristics. All transaction information is publicly recorded on the blockchain, allowing buyers and sellers to mutually verify and trust the authen
|
安全 API
永续合约丨交易所系统开发步骤详细/案例规则/成熟技术/方案介绍/需求分析/源码程序
The price of a perpetual contract is generated by trading between the long and short sides on the exchange, determined based on market supply and demand and the trader's commission price. The exchange will match buying and selling orders based on the entrustment of both long and short parties to mee
|
安全 Go 区块链
区块链游戏链游系统开发功能详情丨方案逻辑丨开发项目丨案例分析丨源码规则
 In recent years, with the continuous development of blockchain technology, NFTs (non homogeneous tokens) and DAPPs (decentralized applications) have emerged in the gaming industry.