Иногда я ловлю себя на мысли, что если я контролирую свой биткоин, то именно я подписываю каждую транзакцию. Похоже, так работает само хранение. У вас есть ключ — вы решаете, когда перемещать средства, а блокчейн подтверждает. Потом я начал разбираться в Babylon Labs и понял, что их без доверительных механизмов (Trustless) биткоин-«хранилища» построены на другом предположении.

Самое интересное — не столько создание хранилища. Множество протоколов позволяют «замораживать» биткоин. Меня больше всего застало врасплох то, как устроен процесс выкупа (redeem). Заёмщик погашает кредит. Затем — тишина. Поставщик хранилища отправляет доказательство, открывается окно для оспаривания. Приватный ключ пользователя просто простаивает. Никакой подписи не требуется. Если это всё ещё само хранение, почему тогда человек, который якобы владеет активом, не утверждает финальное перемещение средств?

Мне пришлось сделать обратный разбор дважды, потому что сначала я думал, что в процессе выкупа где-то есть скрытая подпись. Её нет. Ответ — в создании хранилища. До того как хранилище активируется, пользователь со подписывает Taproot-скрипт, содержащий каждый возможный путь расходования: погашение, ликвидация, возврат. Все эти варианты уже пред подписаны всеми участниками. После активации нельзя добавить новый путь. То есть выкуп не просит разрешения, потому что разрешение уже было дано — возможно, за недели до этого.

Это меняет момент, когда на самом деле происходит контроль. Он не реализуется в момент перемещения. Контроль «встроен» в архитектуру хранилища ещё до того, как что-либо будет перемещено. Пользователь по-прежнему решает всё. Просто он принимает решения заранее, а не в ответ на события.

Конечно, это значит, что запасной сценарий «самостоятельного возврата» (self-claim fallback) становится ещё одной вещью, которую нужно сделать правильно. Если Поставщик хранилища исчезнет, пользователь всё равно сможет вернуть свой BTC в одностороннем порядке. Но только если он сохранил артефакты для claim, полученные при создании хранилища. Потеряете их — этот путь закроется. Я всё ещё не уверен, что более сложная задача: проектировать заранее подписанные скрипты или заставлять пользователей хранить файл в безопасности, который может не понадобиться месяцами. Это лишь моё личное мнение, не инвестиционный совет.

#baby $BABY @BabylonLabs_io