Децентрализованное хранение: IPFS, Filecoin, Arweave

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

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1452
  • 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.

// Пример 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.

Что входит в разработку

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

Наша команда имеет 8+ лет опыта в разработке децентрализованных систем и реализовала 50+ проектов на блокчейне. Свяжитесь с нами для оценки вашего проекта — рассчитаем стоимость и сроки. Закажите разработку сегодня и получите архитектурный документ бесплатно.