Turnkey Development of a Decentralized Compute Network

We design and develop full-cycle blockchain solutions: from smart contract architecture to launching DeFi protocols, NFT marketplaces and crypto exchanges. Security audits, tokenomics, integration with existing infrastructure.
Showing 1 of 1All 1305 services
Turnkey Development of a Decentralized Compute Network
Complex
from 2 weeks to 3 months
Frequently Asked Questions

Blockchain Development Services

Blockchain Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1358
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1250
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    956
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1188
  • image_logo-advance_0.webp
    B2B Advance company logo design
    646
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    929

Three companies—AWS, GCP, Azure—control 65% of the global cloud computing market. They decide who gets access to infrastructure, at what prices, and under what terms. For most applications, that's acceptable. For AI inference, rendering, scientific computing, and any workload where price, censorship resistance, or geographic distribution matters—it's not. A decentralized compute network builds a market between those with spare GPU/CPU and those who need them. We build such networks end-to-end—from economic model to mainnet launch. Get a consultation on choosing a verification mechanism today.

The challenge is that building a decentralized compute network is technically harder than it seems. Three fundamental problems must be solved: verifying that a computation was executed correctly; protecting against dishonest providers and clients; and delivering performance comparable to centralized alternatives. Contact us—we'll assess your project for free.

How to Verify Computations Without Re-execution?

A provider claims to have run your task and obtained result X. How can the contract check this without recalculating itself? If the contract recalculates, you pay double cost. That's the core verification problem.

Three Approaches and Their Trade-offs

Optimistic execution with challenge period. The result is accepted as correct unless disputed within a window (usually 7 days). On dispute, a verification game: both parties alternately narrow the disagreement to a single computation step, which is verified on-chain. This is the approach of Truebit; an adapted version is used in Arbitrum for EVM disputes.

Key parameters: provider's stake (must exceed expected profit from cheating), challenge window length (trade-off between security and speed), number of verifiers in the game. Weakness: if client and provider collude, or if the challenge window is improperly chosen for a specific task class.

Trusted Execution Environment (TEE). Computation occurs in an isolated enclave—Intel SGX, AMD SEV, ARM TrustZone. Hardware attestation proves that specific code executed in a specific environment without operator interference. The contract verifies the attestation quote on-chain.

interface ITEEVerifier {
    // mrenclave — unique hash of the code in enclave
    // report — signed Intel IAS report
    function verifyAttestation(
        bytes32 mrenclave,
        bytes calldata report,
        bytes calldata signature
    ) external view returns (bool);
}
How does TEE attestation work? The enclave generates a signed quote, which is verified on-chain using Intel's public key. If attestation passes, the contract is confident the code was executed in a protected environment.

Used in iExec (TEE tasks), Phala Network (Phat Contracts), Marlin Protocol. Weaknesses: Intel SGX had several serious vulnerabilities (Spectre/Meltdown variants, SGAxe), dependence on hardware vendor, supply chain complexity for verifying hardware. TEE is 10-50x faster than ZK in verification time, but offers weaker guarantees.

Cryptographic verification via ZK-proofs. The provider generates a ZK-proof that they performed the correct computation on the input data. An on-chain verifier checks the proof in O(1) regardless of computation complexity. This is the strongest approach in terms of guarantees, but the most expensive in terms of proof generation overhead.

For simple deterministic tasks (hashing, basic arithmetic)—Groth16 or PLONK via circom. For complex computations—zkVM (RISC Zero, SP1): client writes a Rust program, zkVM generates a proof of execution for any Rust program. Cost of proof generation on RISC Zero: $0.01 to $1 depending on task complexity, time 10–300 seconds.

In practice, most recent protocols use a hybrid: TEE for primary verification (fast, cheap) + optimistic challenge for cases where TEE attestation is unavailable or compromised. This approach reduces cost by 30-50% compared to a pure ZK scheme without losing security.

Method Speed Security Overhead Cost
Optimistic Medium Medium Low
TEE High Medium Low
ZK Low High High

Determinism of Computations

For any verification method, the computation must be deterministic: identical code and inputs must produce exactly the same result on any hardware. This is non-trivial.

Problems: floating-point operations yield different results on different CPU architectures and compilers; GPU computations are non-deterministic by default due to parallelism; multi-threading with race conditions; dependence on system time or randomness.

Solutions: compute in WebAssembly (deterministic by specification); use integer arithmetic instead of float; deterministic ML frameworks (fixed seeds, disabled non-deterministic parallelism); container isolation with fixed environment (Docker image pinning by SHA256).

When Is Replication Needed?

For high-stakes tasks, run the same computation on N providers and verify results via consensus. With 3 providers and majority rule, attack probability drops sharply (requires collusion of 2 out of 3).

Commitment-Reveal Scheme

Providers first publish a hash of the result (commitment), then after all have deposited, reveal the result. This prevents copying each other's answers.

// Phase 1: Commit
function submitResultHash(bytes32 taskId, bytes32 resultHash) external {
    require(isTaskProvider(taskId, msg.sender), "Not assigned provider");
    require(task.status == TaskStatus.Active, "Wrong status");
    resultCommitments[taskId][msg.sender] = resultHash;
    emit ResultCommitted(taskId, msg.sender);
}

// Phase 2: Reveal
function revealResult(bytes32 taskId, bytes calldata result) external {
    bytes32 commitment = resultCommitments[taskId][msg.sender];
    require(keccak256(result) == commitment, "Hash mismatch");
    revealedResults[taskId][msg.sender] = result;
    _tryFinalize(taskId);
}

Economic Layer

Our token model for a decentralized compute network typically includes:

Parameter Typical Range Purpose
Provider stake 5–100 RLC / USDC Collateral against fraud
Slash on violation 10–50% of stake Deterrence
Protocol fee 1–5% Treasury
Scheduler fee 1–3% Matching layer

Important nuance: the token should be used to pay for computation (utility), not just governance. Pure governance tokens in compute markets do not create sufficient demand-side pressure.

End-to-End Task Workflow

  1. Client uploads Docker image of the application to IPFS, obtains content hash.
  2. Client creates a task on-chain: app hash, dataset hash, parameters, deposit.
  3. Matching layer or scheduler assigns provider(s).
  4. Provider downloads image + data, executes in TEE or standard container, generates result + attestation/proof.
  5. Provider publishes commitment on-chain.
  6. After reveal and consensus, result is finalized, provider receives payment.
  7. Client downloads result from IPFS.

Network Components Off-Chain

Worker node — the main component for the provider. A daemon that monitors the blockchain for new tasks, downloads and executes workloads, and publishes results. Stack: Go or Rust, Docker SDK for container isolation, SGX SDK for TEE tasks.

Scheduler / Core — for protocols with off-chain matching. Handles task categorization, provider selection based on stake and reputation, timeout monitoring. Can be decentralized via BFT consensus (set of scheduler nodes).

Result storage — IPFS with pinning. IPFS reference stored on-chain. Alternative for confidential results: encrypted result in IPFS, decryption key passed via TLS in TEE.

What's Included in Turnkey Development

We offer a full cycle: from whiteboard to audit. Key deliverables include architecture documentation, smart contracts with source code, worker node with Docker and TEE integration, testbed with real providers, client team training, and post-launch support. If needed, we write formal specifications and perform formal verification of critical modules.

Development and Launch Timeline

Design phase (2–3 weeks). Selection of verification mechanism (TEE / optimistic / ZK), definition of task categories, token economics. These decisions cannot be undone after deployment.

Smart contracts (6–10 weeks). TaskRegistry, WorkerRegistry, Escrow, Consensus module, Voucher system (for sponsoring tasks). Foundry for testing, including fork tests with real TEE attestation data.

Worker node (4–8 weeks). Go/Rust daemon with Docker integration. If TEE, integration with Intel DCAP attestation API. Critical: node must correctly handle timeouts, stuck tasks, and network partitions.

Testing with real hardware (4–6 weeks). Testnet with real worker nodes, load testing of matching layer, slashing verification on dishonest workers.

Audit (4–8 weeks). Focus on correctness of consensus mechanism under Byzantine providers, possibility of challenge game manipulation, flash loan attacks on stake mechanism.

Full cycle from design to mainnet launch for an MVP protocol (TEE-based, without ZK) — 6–10 months with a team of 3–5 engineers. Timelines depend on complexity and need for ZK or hybrid verification. Get a consultation—we'll assess your project and propose a roadmap.

Blockchain Infrastructure Deployment: Nodes, RPC, Indexing

Subgraph fell at 3:47 AM. By morning users saw outdated balances, transactions "hung" in the UI, support received 47 tickets in an hour. Cause: the handler in the subgraph failed on a transaction with a non-standard event log — and the entire index stopped. We have encountered such situations dozens of times. Our experience shows: blockchain infrastructure does not forgive gaps in observability. Guaranteeing uptime without multi-layered monitoring and fault-tolerant architecture is impossible. Over 8 years working with Ethereum, Polygon, and Solana, we have developed an approach that allows predictable deployment of infrastructure of any scale — from a single node to a multichain grid with dozens of subgraphs.

RPC Layer Architecture

Every dApp interaction with the blockchain goes through RPC — the JSON-RPC API provided by a node. Three options:

Managed providers — Alchemy, QuickNode, Infura, Ankr. Minimal operational costs, SLA, built-in monitoring. Limits: rate limits (Alchemy Free: 300 RU/sec), vendor lock, potential downtime during provider incidents. For most projects — the right choice at the start.

Self-owned nodes — full control, no rate limits, no third-party dependence. Cost: archive Ethereum node requires 2.5–3TB SSD, a strong server, and DevOps support. Sync from scratch on Ethereum via Geth/Nethermind — 3–7 days. Justified under high load or latency requirements.

Hybrid — self-owned node as primary, managed provider as fallback. Standard for protocols with high TVL. Proper load balancing can reduce costs by 20–30% compared to pure managed setup. Under high monthly request volume, hybrid saves significantly.

Provider Strength Limitation
Alchemy Supernode, Enhanced APIs, webhooks Expensive on high-volume
QuickNode Low latency, multi-chain More expensive than Alchemy on basic plan
Infura Historical reliability Rate limits on free, one major incident halted half of DeFi
Ankr Cheap, 40+ chains Less stable

How to Set Up an RPC Layer Without a Single Point of Failure?

At least two providers, DNS round-robin with health check every 5 seconds, automatic fallback when latency >500 ms. In practice, this gives 99.99% availability during any provider failure. For protocols with high TVL, we recommend a custom HA-proxy (nginx or Envoy) in front of two managed providers.

Why Is a Hybrid RPC Scheme More Cost-Effective Than Pure Managed?

At high request volumes, managed providers can be very expensive; a hybrid using a self-owned node as primary and a managed fallback cuts costs significantly without losing SLA.

Ethereum Node Clients

Execution clients: Geth (most used), Nethermind (C#, fast sync), Besu (Java, enterprise), Erigon (fastest sync, efficient archive mode ~2TB instead of 3TB).

Consensus clients (post-Merge): Lighthouse (Rust), Prysm (Go), Teku (Java), Nimbus (Nim). Each node after The Merge requires a pair of execution + consensus clients.

For DevOps: eth-docker — Docker Compose configurations for all client combinations. Setting up monitoring via Grafana + Prometheus is mandatory; a standard dashboard is available in each client's repository.

The Graph: Event Indexing

The Graph Protocol — decentralized indexing. A subgraph describes which events from which contracts to index and how to transform them into a GraphQL schema.

Subgraph structure:

  • subgraph.yaml — manifest: contract addresses, startBlock, events to handle
  • schema.graphql — GraphQL schema of entities
  • src/mapping.ts — AssemblyScript event handlers
dataSources:
  - kind: ethereum
    name: UniswapV3Pool
    network: mainnet
    source:
      address: "0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640"
      abi: UniswapV3Pool
      startBlock: 12370624
    mapping:
      eventHandlers:
        - event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24)
          handler: handleSwap

AssemblyScript handlers — not TypeScript. No nullable types, no closures, no many standard APIs. An error in the handler stops the subgraph indexing on that transaction. Important: add try-catch for operations that can fail (e.g., store.get() for an entity that may not exist).

How to Avoid Subgraph Indexing Stops?

Graph Node logs are monitored in real-time; on hasIndexingErrors = true an alert fires and an automatic node restart (via systemd or Kubernetes). Typical downtime on error — 150–300 seconds to recover. Additionally, for production we set up a watchdog that restarts Graph Node if subgraph lag exceeds 50 blocks.

Choosing Between Hosted Service and Decentralized Network

Graph Hosted Service (free, centralized) is deprecated in favor of Subgraph Studio + Graph Network. For production: deploy on Graph Network with GRT curation signal — the subgraph gets indexers proportional to curation.

Alternatives to The Graph: Ponder (TypeScript, self-hosted, easier to debug), Envio (ultra-fast indexer, supports EVM + non-EVM), Subsquid (TypeScript, own network), Moralis Streams (managed, webhook-based). Our experience shows: for high-load projects with unique logic, Ponder or Envio are more effective — they give full control over the process and do not require GRT tokenomics.

Webhooks and Real-Time Notifications

Alchemy Webhooks and QuickNode Streams allow receiving events in real-time via HTTP webhook or WebSocket. For monitoring addresses, new transactions, mints — this is faster than polling RPC.

Tenderly — platform for monitoring and alerts. You can set up an alert for a specific contract event, balance change, function call with certain parameters. Transaction simulation via Tenderly API is invaluable for debugging.

Monitoring and Observability

Minimum monitoring stack for a protocol:

On-chain: OpenZeppelin Defender Sentinel — watches contract events, triggers webhook or Autotask when conditions are met. Forta Network — community-maintained bots detect anomalies (large withdrawals, flash loans, governance attacks).

Infrastructure: Grafana + Prometheus for nodes, Datadog or Grafana Cloud for managed metrics. Alerts on: node is 10+ blocks behind, RPC latency >500ms, subgraph lag >100 blocks.

Uptime: Better Uptime or PagerDuty on RPC endpoint and subgraph health endpoint (The Graph provides _meta { hasIndexingErrors, block { number } }).

Why Is Monitoring Without Tenderly Insufficient?

Tenderly provides transaction simulation and detailed traces — critical for debugging subgraph and smart contract errors. Forta focuses on network anomalies, not your infrastructure. The combination of Tenderly plus a custom Grafana dashboard covers 90% of incident scenarios.

Multichain Infrastructure

A protocol on 5 chains = 5 separate RPC endpoints, 5 subgraphs, 5 monitoring configs. Manageable but requires deployment automation.

For subgraph multi-network deployment: graph deploy --network mainnet, graph deploy --network arbitrum-one etc. with a unified codebase and network-specific addresses in separate config files.

Chainlink CCIP and LayerZero for cross-chain messaging require monitoring of both chains and transactions on intermediate relayers. A reorg on the source chain after a confirmed mint on the target chain is a classic bridge problem. Solution: wait for finality (on Ethereum ~15 minutes after Merge for economic finality) before confirming on the target chain.

Infrastructure Setup Process

  1. Audit current stack — determine chains, request volume, latency and availability requirements.
  2. Architecture design — select providers, load balancing, redundancy.
  3. Subgraph development — manifest → schema → handlers → testing on local Graph Node → deploy to testnet → mainnet.
  4. Monitoring configuration — Tenderly alerts, Grafana dashboard, PagerDuty integration.
  5. Documentation and runbook — what to do when: subgraph falls behind, RPC downtime, node desync.
  6. Handover to operations — team training, access transfer, first month support.

What's Included

  • Deployment of managed or self-hosted Ethereum, Polygon, BNB Chain nodes
  • RPC layer setup with primary/fallback and load balancing
  • Subgraph development and deployment for your protocol
  • Monitoring connection (Tenderly, Grafana, alerts)
  • Runbook and operations documentation
  • Team training (up to 4 hours online)
  • 30-day support after delivery

Timeline

Task Duration
RPC and basic monitoring setup 1–2 weeks
Subgraph for one protocol 2–4 weeks
Self-hosted node with monitoring 2–3 weeks
Full infrastructure (multi-chain, monitoring, runbooks) 6–10 weeks

All projects are managed in a GitHub/GitLab repository with CI/CD; configuration code stays with you. Order infrastructure deployment — we'll show how to cut costs by 20–30% without losing reliability. Get a consultation — we'll demonstrate how we deployed infrastructure for a protocol with large TVL on Ethereum and Arbitrum. Contact us.