What happens if a proposer does not propose (because he’s malicious, he’s DDoSed, or just because his machine crashed)? I guess there’s some mechanism to skip proposers?
State channels for instant finality! This could be useful for trading with high throughput. Please please please tell me how to do this!
Not state channels, and only for reduced latency and not increased throughput, but something like this might be interesting (from Layer-2 solutions for latency reduction and anti-front-running):
The proposal mechanism would be able to cryptoeconomically commit to including transactions potentially much faster than the block time.
For Plasma Cash, such a scheme could work something like this:
- Sender sends transaction to proposer
- Proposer responds with signed receipt
- If the proposer does not include the transaction, the sender can challenge on the main chain with the receipt and a proof of non-inclusion. During a counter-challenge period the proposer can submit a proof that the transaction has already been included in an earlier block. If he fails to do so, he gets slashed.
As a result, the sender will instantly know the following:
- either my transaction gets included
- or the proposer gets slashed
- or the proposer didn’t propose (or proposed an invalid/unavailable block) and thus forfeited transaction fees of a full block