Обмен электронных валют по самому выгодному курсу!
 


Kurbetsoft
Доступно в Google PlayMAST: смарт-контракты на Биткойне

MAST: смарт-контракты на Биткойне

Хотя Биткойн и является самым большим и самым первым блокчейном, он не отличается особыми возможностями программирования.
В эпоху, когда новые блокчейн-проекты обещают быть ещё больше и лучше, а такие платформы, как Эфириум открыто привлекают начинающих программистов, Биткойн становится ещё ценнее благодаря простой и безопасной архитектуре. Но это вовсе не означает, что работа над улучшением Биткойна остановилась.

Когда достаточно спорное обновление кода SegWit будет развернуто (хотя, ещё и не известно когда), по словам разработчиков протокола, это подготовит почву для внедрения множества технических усовершенствований. Сюда входит и обновление под названием MAST (мерклизованные абстрактные синтаксические деревья), концепцию которого в начале 2016 разработал девелопер Bitcoin Core Джонсон Лау (Johnson Lau) для официального включения в протокол.

Являясь ультрасовременной разработкой в области криптографии, MAST сам по себе не даёт возможности создания новых смарт-контрактов. Но благодаря сокращению размера данных, необходимых для Биткойн-скриптов, он открывает возможности для «сложных условий погашения», которые в настоящее время частично нежизнеспособны из-за нехватки места.

Лау отметил:

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

В техническом смысле MAST можно охарактеризовать как расширение P2SH. При использовании деревьев Меркла (той же структуры данных, которая хранит транзакции в блоках Биткойна) появляется новая возможность внедрения и обработки скриптов, предоплагающая большую масштабируемость и конфиденциальность.

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

Путаница со смарт-контрактами

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

Несмотря на то, что намечается тенденция рассматривать смарт-контракты как более сложные программы, они используются в каждой Биткойн-транзакции. Если отправитель не предоставит правильную цифровую подпись, подтверждающую, что он или она является владельцем средств, сеть не проведёт Биткойн-транзакцию. Конечно, в контексте Эфириума (альтернативная блокчейн-платформа, позволяющая разработчикам создавать практически любые смарт-контракты) такое определение может показаться слишком сложным.

Лау отмечает: «Чтобы смарт-контракты стали по-настоящему «умными», технология должна позволять людям осуществлять не только просто платежи».

Стоит отметить, что ранее язык скриптов Биткойна поддерживал более сложные типы смарт-контрактов. Однако всё ещё скрывающемуся под псевдонимом создателю Биткойна Сатоши Накамото (Satoshi Nakamoto) пришлось избавиться от многих из них еще в 2010 году, когда он понял, что в них есть ошибки, которые злоумышленники могут использовать для наводнения сети спамом. Потребуется какое-то время, чтобы восстановить этот функционал.

Помня об этом, Лау предложил внедрить в протокол новый пакет операционных кодов (‘opcodes’, позволяющих создание смарт-контрактов), многие из которых добавили на тестнете. Скорее всего, они будут развернуты с MAST.

Джонсон также добавил, что предложенные им операционные коды смогут восполнить некоторые из тех, что были удалены Сатоши семь лет назад.

При этом он отметил, что не ожидает одобрения всех операционных кодов, которые он внёс в BIP (предложение по улучшению Биткойна).

«Но даже всего лишь некоторые из них (например, OP_CAT или OP_XOR) откроют недоступные на данный момент возможности», — заявил он.

И ещё раз – эти немногие операционные коды будут добавлены с MAST.

Новые сценарии использования Биткойна

Существует также несколько сценариев практического применения этого функционала. Лау указал на пару возможных сценариев применения операционных кодов совместно с MAST. Один из них — схема ставок “без необходимости в доверии”. В предложенном им прототипе используются операционные коды OP_XOR и OP_RSHIFT. Однако он отметил, что существуют и другие комбинации скриптов, такие как «соглашения», которые приводят к достижению той же цели.

Они ограничивают возможности пользователей по использованию средств и, по словам Лау, “о них часто спрашивают”. В прошлом году специалисты компании Blockstream сообщили, что они экспериментировали “соглашениями” в сайдчейне — блокчейне с иным набором правил, связанным с блокчейном Биткойна. Идея заключается в том, чтобы дать пользователям больше возможностей для контроля своих биткойнов, даже если они вдруг были украдены. Например, если вы хотите отправить свои биткойны на биржу, но беспокоитесь, что она может их потерять, как в своё время произошло с Mt Gox.

Используя конструкцию под названием «хранилище», возможно один из наиболее известных примеров «соглашения», пользователи могут отправлять свои биткойны на новый адрес вместе с определенным типом скрипта, который поможет вернуть их, если возникнет ситуация, похожая на ту, что случилась на Mt Gox. Конструкция потребует новых операционных кодов, таких как OP_CAT и OP_CHECKSIGFROMSTACK.

Следует отметить, что некоторые разработчики скептически относятся к тому, что «хранилища» будут работать как ожидается и считают, что лучше было бы обеспечивать защиту средств иными способами. Существует множество типов «соглашений». Сооснователь проекта MIT Digital Currency Initiative Джереми Рубин (Jeremy Rubin) описал это множество на примерах в своей презентации на конференции по безопасности блокчейна в Стэнфорде.

Помимо этого, существуют и другие идеи на тему того, как можно использовать MAST, и Биткойн-разработчики часто об этом упоминают. Специалист Lightning Labs Олаолува Осунтокун (Olaoluwa Osuntokun), который также выступал в Стэнфорде, упомянул, что MAST даже может улучшить Lightning Network. Эта сеть верхнего уровня призвана увеличить транзакционную емкость Биткойна. При её использовании должен быть кто-то, кто будет отслеживать канал, используемый при взаимодействии участниками транзакции, на случай попытки мошенничества. MAST может помочь привлечь отдать эту задачу третьей стороне, позволит уменьшить объем места, необходимый для операции.

Маленькие шаги

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

В недавней презентации, один из создателей Lightning Network Джозеф Пун (Joseph Poon) упомянул, что предложенные им изменения задействуют интересную систему смарт-контрактов с использованием некоторых операционных кодов, которые уже наличествуют в Биткойне. Что же касается MAST, то его разработка идёт полным ходом. Рубин отмечает, что он также подумывает над подобным, возможно более эффективным способом, реализации той же самой идеи. Но пока что, проблемы с внедрением SegWit остаются главным препятствием на пути воплощения всех этих идей.

Однако, если обновление, включающее СегВит, не будет развернуто в ближайшие 8 месяцев, Лау отмечает, что есть и другой, хотя и «менее элегантный» способ обойти проблему пластичности транзакций и, таким образом, добавить поддержку MAST — это будет шаг, который вернёт Биткойн обратно в поле возможностей смарт-контрактов.

 

Источник




[vkontakte] [facebook] [twitter] [odnoklassniki] [mail.ru] [livejournal]

Каталог сайтов