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, в которой и заключается весь его потенциал.)

Библиография