<oembed><type>rich</type><version>1.0</version><author_name>npub1m6p5kgcd428x6pxyfege98zjmlwrdhp0gyz6pdnsvrvalscddnxqurdjn5</author_name><author_url>https://nostr.ae/npub1m6p5kgcd428x6pxyfege98zjmlwrdhp0gyz6pdnsvrvalscddnxqurdjn5</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2016-08-03&#xA;📝 Original message:On Thu, Aug 04, 2016 at 04:16:20AM +1000, Matthew Roberts via bitcoin-dev wrote:&#xA;&gt; In light of the recent hack: what does everyone think of the idea of&#xA;&gt; creating a new address type that has a reversal key and settlement layer&#xA;&gt; that can be used to revoke transactions?&#xA;&#xA;I think many of us who think about human - computer interactions see the&#xA;need for a well defined process to roll back unexpected behavior in a computer&#xA;system. My 2014 era proposal is https://bitbucket.org/tmagik/catoshi/issues/24&#xA;&#xA;The fundamental assumption around cryptocoins is you have a secret (private&#xA;key) known only by you. Currently in bitcoin if that assumption changes, the&#xA;response is blame the user. &#39;Incompetence, etc, etc&#39;&#xA;&#xA;This is bad business. For any cryptocurrency to really get mass market, we&#xA;need to provide our users with key revocation, to be used when the assumption&#xA;about being the only holder of a secret is broken.&#xA;&#xA;I think there&#39;s a hardfork-worthy choice here:&#xA;&#xA;1) implement reversal/revocation as an add-on feature&#xA;2) implement reversal/revocation as a fundamental that every address gets.&#xA;&#xA;Ethereum made a quick hardfork choice to reverse a *single* instance of&#xA;unexpected behavior, and looks a lot like a bank bailout. We have the chance&#xA;to learn from this mistake, and, apparently, make a lot of money trading&#xA;on both sides of the hardfork.&#xA;&#xA;&gt; You could specify so that transactions &#34;sent&#34; from these addresses must&#xA;&gt; receive N confirmations before they can&#39;t be revoked, after which the&#xA;&gt; transaction is &#34;settled&#34; and the coins become redeemable from their&#xA;&gt; destination output. A settlement phase would also mean that a transaction&#39;s&#xA;&gt; progress was publicly visible so transparent fraud prevention and auditing&#xA;&gt; would become possible by anyone.&#xA;&gt; &#xA;&gt; The reason why I bring this up is existing OP codes and TX types don&#39;t seem&#xA;&gt; suitable for a secure clearing mechanism; Nlocktimed TXs won&#39;t work for&#xA;&gt; this since you can&#39;t know ahead of time when and where a withdrawal needs&#xA;&gt; to be made, plus there&#39;s still the potential for key mismanagement; Similar&#xA;&gt; problems with OP_CHECKLOCKTIMEVERIFY apply too ??? unless you keep a private&#xA;&gt; key around on the server which would defeat the purpose. The main use case&#xA;&gt; here, would be specifically to improve centralized exchange security by&#xA;&gt; making it impossible for a hot wallet to be raided all at once.&#xA;&gt; &#xA;&gt; Thoughts?&#xA;&gt; &#xA;&gt; Some existing background:&#xA;&gt; &#xA;&gt; http://hackingdistributed.com/2016/08/03/how-bitfinex-heist-could-have-been-avoided/&#xA;&gt; -- Proposed the basic idea for a time-based clearing house but using&#xA;&gt; blockchains directly, this is a much better idea than my own.&#xA;&gt; &#xA;&gt; roberts.pm/timechain -- My original paper written in 2015 which proposed a&#xA;&gt; similar idea for secure wallet design but implemented using time-locked&#xA;&gt; ECDSA keys. Obviously a blockchain would work better for this.&#xA;&gt; &#xA;&gt; Other -- if the idea has already been brought up by other people, I&#xA;&gt; apologize.&#xA;&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</html></oembed>