Протокол Bitcoin, представленный Сатоши Накамото в 2008 году, был написан на языке С++ и дополнен скриптами (сценариями), с помощью которых возможно автоматическое выполнение некоторых действий, например, верификация подписей или мультиподписей. Инструкции записаны при помощи уникального языка сценариев Script, созданного специально для Биткоина. Он является неполным по Тьюрингу, что делает его безопаснее других популярных языков, простым в понимании и использовании.
И все же Script не лишен недостатков, главный из которых заключается в наличии некоторых противоречий, не позволяющих пользователям сети Биткоин полноценно использовать смарт-контракты. Наряду с известной проблемой масштабируемости, это стало причиной проведения официальных обновлений с целью улучшения кода, появления первых хардфорков и альткоинов.
Смарт-контракт (с англ. «умный») — самоисполняемый алгоритм, гарантирующий безопасный обмен активами без вмешательства третьей стороны. В нем записаны условия, после выполнения которых происходит завершение транзакции. Можно сказать, что блокчейн невозможен без смарт-контрактов.
Криптоэнтузиасты считают, что умные контракты впервые были внедрены в блокчейне «второго поколения», в Ethereum. Но блокчейн криптовалюты №1 также поддерживает их, ведь каждая транзакция в сети Биткоин — это простой смарт-контракт.
Script — название скриптового языка Bitcoin. Он создан на базе Forth и позволяет совершать безопасные транзакции в сети. Его основные характеристики:
Среди инструкций: условные (конструкции If/then), арифметические, логические, криптоинструкции. В большинстве случаев используется всего один скрипт — проверки подписей. Он заменяет третье лицо при проведении взаиморасчетов в сети Биткоин, гарантируя выполнение заранее оговоренных условий каждой стороной и не допуская двойные траты.
Несмотря на все преимущества, Script не подходит для полноценных смарт-контрактов, так как не может гарантировать правильность их выполнения и безопасность. Поэтому группа разработчиков с 2018 года работала над созданием его улучшенной версии. Во главе команды:
20 августа 2019 года был представлен новый язык — Miniscript. Чем он отличается от своего предшественника? Своей функциональностью, расширенными возможностями, а также удобочитаемостью.
Miniscript все еще нуждается в доработке, но профессиональные блокчейн-разработчики (в том числе и незадействованные в проекте) активно комментируют проект, возлагая на него большие надежды. По мнению программистов-экспертов, он может:
По задумке, быстродейственный и простой в использовании Miniscript будет полностью совместим с консенсусом Bitcoin, и для его внедрения не потребуется вносить изменения.
Таким образом, обновление сделает криптовалюту более приспособленной к ситуации на рынке, сможет решить часть проблем, характерных ей, а также расширить функциональность, приблизив блокчейн главного цифрового актива к Блокчейну 2.0.