6

I have a on-going small private chain could be seen here. I have only few nodes, hence difficulty is pretty low and average block time is high (around a minute). So it can easily attacked with someone who has high computational power, overall it is not that useful and trustable chain.

I want to change my on going private-chain's consortium as from Proof-of-Work into Proof-of-Stake, if possible instead of creating a new chain, I want keep my chain's information. Please note that I control all nodes in the network.

Theoretically,

[Q] Is it possible to change Proof-of-Work into Proof-of-Stake consensus algorithm of an on-going Ethereum private chain? or in order to accomplish this, do we have to create a new chain initialized with Proof-of-Stake consensus algorithm on the genesis block? If yes, how?

[Q] What is the difference between Parity's [ 1 ] and Nixops [ 2 ] approach? Which one is recommended to use?

Some references I found related to this topic:

Rinkeby Ethereum testnet, which uses Proof-of-Authority,
Proof of Authority Chains [ 1 ] and Rolling your own Proof-of-Authority Ethereum consortium [ 2 ].

Thank you for your valuable time and help.

9
  • Have you got your private chain running just with a few custom parameters or have you put them into geth and recompiled , I would love some help updating geth rather than keep running with a bunch of parameters.
    – Lismore
    Commented Jan 15, 2018 at 16:56
  • This is how I run on geth, I have use geth with a few custom parameters: geth --networkid <someNumber> --verbosity 3 --datadir="$datapath" --rpc --rpcaddr="localhost" --rpcport 8545 --rpccorsdomain="*" --maxpeers=512 --rpcapi "admin,eth,net,web3,debug". CustonGenesis.json File: gist.github.com/avatar-lavventura/…
    – alper
    Commented Jan 15, 2018 at 17:21
  • I am the same, I have tried updating GETH code and recompiling but I am missing something and cannot find anyone that knows exactly what to change.
    – Lismore
    Commented Jan 16, 2018 at 10:00
  • Are you trying to do the same, change PoW into PoW? @Lismore
    – alper
    Commented Jan 16, 2018 at 10:25
  • 1
    watching patiently the github repos for some clues
    – Lismore
    Commented Jan 16, 2018 at 14:29

2 Answers 2

1

I found that the parity source code has a modular architecture that allows you to switch consensus algorithms.

Take a look, they give several examples. They do not have a proof-of-stake one that I can see yet but my best guess here is that using Parity you should be able to switch round the algorithm and retain the chain. Yet to be tested with Casper.

https://paritytech.github.io/wiki/Pluggable-Consensus

3
  • Which algorithm did you switch to? Does is changes the genesis block or does it remains same? @Lismore
    – alper
    Commented Jan 23, 2018 at 17:07
  • I think this creates a new chain. @Lismore
    – alper
    Commented Jan 24, 2018 at 11:53
  • I have not switched any algorithm yet I just came across it while looking for a way to embedded all my custom parameters into the code base of geth. I remembered you were looking a way to switch algorithms. I assume and maybe someone on the development team of parity could clarify but with this pluggable architecture the result of the consensus algorithm should be in the same format as the existing chain expects for it to continue running with a different algorithm. PoS does its thing block gets added to chain as normal,
    – Lismore
    Commented Jan 24, 2018 at 12:59
1

This is what is going to happen on mainnet too. One PoW chain(Mainnet) will change to PoS chain.

Any private chain running POW is in no way different than the mainnet chain. Both can have a switch from POW to POS in similar manner.

The question is How?

I am looking for answers to this question.

  • Parity has an issue to track progress on Casper.
  • Instructions to run Casper in alpha phase are here
  • It is mentioned in paper above that Py-eth and ethereumJ have their monitoring available at http://34.203.42.208:3000
2
  • In my opinion it is not possible to change PoW chain into PoS since it requires to change genesis block without having a hard-fork. @Ayushya
    – alper
    Commented Apr 27, 2018 at 11:11
  • 1
    Yes, a hard fork will happen but that won't result in the loss of data of the existing chain
    – Ayushya
    Commented Apr 27, 2018 at 11:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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