Structure for Trustless Hybrid Bitcoin Wallets Using P2SH for Recovery Options



Summary:

The userRecoveryPrivKey can be used to send funds if the server stops signing. The user should store it in cold wallet storage for security reasons. The userWalletPubKey, on the other hand, is a hot key that is stored on the user's computer, eventually in a browser-based local storage container. If there is an attack on the serverWalletPubKey, which also stores the user's personal information, including xpub, this increases the user's risk of being a possible target compared to cold or HWW keys. In the event that the user forgets their password and loses access to their userWalletPrivKey and recovery key, they can rely on the serverRecoveryPrivKey. During the wallet setup, the user provides basic identity information and sets up a recovery password or answers recovery questions. The server does not store any of this information except for the 256-bit hash used to identify the recovery wallet. The server creates a 1025 bit nonce, encrypts it, and transmits it to the user's client. The funds stored in this transaction are protected by the user's identity information and optional recovery password. The server nonce adds additional security by protecting against brute-forcing. However, the reason for using a 1025-bit nonce instead of a (H)KDF for deriving the symmetric key or SHA512 instead of SHA256 remains unclear. This system has a TORS weakness compared to HWW, where protection during private key creation is ensured.


Updated on: 2023-06-12T14:49:44.774851+00:00