ECP Funding Operations Guide

Introduction

ECP (Edge Computing Provider) is a crucial component in the Swan Chain ecosystem and is responsible for executing Zero-Knowledge (ZK) computation tasks. The Sequencer is an optimization component aggregating proofs submitted by multiple ECPs, processing them in batches to reduce gas fees and improve overall efficiency.

Account Overview

  • CP Account (Computing Provider Account): An independent on-chain contract account for CP operations and fund management. FCP and ECP have the same account structure.

    • Owner Address: Hold the highest authority to manage the CP account.

    • Beneficiary Address: Receives rewards for ZK tasks.

    • Worker Address: Used for submitting proofs.

  • Collateral Account: ECP's collateral account in the collateral contract (SwanC).

    • Escrow Account: A account for storing ECP's collateral in collateral contarct, ensuring that ECP can receive ZK tasks.

  • Sequencer Account: ECP's account in the sequencer contract, used to pay for gas fees required when submitting ZK proofs.

Table of Content:

1. Initial Setup

1.1 Obtaining ETH for Gas Fees

ETH is required for transaction gas fees. Follow these steps:

  1. Visit Swan Chain's official bridge website: https://bridge.swanchain.io

  2. Cross-chain your ETH to Swan Chain to obtain ETH

  3. Prepare sufficient ETH to account for potential fluctuations in network gas fees

1.2 Obtaining SWANU for Collateral

ECP requires SWANU (Swan Compute Unit) as collateral.

1.3 Collateral Requirements

  • Collateral amounts dynamically adjust based on network computing power.

  • Monitor the Swan dashboard for computing units and base collateral trends(upcoming feature)

  • Maintain sufficient collateral to ensure continuous task eligibility

During CP UBI-0 stage:

  • Collateral will be directly deposited to corresponding escrow account. No manual deposit required.

  • Funds locked for UBI qualification and order acceptance. No withdrawal option available

2. Account Setup

Depositing SWANU to the Collateral Account: Use the following command:

computing-provider collateral add --ecp --from <WALLET_ADDRESS> --account <CP_ACCOUNT> <Amount>

3.1 Enabling Sequencer Functionality

In the ECP configuration file, set EnableSequencer = true and autoChainProof = true

When autoChainProof is true, ECP will prioritize submitting proofs via the sequencer. If the sequencer lacks sufficient gas, it will automatically submit proofs on-chain. If set to false, ECP won't submit tasks when the sequencer lacks gas.

Note: ECPs can submit proofs in two ways:

  • Directly to Swan Chain as a contract (higher gas consumption per transaction)

  • To the zk-sequencer for batch aggregation (lower gas consumption, recommended)

3.2 Funding the Sequencer Account

When using the sequencer, pre-fund the CP's sequencer account with ETH on Swan Chain. Currently, the gas is decided by the Dynamic Pricing Strategy. For more detailed information, see here.

computing-provider sequencer add --from <WALLET_ADDRESS> --account <CP_ACCOUNT> <Amount>

Note: The sequencer periodically processes tasks and deducts from the sequencer account. If the balance is insufficient during settlement, it may become negative. ECPs need to refund to receive new tasks.

4. Task Execution and Rewards

4.1 Reward Distribution

Rewards are distributed during the next settlement cycle after 24 hours following the CP UBI-0 event rules, typically within 48 hours of task proof submission, to the beneficiary account.

Read Computing Provider Income to learn more.

4.2 Viewing UBI tasks

Check the transaction list of the beneficiary account on the blockchain explorer: https://swanscan.io.

Alternatively, you can use the CP command to view UBI tasks:

computing-provider ubi list

The result will look like this:

TASK ID  TASK CONTRACT                               TASK TYPE  ZK TYPE      STATUS    REWARD  SEQUENCER  CREATE TIME         
1081868  0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043  GPU        fil-c2-32G   verified  0.00    YES        2024-11-03 10:40:31  
1081072  0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043  GPU        fil-c2-32G   verified  0.00    YES        2024-11-03 11:10:30  
1081749  0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043  GPU        fil-c2-32G   verified  0.00    YES        2024-11-03 11:40:33  
1081904  0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043  GPU        fil-c2-32G   verified  0.00    YES        2024-11-03 12:10:34  
1081748  0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043  GPU        fil-c2-32G   verified  0.00    YES        2024-11-03 13:10:26  
1081562  0x23AC299fA44aa7Df2ddDFE09cDB0331DD1945043  GPU        fil-c2-32G   verified  0.00    YES        2024-11-03 13:40:29  
1081980  0x008E2334B34737D42128d13Ee50A78322663d7a7  GPU        fil-c2-32G   verified  0.00    YES        2024-11-03 14:10:31  
1081861  0x008E2334B34737D42128d13Ee50A78322663d7a7  GPU        fil-c2-32G   received  0.00    YES        2024-11-03 14:40:27  

4.3 Slash Mechanism

If a task proof fails validation (late submission, invalid proof, etc.), 5 SWANU will be deducted during the periodic settlement.

5. Exit Procedure

5.1 Stop Receiving New Tasks

computing-provider account changeTaskTypes --ownerAddress=<OWNER_ADDRESS> 0

5.2 Data Backup

Backup the CP_PATH directory (default: ~/.swan/computing)

5.3 Withdrawal Process

a) Withdraw from collateral account:

computing-provider collateral withdraw --ecp --owner=<OWNER_ADDRESS> <AMOUNT>

b) Withdraw from sequencer account:

computing-provider sequencer withdraw --owner=<OWNER_ADDRESS> <AMOUNT>

c) Withdraw from escrow account:

  • Initiate withdrawal request:

computing-provider collateral withdraw-request --owner=<OWNER_ADDRESS> --account=<CP_ACCOUNT> <AMOUNT>
  • Confirm withdrawal after 48 hours:

computing-provider collateral withdraw-confirm --owner=<OWNER_ADDRESS> --account=<CP_ACCOUNT>

Note: Escrow account balance may fluctuate due to periodic settlements. It's advisable to wait 24 hours after changing taskTypes before requesting the withdrawal. Confirmation can only be made 48 hours after the initial request. Funds will be withdrawn to the CP's ownerAddress upon confirmation.

Last updated