Temas en tendencia
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
1/ SIMD-0334, de Stanislav Ladyzhenskiy, corrige la comprobación de alt_bn128_pairing de llamadas al sistema de Solana. Agrega una verificación de longitud adecuada en los bytes de entrada para emparejamientos de curvas elípticas, evitando cualquier uso indebido con entradas de tamaño incorrecto. Analicemos lo que esto significa 🧵

2/ alt_bn128_pairing es una llamada al sistema para el emparejamiento en la curva elíptica BN128 utilizada en las pruebas de conocimiento cero. Toma una lista de puntos de curva como entrada. Cada par de puntos tiene 192 bytes, por lo que las entradas válidas deben ser un múltiplo de 192 bytes de longitud.
3/ El problema: la comprobación de longitud utilizó incorrectamente el checked_rem de Rust. checked_rem solo devuelve Ninguno en la división por cero, por lo que la verificación nunca falló con 192. Como resultado, la llamada al sistema de emparejamiento se ejecutaría incluso si la entrada no fuera un múltiplo de 192.
4/ La solución: verifique que la longitud de entrada sea un múltiplo de 192 y error si no es así. Esto captura los bytes sobrantes inmediatamente en lugar de ignorarlos silenciosamente. Los cambios de código están en solana-sdk y se envían con Agave v3.1.0.
1.26K
Populares
Ranking
Favoritas