banner
0xjokereven

0xjokereven

All is for consistent
twitter
github
pixiv
jike
medium

Fluence Working Principle

Protocol
The DecentraCompute protocol forms a computational resource network and defines a cloudless stack for executing computational tasks.

DecentraCompute Network Overview
DecentraCompute Network Overview

Cloudless Functions, Aqua
The DecentraCompute network operates entirely on the Aqua protocol, providing secure distributed execution without centralized coordination. The name Aqua is also used for a specific domain scripting language that compiles into pi calculus operations, allowing the expression of deadlock-free distributed algorithms. The Aqua protocol does not require deployment: Aqua scripts are packaged as data packets and executed on the network in a script-oriented manner. Additionally, Aqua ensures the encrypted security of script execution: all requests and their step-by-step execution are signed by participating nodes, making executed scripts auditable and verifiable.

The code created using Aqua is referred to as cloudless functions because it runs across clouds, servers, and regions. Cloudless functions power client applications and the DecentraCompute protocol itself. Service discovery, routing, load balancing, subnet booting and operation, scaling, and fault-tolerant algorithms are all run through Aqua and expressed as cloudless functions.

Computational Functions, Marine
When Aqua operates servers and executes topologies and workflows in the cloud, DecentraCompute uses the Marine runtime to run computations on nodes. Marine is a WebAssembly runtime that allows for the execution of multiple modules, combining interface types and WASI for accessing effectors.

Marine powers computational functions, which are executed on a single machine, similar to serverless cloud functions. Marine supports Rust and C++ as source languages, but with the development of the WebAssembly standard, more languages are soon to be supported.

Subnets
All computational functions in the network are deployed through replication to ensure fault tolerance: in cases where a node becomes unavailable due to hardware failure or network interruption. Replicated deployments are called subnets. Subnet operations are fully customizable by developers through cloudless functions, allowing developers to enable failover, load balancing, consensus, or any other custom algorithm.

Subnets create highly available data storage on DecentraCompute. They can be seen as a hot cache or data index, while storing large amounts of data is outsourced to an external storage network, whether centralized (such as S3) or decentralized (such as Filecoin/Arweave).

Computational Proof
The DecentraCompute protocol enforces cryptographic proofs for all executions in the network. Providers generate proofs for their computations, and clients only pay for work with attached proofs to ensure verified and correct work.

Aqua Security
When nodes operate in DecentraCompute, they continuously serve incoming cloudless function calls, which require further forwarding of functions or running computations on that node. For each incoming cloudless function, nodes validate the execution trace involving previous nodes to ensure the correct execution of the process. Cloudless functions executed by erroneous nodes or disrupted topologies are discarded.

If a cloudless function requires a node to run a computational function, the node completes the work, extends the execution trace, and further forwards the request. In this way, the protocol ensures proper operation and generates audit records for all executions.

Processing Proof
The protocol enforces probabilistic verification of Aqua executions on-chain. Since all computations are wrapped in Aqua, this means that everything executed on the platform is probabilistically verified on-chain. Providers must submit the required executions to receive rewards; otherwise, they will be penalized.

Execution Proof
Cryptographic proofs of specific code executions on Fluence. Each function execution is accompanied by a proof generated by Fluence's Marine WebAssembly runtime. These proofs are validated by nodes participating in subsequent executions and included in the processing proof.

Marketplace
The on-chain marketplace matches computational providers with customers who pay for their computational resources. The marketplace is fully permissionless, allowing any provider to participate and advertise their available capacity.

The marketplace is hosted on DecentraCompute's own chain, driven by IPC, validated by DecentraCompute computational providers, and anchored to Filecoin L1. The native chain enables cheap and fast transactions for renting computational resources at any scale, from small workloads to large-scale ones.

Computational Provider Resources
Computational Provider Resources

Capacity Proof
DecentraCompute ensures the existence and availability of resources advertised by providers through the enforcement of cryptographic proofs called capacity proofs. Providers utilize their hardware resources to continuously generate capacity proofs, confirming that these resources are ready to serve customers. The protocol rewards these resources with DecentraCompute tokens based on allocated power.

Whenever a customer needs to select a provider's computational capacity, these resources switch from generating proofs to serving the customer's application.

Resource Pricing
Customers can choose providers based on advertised prices and other parameters or publish jobs and the maximum price they are willing to pay for any provider to take over.

With each application deployment, a transaction is created on-chain, recording the financial details between the customer and provider (price, prepayment, and collateral required by the provider), technical requirements related to the desired service (access to certain data, binary files, or web APIs), and installation links for code in the network.

Matching Criteria
Matching criteria for selecting providers

Billing Model
The initial billing model is prepaid, based on the leasing time of resources and calculated per cycle. The minimum resource lease is a single computational unit lasting for 2 cycles, where one cycle is defined as 1 day, and the computational unit consists of 1 core, 4GB of memory, and 5GB of virtual disk space. Customers need to make a prepayment for the minimum term to ensure compensation for the provider's work.

Request-based billing and elastic computational units will be introduced in the next stage of the project.

Network
The DecentraCompute network can be seen as a set of globally interconnected nodes, each running AquaVM and Marine, capable of receiving deployment and code execution commands locally and collaborating with other nodes based on received cloudless functions. Most nodes are constantly involved in economic activities: monitoring and participating in transactions, forming new subnets or adjusting participation in subnets, installing applications as specified by transactions, coordinating executions, and serving incoming requests. They also generate execution proofs and submit them for rewards according to the proof algorithm.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.