Специализация и параллелизация вычислений приводят к повышению эффективности и безопасности. Об этом в новом эссе написал соучредитель Ethereum Виталик Бутерин.
Специализация и параллелизация вычислений способствуют повышению эффективности и безопасности. Об этом в новом эссе написал сооснователь Ethereum Виталик Бутерин.
Glue and coprocessor architectures:https://t.co/7CwdzKR0ix
— vitalik.eth (@VitalikButerin) September 2, 2024По мнению криптографа, это открывает возможности для увеличения децентрализации и упрощения аудита кода.
Согласно Бутерину, любые ресурсоемкие вычисления можно разделить на две части:
В первом случае лучше подходит обработка с помощью архитектуры, которая может иметь более низкую эффективность, но должна обладать очень высокой общностью (generality), во втором — с помощью архитектуры с противоположными свойствами.
В EVM эти две формы выполнения обрабатываются по-разному. Сложная бизнес-логика пишется на языке более высокого уровня вроде Solidity, который компилируется в виртуальной машине.
«Дорогая работа» запускается опкодами EVM (SLOAD и т. д.), но свыше 99 % фактических вычислений производится в специализированных модулях непосредственно внутри клиентского кода (или даже библиотек).
По мнению Бутерина, все чаще встречается архитектура, которую он называет «клей и сопроцессор». В ней есть некий центральный компонент — «клей» — с высокой общностью, но низкой эффективностью, который отвечает за передачу данных между одним или несколькими компонентами сопроцессора. Последний обладает низкой общностью, но высокой эффективностью.
Данные: vitalik.eth.limo.Соучредитель Ethereum пояснил, что представленная выше схема упрощена, поскольку на практике, к примеру в архитектуре ZKP, существует более двух уровней на кривой компромисса между эффективностью и общностью. Но, если упростить, достаточно думать о двух уровнях. Параллели этому есть во многих областях вычислений.
Данные: vitalik.eth.limo.Согласно Бутерину, вычисления только недавно стали настолько быстрыми, что затраты на бизнес-логику стали действительно незначительными. Это создало предпосылки для оптимизации VM, в которой выполняется бизнес-логика, для целей, отличных от эффективности — удобства для разработчиков, привычности, безопасности и т. п.
При этом специализированные «сопроцессорные» модули могут продолжать разрабатываться с учетом эффективности и получать свои свойства безопасности и удобства для разработчиков из относительно простого «интерфейса», который они имеют с «клеем», добавил он.
Становится все более очевидным, какие операции являются наиболее важными и дорогостоящими. Это наиболее заметно в криптографии, но актуально и для ИИ, и других областей.
Продолжая повествование, Бутерин делает вывод, что «клей» следует оптимизировать для улучшения его свойств, равно как и сопроцессоры.
Соучредитель Ethereum убежден, что EVM не обязательно должны быть эффективными, они просто должны быть знакомыми. Вычисления в неэффективной VM можно улучшить за счет добавления нужных сопроцессоров («прекомпиляторов»).
По его словам, оптимизирующие EVM команды порой приходят к выводу, что отсутствие параллелизации зачастую не является основным препятствием для масштабируемости.
Бутерин считает лучшими способами улучшения виртуальной машины:
В заключение соучредитель Ethereum отметил, что перечисленные тенденции позволяют:
Напомним, в августе разработчики проекта Starknet представили механизм одновременного исполнения нескольких транзакции в решении второго уровня.
Ранее ForkLog дополнил образовательные карточки материалом на тему параллелизации и ее влияния на масштабирование блокчейнов.