<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mikewoods</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mikewoods"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Mikewoods"/>
	<updated>2026-05-02T18:25:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=44051</id>
		<title>OfflineAddress</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=44051"/>
		<updated>2014-01-26T10:30:17Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: changed links to https&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PaperWallets-offlineaddress-com.png|200px|thumb|right|Paper wallets from [[OfflineAddress]] ]]&lt;br /&gt;
&lt;br /&gt;
[https://www.offlineaddress.com OfflineAddress.com] can be used to generate offline Bitcoin addresses with maximum possible entropy (making them as secure as possible).&lt;br /&gt;
Private keys used to generate addresses are constructed from truly random numbers provided from user&#039;s mouse movements.&lt;br /&gt;
&lt;br /&gt;
Generated addresses can be printed and used as paper wallets or for secure offline storage.&lt;br /&gt;
&lt;br /&gt;
== Motivation and security ==&lt;br /&gt;
* Easy to use service capable of providing maximum security for non-technical users.&lt;br /&gt;
* Open Source JavaScript implementation which supports HTML5 caching - so that user needs to load the site just once.&lt;br /&gt;
* Service is capable of producing private keys with maximum entropy.&lt;br /&gt;
* Runs only in user&#039;s browser and never sends private keys to the internet.&lt;br /&gt;
* Service can be used offline and always warns the user if he&#039;s attempting to generate Bitcoin addresses while being connected to the internet.&lt;br /&gt;
* Hints how to be even more secure can be found [https://www.offlineaddress.com/?site=about here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [https://www.offlineaddress.com OfflineAddress] web site.&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=399452.0;all Forum discussion]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Securing_your_wallet&amp;diff=43804</id>
		<title>Securing your wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Securing_your_wallet&amp;diff=43804"/>
		<updated>2014-01-18T20:17:54Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Wallet security can be broken down into two independent goals:&lt;br /&gt;
# Protecting your wallet against loss.&lt;br /&gt;
# Protecting your wallet against theft.&lt;br /&gt;
&lt;br /&gt;
In the case that your current wallet hasn&#039;t been protected adequately (e.g. put online with a weaker password):&lt;br /&gt;
# Making a new secure wallet, using appropriate long-term protection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For a brief overview see also: [[Wallet Security Dos and Don&#039;ts|Wallet Security Dos and Don&#039;ts]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Paper Wallets==&lt;br /&gt;
[[Paper wallet]]s are a fairly simple way to store your bitcoins independent of a computer. When generated securely and stored on paper, or other offline storage media, a paper wallet decreases the chances of your bitcoins being stolen by hackers, or computer viruses.&lt;br /&gt;
&lt;br /&gt;
With each entry on a paper wallet, you are securing a sequence of secret numbers that is used to prove your right to spend the bitcoins assigned to one of your addresses. This secret number, called a [[private key]], is most commonly written as a sequence of fifty-one alphanumeric characters, beginning with a &#039;5&#039;.&lt;br /&gt;
&lt;br /&gt;
Some easy-to-use services (like [[BitAddress|BitAddress.org]], [[OfflineAddress|OfflineAddress.com]] or [[BitcoinPaperWallet|BitcoinPaperWallet.com]]) feature a free open-source client-side paper wallet generators written in JavaScript, which can be used offline. Using these generators is relatively safe while disconnected from internet. It&#039;s advisable to use those services from [https://en.wikipedia.org/wiki/Live_CD live disc], to ensure that private keys are not compromised by spyware. &lt;br /&gt;
&lt;br /&gt;
To generate a safer paper wallet, first save the paper wallet generating code to a newly-formatted USB stick. Then &amp;quot;clean-boot&amp;quot; your computer with a bootable CD (such as a Linux Live CD) &#039;&#039;while disconnected from the Internet&#039;&#039;. Disconnecting from the Internet guarantees that that the paper wallet generator is truly self-contained and isn&#039;t communicating with an online service. Then insert the USB stick and open the wallet generator&#039;s HTML file from the web browser. Print your paper wallets or store them on external media (do not save them on the computer), and then shut down the computer. You may need to load an appropriate printer driver in order to print while booted from the live CD.&lt;br /&gt;
&lt;br /&gt;
A paper wallet includes at least one public bitcoin address and its corresponding private key. You can send bitcoins to the public address and they will be inaccessible until the private key is imported into a wallet. As of version 0.6.0, the bitcoin QT software has a command line feature called &amp;quot;importprivkey&amp;quot; that can load private keys. Online exchanges and wallets such as [[MtGox]], CoinBase and Blockchain.info have features for importing (or &amp;quot;sweeping&amp;quot;) private keys as well.&lt;br /&gt;
&lt;br /&gt;
Remember, spyware and viruses often attempt to monitor your computer activities so that their authors can steal from you. They are interested in passwords to online accounts, and anything of value. Bitcoin wallets and private keys are something of value that have already been targeted by malware. Paper wallets isolate you from much of this risk.&lt;br /&gt;
&lt;br /&gt;
If your computer is infected with spyware or viruses - even if there are no symptoms, or your antivirus isn&#039;t reporting anything - then anything you type, view, or save on your computer, could potentially be stolen by someone remotely controlling your computer. Your private key can then be intercepted while you enter it, so only enter a Bitcoin private key into your computer when your intent is to redeem its value &#039;&#039;immediately&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Hardware wallets ==&lt;br /&gt;
[[Hardware wallet]]s are a major effort to provide a good combination of enhanced security and usability.&lt;br /&gt;
&lt;br /&gt;
So far only [http://www.pi-wallet.com/ Pi Wallet] is operational.&lt;br /&gt;
&lt;br /&gt;
==Importance of security updates==&lt;br /&gt;
&lt;br /&gt;
No software is perfect, and from time to time there may be security vulnerabilities found in your Bitcoin client as well.&lt;br /&gt;
Be sure you keep your client updated with the latest bug fixes, especially when a new vulnerability is discovered.&lt;br /&gt;
We maintain a [[CVEs|list a known vulnerabilities]] on this wiki - you can watch that page to get updates.&lt;br /&gt;
Note that you &#039;&#039;don&#039;t&#039;&#039; need to be running the latest major client version: some clients, including the popular Bitcoin-Qt, have older versions available with bugfix-only updates.&lt;br /&gt;
&lt;br /&gt;
==Securing the Bitcoin-QT or bitcoind wallet==&lt;br /&gt;
&lt;br /&gt;
Bitcoin transactions send Bitcoins to a specific public key. A Bitcoin address is an encoded hash of a public key. In order to use received Bitcoins, you need to have the private key matching the public key you received with. This is sort of like a super long password associated with an account (the account is the public key). Your Bitcoin wallet contains all of the private keys necessary for spending your received transactions. If you delete your wallet without a backup, then you no longer have the authorization information necessary to claim your coins, and the coins associated with those keys are lost forever.&lt;br /&gt;
&lt;br /&gt;
The wallet contains a pool of queued keys. By default there are 100 keys in the [[key pool]].  The size of the pool is configurable using the &amp;quot;-keypool&amp;quot; command line argument.  When you need an address for whatever reason (send, “new address”, generation, etc.), the key is not actually generated freshly, but taken from this pool. A brand new address is generated to fill the pool back to 100. So when a backup is first created, it has all of your old keys plus 100 unused keys. After sending a transaction, it has 99 unused keys. After a total of 100 new-key actions, you will start using keys that are not in your backup. Since the backup does not have the private keys necessary for authorizing spends of these coins, restoring from the old backup will cause you to lose Bitcoins.&lt;br /&gt;
&lt;br /&gt;
Creating a new address generates a new pair of public and private keys, which are added to your wallet. Each keypair is mostly random numbers, so they cannot be known prior to generation. If you backup your wallet and then create more than 100 new addresses, the keypair associated with the newest addresses will not be in the old wallet because the new keypairs are only known after creating them. Any coins received at these addresses will be lost if you restore from the backup.&lt;br /&gt;
&lt;br /&gt;
The situation is made somewhat more confusing because the receiving addresses shown in the UI are not the only keys in your wallet. Each Bitcoin generation is given a new public key, and, more importantly, each sent transaction also sends some number of Bitcoins back to yourself at a new key. When sending Bitcoins to anyone, you generate a new keypair for yourself and simultaneously send Bitcoins to your new public key and the actual recipient&#039;s public key. This is an anonymity feature – it makes tracking Bitcoin transactions much more difficult.&lt;br /&gt;
&lt;br /&gt;
So if you create a backup, do more than 100 things that cause a new key to be used, and then restore from the backup, some Bitcoins will be lost. Bitcoin has not deleted any keys (keys are never deleted) – it has created a new key that is not in your old backup and then sent Bitcoins to it.&lt;br /&gt;
&lt;br /&gt;
== Making a new wallet ==&lt;br /&gt;
&lt;br /&gt;
If a wallet or an encrypted wallet&#039;s password has been compromised, it is wise to create a new wallet and transfer the full balance of bitcoins to addresses contained only in the newly created wallet. Examples of ways a wallet may be compromised are through password re-use, minimal strength passwords, computer hack or virus attack.&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to create a new wallet with Bitcoin-QT or bitcoind but this is a process that has been tested with bitcoind 0.6.3. We use the copy command to minimize the chance of any data loss but you are warned to make backups of any wallet.dat that holds a balance for you.&lt;br /&gt;
&lt;br /&gt;
:1. Shut down the Bitcoin program.&lt;br /&gt;
:2. Find and make a backup of the &amp;quot;compromised&amp;quot; wallet.dat file and rename it, perhaps adding a short description:&lt;br /&gt;
:::wallet.dat -&amp;gt;  wallet-compromised.dat&lt;br /&gt;
:Depending on your OS, the wallet file will be located at:&lt;br /&gt;
:::Windows: %APPDATA%\Bitcoin\&lt;br /&gt;
:::Linux: ~/.bitcoin/&lt;br /&gt;
:::Mac: ~/Library/Application Support/Bitcoin/&lt;br /&gt;
:3. Start the Bitcoin program and it will create a new wallet.dat. You may then encrypt the wallet as desired and make a new backup.&lt;br /&gt;
:4. Once you&#039;ve made a new wallet, you can obtain one or more addresses and copy them into a text editor. After obtaining the new address(es), shut down the Bitcoin program, make a backup of the new wallet.dat file and copy it to a new file named wallet-new.dat.&lt;br /&gt;
:5. Copy the wallet-compromised.dat file back to wallet.dat, start the Bitcoin program and transfer your balance to the new address(es) you put in your text editor. Once the balance is back to 0 for your compromised wallet, you may want to wait a couple minutes or for a confirmation or check block explorer to be sure the transactions have been broadcasted. Then you may shut down the Bitcoin program.&lt;br /&gt;
:6. Rename wallet.dat to wallet-compromised.dat. &lt;br /&gt;
:7. Rename wallet-new.dat to wallet.dat.&lt;br /&gt;
&lt;br /&gt;
You should now have a new wallet with all the bitcoins from the old wallet.&lt;br /&gt;
&lt;br /&gt;
==Making a secure workspace==&lt;br /&gt;
&lt;br /&gt;
If you are using your computer to handle bitcoins, a wallet, Bitcoin-related passwords, or Bitcoin private keys, you must take care that the system is free of malware, viruses, keyloggers, remote access tools, and other tools that may be used to make remote copies of any of the above. In the case that your computer is compromised, the precautions taken below may provide additional protection.&lt;br /&gt;
&lt;br /&gt;
===Debian-based Linux===&lt;br /&gt;
&lt;br /&gt;
The first step is to make a [http://www.howtogeek.com/howto/ubuntu/add-a-user-on-ubuntu-server/ new user]. In order for that new user to have an encrypted home directory, you&#039;ll first need the encryption utility. Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install ecryptfs-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you&#039;re ready to create a new user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo adduser --encrypt-home new_user_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to come up with a [[#Choosing_A_Strong_Password|secure]] new password for that user.&lt;br /&gt;
&lt;br /&gt;
When you get to the prompt &#039;Enter the new value, or press ENTER for the default&#039;, just keep hitting ENTER.&lt;br /&gt;
&lt;br /&gt;
Then switch user to the new user.  To get to the new user you can use the switch user icon for your system, which on Ubuntu is in the &#039;System/Quit&#039; screen, or if there is no switch icon on your system you can log out and log back in as the new user.&lt;br /&gt;
&lt;br /&gt;
Since the home folder of this user is encrypted, if you&#039;re not logged in as that user, data that is saved there can&#039;t be browsed, even by a root user. If something goes wrong with your system, and you need to decrypt the new user&#039;s files, you&#039;ll need its decryption key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ecryptfs-unwrap-passphrase&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will ask you for your user&#039;s password and give you the decryption key. &#039;&#039;&#039;WRITE DOWN OR SAVE THE CODE IT RETURNS&#039;&#039;&#039; because you will need it if you ever have to pull your data off while the OS is not working. (You can run it again later if you need to, but run it now so that you can get your data if your Linux install gets botched.)&lt;br /&gt;
&lt;br /&gt;
The encrypted folder data is not encrypted while it&#039;s in memory, and so if it&#039;s ever sent to the swap partition it can be stolen from there unless that too is encrypted - be aware that this will mean you cannot use Hibernate anymore, as the bootloader won&#039;t be able to restore the hibernation data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ecryptfs-setup-swap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then click on a folder in the new user to display the file browser, then keep going up folders until you see the new user home directory, then right click to bring up the Properties dialog, then click on the Permissions tab, then in the Others section, set the folder access to None.&lt;br /&gt;
&lt;br /&gt;
For secure browsing, open Firefox, and then go into the Edit menu and click Preferences.  Starting from the left, click on the General tab, and in the &#039;Startup/When Firefox starts&#039; pop up menu, choose &#039;Show a Blank Page&#039;.  Then click on the Content tab, and deselect &#039;Load images automatically&#039; and deselect &#039;Enable JavaScript&#039;.  Then click on the Privacy tab, and in the &#039;History/Firefox will&#039; pop up menu, choose &#039;Never remember history&#039;.  Then click on the Security tab, and in the Passwords section, deselect &#039;Remember passwords for sites&#039; and deselect &#039;Use a master password&#039;.  Then click on the Advanced tab, then click on the Update tab, and then in the &#039;Automatically check for updates to&#039; section, deselect &#039;Add-ons&#039; and &#039;Search Engines&#039;.&lt;br /&gt;
&lt;br /&gt;
When JavaScript is disabled, the [http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/bitcoin-0.3.23-linux.tar.gz/download Linux download page] will not download automatically, so you&#039;ll have to click on the &#039;direct link&#039; part of the &amp;quot;Problems with the download? Please use this &#039;direct link&#039; or try another mirror.&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
===Mac===&lt;br /&gt;
This solution &#039;&#039;&#039;does not scale&#039;&#039;&#039;; the amount of needed space can grow beyond the image size.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
Due to the frequency with which Windows computers are compromised, it is advised to encrypt your wallet or to keep your wallet on an encrypted disk image created by third-party software, such as [http://www.truecrypt.org/ TrueCrypt] (open source) or [http://www.jetico.com/encryption-bestcrypt/ Jetico BestCrypt] (commercial). This also applies to the storage of passwords, private keys and other data that can be used to access any of your Bitcoin balances.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have installed the Windows Bitcoin client and run it at least once, the process is described below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;To mount the Bitcoin data directory on an encrypted drive&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol start=1 type=1&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the third-party disk image encryption program of your choice to create and mount an encrypted disk image of at least 5GB in size. This procedure stores the entire block chain database with the wallet.dat file so the required size of the encrypted disk image required may grow in the future.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate the Bitcoin data directory, and copy the directory with all contents to the encrypted drive.&lt;br /&gt;
&amp;lt;p&amp;gt;For help finding this directory, see &amp;lt;b&amp;gt;[[Securing_your_wallet#Locating_Bitcoin_s_data_directory|Locating Bitcoin&#039;s Data Directory]]&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a Windows shortcut that starts Bitcoin with the &amp;lt;code&amp;gt;-datadir&amp;lt;/code&amp;gt; parameter and specifies the encrypted drive and directory.&lt;br /&gt;
&amp;lt;p&amp;gt;For example, if you installed Bitcoin in the default directory, mounted your Bitcoin encrypted drive as &amp;lt;code&amp;gt;E:\&amp;lt;/code&amp;gt;, and stored your Bitcoin data directory on it as &amp;lt;code&amp;gt;Bitcoin&amp;lt;/code&amp;gt;, you would type the following command as the shortcut Target:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;C:\Program Files\Bitcoin\bitcoin.exe -datadir=E:\Bitcoin&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Bitcoin&#039;s settings and configure it &amp;lt;b&amp;gt;NOT&amp;lt;/b&amp;gt; to start automatically when you start Windows.&lt;br /&gt;
&amp;lt;p&amp;gt;This is to allow you to mount the Bitcoin encrypted disk image before starting Bitcoin.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Shut down Bitcoin, and then restart it from the new shortcut.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, any time you want to use Bitcoin, you must first mount the Bitcoin encrypted disk image using the same drive designation, and then run Bitcoin from the shortcut that you created, so that it can find its data and your wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== General Solutions ===&lt;br /&gt;
&lt;br /&gt;
Your wallet.dat file is not encrypted by the Bitcoin program by default but the most current release of the Bitcoin client provides a method to encrypt with a passphrase the private keys stored in the wallet. Anyone who can access an unencrypted wallet can easily steal all of your coins.  Use one of these encryption programs if there is any chance someone might gain access to your wallet.&lt;br /&gt;
* [http://www.7-zip.org/ 7-zip] - Supports strongly-encrypted archives.&lt;br /&gt;
* [http://www.axantum.com/axcrypt/ AxCrypt by Axantum]&lt;br /&gt;
* [http://lrzip.kolivas.org lrzip] - Compression software for Linux and OSX that supports very high grade password protected encryption&lt;br /&gt;
* [http://www.truecrypt.org/ TrueCrypt] - Volume-based on-the-fly encryption (for advanced users)&lt;br /&gt;
&lt;br /&gt;
There is also a list of [[OpenSourceEncryptionSoftware|open source encryption software.]]&lt;br /&gt;
&lt;br /&gt;
Decrypting and encrypting the wallet.dat every time you start or quit the Bitcoin client can be &#039;&#039;tedious&#039;&#039; (and outright error-prone). If you want to keep your wallet encrypted (except while you&#039;re actually running the Bitcoin client), it&#039;s better to relegate the automation to a [http://lorelei.kaverit.org/bitcoin.sh small shell script] that handles the en/decryption and starting up Bitcoin client for you (Linux and OSX). &lt;br /&gt;
&lt;br /&gt;
There is also a method to print out and encrypt your wallet.dat as a special, scannable code. See details here: [[WalletPaperbackup]]&lt;br /&gt;
&lt;br /&gt;
==== Password Strength ====&lt;br /&gt;
Brute-force password cracking has come a long way. A password including capitals, numbers, and special characters with a length of 8 characters can be trivially solved now (using appropriate hardware). The recommended length is &#039;&#039;&#039;at least&#039;&#039;&#039; 12 characters long.  You can also use a multi-word password and there are techniques to increase the strength of your passwords without sacrificing usability. [http://www.baekdal.com/tips/password-security-usability The Usability of Passwords] &lt;br /&gt;
&lt;br /&gt;
However, simply using dictionary words is also insecure as it opens you up to a dictionary attack. If you use dictionary words, be sure to include random symbols and numbers in the mix as well.&lt;br /&gt;
&lt;br /&gt;
If you use keyfiles in addition to a password, it is unlikely that your encrypted file can ever be cracked using brute-force methods, even when even a 12 character password might be too short.&lt;br /&gt;
&lt;br /&gt;
Assume that any encrypted files you store online (eg. Gmail, Dropbox) will be stored somewhere forever and can never be erased.&lt;br /&gt;
&lt;br /&gt;
===== Choosing A Strong Password =====&lt;br /&gt;
Make sure you pick at least one character in each group:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Lowercase: abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
  Uppercase: ABCDEFGHIJKLMNOPQRSTUVWXYZ&lt;br /&gt;
  Number: 1234567890&lt;br /&gt;
  Symbol: `~!@#$%^&amp;amp;*()-_=+\|[{]};:&#039;&amp;quot;,&amp;lt;.&amp;gt;/? (space)&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;9 char = unsuitable for use&lt;br /&gt;
  09 char = insecure&lt;br /&gt;
  10 char = low security&lt;br /&gt;
  11 char = medium security&lt;br /&gt;
  12 char = good security (good enough for your wallet)&lt;br /&gt;
  13 char = very good, enough for anything.&lt;br /&gt;
&lt;br /&gt;
You might want to read [http://security.stackexchange.com/questions/662/what-is-your-way-to-create-good-passwords-that-can-actually-be-remembered What is your way to create good passwords that can actually be remembered?] and [http://security.stackexchange.com/questions/6095/xkcd-936-short-complex-password-or-long-dictionary-passphrase XKCD #936: Short complex password, or long dictionary passphrase?]&lt;br /&gt;
&lt;br /&gt;
== Backing up your wallet ==&lt;br /&gt;
See [[Backingup_your_wallet|Backing up your wallet]].&lt;br /&gt;
&lt;br /&gt;
==Erasing Plain-text Wallets==&lt;br /&gt;
&lt;br /&gt;
In most operating systems, including Windows, Linux, and Mac OS X, simply deleting a wallet.dat file will &#039;&#039;not&#039;&#039; generally destroy it. It is likely that advanced tools can still be used to recover the wallet.dat file, even after it has been deleted.&lt;br /&gt;
&lt;br /&gt;
The Linux &#039;&#039;&#039;shred&#039;&#039;&#039; command can be used to overwrite the wallet file with random data prior to deleting; this particular copy of the file will then be practically impossible to recover.  Using shred (and similar tools on Windows) however does not guarantee that still other copies don&#039;t exist somewhere hidden on your HD. That will depend on your system configuration and what packages you have installed. Some system restore and backup tools, for instance, create periodic snapshots of your  filesystem, duplicating your wallet.dat.&lt;br /&gt;
&lt;br /&gt;
In Mac OS, the equivalent of &#039;&#039;&#039;shred&#039;&#039;&#039; is &#039;&#039;&#039;srm&#039;&#039;&#039; (introduced in Leopard). Using the Finder to remove files, clicking &amp;quot;Secure Empty Trash&amp;quot; in the Finder menu will shred the contents of the trash can. As with any OS this doesn&#039;t guarantee that there are not other copies elsewhere on your system.&lt;br /&gt;
&lt;br /&gt;
For Windows, the built-in command &#039;&#039;cipher /W&#039;&#039; will shred all previously-deleted files. [http://www.cylog.org/utilities/cybershredder.jsp CyberShredder] can securely deleted individual files.&lt;br /&gt;
&lt;br /&gt;
==Online and Mobile Wallets==&lt;br /&gt;
&lt;br /&gt;
Thus far, this article has been discussing the security of a wallet file for Bitcoin-QT or bitcoind that is under your sole control. Additional wallets applications and services have become available that offer other features and more convenience but not without introducing additional risk. When storing bitcoins with an [[eWallet]] such as Instawallet or Easywallet, you are essentially storing your private keys or wallet with that provider. &lt;br /&gt;
&lt;br /&gt;
Online wallets have a number of pros and cons to consider. For example, you can access your wallet on any computer in the world, but depending on the service, your bitcoins may be lost if the service is compromised. &lt;br /&gt;
&lt;br /&gt;
Mobile wallet applications are available for Android devices that allow you to send bitcoins by QR code or NFC, but this opens up the possibility of loss if mobile device is compromised. It may be possible to encrypt and backup the wallet or private keys on a mobile device but it is not advisable to store a large amount of bitcoins there without doing your own research and testing.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Data directory]]&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
* [http://startbitcoin.com/how-to-create-a-secure-bitcoin-wallet/ Secure Bitcoin Wallet Tutorial]&lt;br /&gt;
* [[How to set up a secure offline savings wallet]]&lt;br /&gt;
* [http://arimaa.com/bitcoin/ Bitcoin Gateway - A Peer-to-peer Bitcoin Vault and Payment Network]&lt;br /&gt;
* [http://blog.cyplo.net/2012/04/01/bitcoin-wallet-recovery-photorec/ Find lost wallet eg. after disk format, using Photorec]&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
&lt;br /&gt;
[[de:Sichere deine Geldbörse]]&lt;br /&gt;
[[ru:Bitcoin и безопасность]]&lt;br /&gt;
[[es:Cómo asegurar su monedero]]&lt;br /&gt;
[[zh-cn:保护你的钱包]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Paper_wallet&amp;diff=43799</id>
		<title>Paper wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Paper_wallet&amp;diff=43799"/>
		<updated>2014-01-18T07:24:28Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;paper wallet&#039;&#039;&#039; is a mechanism for storing bitcoins offline as a physical document that can be secured like cash or anything else of real-world value. Paper wallets are generally created by printing a brand new public address and private key onto paper, and then sending bitcoins from a &amp;quot;live&amp;quot; wallet to the printed wallet&#039;s public address for safekeeping. If good security practices are followed, paper wallets are one of the safest ways to to store Bitcoins. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Producing safe paper wallets==&lt;br /&gt;
&lt;br /&gt;
[[File:PaperWallets-offlineaddress-com.png|200px|thumb|right|Paper wallets from [[OfflineAddress|OfflineAddress.com]] ]]&lt;br /&gt;
[[File:BitcoinPaperWallet-sample.jpg|thumb|right|300px|Wallet with private key secured beneath folds (BitcoinPaperWallet.com)]]&lt;br /&gt;
A Bitcoin [[private key]] can be represented in several formats. For paper wallets typically used format is Wallet Import Format (WIF), since keys represented that way are very short (51 characters) and thus easy to re-enter when importing or &amp;quot;sweeping&amp;quot; the wallet for withdrawal.&lt;br /&gt;
&lt;br /&gt;
Several tools exist for producing paper wallets, including [[BitAddress|BitAddress.org]], [[OfflineAddress|OfflineAddress.com]], [[BitcoinPaperWallet|BitcoinPaperWallet.com]], [[vanitygen]], [[SafePaperWallet|SafePaperWallet.com]], and [[Bitcoin Address Utility]]. &lt;br /&gt;
&lt;br /&gt;
Care must be taken to securely generate paper wallets since an attacker can steal the present &#039;&#039;and future&#039;&#039; balance of a paper wallet if the private key is exposed, transmitted, or generated with [http://www.offlineaddress.com/?site=about#security-risk insufficient entropy].&lt;br /&gt;
&lt;br /&gt;
Some services feature a free open-source client-side paper wallet generators written in JavaScript, which can be used offline. Using these generators is relatively safe while disconnected from internet. It&#039;s advisable to use those services from [https://en.wikipedia.org/wiki/Live_CD live disc], to ensure that private keys are not compromised by spyware. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommendations:&#039;&#039;&#039;&lt;br /&gt;
* Paper wallets should be produced on a computer not connected to the Internet.&lt;br /&gt;
* Be aware that malware often allows a remote third party to view your screen and see your keystrokes, and these can compromise the integrity of your paper wallet.  Also consider that antivirus software cannot completely rule out the possibility of malware.  However, using bootable [https://en.wikipedia.org/wiki/Live_CD live disc] prevents malware from running.&lt;br /&gt;
* The private keys of paper wallets should never be saved to a computer hard drive.  You should also never scan your paper wallet into your computer or type the private keys or save them in e-mail, except at the moment you are redeeming the balance.&lt;br /&gt;
* If possible, the private key of a paper wallet should be kept hidden, for example by folding the paper to hide the private key so that a photograph or photocopy of the wallet will not reveal or replicate the private key.&lt;br /&gt;
* A web-based paper wallet generator should be written so that all of the generation happens on your computer, not the web server.  After you load the paper wallet generating website in your web browser, you should disconnect from the Internet, and observe that the paper wallet generator continues to function.  Afterward, you should close your browser before reconnecting to the Internet.&lt;br /&gt;
* A paper wallet generator should use an appropriate source of random numbers (entropy).  This means that the generated addresses aren&#039;t predictable.  If the addresses come from a predictable or partially-predictable patterns like pseudorandom numbers &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandomness#Cryptography Pseudorandomness] &#039;&#039; is not enough for strong cryptography&#039;&#039;&amp;lt;/ref&amp;gt;, someone else who can predict the pattern can steal the balance. Ideally, randomness has to be human provided (i.e. from mouse movements, as in [[OfflineAddress|offlineaddress.com]]). This rules out any &amp;quot;web-based&amp;quot; generator unless you can be sure that both your browser and the JavaScript code are taking advantage of the strongest cryptographic routines available.&amp;lt;ref&amp;gt;[http://www.w3.org/TR/WebCryptoAPI/ w3.org] &#039;&#039;WebCryptoAPI&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Operating System Cache Security===&lt;br /&gt;
&lt;br /&gt;
The problem with printing out secure documents—even if your computer is 100% virus/trojan free—is that your printer driver and/or operating system may be keeping copies of the documents you print in a &amp;quot;spool&amp;quot; or print queue. If a hacker or virus gets into your computer and knows to look for these cache files, then they can get your private keys and sweep your paper wallets. Precautions to mitigate this type of attack include:&lt;br /&gt;
&lt;br /&gt;
* Enabling encryption of your entire filesystem so that cache files cannot be &#039;undeleted&#039;.&lt;br /&gt;
&lt;br /&gt;
* Setting up a symbolic link from your OS spool directory (e.g. /private/var/spool/cups/cache/ on OS X) to a removable media volume (e.g. a SD card) and disconnecting it when not in use.&lt;br /&gt;
&lt;br /&gt;
* Using a live-boot CD instead of a regular hard drive OS install. This way when you reboot your computer, all cache files are deleted from memory and no jobs are ever written to disk.&amp;lt;ref&amp;gt;[https://bitcoinpaperwallet.com/#security BitcoinPaperWallet.com] &#039;&#039;Security Tips&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Printer Security===&lt;br /&gt;
&lt;br /&gt;
Some advanced printers have internal storage (even hard drives) that preserve copies of printouts. This is a risk if someone gets access to your printer, or if you dispose of your printer. There is also the possibility that a smart enough printer can be hacked. (Consider [http://en.wikipedia.org/wiki/Stuxnet StuxNet] which was able to rewrite the firmware of non-computer devices indirectly connected to the Internet) If this concerns you, use a &amp;quot;dumb&amp;quot; printer, and never let your printer have access to the Internet or to an Internet-connected computer.&lt;br /&gt;
&lt;br /&gt;
==Redeeming Keys and Withdrawing Funds==&lt;br /&gt;
&lt;br /&gt;
Paper wallets are very different from &amp;quot;live&amp;quot; wallets such as the Bitcoin-QT client in that it is not possible to transfer (withdraw) a &#039;&#039;portion&#039;&#039; of a paper wallet&#039;s bitcoin balance. The only way to withdraw funds from a paper wallet is to import or &amp;quot;sweep&amp;quot; the &#039;&#039;entire&#039;&#039; balance of the paper wallet to a new address, typically a live wallet or online exchange. Once the transfer has been confirmed, &#039;&#039;the paper wallet should no longer be used&#039;&#039;.&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/1c9xr7/psa_using_paper_wallets_understanding_change/ reddit.com] &#039;&#039;Using Paper Wallets and Understanding Change&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are various methods for copying the private key data from a paper wallet to other wallets.&lt;br /&gt;
bitcoind supports an &amp;quot;importprivkey&amp;quot; RPC method for this purpose.&lt;br /&gt;
Bitcoin-Qt&#039;s debug console can also be used in a similar way (see also [[how to import private keys v7+]]).&lt;br /&gt;
[[BlockChain.info]] and [[Armory]] can also import them directly into wallets.&lt;br /&gt;
[[MtGox|Mt. Gox]] provides the ability to Add Funds using a private key:&lt;br /&gt;
the exchange will then create a &amp;quot;sweep&amp;quot; transaction that spends any amount for that paper wallet address so that the amount is added to your account with them; it will also sweep to your account any bitcoins received to that address in the future as well.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Private key]]&lt;br /&gt;
&lt;br /&gt;
* [[Securing_your_wallet#Paper_Wallets]]&lt;br /&gt;
&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
&lt;br /&gt;
* [https://blockchain.info/wallet/paper-tutorial Blockchain.info tutorial] on how to generate a paper wallet.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
&lt;br /&gt;
[[es:Monedero de papel]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Paper_wallet&amp;diff=43798</id>
		<title>Paper wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Paper_wallet&amp;diff=43798"/>
		<updated>2014-01-18T07:13:47Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;paper wallet&#039;&#039;&#039; is a mechanism for storing bitcoins offline as a physical document that can be secured like cash or anything else of real-world value. Paper wallets are generally created by printing a brand new public address and private key onto paper, and then sending bitcoins from a &amp;quot;live&amp;quot; wallet to the printed wallet&#039;s public address for safekeeping. If good security practices are followed, paper wallets are one of the safest ways to to store Bitcoins. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Producing safe paper wallets==&lt;br /&gt;
&lt;br /&gt;
[[File:PaperWallets-offlineaddress-com.png|200px|thumb|right|Paper wallets from [[OfflineAddress|OfflineAddress.com]] ]]&lt;br /&gt;
[[File:BitcoinPaperWallet-sample.jpg|thumb|right|300px|Wallet with private key secured beneath folds (BitcoinPaperWallet.com)]]&lt;br /&gt;
A Bitcoin [[private key]] can be represented in several formats. For paper wallets typically used format is Wallet Import Format (WIF), since keys represented that way are very short (51 characters) and thus easy to re-enter when importing or &amp;quot;sweeping&amp;quot; the wallet for withdrawal.&lt;br /&gt;
&lt;br /&gt;
Several tools exist for producing paper wallets, including [[BitAddress|BitAddress.org]], [[OfflineAddress|OfflineAddress.org]], [[BitcoinPaperWallet|BitcoinPaperWallet.com]], [[vanitygen]], [[SafePaperWallet|SafePaperWallet.com]], and [[Bitcoin Address Utility]]. &lt;br /&gt;
&lt;br /&gt;
Care must be taken to securely generate paper wallets since an attacker can steal the present &#039;&#039;and future&#039;&#039; balance of a paper wallet if the private key is exposed, transmitted, or generated with [http://www.offlineaddress.com/?site=about#security-risk insufficient entropy].&lt;br /&gt;
&lt;br /&gt;
Some services feature a free open-source client-side paper wallet generators written in JavaScript, which can be used offline. Using these generators is relatively safe while disconnected from internet. It&#039;s advisable to use those services from [https://en.wikipedia.org/wiki/Live_CD live disc], to ensure that private keys are not compromised by spyware. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommendations:&#039;&#039;&#039;&lt;br /&gt;
* Paper wallets should be produced on a computer not connected to the Internet.&lt;br /&gt;
* Be aware that malware often allows a remote third party to view your screen and see your keystrokes, and these can compromise the integrity of your paper wallet.  Also consider that antivirus software cannot completely rule out the possibility of malware.  However, using bootable [https://en.wikipedia.org/wiki/Live_CD live disc] prevents malware from running.&lt;br /&gt;
* The private keys of paper wallets should never be saved to a computer hard drive.  You should also never scan your paper wallet into your computer or type the private keys or save them in e-mail, except at the moment you are redeeming the balance.&lt;br /&gt;
* If possible, the private key of a paper wallet should be kept hidden, for example by folding the paper to hide the private key so that a photograph or photocopy of the wallet will not reveal or replicate the private key.&lt;br /&gt;
* A web-based paper wallet generator should be written so that all of the generation happens on your computer, not the web server.  After you load the paper wallet generating website in your web browser, you should disconnect from the Internet, and observe that the paper wallet generator continues to function.  Afterward, you should close your browser before reconnecting to the Internet.&lt;br /&gt;
* A paper wallet generator should use an appropriate source of random numbers (entropy).  This means that the generated addresses aren&#039;t predictable.  If the addresses come from a predictable or partially-predictable patterns like pseudorandom numbers &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Pseudorandomness#Cryptography Pseudorandomness] &#039;&#039; is not enough for strong cryptography&#039;&#039;&amp;lt;/ref&amp;gt;, someone else who can predict the pattern can steal the balance. Ideally, randomness has to be human provided (i.e. from mouse movements, as in [[OfflineAddress|offlineaddress.com]]). This rules out any &amp;quot;web-based&amp;quot; generator unless you can be sure that both your browser and the JavaScript code are taking advantage of the strongest cryptographic routines available.&amp;lt;ref&amp;gt;[http://www.w3.org/TR/WebCryptoAPI/ w3.org] &#039;&#039;WebCryptoAPI&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Operating System Cache Security===&lt;br /&gt;
&lt;br /&gt;
The problem with printing out secure documents—even if your computer is 100% virus/trojan free—is that your printer driver and/or operating system may be keeping copies of the documents you print in a &amp;quot;spool&amp;quot; or print queue. If a hacker or virus gets into your computer and knows to look for these cache files, then they can get your private keys and sweep your paper wallets. Precautions to mitigate this type of attack include:&lt;br /&gt;
&lt;br /&gt;
* Enabling encryption of your entire filesystem so that cache files cannot be &#039;undeleted&#039;.&lt;br /&gt;
&lt;br /&gt;
* Setting up a symbolic link from your OS spool directory (e.g. /private/var/spool/cups/cache/ on OS X) to a removable media volume (e.g. a SD card) and disconnecting it when not in use.&lt;br /&gt;
&lt;br /&gt;
* Using a live-boot CD instead of a regular hard drive OS install. This way when you reboot your computer, all cache files are deleted from memory and no jobs are ever written to disk.&amp;lt;ref&amp;gt;[https://bitcoinpaperwallet.com/#security BitcoinPaperWallet.com] &#039;&#039;Security Tips&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Printer Security===&lt;br /&gt;
&lt;br /&gt;
Some advanced printers have internal storage (even hard drives) that preserve copies of printouts. This is a risk if someone gets access to your printer, or if you dispose of your printer. There is also the possibility that a smart enough printer can be hacked. (Consider [http://en.wikipedia.org/wiki/Stuxnet StuxNet] which was able to rewrite the firmware of non-computer devices indirectly connected to the Internet) If this concerns you, use a &amp;quot;dumb&amp;quot; printer, and never let your printer have access to the Internet or to an Internet-connected computer.&lt;br /&gt;
&lt;br /&gt;
==Redeeming Keys and Withdrawing Funds==&lt;br /&gt;
&lt;br /&gt;
Paper wallets are very different from &amp;quot;live&amp;quot; wallets such as the Bitcoin-QT client in that it is not possible to transfer (withdraw) a &#039;&#039;portion&#039;&#039; of a paper wallet&#039;s bitcoin balance. The only way to withdraw funds from a paper wallet is to import or &amp;quot;sweep&amp;quot; the &#039;&#039;entire&#039;&#039; balance of the paper wallet to a new address, typically a live wallet or online exchange. Once the transfer has been confirmed, &#039;&#039;the paper wallet should no longer be used&#039;&#039;.&amp;lt;ref&amp;gt;[http://www.reddit.com/r/Bitcoin/comments/1c9xr7/psa_using_paper_wallets_understanding_change/ reddit.com] &#039;&#039;Using Paper Wallets and Understanding Change&#039;&#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are various methods for copying the private key data from a paper wallet to other wallets.&lt;br /&gt;
bitcoind supports an &amp;quot;importprivkey&amp;quot; RPC method for this purpose.&lt;br /&gt;
Bitcoin-Qt&#039;s debug console can also be used in a similar way (see also [[how to import private keys v7+]]).&lt;br /&gt;
[[BlockChain.info]] and [[Armory]] can also import them directly into wallets.&lt;br /&gt;
[[MtGox|Mt. Gox]] provides the ability to Add Funds using a private key:&lt;br /&gt;
the exchange will then create a &amp;quot;sweep&amp;quot; transaction that spends any amount for that paper wallet address so that the amount is added to your account with them; it will also sweep to your account any bitcoins received to that address in the future as well.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Private key]]&lt;br /&gt;
&lt;br /&gt;
* [[Securing_your_wallet#Paper_Wallets]]&lt;br /&gt;
&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
&lt;br /&gt;
* [https://blockchain.info/wallet/paper-tutorial Blockchain.info tutorial] on how to generate a paper wallet.&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
&lt;br /&gt;
[[es:Monedero de papel]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43791</id>
		<title>OfflineAddress</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43791"/>
		<updated>2014-01-18T06:11:41Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PaperWallets-offlineaddress-com.png|200px|thumb|right|Paper wallets from [[OfflineAddress]] ]]&lt;br /&gt;
&lt;br /&gt;
[http://www.offlineaddress.com OfflineAddress.com] can be used to generate offline Bitcoin addresses with maximum possible entropy (making them as secure as possible).&lt;br /&gt;
Private keys used to generate addresses are constructed from truly random numbers provided from user&#039;s mouse movements.&lt;br /&gt;
&lt;br /&gt;
Generated addresses can be printed and used as paper wallets or for secure offline storage.&lt;br /&gt;
&lt;br /&gt;
== Motivation and security ==&lt;br /&gt;
* Easy to use service capable of providing maximum security for non-technical users.&lt;br /&gt;
* Open Source JavaScript implementation which supports HTML5 caching - so that user needs to load the site just once.&lt;br /&gt;
* Service is capable of producing private keys with maximum entropy.&lt;br /&gt;
* Runs only in user&#039;s browser and never sends private keys to the internet.&lt;br /&gt;
* Service can be used offline and always warns the user if he&#039;s attempting to generate Bitcoin addresses while being connected to the internet.&lt;br /&gt;
* Hints how to be even more secure can be found [http://www.offlineaddress.com/?site=about here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [http://www.offlineaddress.com OfflineAddress] web site.&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=399452.0;all Forum discussion]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=File:PaperWallets-offlineaddress-com.png&amp;diff=43788</id>
		<title>File:PaperWallets-offlineaddress-com.png</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=File:PaperWallets-offlineaddress-com.png&amp;diff=43788"/>
		<updated>2014-01-18T05:56:10Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: Paper Wallets that can be generated on OfflineAddress.com&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Paper Wallets that can be generated on OfflineAddress.com&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{self|Cc-zero}}&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=How_to_set_up_a_secure_offline_savings_wallet&amp;diff=43778</id>
		<title>How to set up a secure offline savings wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=How_to_set_up_a_secure_offline_savings_wallet&amp;diff=43778"/>
		<updated>2014-01-17T20:22:58Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: /* Notes */ directed non-technical users to generate paper wallets.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Why set up an offline savings wallet? ==&lt;br /&gt;
&lt;br /&gt;
Modern operating systems are getting more and more complex. The flip side of all this complexity is that they generally have a large [http://en.wikipedia.org/wiki/Attack_surface attack surface] and constantly leak information without the user’s knowledge or consent.  No matter how many precautions you take, your [[wallet]]s will never be 100% safe on a computer that is connected to the internet.&lt;br /&gt;
  &lt;br /&gt;
Because bitcoins are stored directly on your computer and because they are real money, the motivation for sophisticated and targeted attacks against your system is higher than in the pre-bitcoin era, when only large organizations normally had to worry about such attacks.  &lt;br /&gt;
&lt;br /&gt;
This guide will instruct you on how to create an offline wallet, a wallet that never even touches the internet in its plaintext form.  Another term for this is [[cold storage]]. This security measure is also referred to as being an air gap.  For all practical purposes, this wallet is safe from all online threats, such as viruses and hackers. It is however still exposed to offline threats, such as [http://en.wikipedia.org/wiki/Hardware_keylogger hardware keyloggers], extortion, or people looking over your shoulder. A best practice is to keep the majority of your bitcoins in the offline wallet and only to use the online wallet for everyday expenses/earnings.&lt;br /&gt;
&lt;br /&gt;
The below procedure may seem tedious, but remember that security almost always comes at the cost of convenience.  When you deposit money at a bank, you let them worry about security.  Bitcoins, however, are stored on &#039;&#039;&#039;your&#039;&#039;&#039; computer and that means &#039;&#039;&#039;you&#039;&#039;&#039; are fully responsible for securing them. The bitcoin ecosystem is still very young and unfortunately no user friendly tools for creating  highly secure wallets have been developed yet (though some members of the Bitcoin community are [http://forum.bitcoin.org/?topic=7357.0 working hard at this]).&lt;br /&gt;
&lt;br /&gt;
== How to deposit funds ==&lt;br /&gt;
&lt;br /&gt;
#	Set up a [http://www.wuala.com/en/bitcoin Wuala] account, or other cloud backup service of your choice.&lt;br /&gt;
#	Create a strong and unique password offline (manually).  This password should be at least 20 characters long; it should contain numbers, upper and lower case letters, and symbols. It should be as random as possible, ie it should look something like this: Zr%8qL03&amp;amp;cvwS9@05AatdP71. Never use this password elsewhere.  &lt;br /&gt;
#	&#039;&#039;&#039;Do not forget this password&#039;&#039;&#039;. Recite it several times a day.  It is easy to overestimate your ability to remember a password several months in the future. To be on the safe side, write it down and store the piece of paper in a safety deposit box.&lt;br /&gt;
#	Download [http://www.bitcoin.org/ Bitcoin Linux binary] and save it on a USB drive.&lt;br /&gt;
#	Shut down your computer, and boot [http://www.ubuntu.com/ Ubuntu] (or Linux distribution of you choice) from a [http://www.ubuntu.com/download/ubuntu/download liveCD]. This will not affect your current operating system. &lt;br /&gt;
#	&#039;&#039;&#039;Disconnect machine from the internet&#039;&#039;&#039;. Unplug any network cables and disable wireless. Verify that wireless is disabled in the icon on the upper right corner (Ubuntu).  Double check that machine is disconnected by opening the web browser.&lt;br /&gt;
#	Run bitcoin while disconnected to the internet. The client will show 0 connections and 0 blocks, but it will still generate a wallet.dat file and a bitcoin address. &lt;br /&gt;
#       Encrypt your wallet using the strong and unique password from step 2 above. (Bitcoin Client &amp;gt; Settings &amp;gt; Encrypt wallet)&lt;br /&gt;
#	Copy wallet.dat (found in hidden folder .bitcoin in your home directory) to USB drive.&lt;br /&gt;
#	Save bitcoin address to a text file and copy it to USB drive.&lt;br /&gt;
#	Shut down system and turn off computer.  Before switching your computer on again, remove all power sources for about 1 minute. Physically remove battery from laptop.&lt;br /&gt;
#	Backup encrypted wallet.dat file in several places: &lt;br /&gt;
#*Send it to your 5 best friends by email attachment and ask them to save it for you.&lt;br /&gt;
#*Save it on your Wuala account created in step 1.&lt;br /&gt;
#*Save it on several USB drives and CDs and store them in different geographic locations.&lt;br /&gt;
#Send bitcoins to the address saved on the USB drive.  Double check in the [[Bitcoin Block Explorer|block explorer]] that they have been sent.&lt;br /&gt;
&lt;br /&gt;
==How to retrieve funds ==&lt;br /&gt;
&lt;br /&gt;
#Boot from Ubuntu liveCD, as in step 5 above. &lt;br /&gt;
#Insert USB drive.&lt;br /&gt;
#Run bitcoin client and close it again.&lt;br /&gt;
#Replace wallet.dat in ~/.bitcoin directory with wallet.dat from USB drive.&lt;br /&gt;
#Connect to the internet.&lt;br /&gt;
#Restart bitcoin client.&lt;br /&gt;
#Wait for blocks to download (optional).&lt;br /&gt;
#Send bitcoins.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
*This procedure is only secure if you perform steps 1-13 in this &#039;&#039;&#039;exact order&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*If your non-technical user that can&#039;t perform steps above, try using services like [[BitAddress]] or [[OfflineAddress]] to generate paper wallets (read below).&lt;br /&gt;
&lt;br /&gt;
*Perform one or two trial runs of the above procedure with a few bitcents, and make sure that you know how to successfully retrieve them, before making a bulk transfer.&lt;br /&gt;
&lt;br /&gt;
*Every time you retrieve bitcoins from your savings wallet, create a fresh savings wallet by repeating the above procedure, and send all your remaining savings balance there.&lt;br /&gt;
&lt;br /&gt;
*There is more than one way to do it. Similar procedures have been suggested on the forums [http://forum.bitcoin.org/index.php?topic=17240.0 here] and [http://forum.bitcoin.org/?topic=5194.0 here].&lt;br /&gt;
&lt;br /&gt;
*Beware that even savings wallets have limited lifetimes. New, backwards incompatible versions of bitcoin might come out in future, [http://en.wikipedia.org/wiki/Advanced_Encryption_Standard AES] might be broken, [http://en.wikipedia.org/wiki/Bit_rot bit rot] might destroy your wallets, etc. Update to fresh savings wallets every couple of years, or as needed.&lt;br /&gt;
&lt;br /&gt;
* See [[How to import private keys]] for an alternative way of retrieve your coins.&lt;br /&gt;
&lt;br /&gt;
==Alternatives ==&lt;br /&gt;
&lt;br /&gt;
[[Paper wallet|&#039;&#039;&#039;Paper wallets&#039;&#039;&#039;]] can also be used to create offline bitcoin savings accounts. While paper wallets are much easier to generate, they are not generally encrypted which means you cannot guard against accidental loss by distributing copies to online services and friends. Instead, paper wallets must be kept safe like jewels or cash. Looking forward, support for [[BIP 0038|BIP-38]] encryption is growing fast and it is expected that paper wallet generators will soon include options for generating &#039;&#039;encrypted paper wallets&#039;&#039; that can be duplicated and widely distributed for safekeeping. &lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Cold storage]]&lt;br /&gt;
* [http://codinginmysleep.com/bitcoin-cold-storage-in-plain-english Bitcoin Cold Storage In Plain English] by David Perry&lt;br /&gt;
&lt;br /&gt;
[[Category:Instructional]]&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Cold_storage&amp;diff=43777</id>
		<title>Cold storage</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Cold_storage&amp;diff=43777"/>
		<updated>2014-01-17T19:11:51Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Cold storage&#039;&#039;&#039; in the context of Bitcoin refers to keeping a reserve of Bitcoins offline.&lt;br /&gt;
&lt;br /&gt;
For example, a Bitcoin exchange typically offers an instant withdrawal feature, and might be a steward over hundreds of thousands of Bitcoins.  To minimize the possibility that an intruder could steal the entire reserve in a security breach, the operator of the website follows a best practice by keeping the majority of the reserve in &#039;&#039;cold storage&#039;&#039;, or in other words, not present on the web server or any other computer.  The only amount kept on the server is the amount needed to cover anticipated withdrawals.&lt;br /&gt;
&lt;br /&gt;
Methods of cold storage include keeping bitcoins:&lt;br /&gt;
* On a USB drive or other data storage medium in a safe place (e.g. safety deposit box, safe)&lt;br /&gt;
* On a [[paper wallet]]&lt;br /&gt;
* On a bearer item such as a [[physical bitcoin]].&lt;br /&gt;
* Online, but on encrypted media where the encryption key is offline.&lt;br /&gt;
* Use a offline Bitcoin [[Hardware wallet]] (So far only [http://www.pi-wallet.com/products/pi-wallet Pi-Wallet] is operational.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Deep cold storage&#039;&#039;&#039; refers to keeping a reserve of Bitcoins offline, using a method that makes retrieving coins from storage significantly more difficult than sending them there.  This could be done for safety&#039;s sake, such as to prevent theft or robbery.&lt;br /&gt;
&lt;br /&gt;
Because Bitcoins can be sent to a wallet by anyone knowing the wallet address, it is trivial to put a wallet in cold storage but to keep a copy of the addresses needed to send funds to it.&lt;br /&gt;
&lt;br /&gt;
A simple example of deep cold storage is opening a safety deposit box and putting a USB stick containing an encrypted wallet file in it.  The public (sending) addresses can be used any time to send additional bitcoins to the wallet, but spending the bitcoins would require physical access to the box (in addition to knowledge of the encryption password).&lt;br /&gt;
&lt;br /&gt;
Deep cold storage would typically be used for holding large amounts of bitcoins, or for a trustee holding bitcoins on behalf of others.  In such a case, additional precautions should be taken beyond a simple example of a single safety deposit box.&lt;br /&gt;
* The box could be accessed by bank or maintenance personnel, so the contents of the box alone should not be sufficient to access the wallet.&lt;br /&gt;
* The box could be stolen or destroyed in a disaster, or the media could become unreadable, so the box should not contain the only copy of the wallet.&lt;br /&gt;
* The trustee could die or become incapacitated.  If access to the wallet or knowledge of its location is lost, or encryption passwords are lost, the bitcoins are gone forever.  Provisions should be made so that the box can be accessed by someone else as appropriate, including any encryption passwords.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
* [[How to set up a secure offline savings wallet]]&lt;br /&gt;
* [http://codinginmysleep.com/bitcoin-cold-storage-in-plain-english Bitcoin Cold Storage In Plain English] by David Perry&lt;br /&gt;
* [https://blockchain.info/wallet/paper-tutorial Paper Wallet Tutorial] blockchain.info&lt;br /&gt;
* [http://www.offlineaddress.com/?site=about#security-risk Security of private key] offlineaddress.com&lt;br /&gt;
[[Category:Introduction]]&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43775</id>
		<title>OfflineAddress</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43775"/>
		<updated>2014-01-17T09:55:19Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.offlineaddress.com OfflineAddress.com] can be used to generate offline Bitcoin addresses with maximum possible entropy (making them as secure as possible).&lt;br /&gt;
Private keys used to generate addresses are constructed from truly random numbers provided from user&#039;s mouse movements.&lt;br /&gt;
&lt;br /&gt;
Generated addresses can be printed and used as paper wallets or for secure offline storage.&lt;br /&gt;
&lt;br /&gt;
== Motivation and security ==&lt;br /&gt;
* Easy to use service capable of providing maximum security for non-technical users.&lt;br /&gt;
* Open Source JavaScript implementation which supports HTML5 caching - so that user needs to load the site just once.&lt;br /&gt;
* Service is capable of producing private keys with maximum entropy.&lt;br /&gt;
* Runs only in user&#039;s browser and never sends private keys to the internet.&lt;br /&gt;
* Service can be used offline and always warns the user if he&#039;s attempting to generate Bitcoin addresses while being connected to the internet.&lt;br /&gt;
* Hints how to be even more secure can be found [http://www.offlineaddress.com/?site=about here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [http://www.offlineaddress.com OfflineAddress] web site.&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=399452.0;all Forum discussion]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43774</id>
		<title>OfflineAddress</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43774"/>
		<updated>2014-01-17T09:03:37Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.offlineaddress.com OfflineAddress.com] can be used to generate offline Bitcoin addresses with maximum possible entropy (making them as secure as possible).&lt;br /&gt;
Private keys used to generate addresses are constructed from truly random numbers provided from user&#039;s mouse movements.&lt;br /&gt;
&lt;br /&gt;
Generated addresses can be printed and used as paper wallets or for secure offline storage.&lt;br /&gt;
&lt;br /&gt;
== Motivation and security ==&lt;br /&gt;
* Easy to use service capable of providing maximum security for non-technical users.&lt;br /&gt;
* Open Source JavaScript implementation which supports HTML5 caching - so that user needs to load the site just once.&lt;br /&gt;
* Service is capable of producing private keys with maximum entropy.&lt;br /&gt;
* Runs purely in user&#039;s browser and never sends private keys to the internet.&lt;br /&gt;
* Service can be used offline and always warns the user if he&#039;s attempting to generate Bitcoin addresses while being connected to the internet.&lt;br /&gt;
* Hints how to be even more secure can be found [http://www.offlineaddress.com/?site=about here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [http://www.offlineaddress.com OfflineAddress] web site.&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=399452.0;all Forum discussion]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Securing_your_wallet&amp;diff=43773</id>
		<title>Securing your wallet</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Securing_your_wallet&amp;diff=43773"/>
		<updated>2014-01-17T09:01:49Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: /* Paper Wallets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Wallet security can be broken down into two independent goals:&lt;br /&gt;
# Protecting your wallet against loss.&lt;br /&gt;
# Protecting your wallet against theft.&lt;br /&gt;
&lt;br /&gt;
In the case that your current wallet hasn&#039;t been protected adequately (e.g. put online with a weaker password):&lt;br /&gt;
# Making a new secure wallet, using appropriate long-term protection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For a brief overview see also: [[Wallet Security Dos and Don&#039;ts|Wallet Security Dos and Don&#039;ts]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Paper Wallets==&lt;br /&gt;
[[Paper wallet]]s are a fairly simple way to store your bitcoins independent of a computer. When generated securely and stored on paper, or other offline storage media, a paper wallet decreases the chances of your bitcoins being stolen by hackers, or computer viruses.&lt;br /&gt;
&lt;br /&gt;
With each entry on a paper wallet, you are securing a sequence of secret numbers that is used to prove your right to spend the bitcoins assigned to one of your addresses. This secret number, called a [[private key]], is most commonly written as a sequence of fifty-one alphanumeric characters, beginning with a &#039;5&#039;.&lt;br /&gt;
&lt;br /&gt;
One way you can create a paper wallet is by visiting the [[BitAddress|BitAddress.org]], [[OfflineAddress|OfflineAddress.com]] or [[BitcoinPaperWallet|BitcoinPaperWallet.com]] websites. These websites feature a free client-side paper wallet generator written in JavaScript. The HTML for these generators can be downloaded from GitHub and used on an offline computer. Using these generators online by directly connecting to their websites is relatively safe for storing smaller amounts of bitcoin, but extra precautions should be taken to ensure that keys are not compromised by spyware that may be monitoring browser activity. Blockchain.info offers a [https://blockchain.info/wallet/paper-tutorial tutorial on how to generate a paper wallet] with an online component so you can check your balance easily.&lt;br /&gt;
&lt;br /&gt;
To generate a safer paper wallet, first save the paper wallet generating code to a newly-formatted USB stick. Then &amp;quot;clean-boot&amp;quot; your computer with a bootable CD (such as a Linux Live CD) &#039;&#039;while disconnected from the Internet&#039;&#039;. Disconnecting from the Internet guarantees that that the paper wallet generator is truly self-contained and isn&#039;t communicating with an online service. Then insert the USB stick and open the wallet generator&#039;s HTML file from the web browser. Print your paper wallets or store them on external media (do not save them on the computer), and then shut down the computer. You may need to load an appropriate printer driver in order to print while booted from the live CD.&lt;br /&gt;
&lt;br /&gt;
A paper wallet includes at least one public bitcoin address and its corresponding private key. You can send bitcoins to the public address and they will be inaccessible until the private key is imported into a wallet. As of version 0.6.0, the bitcoin QT software has a command line feature called &amp;quot;importprivkey&amp;quot; that can load private keys. Online exchanges and wallets such as [[MtGox]], CoinBase and Blockchain.info have features for importing (or &amp;quot;sweeping&amp;quot;) private keys as well.&lt;br /&gt;
&lt;br /&gt;
Remember, spyware and viruses often attempt to monitor your computer activities so that their authors can steal from you. They are interested in passwords to online accounts, and anything of value. Bitcoin wallets and private keys are something of value that have already been targeted by malware. Paper wallets isolate you from much of this risk.&lt;br /&gt;
&lt;br /&gt;
If your computer is infected with spyware or viruses - even if there are no symptoms, or your antivirus isn&#039;t reporting anything - then anything you type, view, or save on your computer, could potentially be stolen by someone remotely controlling your computer. Your private key can then be intercepted while you enter it, so only enter a Bitcoin private key into your computer when your intent is to redeem its value &#039;&#039;immediately&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Hardware wallets ==&lt;br /&gt;
[[Hardware wallet]]s are a major effort to provide a good combination of enhanced security and usability.&lt;br /&gt;
&lt;br /&gt;
So far only [http://www.pi-wallet.com/ Pi Wallet] is operational.&lt;br /&gt;
&lt;br /&gt;
==Importance of security updates==&lt;br /&gt;
&lt;br /&gt;
No software is perfect, and from time to time there may be security vulnerabilities found in your Bitcoin client as well.&lt;br /&gt;
Be sure you keep your client updated with the latest bug fixes, especially when a new vulnerability is discovered.&lt;br /&gt;
We maintain a [[CVEs|list a known vulnerabilities]] on this wiki - you can watch that page to get updates.&lt;br /&gt;
Note that you &#039;&#039;don&#039;t&#039;&#039; need to be running the latest major client version: some clients, including the popular Bitcoin-Qt, have older versions available with bugfix-only updates.&lt;br /&gt;
&lt;br /&gt;
==Securing the Bitcoin-QT or bitcoind wallet==&lt;br /&gt;
&lt;br /&gt;
Bitcoin transactions send Bitcoins to a specific public key. A Bitcoin address is an encoded hash of a public key. In order to use received Bitcoins, you need to have the private key matching the public key you received with. This is sort of like a super long password associated with an account (the account is the public key). Your Bitcoin wallet contains all of the private keys necessary for spending your received transactions. If you delete your wallet without a backup, then you no longer have the authorization information necessary to claim your coins, and the coins associated with those keys are lost forever.&lt;br /&gt;
&lt;br /&gt;
The wallet contains a pool of queued keys. By default there are 100 keys in the [[key pool]].  The size of the pool is configurable using the &amp;quot;-keypool&amp;quot; command line argument.  When you need an address for whatever reason (send, “new address”, generation, etc.), the key is not actually generated freshly, but taken from this pool. A brand new address is generated to fill the pool back to 100. So when a backup is first created, it has all of your old keys plus 100 unused keys. After sending a transaction, it has 99 unused keys. After a total of 100 new-key actions, you will start using keys that are not in your backup. Since the backup does not have the private keys necessary for authorizing spends of these coins, restoring from the old backup will cause you to lose Bitcoins.&lt;br /&gt;
&lt;br /&gt;
Creating a new address generates a new pair of public and private keys, which are added to your wallet. Each keypair is mostly random numbers, so they cannot be known prior to generation. If you backup your wallet and then create more than 100 new addresses, the keypair associated with the newest addresses will not be in the old wallet because the new keypairs are only known after creating them. Any coins received at these addresses will be lost if you restore from the backup.&lt;br /&gt;
&lt;br /&gt;
The situation is made somewhat more confusing because the receiving addresses shown in the UI are not the only keys in your wallet. Each Bitcoin generation is given a new public key, and, more importantly, each sent transaction also sends some number of Bitcoins back to yourself at a new key. When sending Bitcoins to anyone, you generate a new keypair for yourself and simultaneously send Bitcoins to your new public key and the actual recipient&#039;s public key. This is an anonymity feature – it makes tracking Bitcoin transactions much more difficult.&lt;br /&gt;
&lt;br /&gt;
So if you create a backup, do more than 100 things that cause a new key to be used, and then restore from the backup, some Bitcoins will be lost. Bitcoin has not deleted any keys (keys are never deleted) – it has created a new key that is not in your old backup and then sent Bitcoins to it.&lt;br /&gt;
&lt;br /&gt;
== Making a new wallet ==&lt;br /&gt;
&lt;br /&gt;
If a wallet or an encrypted wallet&#039;s password has been compromised, it is wise to create a new wallet and transfer the full balance of bitcoins to addresses contained only in the newly created wallet. Examples of ways a wallet may be compromised are through password re-use, minimal strength passwords, computer hack or virus attack.&lt;br /&gt;
&lt;br /&gt;
There are a number of ways to create a new wallet with Bitcoin-QT or bitcoind but this is a process that has been tested with bitcoind 0.6.3. We use the copy command to minimize the chance of any data loss but you are warned to make backups of any wallet.dat that holds a balance for you.&lt;br /&gt;
&lt;br /&gt;
:1. Shut down the Bitcoin program.&lt;br /&gt;
:2. Find and make a backup of the &amp;quot;compromised&amp;quot; wallet.dat file and rename it, perhaps adding a short description:&lt;br /&gt;
:::wallet.dat -&amp;gt;  wallet-compromised.dat&lt;br /&gt;
:Depending on your OS, the wallet file will be located at:&lt;br /&gt;
:::Windows: %APPDATA%\Bitcoin\&lt;br /&gt;
:::Linux: ~/.bitcoin/&lt;br /&gt;
:::Mac: ~/Library/Application Support/Bitcoin/&lt;br /&gt;
:3. Start the Bitcoin program and it will create a new wallet.dat. You may then encrypt the wallet as desired and make a new backup.&lt;br /&gt;
:4. Once you&#039;ve made a new wallet, you can obtain one or more addresses and copy them into a text editor. After obtaining the new address(es), shut down the Bitcoin program, make a backup of the new wallet.dat file and copy it to a new file named wallet-new.dat.&lt;br /&gt;
:5. Copy the wallet-compromised.dat file back to wallet.dat, start the Bitcoin program and transfer your balance to the new address(es) you put in your text editor. Once the balance is back to 0 for your compromised wallet, you may want to wait a couple minutes or for a confirmation or check block explorer to be sure the transactions have been broadcasted. Then you may shut down the Bitcoin program.&lt;br /&gt;
:6. Rename wallet.dat to wallet-compromised.dat. &lt;br /&gt;
:7. Rename wallet-new.dat to wallet.dat.&lt;br /&gt;
&lt;br /&gt;
You should now have a new wallet with all the bitcoins from the old wallet.&lt;br /&gt;
&lt;br /&gt;
==Making a secure workspace==&lt;br /&gt;
&lt;br /&gt;
If you are using your computer to handle bitcoins, a wallet, Bitcoin-related passwords, or Bitcoin private keys, you must take care that the system is free of malware, viruses, keyloggers, remote access tools, and other tools that may be used to make remote copies of any of the above. In the case that your computer is compromised, the precautions taken below may provide additional protection.&lt;br /&gt;
&lt;br /&gt;
===Debian-based Linux===&lt;br /&gt;
&lt;br /&gt;
The first step is to make a [http://www.howtogeek.com/howto/ubuntu/add-a-user-on-ubuntu-server/ new user]. In order for that new user to have an encrypted home directory, you&#039;ll first need the encryption utility. Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install ecryptfs-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you&#039;re ready to create a new user&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo adduser --encrypt-home new_user_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to come up with a [[#Choosing_A_Strong_Password|secure]] new password for that user.&lt;br /&gt;
&lt;br /&gt;
When you get to the prompt &#039;Enter the new value, or press ENTER for the default&#039;, just keep hitting ENTER.&lt;br /&gt;
&lt;br /&gt;
Then switch user to the new user.  To get to the new user you can use the switch user icon for your system, which on Ubuntu is in the &#039;System/Quit&#039; screen, or if there is no switch icon on your system you can log out and log back in as the new user.&lt;br /&gt;
&lt;br /&gt;
Since the home folder of this user is encrypted, if you&#039;re not logged in as that user, data that is saved there can&#039;t be browsed, even by a root user. If something goes wrong with your system, and you need to decrypt the new user&#039;s files, you&#039;ll need its decryption key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ecryptfs-unwrap-passphrase&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will ask you for your user&#039;s password and give you the decryption key. &#039;&#039;&#039;WRITE DOWN OR SAVE THE CODE IT RETURNS&#039;&#039;&#039; because you will need it if you ever have to pull your data off while the OS is not working. (You can run it again later if you need to, but run it now so that you can get your data if your Linux install gets botched.)&lt;br /&gt;
&lt;br /&gt;
The encrypted folder data is not encrypted while it&#039;s in memory, and so if it&#039;s ever sent to the swap partition it can be stolen from there unless that too is encrypted - be aware that this will mean you cannot use Hibernate anymore, as the bootloader won&#039;t be able to restore the hibernation data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ecryptfs-setup-swap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then click on a folder in the new user to display the file browser, then keep going up folders until you see the new user home directory, then right click to bring up the Properties dialog, then click on the Permissions tab, then in the Others section, set the folder access to None.&lt;br /&gt;
&lt;br /&gt;
For secure browsing, open Firefox, and then go into the Edit menu and click Preferences.  Starting from the left, click on the General tab, and in the &#039;Startup/When Firefox starts&#039; pop up menu, choose &#039;Show a Blank Page&#039;.  Then click on the Content tab, and deselect &#039;Load images automatically&#039; and deselect &#039;Enable JavaScript&#039;.  Then click on the Privacy tab, and in the &#039;History/Firefox will&#039; pop up menu, choose &#039;Never remember history&#039;.  Then click on the Security tab, and in the Passwords section, deselect &#039;Remember passwords for sites&#039; and deselect &#039;Use a master password&#039;.  Then click on the Advanced tab, then click on the Update tab, and then in the &#039;Automatically check for updates to&#039; section, deselect &#039;Add-ons&#039; and &#039;Search Engines&#039;.&lt;br /&gt;
&lt;br /&gt;
When JavaScript is disabled, the [http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/bitcoin-0.3.23-linux.tar.gz/download Linux download page] will not download automatically, so you&#039;ll have to click on the &#039;direct link&#039; part of the &amp;quot;Problems with the download? Please use this &#039;direct link&#039; or try another mirror.&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
===Mac===&lt;br /&gt;
This solution &#039;&#039;&#039;does not scale&#039;&#039;&#039;; the amount of needed space can grow beyond the image size.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
Due to the frequency with which Windows computers are compromised, it is advised to encrypt your wallet or to keep your wallet on an encrypted disk image created by third-party software, such as [http://www.truecrypt.org/ TrueCrypt] (open source) or [http://www.jetico.com/encryption-bestcrypt/ Jetico BestCrypt] (commercial). This also applies to the storage of passwords, private keys and other data that can be used to access any of your Bitcoin balances.&lt;br /&gt;
&lt;br /&gt;
Assuming that you have installed the Windows Bitcoin client and run it at least once, the process is described below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;To mount the Bitcoin data directory on an encrypted drive&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol start=1 type=1&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the third-party disk image encryption program of your choice to create and mount an encrypted disk image of at least 5GB in size. This procedure stores the entire block chain database with the wallet.dat file so the required size of the encrypted disk image required may grow in the future.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Locate the Bitcoin data directory, and copy the directory with all contents to the encrypted drive.&lt;br /&gt;
&amp;lt;p&amp;gt;For help finding this directory, see &amp;lt;b&amp;gt;[[Securing_your_wallet#Locating_Bitcoin_s_data_directory|Locating Bitcoin&#039;s Data Directory]]&amp;lt;/b&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Create a Windows shortcut that starts Bitcoin with the &amp;lt;code&amp;gt;-datadir&amp;lt;/code&amp;gt; parameter and specifies the encrypted drive and directory.&lt;br /&gt;
&amp;lt;p&amp;gt;For example, if you installed Bitcoin in the default directory, mounted your Bitcoin encrypted drive as &amp;lt;code&amp;gt;E:\&amp;lt;/code&amp;gt;, and stored your Bitcoin data directory on it as &amp;lt;code&amp;gt;Bitcoin&amp;lt;/code&amp;gt;, you would type the following command as the shortcut Target:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;C:\Program Files\Bitcoin\bitcoin.exe -datadir=E:\Bitcoin&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Bitcoin&#039;s settings and configure it &amp;lt;b&amp;gt;NOT&amp;lt;/b&amp;gt; to start automatically when you start Windows.&lt;br /&gt;
&amp;lt;p&amp;gt;This is to allow you to mount the Bitcoin encrypted disk image before starting Bitcoin.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Shut down Bitcoin, and then restart it from the new shortcut.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After doing this, any time you want to use Bitcoin, you must first mount the Bitcoin encrypted disk image using the same drive designation, and then run Bitcoin from the shortcut that you created, so that it can find its data and your wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== General Solutions ===&lt;br /&gt;
&lt;br /&gt;
Your wallet.dat file is not encrypted by the Bitcoin program by default but the most current release of the Bitcoin client provides a method to encrypt with a passphrase the private keys stored in the wallet. Anyone who can access an unencrypted wallet can easily steal all of your coins.  Use one of these encryption programs if there is any chance someone might gain access to your wallet.&lt;br /&gt;
* [http://www.7-zip.org/ 7-zip] - Supports strongly-encrypted archives.&lt;br /&gt;
* [http://www.axantum.com/axcrypt/ AxCrypt by Axantum]&lt;br /&gt;
* [http://lrzip.kolivas.org lrzip] - Compression software for Linux and OSX that supports very high grade password protected encryption&lt;br /&gt;
* [http://www.truecrypt.org/ TrueCrypt] - Volume-based on-the-fly encryption (for advanced users)&lt;br /&gt;
&lt;br /&gt;
There is also a list of [[OpenSourceEncryptionSoftware|open source encryption software.]]&lt;br /&gt;
&lt;br /&gt;
Decrypting and encrypting the wallet.dat every time you start or quit the Bitcoin client can be &#039;&#039;tedious&#039;&#039; (and outright error-prone). If you want to keep your wallet encrypted (except while you&#039;re actually running the Bitcoin client), it&#039;s better to relegate the automation to a [http://lorelei.kaverit.org/bitcoin.sh small shell script] that handles the en/decryption and starting up Bitcoin client for you (Linux and OSX). &lt;br /&gt;
&lt;br /&gt;
There is also a method to print out and encrypt your wallet.dat as a special, scannable code. See details here: [[WalletPaperbackup]]&lt;br /&gt;
&lt;br /&gt;
==== Password Strength ====&lt;br /&gt;
Brute-force password cracking has come a long way. A password including capitals, numbers, and special characters with a length of 8 characters can be trivially solved now (using appropriate hardware). The recommended length is &#039;&#039;&#039;at least&#039;&#039;&#039; 12 characters long.  You can also use a multi-word password and there are techniques to increase the strength of your passwords without sacrificing usability. [http://www.baekdal.com/tips/password-security-usability The Usability of Passwords] &lt;br /&gt;
&lt;br /&gt;
However, simply using dictionary words is also insecure as it opens you up to a dictionary attack. If you use dictionary words, be sure to include random symbols and numbers in the mix as well.&lt;br /&gt;
&lt;br /&gt;
If you use keyfiles in addition to a password, it is unlikely that your encrypted file can ever be cracked using brute-force methods, even when even a 12 character password might be too short.&lt;br /&gt;
&lt;br /&gt;
Assume that any encrypted files you store online (eg. Gmail, Dropbox) will be stored somewhere forever and can never be erased.&lt;br /&gt;
&lt;br /&gt;
===== Choosing A Strong Password =====&lt;br /&gt;
Make sure you pick at least one character in each group:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Lowercase: abcdefghijklmnopqrstuvwxyz&lt;br /&gt;
  Uppercase: ABCDEFGHIJKLMNOPQRSTUVWXYZ&lt;br /&gt;
  Number: 1234567890&lt;br /&gt;
  Symbol: `~!@#$%^&amp;amp;*()-_=+\|[{]};:&#039;&amp;quot;,&amp;lt;.&amp;gt;/? (space)&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;9 char = unsuitable for use&lt;br /&gt;
  09 char = insecure&lt;br /&gt;
  10 char = low security&lt;br /&gt;
  11 char = medium security&lt;br /&gt;
  12 char = good security (good enough for your wallet)&lt;br /&gt;
  13 char = very good, enough for anything.&lt;br /&gt;
&lt;br /&gt;
You might want to read [http://security.stackexchange.com/questions/662/what-is-your-way-to-create-good-passwords-that-can-actually-be-remembered What is your way to create good passwords that can actually be remembered?] and [http://security.stackexchange.com/questions/6095/xkcd-936-short-complex-password-or-long-dictionary-passphrase XKCD #936: Short complex password, or long dictionary passphrase?]&lt;br /&gt;
&lt;br /&gt;
== Backing up your wallet ==&lt;br /&gt;
See [[Backingup_your_wallet|Backing up your wallet]].&lt;br /&gt;
&lt;br /&gt;
==Erasing Plain-text Wallets==&lt;br /&gt;
&lt;br /&gt;
In most operating systems, including Windows, Linux, and Mac OS X, simply deleting a wallet.dat file will &#039;&#039;not&#039;&#039; generally destroy it. It is likely that advanced tools can still be used to recover the wallet.dat file, even after it has been deleted.&lt;br /&gt;
&lt;br /&gt;
The Linux &#039;&#039;&#039;shred&#039;&#039;&#039; command can be used to overwrite the wallet file with random data prior to deleting; this particular copy of the file will then be practically impossible to recover.  Using shred (and similar tools on Windows) however does not guarantee that still other copies don&#039;t exist somewhere hidden on your HD. That will depend on your system configuration and what packages you have installed. Some system restore and backup tools, for instance, create periodic snapshots of your  filesystem, duplicating your wallet.dat.&lt;br /&gt;
&lt;br /&gt;
In Mac OS, the equivalent of &#039;&#039;&#039;shred&#039;&#039;&#039; is &#039;&#039;&#039;srm&#039;&#039;&#039; (introduced in Leopard). Using the Finder to remove files, clicking &amp;quot;Secure Empty Trash&amp;quot; in the Finder menu will shred the contents of the trash can. As with any OS this doesn&#039;t guarantee that there are not other copies elsewhere on your system.&lt;br /&gt;
&lt;br /&gt;
For Windows, the built-in command &#039;&#039;cipher /W&#039;&#039; will shred all previously-deleted files. [http://www.cylog.org/utilities/cybershredder.jsp CyberShredder] can securely deleted individual files.&lt;br /&gt;
&lt;br /&gt;
==Online and Mobile Wallets==&lt;br /&gt;
&lt;br /&gt;
Thus far, this article has been discussing the security of a wallet file for Bitcoin-QT or bitcoind that is under your sole control. Additional wallets applications and services have become available that offer other features and more convenience but not without introducing additional risk. When storing bitcoins with an [[eWallet]] such as Instawallet or Easywallet, you are essentially storing your private keys or wallet with that provider. &lt;br /&gt;
&lt;br /&gt;
Online wallets have a number of pros and cons to consider. For example, you can access your wallet on any computer in the world, but depending on the service, your bitcoins may be lost if the service is compromised. &lt;br /&gt;
&lt;br /&gt;
Mobile wallet applications are available for Android devices that allow you to send bitcoins by QR code or NFC, but this opens up the possibility of loss if mobile device is compromised. It may be possible to encrypt and backup the wallet or private keys on a mobile device but it is not advisable to store a large amount of bitcoins there without doing your own research and testing.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Data directory]]&lt;br /&gt;
* [[How to import private keys]]&lt;br /&gt;
* [http://startbitcoin.com/how-to-create-a-secure-bitcoin-wallet/ Secure Bitcoin Wallet Tutorial]&lt;br /&gt;
* [[How to set up a secure offline savings wallet]]&lt;br /&gt;
* [http://arimaa.com/bitcoin/ Bitcoin Gateway - A Peer-to-peer Bitcoin Vault and Payment Network]&lt;br /&gt;
* [http://blog.cyplo.net/2012/04/01/bitcoin-wallet-recovery-photorec/ Find lost wallet eg. after disk format, using Photorec]&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
&lt;br /&gt;
[[de:Sichere deine Geldbörse]]&lt;br /&gt;
[[ru:Bitcoin и безопасность]]&lt;br /&gt;
[[es:Cómo asegurar su monedero]]&lt;br /&gt;
[[zh-cn:保护你的钱包]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43772</id>
		<title>OfflineAddress</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=OfflineAddress&amp;diff=43772"/>
		<updated>2014-01-17T08:51:02Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: Created page with &amp;quot;[http://www.offlineaddress.com OfflineAddress.com] can be used to generate offline Bitcoin addresses with maximum possible entropy (making them as secure as possible). Private...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.offlineaddress.com OfflineAddress.com] can be used to generate offline Bitcoin addresses with maximum possible entropy (making them as secure as possible).&lt;br /&gt;
Private keys used to generate addresses are constructed from truly random numbers provided from user&#039;s mouse movements.&lt;br /&gt;
&lt;br /&gt;
Generated addresses can be printed and used as paper wallets or for secure offline storage.&lt;br /&gt;
&lt;br /&gt;
== Motivation and security ==&lt;br /&gt;
* Easy to use service capable of providing maximum security for non-technical users.&lt;br /&gt;
* Open Source JavaScript implementation which supports HTML5 caching - so that user needs to load the site just once.&lt;br /&gt;
* Service is capable of producing private keys with maximum entropy.&lt;br /&gt;
* Runs purely in user&#039;s browser and never sends private keys to the internet.&lt;br /&gt;
* Service can be used offline and always warns the user if he&#039;s attempting to generate Bitcoin addresses while being connected to the internet.&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
* [http://www.offlineaddress.com OfflineAddress] web site.&lt;br /&gt;
* [https://bitcointalk.org/index.php?topic=399452.0;all Forum discussion]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=User_talk:Mikewoods&amp;diff=43771</id>
		<title>User talk:Mikewoods</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=User_talk:Mikewoods&amp;diff=43771"/>
		<updated>2014-01-17T08:14:47Z</updated>

		<summary type="html">&lt;p&gt;Mikewoods: Created page with &amp;quot;I&amp;#039;m author of OfflineAddress.com (see this discussion: https://bitcointalk.org/index.php?topic=399452.0;all). Feel free to email me at mikewoodsmax_gmail_com&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;m author of OfflineAddress.com (see this discussion: https://bitcointalk.org/index.php?topic=399452.0;all).&lt;br /&gt;
Feel free to email me at mikewoodsmax_gmail_com&lt;/div&gt;</summary>
		<author><name>Mikewoods</name></author>
	</entry>
</feed>