simple bitcoin .pdf
Original filename: simple bitcoin.pdf
This PDF 1.5 document has been generated by / Skia/PDF m62, and has been sent on pdf-archive.com on 29/08/2017 at 07:31, from IP address 130.126.x.x.
The current document download page has been viewed 252 times.
File size: 52 KB (2 pages).
Privacy: public file
Download original PDF file
A Simple Explanation of Bitcoin
Consider “traditional” electronic currency, such as PayPal. There is a database
controlled by a central entity (in this example, PayPal) which contains your username,
password, and amount. To transfer some amount to another user, you have to prove ownership
of the sending account by providing your username and password. The entity will then alter the
database by subtracting the amount sent from your account and adding it to the account of the
There are some problems with this model. First, if the entity goes down, there is no way
to access your funds. For instance, if the U.S. government decided to seize PayPal’s servers,
your funds would be in limbo for an indeterminate amount of time. Second, the database can be
edited by the controlling entity. This means that they can seize funds from your account, and it
also means that they can create or destroy money as they please. Third, the controlling entity
can deny the sending or receiving of funds. This means that your donation to Snowden (who
PayPal doesn’t like) can be blocked, and payments from Snowden to you can also be blocked.
All of the problems above stemmed from the fact that one single entity controlled the
database. So how do we fix this? We give everybody a copy of the database. Whenever we
make a change to the database, we tell other people around us. These people will go on to tell
people around them about the changes, and very quickly, the entire network will be aware of the
change. In this way, we can cut out the middleman and create a trustless, permissionless
But wait! To send funds from an account, we need to prove ownership of it. But since
everybody has a copy of the database, your password would be available for everybody to see.
What we need is a way to prove we know the password without actually revealing the password.
This is where digital signatures come in. In this system, you have two keys: a public key (which
you make available to everybody), and a private key (which you keep to yourself). These keys
are mathematically linked is such a way that you can “sign” a message using your private key,
and others can “verify” it using your public key. Because every public key is associated with a
unique private key, we can make the public key your “username” and the private key your
“password”. If I wish to authenticate with someone, all I have to do is sign an agreed-upon
message with my private key. The other person can verify the result with my public key.
At this point, Satoshi (the creator of Bitcoin) could have make a spot for the signature in
every transaction and called it a day. But his true genius was implementing a scripting system to
authenticate transactions. By doing this, he allowed users to program the conditions under
which the funds would be unlocked. So while the majority of transactions today simply include a
program to push and check the signature, there have been a handful of very cool programs
written to execute on the blockchain. See some of them at
Today, there are other cryptocurrencies that have built-off and extended Bitcoin.
Ethereum allows the script to be written in a python-like language called Solidity. Solidity has
many advanced features that allows things like building your own currency on top of the
Ethereum blockchain and automatic, recurring payments. Monero provides privacy and
fungibility by obfuscating the sender, receiver, amount, and (soon) IP of transactions. There are
infinitely more cryptocurrencies that I could discuss, but what is important to understand is that
they are all based on the principles of Bitcoin: decentralized, trustless, permissionless digital