0
In case I'm a selfish miner and have successfully forked the blockchain, I'd like to know the state of progress of my honest nodes at any given time - how can I achieve this?
Do peers on separate blockchains exchange information about their progress through data messages?
Let's look at this scenario for a better understanding:
selfish node=s; honest node=h
s: mine a block#1 (child of genesis block), don't report
h: mine block#2, block#3 publicly
s: mine block#4, block#5 secretly (don't report)
h: mine block#4 publicly
s: get information what block height the honest network is at!?
NOTE:
pindexLastCommonBlockdoesn't seem to be helpful since calling its height would say that last common block is 3, but does not say what height honest nodes are at.setInventoryKnownin case of a fork stores all blocks ever mined.
peers on separate blockchains- If by separate blockchains you mean different coins, these peers don't talk to each other at all. If you mean peers working with the same blockchain but at different points in the synchronization process, these peers do exchange data messages. – morsecoder – 2015-06-22T20:01:23.983No by separate blockchains I mean on separate subchains with a common forked block. – Aliakbar Ahmadi – 2015-06-22T20:03:59.703
I don't see how that's any different from the second situation I posed in my first comment. – morsecoder – 2015-06-22T20:16:22.697
Ok if its the same thing as what you mean by node with different sync points, then we talk of the same phenomenon – Aliakbar Ahmadi – 2015-06-22T20:57:16.643