“Each computational step has a cost and users pay for it in ether. Whenever you tell the network to run a piece of code, you also tell it the maximum amount of ether you’re willing to pay. The machine will stop working if it doesn’t get enough money to run the program.”