Syndica усердно работала над третьей реализацией клиента валидатора @Solana, Sig, и мы только что завершили нашу реализацию SVM и Runtime ✅ Давайте углубимся дальше 👇 🧵
Каждый валидатор Solana выполняет одну и ту же, на первый взгляд, простую задачу: выполнение транзакций и обновление счетов. Но программное обеспечение, которое на самом деле выполняет эту работу — среда выполнения — далеко не простое.
Этот пост проведет вас через выполнение программы снаружи внутрь. Мы начнем с воспроизведения, основного вызова выполнения, который подает блоки из реестра.
В рамках выполнения мы начнем с процессора блоков, где происходит параллелизация, и процессора транзакций, где необходимо правильно обработать множество специфичных для Solana деталей.
Наконец, мы опишем процессор инструкций и низкоуровневые детали виртуальной машины sBPF, в которой выполняются программы Solana
Реализация SDK нулевого знания от Sig быстрее, чем у Agave, и примерно на одном уровне с Firedancer. Увеличение производительности отчасти связано с: - Сильно оптимизированными SIMD-алгоритмами для Edwards25519 / Ristretto255 - Отсутствием выделений памяти в куче - Более оптимальным порядком многоскалярного умножения (MSM)
17,66K