For example, if a private chain genesis is distributed to a group of approved peers, however a peer makes this genesis block publicly available. How can one prevent unwanted users from joining the network, mining and then creating contracts/reading data?

If this isn't possible, is there a way to invalidate false publications? Only way I can see is moving against the decentralised model by creating a unique smart contract that contains keys for credible publishers? This contract only being modifiable by the owner.Then again, what stops a peer from leaking their key.

I guess a solution would be to check that contracts are published from a particular owner address, but I don't believe there is functionality to retrieve the address without using a scanner to return the initial transaction?


A private blockchain in which the bootstrap node or genesis block leaks is considered a public blockchain as everyone can connect to the bootstrap node now.

Afaik however with Geth Clique (POA) you can set sealers before generating the genesis block.

With other Ethereum implementations like Hyperledger Burrow or Quorum you get a permissionsets.

  • Thank you for your answer, I will definitely investigate Burrow and Quorum however I was wondering if anyone has thought up a creative solution while sticking to the native protocols as that is what I have worked with previously.
    – Hughes_J
    Jun 12 '18 at 15:27
  • As it was originally designed as an open/public protocol there might not be a solution per se. There is however an argument to be made that your average user will/should/can not be bothered with spinning up full nodes. We're for example working on a proof of concept that we aim to use internally in our company. It will run on Geth Clique with three pre-defined sealers, none of our employees would be interested in running a full node themselves also because we want to provide a low entry barrier for the average non-blockchain person. Jun 13 '18 at 11:06

You could fork Ethereum, change the miner's reward to 0 and allocate a fix amount to one of your addresses.

Even if somebody would start to mine on your fork, they'd get no Ethereums, so they wouldn't be able to deploy smart contracts or make any transactions.

  • Excuse my lack of knowledge, but with the miners reward set to 0, the nodes that are initially allocated gas will retain this gas when publishing? If this is the case could nodes with 0 gas then still publish? If they don't retain the gas, it would be possible for the chain to eventually run out?
    – Hughes_J
    Jun 13 '18 at 11:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.