Bitcoin may be best known as an electronic cash system, but underneath it all runs a secure messaging system built on the Internet, called Blockchain
3 of 21
Instead of relaying emails, texts, or web pages, the Bitcoin network processes value-transfer messages called transactions.
Private keys help authenticate these messages and identify each other.
4 of 21
5 of 21
Public key cryptography
Blockchain solves various problems through a system called public key cryptography.
This system uses two pieces of information to authenticate messages.
A public key identifies a sender or recipient, and can be distributed to others.
A private key creates an unforgeable message signature.
Unlike the public keys, the private key must be kept secret.
6 of 21
Public and private keys are mathematically linked through a signature algorithm, a mathematical procedure for creating identities, signing messages, and validating signatures.
7 of 21
8 of 21
Transactions and Wallets
To prevent forgery, Bitcoin requires that each transaction bear a digital signature.
This signature, like a private key, is just a number selected from a very large range.
Wallet software generates a signature by mathematically processing a transaction together with the correct private key.
Anyone with a signature and public key can easily authenticate a message.
9 of 21
However, the only way to produce a valid message signature is to use the private key matching the published public key.
In other words, digital signatures are practically impossible to forge
10 of 21
Wallets
11 of 21
Merkle Tree
A Merkle tree summarizes all the transactions in a block by producing a digital fingerprint of the entire set of transactions, thereby enabling a user to verify whether or not a transaction is included in a block.
Merkle trees are created by repeatedly hashing pairs of nodes until there is only one hash left (this hash is called the Root Hash, or the Merkle Root). They are constructed from the bottom up, from hashes of individual transactions (known as Transaction IDs).
12 of 21
13 of 21
Mining
The bitcoin system of trust is based on computation.
Transactions are bundled into blocks, which require an enormous amount of computation to prove, but only a small amount of computation to verify as proven.
14 of 21
Mining- contd…
Mining nodes validate all transactions by reference to bitcoin’s consensus rules. Therefore, mining provides security for bitcoin transactions by rejecting invalid or malformed transactions.
Mining creates new bitcoin in each block, almost like a central bank printing new money. The amount of bitcoin created per block is limited and diminishes with time, following a fixed issuance schedule
15 of 21
16 of 21
Smart Contracts
Smart contracts are simply computer program
Nick Szabo coined the term and defined it as “a set of promises, specified in digital form, including protocols within which the parties perform on the other promises.”
Smart contracts can enable an blockchain users exchange money and property or perform other actions among a group of users such as voting without any central authority
17 of 21
Smart contracts are typically written in a high-level language, such as Solidity
Ethereum is an implementation of blockchain technology that can run smart contracts
18 of 21
19 of 21
Dapps
Decentralized Applications (or DApps) are applications that do not rely on a centralized backend