Lightning Network, Monero и границы приватности: разговор с Василием Рогиным

В новом интервью diva.exchange разработчик, исследователь Monero Василий Рогин разбирает реальную архитектуру технологии privacy — от Zero-Trust в Lightning Network до кольцевых подписей в Monero. Мы обсудили, почему off-chain транзакции не гарантируют абсолютную анонимность, с какими рисками деанонимизации сталкиваются пользователи мобильных кошельков. Также заглянули в будущее Atomic Swaps в условиях жесткого регулирования криптовалют и роли оверлейных сетей вроде Tor и I2P. Сегодня мы стартуем с первой части интервью.

Diva.exchange

Предлагаю вспомнить прошедшую конференцию MoneroKon в Варшаве — ты выступал с докладом, где связывал инфраструктуру Monero и Lightning-сервис.

Не мог бы ты поделиться ключевыми тезисами для тех, кто не был на MoneroKon и не следил за конференцией? Как это можно объяснить, что это такое — потому что есть вероятность, что у пользователей есть недопонимание, когда речь идёт о приватности в сетях.

Василий Рогин

Началось всё с того, что в прошлом году я был на MoneroKon и общался с одним из экспертов — он вёл мастер-класс. Зашёл разговор про Lightning, и он сказал, что не будет им пользоваться, потому что считал, что пользователь там не хранит средства самостоятельно. По моему пониманию, Lightning как раз и устроен на полном недоверии — Zero Trust, — то есть все всегда защищены, и всегда можно провести транзакцию обратно. Потом я понял, что тема действительно интересная, но недооценённая: получается, что даже люди, которые в этой теме разбираются, всё равно делают такие утверждения и имеют сомнения.

Поэтому ключевая идея моего доклада — показать, что Lightning действительно работает безопасно. А ещё сравнить, как обстоят дела с приватностью: в биткоине приватность есть только в том смысле, что мы можем не знать, кому принадлежит конкретный кошелёк; всё остальное прозрачно.

Lightning чуть более приватен, Monero ещё более приватна. Правильно сравнивать их не на уровне каких-то голословных утверждений, а на уровне того, как это реально работает, и делать из этого выводы. Основная идея была в том, что сохранить приватность — сложно, а нарушить — легко. Поэтому легче рассказать, как её нарушить, чтобы так не делать.

Diva

Monero шифрует всё на уровне L1: свои подписи, скрытые адреса, суммы. А Lightning — переносит транзакции на уровень L2, в off-chain-каналы, за границы сети. Считается, что вне блокчейна транзакции автоматически приватнее. Но действительно ли это так реализуется на практике, или есть какие-то специфические векторы атаки?

Василий

Если между двумя людьми открывается канал, то все дальнейшие транзакции происходят просто в приватном общении между ними. Если условные Алиса и Боб открыли канал, то распределение состояния этого канала (сколько у Алисы и сколько у Боба) — чистая договорённость между двумя участниками. И оно может быть зашифровано как угодно приватно — хоть письмами, хоть голубями.

Снаружи мы видим только, что канал был открыт с определенной ёмкостью и что канал был закрыт. В нашем случае есть два участника, которые ведут между собой какой-то обмен. Точно мы не можем сказать, ведут ли они вообще какие-то транзакции между собой, сколько и что. Мы вообще этого не знаем — может, у них связь раз в месяц, а может, они постоянно туда-сюда что-то отправляют раз в секунду.

Это довольно большой шаг для приватности. Это не универсальное платёжное средство с кем угодно, а то, что происходит в канале между двумя людьми. Дальше идёт маршрутизация в Lightning, когда мы отправляем через кого-то — тогда уже многое открывается и что-то видно промежуточным участникам.

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

Полагаю, можно сделать петлю маршрутизации, и для промежуточного узла будет непонятно, часть ли это петли или отдельные пересекающиеся транзакции. Это уже дополнительный уровень Lightning. Так что если говорить про приватность Lightning — зависит от того, как мы его используем.

Приведу пример: я как обычный человек поставил на телефон какой-то кошелёк, и он сделал канал к той фирме, которая этот кошелёк выпустила. Естественно, они видят все мои транзакции, потому что всё проходит через них. Так что приватность тут не абсолютная — это чистое доверие к кошельку, к его авторам, к тому, с кем открыт канал.

Diva

То есть здесь можно говорить о проблеме масштабирования?

Василий

Ну, не то чтобы масштабирования — скорее про то, как сеть устроена. Идея сети Lightning в том, что мы имеем некоторую сеть, к которой есть возможность подключиться.

Когда я начинал экспериментировать, я просто подключался к самому большому узлу — сделал канал с ним, потому что у него есть каналы со всеми остальными. Эти крупные узлы видят примерно то же, что видит банк: я завожу счёт в одном банке, а плачу в другой.

У меня есть аккаунт в банке, а он уже как-то договаривается с другим банком, и деньги уходят другому человеку в другом банке. Здесь похожая система: частные лица держат не свой банк, а связь с банками, а банки уже как-то решают между собой.

Diva

Получается, если ты выходишь на связь с этим банком, у тебя нет ни информации, ни влияния на то, как он связан с другими — теоретически информацию можно получить, но влияния никакого. То есть у тебя может быть анонимное соединение, а что там дальше — неизвестно.

Василий

Чтобы канал был приватным, нужно, чтобы обе стороны были приватны. Если моя вторая сторона всем рассказывает, что происходит, то приватным он не будет. А так — этот «банк», то есть сервер этого кошелька, сам решает, с кем соединяться, с кем удобнее, потому что есть комиссии — они очень маленькие, но есть.

Это своего рода бонус за то, что ты держишь канал и через тебя проходят транзакции. Комиссия действительно очень маленькая, но она есть, и может быть так, что по одному маршруту комиссия будет одна, а по другому — меньше.

Diva

Тема мультиподписей, Мультисиг. Как архитектура каналов и мультиподписей влияет на анонимность участников платежей, по сравнению с приватными сетями? Уместно ли такое сравнение?

Василий

Нет, на анонимность это особо не влияет — канал у тебя между двумя людьми, а мультисиг используется как технология для эскроу. Есть сумма на счету, но чтобы ею воспользоваться, необходимы подписи двух пользователей.

В реализации Lightning, кстати, тоже используется мультисиг: мы положили деньги на канал и договариваемся вдвоём, что мы с него тратим. В биткоине используется мультисиг «два из двух».

У меня был ещё доклад — мастер-класс по мультисигу на MoneroKon. Там немного другая история: как создать кошелёк, который требует подписей «два из трёх».

Эта технология работает. Причем с криптовалютами, с Monero, эти криптографические технологии проверены на практике. Например, кольцевая подпись, которая используется в Monero, — ей уже почти восемь лет, — проверена именно большим объёмом транзакций и практикой безопасности. Мы точно знаем, что это безопасно: если бы это было небезопасно, уже можно было бы взломать, продать все монеты и заработать на этом кучу денег.

Использование технологии на практике

Баг-баунти на криптовалютный код огромный, поэтому это доказательство технологии не только абстрактной, математической, а в реальном использовании, с реальными деньгами на кону. Кольцевая подпись Monero действительно анонимна и действительно безопасна.

Её можно использовать для простых вещей в реальном мире — для голосования, для обратной связи и так далее. Если Monero использовала эту технологию и её никто не сломал, значит, это действительно безопасно, а не просто слова. То же самое с мультисигом «два из трёх» — эту же технологию можно использовать для PGP-сертификатов.

Делать сертификаты, подписи — например, на Ed25519. Мультисиг для внешнего наблюдателя будет выглядеть как обычная подпись. Ничего не нужно переизобретать — технология уже есть, мы просто применяем её в новом месте. И не только подписи — можно делать мультисиг-расшифровку.

Пример: если у нас команда из семи человек делает бэкапы, к ним приходят данные для бэкапа. Чтобы восстановить данные, мы хотим, чтобы собрались минимум трое — один или двое доступа к данным не имеют, а любые трое — могут. Делаем PGP-мультисиг «3 из 7»: говорим всем шифровать данные этим ключом, все данные приходят зашифрованными этим открытым ключом.

А чтобы расшифровать, нужно, чтобы собрались минимум трое. Это реальный жизненный пример, полезный не только в криптовалютах, а вообще — компаниям, у которых есть важные данные, которые нужно защитить, но при этом можно восстановить не одним человеком, а распределённо между несколькими.

Такие жизненные примеры, и криптовалюты двигают эти вещи вперёд, подтверждая, что это действительно работает.

Читайте продолжение во второй части интервью с Василием Рогиным.

ПРЕДСТАВЛЯЕМ DIVA.EXCHANGE

Некоммерческая ассоциация diva.exchange, Швейцария, использует безбарьерный и совместный подход для создания бесплатной банковской технологии для каждого. Технология с открытым исходным кодом обеспечивает конфиденциальность всех участников финансовой системы будущего. Система на основе blockchain полностью распределена. Каждый может участвовать в diva.exchange.

Diva.exchange придерживается убеждения, что только свободная от коммерческих обязательств технология может надежно защитить конфиденциальность пользователей.

Сотрудничество с научным сообществом играет важную роль в развитии diva.exchange. Результаты исследовательской работы diva.exchange постоянно проходят апробацию  академическими учреждениями и публично представляются на специализированных конференциях.

УЗНАТЬ БОЛЬШЕ О НАШЕЙ РАБОТЕ:

Вся техническая информация доступна по адресу: https://github.com/diva-exchange/

Инструкция для начинающих и руководство по установке I2P: https://www.diva.exchange/en/privacy/introduction-to-i2p-your-own-internet-secure-private-and-free/

Все видео находятся здесь: https://odysee.com/@diva.exchange:d/

Введение в I2P: https://en.wikipedia.org/wiki/I2P

Testnet: https://testnet.diva.exchange

СВЯЗАТЬСЯ С НАМИ:

Twitter: https://twitter.com/@DigitalValueX

Mastodon: https://social.diva.exchange/@social

Если у Вас остались вопросы вы всегда можете найти нас в Telegram чате  https://t.me/diva_exchange_chat_de (на английском, немецком или русском языках).