The Cudos platform is a decentralised cloud computing network and platform that providers resources for off-chain blockchain jobs. The platform is a 3-layer network connecting consumers to resource providers. Layer-1 is the smart contract layer, which interacts with the blockchain smart contract to process and submit jobs to the off-chain layer. The Layer-2 platform is made up of validators (nodes) responsible for receiving jobs/requests from consumers from layer-1. Once jobs are validated and meet the requirements, they are submitted to the layer-3 network.
The layer-3 is made up of apps that are created either by Cudo or (more frequently) by third-party developers. Each app is build to process specific jobs within the network and is maintained by the developers. For instance, an app could be a price and data oracle, the world population database, algorithmic engine among others. The apps compete to raise their reputation within the network for job processing. Once the apps are done processing jobs, the result is returned to layer-2 and further submitted to the layer-1 network.
Creating apps will require developers to follow specific steps and meet the technical standards. The app must define:
• A process for taking input (such as a video in the case of a transcoding app), which may be defined via a web UI or via an API. These endpoints that consumers can use to submit the inputs or jobs for processing.
• A workload image, usually created from the base image guidelines provided by Cudo.
• A configuration customisation that extends the base image to make it workload-specific, typically in one of the following forms:
- Scripting to download, install and set up software inside an operating system image e.g. Bash or PowerShell.
- Container builds instructions to create a template image e.g. Dockerfile.
- Upload of a complete pre-configured image e.g. an OVF appliance or a Node.js package.
• An estimation component (optional) responsible for estimating the execution time of a job based on the input.
• A validation component (optional) responsible for any app-specific automated validation that can be used to verify a job has been completed properly.
•An ingest function: The ingest function produces a workload image from a given input. This logic may include support for splitting the job into sub-work packages for parallel processing.
•An egress function: The egress function resides on the workload image and runs on the supplier’s hardware. It executes upon successful completion of a job and is responsible for taking the completed work and uploading it to the Cudo platform
Every workload has its requirements and once processed, the app developer is rewarded in the Cudos token as an incentive. Apps that failed to process jobs are punished using the governance rules; which include downgrading the reputation of the app or fees paid to the Cudos reserve. The Cudos project will go live on the mainnet very soon and it is the hope that many developers will deploy relevant apps within the network.