Cargando precios…
🩸BEARISH

Solana v1 podría congelar RPC y romper límites de comisiones

Antes del mainnet, los modos de fallo se esconden en la capa de infraestructura: los topes de comisiones de los relayers se desactivan silenciosamente como no-ops y los congelamientos de RPC no afloran hasta que tráfico v1 real aterriza en la cadena.

El formato de transacción v1 de Solana eleva el techo de carga útil por transacción de 1.232 bytes a 4.096 bytes, aproximadamente un salto de 3,3 veces, y ya está activo en testnet y devnet (epoch 1140). La activación en mainnet sigue pendiente en la página de actualizaciones en vivo de Solana, con un changelog del 28 de agosto que señala que las transacciones v1 estaban "coming soon". Esa ventana es la antesala de dos trampas de compatibilidad muy distintas para la infraestructura circundante: los clientes RPC que no se actualicen pueden congelarse de plano al encontrar una transacción v1, mientras que los indexadores, relayers y patrocinadores de comisiones pueden seguir corriendo y reportar silenciosamente límites de recursos incorrectos.

Por qué importa

El titular del aumento de carga útil es el punto fuerte de la actualización, pero los modos de fallo se esconden en las tuberías que la mayoría de los usuarios nunca ve. Los clientes RPC que no pasen maxSupportedTransactionVersion: 1 recibirán el error -32015 en las solicitudes v1 getTransaction, verán getBlock fallar por completo cuando una transacción v1 caiga en un bloque y observarán que blockSubscribe emite block: null y deja de avanzar en el primer slot afectado. El riesgo más silencioso reside en el manejo de ComputeBudget. V1 mueve los límites de compute-unit, los límites de datos de cuentas cargadas y las comisiones de prioridad a un objeto transactionConfig, por lo que cualquier indexador que siga escaneando instrucciones de ComputeBudget reportará un presupuesto cero sin lanzar error, y cualquier relayer que aplique un tope de comisiones leyendo esas instrucciones las verá ejecutarse como no-ops, desactivando el tope vinculante que creía estar aplicando. Los consumidores de Geyser y gRPC afrontan una trampa de etiqueta de versión relacionada porque el flag versioned del protobuf es true tanto para v0 como para v1, lo que permite que stubs obsoletos persistan con un presupuesto vacío.

Impacto en el mercado

Solana lo presenta como un fallo de control de aplicación y no como un defecto de consenso, así que los fondos no están automáticamente en riesgo. El radio de impacto, no obstante, cubre cada paymaster, explorador, stack de custodia y programa on-chain que introspecciona ComputeBudget, ya que ninguna sysvar o syscall actual expone la configuración de mensaje v1.

Tokens relacionados
$SOL

Preguntas frecuentes

  1. ¿Qué es el formato de transacción v1 de Solana?

    Es un formato de transacción actualizado que eleva el techo de carga útil por transacción de Solana de 1.232 bytes a 4.096 bytes, aproximadamente un aumento de 3,3 veces. Las transacciones legacy y v0 mantienen sus límites y comportamiento, así que las aplicaciones que se queden en esos formatos no necesitan migrar.

  2. ¿Cómo afecta el bug de congelación v1 a los clientes RPC?

    Los clientes RPC que no pasan maxSupportedTransactionVersion: 1 reciben el error -32015 en las solicitudes v1 getTransaction, rompen getBlock por completo cuando una transacción v1 cae en un bloque y observan que blockSubscribe emite block: null y se congela en el primer slot afectado.

  3. ¿Por qué las comprobaciones de tope de comisiones en v1 se rompen silenciosamente?

    V1 mueve los límites de compute-unit, los límites de datos de cuentas cargadas y las comisiones de prioridad a un objeto transactionConfig. Los relayers y paymasters que aplican topes de comisiones escaneando instrucciones de ComputeBudget ven esas instrucciones ejecutarse como no-ops en v1, por lo que el tope deja de…

  4. ¿Están en riesgo los fondos de los usuarios por la actualización v1 de Solana?

    No. El análisis lo presenta como un fallo de control de aplicación y no como un defecto de consenso, y los fondos de los usuarios no están automáticamente en riesgo. El riesgo está en relayers, exploradores, stacks de custodia y programas on-chain que introspeccionan ComputeBudget y necesitan actualizarse antes de que…

  5. ¿Qué versiones de software manejan correctamente Solana v1?

    Las versiones con capacidad de lectura incluyen @solana/kit 8.0.0, @solana/web3.js 3.0.0-rc.3, Rust solana-* 4.2.x, Python solders 0.29.0, solana-go 1.23.0, yellowstone-grpc-proto 12.6.0, geyser plugin 15.1.1 y gRPC client 12.0.0, según el stack.

Atribución de fuente
Agregado de CryptoSlate · Verificado · Última actualización hace 47d
Abrir original →