[Апдейт] Lock: статус беты и ответы на главные технические вопросыПривет всем!
В этой ветке было много глубоких вопросов, особенно касательно периметра подписи , сравнения с оффлайн-версией Electrum, масштабов наших заявлений о постквантовой защите и того, как будет валидироваться архитектура.
Команда была полностью сосредоточена на переводе Lock в стадию беты и внутреннего тестирования, так что сейчас отличный момент, чтобы собрать главные ответы воедино и поделиться текущим статусом проекта.
ТЕКУЩИЙ СТАТУСLock сейчас находится на этапе бета- и внутреннего тестирования, ранний доступ появится в ближайшее время.
Развертывание планируется поэтапно:
Сначала Wallet и Treasury
Вскоре после них - Node
Это именно последовательность релизов, а не изменение референсной архитектуры. Lock по-прежнему спроектирован на базе трех взаимодействующих ролей: Treasury, Wallet и Node.
Точная матрица операционных систем и архитектур процессоров для первого пакетного релиза еще утверждается. Мы опубликуем ее, как только релизные сборки будут зафиксированы.
Также на данный момент мы не поддерживаем Bitcoin testnet3 или testnet4.
Несколько человек здесь просили добавить поддержку тестнета Биткоина, поскольку они вполне обоснованно не хотят тестировать превью-версию кошелька на средствах из мейннета. Это правильное замечание, и мы хотим сразу прояснить текущие ограничения.
ЧТО ТАКОЕ TREASURY НА САМОМ ДЕЛЕВ ходе предыдущего обсуждения некоторые использовали фразу «Treasury OS», из-за чего у многих вполне объяснимо сложилось впечатление, будто Lock разрабатывает новую операционную систему.
Но архитектура устроена иначе.
Treasury — это приложение для подписи в изолированном контуре безопасности. В сценарии с максимальным уровнем безопасности оно запускается на стандартном потребительском железе как выделенное устройство для подписи, полностью изолированное от сети или с ограничением интернет-доступа.
Оно использует базовую операционную систему и доступные на ней механизмы защиты. Реализация включает в себя специфические для каждой платформы (Windows, macOS и Linux) методы повышения безопасности: ограничения для процессов и отладчиков, контроль дампов памяти, привязку ключей к железу и, при соответствующей настройке, запуск отдельного демона Vault под учетной записью другого пользователя ОС.
Таким образом, Lock не пытается создавать и поддерживать собственное ядро, драйверы устройств или полноценную операционную систему общего назначения для работы на любых девайсах.
Также существует важное различие между использованием в режиме полной изоляции и в режиме изоляции от интернет.
Полностью изолированный Treasury предполагает осознанный рабочий процесс с физическим переносом данных. Локально изолированный Treasury может обмениваться данными через ограниченный локальный или физический транспорт, но при этом у него нет возможности отправлять запросы в публичные сети.
В стандартной конфигурации Lock с жестким запретом на исходящий трафик Treasury не вызывает публичные RPC блокчейна и не обращается к другим интернет-сервисам. Все эти задачи по взаимодействию с сетью вынесены за пределы контура подписи.
При этом Treasury всё равно может принимать одобренные подключения от Wallet через авторизованный и зашифрованный протокол Lock. Транспортный уровень отвечает за перемещение данных, а прикладной протокол устанавливает доверенную сессию.
Наша цель — не заявить о том, что офлайн-устройство неуязвимо. Отключение доступа к публичным сетям значительно снижает площадь атаки, доступную удаленно. Однако угрозы вроде повышения привилегий, вредоносных прошивок, атак на ядро или гипервизор, физического доступа, атак по сторонним каналам и неграмотного резервного копирования/восстановления всё еще остаются актуальными.
Задача безопасности здесь — локализация угроз и минимизация зоны поражения.
ЧТО ЗНАЧИТ "SMALL" TREASURYКогда мы говорим, что Treasury «небольшой», ключевое свойство здесь — вовсе не крошечное количество строк кода.
Более точное слово — узконаправленный.
Treasury отвечает за работу с сид-фразами, деривацию ключей, политики подписи и сам процесс подписания транзакций. Это серьезные задачи, за которыми стоит масштабная логика реализации.
Но не менее важно и то, за что Treasury отвечать не должен.
Интеграция с публичными RPC, агрегация провайдеров, рыночные данные, трекинг транзакций и прочие шумные, смотрящие в сеть системы вынесены за его пределы.
Node — это самый крупный подмодуль в Lock, поскольку именно он забирает на себя основную часть этой сложной логики публичного блокчейна.
Цель такого разделения — удерживать операции, зависящие от сид-фразы, в минимально возможном контуре привилегий и доверия.
В текущей версии белой бумаги количество строк кода отдельно для Treasury не публикуется, поэтому мы не приводим эти цифры.
КАК ЭТО СООТНОСИТСЯ С ОФЛАЙН ELECTRUMБиткоин-онли сетап с использованием офлайн-подписанта Electrum и отдельного онлайн-кошелька для просмотра — это уже сильная модель кастоди.
Lock не утверждает, что такая схема неэффективна.
Разница заключается в масштабах экосистемы, в рамках которой Lock пытается сохранить тот же общий принцип изоляции.
Архитектура разделяет функции следующим образом:
•
Treasury: хранение сид-фразы, деривация, политика подписи и сами подписи.
•
Node: подключение к публичным сетям, провайдеры, трекинг и остальная работа, связанная с выходом в сеть.
•
Wallet: интерфейс, оркестрация процессов и пользовательский ввод.
•
Vault daemon: опциональная дополнительная изоляция ключа устройства под отдельным пользователем ОС.
В сценарии с максимальным уровнем безопасности Treasury может находиться на выделенном устройстве, пока Wallet и Node остаются за пределами контура подписи.
Это становится особенно актуальным для пользователей, которым нужно активное самостоятельное хранение в более широкой среде: на нескольких блокчейнах, со свопами, мостами, Lightning, встроенными сообщениями, хранилищем и взаимодействием со смарт-контрактами.
Цель — не допустить, чтобы эти дополнительные функции постепенно втянули сид-фразу в ту же среду, которая отвечает за повседневный интерфейс и связь с публичной сетью.
Для тех, кому нужно исключительно холодное хранение Биткоина и у кого уже правильно настроен офлайн-сетап с Electrum, Lock должен доказать свою состоятельность через готовый релизный продукт, а не за счет красивых архитектурных лозунгов.
ДЕЛАЕТ ЛИ LOCК УСТАРЕВШИМИ АППАРАТНЫЕ КОШЕЛЬКИ?Наш тезис заключается в том, что для значительной части пользователей, практикующих активное самостоятельное хранение, изолированный программный Treasury на выделенном устройстве вполне может заменить привычные проприетарные аппаратные кошельки.
Это не означает, что любой аппаратный кошелек небезопасен или больше не нужен.
Аппаратные кошельки решили реальную проблему и остаются эффективным способом снизить риск извлечения ключей — особенно когда пользователю нужно простое и понятное устройство для подписи.
Lock же тестирует более комплексную модель кастоди, в которой изоляция ключей сочетается со следующими элементами:
• Разделение ролей: отдельные модули для подписи, интерфейса и работы с сетью.
• Политика подписи и лимиты на параметры транзакций.
• Изоляция Treasury от публичных сетей.
• Аутентифицированное взаимодействие между всеми компонентами.
• Верификация обновлений по цифровой подписи.
• Опциональная изоляция ключа устройства через Vault под отдельным пользователем ОС.
В рамках этой модели понятие «безопаснее» имеет конкретное значение:
• Компрометация Wallet не должна напрямую вести к раскрытию сид-фразы.
• Компрометация Node сама по себе не должна давать право на отправку средств.
• Компрометация транспортного уровня не должна раскрывать ключи подписи.
Эти контуры безопасности не делают компоненты абсолютно безвредными в случае взлома.
Полностью скомпрометированный и уже авторизованный Treasury по-прежнему опасен. Если злоумышленник сможет извлечь саму сид-фразу, политика подписи Lock никак не помешает использовать её вне нашей экосистемы.
Архитектура спроектирована так, чтобы заставить атакующего преодолевать сразу несколько независимых барьеров, вместо того чтобы при взломе одного компонента он получал доступ ко всем секретам и правам сразу.
перевод апдейта для русскоязычного сообщества, а не реклама!