Аппаратный кошелёк защищает Ваши ключи, а не Вашу приватность. Ledger держит Ваш приватный ключ офлайн и в безопасности от вредоносного ПО — но в тот момент, когда Вы пополняете его обычным переводом с основного кошелька, блокчейн фиксирует ребро между ними, и Ваш «холодный» адрес теперь навсегда связан с горячим. Любой может прочитать баланс Вашего холодного хранилища и проследить, откуда именно он пришёл. Безопасность и приватность — это разные задачи, и аппаратный кошелёк решает только первую.
Это практическое руководство по пополнению аппаратного кошелька так, чтобы у адреса депозита не было ончейн-связи с кошельком, с которого Вы перемещали средства. Если Вам нужен бэкграунд о том, почему каждый перевод — это публичная связь, /blog/what-the-blockchain-reveals-about-you разбирает это.
Почему «просто отправь в холодное хранилище» протекает
Стандартный приём с холодным хранилищем — перевод с повседневного кошелька прямо на адрес Ledger — записывает оба адреса, сумму и временную метку в публичный реестр. Именно эта единственная транзакция связывает их, и никакое количество промежуточных прыжков её не убирает. Чтобы разорвать связь, нужен этап, на котором Ваши средства смешиваются со средствами всех остальных, — защищённый пул. Вы вносите депозит за обязательством, а позже выводите средства на свой холодный адрес с помощью доказательства с нулевым разглашением, так что депозит и вывод выглядят несвязанными ончейн. /learn/what-is-a-shielded-pool объясняет механизм.
Процесс, шаг за шагом
1. Сгенерируйте свежий аккаунт на аппаратном кошельке. В Ledger Live (или Вашем кошельке по выбору) добавьте новый Solana-аккаунт — новый путь деривации с нулевой историей. Аппаратный кошелёк, который Вы уже использовали для аирдропов, минтов или прежнего перевода, не свежий; его повторное использование заново соединяет всё. Весь смысл — в чистом назначении, поэтому сгенерируйте для этого совершенно новый аккаунт. /learn/choosing-a-recipient-address — правило, которое здесь важнее всего.
2. Внесите депозит со своего основного кошелька. Откройте /swap, подключите горячий кошелёк, выберите актив (SOL, USDC или USDT) и сумму и сделайте депозит. Депозит бесплатен — в пул входит полная сумма, нота генерируется локально в Вашем браузере, и в блокчейн записывается только её хеш-обязательство (/blog/fee-model-explained).
3. Выберите задержку приватности и подождите дольше неё. Задайте задержку разблокировки при депозите (от 10 минут до недели). Холодное хранилище по определению — это терпеливые деньги, поэтому Вам это ничего не стоит: чем дольше депозит лежит, пока втекают другие, тем больше Ваша толпа анонимности. /blog/the-privacy-delay-explained объясняет, почему ожидание заметно дольше разблокировки — это бесплатная приватность.
4. Выведите средства на свежий адрес аппаратного кошелька. Вставьте адрес нового аккаунта Ledger как получателя, сгенерируйте доказательство вывода в браузере и отправьте его через relayer. Relayer публикует транзакцию и платит сетевую комиссию, поэтому Ваш холодный кошелёк получает средства, ни разу не нуждаясь в SOL заранее, — а это именно то, что Вам нужно, поскольку его пополнение ради gas со связанного кошелька свело бы на нет всё упражнение (/glossary/relayer).
Результат: депозит с Вашего горячего кошелька и — позже — не связанный с ним вывод на свежий холодный адрес. Ваш аппаратный кошелёк теперь хранит средства без ончейн-пути обратно к Вам.
Ошибки, которые сводят всё на нет
- Повторное использование существующего аккаунта аппаратного кошелька. Если Ваш адрес Ledger уже фигурирует в блокчейне, вывод связывает Ваш депозит со всей его историей. Всегда генерируйте новый аккаунт.
- Пополнение холодного кошелька «на gas». У свежего кошелька нет SOL, и есть соблазн отправить немного с основного кошелька. Не делайте этого — relayer покрывает комиссию за вывод, а такое пополнение заново связало бы оба.
- Вывод сразу после депозита. Депозит и вывод с разницей в секунды коррелируются по времени. Дайте пройти реальному времени.
- Консолидация позже. Если Вы когда-нибудь сметёте этот холодный кошелёк обратно в помеченный кошелёк, Вы заново раскроете его. Относитесь к нему как к чистой конечной точке. /learn/what-solmask-cannot-protect-you-from перечисляет то, что по-прежнему на Вас.
Как убедиться, что средства пришли
Поскольку вывод приземляется на устройство с воздушным зазором, которое Вы можете проверять нечасто, подтверждайте получение через блок-эксплорер, а не подключая аппаратный кошелёк к dApp. /learn/verifying-your-deposit проводит через чтение ончейн-результата. Полный одностраничный набор правил см. в /blog/solana-wallet-privacy-checklist.
FAQ
В. Нужен ли аппаратному кошельку SOL, прежде чем он сможет получить вывод? О. Нет. Relayer платит сетевую комиссию и публикует транзакцию от Вашего имени, так что совершенно новый аккаунт с нулевым балансом может получить средства — именно поэтому Вам никогда не приходится пополнять его со связанного кошелька.
В. Подписываю ли я вывод своим Ledger? О. Нет. Получатель ничего не подписывает — доказательство генерируется в Вашем браузере из депозита, которым Вы управляете, и relayer его отправляет. Вашему Ledger нужно только получать, поэтому он может оставаться офлайн.
В. Могу ли я повторно использовать тот же холодный адрес для следующего депозита? О. Безопаснее этого не делать. Каждый чистый вывод на один и тот же адрес начинает строить ему историю; для максимальной несвязываемости выводите средства на новый аккаунт каждый раз.
В. Работает ли это для USDC и USDT, а не только для SOL? О. Да — вносите и выводите любой поддерживаемый актив. Вы также можете внести один актив и сделать так, чтобы холодный кошелёк получил другой через своп при выводе.
В. Будет ли мой горячий кошелёк всё равно показывать депозит? О. Да — он публично показывает депозит в пул. Скрыта связь с холодным адресом, который позже получил вывод.