Author: Jonas Schnelli 2018-02-08 20:22:38
Published on: 2018-02-08T20:22:38+00:00
Two different approaches to improving Bitcoin wallet security have been proposed recently. The first proposal involves running a Bitcoin Core instance either with internal support for the proposed interface or via an external script (Python bridge). The interface can create new wallets, add addresses to a wallet as watch-only, and create new transactions through the interface using fundrawtransaction with watch-only-addresses in the background. Coin selection, fee calculation, etc. would happen on the Core node, while signing of transactions would happen on the client. Optionally, a 2of2 (or 2of3 with a backup key) could be achieved where the node would also hold a key to have some sort of “2FA” if the node and the client environment are owned by the same person. Backup restores are also possible via the UTXO set and take less than a minute and don’t require the full transaction history. The second approach is Electrum Personal Server, which is an implementation of the Electrum server protocol that allows users to use the Electrum UI with full node verification and privacy, but without the heavyweight server backend, for a single user. It allows the user to benefit from all of Bitcoin Core's resource-saving features like pruning, blocksonly and disabled txindex. All of Electrum's feature-richness like hardware wallet integration, multisignature wallets, offline signing, mnemonic recovery phrases and so on can still be used, but backed by the user's own full node. Users must configure Electrum Personal Server with their master public key and those addresses are imported into Bitcoin Core as watch-only. If the wallet contains historical transactions then it must be rescanned.
Updated on: 2023-06-13T00:26:58.598104+00:00