Not a bad plan. I am surprised more coins don't do this.
That's cause they're not 51% proof; this coin has a different concept.
More no. of nodes means less chance of the bad blockchain syncing.
and there is the rub. You're not 51% proof, you're just hoping that no one ever sees a malicious mode. In fact, I'd say this is even easier to fork than a standard PoW coin, because all you have to do is mint 3 or 4 blocks ahead, and your coin will fork itself off, and then it's just a matter of getting nodes to see the malicious nodes before your legit nodes (ie, easily done with a DDoS).
Posting your IP address here is dangerous in itself of course as well. Let's hope there is no security flaw in your wallet cause otherwise you're painting a huge target on people.
Refusing to accept a superior blockchain is not "51% proof", it just means that when a node gets forked off, it will never recover by itself, leading to even more dangerous actions happening, such as if hash power leaves the chain (and then it becomes even easier to 51% the old chain).
Also, before you ask, your 51% "bounty" would not cover my time.. up it to something more lucrative, and maybe I'll prove it
If a synced node sees a malicious node it'll be disconnected. The nodes which are syncing are vulnerable that too if the attacker node has forked the chain from a certain block height to which the node has not synced yet.
Even if that does happen, damage can only be done if the target node is the receiver and the attacker is the sender. The bad chain will not propagate, but be isolated. Limited damage.
because all you have to do is mint 3 or 4 blocks ahead
There's nothing called 'ahead'. The attacker has to be immensely powerful to create a forked chain with identical difficulty to that of the main chain; and what will happen even if he does that. Can you elaborate?
Also the attacks that you've listed here are not 51% double spending attacks.
easily done with a DDoS
The wallet has a habit of persisting on it's chain regardless of how many bad nodes connect to it or how many bad blocks do the bad nodes send in order to unconfirm a transaction.
What kind of DDoS?
Refusing to accept a superior blockchain is not "51% proof"
Unfortunately superior does not mean genuine. BIGcoin persists on the genuine chain, not superior like other cryptos. Since superior = more hashing power != genuine, BIGcoin rejects the superior chain.
when a node gets forked off
The situation when long forks are desirable is when there's a coincidence of multiple genuine conflicting miners (considering non-restricting networks). The probability of the coincidence is very low and reduces dramatically as each block gets added in either of the forked chain. By the time 12 blocks have been mined on the forks, the probability has reduced to a practically impossible value. Had this not been true, a 51% attack would've been a coincidence. Till date, off all cryptocurreny history and the billions of blocks mined, this coincidence has never happened. A 51% attack requires skills, it can't be done by chance.
There is only one configuration in which long forks are genuinely made - when the miners produce forked blocks at the same height. If some miner has made a block at, say the 3rd or 4th last block (or lower than that), then it points to either 1 or 2.
Let's take an e.g. of a set of miners A and B. Suppose A mines a new block (named 100A, where 100 is depth and A is the miner's name), but before the block reaches B, B generates a new block (100B). In this situation a fork is made. B continues to mine on on 100B and A continues to mine on 100A. Let's take the probability of this happening -
(probability of B mining block 100B (depends on hash rate) at time t)*(probability of A mining block 100A (depends on hash rate) at time t+D)
Where D is the delta; D is a unit of time which is less than the time it takes for a block to traverse; that's why B found a new block and broadcasted it to the network without marking it stale.
A high hash rate and low difficulty will increase the probability of of a forked block. This is where eDRv2 kicks in and makes this situation less likely than normal.
There is low (but not impossible) probability of this situation.
For this fork to continue, B should generate a new block 101B, and A should generate a block 101A before each of the blocks reach the other set of miners. So the the probability involved here is -
(probability of B mining block 100B (depends on hash rate) at time t)*(probability of A mining block 100A (depends on hash rate) at time t+D)*(probability of B mining block 101B (depends on hash rate) at time T)*(probability of A mining block 101A (depends on hash rate) at time T+D)
So this is exponentially unlikely to happen and we're still at just the 2nd block of the parallel forks.
The game changer difference between this and the 100A/B situation is the difficulty of 101A/B. For A to continue mining on 101A and for B to continue mining on 101B, the difficulty of both these blocks must be identical; that means blocks 100A/B must have identical timestamps. So d has to be less than a second; otherwise one of 101A/B will be selected as the main chain.
All this has to happen for each block till block 12 (or 6, depending on the coin); so a 51% attack by coincidence is impossible to happen; and we've seen this happening.
if hash power leaves the chain (and then it becomes even easier to 51% the old chain).
Regardless of how powerful the attacker is once a transaction is confirmed (12 blocks), you cannot reverse it.
Also, before you ask, your 51% "bounty" would not cover my time.. up it to something more lucrative, and maybe I'll prove it Wink
A new version of the wallet will solve the edge attack problem. After that the bounties will be raised.