Bitcoin: The First Cryptocurrency
By: Akshat Verma
Tags: Bitcoin, Blockchain, Cryptocurrency, Bitcoin Mining, Crypto

Bitcoin: The First Cryptocurrency

By Akshat Verma on ALTCOIN MAGAZINE

Credit: bitcoinist.com

Bitcoins were invented by a person or a group of people using the name, Satoshi Nakamoto and released as open-source software in 2009. The basic goal of introducing bitcoin was to eliminate the role of a central authority for a peer-to-peer transaction of funds. This was accomplished by introducing a decentralized platform based on Blockchain Technology.

Credit: E-learning Spot — altervista

Are Bitcoin And Blockchain The Same Thing?

No, they are not! However, they are closely related. When bitcoin was released as open source code, blockchain was wrapped up in the same solution. Since bitcoin is the first application of blockchain, people started using the term “bitcoin” for the blockchain. This is where all the misunderstanding started.

If Bitcoin and Blockchain Are Not The Same Then What Is A “Bitcoin Block”?

Blocks are files where data pertaining to the bitcoin network is permanently recorded. A block records some or all of the most recent Bitcoin transactions that have not yet entered any prior blocks. Thus, a block is like a page of a ledger or record book. Each time a block is ‘completed’, it gives way to the next block in the blockchain. A block is thus a permanent store of records which, once written, cannot be altered or removed.

The Bitcoin Network

The bitcoin network is a peer-to-peer payment network that operates on a cryptographic protocol. Users send and receive bitcoins, the units of currency, by broadcasting digitally signed messages to the network using bitcoin cryptocurrency wallet software. Transactions are recorded into a distributed, replicated public database known as the blockchain, with consensus achieved by a proof-of-work system called mining.

How Big Is The Bitcoin Network?

The size of the Bitcoin network has experienced consistently high levels of growth since its creation, reaching approximately 210 gigabytes in size as of the beginning of April 2019. The bitcoin network is a distributed database that contains a continuously-growing and tamper-evident list of all Bitcoin transactions and records since the date of its initial release in January of 2009.

Nearly 1 million IP addresses are getting added to this network per month. There are only 5–10 k fully validating nodes or the nodes that are always connected to the network.

What Are Fully Validating Nodes And What Do They Do?

The fully validating nodes are the computer systems that are always connected to the bitcoin network. Fully validating nodes maintain the track of UTXO set. UTXOs are Unspent Transaction Outputs. Currently, there are more than 75 million UTXOs.

The collection of all UTXO in a bitcoin network collectively define the state of the bitcoin blockchain.

UTXOs are referenced as inputs and outputs. The transfer of bitcoins from sender to receiver initializes the request to send from one or more UTXOs to one or more newly created UTXOs as requested by the sender.

Structure Of UTXO

The structure of UTXO consists of:

Unique identifier of the transaction that created the UTXO. Index of this UTXO in the transactions output list. Value or amount it is created for. Optional: Conditions under which the output can be spent.

The optional condition may or may not be present in the structure depending on the conditions.

Structure Of Transactions

The structure of transactions in a bitcoin blockchain consists of:

Reference number of the current transaction. Reference(s) to one or more input UTXOs. Reference(s) to one or more output UTXOs. Total input amount and output amount.

NOTE: Transactions bring about the transfer of values in a bitcoin blockchain while the concept of UTXO defines about input and output of such a transaction.

How Many Type Of Nodes Are There In The Bitcoin Network?

These are the list of nodes that we can have on a bitcoin network:

Full Blockchain Node : Contains full blockchain database, and network routing capabilities

: Contains full blockchain database, and network routing capabilities Solo Miner : Contains the mining function, the full copy of the blockchain database and the network routing capabilities.

: Contains the mining function, the full copy of the blockchain database and the network routing capabilities. Lightweight (SPV) Wallet : Contains a wallet and network routing capabilities.

: Contains a wallet and network routing capabilities. Reference Client (Bitcoin Core) : Contains a wallet, a full blockchain database, a miner and the network routing capabilities.

: Contains a wallet, a full blockchain database, a miner and the network routing capabilities. Pool Protocol Servers: These are gateway routers connecting the P2P network nodes running other protocols such as pool mining nodes or Stratum.

These are gateway routers connecting the P2P network nodes running other protocols such as pool mining nodes or Stratum. Mining Nodes: Contains the mining function without the full copy of the blockchain, instead, they have the Stratum protocol or other pool mining protocols.

Contains the mining function without the full copy of the blockchain, instead, they have the Stratum protocol or other pool mining protocols. Lightweight (SPV) Stratum Wallet: Contains the wallet and the network capabilities on the Stratum protocol without the blockchain.

Hard Coded Limitations Of Bitcoin

10 minutes average creation time per block. Only 1 million bytes can be entered in a block. A total of 20,000 signature operations can be there in a block. The total number of bitcoins can be 21 million. 1 bitcoin =100 Million Satoshi. The bitcoin mining reward is decreasing every four years as 50(2009), 25(2012), 12.5 (2016)…, which affects economic balance.

How To Store And Use Bitcoin?

Before moving on to this question, we should ask ourselves that we want to spend bitcoin, what are the details that are required for this?

Answer:

Some info from the public blockchain The owner’s secret signing key.

Hence, it’s all about key management! We need to know how to store and use secret keys to be able to spend bitcoins.

To store and use bitcoin, one of the following methods can be adopted:

Simple Local Storage

Simple local storage can be divided into three types:

Store the key in your device, like a phone or a computer. If the device is lost, the key is lost. If the device is hacked, the key is compromised. Wallet Software: The wallet software provides a nice user interface and provides a separate key for each coin. Encoding: The key can be encoded into base58 notation or can be encoded using a QR.

Hot And Cold Storage

Hot Storage — The coin is stored online. It is convenient to operate but it is risky. Hot storage provides hot secret keys and cold addresses.

Cold Storage — The coin is stored offline. It is archival but safer. Cold storage provides cold secret keys and hot addresses.

The transfer of coins can take place from hot storage to cold storage and vice-versa. But how will hot storage transfer coins if the cold storage is offline?

Solution: The cold storage provides a big batch of addresses/keys to the hot storage beforehand, the hot storage initiates the transfer and when the cold storage comes online, the transfer is completed.

Splitting And Sharing Keys

In this, the cryptographic method of sharing called Secret Sharing is implemented. The idea in this method is that the secret is split into N pieces, such that given any K pieces, can reconstruct the secret given fewer than K pieces, don’t learn anything.

Online Wallets And Exchanges

Online Wallet — It is like a local wallet but “in the cloud” runs in your browser site sends code site stores keys you log in to access the wallet. It is convenient, easy to install, can run on multiple devices. But this leads to security issues.

Bitcoin Exchanges — The bitcoin exchanges accept deposits of Bitcoins and fiat currency ($, €, …). It promises to pay back on demand. It Lets customers make and receive bitcoin payments and also buy/sell bitcoins for fiat currency.

Example: Suppose an account at Exchange holds $5000 + 3 Bitcoin. The owner uses Exchange to buy 2 Bitcoin for $580 each. Hence, the result is that the account holds $3840 + 5 Bitcoin now.

NOTE: No Bitcoin transaction appears on the blockchain! The only effect is that the exchange is making a different promise now.

Bank Regulation: For traditional banks, government typically imposes minimum reserve requirements, i.e., the account must hold some fraction of deposits in reserve. This regulates behavior and investments. It also insures depositors against losses and acts as a lender of last resort. The Bitcoin is not regulated like this!

Proof-of-Reserve Problem: Bitcoin exchanges can prove a lower bound on fractional reserve by providing:

Lower bound for reserves. Upper bound for liabilities.

Proof-of-Reserve:

Exchange proves that it has at least X amount of reserve currency. Exchange proves that customers have at most Y amount deposited. So, reserve fraction ≥ X/Y

Payment Services

It is an active environment between merchant and customer. In this scenario, both user and payment service are exposed to exchange rate risk. The user is exposed to some degree since they must hold bitcoins at least temporarily to be able to pay with bitcoins.

Transaction Fees

It costs resources for peers to relay your transaction and miners to record your transaction. Transaction fee compensates for some of these costs. Generally, higher fee means the transaction will be forwarded and recorded faster.

Currency Exchange Markets

Basic Market Dynamics:

Market matches buyer and seller

2. Large, liquid market reaches a consensus price

3. Price is set by supply of Bitcoins and demand for Bitcoins

Supply of Bitcoins:

Supply = Coins in circulation (+ demand deposits ?)

When To Include Demand Deposits?

Answer: When they can be actually sold in the market.

Demand for Bitcoins:

Bitcoins are demanded to mediate fiat-currency transactions. They are also demanded as an investment if the market thinks demand will go up in the future.

Simple Model of Transaction-Demand T = total transaction value mediated via Bitcoin ($ / sec) D = duration that Bitcoin is needed by a transaction (sec) S = supply of Bitcoin(not including BTC held as long-term investments) T/P Bitcoins needed per second S/D Bitcoins become available per second Equilibrium: P = TD/S

This model has only two sources of demand: Mediating fiat currency transaction and investment.

NOTE: Theoretical models often leave out sine factors that matter in practice in order to keep the analysis tractable.