Radiant использует язык программирования под названием script, унаследованный от Bitcoin, но с добавлением расширенных функций, которые позволяют ему быть завершенным по Тьюрингу.
Чтобы хорошо это понять, необходимо совершить прыжок во времени к истокам Биткоина.
Биткойн-скрипт
Биткоин нуждался в простом языке для управления транзакциями, и Сатоши решил использовать основанный на стеке язык, похожий на Форт (1970 г.), который называется Биткойн-скрипт. strong> или только Script.
Это простой язык, который не является полным по Тьюрингу, а это означает, что в нем отсутствуют определенные логические функции, включая циклы. Это было сделано для того, чтобы гарантировать, что никакие скрипты в Биткойне не вызовут больших вычислительных мощностей или взаимоблокировок из-за ошибки программирования.
Скрипт используется почти исключительно для блокировки и разблокировки биткойнов, поскольку с его помощью нельзя создавать приложения или запускать программы.
OP_коды
Коды операций — это простые команды языка сценариев, и каждая из них имеет очень специфические функции, позволяющие точно взаимодействовать с содержимым блокчейна.
Это коды операций, которые можно использовать в биткойнах.
На следующем изображении показано, как язык сценариев Биткойн работает с OP_Codes в сценарии проверки. Поток выполнения идет слева направо, и оператор справа выполняет действие слева, если это так.
6 2 ADD = 8 8 8 EQUAL = TRUE
Вот еще один пример с сценарием проверки P2PK, чтобы проверить, соответствует ли подпись с закрытым ключом открытому ключу из примера.
OP_Codes в Radiant
Radiant добавляет в скриптовый язык ряд функций, которые позволяют ему быть полным по Тьюрингу на основе математической индукции. Это добавлено в следующих расширенных OP_Codes.
OP_PUSHINPUTREF: ключ ко всему
Одна из больших проблем при управлении тегированными UTXOS, как и в случае с текущими порядковыми номерами, заключается в том, чтобы узнать историю до источника. Это можно сделать двумя простыми способами.
1/ С помощью внешнего скрипта, который проверяет источник и разрешает вывод (оракул).
2/ Добавление всей истории в один и тот же UTXO, что увеличивает ее непрерывно.
В Radiant это решается путем добавления уникальной и глобальной ссылки в эти транзакции, что позволяет эффективно проверять происхождение без необходимости использования оракулов или постоянного увеличения размера UTXO.
RadiantScript
Одной из самых сложных частей программирования с OP_Codes является их язык стека.
Чтобы решить эту проблему, мы работаем над RadiantScript, который станет первым интерпретатором программирования, который будет управлять потенциалом Radiant с его OP_Codes с языком программирования высокого уровня для смарт-контрактов в Сияющий.
Его синтаксис основан на языке смарт-контрактов Ethereum Solidity, но его функциональность сильно отличается, поскольку смарт-контракты в Radiant сильно отличаются от смарт-контрактов в Ethereum.
В настоящее время он находится на стадии тестирования и находится в процессе документирования программирования, поскольку содержит новые OP_Codes.
Будущее
Когда Radiant задумывался, это было сделано с идеей работать с Дня 1, а не ждать месяцы или годы, чтобы добавить разработки в цепочку. Уже сейчас можно использовать все его возможности, но самое сложное — это иметь программное обеспечение, которое может программировать в новых OP_Codes, а это требует времени и разработки.
Но будущее светлое, потому что этот новый код позволит конкурировать с большими цепями, такими как Ethereum, Cardano или Solana, с точки зрения потенциала.
(Это будет одна из многих статей, посвященных технической стороне Radiant, в которой и заключается весь его потенциал.)