Al principio asumí que el gas en la VM de Dusk’s Rusk era sobre todo una salvaguarda para que los contratos no consumieran demasiada computación. Pero cuanto más miraba, más me llamaba la atención la frontera contable. Cada función de la VM tiene un costo de gas, mientras que las transacciones tienen sus propios límites de gas y los bloques también operan dentro de un límite de gas. Lo que me llamó la atención es que la computación, por tanto, está acotada en varios niveles, no solo dentro de una llamada a un contrato. Una transacción tiene que mantenerse dentro de su propio presupuesto, pero también pasa a formar parte de una restricción mayor de recursos a nivel de bloque. Eso crea una pequeña dependencia que no había considerado realmente antes: los límites de ejecución local todavía tienen que encajar en una capacidad compartida. Una transacción puede ser válida dentro de su asignación mientras, aun así, contribuya a la computación finita disponible para el bloque en su conjunto. Tal vez esa sea simplemente la compensación de mantener acotada la computación general. Así que la pregunta más silenciosa es cómo deben calibrarse estos límites locales cuando cada transacción, en última instancia, comparte el mismo bloque?
#dusk $DUSK @Dusk
#dusk $DUSK @Dusk
