Приветствую всех читателей блога! Из сегодняшней статьи вы узнаете еще больше про FUPE основы. Продуктивного чтения!
Что такое FUPE?
FUPE = FU (Functional Unit) + PE (Processing Ellement)
Базовой причиной ввода FUPE является необходимость ограничить смарт-контракты по «необходимому и достаточному» функционалу для соблюдения различных tade-offs – компромисов целостности и эффективности всей системы.
FUPE будет замкнуто на специализированный функциональный язык программирования GOL.
Базовые блоки для FUPE будут отбираться особенно тщательно.
Привычная модель контрактов на базе Ethereum EVM требует идеологического расширения при переходе к более сложным dApps (за пределами концепции Solidity).
Например, для запуска Android приложений используется Dalvik VM, которая является регистровой машиной. В то время как EVM является стековой машиной (для упрощения и безопасности – как задумывалось).
Поэтому если мы хотим сделать что-то вроде блокчейн-телефона [Sirin Labs], то мы должны перейти к регистровой машине. Но еще лучше, если новая VM будет поддерживать и стековую часть (EVM), и регистровую (Dalvik) путем кластеризации функционала.
Мы создали такую VM – GONT VM. GONT VM – виртуальная машина нового поколения! Она является базисным контейнером для всего FUPE функционала.
Одновременно, GONT VM должна быть (и является) «поцикловым эквивалентом» для rtl (Verilog, VHDL) кода – для дальнейшей реализации в HW.
Гибридные языки контрактов:
Языков для написания контрактов существует много (помимо Solidity), и некоторые делают успехи. Например, проект NEO поддерживает контракты на .NET и заключил партнерство с Microsoft, что очень положительно сказывается на капитализации проекта.
AlGas и PIPE любой длины:
При исполнении транзакции создается канал транзакции (TREVAL), который реализует функциональный Pipeline произвольной длины.
Pre-Exec и роутинг:
Концепция Pre-Exec дает способ реализовать динамическое создание канала исполнения транзакции.
Классификация FUPE:
- Простые: Registers, ALU, FPU
- Сложные: VES
Типы данных:
GONT расширяет возможности обработки потоков данных. gVM ядра имеют интерфейс для работы с большими потоками данных, например видео.
Например, для газа кодирования видео эта опция будет актуальной.
Требования к ядру gVM для реализации подхода AlGas:
- Автоматическая сборка из мета информации (об инструкциях и регистрах).
- Наличие как cycle accurate, так и fast model (почему не годится QEMU – отсутствие cycle accurate).
- Наличие интерфейса для верификации относительно rtl кода (для будущей реализации в HW).
Примеры GONT ONTO «владений» (GONT assets):
Линия Морозевича в Chess
Мотивация: продвижение своих виртуальных владений в историю.Рассеяние Клышко в физике (по имени первооткрывателя), а не просто спонтанное параметрическое рассеяние.
Мотивация: закрепить за первооткрывателем именной «актив».
Спасибо за внимание! До встречи.
GONT
Будьте осторожны, при публикации с приложения вы получите 10% бенифициарских в пользу golosio. Никаких предупреждений на этот счет не было.
https://golos.id/golosio/@golosio/12u6pb-golos-io-apdeit-android-prilozheniya