Key retirement and key compromise [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2013-03-25T21:35:45+00:00


Summary:

In a conversation between Gregory Maxwell and Roy Badami, the idea of implementing an overlay protocol to address transactions to revoked addresses in Bitcoin was discussed. This proposal aimed to make such transactions invalid, but it was noted that this would require adding more perpetual data for all validating nodes, leading to a drastic change in the rules. To tackle this problem, Roy suggested that addresses should have expiry dates to avoid maintaining revocation lists indefinitely. It was also mentioned that reusing addresses is generally not recommended, although it may be unavoidable in certain cases. In some use cases, the payment protocol could help mitigate this issue.Roy Badami proposed the concept of an overlay protocol in an email conversation from March 25, 2013. This suggestion was in response to the idea of changing rules to invalidate transactions to revoked addresses. However, another individual pointed out that even implementing an overlay protocol could be significant as it would require perpetual data to remain in fast lookup for all validating nodes. The discussion also emphasized the potential risks of reusing addresses when using Bitcoin.In 2013, Roy suggested the implementation of a "big key compromise button" for Bitcoin, which would transfer all coins to newly generated addresses automatically. However, Andrew Poelstra raised concerns about this idea, as it could expose the public key in use and potentially compromised to attackers. Realizing the need for a means to revoke an address rather than automatic transmissions, Roy proposed an address revocation protocol. This protocol would generate an error if a user tried to send coins to a revoked address. Instead of changing the rules to invalidate transactions to revoked addresses, Roy suggested the implementation of an overlay protocol. This functionality could potentially be incorporated into the payment protocol, although Roy remained unsure about this approach's effectiveness. For the protocol to be useful, it would need to be universally implemented by clients.A related idea discussed was the concept of a "dead" button. This involved sending pre-generated transactions to previously secured addresses in case of an emergency. By using a long-term storage address or set of addresses, coins could be stored and transferred to emergency storage during panic situations using signed transactions. However, if some BTC had been sent or received from the long-term storage, the panic transaction would only capture a portion of it. Nevertheless, the security requirements for the panic transaction leaking were lower than those for private keys, reducing the risk of losing all coins. This idea could be complemented by a server that monitors the blockchain for unauthorized transactions, providing an automated security layer. Opinions on the effectiveness of this approach varied in enterprise scenarios.On February 23, 2013, Roy Badami suggested creating tools to help manage key retirement and compromise for Bitcoin users. Currently, if someone suspects their keys may be compromised, they must create a new wallet and transfer their coins from the old wallet to the new one. This process is cumbersome and results in the loss of the address book and transaction history unless the old wallet is kept. To address this, Roy proposed the inclusion of a "big key compromise button" in Bitcoin. This button would automatically transfer all coins to newly generated addresses and offer the option to flag compromised or retired addresses. Roy believed that this functionality should be developed within the official client, and the first step would involve specifying the desired features. Despite the popularity of deterministic wallets, Roy preferred having a collection of keys since old keys would be regularly retired, with their balances automatically transferring to newly generated keys. Finally, Roy expressed the desire for a panic button that would enable the automatic transfer of all coins to new addresses in case of an accidental mistake like typing the passphrase into an IRC window. The Bitcoin community showed interest in developing this functionality within the official client, but determining the exact desired functionality was considered the initial step.


Updated on: 2023-08-01T04:26:59.002770+00:00