Платёжный стартап Square, в конце прошлого года интегрировавший возможность торговли криптовалютами в своё приложение Cash App, обнародовал документацию, код и инструменты своей системы для “холодного” хранения биткоинов под названием “Subzero”.Как объясняет компания, в основе её решения лежит аппаратный модуль безопасности (англ.

- Hardware Security Module или HSM), представляющий собой специализированное устройство, которое обычно используется в индустрии платежей для хранения не предназначенной для публичного распространения криптографической информации, в том числе ключей, и выполнения операций с ними.Согласно публикации, Square решил использовать того же поставщика HSM, что и для остальных своих платёжных решений, «поскольку мы уже знакомы с его оборудованием и программным обеспечением».HSM поддерживают гибкие настойки, одну из которых компания нашла особенно полезной для хранения биткоинов – средства с её “холодного” кошелька могут быть переданы только на предустановленные адреса принадлежащих ей горячих кошельков.

Таким образом, если злоумышленники захотят украсть биткоины с “холодного” кошелька, им придётся осуществлять взлом сразу на нескольких уровнях.Как и множество бирж криптовалют, Square использует мультиподписи для перемещения средств.

Это означает, что вывод биткоинов с “холодного” кошелька требует наличия подписей нескольких человек, обладающих соответствующими полномочиями.

Для получения доступа к системе они используют комбинацию смарт-карт и паролей.

Все взаимодействия во время подписания транзакций осуществляются при помощи QR-кодов.

Участники церемонии взаимодействуют с серверами, располагающимися в секретных географических локациях и загружающимися при помощи Linux Live DVD, что обеспечивает дополнительный уровень защиты.На сервере запускается Java-приложение, предоставляющее доступ к интерфейсу Subzero, которое позволяет сканировать QR-коды, просматривать транзакции и передавать приватные ключи.

Приложение связывается с HSM, на котором запускается Subzero Core – имплементация биткоин-кошелька, основывающаяся на коде аппаратных кошельков Trezor.

Программный код, реализующий функциональность приложения, никогда не передаётся за пределы HSM и Subzero Core.Кроме того, Square использует инструмент под названием Beancounter для аудита кошельков.

«Инструмент написан на Go и решает проблемы, которые не учтены в существующем ПО для кошельков, например он поддерживает возможность расчёта остатка по счёту в любой день в прошлом и способен справляться с очень большим количеством транзакций», - добавляет Square.Ознакомиться с используемым в инструментах Subzero кодом можно на GitHub.