[Ethereum] Disable mining/gas/ether or set really low

gasgas-price

When building a private ethereum network, with trusted Nodes (companies, investors, etc.) who all contribute to verifying the transactions.

Three related questions/options:

  • Would it be better/possible to disable gas, or set it to 0? Or to set it really low and mining reward really high, so it should never matter how much something costs, since all nodes should be trusted anyways. Although you still need to somehow prevent loops or crashing contracts.

  • Is it possible to disable mining, and give every new node in the network a ridiculous amount of ether or gas, so they would realistically never run out? Or is this a very naive idea? And can you have gas without ether?

  • Is it possible to disable ether altogether and have gasprice at 0, so you still would have to give an amount of gas for each transaction.

Best Answer

There are several different options for a private/consortium chain setup:

  1. Use a custom genesis block to set the difficulty level for mining to make it less intensive. Only turn mining on for some of the nodes that are participating in the network. In addition, you can pre-fund specific accounts
  2. Use something like Parity's Proof of Authority chain to configure who the validators for the chain will be
  3. Create a permissioned ledger using something like HydraChain that does not require Proof of Work and provides faster block generation in addition to full customization of gas, transaction fees, etc...

These approaches should address some of your questions. But keep in mind gas plays an important role when it comes to the execution of contracts. One of the main motivations behind gas is to prevent the Halting problem. Which means without gas, it would be possible to create a contract that could potentially run forever opening up the possibility of various attacks such as Denial Of Service.

Related Topic