En la página de Sutilezas de Ethereum (en gran parte mantenida por VB) se establece lo siguiente en Condiciones excepcionales :
- Si una transacción desencadena una excepción, entonces:
- La transferencia de valor del remitente al destinatario aún se lleva a cabo.
Esto no coincide con mi entendimiento, mis pruebas o, creo, el Libro Amarillo que dice en la sección 8 (énfasis mío),
si la ejecución se detiene de manera excepcional (es decir, debido a un suministro de gas agotado, subdesbordamiento de pila, destino de salto no válido o instrucción no válida)... el estado se revierte al punto inmediatamente anterior a la transferencia de saldo
Curiosamente, Chriseth agregó un aviso el 16 de febrero en el sentido de que algunas cosas sobre la reversión de las transacciones de Ether estaban mal. Este aviso fue eliminado el 17 de junio por vbuterin.
Entonces, ¿el documento de Sutilezas es incorrecto en esto, o estoy malinterpretando algo?
Como puedo ver, Vitalik actualizó lo que creía que era la totalidad de las sutilezas y eliminó el aviso agregado por Chris.
Las líneas que anota no se cambiaron.
También estoy de acuerdo en que esto es incorrecto y, como tal, sospecho que esto fue simplemente un descuido. He twitteado a Vitalik y Chris, ¿quizás puedan comentar?
benjaminion
criseth
benjaminion