Разработка институционального кастодиального решения: MPC, Multisig, HSM

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1305 услуг
Разработка институционального кастодиального решения: MPC, Multisig, HSM
Сложный
от 2 недель до 3 месяцев
Часто задаваемые вопросы

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

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

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1374
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1256
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    965
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1208
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    667
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    954

Мы разрабатываем институциональные кастодиальные решения для хранения криптоактивов. Представьте: хедж-фонд с $500 млн в крипте не может доверить ключи одному человеку — риск инсайдерской атаки или компрометации. DAO с 10 участниками требует мультиподписи, но безопасного исполнения. MetaMask не подходит так же, как Excel не подходит для банковского учёта. Институциональный кастодий — это система с многоуровневыми политиками, аппаратной защитой и полным аудитом. В этой статье мы разберём архитектуру, компоненты и процесс создания такого решения.

Institutional custody охватывает: hedge funds, DAO treasury, crypto exchanges (internal treasury), family offices, платёжные провайдеры. Общие требования: multi-party authorization, segregation of duties, hardware isolation ключей, полный audit trail, policy enforcement on-chain и off-chain. Наши инженеры имеют 10+ лет опыта в блокчейн-разработке и сертификаты от ведущих платформ. Более 50 реализованных проектов, активы под управлением на сумму свыше $1 млрд.

Институциональное кастодиальное решение: архитектура и компоненты

Как выбрать между MPC и Multisig?

Два доминирующих подхода к хранению institutional ключей — MPC (Multi-Party Computation) и Multisig (on-chain). Выбор между ними определяет всю архитектуру решения.

Multisig (Safe{Wallet} / Gnosis Safe): ключи существуют как отдельные private keys у каждого подписанта. Smart contract требует M-of-N подписей для исполнения транзакции. Всё on-chain, прозрачно, аудируемо.

MPC Threshold Signature Scheme (TSS): единый private key никогда не существует в одном месте. Он генерируется как N шардов через Distributed Key Generation (DKG), каждый шард хранится отдельно. Для подписи каждый шард участвует в вычислении, итоговая подпись — стандартная ECDSA/EdDSA, неотличимая от single-key. On-chain нет признаков multi-party.

Параметр Multisig (Safe) MPC (TSS)
On-chain privacy Публичный M-of-N Стандартная подпись, незаметно
Gas cost Выше (contract call) Стандартный (EOA-like)
Chain support EVM-only нативно Любая цепь (Bitcoin, Solana, TON)
Key recovery Сложно без quorum Возможен через key refresh
Smart contract risk Есть (contract bugs) Нет
Regulatory familiarity Высокая (auditable) Низкая (менее понятен аудиторам)

Для EVM-only — Safe{Wallet} с кастомными modules удобнее. Для multichain treasury с Bitcoin, Solana, TON — MPC единственный путь. Многие крупные решения (Fireblocks, Copper) используют MPC именно по этой причине.

Как работает Policy Engine?

Policy Engine — набор правил, которые определяют, когда и кто должен авторизовать транзакцию. Это core элемент institutional custody, отличающий его от просто "мультисига".

Типичные правила:

IF transfer.amount < $10,000 AND transfer.asset IN [USDC, USDT] 
    THEN require 1-of-3 (Trader role)

IF transfer.amount >= $10,000 AND transfer.amount < $100,000
    THEN require 1-of-3 (Trader) AND 1-of-2 (Risk Manager)

IF transfer.amount >= $100,000
    THEN require 2-of-3 (Executive) + time delay 4h + notification to Compliance

IF transfer.destination NOT IN whitelist
    THEN BLOCK + alert to Security team

Policy Engine может быть on-chain (как Safe Guard — smart contract, валидирующий каждую транзакцию до исполнения) или off-chain (approval workflow в backend, on-chain только финальная подпись).

Safe Guard — наиболее надёжный вариант для EVM: каждый вызов execTransaction в Safe проходит через checkTransaction guard-контракта. Политики невозможно обойти, даже если все keyholders договорились.

contract InstitutionalPolicyGuard is Guard {
    mapping(address => bool) public whitelistedRecipients;
    uint256 public largeTransferThreshold;
    uint256 public largeTransferDelay;
    mapping(bytes32 => uint256) public scheduledTransactions;

    function checkTransaction(
        address to,
        uint256 value,
        bytes memory data,
        Enum.Operation operation,
        uint256 safeTxGas,
        uint256 baseGas,
        uint256 gasPrice,
        address gasToken,
        address payable refundReceiver,
        bytes memory signatures,
        address msgSender
    ) external override {
        // Проверка whitelist
        require(whitelistedRecipients[to], "Recipient not whitelisted");

        // Проверка large transfer delay
        if (value > largeTransferThreshold) {
            bytes32 txHash = keccak256(abi.encode(to, value, data));
            require(
                scheduledTransactions[txHash] != 0 &&
                block.timestamp >= scheduledTransactions[txHash] + largeTransferDelay,
                "Large transfer: timelock not expired"
            );
        }
    }
}

Hardware Security Module (HSM) интеграция

В enterprise custody ключи или MPC шарды хранятся в HSM — специализированном аппаратном устройстве, из которого private key никогда не выходит в plaintext. Подпись происходит внутри HSM.

Варианты HSM для crypto:

  • AWS CloudHSM / Azure Dedicated HSM — облачный HSM, FIPS 140-2 Level 3. Масштабируем, нет физического устройства у клиента. Fireblocks использует облачный MPC на базе подобных решений.
  • Thales Luna / nCipher — физические HSM. Устанавливаются в клиентской инфраструктуре или colocation дата-центре. Регуляторы в ряде юрисдикций (Германия, Швейцария) требуют именно физический HSM.
  • YubiHSM2 — бюджетный вариант. Недостаточен для серьёзного institutional, но подходит для MVP или малого фонда.

Интеграция HSM в кастодиальный stack:

[Approval Workflow] → [Policy Engine] → [HSM Signing Service] → [Blockchain]
                                              ↑
                              Private key/MPC shard никогда не покидает HSM

При MPC: каждый шард хранится в отдельном HSM (разные облачные провайдеры или физически разные локации). DKG и signing protocol запускаются между HSM через secure channel.

Workflow авторизации транзакций

Segregation of Duties

Принцип: тот, кто инициирует транзакцию, не должен иметь возможности её единолично авторизовать. Это не только best practice — это требование многих финансовых регуляторов.

Роли:

  • Initiator — создаёт транзакцию в системе, не имеет signing key
  • Approver (1st level) — операционный сотрудник, подписывает транзакции до threshold
  • Approver (2nd level / Risk Manager) — для крупных сумм
  • Executive Approver — для критических операций
  • Compliance Officer — только просмотр, получает алерты
interface TransactionRequest {
    id: string;
    initiatedBy: string;           // email/ID, не имеет ключей
    to: string;
    value: bigint;
    asset: string;
    chain: string;
    businessJustification: string;
    requiredApprovals: ApprovalLevel[];
    currentApprovals: Approval[];
    status: 'pending' | 'approved' | 'rejected' | 'executed' | 'failed';
    createdAt: Date;
    expiresAt: Date;               // транзакция отменяется если не подписана вовремя
}

Approval через HSM-backed подпись

Approver авторизует через hardware device (YubiKey или Ledger в enterprise контексте). Система не принимает программные ключи от approver-ов — только hardware-backed подпись. Это защищает от скомпрометированного рабочего места.

Audit Trail и compliance

Каждое действие логируется неизменяемо: создание запроса, каждое одобрение/отклонение, кто смотрел транзакцию, изменения политик, попытки нарушить политику. Timestamp, IP, user agent.

Для enterprise: интеграция с SIEM системами (Splunk, Elastic) через webhook или API. Аудиторы должны иметь read-only доступ к полному журналу.

On-chain logs автоматически дают часть audit trail. Off-chain approval workflow нужно хранить в append-only log (PostgreSQL + immutable audit table, или Merkle tree структура для tamper evidence).

Travel Rule и compliance

FATF Travel Rule требует передачи информации об originator и beneficiary при переводах выше $1000/$3000 (в зависимости от юрисдикции). Institutional custody должен интегрироваться с Travel Rule протоколами: TRISA, VerifyVASP, Sygna Bridge.

Техническая реализация: перед исполнением перевода система отправляет travel rule data на VASP получателя, получает подтверждение, только потом исполняет транзакцию. Это требует API интеграции с одним из протоколов.

Подробнее о Travel RuleПосле интеграции с TRISA или Sygna Bridge каждая транзакция сопровождается структурированными данными об отправителе и получателе. Система хранит эти данные в зашифрованном виде для последующего предоставления регуляторам.

Disaster Recovery

При потере quorum критически важен emergency recovery механизм. Если 2 из 3 keyholders умерли, уволились или потеряли ключи — нужен emergency recovery механизм.

  • Safe Dead Man's Switch. Если в течение N дней транзакции не происходит, emergency key получает возможность воздействовать. Emergency key хранится у нотариуса или в аппаратном sealed envelope.
  • MPC Key Refresh. При замене участника шарды обновляются через re-sharing protocol без смены публичного ключа (адреса). Новый участник получает новый шард, старый уничтожается.
  • Cold Recovery Kit. Зашифрованный backup на физических носителях в разных географических локациях. Расшифровка требует физического присутствия нескольких держателей.

Стек и инструменты

Компонент Технологии
On-chain custody Safe{Wallet} + Safe Guard + Safe Modules
MPC (если нужен) Fireblocks SDK / Tss-lib (Binance) / ZenGo MPC
HSM интеграция AWS CloudHSM SDK / PKCS#11 для физических HSM
Policy Engine Кастомный backend (Node.js/Go) + Safe Guard (on-chain)
Approval workflow React admin UI + WebSocket real-time notifications
Audit log PostgreSQL + immutable audit table / Apache Kafka
Travel Rule TRISA SDK / Notabene API
Notifications Slack/Telegram bot + email для approvals

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

  1. Аналитика и дизайн (2-3 недели). Regulatory requirements конкретной юрисдикции, роли и segregation of duties, MPC vs multisig decision, HSM выбор, travel rule obligations.
  2. Policy Engine и workflow (3-4 недели). Backend авторизационного workflow, policy rules engine, UI для approvals, notification система.
  3. Custody layer (3-5 недель). Safe Guard контракт с policy enforcement, MPC/HSM интеграция, on-chain execution.
  4. Compliance и audit (2-3 недели). Audit log, travel rule интеграция, reporting для регуляторов.
  5. Тестирование и аудит. Security audit контракта, penetration testing backend, disaster recovery drill.

MVP (Safe + базовый approval workflow без HSM) — 8-12 недель. Полное institutional решение с MPC, HSM, travel rule, compliance reporting — 5-8 месяцев. Стоимость рассчитывается после детального scope.

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

  • Документация: архитектурная спецификация, политики безопасности, описание workflow
  • Доступы: настройка HSM, cloud инфраструктуры, blockchain nodes
  • Обучение: тренинг для команды по работе с системой (admin и end-user)
  • Поддержка: 3 месяца технической поддержки после деплоя, включая мониторинг и SLA
  • Код и конфиги: full repository, CI/CD pipeline, Terraform для инфраструктуры

Свяжитесь с нами для обсуждения вашего проекта. Закажите консультацию по выбору архитектуры.

Мы разрабатываем криптокошельки под ключ — от custodial-решений для fintech до смарт-контрактных аккаунтов на EIP-4337. 5+ лет на рынке блокчейн-разработки, 40+ реализованных проектов. Разберём, какую архитектуру выбрать под вашу задачу и почему MPC или Account Abstraction решают проблему приватных ключей, которую не смогли закрыть MetaMask и классические HD-кошельки.

Почему классические кошельки опасны для бизнеса?

Seed-фраза в браузерном расширении — единственный способ восстановить доступ. Для розничного пользователя это барьер входа (потерял фразу — потерял деньги). Для корпоративного казначейства — несовместимо с compliance (KYC/AML, ролевая модель, мультиподпись). Любая утечка одного ключа компрометирует все средства. Эти риски заложены в архитектуру, а не в плохой UX.

Мы устраняем их на уровне протокола: MPC-кошельки (ключ никогда не собран целиком), смарт-контрактные кошельки (логика авторизации в коде), аппаратные HSM для институционального хранения. Ниже — детали.

Custodial vs Non-custodial: в чём реальная разница

Custodial — провайдер хранит приватный ключ. Пользователь аутентифицируется через email/password/OAuth. Восстановление тривиально, KYC/AML встроены. Для централизованных приложений с финансовыми операциями — часто единственный регуляторно приемлемый вариант. Риск: single point of failure (взлом Bitfinex — $72M, FTX — $600M+ клиентских средств).

Non-custodial — ключи у пользователя. Провайдер не имеет доступа к средствам. Ответственность за хранение ложится на пользователя. Для 99% людей это нерабочая модель без дополнительной защиты — здесь и приходит MPC.

MPC-кошельки: ключ, которого нет

Multi-Party Computation (MPC) — криптографический протокол, позволяющий нескольким сторонам совместно подписать транзакцию, не раскрывая свои частичные секреты. Приватный ключ никогда не существует в собранном виде.

Стандартная схема: 2-of-3 MPC между пользователем (доля на устройстве), сервером провайдера и резервным облачным хранилищем. Транзакция подписывается двумя любыми из трёх сторон. Телефон потерян — восстановление через сервер + облако. Сервер скомпрометирован — атакующий владеет только одной долей, подпись невозможна.

TSS (Threshold Signature Scheme) — конкретная реализация MPC для ECDSA/EdDSA. Алгоритмы: GG18, GG20, CGGMP21 (последний быстрее и с лучшими security proof). Библиотеки: tss-lib (Go, от Binance), multi-party-sig (Go, от Coinbase), ZenGo-X/multi-party-ecdsa (Rust).

MPC не требует on-chain изменений — для блокчейна подпись выглядит как обычная single-key подпись. Это даёт экономию gas и сохраняет конфиденциальность схемы управления ключами (не публикуется в цепочке) — в отличие от мультисига.

Account Abstraction (EIP-4337): смарт-контракт как кошелёк

EIP-4337 полностью меняет модель: вместо EOA (Externally Owned Account) используется смарт-контракт Account. Логика авторизации — в коде контракта, не в криптографии протокола. Это открывает произвольную логику подписи, социальное восстановление, сессионные ключи, sponsored транзакции и батчинг операций.

Как работает стек EIP-4337:

User → UserOperation → Bundler → EntryPoint contract → Account contract
                                          ↑
                                    Paymaster (optional, pays gas)

UserOperation — новый тип объекта (не L1-транзакция). Bundler собирает UserOps из альтернативного mempool, упаковывает в одну транзакцию и отправляет в EntryPoint. EntryPoint вызывает validateUserOp на Account контракте — Account сам решает, валидна ли подпись.

Практические возможности:

Социальное восстановление. Контракт хранит список guardian'ов (другие адреса или сервис). Потеря ключа — guardians голосуют за замену. Argent использует схему с 2020 года.

Сессионные ключи. Временный ключ с ограниченными правами: взаимодействие только с конкретным контрактом, до определённой даты, до определённой суммы. Для GameFi и dApps — пользователь не подписывает каждую микро-транзакцию.

Paymaster. Сторонний контракт платит газ за пользователя. Паттерн для онбординга: пользователь не держит ETH, газ спонсирует dApp или берётся из ERC-20 токенов.

Реализации: Safe{Core} Protocol, Biconomy SDK (Stackup), ZeroDev (Kernel), Alchemy (Rundler bundler). На Ethereum mainnet, Polygon, Arbitrum, Optimism EntryPoint v0.6/v0.7 задеплоен и активен. Гарантируем совместимость с последними версиями контрактов.

Hardware Security Module для корпоративных кошельков

Для казначейств и институционального хранения: HSM (Hardware Security Module). Ключ генерируется и никогда не покидает защищённый чип. Подпись — внутри HSM. Поддерживается аппаратная аттестация. Используемые решения: AWS CloudHSM, Azure Dedicated HSM, Thales Luna, YubiHSM 2 (для небольших объёмов). Интеграция через PKCS#11 или cloud-specific API.

Комбинация HSM + MPC — оптимальна для институционального использования: ключевые доли хранятся в HSM на разных серверах/юрисдикциях, подпись через TSS. Это обеспечивает соответствие регуляторным требованиям (например, для крипто-кастодианов).

Интеграция с dApps: WalletConnect и стандарты

Любой кошелёк должен уметь взаимодействовать с dApps. Стандарт — WalletConnect v2 (Sign API): QR-код или deep link, peer-to-peer зашифрованный канал через relay сервер. Для браузерных расширений — EIP-1193 (Ethereum Provider API).

На фронтенде используем wagmi + viem — один интерфейс для MetaMask, WalletConnect, Coinbase Wallet, injected providers. Для Account Abstraction — EIP-5792 (wallet capabilities) и EIP-7677 (paymaster service).

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

  1. Threat model — кто пользователь (B2C, B2B, institutional), какие операции, каков допустимый risk model. От этого зависит архитектура.
  2. Выбор и проектирование схемы хранения ключей — MPC, HSM, мультисиг или их комбинация.
  3. Разработка Account контракта (если EIP-4337) или интеграция MPC-библиотеки.
  4. Backend — MPC-координация, управление сессиями, paymaster-сервис (если нужен).
  5. Мобильное/браузерное приложение — UI с интеграцией WalletConnect, биометрии, QR.
  6. Интеграция с dApps — EIP-1193, WalletConnect v2.
  7. Аудит контрактов и криптографических реализаций — обязательный этап. MPC-библиотеки имеют известные уязвимости (GG18 подвержен атаке при malicious participant без abort protocol). Используем библиотеки с актуальными security review (CGGMP21). Опыт прохождения аудитов у Certik, Hacken, Trail of Bits — подтверждаем сертификатами.

Что входит в работу (deliverables)

  • Исходные коды смарт-контрактов (Solidity/Rust) с документацией
  • Backend-сервис MPC-координации (на Go или Rust) с API
  • Мобильное приложение (iOS/Android) или браузерное расширение
  • Интеграция с WalletConnect, Ledger/Trezor (по необходимости)
  • Подготовка к аудиту безопасности (отчёт со списком уязвимостей)
  • Документация администратора и пользователя
  • Доступ к репозиторию, CI/CD, мониторинг (Tenderly, Etherscan API)
  • Обучение вашей команды (2-3 сессии)
  • Поддержка после запуска — 1 месяц

Сроки и стоимость

Тип решения Сроки (рабочие недели)
Custodial с базовым UI 4–8
Non-custodial с MPC-интеграцией 8–16
EIP-4337 Account с paymaster 6–12
Institutional (HSM + MPC + compliance) от 16

Стоимость рассчитывается индивидуально под ваш проект. Оценим за 1 день — напишите на почту или в Telegram. Предоставляем гарантию на код и timeline.

Типичные ошибки при разработке криптокошельков (и как их избежать)

  • Использование устаревших MPC-библиотек — GG18 без abort protocol. Выбираем CGGMP21 или tss-lib с актуальными audit report.
  • Жёсткая привязка к одному блокчейну — не закладывают абстракцию под L2/сайдчейны. Используем viem/wagmi для кросс-чейн.
  • Игнорирование MEV-атак — при использовании мультисига без таймлоков. Добавляем tx simulation (Tenderly) и sandwitching protection.
  • Отсутствие fallback-механизма восстановления — для Account Abstraction не настраивают social recovery. Закладываем с первого релиза.

Устраняем эти грабли на этапе проектирования — под каждый проект составляем threat model и security checklist.

Нужен надёжный кошелёк без компромиссов? Получите консультацию нашего архитектора — разберём вашу задачу и предложим архитектуру с точной сметой. Оставляйте заявку — ответим в течение дня.