Put Simply, What Is “Bitcoin”?

Bitcoin is a digital currency system which does for money what email did for written communication. Using an ingenious blend of cryptography and peer-to-peer networking, it allows for near-instantaneous transfer of wealth over the internet, securely, in any quantity, for less than $0.01 in fees. Additionally, the mechanism by which Bitcoins are created guarantees that it cannot be faked or counterfeited. No banks or governments can devalue the currency by printing more of it. The entire schedule of Bitcoin generation was publicly announced in 2009 and cannot be changed.

What makes Bitcoin unique from other digital currencies is that there is no central authority — a property that experts previously thought was impossible for a currency system! The network is maintained simultaneously by all users of it at any given time, often through bitcoin cloud mining, driven by a mathematical algorithm that ensures all users can agree on the ownership of all Bitcoins at all times without a central clearinghouse — even in the presence of slow network connections and malicious users. The software that accomplishes all this is 100% open-source, meaning that it can be audited and tested by anyone in the world with the technical expertise to do so.

In many ways, Bitcoin resembles gold: there is no central issuer of gold, and there is a limited amount of it in the world. It has value because people are willing to trade other things of value for it. Put all this together, and you have a currency system with an unmatched level of transparency, efficiency, incorruptibility and theoretical stability. Using Bitcoin is like being able to send gold bars over email — but much more secure than email!

However, Bitcoin is still in its infancy, so its actual stability is quite volatile until infrastructure is built up around it and the economy starts leveraging it for its these unique qualities. For this reason, Bitcoin should be considered somewhat experimental, and any money invested in Bitcoins should be treated the same as other “high-risk” investments.

What Is Armory?

One core piece of infrastructure needed in the world of Bitcoin, is the ability of users (and especially businesses) to maintain their bitcoin funds in a way that minimizes risk of theft, but is still usable for conducting trade. However, “ease of use” and “security” tend to have an inverse relationship — most users have to settle for one or the other, but not both (and they frequently pick convenience). Armory was designed from the ground up to give users the best of both worlds — it focuses first on maximizing security, and then provides a well thought-out interface to make using this security as simple as possible. Many users regard it as the only way for those with a significant investment in Bitcoin to use and protect their funds. Beyond security and usability, Armory simply implements more features than any other Bitcoin client available. It includes Armory’s signature interface for offline wallets (also known as, “cold storage”), multi-signature transactions, simulfunding (escrow), one-time printable backups, multiple wallets interface, GPU-resistant wallet encryption, key importing, key sweeping, message signing, and more.

How Do I Upgrade Armory Without Deleting My Wallets And Settings?

No special process is needed to upgrade Armory. Simply download the latest version and install it. The wallets and settings are kept separate from the executable files, so they will be untouched through a reinstall cycle. Of course, you should always maintain a paper backup of your wallet as it protects you from a variety of things that go wrong.

For reference, the following is the default location for the Armory wallets and settings:

**Windows:** C:\Users\<username>\AppData\Roaming\Armory **Linux:** /home/<username>/.armory **OS X:** /Users/<username>/Library/Application Support/Armory

By default, Armory is installed to the following locations:

**Windows:** C:\Program Files (x86)\Armory **Linux:** /usr/lib/armory **OS X:** /Applications/Armory.app

For reference, Bitcoin-Core uses the exact same paths as above, if you replace all instances of “Armory” with “Bitcoin”. In fact, Armory did this to provide consistency to the users.

What If Armory Goes Out Of Business… How Will I Access My Coins?

All Armory source code can be found on GitHub. It is also found on other parts of the internet intended for archiving and saving this kind of information, such as GoogleCode and Amazon Web Services. In order for Armory to “disappear,” basically the internet would have to be wiped out, along with most of the people who ever used or installed Armory (including all the people who ever understood the code). Not only that, but the algorithm for converting your paper backup to your signing keys is publicly available, and could easily be implemented in other applications without needing Armory. In other words, it’s effectively impossible for this to happen.

How Can I Prove I Own A Wallet And It’s Balances?

There is no way to “prove ownership.” Instead, you can only prove access. You can open message signing and sign a message using the private key, while sharing the public key that holds the balance. By doing this, it proves you have access. For example, an exchange or vault can have full access to their customers private keys - but they are just custodians holding the keys. If you need to authorize some action, sign a message authorizing that action with your private key.

Do You Have Plans To Support Alternative Coins And Other Virtual Currencies?

Armory developers are working non-stop on advanced bitcoin features to include multi-signature transactions, lite versions, offline wallet options, and even mobile integration. Our primary focus is on building a foundation that supports the growing needs of our user base. Although we are not working specifically on alternative currency implementation at this time, we’re aware of the need, and we may entertain the idea in the future.

I Received Coins After I Backed Up My Wallet. Do I Need A New Backup?

No! A paper backup does not just protect the coins in your wallet, it protects the identity (signing keys) used to authorize transfers from your wallet. This is why we are so aggressive about getting our users to make paper backups: all addresses ever produced by your Armory wallet and will ever be produced by your Armory wallet can be regenerated from the data on your paper backup.Be aware that Bitcoin Core and Multibit do not implement this forever-backup feature (at the time of this writing). Your Bitcoin Core or Multibit wallets really do need to be backed up periodically, and it is not always obvious when it needs to be done. This is one of the features that inspired Armory and remains one of the primary reasons people choose Armory over other wallet apps.

Why Is There A “[[ Change Received ]]” Address Listed In My Wallet?

When you create a bitcoin (BTC) transaction, it’s much like spending cash at a merchant. When you pay more for an item than it costs, you are returned the excess payment or “change.” Here’s how it works:

Alice has 10 BTC in her wallet and wants to send 2 BTC to Bob. Alice doesn’t have a wallet with exactly 2 BTC, so when she creates the transaction and selects “send,” Alice actually sends the entire 10 BTC. However, the entire amount does not go to Bob.Instead, when the transaction was created, the Armory client automatically created the new unused [[ Change received ]] address for Alice because she is owed 8 BTC back in excess payment. It’s normal for most wallet applications to select a change address for you. The change address is important because sending coins back to the original address reduces your privacy. The only time a change address is not used is if you have a previous transaction output that is exactly the same size as the recipient amount + fee. In other words, if you have exact change.

When the transaction is processed, Bob receives 2 BTC to his wallet address and the remaining 8 BTC return back to Alice’s wallet using the next automatically generated address, with the label [[ Change received ]].

Change addresses are a normal part of wallet operation, and are intended to be mostly transparent to the user. They should not be treated differently than any other addresses. Ignore them. If you are an advanced user and wish to customize the change address behavior, you can do so when sending coins in “Expert Usermode” using the Coin Control feature.

What Do The “Confirmations” Mean In The Transaction Ledger?

Bitcoin is decentralized so there is no central authority that determines the validity of transactions. For instance, if two people swipe the same debit card at two different stores, the bank that issued the debit cards decides which one to accept if funds are only available for one. Bitcoin does not have a central authority, and thus cannot make instantaneous decisions like that.

However, Bitcoin does have a mechanism for resolving this problem, it just takes time for the network to reach a consensus about it. Every confirmation your transaction receives is more confidence that your transaction will ultimately be accepted by the network. Each confirmation takes an average of 10 minutes.

It is a good idea to wait at least six confirmations for any important transactions, though two or more is sufficient for small to medium-sized transactions. Never trust a zero-confirmation transaction from a stranger unless you’re willing to accept a loss on it! Most zero-confirmation transactions will become final, but there are no guarantees! Use the following list as a guideline for how to treat transactions:

0 Confirmations: “Someone is trying to send you money.”
1 Confirmation: “Part of the network has agreed to process your transaction”
2+ Confirmations: “Most of the network has agreed to accept this transaction”
6+ Confirmations: “There is a global consensus that this transaction actually happened!”

If you are accepting transactions that are big enough to change your life, it is recommended you even wait 10 or 20 confirmations. There’s no reason to believe that six confirmations is unsafe, but it doesn’t hurt to be on the safe side for very important exchanges. Such important transactions can usually tolerate a couple hours of wait time — it’s still usually much faster than the alternatives!

What Is Stored In My Wallet?

Each bitcoin (or fragment of) belongs to a cryptographic private key, which is an 80-digit number that is essentially impossible to guess. Bitcoins cannot be transferred unless the holder of the private key uses it to create a digital signature authorizing the transaction. A Bitcoin address is a string of letters that let other users know what your digital signature looks like without revealing the private key (it is related to the “public key”). When someone sends money to your address they are saying “only signatures from the private key that matches this address can spend these coins.” The digital signatures used by Bitcoin are effectively impossible to fake without access to the private key. A “wallet” is a file on your computer that holds all of your private keys — it is a list of these secret, 80-digit numbers. Every Bitcoin address you ever give to other users, corresponds to a different private key in your wallet, and you are the only person on the planet who has access to those private keys. This means two things:

  1. If you lose your wallet, the coins you own are lost forever (solution: make a backup!)
  2. If someone else gains access to your unencrypted wallet, they can steal all of your Bitcoins! (solution: encrypt your wallet and/or use Armory’s “offline wallets” feature, aka “cold storage”).

It is critical that all users make some kind of backup of their wallets (printed or digital), and always use encryption on wallets that protect Bitcoins you don’t want stolen! If you hold a substantial investment in Bitcoin, it is highly recommended that you use Armory’s holy grail feature: it’s offline wallet interface.

Why Do I Sometimes Have To Pay A Transaction Fee? Why Is It So Inconsistent?

Bitcoin transaction fees are a confusing topic, and understanding exactly how they work requires bit of technical background on how Bitcoin transactions work. The short answer is that the Bitcoin network requires fees for certain types of transactions to prevent spamming and “Denial of Service” (DoS) attacks.

If you pay a fee, it’s usually because your transaction has some properties in common with spamming transactions. And most of these properties are invisible to you and out of your control. Luckily, these fees are usually no more than 0.0001 BTC — less than $0.01 USD, and frequently can be sent for free. There are a few observable things that will require a fee, which you may be able to avoid:

  • Sending less than 0.01 BTC to any recipient. The network considers these small outputs to be “dust,” and discourages them by requiring a fee. If it was not discouraged, someone could take 1.0 BTC, and create 1,000,000 transactions of 0.000001 BTC each, for free, which would clog the network.
  • Spending coins that are too “new”. Every time you send a transaction, you are spending “old” coins and creating “new” ones. If you recently received coins and then immediately attempt to send those new coins to someone else (or yourself), the network will require a fee. Armory will always select older coins first, but if you are sending a significant chunk of your wallet balance, Armory may have no choice but to use these “new” coins which require a fee. Without this fee, a user with 1.0 BTC could send it back and forth between two addresses millions of times as a way to spam the network.
  • Transactions that combine lots of previous transactions. If you receive 100 separate transactions of 0.0001 BTC each, and then send 0.01 BTC to someone else, your transaction will contain references to all 100 previous transactions. Even though 0.01 BTC is a “small” amount, the size of the transaction, in bytes, will be very large. Very large transactions will require 0.0001 BTC/kB fee. If your wallet mainly receives lots of small transactions, your outgoing transactions will require a fee more often than not.

What Does GPU-Resistant Wallet Encryption Mean?

In the world of heavy computing, researchers are always looking for ways to crunch numbers faster. In the past few years, it has become popular to use video cards — normally used for playing graphics-heavy computer games — because their graphics processing units (GPUs) can parallelize many types of computation and get 100x to 1000x speed-up compared to using CPUs. While GPUs are not good at every kind of computation, they have proven to be quite useful for brute-forcing encryption passwords! For this reason, the encryption scheme used to protect Armory wallets was designed to be difficult for GPUs to perform. Specifically, GPUs can perform many cryptographic operations very quickly, but have only a tiny amount of memory to work with. Armory uses a “key-stretching” method that requires an amount of memory that is trivial for your regular processor, but way too big for a GPU.

What Is “Cold Storage” and “Offline Wallets?”

“Cold storage” and “offline wallets” are essentially the same thing: the strategy of protecting your wallet’s private keys by keeping them on a computer that will never be connected to the internet. Before Armory, the concept of “cold storage” was widely understood but mostly theoretical. A few very talented Bitcoin experts were able to piece together offline tools for their own use, but no solutions existed for the average Bitcoin user. Some argued that it wasn’t possible for average users to understand and navigate the complexity of using “cold storage.” This was due to the difficulty of monitoring offline addresses, and the constant data synchronization needed in order to spend the coins. Armory innovated access to Cold Storage.

Armory offline wallets require no synchronization except for the initial transfer of a “watching-only wallet” to your online computer. This watching-only wallet functions exactly like a regular wallet, but it does not contain any private data, and thus cannot spend your Bitcoins (making it useless for an attacker). However, it does let you generate new addresses, and verify incoming payments the same way a regular wallet does. When you want to initiate any outgoing transactions from your offline wallet, you create an “unsigned” transaction with the watching-only wallet, then take it to the offline computer to obtain the signature from the full wallet (usually using a USB drive). The transaction can then be brought back to the online computer to be broadcast (finalized). It’s simple, it works, and your private keys never touch the internet! More information can be found on our Cold Storage page.

What Are Multi-Signature Transactions?

Standard transactions on the Bitcoin network could be called “single-signature transactions,” because transfers require only one signature — from the owner of the private key associated with the Bitcoin address. However, the Bitcoin network supports much more complicated transactions that require the signatures of multiple people before the funds can be transferred. These are often referred to as M-of-N transactions. The idea is that Bitcoins become “encumbered” by providing addresses of multiple parties, thus requiring cooperation of those parties in order to do anything with them. Here are some examples:

1-of-2: Husband and wife petty cash account — the signature of either spouse is sufficient to spend the funds.

2-of-2: Husband and wife savings account — both signatures are required to spend the funds, preventing one spouse from spending the money without the approval of the other

2-of-2: One wallet is on your primary computer, the other on your smartphone — the funds cannot be spent without a signature from both devices. Thus, an attacker must gain access to both devices in order to steal your funds (much more difficult than one device)

2-of-3: Parents’ savings account for child — the kid can spend the money with the approval of either parent, and money cannot be taken away from the child unless both parents agree

2-of-3: A board of three directors maintaining funds for their organization — those funds cannot be spent unless any two of those directors agrees. Bigger multi-signature transactions are possible for bigger organizations, such as 3-of-5, 5-of-9, etc.

2-of-3: Buyer-seller escrow: buyer commits money into a 2-of-3 transaction with the seller and a third-party arbitrator. If transaction goes smoothly, then both buyer and seller sign the transaction to forward the money to the seller. If something goes wrong, they can sign a transaction to refund the buyer. If they cannot agree, they both appeal to the third-party who will arbitrate and provide a second signature to the party that it deems deserves it.