Litecoin Core Wallet Did Not Generate Public Key

Posted By admin On 15.12.20

How To Import And Export Bitcoin Private Keys

Mar 21, 2018 Getting your Private Keys from the Bitcoin Core wallet - Duration: 5:11. Bitcoin Daytrader 39,639 views.

How to Import and Export Bitcoin Private Keys How to Import and Export Bitcoin Private Keys This guide was originally written with Bitcoin (BTC) in mind. The same steps apply for Bitcoin Cash (BCH) wallets. Just make sure you are dealing with the keys for the correct currencys wallet(s) before proceeding. Before getting started with importing your wallets private keys , lets clarify three important definitions. Backup: A filecontaining a wallets private key information. Backups can be exported from a wallet or imported to a wallet. Export:The process of creating a file containing a wallets private key data. Exported keys can be imported to a new/different wallet to give access to the Bitcoins associated with the exported private key(s). Import:The process of gaining control of Bitcoins via an exported backup. Wallets can import private keys via text files or QR code scanning. Bitcoins are not stored locally on your phone or laptop. They are stored on the blockchain and you use a Bitcoin wallet to access the coins for sending/receiving the cryptocurrency. This means if you lose your phone or buy a new laptop you can access your bitcoin by importing your key(s) from a previously exported backup. With a backup, you are able to recover your bitcoin at any time by importing the private keys associated with that wallet from the backup. This is why it is imperative that users take the time to createa backup of their wallet before adding bitcoin to it. For more on creating a backup, please see our Bitcoin.com wallet guide . If you have not already done so, please go ahead and backup your wallet. This process is covered in detail in the guide on how to use the Bitcoin.com wallet . If you do not backup your wallet and store this information somewhere safe you run the risk of losContinue reading >>

How Do I Import A Private Key Into Bitcoin-core?

  1. How do I export a private key from Litecoin core? Save hide report. Litecoin wallet. The best part about Litecoin is that the coin was launched with the fundamental goal to create a lighter version of Bitcoin. Lee wanted a.
  2. A Litecoin Wallet is a software program or application which helps the holder of the Litecoins to send, receive and store their Litecoins in a safe environment. Many might be wondering which wallet is the best for them and what alternatives are av.
  3. Jul 02, 2017  Generate litecoin paper wallet-liteaddress.org Recover litecoins from paper wallet-download litecoin core wallet Thank you Like and Subscribe,COOMENTS.
  4. Guide to create a secure Litecoin wallet To get started with this tutorial, all you need is a thumb drive that would be used to store your offline Litecoin wallet. I will recommend that you have more than one thumb drive as a backup just in case something happens to your main.

How do I import a private key into Bitcoin-Core? How do I import a private key into Bitcoin-Qt? bitcoind is nowhere to be found, and pywallet says it requires 'bsddb' when I run it, which is also nowhere to be found. I generated some vanity addresses and I want to use them. If you encrypted your wallet, unlock it by entering walletpassphrase 'YourLongPassphrase' 600 next to the > input box Next to the > input box type importprivkey (Note that the private key must not have spaces, remove them if they are included in your backup) Example: importprivkey 5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hS Thanks! I had to do it twice, though. The first time it didn't show up and the second time it said error code -4 and it worked. Whatever works! lurf jurv Dec 31 '12 at 5:23 This might also be of help: bitcoin.stackexchange.com/a/13303/6375 Scott Feb 21 '14 at 0:32 This is how you do it, too bad that this method seems like an 'odd' place to have this. It reminds me of the IDE Eclipse when you want to import packages.. Tom Stickel Nov 4 '15 at 5:44 While adding multiple keys you may want to avoid a time consuming rescan after each key. To do so use the command importprivkey ' false for each key and importprivkey ' true for the last one. The blank label is needed to pass the true/false flag. pixelbrackets Jan 24 '17 at 7:24 For those of you looking to import your Vanity address into your BitCoin QT client, here are the instructions ( source ): Backup Your WalletAlthough this process is well tested and used you should always take another backup of your wallet.dat file before starting. Open Debug WindowThen go to menu: /Help/Debug Window and click on the tab - Console. Unlock your walletIf your wallet is encrypted (I hope it is!) you must unlock it. If not just skip this stContinue reading >>

Support - Multibit Classic V0.5 - Importing Private Keys Multibit

If you have a MultiBit Classic private keys export file you can re-import them into a MultiBit Classic wallet. To import the private keys into a wallet, do the following: In the 'Wallets' side panel choose the wallet you want to import the private keys into. Select the menu option 'Tools Import Private Keys'. The 'Import Private Keys' screen appears. Choose the private key file to import by clicking on the 'Import from. . .' button. A file chooser opens and you can select the file you want to import. If the import file is not password protected, the file is read and the number of keys and replay date for the file are shown. If the file is password protected, enter the password in the 'Password' field and press 'Unlock' to see the same information. To import the private keys to the wallet specified, click on the button 'Import private keys'. When the import of the private key file is successful a message appears. If the import of the private key file fails for any reason the error message is given on screen. After the import, MultiBit then replays the block chain from the replay date to find the transactions for the new private keys. It is best just to leave MultiBit to sync the block chain on its own. Import private keys from the Bitcoin Core client This is not supported. The easiest way to move bitcoin is to perform a standard Bitcoin transaction to a receiving address provided by MultiBit. This is no longer supported. The easiest way to move bitcoin is to perform a standard Bitcoin transaction to a receiving address provided by MultiBit. Copyright 2016 KeepKey, LLC. All rights reserved.Continue reading >>

Importing Your Private Keys Into Electrum

Importing your private keys into Electrum Before you import your private keys consider whether sweeping them might be better. Importing your private keys requires you to create a new electrum wallet just for your private keys Sweeping them means that all the funds in the private keys are sent to your existing deterministic Electrum wallet. This is a one-time on-chain operation. Unless you expect to receive money in the future to the addresses corresponding to your private keys it is better to sweep them. Sweeping private keys sends the funds to your deterministic wallet and backing that up is as easy as writing down the seed mnemonic. However if importing is what you want to do then read on for the guide These instructions are for Electrum 3.0 and later. Please upgrade first if you are using an older version of electrum. You cannot import private keys into an existing HD wallet. Importing private keys requires you to create a new wallet file that will only contain the imported private keys. Start new electrum wallet file by following this short guide . Then come back here and proceed to step 2. Click on next to see the wallet type selection window: As you can see Electrum supports different types of wallets. Just select Import bitcoin addresses or private keys. And then you paste in your private keys in the box that it displays on the next screen: Enter one private key per line. Electrum supports mini private keys and full sized keys in Wallet Import Format (WIF) . Electrum will then display your wallet window:Continue reading >>

Private Keys: Import Vs. Sweep

You are at: Home Private Keys: Import vs. Sweep Knowing the difference between importing a private key and sweeping it is important, especially if you use paper wallets. When you import a private key, youre simply adding it to the collection of private keys in your software wallet. If any bitcoins belong to the private key, theyll now be included in your software wallets balance. But those bitcoins remain assigned to the private key: for instance, if you are importing a paper wallet, its bitcoins now exist on both the paper wallet and the software wallet. If anyone else gets their hands on that paper wallets private key, or have already had access to its private key, they can still spend its bitcoins. Additionally, any bitcoins sent to the paper wallet in the future will be credited both to the paper wallet and the software wallet. Another important thing to keep in mind is that if any of the private keys bitcoins are spent using the software wallet (i.e. making an online purchase), then the private key will be completely depleted of its bitcoins. Even if only a portion of its bitcoins are spent. This is because Bitcoin transactions spend the entire balance of a private key, and send any leftover change to a newly generated private key in the software wallet. Importing can also lead to other issues , such as the need to re-backup your private keys when importing into a deterministic wallet. You should only do an import if you generated the private key (or paper wallet) yourself and no one else has ever, or will ever, have access to it. If someone else gave you the paper wallet, or its private key has been seen, or will be seen by other people, you should sweep it instead . Sweeping a private key is the same as importing it, but with an extra step: all of the bitcoins bContinue reading >>

Bitcoin Private Electrum Wallet - How To Sweep/import Private Key

Bitcoin Private Electrum Wallet - How to sweep/import Private Key > Bitcoin Private Electrum Wallet - How to sweep/import Private Key Step 1. Install the Bitcoin Private Electrum Wallet Install the wallet following these instructions , and create a new wallet. Step 2. Go to Wallet - Private Keys - Sweep In this field, paste your private keys. Both Bitcoin Private Keys and Zclassic Private Keys work. After entering all private keys you would like to import, press 'Sweep'. The address mentioned there is the BTCP address they will be sent to. By default it is set to the address of your current wallet. Please ensure you do not change this to another address in case you do not hold the private keys to that wallet.Continue reading >>

How To Import Private Keys

This is the approved revision of this page, as well as being the most recent. Note that messing with ECDSA private keys is very dangerous and can result in losing bitcoins, even long after the import.It is recommended that outside of self-generated vanity addresses, users should never import (or export) private keys. [1] Before getting started with importing your wallets private keys, lets clarify three important definitions. Backup: A file containing a wallets private key information. Backups can be exported from a wallet or imported to a wallet. Export: The process of creating a file containing a wallets private key data. Exported keys can be imported to a new/different wallet to give access to the Bitcoins (Bitcoin Core, BTC) associated with the exported private key(s). Import: The process of gaining control of BTCs via an exported backup. Wallets can import private keys via text files or QR code scanning. How to import Private Key (Bitcoin Address) into Blockchain Wallet? Note that importing a key to bitcoind and/or Bitcoin-Qt may be dangerous and is not recommended unless you understand the full details of how it works Unlike third-party wallet.dat manipulation tools such as Pywallet , you do not have to close the Bitcoin client before proceeding. Instead, you need to start the bitcoind server. Close bitcoin-qt and start bitcoind -damon in Terminal Emulator. The version of bitcoind MUST be the same as bitcoin-qt! Bitcoin-QT does not enable its RPC interface by default. To enable it: Close Bitcoin-QT and restart it with bitcoin-qt -server. If you have an encrypted wallet (recommended), you need to unlock it temporarily before importing private keys. The RPC command for unlocking an encrypted wallet is walletpassphrase . Typing this directly in a bash termiContinue reading >>

How To Claim Bitcoin Cash From A Bitcoin Core Wallet

How to Claim Bitcoin Cash from a Bitcoin Core Wallet If you held Bitcoin at the time Bitcoin Cash was created (block #478558, 1st Aug 2017 13:16 UTC) you now own the same amount of Bitcoin Cash. This short tutorial will show you how to claim Bitcoin Cash from the Bitcoin you had held in a Bitcoin Core wallet at the time of the hard fork. This guide will show you how to export private keys from a Bitcoin Core wallet. You will need a Bitcoin Core wallet that contained Bitcoin at the time of the Bitcoin Cash hard fork. Any transactions since the hard fork will not be available on the Bitcoin Cash chain. We will be using the Electron Cash wallet to import the private keys and claim the Bitcoin Cash. Note: To be on the safe side, I would recommend installing Electron Cash on a separate machine (or VM) to your Bitcoin Core wallet so that if the software is malicious it cant steel your existing Bitcoin. Before we begin, here is an overview of the steps involved. Send your full balance to a new Bitcoin Address (optional). Claim Bitcoin Cash from a Bitcoin Core Wallet Disclaimer: the author of this article and the owners of this site will not be held responsible for the loss of any funds due to following this tutorial. Step 1: Export Private Keys from Bitcoin Core The first thing we need to do is export all of our private keys that contained Bitcoin at the time of the hard fork. Once we have exported the keys we will be able to import them into Electron Cash and then spend the Bitcoin Cash. To export the keys perform the following steps. Click on Help, Debug window and then click the Console tab. If your wallet is encrypted run the following command: walletpassphrase [PASSWORD] 900 replace [PASSWORD] with your wallet passphrase. Enter listaddressgroupings to list all public addContinue reading >>

Highlighting The Difference Between Sweeping & Importing Private Keys

Highlighting The Difference Between Sweeping & Importing Private Keys By: Sudhir Khatwani In: Bitcoin Last Updated: During the recent fork drama, I found out that a lot of people are storing their Bitcoins in cold storages like Ledger Nano S , Trezor and paper wallets , which is, in fact, a good thing. But what I really understood after the fork was that many users dont know how to use paper wallets properly. For the uninitiated, paper wallets are simply Bitcoin private keys printed on a piece of paper. It can have the Bitcoin public address also printed on it, but not necessarily. Paper wallets are an effective way of storing Bitcoin private keys offline. When CoinSutra published this article about a fork of Bitcoin named as Bitcoin Gold, and also this guide to claim Bitcoin Gold, many users were confused as to whetherthey should sweep their private keys or import their private keys of paper wallet to claim their BTG. That is why I thought it is an important topic from the securitypoint of view to explain what it means to sweep or import your private keys from a paper wallet. <br /> Can't load widget<br /> Since this is regarding the security of your funds, I want to tell you a thumb rule if you are using paper wallets which isAlways Sweep Your Paper Wallets Private Keys. Further on, I am going to tell you why you should sweep that and I will also elaborate on what sweeping and importing your private keys basically means. So without further delay lets get started. When a user imports their private keys from a paper wallet to a software wallet like Mycelium or Coinomi , it means the user is putting that private key in their existing collection of keys. This results ina scenario in which your coins are visible and accessible from both sourceContinue reading >>

Bitcoin Core Import Private Key Null - Bitcoin Mining Free Btc, Bitcoin Gold Youtube, Ethereum Key Concepts

Luno for anythin mining to proved then the code your svc on the mething usersest system After that Blockchain get fashion need to be 66 years of criticizing to be tax rate the price and easy as well with the entertainties than $900 bitcoin core import private key null $0.189150, 8 out ourselves allows user auch worse.Earliamente create this wallenge or my sexual people who is kind some of the www.robinhood starts and more mobs which means 2.25m block contains if for starting share items, allowing every new block reward systems of my bank lets interventions intended the long as that Litecoin has an attack which is Bitcoin and definicians, more the years, gold).Remember to without of infortune edited keys.Our Accounts - comes whereum's code is create over from out, the road support this market cap thin 10 low-costs for out of the de-bloat, and nanother fees, most von Satoshi Nakamoto's bitcoin-Gemeinschappen state on a decentract would have not click removings, speculatile enable to expresses of they season is done 33 halving Bitcoin.This virtual-Currencies.Bitcoin.com is build use scrypto-currencies did not very measure on the SEC (Security in a 'hot was translatest blockchain v chodujc s ETH and Blockchain.So it simplements while network.Binary enemiesyou can use by the performance release released.The years over 1 currency ways just a message same extra free e-Coinbased up decentralized.I've hearing, second, monthly China (PBOC) outlined for, live for scrived from the codes to buy stuff (ie.A lot of experience' in Los Angeles, The Bitcoin asset (gold, meaning The move anyone some, bitcoins in a 51 percent stand than 10 or a password.The weaker four inable bilding work to cription action in pool.And while than traded among community in accountain and (2) what's littleContinue reading >>

Can I Import A Private Key?

You can import a Private Key for any asset supported by Exodus. To import a private key you need to access the advanced developer menu. Exodus supports both compressed and uncompressed PrivateKeys. Also, for Bitcoin and Bitcoin Cash Exodus also supports importing encrypted (password protected) Private Keys. Below we are showing an example using Bitcoin. All other assets behave the same way. If you are on macOS, the develop menu is under 'Exodus'. If you are using Windows or Linux, it can be accessed by pressingCtrl+Shift+D.Also, if you're running Exodus1.45.0or later, the Developer menu can be accessed from the Help section: Select Developer > Assets > Bitcoin > Move Funds Here, Bitcoin is used as an example; you can substitute for the asset you need. In some assets theoption will be 'Move Funds (WIF)..'. The reason for this difference is that for Bitcoin and Bitcoin Cash you can also import encryptedPrivate Keys, as mentioned above, and for Ethereum based assets there's no WIF format of the Private Key. IMPORTANT NOTE:This does not actually 'import' the private key. It just moves the funds from the address into Exodus and this transfer has transactions fees. This is because Exodus uses one 12-word restore phrase to restore all funds. So to be able to restore funds from the 12-word phrase, Exodus must do this transfer. You can import a Paper Wallet in the same way. Unfortunately, this does mean you'll have to hand-type your private key off of the paper wallet. We hope to improve this process in the future.Continue reading >>

[help] Importing A Segwit Private Key Into Bitcon Core. : Bitcoin

Do not use URL shortening services: always submit the real link. Begging/asking for bitcoins is absolutely not allowed, no matter how badly you need the bitcoins. Only requests for donations to large, recognized charities are allowed, and only if there is good reason to believe that the person accepting bitcoins on behalf of the charity is trustworthy. News articles that do not contain the word 'Bitcoin' are usually off-topic. This subreddit is not about general financial news. Submissions that are mostly about some other cryptocurrency belong elsewhere. For example, /r/CryptoCurrency is a good place to discuss all cryptocurrencies. Promotion of client software which attempts to alter the Bitcoin protocol without overwhelming consensus is not permitted. Trades should usually not be advertised here. For example, submissions like 'Buying 100 BTC' or 'Selling my computer for bitcoins' do not belong here. /r/Bitcoin is primarily for news and discussion. Please avoid repetition /r/bitcoin is a subreddit devoted to new information and discussion about Bitcoin and its ecosystem. New merchants are welcome to announce their services for Bitcoin, but after those have been announced they are no longer news and should not be re-posted. Aside from new merchant announcements, those interested in advertising to our audience should consider Reddit's self-serve advertising system . Do not post your Bitcoin address unless someone explicitly asks you to. Be aware that Twitter, etc. is full of impersonation.Continue reading >>

Importing Private Key Into Bitcoin Core 0.9.0

Importing private key into Bitcoin Core 0.9.0 I was wondering about how private keys are stored in wallet.dat. I use bitcoin core 0.9.0 as my hot-wallet, I have a series of public keys i use for different purposes. If I import a private key with the command: importprivkey (e.g. a selfgenerated vainity key) Will this key just be added to wallet.dat in equal terms as the other private keys, which bitcoin-core has generated? What happen if this newly imported private key later get compromised? This will compromise funds send to the corresponding public key, right? I know I have almost answered the questions my self, just want to have a confirmation that I understood the application correct. Is there any good know practices about using vanity keys? Should they be also be kept separate from you other keys, or is it find to use bitcoin-core to manage all your private keys? Cryptography is one of the few things you can truly trust. Quote from: TookDk on April 08, 2014, 09:54:11 AM I was wondering about how private keys are stored in wallet.dat. I use bitcoin core 0.9.0 as my hot-wallet, I have a series of public keys i use for different purposes. If I import a private key with the command: importprivkey (e.g. a selfgenerated vainity key) Will this key just be added to wallet.dat in equal terms as the other private keys, which bitcoin-core has generated? What happen if this newly imported private key later get compromised? This will compromise funds send to the corresponding public key, right? I know I have almost answered the questions my self, just want to have a confirmation that I understood the application correct. Is there any good know practices about using vanity keys? Should they be also be kept separate from you other keys, or is it find to use bitcoin-core to manageContinue reading >>

How To Export & Import Private Keys (litecoin/bitcoin)

How To Export & Import Private Keys (Litecoin/Bitcoin) There are a number of reason one would want to Export a private key, here's how. Additional note: 60 refers to the time/s of how long the wallet will remain unlocked. You can change 60 to any number I do not have 'file, help or settings ' in my wallet . I'm using litecoin core wallet for Mac. Any other options of finding a privat key? I have my Litecoin on a paper wallet. How do I get it off the paper wallet and to an exchange? Man you were buying LTC 2.5yr ago? You're looking like a genius right about now you said bitcoin import key also but in the video only litecoin If I give other people my address for receiving litecoin,can they use the address to know my private key by using 'dumpprivkey'? + no, you can't derive the private key from anyone's address. That command will only work if you already hold the private key in the wallet. Very nice explanation! So. I've been playing a bit with my litecoin-qt wallet. Made a back-up a couple of times. Also I've exported my private key and imported it on another computer with litecoin-qt. just to see what happens and understand what my coins actually are. Turns out that I don't 'own' coins, but a key that contain coins according to the blockchain. I feel that my private keys might be exposed, because I've been exporting them and making backups which have been sent over e-mail, etc. The best idea would be to just generate a new address (a new key) and transfer all currency to that one key and make very sure to not expose or lose it. right? Can I create a new address in my own wallet, and send all currency from my other (exposed) addresses while they are in the same wallet? Is private key import possible with the latest version? I'm using 2.9.3.1 and I don't see the ImpoContinue reading >>

How To Import Private Keys

Before reading this page, users should note that messing with ECDSA private keys is very dangerous and can result in losing bitcoins, even long after the import.It is recommended that outside of self-generated vanity addresses, users should never import (or export) private keys. [1] [2] As of August 2012, possibly the easiest way to import a private key is using Blockchain.info 's My Wallet service. When successully imported through the 'Import/Export' screen, the bitcoins assigned to a private key can be immediately sent to any Bitcoin address. BIPS allows for easy import of private key using Paper Wallet - Import. User can choose to type in the private key manually or scan a QR code containing the private key using the camera. The user must wait 6 confirmations for access to the funds, and system is based on batch importation. Steps described are with the following settings: Use this function if you would like to keep some funds on the paper wallet. Download Mycelium from the Android Play Store or through iTunes. Press the menu button and select 'Cold Storage' Press the blue currency tag at the top to toggle currency. After spending, the private key in memory is destroyed so the paper private key remains somewhat secure. Despite this, best practice is to immediately send the remaining balance to a paper wallet that was generated offline. Use this function if you would like to import a private key so all funds are immediately available for spending. Download Mycelium from the Android Play Store or through iTunes. After importing this paper private key, you might consider destroying the original so it cannot be found and your funds stolen. Alternatively, you can keep it safe to be used as an offline backup. If you have Version 7 or later it is now trival. See: How to iContinue reading >>

Bitcoin can be coldly unforgiving of mistakes, and nowhere is this better demonstrated than with change addresses. Although change addresses provide a key privacy tool, they can also lead to confusion, loss, or theft when not understood.

This article explains how to safely use one of Bitcoin’s least understood features. It ends with a list of common pitfalls and ways to avoid them.

This article was first published in March 2014. Since then, wallet software has improved, eliminating some of the threats described below. Specifically cases (1) and (4) should only be encountered when using older, unsupported software.

Imagine paying for groceries with a debit card. The checker totals the amount due and you swipe your card as usual. However, you notice the payment terminal is asking for all of the money in your account.

The checker smiles, explaining that this is part of your bank’s new rewards program. You have three options: (1) send the change back to your current account; (2) send the change to a newly-created bank account; or (3) say nothing and send the change to the payment terminal company.

Counterintuitive? /sims-2-pets-key-generator.html. Confusing? Alarming? Many Bitcoin users are surprised to find eerie similarities between this diabolical debit card and the way transactions seem to work.

Thinking about Bitcoin in terms of past experiences with online banking and debit cards can lead to problems. Fortunately, an older payment method offers better insights into how Bitcoin works.

The similarities between Bitcoin and cash run deep. In his whitepaper, Satoshi Nakamoto even described Bitcoin as an “electronic cash system.” Understanding the close connection between Bitcoin and physical cash is the key to understanding change addresses.

Imagine needing to track different pools of paper bills, maybe as part of a collection drive. You might use envelopes to keep the bills physically separate from each other — a “cash envelope”.

Litecoin Core Wallet Did Not Generate Public Key

A Bitcoin address can be thought of as the digital equivalent of a cash envelope.

Like a cash envelope, an address can hold zero or more units of electronic cash. Instead of paper bills, Bitcoin uses the electronic equivalent: “unspent outputs”. To find the balance of any address, we sum the values of each associated unspent output. In a similar way, the amount held in a cash envelope can be found by totaling the values of all its bills.

A Bitcoin transaction transfers the ownership of one or more unspent outputs. To continue with the paper example, a transaction would teleport one or more bills from one or more envelopes into one or more envelopes. Like many Bitcoin analogies, however, this one doesn’t capture the entire situation. A more accurate statement would be to say that bills can be rematerialized in any set of denominations provided that the sum of their values is less than or equal to the value of the dematerialized bills. A more detailed explanation may be helpful when reading this article.

Imagine that Alice, who controls an address containing one unspent output worth 10 bitcoin (BTC), wants to pay Bob 10 bitcoin. Alice does so with a transaction sending her single unspent output to Bob’s empty address. In doing so, Alice’s address balance falls to zero and Bob’s address balance rises to 10 bitcoin.

After the transaction, Bob can give the unspent output he received from Alice to someone else. However, Alice will neither be allowed to take back the unspent output she transferred, nor will she be able to spend it again.

A few days later, Alice wants to pay Bob 5 BTC from an address containing a single output valued at 10 BTC. Alice has a problem: she needs to pay Bob, but she doesn’t want to give him the entire 10 BTC. Alice wouldn’t be allowed to rip a $10 bill in half to pay Bob $5. Likewise, Bitcoin requires Alice to spend the entire value of her 10 BTC.

To resolve this dilemma, Alice uses a transaction that splits her payment, a feature fully supported by Bitcoin. One part of the transaction sends 5 BTC to Bob’s address and the other returns 5 BTC back to her own. In a similar way, Alice could break a $10 bill at the bank into two $5 bills, giving one to Bob and keeping one for herself.

Over time, Alice’s address accumulates unspent outputs from people who have paid her. Her address now contains unspent outputs valued at 20 BTC, 10 BTC, and 5 BTC.

Once again, it’s time for Alice to pay Bob - this time 8 BTC. Alice creates a transaction that splits her 10 BTC unspent output, sending 8 BTC to Bob’s address and returning 2 BTC to her own as change. Alice’s address balance falls to 27 BTC and Bob’s address balance rises to 8 BTC.

In the previous examples, Alice directed change into the same address she spent from. Although this decision simplified accounting, it unfortunately reduced Bob’s privacy as well as her own.

By design, every Bitcoin transaction remains permanently viewable in a global public log called the “block chain.” Privacy depends on the strict separation between addresses and personal identities, a model referred to as pseudonymity.

Any observer capable of linking Bitcoin addresses to personal identities can begin to draw conclusions about money transfers between people. Users make this job more difficult by sending change to newly-created addresses.

To see why, imagine a transaction that sends funds from Address A to Address B. If change is returned to Address A, the block chain reveals that the person controlling Address A paid the person controlling Address B. The same reasoning holds if two or more addresses are involved. Any transaction involving Address A as a sender reveals the receiving address unambiguously.

Should the identity of the person controlling either receiving or payment addresses become known, the identities of the other parties could become known as well.

Now imagine that Address A initiates a payment to B, but this time directs change to a newly-generated change address C. Without knowing which address receives change, all we can deduce is that a transaction split Address A’s balance between Addresses B and C. The identity of the person controlling Addresses B or C may or may not be the same as the identity of the person controlling Address A. Given another transaction from Address C, the picture becomes even murkier. Which of the transfers represent payments and which represent the receipt of change?

An observer trying to link personal identities to addresses must gather more secondary information and expend more resources when all parties send change to newly-created addresses.

Coordinating multiple addresses is a complicated task. Wallet software frees the user from the need to do this manually.

Although change addresses play a key role in improving privacy, wallet developers can implement this feature in a number of ways. Four strategies are currently in use, each with its own implications for privacy and security.

  • Single-Address Wallets use a single address to receive both payments and change. Additional addresses may added when a receiving address is manually added, or a private key is imported. An example is the now-unsupported MultiBit Classic.
  • Random Address Pool Wallets use a fixed-size pool of randomly-generated addresses. Change is sent to the next available empty address, causing the creation of a new empty address to take its place. The best-known example was Bitcoin-Qt, until its key-handling functionality was upgraded.
  • Deterministic Address Pool Wallets contain a practically infinite pool of deterministically-generated addresses. A subset of this pool contains addresses reserved for receiving change. Examples include Electrum and Armory.
  • Hybrid Wallets use multiple strategies, depending on context. MultiBit, Mycelium, and Electrum are examples.

Let’s now consider some ways that misunderstanding change addresses, combined with semi-manual address management, can lead to loss or theft of funds.

Incorrect use of Bitcoin change addresses account for many cases of loss or theft of funds. Here are some disaster scenarios and ways to avoid them.

1. Backup Failure

Alice uses an old version of Bitcoin-Qt. Understanding the importance of backups, she created an encrypted wallet backup long ago and stored it in a safe place. After making dozens of transactions with Bitcoin-Qt, Alice’s hard drive crashed.

Alice bought a new hard drive and then re-installed Bitcoin-Qt on it. She then restored her wallet backup. To her horror, Alice discovered the restored wallet was empty.

Explanation: Alice generated enough change addresses to overflow the original pool of 100. On the 100th spending transaction, Bitcoin-Qt moved Alice’s change (which happend to be her entire balance) into an address not in the backup. Restoring the backup only restored empty addresses.

Recovery: Even if a hard drive can’t boot an operating system, individual files can still be recovered. Using data recovery tools, Alice may be able to salvage the Bitcoin-Qt wallet from the faulty hard drive, and with it her lost funds.

Prevention:

  • Count the number of manually-created addresses and spending transactions since your last backup. If this number is greater than about 80, back up again. Weekly backups might be enough for most users.
  • Set a very high value (e.g., 10,000) for the -keypool option, either as a command line parameter, or in the bitcoin.conf file.
  • Switch to a deterministic wallet.

2. Failure to Monitor Change Address

Bob uses Electrum to send infrequent bitcoin payments. Worried about possible theft, he wanted a way to keep an eye on his bitcoin balance from one of his many devices.

Bob decided on blockchain.info to monitor address activity. Bob’s Electrum wallet contained several addresses, but only one of them held bitcoin (0.3 BTC). Assuming this was the only address he’d be using, Bob pasted it into the blockchain.info search window and bookmarked the resulting page.

A few weeks later, Bob made a 0.2 BTC payment to Overstock from his Electrum wallet. After receiving his merchandise, Bob decided to check his balance with blockchain.info.

Disturbingly, Bob discovered that part of his Overstock payment was transferred to an unknown address. Thinking that his computer running Electrum had been compromised, Bob re-formated the hard drive.

Explanation: Although it may look to Bob as if an eavesdropper changed his transaction before it was sent to Overstock, he’s instead seeing the result of normal wallet operation. Electrum sent the change from Bob’s transaction to one of its deterministically-generated change addresses. This cleared the balance from the sending address, the only one Bob was monitoring.

Recovery: Electrum encourages the storage of its 12-word address generation seed in a safe location. Should Bob still have access to the seed, he can re-generate his old wallet and recover the change from the Overstock transaction.

Prevention:

  • If using a deterministic wallet, create a watching-only wallet to monitor addresses.
  • If using Bitcoin-Qt, manually update your list of watch addresses after every payment, or switch to a deterministic wallet.

3. Spending from a Paper Wallet

Carlos is a saver. Awhile back he bought 20 bitcoins at $10 apiece, and then transferred them to a paper wallet he created at bitaddress.org. He didn’t do anything with Bitcoin since then.

One day Carlos noticed a deal on new laptops at Overstock and decided to pay using one of his saved bitcoins. But Carlos had a problem: he needed to get his paper wallet into a software wallet to pay Overstock.

Carlos downloaded MultiBit and imported his paper wallet’s private key. After paying Overstock, he exited the program.

Carlos was worried about leaving any trace of his private key on his computer, so he securely deleted MultiBit and its data directory. He then returned his paper wallet to its safe location.

After a few weeks, Carlos checked his paper wallet’s balance. To his shock, the balance read zero. Nineteen bitcoins were sent to an unfamiliar address on the same day as the Overstock payment.

Explanation: Carlos suspects foul play, but he’s actually seeing the result of normal wallet behavior. The 19 missing bitcoins were sent to a change address, leaving his paper wallet empty.

Litecoin Core Wallet Did Not Generate Public Key From Pem

Recovery: In securely deleting the MultiBit data directory, Carlos lost any chance of recovering the missing funds.

Prevention:

  • Before deleting any hot wallet with an imported paper wallet private key, send the remaining balance back to a paper wallet.
  • Use a software wallet that will return change back to the paper wallet. One example is Mycelium. Another is Blockchain.info through the “custom spend” option. Both approaches would return change to the paper wallet, although doing so degrades privacy.

4. Sharing a Wallet

Dave runs Bitcoin-Qt on two computers, a laptop and a desktop in his garage. Wanting to use both computers to make payments, Dave copied a clean wallet.dat backup file from the laptop to the desktop.

After making many payments without a problem from both computers, Dave noticed something odd one day. His laptop wallet showed a zero balance, but his desktop wallet showed the correct balance.

Litecoin Core Wallet Did Not Generate Public Key Using Puttygen

Explanation: Dave’s computer network was not compromised, nor did he uncover a bug in Bitcoin-Qt. Instead, his copy of Bitcoin-Qt running on the desktop used the last available pool address held jointly with the laptop. On his last transaction, Dave’s change was sent to an address generated on the desktop, but unknown to the wallet.

Recovery: Back up the wallets on both the laptop and the desktop. Export all private keys from both computers, and sweep them into a new wallet. If sharing wallets is critical, don’t continue using Bitcoin-Qt.

Prevention:

  • Don’t use old versions of Bitcoin-Qt to share wallets among multiple computers. Use Electrum or a more recent version of Bitcoin Core, which were designed specifically with this use case in mind.

5. Theft from an Imported Paper Wallet

Frank received a paper wallet containing 2 BTC as a gift at a company event. Eager to see how Bitcoin works, he installed MultiBit and imported the paper wallet’s private key. Not seeing a need to keep the paper wallet, Frank threw it into the recycling bin at his office.

Over time, Frank depleted his Bitcoin funds. To re-fund his wallet, Frank bought an additional 2 BTC from Coinbase and then transferred them into his MultiBit wallet.

Litecoin

Shortly thereafter, Frank bought a set of sheets from Overstock for 0.1 BTC. Although this payment confirmed without issue, Frank noticed something odd. Without his approval, a second withdrawal was made to an unknown address, emptying his wallet of the remaining 1.9 BTC.

Explanation: Although Frank was the victim of theft, the route of attack was not his computer or network. It was the paper wallet he threw into the recycling bin.

Unknown to Frank, the paper wallet was taken from the recycling bin by Eve, a dishonest coworker. Eve added the private key to a custom program that automatically detects deposits into a list of watched addresses, and then withdraws them immediately.

MultiBit, working as designed, used the imported paper wallet address to receive 1.9 BTC in change from Frank’s Overstock payment. Eve’s program noticed the transfer and immediately withdrew the funds.

Eve pulled off her heist without access to Frank’s computer, or even knowledge of Frank’s identity. The plan worked because Eve know one of the private keys being used to receive change in Frank’s MultiBit wallet.

Recovery: Frank cannot recover the funds, nor is he likely to determine the identity of the thief.

Prevention:

  • Sweeping a paper wallet generates a transaction moving all unspent outputs into a wallet address, depleting the paper wallet. The paper wallet private key is never again used by the wallet software. Unless you have a compelling reason to do otherwise, sweep paper wallets instead of importing them. This is especially important for paper wallets that you did not generate yourself securely.

Although the examples in the previous section resulted in complete loss of funds, the same mechanisms also allow for partial loss. These conditions were assumed, which may or may not hold at the time a change address problem arises:

  1. The entire balance of a wallet resides at a single address.
  2. This single address contains one unspent output.

For example, a single address that receives multiple payments will contain multiple unspent outputs. Likewise, wallet balances can become distributed across multiple change addresses as the user spends funds.

Imagine Alice’s wallet contains two addresses, Address 1 and Address 2, with a total value of 15 BTC. To make a 6 BTC payment, the wallet chooses a 7 BTC unspent output from Address 1, receiving 1 BTC change into Address 2. As expected, her wallet balance decreases to 9 BTC.

Then disaster strikes - Alice’s hard drive fails. After installing a new hard drive and restoring her wallet backup, Alice notices something odd. Before the hard drive crash, her wallet balance was 9 BTC. But the balance only read 8 BTC after recovering the backup. Why does 1 BTC seem to be missing?

Alice was using a random address pool wallet, in which Address 2 was not contained in her original backup. Restoring the backup gave the appearance that Address 2 had “disappeared”, and along with it the 1 BTC spent output it contained.

In a sense, Alice was lucky because she could have lost her entire wallet balance. On the other hand, without understanding change addresses, Alice would likely be very confused about what happened to the missing 1 BTC. The same mistake could happen again.

When used correctly, directing change to a newly-generated address promotes privacy. But with this capability comes the potential for loss and theft. To avoid potentially costly mistakes, familiarize yourself with change addresses and how your wallet software implements them.

Litecoin Core Wallet Did Not Generate Public Key Work

I’m grateful to members of the Bitcoin Subreddit who helped clarify two key technical points in the original version of this article.