Децентралізоване зберігання: IPFS, Filecoin, Arweave

Основні принципи децентралізованого зберігання даних Регуляторні претензії через AWS S3 bucket або постійні «ми оновлюємо інфраструктуру» від централізованого провайдера — два явних сигнали. Пора переглянути підхід до зберігання даних. Децентралізоване зберігання — це не ідеологія, а конкретні вл

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

Часті запитання

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

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

Основні принципи децентралізованого зберігання даних

Регуляторні претензії через AWS S3 bucket або постійні «ми оновлюємо інфраструктуру» від централізованого провайдера — два явних сигнали. Пора переглянути підхід до зберігання даних. Децентралізоване зберігання — це не ідеологія, а конкретні властивості: відсутність єдиної точки відмови, верифікованість через content addressing (CID) і можливість зберігати дані без дозволу оператора. Як зазначалося в статті «IPFS - Content Addressed, Versioned, P2P File System» (Juan Benet, 2014): «content addressing забезпечує незмінність і верифікованість даних». Це базовий принцип, на якому будуються всі сучасні DStorage-рішення.

Сьогодні під DStorage розуміють три принципово різні стеки: IPFS + Filecoin, Arweave та Storj/Sia. Кожен підходить для свого класу задач. Розробка децентралізованої системи зберігання даних — комплексна задача, що вимагає розуміння як мережевих протоколів, так і економіки токенів. У цій статті розберемо практичні аспекти кожного рішення, включаючи код, конфігурації та архітектурні компроміси.

Як вибрати протокол: IPFS, Filecoin чи Arweave?

IPFS + Filecoin: content addressing та економіка зберігання

Для production систем потрібен IPFS Cluster — координатор реплікації поверх кількох IPFS-нод. Мінімальна конфігурація: 3 ноди, replication factor 2. Вартість зберігання 1 ГБ на місяць у такому кластері становить близько $0.001 за реплікацію, що в 100 разів дешевше за Amazon S3.

Детальніше про налаштування IPFS Cluster Для мінімальної конфігурації потрібні 3 ноди з replication factor 2. Вартість зберігання 1 ГБ на місяць — близько $0.001. Моніторинг здійснюється через Prometheus та Grafana.
// Приклад pinning через Cluster REST API type ClusterPinRequest struct { CID string `json:"cid"` ReplicationMin int `json:"replication-min"` ReplicationMax int `json:"replication-max"` Name string `json:"name"` Meta map[string]string `json:"meta"` } func PinToCluster(cid string, name string) error { req := ClusterPinRequest{ CID: cid, ReplicationMin: 2, ReplicationMax: 3, Name: name, } body, _ := json.Marshal(req) resp, err := http.Post( "http://cluster-api:9094/pins/" + cid, "application/json", bytes.NewReader(body), ) // ... return err } 

Filecoin Storage Deals реалізуються через web3.storage, який робить hot IPFS pinning і холодний Filecoin deal автоматично.

import { Web3Storage } from 'web3.storage' const client = new Web3Storage({ token: process.env.W3S_TOKEN }) async function storeWithReplication(files: File[]): Promise<string> { const cid = await client.put(files, { wrapWithDirectory: false, onRootCidReady: (rootCid) => { console.log('Root CID:', rootCid) }, onStoredChunk: (size) => { console.log(`Uploaded chunk of ${size} bytes`) } }) return cid } 

Arweave: permanent storage з одноразовою оплатою

Arweave — інша модель: платиш один раз, дані зберігаються «вічно» (endowment fund розрахований на 200+ років). Це принципово змінює use cases. Arweave забезпечує перманентне зберігання в 200 разів довше, ніж Filecoin deal на 1 рік, при порівнянній ціні за 1 ГБ. Вартість запису 1 МБ в Arweave становить $10 одноразово, що в довгостроковій перспективі вигідніше щомісячної плати за IPFS pin.

Коли Arweave — правильний вибір

  • Smart contract source code та ABI (верифікованість назавжди)
  • NFT-метадані та медіа (уникнути NFT rot)
  • Юридичні та нотаріальні документи
  • Протоколи управління та результати голосувань (DAO governance history)

Дані в Arweave — це transaction з data полем і тегами. Теги — ключ до індексації через GraphQL:

import Arweave from 'arweave' const arweave = Arweave.init({ host: 'arweave.net', port: 443, protocol: 'https' }) async function uploadDocument(data: Buffer, mimeType: string, metadata: Record<string, string>) { const tx = await arweave.createTransaction({ data }) tx.addTag('Content-Type', mimeType) tx.addTag('App-Name', 'YourDApp') tx.addTag('Version', '1.0.0') for (const [key, value] of Object.entries(metadata)) { tx.addTag(key, value) } await arweave.transactions.sign(tx, jwk) const response = await arweave.transactions.post(tx) return tx.id } 

Для миттєвого підтвердження використовуємо Irys (колишній Bundlr) — layer 2 поверх Arweave.

import Irys from '@irys/sdk' const irys = new Irys({ url: 'https://node1.irys.xyz', token: 'ethereum', key: privateKey, }) const price = await irys.getPrice(data.length) console.log(`Cost: ${irys.utils.fromAtomic(price)} ETH`) const receipt = await irys.upload(data, { tags: [ { name: 'Content-Type', value: 'application/json' }, { name: 'Contract-Address', value: contractAddress }, ] }) 

Коли потрібна гібридна архітектура?

У реальних системах рідко використовують лише один протокол. Типова архітектура для DApp з вимогами до продуктивності та постійності:

Компонент Призначення Затримка
IPFS Cluster Гаряче зберігання з швидким доступом < 1 с
Arweave (через Irys) Холодне перманентне зберігання 2 хв
PostgreSQL Індекс CID/TXID та метаданих < 10 мс
Протокол Час підтвердження транзакції Вартість запису 1 МБ
IPFS (pin) Секунди $0.0001/міс реплікація
Filecoin ~1 година $0.001
Arweave (native) ~2 хв $10 (одноразово)
Irys Миттєво $10 (одноразово)

Верифікація цілісності: content addressing — це верифікація «з коробки» для IPFS: CID — це хеш вмісту. Для Arweave — через транзакційні докази.

Шифрування та контроль доступу

Децентралізоване зберігання не означає публічне. Для чутливих даних використовуємо Lit Protocol для threshold encryption з on-chain умовами доступу:

import * as LitJsSdk from '@lit-protocol/lit-node-client' const accessControlConditions = [{ contractAddress: NFT_CONTRACT, standardContractType: 'ERC721', chain: 'ethereum', method: 'balanceOf', parameters: [':userAddress'], returnValueTest: { comparator: '>', value: '0' } }] const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( { accessControlConditions, dataToEncrypt: sensitiveData }, litNodeClient ) const decrypted = await LitJsSdk.decryptToString( { accessControlConditions, ciphertext, dataToEncryptHash, chain: 'ethereum' }, litNodeClient ) 

Як розробити децентралізовану систему зберігання: покрокова інструкція

  1. Аналіз вимог: об'єм даних, latency, необхідність перманентності, compliance.
  2. Вибір стеку: IPFS+Filecoin для активних даних, Arweave для архівів.
  3. Проектування архітектури: гібридна схема з індексом в PostgreSQL.
  4. Налаштування IPFS Cluster: 3 ноди, replication factor 2, моніторинг.
  5. Інтеграція з Filecoin/Arweave: через web3.storage або Irys.
  6. Додавання шифрування: Lit Protocol для конфіденційності.
  7. Тестування: навантажувальне тестування, перевірка відмовостійкості.
  8. Деплой та документація: CI/CD, моніторинг, runbook.

На практиці, для одного DApp з вимогами до швидкодії ми використали гібридну архітектуру: IPFS Cluster для активних даних (час доступу <1с) та Arweave через Irys для перманентного архіву (затримка 2 хв). Це дозволило поєднати швидкість і довговічність. Таким чином, ви можете зменшити витрати на зберігання до 70% порівняно з централізованими рішеннями.

Що входить у розробку

  • Архітектурний документ з обґрунтуванням вибору протоколів
  • Налаштування IPFS Cluster (3+ ноди, реплікація, моніторинг)
  • Інтеграція з Filecoin або Arweave (web3.storage / Irys)
  • Система шифрування на основі Lit Protocol
  • Тестування (навантаження, відмовостійкість, безпека)
  • Документація API та інструкції для розробників
  • Навчання команди (1 день)
  • Підтримка 1 місяць після запуску

Наша команда має 8+ років досвіду у розробці децентралізованих систем і реалізувала 50+ проєктів на блокчейні. Ми гарантуємо якість розробки та підтримку після запуску. Зв'яжіться з нами для оцінки вашого проєкту — розрахуємо вартість та терміни. Замовте розробку сьогодні та отримайте архітектурний документ безкоштовно. Готові реалізувати ваш проект під ключ за 2-12 тижнів? Пишіть нам — ми оцінимо його безкоштовно та запропонуємо оптимальне рішення.