How To Send And Receive Bitcoin? Brief Explanation
Alice has created her bitcoin wallet and she is now ready to receive funds. Her wallet
application randomly generated a private key (described in more detail in “Private
Keys” on page 63) together with its corresponding bitcoin address. At this point, her
bitcoin address is not known to the bitcoin network or “registered” with any part of the
bitcoin system. Her bitcoin address is simply a number that corresponds to a key that
she can use to control access to the funds.
There is no account or association between
that address and an account. Until the moment this address is referenced as the recipient
of value in a transaction posted on the bitcoin ledger (the blockchain), it is simply part
of the vast number of possible addresses that are “valid” in bitcoin. Once it has been
associated with a transaction, it becomes part of the known addresses in the network
and Alice can check its balance on the public ledger.
Alice meets her friend Joe who introduced her to bitcoin at a local restaurant so they
can exchange some US dollars and put some bitcoins into her account. She has brought
a printout of her address and the QR code as displayed in her bitcoin wallet. There is
nothing sensitive, from a security perspective, about the bitcoin address. It can be posted
anywhere without risking the security of her account.
Alice wants to convert just $10 US dollars into bitcoin, so as not to risk too much money
on this new technology. She gives Joe a $10 bill and the printout of her address so that
Joe can send her the equivalent amount of bitcoin.
Introduction
Next, Joe has to figure out the exchange rate so that he can give the correct amount of
bitcoin to Alice. There are hundreds of applications and web sites that can provide the
current market rate, here are some of the most popular:
• bitcoincharts.com, a market data listing service that shows the market rate of bitcoin
across many exchanges around the globe, denominated in different local currencies
• bitcoinaverage.com, a site that provides a simple view of the volume-weightedaverage for each currency
• ZeroBlock, a free Android and iOS application that can display a bitcoin price from
different exchanges
• bitcoinwisdom.com, another market data listing service
Figure 1-3. ZeroBlock - A bitcoin market-rate application for Android and iOS
Using one of the applications or websites above, Joe determines the price of bitcoin to
be approximately $100 US dollars per bitcoin. At that rate he should give Alice 0.10
bitcoin, also known as 100 milliBits, in return for the $10 US dollars she gave him.
Once Joe has established a fair exchange price, he opens his mobile wallet application
and selects to “send” bitcoin. He is presented with a screen requesting two inputs:
• The destination bitcoin address for the transaction
• The amount of bitcoin to send
Getting Started | 11
Figure 1-4. Bitcoin mobile wallet - Send bitcoin screen
In the input field for the bitcoin address, there is a small icon that looks like a QR code.
This allows Joe to scan the barcode with his smartphone camera so that he doesn’t have
to type in Alice’s bitcoin address (1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK), which is
quite long and difficult to type. Joe taps on the QR code icon and activates the smart‐
phone camera, scanning the QR code from Alice’s printed wallet that she brought with
her.
The mobile wallet application fills in the bitcoin address and Joe can check that it
scanned correctly by comparing a few digits from the address with the address printed
by Alice.
Joe then enters the bitcoin value for the transaction, 0.10 bitcoin. He carefully checks
to make sure he has entered the correct amount, as he is about to transmit money and
any mistake could be costly. Finally, he presses “Send” to transmit the transaction. Joe’s
mobile bitcoin wallet constructs a transaction that assigns 0.10 bitcoin to the address
provided by Alice, sourcing the funds from Joe’s wallet and signing the transaction with
Joe’s private keys.
This tells the bitcoin network that Joe has authorized a transfer of
value from one of his addresses to Alice’s new address. As the transaction is transmitted
via the peer-to-peer protocol, it quickly propagates across the bitcoin network. In less
than a second, most of the well-connected nodes in the network receive the transaction
and see Alice’s address for the first time.
If Alice has a smartphone or laptop with her, she will also be able to see the transaction.
The bitcoin ledger - a constantly growing file that records every bitcoin transaction that
has ever occurred - is public, meaning that all she has to do is look up her own address.
Introduction
and see if any funds have been sent to it. She can do this quite easily at the blockchain.info
website by entering her address in the search box. The website will show her a page
(https://blockchain.info/address/1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK) listing
all the transactions to and from that address. If Alice is watching that page, it will update
to show a new transaction transferring 0.10 bitcoin to her balance soon after Joe hits
“Send”.
Confirmations
At first, Alice’s address will show the transaction from Joe as “Unconfirmed”. This means
that the transaction has been propagated to the network but has not yet been included
in the bitcoin transaction ledger, known as the blockchain. To be included, the trans‐
action must be “picked up” by a miner and included in a block of transactions.
Once a
new block is created, in approximately 10 minutes, the transactions within the block
will be accepted as “confirmed” by the network and can be spent. The transaction is seen
by all instantly, but it is only “trusted” by all when it is included in a newly mined block.
Alice is now the proud owner of 0.10 bitcoin which she can spend. In the next chapter
we will look at her first purchase with bitcoin and examine the underlying transaction
and propagation technologies in more detail.
No comments: