What made Bitcoin a revolutionary technology.

Ogedengbe Babatunde
6 min readFeb 14, 2021

What Is BitCoin?

BitCoin was inspired by the Cyberpunks movement in the early ’80s.

The Cyberpunk advocate for the protection of privacy using cryptography.

BitCoin takes away control from central entities (e.g Bank, government ) and gives freedom to the users to transact while protecting their privacy. It makes everybody a bank.

Bitcoin is considered the first and most widely uses cryptocurrency. A cryptocurrency is completely digital, and it is used in a decentralized system. This system is built using principles of computer science, cryptography, and economics.

The term Bitcoin refers to a set of rules that govern this currency. This set of rules are defined by the community, network, and software.

Bitcoin lowercase refers to the actual unit of the currency.

Bitcoin is the inspiration for blockchain which is the underlying data structure for this cryptocurrency.

Bitcoin aims to be pseudonymous, trustless, decentralized, and immutable. Besides, anyone with a computer and internet connection can join the Bitcoin network. Each computer is a node in the Bitcoin network, and each node may verify and audit the transaction history of their funds. In Bitcoin, the minting and distribution of bitcoins are determined through mining; since anyone can mine and win bitcoins, this process also aims to be decentralized.

How Bitcoin Fulfils a bank function?

Account management: Each user of Bitcoin creates their own identity instead of asking a bank to create one.

Anyone can generate a Bitcoin identity on their own.

Services: Transactions are usually P2P, in Bitcoin, users can send funds to each other directly knowing that their transactions will be validated by the entire network without the presence of a trusted third party.

Record management: Each user keeps a copy o the transaction history. This decentralised approach of record-keeping ensures the integrity of data despite the presence of faulty nodes who might record the information dishonestly.

Trust: We trust in the incentive alignment and publicly verifiable, tamper-evident ledger instead of our fellow users.

Identity Management

In Bitcoin, users do not need to use their real-world identity. Instead, they are represented by strings of random letters and numbers to transact while protecting their real-world identity. Every user would have two keys, namely:

  1. Private key
  2. Public key

A private key is used to claim/spend your money while a public key is used to receive money. You should never share your private key with anyone.

How do we make secure transactions with one another? In other words, What makes a valid transaction?

Bitcoin put 3 component together to make a secure transaction between 2 peers. A transaction must have the following component to be valid

  1. Proof of ownership(signature)
  2. Sufficient funds
  3. a guarantee that no other transaction is using or has used the same funds.

In order to enforce these requirements, Bitcoin uses what’s known as a UTXO or Unspent Transaction Output.

Bitcoin prevents invalid transaction with the use of UTXO.

To make transaction processing much easier and more secure, users spend directly from transactions made to them in UTXOs.

Think of UTXO as a piggy bank

How does bitcoin effectively keeps track of individual transactions and prevents anyone from spending incorrect amounts of bitcoin?

Bit uses UTXO model to prevent this.

UTXO Model

If all money that I want to send is not contained in one UTXO, then I could use several UTXOs for a transaction.

Since a user can only spend their bitcoin from transactions directly made to them. When a user wants to send some bitcoin to a recipient, The user makes his own output UTXO as input UTXO to a recipient. This simply means the user has initiated a process to give some or all the all money in a wallet(a container created for a transaction) to a recipient.

The next step is to take some or all the money from the input UTXO(transaction wallet) and make it as an output UTXO to a recipient. The recipient can only have access to the money when the user makes an output UTXO for the transaction(give some money to a recipient)

Think of Output UTXO as a container where the money is stored and Think of Input UTXO as a wallet from which you can spend money for a particular recipient.

If you have some money that is left in the input UTXO that you made to a particular recipient and you wish to spend it latter. You could make a change UTXOs to yourself which contains the unspent money.

A user could make various output UTXOs as input UTXOs to a recipient.

How Bitcoin keep track of transactions?

Bitcoin need to store the history of transactions for obvious reasons: to know who owns what in the present, and to use this history to confirm the validity of future transactions. To save this information, we need some form of a database. This database must use Bitcoins protocol: Where there is no central entity in control of the information in the network, and anyone should be able to read and write a history of transactions. Everyone maintains their ledger after all, and once a change is made for one entity, information must be distributed across all nodes(users) in the network. All nodes are equal.

So, how do we store our ledger efficiently?

Every update to the distributed database, the Bitcoin ledger, is a batch of transactions grouped into what are called blocks.

Every block is built off, or chained to, a previous block.

Altogether, this forms a magical data structure known as a “blockchain.”

By grouping data into blocks, we do not have to strain the network as a result of updating every ledger after every transaction.

With a blockchain, only every block, which may contain thousands of transactions, needs to be appended to the blockchain. In this way, blockchains efficiently keep track of not only the transactions in any given update but also give the database discrete states.

The blockchain is tamper-evident, as tampering with a transaction from the past would invalidate any future blocks linking back to it.

Everyone must agree on the next block.

Consensus

Because everyone is storing information about the blockchain, we need a consensus to make sure that everyone agrees on a valid history of transactions.

We have to all stay on the same page to make sure that we all believe in the same reality of Bitcoin.

In the most basic consensus mechanism, updates take the following form: One node proposes a transaction to the network, sending a message about the transaction directly to every other node All other nodes save the transaction into their history if it’s valid and disregard it otherwise.

In a naive consensus strategy, only the sender and recipient know about a transaction. This strategy gives room to double-spending attack.

Bitcoin addresses the issue of double-spending attack by ensuring that all nodes talk to one another and the validity of a transaction is determined by group users (nodes).

Bitcoin consensus model implements a system of proposers

and voters. One person at a time proposes an update, and everyone else votes on whether or not to accept the proposal.

The person who wants to make a transaction sends the transaction to everyone in the entire network, not just the recipient of bitcoins.

Everyone on the network then casts votes based on whether the transaction they saw was valid or not.

Only after receiving a certain number of votes, say a majority, does the transaction get saved.

Bitcoin consensus model makes sure that a fund is not promised to more than one recipient.

However, this system of proposers and voters did not entirely solve our problem. Recall that Bitcoin is an accessible, anonymous network with no central registry.

This implies that anyone could generate multiple identities. It’s inexpensive to create multiple identities, requiring only the generation of a random number. A user with multiple identities could occupy the network and cast more vote than it should be allowed. Say 51%.

In other words, this current version of consensus is susceptible to a Sybil attack, where a user creates multiple identities for some malicious purpose.

In Bitcoin, users cannot vote with identities at all, to preserve freedom and anonymity while solving the issue of endless identities, each vote must be cast with resources. Scarce, valuable, tangible assets.

The particular resource that Satoshi identified was one available to all users of Bitcoin: computing power!

Satoshi Nakamoto Consensus

The particular consensus algorithm that Satoshi Nakamoto came up with is known as “Proof-of-Work.”

In other words, “Proof-of-Work” is the method by which users provide evidence of spending resources.

It is the method by which computing power is translated into voting power.

It is the method by which users vote in Bitcoin.

It is this method of voting that made Bitcoin the first successful cryptocurrency and inspire voting mechanisms for practically every other cryptocurrency to follow.

By tying our voting power to our real-world identities through the scarce resource of computing power, we have successfully eliminated Sybil attacks from Bitcoin and solved the double-spending problem.

These are what made Bitcoin a revolutionary technology.

--

--