Sync Accounts and Balances between different nodes of the same chain

+4 votes
Dear MultiChain team,

Is it possible to sync Accounts and Balances between different nodes of the same blockchain automatically?

Based on what I noticed, every time an address is added or  an asset is issued, they stay within the node and won't be replicated to other nodes within the chain, unless I manually import them across. Therefore, if I have 3 nodes, I am ending up with 3 sets of different accounts and balances.

Would be great if there is a way to maintain one set of accounts and balances between all nodes of the same chain, so that a transaction (transfer from one account to another) could be sent to any of these nodes.

Please advise if I am missing a feature that's already built or if there is a workaround for this problem.

Thanks in advance.

asked Apr 4, 2017 by Naveen

1 Answer

0 votes
Blockchains are designed for a separation of control, and sharing addresses automatically in this way means sharing their private keys, which removes all notion of separation of control. So in general the answer is to import the addresses (or private keys) manually from one node to another. However you can of course build something at the application level which reads and writes private keys over a MultiChain stream.
answered Apr 5, 2017 by MultiChain

Thanks very much for the reply.

Of course it makes sense if each node belongs to a different party, and they don't share their accounts or private keys across nodes.

However, the use case that I am exploring is just one party owning all the nodes (multiple nodes purely for the sake of resiliency and high availability). I assume Multichain is not suitable for this type of use case where all the  nodes belonging to one party and have lots of internal sub accounts?

Thanks again, much appreciated.

You could use MultiChain for this, but for this kind of use case you might want to consider using a regular distributed database instead, since you don't need all of the extra features that blockchains provide.