grin blockchain space could grow more than twice as fast than bitcoin. And actually bitcoin blockchain space grows more than twice as fast as bitcoin cash blockchain. Although bitcoin cash has much more blocks because of lower hashrate. With full blocks all the new nodes from davidtavarez could run out of memory within one month.
But since grin is for everyone there is no fundamental technical difference between spammers and for example a local community paying everything with grin within the community. Maybe the block weight limit should dynamically adjust if the chain becomes to big.
does grin technically support checkpoints as kind of user activated soft-fork protection against 51% attacks? My concern is, if ever enforceable contracts with grin are possible, and mining old blocks again seems cheaper than buying grin, I expect 51% attacks to fulfill such contracts.
I lack knowledge on checkpoints but it seems to me like they might introduce a possible chain split. If checkpoint is done every N blocks and at block N-1 two new blocks get mined simultaneously then how do they prevent a chain fork?
Disclaimer, I am not that knowledgeable on the topic either.
The way this is solved if I am not mistaken is that for a checkpoint, a nodes take a much older block since in that case any forks would have happened it would have been outraced by the ‘true’ chain. Another simple way would be to block making any any new checkpoint if a race is still going on since in that case you would not know which will become the main-chain and which a dead end fork.
Just my opinion, but instead of checkpoints I think it would be more useful to show the user a warning if chain split with an unlikely length is happening. Something like “Warning, a chain split has been detected of XXX blocks which could indicate a 51% attack, are you sure you want to send this transaction”.
For XXX we can just chose a threshold that is very unlikely to happen, e.g. only expected to happen at random every 420 years .
Doing late checkpoints is safer, but if i have enough resources i could still mine offline and time-attack with a reorg so that some nodes would create checkpoint A, some checkpoint B. But it’s true that that’s unlikely to happen unless someone hates this coin