amBrain
FinTechOct 28, 20269 мин чтения

Своя криптобиржа: как хранить средства клиентов в горячих и холодных кошельках, проверять выводы и соблюдать правила ЕС

КриптобиржаХранениеMiCAВыводы
Ошибка загрузки изображения
Содержание

Как новой криптобирже хранить монеты клиентов: горячие и холодные кошельки, проверки вывода до подписи, чего требуют MiCA и Travel Rule ЕС и что спросить у фирмы, которая всё это строит.

Решите, как будут храниться средства клиентов, раньше, чем начнёте проектировать торговый экран. Держите большую часть криптовалюты клиентов в холодных кошельках, ключи от которых не попадают ни на один компьютер, подключённый к интернету, и требуйте одобрения нескольких человек для каждого перевода из них. Небольшой горячий кошелёк выплачивает повседневные выводы и пополняется из холодного хранения плановыми переводами с верхним лимитом. Каждый вывод проходит проверки до того, как кто-либо его подпишет. В ЕС бирже также нужна авторизация по MiCA, и она обязана передавать данные отправителя и получателя вместе с переводами.

Коротко: биржа — это торговый движок поверх учёта балансов, где записано, чем владеет каждый клиент, плюс кошельки, в которых лежат настоящие монеты. Каждый день проверяйте, что монет в кошельках хватает на всё, что записано в учёте. Держите большую их часть в холодном хранении с несколькими подписантами и ограничьте сумму, которую может вывести один перевод из холодного хранения. Если собираетесь обслуживать клиентов в ЕС, закладывайте авторизацию по MiCA с самого начала. Переходный период для фирм, которые уже работали, закончился не позднее 1 июля 2026 года.

Что нужно криптобирже, кроме matching engine?

Matching engine сводит заявки на покупку и продажу. Вокруг него биржа держит ещё несколько систем:

  • Учёт балансов: сколько каждой монеты принадлежит каждому клиенту; он меняется при каждой сделке, депозите и выводе
  • Приём депозитов: адрес для каждого клиента и программа, которая следит за каждым блокчейном и зачисляет депозит, когда у него набирается достаточно подтверждений
  • Кошельки, в которых лежат сами монеты: горячие, тёплые и холодные, о них ниже
  • Обработка выводов: проверки, подпись и отправка каждого перевода в сеть
  • Проверки личности и проверки на отмывание денег: для клиентов и для адресов, на которые они отправляют и с которых получают

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

Сколько держать в горячих кошельках, а сколько в холодных?

Горячий кошелёк хранит ключи на сервере, подключённом к интернету, поэтому может подписывать выводы без участия человека. В этой скорости и его риск: тот, кто захватит сервер, тоже сможет подписывать. Холодный кошелёк хранит ключи офлайн, и перевод из него обычно требует одобрения нескольких человек. Тёплый кошелёк находится посередине: в распространённой схеме он онлайн, но каждый перевод одобряет человек.

Держите в горячем кошельке только то, что нужно на обычный день выводов, и пополняйте его из холодного хранения плановыми переводами с фиксированным верхним лимитом. Единой пропорции для всех бирж нет. Она зависит от того, сколько выводят клиенты и как быстро они ждут свои монеты, поэтому попросите разработчика рассчитать её по вашим ожидаемым объёмам.

MiCA — это регламент ЕС о криптоактивах: Регламент (ЕС) 2023/1114, прочитан 27 октября 2026 года, как и остальные источники этой статьи. Он описывает цель и оставляет способ на выбор фирмы. Его статья 75 требует от фирмы, которая хранит криптоактивы клиентов, иметь политику хранения. Эта политика должна «минимизировать риск утраты криптоактивов клиентов, прав, связанных с этими криптоактивами, или средств доступа к криптоактивам из-за мошенничества, киберугроз или небрежности». Та же статья требует, чтобы «в распределённом реестре криптоактивы клиентов хранились отдельно от собственных криптоактивов» фирмы. Поэтому собственные монеты биржи и монеты её клиентов лежат на разных адресах.

Что показала кража у Bybit о холодных кошельках?

21 февраля 2025 года криптобиржа Bybit провела, по её словам, «плановый перевод с одного из наших мультиподписных холодных кошельков Ethereum на тёплый кошелёк». Мультиподписному кошельку нужно несколько ключей, чтобы одобрить перевод. Подписанты одобрили то, что выглядело обычным переводом, но транзакция изменила логику самого кошелька и отдала его под контроль злоумышленников. Bybit оценила потерю в 1,46 млрд долларов. ФБР оценило её примерно в 1,5 млрд долларов и заявило, что за кражей стоит Северная Корея.

Хронология инцидента от Bybit ссылается на предварительные отчёты Sygnia Labs и Verichains. Они указали на «вредоносный код JavaScript на платформе Safe{Wallet}», внешнего сервиса, которым пользовались подписанты, и не нашли уязвимостей в собственной инфраструктуре Bybit. Одобрения не остановили кражу, потому что подписантам показывали не то, что они подписывали.

Для новой биржи урок касается того, как устроены одобрения, а не только того, сколько их:

  • Каждый подписант проверяет детали перевода на устройстве, которое веб-интерфейс не контролирует, например на экране аппаратного устройства для подписи
  • У перевода из холодного хранения есть верхний лимит, поэтому одна одобренная транзакция не может опустошить весь кошелёк
  • Кто-то круглосуточно следит за холодными кошельками и может приостановить выводы

Как проверять вывод до того, как его подпишут?

Заявка на вывод должна пройти программные проверки до того, как её подпишет какой-либо ключ:

  • Баланса клиента в учёте хватает на сумму и сетевую комиссию
  • Сумма укладывается в дневной лимит клиента и в лимит на один перевод
  • Адрес есть в списке сохранённых адресов клиента, а для нового адреса действует период ожидания
  • Адрес проверен по спискам санкционных и высокорисковых адресов
  • Данные, которых требуют правила переводов, собраны и отправлены вместе с переводом

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

Чего требует от биржи Travel Rule ЕС?

Регламент (ЕС) 2023/1113, который часто называют Travel Rule, применяется «с 30 декабря 2024 года». Он требует, чтобы биржа клиента, который отправляет криптоактивы, передавала данные обеих сторон. Об отправителе это «имя отправителя», его адрес в блокчейне и номер счёта. Сюда же входит «адрес отправителя, включая название страны, номер официального документа, удостоверяющего личность, и идентификационный номер клиента или, в качестве альтернативы, дата и место рождения отправителя». О получателе это имя, адрес в блокчейне и номер счёта.

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

Для выводов на кошелёк, которым клиент управляет сам (регламент называет его некастодиальным адресом), есть ещё одно правило. Оно касается «перевода суммы, превышающей 1 000 евро, на некастодиальный адрес». При таком переводе биржа должна «принять надлежащие меры, чтобы оценить, принадлежит ли этот адрес отправителю или находится ли под его контролем». Обычный способ — попросить клиента доказать, что адрес под его контролем, например подписав им короткое сообщение.

Какая лицензия нужна криптобирже в ЕС?

По MiCA управление торговой платформой для криптоактивов — это услуга в сфере криптоактивов, и фирме нужна авторизация как поставщику услуг в сфере криптоактивов. Эта услуга относится к высшему из трёх классов по капиталу в Приложении IV регламента, с минимальным требованием к капиталу 150 000 евро.

Фирмы, которые оказывали такие услуги по национальному праву до 30 декабря 2024 года, могли продолжать работу в переходном режиме. Он действовал «до 1 июля 2026 года или до тех пор, пока им не предоставят авторизацию или не откажут в ней», смотря что наступит раньше. Эта дата прошла. Бирже, которой нужны клиенты в ЕС, стоит закладывать авторизацию с самого начала.

MiCA влияет и на программное обеспечение. Статья 75 требует:

  • Договор о хранении с каждым клиентом
  • Реестр позиций каждого клиента
  • Выписку о позициях «не реже одного раза в три месяца»
  • Процедуры возврата криптоактивов клиентам «как можно скорее»

Фирма отвечает за потери от инцидентов, которые можно вменить ей, и эта ответственность «ограничена рыночной стоимостью утраченного криптоактива на момент утраты». Статья 70 добавляет правило о деньгах клиентов в евро и других валютах. Если фирма сама не банк, не платёжное учреждение и не учреждение электронных денег, эти деньги нужно разместить «в кредитной организации или центральном банке» до конца следующего рабочего дня.

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

Свои кошельки или кастодиальный провайдер?

Есть три распространённые схемы:

  • Свои кошельки: вы контролируете каждый шаг и все расходы, а на вас весь риск, аудиты и люди, которые охраняют ключи
  • Кастодиальный провайдер: хранить ключи и подписывать — его работа, но каждый вывод зависит от его систем и его комиссий
  • Обе схемы вместе: горячие кошельки у себя ради скорости и холодное хранение у провайдера для большей части средств клиентов

По MiCA провайдер, который хранит криптоактивы клиентов для биржи, сам должен иметь авторизацию. Статья 75 разрешает фирме пользоваться только провайдерами, «авторизованными в соответствии со статьёй 59», и фирма обязана сообщить клиентам, что пользуется таким провайдером.

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

Что спросить у фирмы, которая строит кошельки для биржи?

  • Где создаются и хранятся ключи и сколько человек одобряет перевод из каждого кошелька?
  • Как каждый подписант проверяет, что он подписывает, не полагаясь на веб-интерфейс?
  • Как учёт сверяется с балансами в каждом блокчейне и как часто?
  • Что происходит с балансами клиентов, когда блокчейн разделяется или токен заменяют новой версией?
  • Как данные Travel Rule доходят до других бирж и что происходит, если их нет?
  • Можете показать процесс вывода в системе, которая работает сегодня?

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

Где здесь место amBrain?

amBrain, который ведёт этот блог, описывает эту часть своей работы одной строкой: «amBrain строит криптобиржи: матчинг-движок, кошельки, ввод и вывод средств». Компания делает софт с 2019 года и работает в трёх форматах: полная разработка, выделенная команда или инженеры внутри вашей команды. О владении у неё такая строка: «Клиент сохраняет полное владение продуктом и кодом, кроме наших переиспользуемых компонентов».

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

На столе похожая архитектура?

Принесите текущую архитектуру и тот сценарий отказа, который вас беспокоит, — разберём его вместе за полчаса.

Записаться на звонок