Understanding Bitcoin Transactions

by Anthony Allen

SatoshiLabs
Trezor Blog

--

Bitcoin exists to transfer value, quickly and cheaply, without entrusting government bureaucrats and bankers with the private details of our lives as consumers. In this sense, Bitcoin is more like cash than like a wire transfer or card payment. Anonymity, ownership, immutability — these are attributes shared by Bitcoin and cash, both of which allow us to live more freely in a world of ever-increasing surveillance and control. To really uncover the value of using Bitcoin, we can think about how it lets us regain the control that a cashless society takes away.

Bitcoin is Very Cash-Money

A cash transaction happens directly from one person to another. This peer-to-peer process is the simplest way to transfer value, while not compromising anyone’s privacy. No-one else needs to be involved and the fact that a transaction even took place doesn’t have to be shared with anyone. Bitcoin lets us take these benefits of cash into the digital era.

In a stable economy, cash gives you a strong sense of ownership — you can spend it, save it, or even destroy it and you’ll always know that you have control over what you do with it. This is not the case with the modern banking system. Electronic payments are complex, so it seems natural that your bank would have to take care of them for you. But if your bank puts your funds on hold without explanation, you’ll come to realize it was never really your money to begin with.

Ask your bank to send your money to your landlord, and they probably will. Let them to loan it out and pay you some interest on it so your savings will grow and they’ll be more than happy to. Then, ask them to send your money to a friend in an embargoed country like Iran and see what they say. While you may think of it as your money, it is not you who controls what can and cannot be done with it.

The convenience of wire transfers and credit cards made it seem worth losing a few of the perks which cash offers. What it has led to, however, is a system that lets others spy on the most granular details of your life. Cash is not compatible with a technologically dependent society so systems of control are thriving, as every journey and purchase you make is linked to your digital identity. By bringing back the pseudonymity of cash, Bitcoin helps protect vulnerable groups from those who would harm them.

Why are Bitcoin Transactions Special?

Bitcoin was designed to transfer money peer-to-peer without the need for a bank. Not only does it restore all the advantages of cash, it transposes them to a decentralized, digital environment where transactions are completely borderless. There is no way to stop someone from having Bitcoin, and it can be accessed from anywhere in the world. It is also impossible to counterfeit, a problem which cash has never overcome.

To survive without a middleman, the creator of Bitcoin, Satoshi Nakamoto, implemented some strict yet simple rules which govern the network. To send Bitcoin, three steps must be taken:

  • Prove that you own the Bitcoin you want to send
  • Get the address of the person you’re paying
  • Make sure you only send what you own

The first two points are easy to visualize, as they mirror our interaction across the digital environment — emails, social media, even banks use an address-based system for sending messages and funds, and user accounts are verified by a username-password combination. In Bitcoin, rather than a username and password, we use ‘keys’ — strings of randomly generated characters — which come in pairs: one public key linked to one private key. These are all the proof you need to access your money.

Your public key is used to make an address, which is your identifier on the network. It is a string of characters which are generated by your unique key combination, and can be thought of as a box on the network which everyone can see the contents of (i.e. your Bitcoin balance), but which only your private key can open.

Fundamentally, these basic concepts are familiar to most of us but what is so special about Bitcoin is that it solved the double-spend problem without needing a person or institution to verify your balance, the key failure in previous attempts at creating a digital currency. By ensuring that no-one can send money they don’t own, Bitcoin made the payment services industry redundant.

When a bank transfers its clients’ funds, it takes on the responsibility of verifying how much money they are able to send. This is based on trust, relying on the institution to be honest in their accounting, which is not always the case. The recent Wirecard scandal, where over $2.2 Billion dollars declared in their accounts were found to never have existed in the first place, is just one of many cases of shady practices by banks. Bitcoin uses a trustless system called the blockchain to prevent double-spending, by sharing everyone’s account balances (pseudonymously) and transactions, and therefore allowing everyone to verify that you (your address) has the funds you say you do.

How Do Transactions Work?

It’s not important to understand the technology behind Bitcoin to use it. Everything is based on cryptographic rules which make the network incredibly secure. It is more important to know how to take advantage of all its benefits. Many people find Bitcoin confusing, making them more likely to make compromises like letting exchanges hold their money, losing ownership of it.

As long as you have a secure wallet, you’re equipped to send Bitcoin anywhere in minutes.

Bitcoin wallets let us interact with the network and take on many forms. Some are online, accessed through your browser, others on your desktop, and others are completely offline, like Trezor hardware wallets, protecting you from malware, scams, phishing and even some forms of social engineering, through the Shamir backup system.

To send Bitcoin, you need an address to send to and a wallet of your own. You say who you want to pay to, how much to send, and how quick you want the payment to be (i.e. how much you’re willing to pay in fees). When you click send, the transaction is broadcast to other computers on the network, who validate it independently. It is then added to a long list of transactions known as the Blockchain, showing that your funds now exist in the recipient’s wallet.

On the other end, if you want to receive Bitcoin, you just need to give someone your wallet address. It’s a unique jumble of characters that looks like this: bc1qxtpdw0hn9rnjlej9v3etyzv7vvf2mgh42trz8v.

Your wallet can generate as many addresses as you want, for free, so no-one can link which payments were made to the same person. It is highly recommended to use a fresh address for each transaction, greatly improving your anonymity and, therefore, safety.

As long as you keep your Bitcoin in a wallet which only you have the keys to, you have ownership. To prevent theft and avoid other vulnerabilities, you can keep your keys entirely offline by using a hardware wallet like the Trezor Model T. If you are a technical person, you can even keep your own copy of the Bitcoin ledger and broadcast transactions from your own server by creating a full node. For people who need privacy as a matter of safety, Bitcoin’s ability to protect it changes lives.

Sending a Transaction Using Trezor Wallet

Now that we’ve covered the concepts, let’s look at the actual process of sending Bitcoin to someone in more detail, from start to finish. Depending on the type of wallet you are using, the process may look slightly different but the core functions are the same.

If you are asked to send Bitcoin somewhere, you will be given a receiving address. This is like the ‘To:’ field in an email. In your wallet, navigate to your ‘Send’ tab. Using a Trezor hardware wallet, it looks like this:

Fill in the address field with the address you want to send your funds to. If you are using a Trezor, you also need to physically confirm the address on the Trezor itself, preventing anyone from changing the intended recipient without your knowledge.

Enter the amount of Bitcoin you want to send. The Trezor wallet lets you see the equivalent value in dollars or another currency of your choosing. Once you’re sure you’ve entered the correct amount, choose a fee for the transaction. Trezor Wallet will calculate the estimated transaction time. In the screenshot above, we’re paying just 1 satoshi per byte, meaning that our transaction will be of the lowest priority and take a long time to be confirmed, but the total cost in dollars is just two cents. If the fee was set to High (47sat/b), the transaction would be confirmed in 20 minutes and would cost $0.70. This number will vary depending on the amount of traffic on the network, so if it seems especially high, it may be best to wait for a less congested time.

Once you have confirmed everything, you can hit the Send button and you will be prompted to confirm the transaction on your Trezor. Your Trezor device will never sign a transaction without your explicit confirmation, so you can be sure that your funds will remain in place unless you press that confirm button. Once confirmed, the transaction is broadcast to nodes on the network, who will validate it and set it aside for miners to confirm.

Receiving a Transaction Using Trezor Wallet

As the person who is getting paid, the only thing you need to know is your public wallet address. In your Trezor Wallet, you can find it by going to the ‘Receive’ tab. It is good practice to use a new address for every transaction, to prevent anyone from being able to see a complete record of your transactions. Your address is always available to receive transactions, even if the device is disconnected. You can, if you want, even print some QR codes of wallet addresses (again — use fresh addresses whenever possible), carry them around, and let people pay you by scanning them, completely securely.

In the screenshot below, you can see the first address generated by the wallet, labeled /0. When you click on the button ‘Show new address’, a new address is generated but obscured. You will need to click on the green button which appears, saying ‘Show full address’, and then you will be prompted to ‘Check address on Trezor’ to confirm what you see on your Trezor device is the same you are shown on the Trezor Wallet.

Give the address to whomever you like — it’s publicly visible. As long as you check that the address you give out is correct,anyone who has it will be able to send you Bitcoin straight away.

The Future of Bitcoin Transactions

While Bitcoin has its origins as a means of payment, it was not designed to process thousands of transactions per second, like one would expect from Visa or other card payment providers. As it gained more and more users, Bitcoin started seeing congestion on the network — transactions began taking hours, even days to be confirmed, and transaction fees quickly spiked.

While development was underway for a way to transfer very small amounts of Bitcoin more cost-effectively, the SegWit (segregated witness) protocol was created. The technology it is supposed to support, the Lightning Network, is still only in Beta, but SegWit brought the added benefit of making the input data seem smaller to the network and therefore allowing more transactions to fit within one block. This helped speed up the network again, and today it is still running fairly smoothly. As we look ahead, a number of initiatives are underway to process even more transactions, making Bitcoin a real contender for centralized payment processors.

There are also initiatives to maintain Bitcoin’s pseudonymity. Many places where you can buy Bitcoin enforce anti money-laundering regulations which make you identify yourself, thereby tying your identity to your coins. Technologies such as CoinJoin help obscure that connection to allow people to remain untraceable if they want or need to be. Bitcoin allows you to manage how much of your online persona is tied to your real identity, in a way that combats the ever more invasive digital environment.

--

--

Innovating since we founded the industry in 2013 with production of the first crypto hardware wallet, the Trezor One. Open-source, secure, community-driven.