Автор: Yash Chandak
Оригинальное название: Stop Saying ‘We Need Privacy
Компиляция и редактирование: BitpushNews

Если ваш кошелек публичен, то и ваша жизнь публична. Люди могут смотреть на ваш баланс, ваши транзакции, ваши позиции и время входа, а затем легкомысленно заявлять, что это «всего лишь данные». Вот почему «конфиденциальность» всегда возвращается как устойчивый нарратив.
Проблема в том, что «конфиденциальность» — это не единая функция. На самом деле это пять совершенно разных проблем.
Эта статья написана, чтобы помочь вам понять, что именно вы требуете, когда в следующий раз напишете в твиттере «Нам нужна конфиденциальность».

Когда люди говорят о конфиденциальности, они часто имеют в виду совершенно разные вещи:
-
Конфиденциальность намерения (Intent privacy): Наблюдатель не должен видеть вашу сделку до ее исполнения.
-
Конфиденциальность стоимости (Value privacy): Ваша зарплата, чистая стоимость активов или размер сделки не должны быть легко наблюдаемы.
-
Конфиденциальность состояния (State privacy): Позиции, пороги ликвидации, состояние хранилищ и инвентаря по умолчанию не должны быть публичными.
-
Конфиденциальность исполнения (Execution privacy): Нельзя вывести вашу стратегию по тому, какие пути вы запускаете и как.
-
Конфиденциальность графа (Graph privacy): Наблюдатель не должен иметь возможности составить карту того, кому вы платите, кому жертвуете или с кем сотрудничаете.
Многие «протоколы конфиденциальности» решают только одну или две из этих проблем, но раскрывают остальные. Большинство утечек происходит на границах: кошельки, удаленные вызовы процедур (RPC, то есть мосты между кошельком и блокчейном), ретрансляторы, мосты, биржи и предсказуемость человеческого поведения.
Вот структура, которая проясняет картину в индустрии: сначала определите поверхность, которую вы хотите защитить, а затем ищите инструменты для защиты этой поверхности.
Конфиденциальность намерения
Во многих блокчейнах транзакции попадают в блок не напрямую из вашего кошелька. Вместо этого они сначала попадают в открытую «приемную», называемую «мемпул» (mempool), где ожидающие транзакции видны до того, как будут упакованы. Если вы можете видеть ожидающий обмен (swap), вы можете реагировать на него. Это создает возможности для ботов, извлекающих максимальную ценность (MEV). Эти боты — автоматизированные системы, работающие на высоких скоростях, которые отслеживают мемпул блокчейна в поисках прибыльных торговых возможностей, таких как арбитраж, ликвидация и сэндвич-атаки.
Например, бот может обнаружить ваш запрос на обмен, купить раньше вас, вызвав неблагоприятное для вас движение цены, а затем сразу же после вас продать, чтобы получить прибыль от разницы. Вы завершаете сделку, но по худшей цене.
Конфиденциальность намерения решает именно эту проблему временного окна длиной около 12 секунд. Ее цель — скрыть детали транзакции до тех пор, пока наблюдатель не успеет среагировать.
Приватная доставка транзакций
Самый практичный способ обеспечить конфиденциальность доставки транзакций — изменить ее путь. Ваш кошелек по-прежнему создает обычную подписанную транзакцию. Разница в том, куда она отправляется. Транзакция больше не транслируется в публичный мемпул, а отправляется на приватную конечную точку, которая пересылает ее сборщику блоков (Block Builders). Эти сборщики формируют блоки-кандидаты, упорядочивая транзакции, и, наконец, валидатор публикует один из таких блоков.
Вот что предлагают такие системы, как Flashbots Protect: маршрут, который уводит вашу транзакцию от публичного мемпула до того, как она попадет в блок.
Flashbots также исследует концепцию под названием SUAVE (Единый унифицированный аукцион для выражения ценности), которая определяет проблему как «сам поток ордеров — это система». Идея заключается в сборе пользовательских намерений в приватной среде, проведении аукциона для определения исполнителя, а затем расчетах в Ethereum и других блокчейнах.
Хотя этот подход все еще развивается, он задает четкое направление: конфиденциальность должна применяться до того, как транзакция коснется публичного мемпула.
Причина, по которой этот метод работает, также является его компромиссом. Он работает, потому что публичные боты никогда не увидят транзакцию заранее. Компромисс в том, что приватные каналы и сборщики действительно видят ее заранее. Вы просто сужаете аудитории, а не полностью устраняете предварительную видимость.
Зашифрованный мемпул
Зашифрованные мемпулы предназначены для обеспечения более сильной конфиденциальности, гарантируя, что никто (включая сборщиков) не сможет увидеть транзакцию до того, как она будет включена в блок.
Сеть видит не читаемую транзакцию, а зашифрованный двоичный большой объект (blob). Наблюдатель может понять, что что-то отправлено, но не может узнать, что именно.
Расшифровка происходит только после того, как ордер заблокирован. Распространенный дизайн использует пороговую дешифровку, где право расшифровки разделено между комитетом (Shutter Network называет их Keypers). Каждый член комитета держит фрагмент. Когда нужно раскрыть содержимое, публикуется достаточное количество фрагментов для восстановления ключа дешифровки, что позволяет выполнить транзакцию.
Этот метод устраняет проблему «приватный канал видит все заранее», но вводит новые допущения: комитет должен быть онлайн и не должен вступать в сговор.
Конфиденциальность намерения заканчивается с публикацией блока. Если вы не комбинируете ее с конфиденциальностью стоимости, состояния или исполнения в блокчейне, информация, содержащаяся в блоке, по-прежнему будет раскрыта как обычно.
Конфиденциальность стоимости
Конфиденциальность стоимости отвечает на простой вопрос: Могу ли я перевести деньги, не показывая всему миру, сколько я перевожу?
В обычных публичных блокчейнах ответ — нет. Каждая транзакция прямо публикует сумму, и именно так каждый проверяет балансы.
«Экранированные системы» (Shielded systems) меняют это, разделяя две вещи:
-
Сумма (остается приватной)
-
Доказательство соблюдения правил (остается публичным)
На низком уровне система хранит ваши средства как приватные записи. Вы можете думать о них как о зашифрованных квитанциях. Каждая квитанция представляет определенную сумму, но только владелец знает, сколько именно.
Когда вы тратите:
-
Вы доказываете, что владеете действительной квитанцией.
-
Вы доказываете, что не тратили ее ранее.
-
Вы создаете новые квитанции для получателя (и сдачу для себя).
-
Вы публикуете доказательство того, что общая сумма переведенных средств равна общей сумме полученных.
Блокчейн проверяет это доказательство. Если доказательство действительно, транзакция принимается, но скрытая сумма остается неизвестной внешнему миру. Это основная конструкция, стоящая за экранированными транзакциями Zcash, и классический пример конфиденциальности стоимости в рабочей среде. Penumbra использует ту же общую концепцию в пулах с экранированием нескольких активов, где вся стоимость находится в приватных пулах, а переводы осуществляются через доказательства, а не видимые суммы.
Но у этой конфиденциальности есть ограничения. Даже если математика идеальна, конфиденциальность все равно может быть нарушена. Утечки обычно происходят из-за поведения пользователя:
-
Если вы вносите очень специфическую сумму, а позже снимаете точно такую же сумму, наблюдатель может предположить, что это один и тот же человек.
-
Если вы входите в приватный пул и выходите из него в течение нескольких минут, временные метки становятся подсказкой.
-
Если приватным пулом пользуются лишь несколько человек, анонимный набор (Anonymity set) мал.
-
Если вы немедленно переводите средства на известный биржевой аккаунт, вы заново связываете личность.
Итак, конфиденциальность стоимости скрывает цифры внутри системы, но она не скрывает автоматически поведенческие паттерны вокруг этой системы.
Конфиденциальность графа
Конфиденциальность графа касается взаимоотношений. Даже если вы скрываете сумму, публичный реестр все равно может раскрыть паттерны: кому вы отправляете, от кого получаете, как часто и на какие суммы. Со временем эта карта сети может раскрыть больше, чем балансы.
Большинство методов конфиденциальности графа делятся на две категории:
Первая — это невозможность связывания в пуле (Pooled unlinkability). Это идея «микширования». Большое количество пользователей отправляет средства в один и тот же пул, а затем выводит их таким образом, что на публичном уровне невозможно связать конкретный вывод с конкретным внесением. В блокчейне все еще видны внесения и выводы.
Конфиденциальность возникает из-за неоднозначности. Наблюдатель видит внесения и выводы, но не может надежно их сопоставить. Каждый вывод логически может принадлежать многим участникам. Это основной механизм систем микширования, таких как Tornado Cash. Чем больше пул, тем меньше уверенность наблюдателя в любой отдельной связи.
Если пул активен и многие люди вносят одинаковые суммы, вы растворяетесь в толпе. Если пул мал, толпа рушится, и граф проявляется снова через время и суммы.
Другой способ нарушить граф — перестать повторно использовать один и тот же адрес для получения.
Если каждый платеж отправляется на публичный адрес, ваша история получений становится постоянной публичной лентой. Любой может сгруппировать эти платежи и считать, что они принадлежат одному человеку.
Скрытые адреса (Stealth addresses) могут изменить эту модель. Каждый платеж отправляется не на единственный видимый адрес назначения, а на новый адрес, который не выглядит связанным с предыдущим. Отправитель генерирует одноразовый адрес для этого платежа, доступ к которому имеет только предполагаемый получатель. Для внешнего наблюдателя это выглядит так, как будто средства уходят на несвязанные адреса.
Это не скрывает сумму или отправителя. Это решает проблему в более узком смысле, предотвращая возможность связывания всех получений с одной личностью для посторонних. Именно эту модель стандартизирует ERC-5564 для Ethereum. Она не скрывает отправителя или сумму, но делает неочевидным «все деньги, отправленные Алисе».
Конфиденциальность графа все равно может быть нарушена через поведение. Если после вывода из пула вы каждый раз немедленно переводите средства через мост в одно и то же место, вы создаете новую точку связи. Если вы выводите средства и сразу же обращаетесь к бирже, требующей KYC (верификации личности), личность мгновенно восстанавливается. Если вы сохраняете одинаковые временные привычки, граф становится угадываемым. Эти системы разрывают прямые связи, но не стирают ваши следы.
Конфиденциальность состояния
Конфиденциальность состояния призвана решить проблемы, специфичные для DeFi. Ваш баланс, позиции, пороги ликвидации, состав хранилищ и инвентарь не должны быть доступны для чтения любому, у кого есть обозреватель блоков.
Это важно, потому что «публичное состояние» становится утечкой стратегии. Если ваши позиции видны, другие участники могут предсказать ваши действия, когда вас ликвидируют и что вы, вероятно, сделаете дальше. Что еще хуже, они могут действовать против вас. Кошелек с видимой линией ликвидации — это, по сути, публичная таблица результатов.
Так что же меняет конфиденциальность состояния на низком уровне?
В обычных блокчейнах состояние — это то, о чем договариваются и что могут читать все. Кредитные протоколы сопоставляют адреса с деталями позиций. Хранилища сопоставляют адреса с долями и долгами. Это то, что сканируют индексаторы и боты.
Системы с приватным состоянием перестают записывать эти детали в открытом виде. Они заменяют «публичное состояние, индексируемое вашим адресом» на «приватное состояние, представленное скрытыми записями», и требуют, чтобы обновления состояния сопровождались доказательствами соблюдения правил.
Вот самый простой способ понять это:
-
Вы по-прежнему выполняете такие действия, как «внесение залога», «заимствование», «ребалансировка» или «обмен».
-
Блокчейн по-прежнему должен применять ограничения, такие как «ваша ссуда не может превышать разрешенное залогом», «вы не можете создавать стоимость из ничего» и «вы не можете потратить один и тот же приватный баланс дважды».
-
Но блокчейн применяет эти ограничения, проверяя доказательства, а не считывая ваши позиции.
Вот почему конфиденциальность состояния и доказательства с нулевым разглашением (ZK proofs) часто идут рука об руку. Вам нужно что-то, что может объявить «это обновление действительно», сохраняя при этом базовые цифры в секрете.
Конкретный пример — Aztec. Его дизайн сосредоточен на приватном исполнении на стороне клиента, а сеть отвечает за проверку доказательств и обязательств. Это позволяет позициям существовать без необходимости храниться в виде читаемых таблиц в блокчейне. Вы можете выполнять операции, подобные DeFi, в то время как публичный блокчейн видит только проверенные доказательствами изменения состояния, а не ваши исходные позиции.
Где нарушается конфиденциальность состояния? Опять же, в основном на границах.
Если у вас есть приватная позиция, но вы регулярно выводите средства на публичную децентрализованную биржу (DEX), объем и время этих выводов могут восстановить ваше поведение. Если вы входите в мосты и выходите из них по предсказуемой схеме, вы создаете связи. Если вы полагаетесь на публичных хранителей (keepers) для ликвидации, ваша «приватная» позиция все равно должна иметь какой-то интерфейс с внешним миром, и этот интерфейс может раскрывать информацию.
Кроме того, конфиденциальность состояния затрудняет композируемость. Публичный DeFi похож на Lego, потому что все могут все читать. Приватный DeFi должен ответить на вопрос: «Как два контракта взаимодействуют, когда они не видят внутреннее состояние друг друга?» Чем сложнее композиция, тем более осторожным должен быть дизайн.
Конфиденциальность состояния — это место, где конфиденциальность переходит от «скрытия одной транзакции» к «скрытию постоянного финансового положения», поэтому ее сложнее реализовать, она более полезна, но также легче разрушается на границах.
Конфиденциальность исполнения
Этот тип конфиденциальности идет еще глубже. Он скрывает не только балансы или позиции, но и то, как происходят вычисления. Это критически важно для аукционов, сопоставления, логики решателей (solver), стратегий ликвидации, приватных типов ордеров и любых сценариев, где стратегия будет эксплуатироваться, как только станет видимой.
Есть два распространенных метода:
-
Один использует доверенные среды исполнения (TEEs). Контракт исполняется внутри аппаратного анклава (enclave), входные данные расшифровываются внутри анклава, выходные данные шифруются, и правильность кода проверяется через аттестацию (attestation). Secret Network и Oasis Sapphire — примеры использования этого метода для получения приватного исполнения с низкими накладными расходами на доказательства. Компромисс — доверие к аппаратному обеспечению и риск атак по сторонним каналам.
-
Другой метод использует ZK-доказательства для приватного исполнения. Система генерирует доказательство того, что программа выполнилась правильно, не раскрывая приватные входные данные, которые управляли исполнением. Этот метод концептуально чист, но обычно предъявляет высокие требования к инструментам и производительности и часто сначала запускается в ограниченном объеме, прежде чем станет массовым.
Конфиденциальность исполнения слаба в тех же областях, что и другие типы конфиденциальности: время, граничные взаимодействия и уровень доступа.
RPC: Где конфиденциальность ломается
Даже если ваша ончейн-конфиденциальность безупречна, если ваш кошелек использует Infura или Alchemy, то этот RPC-провайдер может видеть ваш IP-адрес, адреса, которые вы контролируете (потому что вы запрашиваете их балансы), с какими контрактами вы взаимодействуете и ваши временные паттерны.
В 2022 году ConsenSys публично признала, что RPC по умолчанию для MetaMask (Infura) собирает IP-адреса и адреса кошельков. Вот почему протокольная конфиденциальность часто терпит неудачу на практике: уровень доступа раскрывает все до того, как криптография получит шанс сработать.
Итак, конфиденциальность формируется контекстом. Разные контексты по-разному формируют дизайн конфиденциальности.
Трейдинг в основном требует конфиденциальности намерения. Платежи требуют конфиденциальности стоимости и конфиденциальности графа на стороне получателя. DeFi жаждет конфиденциальности состояния. Мосты добавляют точки корреляции. Институциональные игроки хотят конфиденциальности, имея при этом пути для проверки и подотчетности.
Поэтому вопрос «Какая модель конфиденциальности победит?» обычно неверен.
Более точный вопрос: Какую поверхность вы защищаете? Какие допущения вы делаете? И где еще информация будет утекать, когда пользователь взаимодействует с реальным миром?
Twitter:https://twitter.com/BitpushNewsCN
Группа общения в TG比推:https://t.me/BitPushCommunity
Подписка в TG比推: https://t.me/bitpush





