Syndica ciężko pracowała nad trzecią implementacją klienta walidatora @Solana, Sig, i właśnie zakończyliśmy naszą implementację SVM i Runtime ✅ Zanurzmy się głębiej 👇 🧵
Każdy walidator Solany ma tę samą, brzmiącą prosto rolę: wykonywanie transakcji i aktualizowanie kont. Ale oprogramowanie, które faktycznie wykonuje tę pracę—środowisko uruchomieniowe—jest zgoła nieproste.
Ten post przeprowadzi przez runtime od zewnątrz do wewnątrz. Zaczniemy od replay, głównego wywołującego runtime, który dostarcza bloki z księgi.
W ramach działania zaczniemy od procesora bloków, gdzie zachodzi paralelizacja, oraz procesora transakcji, gdzie tak wiele szczegółów specyficznych dla Solany musi być obsługiwanych poprawnie.
Na koniec opiszemy procesor instrukcji oraz szczegóły niskiego poziomu wirtualnej maszyny sBPF, w której wykonywane są programy Solana
Implementacja SDK zero-knowledge od Sig jest szybsza niż Agave i w przybliżeniu na równi z Firedancer. Zyski wydajności są częściowo wynikiem: - Silnie zoptymalizowane SIMD dla Edwards25519 / Ristretto255 - Brak alokacji w stercie - Bardziej optymalne porządkowanie mnożenia wieloskalarnych (MSM)
16K