С Miniscript полноценные смарт-контракты в Биткоине станут возможными

Аватар
Johnny Walker
Chief Editor
6 ноября 2019 Updated on  Обновлено   1 февраля 2023

Протокол Bitcoin, представленный Сатоши Накамото в 2008 году, был написан на языке С++ и дополнен скриптами (сценариями), с помощью которых возможно автоматическое выполнение некоторых действий, например, верификация подписей или мультиподписей. Инструкции записаны при помощи уникального языка сценариев Script, созданного специально для Биткоина. Он является неполным по Тьюрингу, что делает его безопаснее других популярных языков, простым в понимании и использовании.

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

Miniscript новый язык Биткоина

Немного о смарт-контрактах

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

Криптоэнтузиасты считают, что умные контракты впервые были внедрены в блокчейне «второго поколения», в Ethereum. Но блокчейн криптовалюты №1 также поддерживает их, ведь каждая транзакция в сети Биткоин — это простой смарт-контракт.

Язык Script

Script — название скриптового языка Bitcoin. Он создан на базе Forth и позволяет совершать безопасные транзакции в сети. Его основные характеристики:

  1. Работает на основе стеков. Это обеспечивает компактность кода, его оптимизируемость и быстродействие.
  2. Обрабатывается слева направо.
  3. Не способен делать цикличные вычисления, не поддерживает петли.
  4. Является языком повышенной безопасности, лишен проблемы остановки, так как неполный по Тьюрингу.
  5. Лаконичный и простой. Содержит 256 инструкций, при этом рабочих — около 100. Есть большой резерв (75 кодов).

Среди инструкций: условные (конструкции If/then), арифметические, логические, криптоинструкции. В большинстве случаев используется всего один скрипт — проверки подписей. Он заменяет третье лицо при проведении взаиморасчетов в сети Биткоин, гарантируя выполнение заранее оговоренных условий каждой стороной и не допуская двойные траты.

Новый язык Miniscript

Несмотря на все преимущества, Script не подходит для полноценных смарт-контрактов, так как не может гарантировать правильность их выполнения и безопасность. Поэтому группа разработчиков с 2018 года работала над созданием его улучшенной версии. Во главе команды:

  • Питер Вюлле — соучредитель Blockstream, входит в команду разработчиков Bitcoin Core;
  • Эндрю Поэлстра — математик и программист из Blockstream;
  • Санкет Саньялкар — опытный разработчик, криптоэнтузиаст.

20 августа 2019 года был представлен новый язык — Miniscript. Чем он отличается от своего предшественника? Своей функциональностью, расширенными возможностями, а также удобочитаемостью.

Miniscript все еще нуждается в доработке, но профессиональные блокчейн-разработчики (в том числе и незадействованные в проекте) активно комментируют проект, возлагая на него большие надежды. По мнению программистов-экспертов, он может:

  1. Поддержать и улучшить работу протокола Lightning Network.
  2. Наладить совместимость криптокошельков.
  3. Помочь в создании сложных смарт-контрактов (например, срабатывающих в определенное время).
  4. Благоприятно повлиять на решение проблемы масштабируемости Биткоина.

По задумке, быстродейственный и простой в использовании Miniscript будет полностью совместим с консенсусом Bitcoin, и для его внедрения не потребуется вносить изменения.

Таким образом, обновление сделает криптовалюту более приспособленной к ситуации на рынке, сможет решить часть проблем, характерных ей, а также расширить функциональность, приблизив блокчейн главного цифрового актива к Блокчейну 2.0.

map

Связаться с нами