6

Is it possible to prevent mining on a closed block chain, in a sense that only a set of addresses are allowed to perform transactions but are not allowed to mine?

Mining should always be done by a preselected number of nodes with known addresses.

The solution would be preferable to use pyethapp or pyethereum.

Sebi
  • 5,294
  • 6
  • 27
  • 52
  • 1
    You can setup geth such that it will no discover new nodes and has a maximus set of peers, with a list of predefined static nodes (http://ethdocs.org/en/latest/network/connecting-to-the-network.html). Althought this setup will not reject invalid nodes. Together with firewall rules to drop connections from unknown locations may work for a tests. – Ismael Jun 03 '16 at 21:45
  • Thanks. I was thinking at a solution based on white listing; allow only transactions from a known set of addresses and discard all others. I wonder if that is possible in the python implementations? – Sebi Jun 03 '16 at 21:57

2 Answers2

7

What you are searching for is a permissioned blockchain. Default node clients like geth, eth or pyehtereum does not implement this kind of functionality, so you need something more complex that implements a permission layer.

Some good starting points are the Eris platform (my preferred, I like the overall architecture and the Docker approach) or the BlockApps STRATO platform, Ethereum platform out-of-the-box and Microsoft Azure ready.

See this post by Vitalik Buterin for more info about public and private blockchains.

Giuseppe Bertone
  • 5,487
  • 17
  • 25
2

You basically can start some geth with and some without --mine. If you really want to enforce this then you should configure the machines with privileges so that they can only start a script that mines and some who don't. Simple Sysadmin task right?

Roland Kofler
  • 11,638
  • 3
  • 44
  • 83
  • No, it is not a simple task since it violates the distributed principle of the block chain. My setup is that I have an instance on pyethapp running on a machine and one on a separate machine (these boxes have distinct network addresses) and the one that initially stores the block chain should not allow the other to mine. – Sebi Jun 03 '16 at 09:49