Сооснователь Blockstream и разработчик Bitcoin Core Марк Фриденбах (Mark Friedenbach), известный под псевдонимом Maaku, представил на Реддит код трех пока не пронумерованных предложений BIP для реализации MAST — проекта по улучшению функциональности «умных контрактов» в Биткоине, которые помогут также оптимизировать работу Lightning Network.

«Я хотел бы предложить две новые функции скрипта, которые будут добавлены в протокол биткоbна посредством активации софтфорка. Это: новый опкод MERKLE-BRANCH-VERIFY (MBV) и семантика выполнения хвостовой рекурсии», – сообщает он.

Фриденбах подчёркивает, что если SegWit был принят через софтфорк, то MAST – это обновление, которое в любом случае требует только софтфорк (без опасности разделения сети и нарушения обратной совместимости). Новый код добавляется, но все предыдущие реализации (при использовании старой версии узла) по-прежнему будут совместимы.

По его словам, MBV позволяет использовать значения, выбранные из заранее определенного набора, установленного в скрипт PubKey, но не требуя раскрытия неиспользуемых элементов, что повышает конфиденциальность и уменьшает размер скриптов.

«Семантика выполнения хвостовой рекурсии допускает единый уровень рекурсии в индекс, предоставляя свойства, подобные механизму, который уже несколько лет используется в определенных транзакциях Биткоина — типа P2SH (Pay to Script Hash), делая их более гибкими», – подчёркивает он.

Фриденбах считает, что этих обновлений достаточно для включения целого ряда приложений, в частности дерева подписей (без агрегирования подписей Шнорра), которое описал  разработчик Bitcoin Core Питер Вюлле (Pieter Wuille), и обобщенного MAST, применяющегося для построения частных «умных контрактов».

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

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

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