Why Dusk Had to Put a Limit on Computation
I was thinking about this while looking at how smart contracts actually run on Dusk
At first a limit on computation sounded like a restriction
If a contract needs more work why not just let it keep running
Then I started thinking about what happens when hundreds of contracts are competing for the same network resources
A smart contract isn't running in some isolated computer
Its execution has to be processed by the network and every extra computation means more work for the nodes
So if there was no practical limit one complicated or badly designed transaction could consume a disproportionate amount of resources
That's where Dusk's gas model started making more sense to me
A transaction sets a gas limit and the network charges for the gas actually used. If execution runs out of gas the transaction reverts rather than continuing indefinitely
I also found an interesting detail in Dusk's engineering work transactions below the minimum gas limit can be stopped before processing, specifically to reduce unnecessary computational load and the impact of spam
So the limit isn't really saying
You can't do much
It's more like
You have to pay for the amount of computation you're asking the network to perform
That changed how I looked at it
For a financial blockchain predictable resource usage isn't a small technical detail
It's part of keeping the execution layer usable when lots of applications are running at the same time
I originally saw the computation limit as a limitation
Now I see it more as a way of making sure one contract doesn't get to treat the whole network like its personal computer
#dusk $DUSK @Dusk
I was thinking about this while looking at how smart contracts actually run on Dusk
At first a limit on computation sounded like a restriction
If a contract needs more work why not just let it keep running
Then I started thinking about what happens when hundreds of contracts are competing for the same network resources
A smart contract isn't running in some isolated computer
Its execution has to be processed by the network and every extra computation means more work for the nodes
So if there was no practical limit one complicated or badly designed transaction could consume a disproportionate amount of resources
That's where Dusk's gas model started making more sense to me
A transaction sets a gas limit and the network charges for the gas actually used. If execution runs out of gas the transaction reverts rather than continuing indefinitely
I also found an interesting detail in Dusk's engineering work transactions below the minimum gas limit can be stopped before processing, specifically to reduce unnecessary computational load and the impact of spam
So the limit isn't really saying
You can't do much
It's more like
You have to pay for the amount of computation you're asking the network to perform
That changed how I looked at it
For a financial blockchain predictable resource usage isn't a small technical detail
It's part of keeping the execution layer usable when lots of applications are running at the same time
I originally saw the computation limit as a limitation
Now I see it more as a way of making sure one contract doesn't get to treat the whole network like its personal computer
#dusk $DUSK @Dusk
