@Mengerian,
@deadalnix: A couple thoughts while watching this:
- Yes, subchains would make it easier for miners to allow instant confirmation transactions. I wonder
whether this is not also something that we should explicitly 'sell' to the miners as an alternative to off-chain stuff? I mean, one off-chain case is the instant confirmation, and with Subchains we can get there for small value stuff (and I think fast confirmation is of interest mainly there). Instead of fee-avoiding payment channels ...
- I like the distinction between the different nodes, for example UTXO serving nodes for SPV clients.
- Regarding the UTXO block and 'necessity of validating since the genesis block'. I have heard that argument from various people that this is the only way to stay trustless, but I disagree there on the trustlessness. Because there is (
in theory, and this whole 'validating since genesis' idea is purely due to theoretical concerns!) no reason at all that I am not interacting with a made up world where a man-in-the middle handed me the
wrong Genesis block. There is no trustlessness.
Everyone is trusting the Genesis block. The difference with UTXO commitments and TXN data for a year would be that no-one invented another blockchain within that year
and got all that piled-up hashpower as visible in the blockheaders. So they'd also need to do that in secret and then suddenly convince everyone around the planet that they are the good guys. So I think that scenario of running from UTXO-commitments plus partial history is like today's full node security minus an arbitrarily small epsilon (with the epsilon depending on your willingness to validate old history).
- I am still not convinced that we're going to have or want sharding (not only specialization on function, but also on data), but I am willing to entertain the idea. And your talk at least made the picture a lot more clear to me what you imagine sharding will be. I think it would help here (for the next talk or so) to draw a nice picture with nodes and so forth and who's going to hold and/or validate what data.