Структура кошельков
Все цифровые активы в Pert хранятся в строгой иерархии из четырёх уровней: Workspace → Vault → Wallet → Address. Каждый уровень вкладывается в предыдущий и наследует от него границы изоляции, ключи и часть правил доступа.
Эта страница — справочник по этой иерархии: что представляет собой каждый уровень, сколько вложений он может содержать, и как уровни связаны между собой.
Иерархия одним взглядом
| Уровень | Сколько вложений |
|---|---|
| Workspace | 1..* vault |
| Vault | 0..* wallet |
| Wallet | 1 address |
Workspace
Изолированная единица учёта внутри платформы: набор vault'ов, кошельков, пользователей, политик, AML-настроек и устройств-подписантов.
Workspace задаёт границы безопасности и видимости. Всё, что описано ниже, существует строго в рамках одного workspace:
- MPC-ключи разных workspace друг с другом не пересекаются;
- балансы, транзакции и истории — изолированы;
- роли и права выдаются строго в рамках одного workspace;
- политики (transfer, AML) настраиваются на уровне workspace.
Один клиент (юридическое лицо) может владеть несколькими workspace'ами — например, под разные подразделения, продукты или тестовое/боевое окружения.
Vault
Логическая группа кошельков внутри workspace, объединённая общим набором MPC-ключей и общим назначением — например, «горячий кошелёк», «казначейство», «выплаты пользователям».
Vault — основная единица доступа
Большинство политик и многих ролей выдаются «на vault»: можно дать одному пользователю право подписи в хранилище казначейства, а другому — только в горячем кошельке.
Свойства vault:
- Статус —
active,frozenилиdeleted. Заморозка vault блокирует исходящие операции по всем кошелькам внутри него. - Derivation path — общий префикс HD-дерева ключей. Все кошельки и адреса внутри vault выводятся как дочерние ключи от этого пути, поэтому один набор MPC-ключей покрывает все блокчейны vault.
- Auto-fuel — флаг автоматического пополнения газа на дочерних адресах в EVM-сетях (если включён, система сама подбрасывает нативную монету для оплаты комиссии).
В каждом workspace всегда есть хотя бы один vault — он создаётся при первичной настройке.
Wallet (кошелёк)
Контейнер активов одного блокчейна внутри vault. Хранит баланс, набор адресов и историю транзакций по конкретной сети/ассету.
Кошельки бывают двух типов:
Кошельки, ключами от которых владеет MPC-схема Pert (доли распределены между нодами и устройствами подписантов клиента).
При создании такого кошелька система сразу выдаёт один адрес на приём средств; этот адрес — публичный реквизит кошелька, его и нужно отдавать плательщикам. Дополнительные адреса в одном кошельке не создаются: это упрощает учёт балансов и наблюдение за поступлениями.
Используются для приёма депозитов и отправки исходящих транзакций. Доступный баланс и заморозки учитываются именно на уровне внутреннего кошелька.
Зарегистрированные адреса контрагентов, на которые разрешены выводы средств. Управляются через раздел Whitelisted Wallets в Customer Console.
Внешний кошелёк содержит ровно один адрес — сам whitelisted-адрес. Балансы у такого кошелька не отслеживаются: он нужен исключительно как «известное и проверенное» назначение для исходящих переводов.
Политики позволяют разрешать выводы только на whitelisted-кошельки и требовать дополнительный аппрув для остальных (one-time addresses).
Один vault обычно содержит несколько внутренних кошельков — по одному на каждую поддерживаемую сеть/ассет.
Address
Конкретный on-chain адрес внутри кошелька, на который можно принимать средства. На каждый кошелёк приходится один такой адрес — он создаётся вместе с кошельком и далее переиспользуется для всех поступлений (в том числе для UTXO-сетей вроде BTC).
Адрес выводится из ключей vault по детерминированному HD-пути (BIP-32). По этому пути MPC-схема в момент подписи восстанавливает дочерний ключ для нужного адреса, не имея ни мастер-ключа, ни возможности его собрать.
Как это работает вместе
Пример: типичная конфигурация
Один workspace «Acme Trading» содержит:
- Vault
treasury(status:active)- Wallet
BTC— один BTC-адрес на приём средств - Wallet
ETH— один EVM-адрес - Wallet
USDT-TRC20— один TRON-адрес
- Wallet
- Vault
payouts(status:active,auto_fuel: true)- Wallet
ETH— один EVM-адрес для выплат
- Wallet
- Whitelisted кошельки: 27 заранее одобренных адресов
контрагентов, на которые разрешены выводы из vault
payoutsбез ручного аппрува.
Политики настроены так, что выводы из treasury всегда требуют
кворум 2-of-3 подписантов, а выводы из payouts на любой
whitelisted-адрес проходят автоматически до лимита 10 000 USD
в сутки.