Глоссарий / Кошельки и хранение
Программный кошелек
Другие названия: Мобильный кошелек, Настольный кошелек.
- Что такое программный кошелек?
- Программный кошелек представляет собой приложение на смартфоне или компьютере, которое хранит ваши ключи в памяти этого устройства и подписывает транзакции тем же процессором, на котором работает ваш браузер.
Первый кошелек у большинства людей относится к этой категории, и это разумная точка старта. Категория старая и хорошо проверенная: Electrum поддерживается с ноября 2011 года и по-прежнему выпускает релизы. Между продуктами различается не криптография, а поверхность атаки, потому что приложение наследует все слабости операционной системы под ним.
Как это работает
Программный кошелек хранит ключевой материал в зашифрованном файле и разблокирует его паролем или PIN-кодом устройства при подписи. На смартфоне ключ шифрования обычно хранится в хранилище ключей платформы, поэтому секрет защищен тем же оборудованием, что охраняет блокировку экрана, а это реальное улучшение по сравнению с обычным файлом на ноутбуке.
Второе проектное решение, о котором никто не читает, касается того, откуда кошелек берет данные. Одни приложения подключаются к вашему собственному узлу, другие к публичным серверам Electrum, третьи к серверной части поставщика. Такой сервер узнает, какие адреса вы запрашивали, а этого достаточно, чтобы восстановить ваш баланс и историю платежей, поэтому конфиденциальность программного кошелька определяется в основном этим выбором, а не тем, что у вас на экране.
Быть программой не обязывает кошелек быть горячим. Та же программа, установленная на ноутбуке, который никогда не подключался к сети, и передающая неподписанные и подписанные транзакции на карте памяти, представляет собой холодное подписывающее устройство. Sparrow и Electrum используются именно так, а Bitcoin Core спокойно запустит кошелек вообще без сети.
Где это встречается
Программные кошельки бывают трех видов, и они охватывают почти все. Мобильные приложения обслуживают траты, принимают платежи через Lightning и живут на устройстве, которое чаще всего теряют или заражают. Настольные приложения, такие как Electrum, Sparrow и кошелек Bitcoin Core, обслуживают управление монетами, повышение комиссии и мультиподпись, и именно их большинство использует, когда транзакция требует аккуратности. Те же настольные приложения служат координаторами аппаратных кошельков, и в этом случае программа вообще не хранит ключей и работает как интерфейс только для наблюдения.
Реальная угроза состоит в поддельной копии, а не во взломанной криптографии. Рекламные объявления в поиске, клоны в магазинах приложений и навязанные «обновления» использовались для распространения кошельков, которые выглядят правильно, а вашу сид-фразу пересылают в другое место, и совместное уведомление FBI, CISA и Министерства финансов в апреле 2022 года задокументировало троянизированные приложения для криптовалют, созданные именно с этой целью. Скачивайте с собственного домена проекта, проверяйте подпись или хеш, которые публикуют разработчики, и никогда не восстанавливайте сид-фразу в приложении, которое пришло по ссылке, которую вам кто-то прислал.
Оцените кошелек по трем проверкам, прежде чем доверять ему деньги. Открыт ли исходный код, чтобы ошибки могли найти люди, которые там не работают. Выпускает ли он воспроизводимые сборки, чтобы двоичный файл соответствовал исходному коду. И сможете ли вы направить его на свой собственный узел, когда в итоге запустите его, потому что кошелек, который этого не может, всегда будет сообщать ваш баланс постороннему.
Программный кошелек vs горячий кошелек
Почти каждый программный кошелек является горячим, но эти два термина отвечают на разные вопросы. Программный кошелек описывает форму: приложение, а не специальное устройство. «Горячий» описывает состояние: ключи на машине, которая находится онлайн, когда подписывает. Совпадение настолько близкое, что люди употребляют эти слова как взаимозаменяемые, а различие проявляется ровно в двух случаях. Ноутбук, изолированный от сети, на котором запущен Electrum, представляет собой программный кошелек, который не является горячим, а счет на бирже является горячим, вовсе не будучи вашим кошельком.