Разработчик Bitcoin Core Питер Велле представил Miniscript, новый язык программирования для упрощения разработки смарт-контрактов для сети биткоина.
Опубликовав соответствующее сообщение в рассылке для разработчиков биткоина, Питер Велле отметил, что работа над Miniscript длилась почти год, и в ней также приняли участие Эндрю Поэлстра и Санкет Саньялкар.
Теперь, как говорит бельгийский разработчик, проект вышел на тот этап, когда к нему необходимо привлечь больше внимания.
Для понимания того, к чему пришел Питер Велле, необходимо напомнить о Script – языке смарт-контрактов биткоина, который позволяет указать определенные условия, при которых может состояться трата криптовалюты.
Это может быть определенное количество времени, до истечения которого монеты невозможно потратить, или система мультиподписи, требующая подписей нескольких участников транзакции.
Miniscript построен поверх этого языка и призван его оптимизировать. Во-первых, речь идет о чисто визуальном восприятии кода. Так, если в языке Script запись выглядит следующим образом:
OP_CHECKSIG OP_IFDUP OP_NOTIF OP_DUP OP_HASH160 <hash160(B)>
OP_EQUALVERIFY OP_CHECKSIGVERIFY <144> OP_CSV OP_ENDIF
то в языке Miniscript она имеет такой вид:
or_d(c : pk(A),and_v(vc : pk_h(B),older(144)))
Однако, что более важно, Miniscript, по словам Велле, представляет собой новый способ написания структурированных скриптов, обеспечивающий возможность проведения различных видов статического анализа, создания генерических подписей и модифицируемого набора условий для выполнения смарт-контрактов.
В своем треде в Twitter Питер Велле пишет:
«Допустим, компания хочет защитить хранимые в холодном хранилище средства при помощи системы мультиподписи 2-из-3 с тремя участниками. Один из участников, однако, имеет собственный хороший набор на основе двухфакторной аутентификации, мультиподписи и блокировкой по времени. Почему бы не сделать всю систему компании одним из участников мультиподписи?»
В настоящий момент Miniscript доступен в имплементациях для языков C++ и Rust. По словам Велле, работа над проектом продолжается, однако проведенные обширные тесты внушают уверенность, что дизайн языка не только совместим с текущим консенсусом сети биткоина, но и не требуют каких-либо изменений в нем.
Более того, разработчики также планируют расширить структуру Miniscript таким образом, чтобы язык поддерживал будущие изменения скриптов, которые могут быть включены в кодовую базу биткоина.
Питер Велле добавил, что работает над внедрением частей языка в Bitcoin Core, если у сообщества разработчиков возникнет желание их включить, и верит, что это могло бы быть очень полезно для биткоина, однако в идеале он видит его как часть технологии для кошельков.
Источник