В недавнем письме разработчикам биткоина сооснователь компании Blockstream Марк Фриденбах представил код трех пока не получивших номера предложений по улучшению сети (BIP), которые позволят реализовать концепцию MAST. Об этом сообщает CoinDesk.
Концепция MAST (Merkelized Abstract Syntax Trees — мерклизованные абстрактные синтаксические деревья) направлена на повышение функциональности «умных контрактов» в биткоине. Изначально ее предложили разработчики Bitcoin Core Расселл О’Коннор, Питер Велле и Питер Тодд, однако реализация продвигалась достаточно медленно. В прошлом году еще одно, уже официальное предложение по имплементации MAST в протокол биткоина сделал Джонсон Лау, но и оно в определенный момент было отложено до лучших времен. И только теперь, когда в сети биткоина активирован протокол SegWit, реализация концепции становится не только вполне возможной, но и реализуемой достаточно быстро.
Предложение Фриденбаха предполагает проведение софтфорка, т.е. «мягкого» изменения правил биткоина, и если будет принято и активировано, обеспечит более высокую гибкость транзакций. В частности, пользователи могут предопределить, что транзакция проходит только при выполнении определенных условий: например, монеты могут быть потрачены только после установленного отрезка времени или после того, как на это дают согласие оба пользователя.
Помимо этого, MAST обеспечивает более высокую конфиденциальность пользователей, так не раскрывает в публичном блокчейне неиспользованные скрипты, и, сохраняя меньшее количество данных, дает дополнительный потенциал с точки зрения масштабирования всей сети.
Для получения всех этих преимуществ, однако, требуется объединение двух технических характеристик: P2SH (Pay to Script Hash) и Деревьев Меркла (Merkle trees). Именно об этом и идет речь в письме Фриденбаха разработчикам.
«Этих двух характеристик достаточно для включения целого ряда приложений, таких как дерево подписей… и обобщенного MAST, применяющегося для построения приватных смарт-контрактов», — пишет Фриденбах.
Первый BIP — Fast Merkle Trees – предлагает отличную от используемой сегодня в биткоине структуры дерева Меркла для хранения транзакций в блоках.
Второй BIP, вероятно, самый важный, описывает операционный код MERKLE-BRANCH-VERIFY, который представляет собой скрипт, позволяющий пользователям осуществлять новые типы транзакций.
Третий BIP — Tail Call Execution Semantics (семантика выполнения хвостовой рекурсии) – возможно, и достаточно сложный с технической точки зрения, но, если говорить более простым языком, объясняет новый метод прекращения работы смарт-контрактов в биткоине.
При этом, как настаивает Фриденбах, имплементация описанных им предложений достаточно проста на практике, и открываемые ими возможности настолько интересны, что разработчики имеют достаточный стимул, чтобы реализовать их за достаточно короткий период, в потенциале даже до конца текущего года.
Источник.