Розробка системи модульного блокчейну

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка системи модульного блокчейну
Складний
від 2 тижнів до 3 місяців
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1120
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    588
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    854

Розробка системи модульного блокчейна

Монолітний блокчейн (Bitcoin, Ethereum до The Merge) поєднує чотири функції в одному шарі: виконання транзакцій (execution), консенсус, забезпечення доступності даних (data availability) та settlement. Це спрощує дизайн, але створює непереборний trilemma між безпекою, децентралізацією та масштабованістю.

Модульний підхід: розділити ці функції на спеціалізовані шари, кожен з яких оптимізований під свою задачу. Celestia — DA слой. Ethereum — settlement + DA (або тільки settlement якщо використовувати Celestia). Rollup — execution. Результат: execution layer може масштабуватися незалежно, не жертвуючи безпекою базових шарів.

Шари модульного стеку

Data Availability layer

DA — вузьке місце монолітних блокчейнів. Повні ноди мають скачувати всі дані щоб верифікувати доступність. При зростанні throughput — вимоги до ноди зростають, децентралізація падає.

Celestia вирішує через DAS (Data Availability Sampling). Light node скачує не весь блок, а випадкові маленькі чанки. За допомогою erasure coding (Reed-Solomon): дані закодовані з 2x надмірністю. Якщо 50%+ даних доступно — node може відновити все. Вероятність недоступності даних падає експоненціально з N samples.

Celestia DAS math:
- Блок кодується в матрицю k×k → розширюється в 2k×2k через RS erasure coding
- Light node сямплює R випадкових клітин
- P(false negative) = (1/2)^R
- При R=16: P < 0.002% — достатньо для production
- Light node тримає ~8MB RAM, не весь 1GB блок

Це дозволяє збільшити розмір блоку (throughput) без шкоди для можливості light node брати участь у верифікації.

EigenDA — альтернатива від EigenLayer: DA через restaking на Ethereum. Оператори EigenDA стейкають ETH через EigenLayer та надають DA сервіс. Більш щільна інтеграція з Ethereum безпекою, але менший throughput ніж Celestia на старті.

Avail (від Polygon) — ще один DA слой з схожим DAS підходом, але з додатковим Validity Bridge до Ethereum.

Execution layer: суверенний rollup vs settled rollup

Settled rollup публікує state commitments на Ethereum та використовує Ethereum для dispute resolution. Безпека успадкована від Ethereum: атака на rollup потребує атаки на Ethereum L1.

Суверенний rollup (Celestia концепція): публікує дані на Celestia (DA), але не має settlement контракту на Ethereum. Fork rules визначає саме rollup спільнота. Більше автономії, але безпека залежить від Celestia DA + власного консенсусу.

Архітектурне порівняння:

Optimism (settled):
L2 execution → [sequencer batches] → Ethereum L1 (settlement + DA)
Security: Ethereum consensus + fraud proofs

Celestia rollup (sovereign):
L2 execution → [блоки публікуються в Celestia] → fork choice: rollup nodes
Security: Celestia DAS + rollup validator set

Shared sequencer

Проблема поточних rollup: кожен має власний централізований sequencer. Sequencer може цензурувати транзакції, перевпорядковувати для MEV. Рішення: shared sequencer — децентралізована мережа, яка sequencing для множення rollup.

Espresso Systems: shared sequencer з HotShot BFT консенсусом. Rollup підписується на Espresso — їхні транзакції sequencing через спільну мережу. Перевага: атомарні cross-rollup транзакції (транзакція в Rollup A та Rollup B атомарно sequenced в одному Espresso блоці).

Astria: аналогічний підхід, використовує CometBFT консенсус (Tendermint fork). Нативна інтеграція з Celestia для DA.

Практична збірка: rollup на Celestia + OP Stack

Компоненти

┌─────────────────────────────────────────────┐
│  Rollup (OP Stack fork)                     │
│  ┌────────────┐  ┌────────────────────────┐ │
│  │ Sequencer  │  │ Execution Engine (geth)│ │
│  │ (op-node)  │  │ (op-geth)              │ │
│  └────────────┘  └────────────────────────┘ │
│         │                                   │
│         ▼                                   │
│  ┌────────────────────────────────────────┐ │
│  │ DA layer: Celestia                     │ │
│  │ Batches → celestia-node (bridge node) │ │
│  └────────────────────────────────────────┘ │
│         │                                   │
│         ▼                                   │
│  ┌────────────────────────────────────────┐ │
│  │ Settlement: Ethereum L1                │ │
│  │ OptimismPortal + L2OutputOracle        │ │
│  └────────────────────────────────────────┘ │
└─────────────────────────────────────────────┘

OP Stack з Celestia DA (op-plasma mode):

# Ініціалізація OP Stack rollup з Celestia DA
# 1. Запускаємо celestia-node у bridge режимі
celestia bridge init --core.ip <consensus-node-ip>
celestia bridge start --keyring.accname my-bridge

# 2. Конфігуруємо op-node для Celestia DA
# op-node.yaml
da:
  type: celestia
  celestia:
    namespace: "0x...your-rollup-namespace..."
    auth_token: "your-celestia-node-jwt"
    rpc: "http://localhost:26658"

Namespace — 10-байтний ідентифікатор вашого rollup у Celestia. Всі блоки вашого rollup публікуються у своєму namespace — інші rollup не читають ваші дані.

Fraud proofs vs validity proofs

Optimistic rollup (OP Stack, Arbitrum Nitro): транзакції приймаються як валідні, є challenge window (7 днів на Ethereum, налаштовується). Якщо хтось доведе мошенництво через fraud proof — state скасовується, sequencer slashed. Просто у реалізації, але 7-денна затримка виведення.

ZK rollup (zkSync Era, StarkNet, Polygon zkEVM): кожний батч супроводжується cryptographic proof коректності (STARK або SNARK). Миттєва фіналізація без challenge window. Але proof generation CPU/GPU-intensive та займає хвилини.

Вибір визначається use case: DEX/DeFi → ZK (фіналізація важлива). Gaming/social → Optimistic (низька вартість proof generation).

ZK stack: Boojum та Plonky2

// Plonky2 — recursive ZK proof system (Polygon)
// Дозволяє агрегувати proof від sub-circuits

use plonky2::field::goldilocks_field::GoldilocksField;
use plonky2::plonk::circuit_builder::CircuitBuilder;
use plonky2::plonk::config::PoseidonGoldilocksConfig;

type F = GoldilocksField;
type C = PoseidonGoldilocksConfig;
const D: usize = 2;

fn build_transfer_circuit() -> CircuitData<F, C, D> {
    let config = CircuitConfig::standard_recursion_config();
    let mut builder = CircuitBuilder::<F, D>::new(config);
    
    // Witness: sender_balance, amount, receiver_balance
    let sender_balance = builder.add_virtual_target();
    let amount = builder.add_virtual_target();
    let receiver_balance = builder.add_virtual_target();
    
    // Constraint: sender_balance >= amount
    let diff = builder.sub(sender_balance, amount);
    builder.range_check(diff, 32);
    
    // Public inputs: new balances
    let new_sender = builder.sub(sender_balance, amount);
    let new_receiver = builder.add(receiver_balance, amount);
    builder.register_public_input(new_sender);
    builder.register_public_input(new_receiver);
    
    builder.build::<C>()
}

Recursive proofs: proof A верифікує proof B всередині себе. Дозволяє агрегувати тисячі транзакційних proofs в один фінальний proof для on-chain верифікації. Це ключове для throughput.

Interoperability: IBC та Hyperlane

Модульний стек створює екосистему різних rollup та chains. Потрібен протокол cross-chain messaging.

IBC (Inter-Blockchain Communication) — стандарт Cosmos. Працює між chains з Tendermint/CometBFT консенсусом. Строгі light client перевірки: кожна chain знає заголовки іншої. Trustless, але потребує обох chains підтримувати IBC.

Hyperlane: permissionless interoperability. Деплоїться на будь-якій EVM chain. Не потребує змін на destination chain — тільки деплой Hyperlane контрактів. Модульна безпека: Interchain Security Module дозволяє налаштувати верифікацію (multisig validators, ZK light client, optimistic verification).

// Hyperlane: відправка cross-chain повідомлення
interface IMailbox {
    function dispatch(
        uint32 destinationDomain,
        bytes32 recipientAddress,
        bytes calldata messageBody
    ) external payable returns (bytes32 messageId);
}

contract CrossChainMessenger {
    IMailbox public immutable mailbox;
    
    function sendMessage(
        uint32 destChainId,
        address recipient,
        bytes calldata data
    ) external payable {
        bytes32 msgId = mailbox.dispatch{value: msg.value}(
            destChainId,
            TypeCasts.addressToBytes32(recipient),
            data
        );
        emit MessageSent(msgId, destChainId, recipient);
    }
}

Tooling

Rollup frameworks: OP Stack (Optimism), Arbitrum Orbit, ZK Stack (zkSync), Madara (StarkNet-based, Rust). DA: Celestia Node, EigenDA SDK, Avail. Shared sequencing: Espresso, Astria. Monitoring: Prometheus + Grafana, OpenTelemetry для rollup nodes. Block explorer: Blockscout (self-hosted, підтримує EVM rollup).

Процес розробки

Архітектурний дизайн (2-4 тижні). Вибір шарів стека, визначення throughput вимог, settlement vs sovereign, fraud proofs vs ZK. Помилка на цьому етапі дорого коштує — переробляти DA layer або settlement механізм після деплоя крайне складно.

Розробка execution layer (4-8 тижнів). Fork/конфігурація OP Stack або обраного framework. Кастомні precompiles якщо потрібні. Інтеграція з DA layer.

Інфраструктура (4-6 тижнів). Sequencer деплой, validator set, мониторинг. Для production: географічний розподіл sequencer nodes, fallback на forced inclusion через L1 якщо sequencer недоступний.

Bridge контракти (2-4 тижні). L1↔L2 bridge для ETH та ERC-20. Security critical: bridge контракти під аудит обов'язково.

Testnet (2-4 місяці). Публічний testnet перед mainnet — обов'язково. Потрібні реальні користувачі для виявлення edge cases.

Орієнтири по срокам

Налаштований OP Stack rollup з Celestia DA на testnet — 8-12 тижнів. Production-ready modular chain з кастомним execution, ZK proofs та cross-chain bridge — 6-12 місяців. Це один з найскладніших blockchain проектів за scope інфраструктури.