diff --git a/README.md b/README.md index c576d024a..1b29f848d 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,16 @@ Copay also implements [BIP32](https://github.com/bitcoin/bips/blob/master/bip-00 For more information regarding how addresses are generated using this procedure, see: [Structure for Deterministic P2SH Multisignature Wallets](https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki). +## Backup format + +Copay encrypts the backup with the Stanford JS Cryto Library (https://crypto.stanford.edu/sjcl/). To extract the private keys you can use https://bitwiseshiftleft.github.io/sjcl/demo/ , copy the backup to 'ciphertext' and enter your password. The resulting JSON will have a key named: `xPrivKey`, that is the extended private key of your wallet. That information is enought to sign any transaction of your wallet, so be careful handling it. + +Also in the backup there is also key `publicKeyRing`. That hold the extended public keys of the Copayers. Using a tool like [Bitcore PlayGround](http://bitcore.io/playground/#/multisig), and following [BIP45](https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki) it is possible to generate all wallet address. Note that addresses generated at BWS use the 'shared cosigner index' (2147483647) so Copay address index look like: +`m/45'/2147483647/0/x` for main addresses and +`m/45'/2147483647/1/y` for change addresses, where `x` and `y` and integers starting from `0`. To generate the wallet addresses it is also needed to specify the required number of signatures. That is present in the backup also with the key `n`. + + + ## Bitcore Wallet Service Copay depends on [Bitcore Wallet Service](https://github.com/bitpay/bitcore-wallet-service) (BWS) for blockchain information, networking and copayer synchronization. A BWS instance can be setup and operational within minutes or you can use a public instance like `https://bws.bitpay.com`. Switching between BWS instances is very simple and can be done with a click from within Copay. BWS also allows Copay to interoperate with others wallet like [Bitcore Wallet CLI] (https://github.com/bitpay/bitcore-wallet).