¿Puede una transacción tener una tarifa negativa?

Sé que hay algunos códigos de operación que tienen costos de gas negativos (ver esto ). Entonces, si envío una transacción que llama a una (o varias) instancias de estos códigos de operación, ¿el gas utilizado será negativo? es decir, ¿aumentará mi saldo?

Respuestas (3)

No, las instrucciones que tienen gas negativo solo pueden reducir el otro gas gastado en la transacción. Del papel amarillo :

Reembolso de gas hasta la mitad del gas gastado

A r es la suma de los reembolsos de gasolina en todas las instrucciones de reembolso de la transacción. El reembolso tiene un tope de la mitad del gasto total de gasolina.

De la pregunta a la que se vincula:

Los únicos dos OPCODE con costos de gas negativos son STORAGEKILL(-15000) y GSUICIDEREFUND(-24000).

Esto ocurre cuando se eliminan los valores de almacenamiento o se suicidan los contactos.

Ya habrá tenido que instanciar un contrato en la cadena de bloques para que estas llamadas sean relevantes. Eso le costará una cierta cantidad de gasolina (distinta de cero, positiva).

Al realizar estas llamadas de gas negativo, recuperará parte del costo original. En general, todavía estás fuera de tu bolsillo.

Tiene razón sobre el general, pero me pregunto qué sucederá con una sola transacción, digamos, que eliminará los datos de cinco transacciones anteriores.
No puedo encontrar el código de operación STORAGEKILL en las nuevas fuentes, Richard

Interesante pregunta.

A menos que esté muy equivocado, la respuesta es 'no'. ¿De quién vendría la tarifa negativa?

La transacción en sí tiene un costo en gas (fee). Es de esta tarifa que se toma el costo de los códigos de operación negativos. La tarifa no puede ser negativa, de lo contrario, tendría que provenir de algún lugar, y solo hay dos lugares de donde puede provenir: el minero ganador del bloque actual (que es casi seguro que es un minero diferente al que ganó el bloque). que establece los datos), o tendría que salir de la nada. Ninguna de las dos cosas suceden.