Почему цифровой депозитарий - это не просто база с балансами
Когда начинаешь проектировать систему для работы с цифровыми активами, все сначала выглядит довольно просто: есть клиент, цифровой счет, кошелек, актив, баланс, а где-то дальше блокчейн. Кажется, что осталось только аккуратно все это связать. А потом появляется вопрос, после которого архитектура начинает заметно разрастаться: «Что именно в нашей системе является источником истины?»
Потому что баланс в блокчейне сам по себе почти ничего не говорит о состоянии клиента внутри системы. Блокчейн знает, что между адресами прошла транзакция. Но он не знает, почему она появилась, к какой операции относится, какому цифровому счету принадлежат средства, какие проверки были пройдены, доступны ли эти средства клиенту прямо сейчас и что делать, если внутренняя операция уже изменила состояние, а транзакция в сети все еще ждет подтверждений. И довольно быстро выясняется, что одного «баланса» недостаточно. Появляется учет цифровых счетов, операции, внутренний реестр движения активов, кошельки и адреса, кастодиальная инфраструктура, транзакции в блокчейне. У каждого уровня свое состояние и своя зона ответственности. А сверху еще нужна сверка, которая должна подтвердить, что все эти представления одних и тех же активов действительно сходятся между собой.
Поэтому «баланс цифрового счета клиента» и «баланс адреса в блокчейне» - не одно и то же. Блокчейн хорошо отвечает на вопрос «что произошло в сети». Но источник истины о том, что происходит с операцией клиента внутри платформы, находится уже в учетной системе.
В какой-то момент проектирование цифрового депозитария перестает быть задачей про хранение крипты. Это становится задачей про учет, состояния, границы ответственности систем и синхронизацию нескольких представлений одних и тех же активов. И на этом фоне вопрос «как сходить в блокчейн» внезапно оказывается далеко не самым сложным.