Когда новый клиент начинает настраивать Premium Wallet, почти всегда возникает один и тот же вопрос: почему средства клиентов поступают на какой-то admin wallet, к которому «нет доступа», и зачем вообще нужно разделение на два типа кошельков. Это не усложнение ради усложнения - это базовый принцип безопасности, на котором держится вся модель self-hosted хранения. Разберём концепцию: что такое hot wallet и admin wallet, чем они отличаются, чей ключ где лежит и как между ними движутся средства.
Главный принцип: разделение по уровню доступа
Идея простая. Часть инфраструктуры должна работать автоматически - принимать депозиты, обрабатывать выводы, рассылать комиссии. Для этого её приватные ключи должны быть доступны системе, то есть лежать на сервере. Но если на сервере лежат ключи от всех средств, то компрометация сервера означает потерю всего.
Поэтому средства разделяются на два уровня. Небольшая рабочая часть - на кошельке, ключ которого на сервере (он и называется горячим). Основная масса - на кошельке, ключ которого только у вас, вне сервера. Тогда даже при худшем сценарии под угрозой оказывается лишь малая операционная часть, а не весь капитал.
Admin wallet: хранилище под вашим контролем
Admin wallet - это адрес, куда собираются все поступления от клиентов. Когда клиент делает депозит, средства не остаются на множестве отдельных адресов - специальный процесс sweep (его ещё называют «пылесос») автоматически собирает их на admin wallet. Это ваше основное хранилище.
Ключевой момент, который вызывает больше всего вопросов: приватный ключ admin wallet не должен лежать на сервере Premium Wallet. Admin wallet вы создаёте в своём личном некастодиальном кошельке - например, TronLink для сетей TRC20 или Electrum для биткоина - и приватный ключ остаётся только у вас. Именно поэтому у системы «нет доступа» к этим средствам: так и задумано. Доступ есть только у вас.
Это и есть суть self-hosted модели. Система собирает поступления на адрес, которым управляете вы, а не сторонний кастодиан. Никто, кроме вас, не может двинуть эти средства.
Hot wallet: рабочий кошелёк для операций
Hot wallet (горячий кошелёк) отвечает за исходящие операции: выводы клиентам и рассылку комиссий на временные кошельки, которые нужны для обработки транзакций. Чтобы делать это автоматически и без вашего участия каждую секунду, ключ hot wallet находится на сервере - отсюда и название «горячий», то есть доступный системе в реальном времени.
Поскольку ключ на сервере, на hot wallet держится только небольшая часть средств - ровно столько, сколько нужно для обеспечения текущих выводов. Если сервер будет скомпрометирован, потеря ограничена этой операционной частью, а не всем капиталом.
Сколько держать на каждом: правило 80/20
Рабочее распределение, которое мы рекомендуем: около 80% ликвидности на admin wallet и около 20% на hot wallet. Двадцати процентов обычно достаточно, чтобы покрывать текущие выводы без задержек, а основная масса при этом защищена на admin wallet под вашим ключом.
Пропорцию вы регулируете сами под свой объём операций. Если выводов много и быстро - можно держать на hot чуть больше для запаса ликвидности. Если основной поток входящий - можно держать меньше. Главное правило не меняется: на сервере (hot) - минимум для работы, основная масса - под вашим ключом (admin).
Как движутся средства
Полный цикл выглядит так:
Депозиты клиентов поступают на адреса, и процесс sweep собирает их на admin wallet - ваше защищённое хранилище. По мере того как на hot wallet расходуется ликвидность на выводы, вы периодически вручную перебрасываете нужную сумму с admin на hot, поддерживая рабочий баланс. Hot wallet тратит эти средства на выводы клиентам и на комиссии.
Ручной перевод с admin на hot - это не неудобство, а часть защиты. Поскольку admin под вашим ключом вне сервера, только вы можете пополнить рабочий кошелёк. Система не может самостоятельно вывести основную массу средств, даже если её попытаются скомпрометировать.
Важная техническая деталь: отдельный адрес на каждый блокчейн
У каждого блокчейна свой формат адресов, свой тип ключей и свой механизм. Поэтому не существует одного приватного ключа, который подошёл бы сразу ко всем сетям. Для каждого блокчейна, который вы используете, нужно создать отдельный admin wallet в соответствующем некастодиальном кошельке: для сетей Tron - в TronLink, для биткоина - в Electrum, и так далее по каждой сети.
Это означает, что admin wallet - это не один адрес, а набор адресов, по одному на каждую поддерживаемую сеть, и ключи от всех них у вас. Hot wallet устроен так же - свой адрес в каждой сети.
Дополнительный слой: firewall и статические IP
Разделение hot и admin - это основа, но не единственный уровень защиты. Если ваш сервер имеет статические IP-адреса, имеет смысл донастроить firewall, ограничив доступ к инфраструктуре. Это особенно важно, если основная часть средств по каким-то причинам держится ближе к серверу. Чем строже сетевой периметр, тем меньше поверхность атаки.
Коротко
Модель двух кошельков сводится к одному принципу: разделить то, что должно работать автоматически, и то, что должно оставаться под вашим единоличным контролем.
Hot wallet - рабочий кошелёк на сервере для выводов и комиссий, держит малую часть средств. Admin wallet - ваше основное хранилище в личном некастодиальном кошельке, ключ только у вас, держит основную массу. Между ними - ручной перевод, который вы контролируете. Распределение около 20% на hot и 80% на admin. Отдельные адреса на каждый блокчейн.
Такая архитектура и делает хранение по-настоящему self-hosted: даже сама система Premium Wallet не может распоряжаться вашими основными средствами. Только вы.
Это концептуальное объяснение модели хранения в Premium Wallet. Конкретные шаги настройки admin и hot wallet для вашего набора сетей мы проходим индивидуально при подключении. Если у вас остались вопросы - напишите нам.