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证书)。

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

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

相关文章
|
7月前
|
存储 算法 分布式数据库
持币生息DAPP系统开发|模式方案|源码
区块链将所有信息存储在分类账系统中。此外,任何类型的数据交换都称为“交易”
|
存储 安全 区块链
IPPswap/NFTswap/defiswap/OMNIswap去中心化交易所系统开发实现技术方案/源码项目/案例设计
  DApp是指基于区块练技术的去中心化应用程序,它的特点是去中心化、透明、安全、不可篡改等,DApp is an inevitable trend because it can solve problems such as centralization,data privacy,and security in traditional applications,while also achieving more fair,transparent,and decentralized application scenarios
|
7月前
|
存储 算法 分布式数据库
DAPP质押项目系统开发|需求方案|模式分析
虽然区块大小看起来很小,但它们可以承载多达2000个交易
|
7月前
|
存储 区块链 数据安全/隐私保护
DAPP佛萨奇3.0系统开发方案模式
Web3.0为用户提供了更多的创作和表达机会。在传统互联网时代,知识产权的保护和激励一直是一个难题
|
区块链
佛萨奇经典矩阵系统开发|佛萨奇2.0合约系统开发源码
智能合约的特性决定了区块链网络会自动执行智能合约代码
|
存储 区块链 数据库
佛萨奇矩阵模式系统开发|公排合约|互助案例
区块链可以看作一种新型去中心化的协议,能够安全地存储各类交易数据
|
前端开发 数据安全/隐私保护
|
存储 算法 区块链
链游项目系统开发(方案设计)丨DAPP链游系统开发(案例分析)/成熟技术/区块链游戏开发/源码说明
  在区块链中,每个块包含了一定数量的交易信息和该块的唯一标识符,同时还包含了前一个块的哈希值。这样的设计保证了区块之间的顺序和完整性,一旦一个块被添加到区块链中,它就不可更改。This makes blockchain a secure and trustworthy distributed ledger that can be used to record and verify various types of transactions.
|
区块链 数据库
佛萨奇2.0系统开发(马蹄链开发)丨佛萨奇2.0系统开发(案例及项目)丨佛萨奇2.0源码成品
  智能合约(Smart contract)是依托计算机在网络空间运行的合约,它以信息化方式传播、验证或执行合同,由计算机读取、执行,具备自助的特点。而区块链的去中心化,数据的防篡改,决定了智能合约更加适合于在区块链上来实现
|
机器学习/深度学习 存储 安全
MetaForce佛萨奇马蹄莲智能合约DAPP系统开发实现技术原理及规则玩法
智能合约是以一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。就是用计算机语言取代了法律语言记录条款并由程序自动执行的合约。换句话说,智能合约就是传统合同的数字化版本,它跑在区块链网络上,程序自动执行。由于区块链的去中心化,不可篡改,透明可追溯等特性。
MetaForce佛萨奇马蹄莲智能合约DAPP系统开发实现技术原理及规则玩法