In light of the recent hack: what does everyone think of the idea of creating a new address type that has a reversal key and settlement layer that can be used to revoke transactions?
You could specify so that transactions "sent"
from these addresses must receive N confirmations before they can't be revoked, after which the
transaction is "settled" and the coins become redeemable from their destination output. A settlement
phase would also mean that a transaction's progress was publicly
visible so transparent fraud prevention and auditing would become possible by anyone.
The reason why I bring this up is existing OP codes and TX types don't seem suitable for a secure clearing mechanism; Nlocktimed TXs won't work for this since you can't know ahead of time when and where a withdrawal needs to be made, plus there's still the potential for key mismanagement; Similar problems with OP_CHECKLOCKTIMEVERIFY apply too – unless you keep a private key around on the server which would defeat the purpose. The main use case here, would be specifically to improve centralized exchange security by making it impossible for a hot wallet to be raided all at once.
Thoughts?
Some existing background:
http://hackingdistributed.com/2016/08/03/how-bitfinex-heist-could-have-been-avoided/ -- Proposed the basic idea for a time-based clearing house but using blockchains directly, this is a much better idea than my own.
roberts.pm/timechain -- My original paper written in 2015 which proposed a similar idea for secure wallet design but implemented using time-locked ECDSA keys. Obviously a blockchain would work better for this.
Other -- if the idea has already been brought up by other people, I apologize.