Весь смысл OTC-торговли — двигать объём, не двигая рынок, — и тут ончейн-расчёт всё равно транслирует этот объём. Дески и фонды уходят с бирж именно для того, чтобы не подавать сигналов. Но итоговый расчётный перевод — это публичная транзакция Solana: в ней названы кошельки обоих контрагентов, точная сумма и момент, когда это произошло. Любой наблюдатель видит, что конкретный кошелёк только что получил крупный блок, делает вывод о сделке и может опередить Ваш следующий ход или просто составить карту Вашей книги. Дискретность, которую Вы купили уходом в OTC, испаряется на этапе расчёта.
Эта статья — о том, как закрыть этот разрыв: рассчитываться по OTC-блокам на Solana, не публикуя дорожную карту к Вашей позиции.
Что выдаёт публичный расчёт
Обычный расчётный перевод выдаёт наблюдателю сразу четыре вещи:
- Вашего контрагента. Два кошелька теперь связаны ончейн. Если хотя бы один атрибутируем — известный деск, размеченный кошелёк фонда, адрес, касавшийся биржи, — связь раскрыта.
- Ваш объём. Точный блок переходит из рук в руки в открытую. Для фонда, набирающего или разгружающего позицию, объём и есть сигнал.
- Ваше время. Когда Вы рассчитались, а значит — примерно когда исполнили сделку.
- Ниточку, за которую можно потянуть. С принимающего кошелька наблюдатель может проследить, куда блок уйдёт дальше — на DEX, в стейкинг, разбит по кошелькам — и реконструировать Вашу стратегию.
Скрытие одной лишь суммы Вас не спасёт: связь с контрагентом и время по-прежнему публичны, а уже их достаточно, чтобы наблюдатель составил карту связей и вывел объём по окружающей активности. То, что действительно должно исчезнуть, — это ребро между двумя кошельками — см. /blog/encrypted-amounts-are-not-private.
Расчёт через защищённый пул
Решение — сделать расчёт выводом из общего пула, а не прямым переводом. Платящая сторона вносит депозит в защищённый пул; расчёт доставляется контрагенту как вывод с использованием доказательства с нулевым разглашением. Ончейн есть депозит с одного кошелька и не связанный с ним вывод, приходящий на другой, — без ребра, связывающего два деска вместе, без публичного «Деск A заплатил Деску B ровно X в момент T». /learn/what-is-a-shielded-pool — это механизм; /glossary/relayer объясняет, почему получателю даже не нужен gas, чтобы принять средства.
Что это конкретно даёт торговой операции:
- Несвязываемость контрагентов. Два кошелька никогда не соединяются расчётным ребром.
- Дискретность объёма. В сочетании с гигиеной сумм (ниже) размер блока не является чистым, изолированным сигналом.
- Гибкость актива. Рассчитывайтесь в том активе, которого требует сделка. Если сделка номинирована в USDC, но профинансирована в SOL, конвертируйте внутри вывода, а не делайте публичный своп после — /blog/swapping-sol-to-usdc-privately.
Дисциплина, которая важнее на больших объёмах
OTC-блоки крупные, и это делает обычную гигиену из /blog/solana-wallet-privacy-checklist более важной, а не менее:
Не будьте аномальной суммой. Вывод в 50 000 SOL из пула, чья типичная нота — 50 SOL, прямо указывает на тот единственный депозит, который мог его профинансировать. Объём — это ровно то место, где набор анонимности схлопывается, если Вы небрежны, — /blog/anonymity-sets-on-solana разбирает почему. Для крупных расчётов разбиение на несколько округлённых подрасчётов, разнесённых во времени, нередко и есть разница между «слиться» и «остаться стоять в одиночестве».
Используйте задержку осознанно. Депозит и расчёт, собранные в одну и ту же минуту, коррелируют по времени независимо от доказательства. Выдержка депозита в пуле и разнесение расчёта с исполнением — часть той дискретности, за которую Вы платите. /blog/the-privacy-delay-explained.
Свежие расчётные адреса. Кошелёк контрагента с прежней атрибутируемой историей заново связывает сделку, каким бы чистым ни был этап в пуле. /learn/choosing-a-recipient-address.
Помните о ниточке после расчёта. Если полученный блок немедленно уходит в узнаваемую стратегию, вывод о Вас возобновляется ниже по потоку. Относитесь к расчётному адресу как к чистой стартовой точке, а не как к промежуточному прыжку на пути к Вашему обычному кошельку.
Пределы, прямо
Защищённый пул убирает ончейн-ребро; он не стирает информацию, которая уже есть у Вашего контрагента, и не помогает, если объём настолько особенный, что метод исключения всё равно идентифицирует Вас. Наблюдатель уровня государства с офчейн-данными или расчёт настолько крупный, что у него нет ровни в пуле, — за пределами того, что любой публичный набор анонимности может в одиночку. /learn/what-solmask-cannot-protect-you-from и /docs/threat-model — это честные границы.
Для большинства задач дискретности на уровне деска — не дать открытому рынку считать с эксплорера Ваших контрагентов, Ваше время и Ваш объём — расчёт через пул с разумным выбором размеров и есть нужный инструмент. Старт на /swap.
FAQ
В. Разве уход в OTC уже не делает мою сделку приватной? О. Он держит переговоры и исполнение вне биржи, но ончейн-расчётный перевод публичен — контрагент, сумма и время в открытую. Приватный расчёт закрывает тот этап, который OTC сам по себе не покрывает.
В. Как рассчитаться по блоку, слишком крупному, чтобы слиться с толпой? О. Разбейте его на округлённые подрасчёты, разнесённые во времени, чтобы ни один отдельный вывод не был очевидным соответствием одному депозиту. Изолированная аномальная сумма — это место, где дискретность объёма даёт сбой.
В. Могу ли я рассчитаться в USDC, если профинансировал в SOL? О. Да — конвертируйте внутри вывода, чтобы не было отдельного, поддающегося корреляции свопа. См. /blog/swapping-sol-to-usdc-privately.
В. Нужен ли контрагенту SOL, чтобы принять расчёт? О. Нет. Relayer публикует транзакцию и платит сетевую комиссию, так что расчётному адресу не нужен gas — а это ещё и означает, что ни одной из сторон не приходится финансировать его с атрибутируемого кошелька.