That is my view, if my node can't keep up I'd rather it just automatically fall off of the P2P network. Then my options would be either 1) invest more resources to run it or 2) decide to stop running a full node all together. I would rather take one of these two options than hold back the network from fully functioning.Honestly, if I think about it, even for peace-of-mind, I rather let my node follow the cumulative-hashpower-wise longest chain of valid transactions rather than kick out blocks that would be valid.
Thoughts?
[doublepost=1447264034,1447263320][/doublepost]
Thin blocks are transmitted blocks where only the transaction hashes are sent. Since transactions should already be in the mempool of other nodes, receiving nodes can look up transactions from in their own mempool based on the hash and can reconstruct a full block from that. Transactions that were not pre-announced or which a node did not receive yet (unlikely) need to be requested. It's really simple.@rocks
I haven't studied thin blocks yet. Can you summarize them quickly?
Offhand it doesn't sound like iblt plus fees would stop a f2pool multi input single tx exablock attack would it? I can't remember if it had much in the way of fees because of its construction. I'll have to look.
You could also layer IBLT on top of that and send a compressed IBLT packet of hashes. Then the receiving node would first reconstruct the hash set from the IBLT packet and then the full block from the hash set. That would take the 14x reduction thin blocks provide and layer the full benefits of IBLT on top of that. I forget IBLT's compression ratio that Gavin was seeing, but it's likely we'd see a full 50x or 100x reduction in transmission requirements at least (probably more). This means we could go to 100's of MB blocks and still only transmit single digit MB packets to communicate new blocks.
Of course transmitting historical blocks still requires the full block to be transmitted, this means that nodes catching up would require significantly more network bandwidth than current online nodes. It probably means that over time catch up nodes would need to subscribe to some service to catch up properly.