bitcoin-dev

Draft BIP for SNICKER

Draft BIP for SNICKER

Original Postby AdamISZ

Posted on: October 22, 2019 13:21 UTC

The discussion on the SNICKER protocol for watch-only wallets has led to a conclusion that the key tweak (c as per draft BIP) must not be publically derivable and must require information secret to the two parties.

It is observed that the tweak c is only a privacy-controlling secret and doesn't control money which means it could be sent from a hot wallet to a cold wallet without changing the latter's security model. However, in case of recovering from zero information, key access is required to rederive the values of c. It is mentioned that similar problems exist in Lightning, and importing keys is generally non-trivial. One possible solution could be to sweep non-standard keys back into the HD tree, but that may not be feasible in general. Some more general comments on the draft include Elichai's comment on AES-GCM vs AES-CBC, and the need to consider the security of construction for a receiver from a proposer who should be assumed to be an attacker.The SNICKER protocol's recovery process applies only to wallet recovery and not normal wallet use. For use cases like watching addresses with xpub or giving it to an accountant or Electrum Personal Server, ongoing discovery of addresses is required, and the protocol would break. In conclusion, while monitoring a wallet in real-time with no privkey access is incompatible with this, hot/cold monitoring is feasible if there were enough desire for it.