Zuerst ging ich davon aus, dass Gas in Dusk’s Rusk-VM hauptsächlich als Absicherung dient, damit Verträge nicht zu viel Rechenaufwand verbrauchen. Aber je genauer ich hinsah, desto mehr zog mich die Abgrenzung in der Buchhaltung in ihren Bann. Jede VM-Funktion hat einen Gaspreis, während Transaktionen ihre eigenen Gaslimits haben und Blöcke ebenfalls innerhalb eines Gaslimits operieren. Was meine Aufmerksamkeit fesselte, ist, dass die Berechnung daher auf mehreren Ebenen begrenzt wird, nicht nur innerhalb eines einzelnen Vertragsaufrufs. Eine Transaktion muss innerhalb ihres eigenen Budgets bleiben, wird aber zugleich Teil einer größeren ressourcenbezogenen Einschränkung auf Blockebene. Das erzeugt eine kleine Abhängigkeit, die ich vorher so nicht wirklich bedacht hatte: Die lokalen Ausführungsgrenzen müssen noch in eine gemeinsame Kapazität passen. Eine Transaktion kann innerhalb ihres eigenen zulässigen Rahmens gültig sein und dennoch dazu beitragen, dass der endliche Rechenaufwand, der dem Block als Ganzes zur Verfügung steht, aufgebraucht wird. Vielleicht ist das schlicht der Kompromiss, um allgemeine Berechnungen begrenzt zu halten. Die leiser wirkende Frage ist also, wie diese lokalen Limits kalibriert werden sollten, wenn am Ende jede Transaktion denselben Block teilt?

#dusk $DUSK @Dusk