Hi,
While digging in robustness and taking advantage of node's potential automatic content mirroring feature, I would like to submit a test-case here. Assuming we have 3 nodes, one being the 'master' one, all others being 'slaves' ones (through -initprivkey and -autosubscribe option on multichaind command line). So, all slaves nodes subscribes automatically to stream created on master and reverse (when a value/stream is added on a slave node). Square situation. If one node is down, even badly (hence no more wallet file etc...), a remaining 2 slaves configuration, or one master-one slave configuration can continue working (assuming one have some top API/mechanism balancing seamlessly in-between available nodes (e.g. somehow one of the remaining nodes becomes the newly 'node of contact/entrance' etc...)).
Now, let's consider the addition of publishers notion to streams in such multi 'clone' nodes configuration, in order to manage some read/write access to streams (one stream == one publisher (e.g. address/wallet)). So let's say one address is created on one node (local, not shared with other nodes, normal situation), a new stream created on the same node (distributed to all nodes, the new streams is visible in all nodes), data published to that stream on behalf of the newly created address (publishfrom - distributed to all nodes, the new data is visible on all nodes, including the new address 'broadcasted/recorded' as the data's publisher). But, if the node where the new publisher was created crash badly, other nodes can not continue publishing on behalf the new publisher because of the lack of the new publisher's private key (which was lost in the node's crash).
Hence my question: what are my options here if I want to be able to publish to the new stream on behalf of the new publisher from the other (remaining) healthy nodes (like if no crash occurred)?
I would like/expect here some MultiChain 'built'in' options, not external one based on some backup feature (dumpwallet...), in order to transmit private key... which is not something good to do... I guess. My silly mind may imagine storing private keys in a dedicated stream (which will be automatically and naturally transmitted to all nodes - e.g. one address is created on one node, the associated private key is pushed to some dedicated stream). Then, when a node try to publish on behalf an address it does not know locally (because the address was created on another node), it searches in the dedicated stream for the associated private key, use the importprivkey function and then publish the data to the stream... seamless from user point of view, no file/backup manipulation etc...
What do you think? How silly/dangereous is that (using a stream to automatically store/broacast/transmit/propagate private keys among nodes in order to ensure high availability)? Any other option? Fire at will.
Thanks.