Bitcoin Whiteboard Tuesday – The Path from “Send” to “Receive”

Last updated on May 8th, 2018 at 03:12 pm

Today’s topic is the path of Bitcoin from “send” to “receive”. In this episode, we’re going to go over exactly what happens to a single Bitcoin from the moment you hit the “send” button in your wallet until it’s received on the other end.

What you will learn in this video

  • What happens behind the scene when you press ‘send’ until the subject recieves the Bitcoin?
  • What are nodes and what’s their job?
  • What is a Block Explorer?
  • What are transaction confirmations?

Hopefully, once we finish this lesson, you’ll have a good understanding of how the Bitcoin network works and what’s the role of each specific player in the Bitcoin ecosystem. So let’s get started!

The path from send to receive has 3 parts: Signing, broadcasting and confirming. Let’s start with the first part – signing.

When I hit the “send” button in my Bitcoin wallet, what I’m actually doing is telling my wallet:

Hey wallet, I want to send 1 Bitcoin to my friend Steve. Here is Steve’s Bitcoin address.”

The wallet, in response, creates a transaction message containing information about me, the sender (Steve), the recipient and the amount being sent (in this case, one Bitcoin).

Afterward, the wallet produces a unique digital signature for this message by mathematically mixing it with my private key.

In our previous lesson, I’ve discussed the concept of the private key. It’s basically a long string of letters and numbers that act as the “password” for your Bitcoins. Whoever knows my private key has control of my Bitcoins.

A digital signature is a way to prove that I own the private key to my Bitcoins by using only my public key which I have no issue exposing, thus keeping my private key, well, private.

Also, digital signatures are different each time you sign a transaction – that’s why they are even more secure than a real signature since they are unique for each and every transaction. So if I send Steve one Bitcoin today and then another Bitcoin tomorrow, each of these transactions will have a different digital signature.

After signing the transaction message, the wallet then groups the signature, along with my transaction message, into a small file. This concludes our first step of signing.

Now we can move on to the next step – broadcasting.

In the broadcasting step, the wallet starts sending out the file to other computers that hold a copy of the Blockchain. These computers are also known as nodes. Each node that receives the file verifies that it’s legit. It’s basically looking to see that I actually have the funds I want to spend and that my signature checks out, much like a banker would check your account balance before clearing your check.

Once my file is verified, it’s then passed on to other nodes in the network that repeat this process.

When a node receives a file, it keeps it in a holding area called the Mempool. The Mempool, short for memory pool, is a space dedicated for valid but still unconfirmed transactions.

Once the transaction message finds its way to the Mempool of the different online nodes on the network, we can say the second step of broadcasting is officially finished.

Now I want to take a quick pause and talk about the status of our transaction at this point. In order to actually see what’s going on with our transaction while it’s making its path along the Bitcoin network, we can use a block explorer.

A block explorer is a tool, usually in the form of a website, that allows you to search and navigate through the Blockchain. Using a block explorer, you can check the balance of different Bitcoin addresses, track transactions and get a wide variety of statistics about the network.

So at this point, if we look at our transaction through the block explorer, we will see that it is marked as “unconfirmed”, meaning it was broadcasted to the network and had its digital signature verified but it still isn’t part of the Blockchain. This type of transaction is also referred to sometimes as a zero confirmation transaction.

An unconfirmed transaction should be treated as its name implies – unconfirmed. This means that the transaction can still get canceled, and there’s no guarantee it will ever enter the Blockchain. If you’re receiving goods for a payment done in Bitcoin, never accept an unconfirmed transaction as a proof of payment.

Now we can now move on to the final step – confirming our transaction.

If you’ve watched our previous lesson about Bitcoin mining, then you already know that miners group transactions together, meaning they take those files sitting around in the Mempool, group them together and create a block of transactions.

There is a limit to how many transactions can be inserted into each block. Therefore, miners will usually pick the transactions that have the highest mining fees attached to them first.

Miners will then compete with each other in order to get their block into the Blockchain.

The mining competition is based on mathematical calculations, and the miner with the most computational power will have the best chance of winning. Once a miner wins the competition and gets his block into the Blockchain, all of the transactions that were in that block will be considered as confirmed.

Basically, the miners are writing the history book of Bitcoin transactions, and whoever wins the competition gets to write the next page.

On average, a new block of transactions will be mined, or inserted into the Blockchain, every 10 minutes. Keep in mind that this is on average. Sometimes you’ll get 2 blocks confirmed within 1 minute, and sometimes it can take more than an hour.

If a block was mined with your transaction in it, you’ll notice it will now show on the block explorer as having one confirmation. As more and more blocks are added afterward, the confirmation number will grow.

Think of it as a building of blocks with our block at the very bottom. Every additional block set on top of our own block makes it harder to remove. That’s why it’s usually suggested to wait for at least 6 blocks before considering a transaction as fully confirmed without any chance of cancellation.

That’s it! Our transaction is now fully confirmed and received.

Hopefully, you now have a better understanding of how the Bitcoin network operates. If you have any additional questions about what we just covered, feel free to leave them in the comment section below.

I hope you enjoyed this episode of Bitcoin Whiteboard Tuesday, and I’ll see you…in a bit.

Bitcoin Video Crash Course 

Join over 94,000 students and know all you need to know about Bitcoin. One email a day for 7 days, short and educational, guaranteed.

We hate spam as much as you do. You can unsubscribe with one click.

66 Comments

  1. Hi, i have some questions:
    Do the miners validate also the transactions ?
    Should the transaction spread across the network until it reaches all nodes?
    Do the nodes conserve the same mempool ?
    Do minors keep a copy of the mempool?
    which incite nodes to validate transactions?

    • Steven Hay on

      Hi Asma,

      Some great questions. Here are my answers in order:

      Yes, miners will validate all transactions which they include into a block. If a miner includes a transaction which the rest of the network considers invalid (for example, awarding themselves a billion bitcoins) that block will be rejected by the network and the miner will never get paid the coin reward for the block.

      Yes, typically transactions spread across the network until all nodes are aware of them. However, a block might be found before a particular transaction has reached all nodes. That’s fine though, as that transaction will become part of the blockchain’s history and all nodes will know about it once they download that block.

      Nodes don’t have exactly the same mempool, no. The way information flows over the internet is effected by geographic distances, line speeds and other factors. Nodes in the same region should have a very similar if not precisely synchronised picture of the mempool, more distant nodes will probably have a less similar picture. If you check out some different apps which monitor the mempool, such as https://bitcoinfees.earn.com/ and https://jochen-hoenicke.de/queue/#1,24h – you’ll see they display slightly different stats on the mempool.

      Miners may keep a copy of the mempool for some purpose but I’m not aware of any that do and can’t think of a compelling reason for them to do so. Once transactions are verified, they move from the mempool into the blockchain, where they’re recorded forever. Mostly transactions which don’t meet miners’ fee requirements are dropped from the mempool. I don’t see why miners would have much interest in those.

      Nodes validate transactions because a bunch of invalid transactions flying around the network is undesirable for the system as a whole and wastes the node’s bandwidth. If a node encounters an invalid transaction (a transaction which tries to break the rules of Bitcoin), it simply won’t relay it. Nodes which transmit invalid transactions are also likely to get banned by other nodes.

  2. Margaret Gunter on

    A friend of mine has a problem. She sent 0.5541148 LTC from her Coinbase Wallet to her Jaxx Wallet. The receipt from Coinbase tells her the transaction was successful, It gives the address she sent it to. But she cannot find this Litecoin in her Jaxx account which says “No transactions” have been made. She is a newbie, (as am I) but I looked in BlockCypher and eventually found an unspent transaction that matched the amount she sent. (It was on 1st February.)

    I found this data, but not sure what it means!!!

    SCRIPT
    “4830450221009d75fdfd587d1a904c3d6f5ad0c3c1ce52a1db5cb909cffd297b322ba9ee6dd202201b17d3ebeac86c0d4df0c3564cb6fd6bf60b9c6280517030091d9b95db4c64ff012103f6a83580ce1e95502fc3aa8fdee4d159f7ec60b19472aeb7d6ef062f2dbd4560”,
    “output_value”: 55411480,
    “sequence”: 4294967295,
    “addresses”: [
    “LMcJZK3WLfchsu2P4BcfePQiC2BqbGJyDW”
    ],
    “script_type”: “pay-to-pubkey-hash”,
    “age”: 1361148
    },
    {
    “prev_hash”: “bde0e56e113b6b9f95ddee09c3ae633100f2368bc46a33194680edc41b124922”,
    “output_index”: 0,
    “script”:

    If anyone is able to help us out we would appreciate it! As far as she’s concerned her $78 has vanished from the earth!

    Many thanks,

    • Steven Hay on

      Hi Margaret,

      Hmm, I see. Could you link me directly to the transaction itself, just for confirmation? Coinbase should provide you with the transaction ID (txid) which will let me look at the transaction in question. Or otherwise, please provide the Jaxx address she sent to and the date and approximate amount.

      I tried to follow the trail without this key information and it becomes very confusing. I’m assuming the transaction was made on the 2nd of Feb?

      Anyway, if the address she sent to from Coinbase appears as a receiving address in her Jaxx wallet, then she should certainly have received the amount and it’s extremely odd that the balance isn’t reflected.

      My suspicion is that she sent to an address other than one of her own Jaxx addresses… Please ask her to compare the address Coinbase sent to with her Jaxx receiving addresses.

      • Margaret Gunter on

        Hi Steven, this is what my friend sent me regarding the transaction. She has checked and her Receive address in Jaxx is not the one she sent it to, although she thinks she sent it to Jaxx!.

        Margaret this is a copy of my Coinbase receipt. It was sent on 2/1/2018.

        Coinbase
        Coinbase
        You just sent
        0.5541148 LTC
        Congratulations! You have successfully sent 0.5541148 LTC (worth $78.26 USD) to LMcJZK3WLfchsu2P4BcfePQiC2BqbGJyDW using Coinbase. To facilitate this transaction, you paid 0.000226 LTC (worth $0.03 USD) in network fees.
        This withdrawal is being sent to an address (“LMcJZK3WLfchsu2P4BcfePQiC2BqbGJyDW”) that you haven’t previously used.

        End of message.

        Thank you for your help!
        Margaret.

        • Steven Hay on

          Hi Margaret,

          OK, well luckily it wasn’t a fortune but enough to serve as “school fees.”

          One thing your friend should check carefully is this: if she copies an address and then pastes it, is the copied address the same as the original? There are some very sneaky malware infections out there which replace a copied address with one of their own, similar-looking addresses, when pasted.

          If there’s no such malware involved, then it’s likely user error. It’s important to double and triple-check every address you copy-paste – usually checking the first and last 5 or so characters is “good enough” but a few extra can’t hurt.

          I’m about 99% certain the cause is malware or user error. Technically-sound blockchains (which Litecoin certainly is) are very reliable in that, so long as the correct address is entered and the transaction is successfully mined (sometimes this doesn’t happen or can be delayed due to an insufficient fee), the transaction absolutely WILL go through.

          • Margaret Gunter on

            Thank you Steven, so it looks like she has kissed it goodbye then! I have sent you your thoughts on what happened, so hopefully she will be very careful in future! Thanks for your help.

  3. I created a wallet yesterday. Is the 40 or so digit long address my public address. Totally new at this. It’s Bitcoin Wallet, any good? Also What coins would recommend?
    It’s mainly for mining that I’m here.

    • Hi Steve,

      Well, I don’t know which wallet you’re using or which part you’re looking at… but if you have a 26 to 35 character string that begins with a 1 or a 3 then it’s almost certainly your Bitcoin address, yes. A string beginning with bc1 could also be an address, although I doubt you have one of those.

      I would recommend Bitcoin, it’s the biggest, best and most reliable. Before you invest into mining, be sure to go through all our guides. There’s a whole lot you need to learn before you can even think about mining.

  4. Tom Lefebvre on

    And this is the future? Who oversees all this? There are humans in the equation,trying to make as much money as possible. I’ve read horror stories of people losing all their bit coins having their accounts emptied. With no recourse, can’t even get a reply from the institutions holding them. I tried opening an account and after sending all the information they asked for, in order to be verified, that I was who I said I was. After waiting two days with no response, I cancelled my account. This should make the financial system more secure and easier to use. Sorry but I don’t see it.

    • Hi Tom,

      Bitcoin is a possible future. No one can say with certainty that it’s THE future… but it seems reasonable to expect that cryptocurrency has a strong role to play in the future of money.

      It sounds to me like you bounced off the first barrier to entry into Bitcoin, which is the services industry which has grown around Bitcoin. I’d like to point out that exchanges are not Bitcoin, exchanges are just businesses built on top of Bitcoin.

      As Bitcoin is open source and can neither allow nor disallow any business which seeks to use it, you can’t really blame Bitcoin for the inefficiency of these businesses… Especially considering it is government which forces these businesses to do identity verification in the first place.

      I suggest you route around all these service problems and use Bitcoin directly. One way to do this would be to download your personal Bitcoin wallet (see our Wallet Reviews section) and then buy a small amount of Bitcoin directly from a person, who won’t require your identity to be verified. The LocalBitcoins.com site is the best way to find such a person and secure your deal with them. I also recommend you check out our introductory video series to Bitcoin:

      https://99bitcoins.com/subscribe-to-newsletter/

      After you’ve taken these steps, then make your final decision on Bitcoin. If you still don’t see it, that’s fair enough and it’s probably not for you… but I want you to make an informed decision.

  5. wayne peebles on

    One thing I do not like about how the transactions are sent and received. If the miners
    are basically just volunteers. What happens if a lot of them just say screw it with bitcoin;
    hey, dash is offering 3x the crypto I will go mine for them. The law of diminishing returns
    has not been repealed. With all these cryptos coming online; I think basically they are going to screw themselves. Imagine an infinite number of fiat banks and a fixed number of
    accounting firms to service them. Hey those fees are going to skyrocket.The law of supply and demand underlies every economic activity. Even cryptos! When the government alows
    taxpayers to settle taxes with cryptos then and only then will you see it replacing fiat!

  6. Hi,
    Thank you for these very informative videos! I had a quick question: If I understand this correctly – a confirmed transaction is irreversible; however, a transaction can be canceled anytime during its unconfirmed stages. How might a transaction get canceled and are there more than one way this can happen?

    Thank you in advance for the response! 👍

    • Hi Tim,

      That’s essentially correct. However, cancelling a transaction is no simple matter. It would involve double-spending the same coins which were sent in the original transaction back to an address under one’s own control. If the fees for the double-spend transaction were higher than the initial one, miners would likely mine the double-spend instead of the original and by doing so, invalidate the original tx.

    • Hey Caline,

      Well you simply send a fractional amount of Bitcoin from your wallet to your exchange, then you sell it for USD which you withdraw from the exchange to your bank account.

      To calculate roughly how much to send, divide your desired amount by the current Bitcoin price. For example, if you want $1000 in fiat and the current BTCUSD price is $17000, you’d need to send about 0.05882353 BTC. Note that 8 is the maximum number of decimal places you can include in a Bitcoin transaction.

    • Hey Richard,

      Stevae’s answer is correct but allow me to give a bit more detail. One confirmation is proof that a miner has deemed your transaction valid and included it in a block. Under normal circumstances, the block your transaction is part becomes the tip of the blockchain.

      However, what can and does happen is that another block is mined at nearly the same time as “your” block – and this other block contains a different set of transactions, potentially a set in which your tx isn’t included.

      The blockchain forks (unintentionally) in this manner fairly often. The way these forks resolve is based on what happens over the next few blocks… The next block mined must be based on one or the other of these “competing” blocks. Which side gets the 2nd confirmation will then “win” and become the official blockchain.

      These races between competing chains can take some time to resolve definitively. This is why it’s usually recommended to wait for up to 6 confirmations for high value transactions. This provides a very high degree of certainty that your transaction won’t get reordered out of existence. The fewer confirms, the less certain.

        • Well, 5 confirmations are at least 5x more secure than 1 – probably a lot higher than 5x although I couldn’t give you the exact number. Reread my answer – I know it’s a bit complicated – but that’s the long version of why it’s better to wait for more confirmations. You don’t have to, it’s just safer.

  7. Hi, I can fully understand the “process” of the earlier segments, but in trying to understand how it all fits together, I find many loose ends. Firstly, where does this “mempool” reside? How do Miners know where to go to find the transactions? How does the recipient (and the sender, for that matter) know that the transaction has been completed? It would also help if you could display what the screen looks like when processing. How do you get bitcoins into your wallet in the first place? – DO we have to go to a broker and effect a forex transaction (ie to convert a currency into a cryptocurrency?)

    • Hey Mike,

      The mempool exists in the memory of all nodes, which is to say in the RAM of all devices running Bitcoin full nodes. Note that each device may have a different picture of the current state of unconfirmed transaction, so the mempool is a bit of a fuzzy thing.

      Miners see transactions which have been broadcast and select from them based mainly on transaction fees. Obviously they’ll earn more from selecting transactions which pay higher fees per byte, so those are given priority by miners.

      Recipients and senders know that the transaction (tx) has been completed when they see that it’s been included in a miner’s block. Getting mined is what takes a tx out the mempool and into the blockchain. The tx is given confirmed status once mined. Each new block mined on top of that confirming block is another confirmation that the transaction is legitimate and permanent. 6 confirms are usually recommended for more expensive transactions.

      I can’t really display what the screen looks like when processing as it would depend on your particular device and wallet… However, when a transaction is made your wallet should report the txid. This can be entered into any block explorer for further details.

      To get bitcoins into your wallet, you have to either buy or earn bitcoins and have the seller / client send the bitcoins to an address controlled by your wallet.

Leave A Reply