Ethernity Docs
  • Welcome to Ethernity CLOUD
  • Getting Started
  • Ethernity Node Quick Start
    • Hardware Requirements
    • BIOS Settings
    • Supported Platforms
    • Blockchain Settings
    • Security Considerations
    • Installation
  • Ethernity Client Quick Start
    • Platforms and dependencies
    • Blockchain Settings
    • Security Considerations
    • Installation
  • ethernity node
    • Prerequisites
      • Hardware with SGX Support
      • Check SGX Support
      • Installing Linux
        • Download
        • USB Installation Media
        • Ubuntu 18.04 LTS
        • Ubuntu 20.04 LTS (Recommended)
        • Ubuntu 22.04 LTS (Experimental)
        • SSH Connection
      • Blockchain Wallets
    • Download
    • Installing the Node
    • Update the node
    • Configuring the Node
      • Select the network
        • Mainnet on Bloxberg
          • ETNY on Bloxberg
        • Testnet on Bloxberg
          • Data Processors
          • Bloxberg (BERGS)
          • tETNY on Bloxberg
          • tETNY Faucet
        • Mainnet on Polygon
          • ECLD on Polygon
        • Testnet on Polygon (MUMBAI)
      • Task execution price
      • Resources configuration
    • Monitoring the Node
    • Troubleshooting issues
    • Firewall Rules
    • Proof of eXecution
      • Blockchain Metadata
      • IPFS
    • Node Reset
      • Node Connect
        • DHCP
        • Static IP
        • Console
      • Change Password
      • Node wallets
  • Mainnet
    • Mainnet on Bloxberg
    • ETNY on Bloxberg
    • Mainnet on Polygon
    • ECLD on Polygon
  • TESTNET
    • Data Processors
    • Bloxberg (BERGS)
    • tETNY on Bloxberg
    • tETNY Faucet
    • Polygon (MUMBAI)
  • Developer Guide
    • Introduction
    • The EC Protocol
      • Data flow inside EC
    • The GUIDE
      • Environment Prerequisites
      • Step-by-Step dApp
  • ENS Domain Registration
    • Introduction
    • ENS Smart Contract Details
      • Polygon Mainnet
      • Bloxberg Mainnet
    • Registration Steps (ENSRegistrarController)
  • Ethernity Client
    • Prerequisites
      • Python 3.6+
      • git
      • Blockchain Wallet
    • Download
    • Running the Client
    • Configuring the Client
    • Proof of eXecution
      • Blockchain metadata
      • IPFS
  • Ethernity Smart Contract
    • Data Owner API
    • Data Processor API
  • Wallet
    • MetaMask
    • Installation
    • New Wallet
    • Restore Wallet
    • Wallet Validation
    • Contract Upgrade
    • Receive ETNY - Optional step
    • Send ETNY - Optional step
    • Change RPC URL
  • Public Sale Buying Journey
    • Round 1
      • Interest Registration
      • Public sale start
      • Queue placement
      • Crypto (USDT) payment
      • Bloxberg receiving address
      • Troubleshooting
    • Round 2
      • ❗VERY IMPORTANT
      • Interest Registration
      • Login
      • KYC - R2
      • Queue placement
      • Payment Options
        • USDT
        • Coin Payments - Crypto
        • Coin Payments - Paypal
    • Round 3
      • ❗VERY IMPORTANT
      • Interest Registration
      • Login
      • KYC
      • Package Selection
      • Payment Methods
        • DIRECT
          • USDT - ERC-20
          • USDT - TRC-20
          • USD - Polygon
          • BUSD - BSC
        • COINPAYMENTS
        • PAYPAL
        • CEXs and Hot Wallets Withdraw
          • Binance
          • Coinbase
          • Kraken
          • MetaMask
          • Trust Wallet
        • Receive ETNY
  • Staking dApp
    • Intro
    • Node address and private key
    • Import private key
    • Connect wallet to dApp
    • Change connected wallet
      • Disconnect wallet address
    • Staking dApp homepage
      • Account
      • Pending
      • Approved
      • Terminated
      • Marketplace
    • Base stake
      • Create base stake
      • Approve base stake
    • Extended stake
      • Create extended stake
      • Apply for an extended stake
      • Approve extended stake
    • Open Beta Staking dApp
  • SWAP dAPP
    • Intro
    • Create Account
    • Login
    • KYC
    • Setting up the profile
    • Dashboard
    • Confirmation
    • Sign transactions
  • LIQUIDITY PROGRAM
    • Liquidity Supply Guide
    • Connect wallet
    • Select range
    • Choose contribution
    • Viewing pools
    • Remove liquidity
  • Hardware Affiliate Program
    • Intro
    • Hardware Affiliate
      • Create Account
      • Login
      • Dashboard
      • Generate codes
      • Upload Codes
      • Profile information
    • Node operator
      • Register
      • Login
      • KYC
      • Activate Device
  • Contact
    • Social Media
Powered by GitBook
On this page

Was this helpful?

  1. Developer Guide
  2. The EC Protocol

Data flow inside EC

PreviousThe EC ProtocolNextThe GUIDE

Last updated 1 year ago

Was this helpful?

This section provides a comprehensive understanding of the data workflow diagram and presents a step-by-step guide detailing the user data handling while using a Web 3.0 dApp within the Ethernity Cloud Protocol:

Input Data Formatting and Submission:

The dApp user , while using the dApp proceeds to format and encrypt the input data using the enclave's public key. This ensures the confidentiality and security of the user's sensitive data.

Upload to Decentralized Storage and Task Request Submission:

The encrypted content is then uploaded to the decentralized storage, making it accessible for downloading by the designated EC Node responsible for executing the code. Concurrently, the dApp user submits a task request on the blockchain through the EC Smart Contract, initiating the process.

EC Node's Computing Resource Submission:

Simultaneously, the EC Node starts and submits its available computing resources to the blockchain, providing crucial information for task request matching.

Task Request Matching:

The EC Smart Contract facilitates the matching process between the user's task request and the EC Node's available resources. If a suitable match is found, the EC Node proceeds to download the encrypted data from the Decentralized Storage for execution. In case of no immediate match, the matching operation continues until a suitable node is identified.

Secure Environment Setup:

Upon a successful match, the EC Node initiates the download of the relevant encrypted data and concurrently acquires the secure enclave docker image. It then sets up a secure Trusted Execution Environment (TEE) enclave and performs mutual attestation through Configuration and Attestation Service (CAS) , ensuring a secure execution environment.

Task Execution and Proof Generation:

The Trusted Execution Environment (TEE) enclave securely executes the assigned task, processing the encrypted input data. It generates encrypted results and creates a proof of execution. The proof is calculated in a way that can be validated by the user.

Upload of Encrypted Results to Decentralized Storage:

Upon task completion, the EC Node uploads the encrypted results to the Decentralized Storage. The data is encrypted using the users's public key to maintain confidentiality during transmission and storage.

Writing the proof on the blockchain as a transaction:

The proof of execution is a transaction signed by the enclave. The proof contains the hash of the results and the status code of the execution. This transaction is then written to the blockchain by the EC Node.

Result Retrieval and Verification:

The dApp user now checks the proof of execution, validates it, determines the status of the execution and then downloads the encrypted results. By decrypting the results using their private key, the user gains insight into the outcome of their task executed confidentially within the Ethernity Cloud Protocol.

Status Codes of Execution:

1. "SUCCESS"

2. "SYSTEM_ERROR"

3. "KEY_ERROR"

4. "SYNTAX_WARNING"

5. "BASE_EXCEPTION"

6. "PAYLOAD_NOT_DEFINED"

7. "PAYLOAD_CHECKSUM_ERROR"

8. "INPUT_CHECKSUM_ERROR"

Dataflow inside EC protocol