Blockstream представляет язык программирования Simplicity для смарт-контрактов
Сегодня, 30 октября 2017 года, доктор Рассел О’Коннор из компании Blockstream, в ходе семинара PLAS 2017 в Далласе, США, обнародовал свой труд “Simplicity: A New Language for Blockchains”, в котором описал новый язык программирования под названием Simplicity.
Данный типизированный функциональный язык программирования призван стать альтернативой существующим языкам, которые используются для разработки смарт-контрактов на основе технологии блокчейна.
Одним из основных отличий Simplicity от Bitcoin Script – простого скриптового языка, на котором можно исполнять простые сценарии (прообраз смарт-контрактов) в блокчейне Биткоина, является отсутствие проблемы с нехваткой некоторых опкодов. Например, в Bitcoin Script можно лишь складывать числа, но нельзя перемножать. В данном случае Simplicity предоставляет большую гибкость за счёт расширения возможностей языка.
Среди других важных особенностей стоит отметить:
- Simplicity является Тьюринг-неполным языком;
- Возможность реализации конечных автоматов;
- Органичение рекурсии, защита от бесконечных циклов;
- Возможность статического анализа кода;
- Поддержка формальной семантики, формальной верификации;
- Интеграция мерклизованных абстрактных синтаксических деревьв (MAST), Simplicity имеет встроенную поддержку MAST;
Эти особенности дают возможность разработчикам создавать более безопасный, эффективный и функциональный код «умных контрактов».
Работа О’Коннора даёт лишь первое представление о новом языке программирования для криптовалют, который по факту является проектом отдела разработок и исследований компании Blockstream, но потенциал для применения этого языка в будущих проектах компании можно увидеть уже сейчас. А пока остаётся только ждать официального релиза средств разработки для программистов Simplicity SDK.
Создатели Simplicity не указывают, в каких блокчейнах может быть применен новый язык, однако очевидно, что в первую очередь он нацелен на применение в Биткоине. Кроме того, его название ассоциируется с основным языком программирования Эфириума – Solidity, и это сходство определенно нельзя назвать случайным.
Интересующиеся уже могут ознакомиться с описанием языка на сайте разработчика.