540 likes | 829 Views
This Edureka "Getting started With BlockChain" tutorial will help you in understanding the fundamentals of BitCoin and Blockchain. Below are the topics covered in this tutorial. <br><br>1. Issues with Current Banking Systems <br>2. How Bitcoin solves these issues? <br>3. Bitcoin Transaction <br>4. BlockChain to the rescue <br>5. BlockChain Concepts <br>6. BlockChain Features <br>7. BlockChain Use Cases <br>8. Demo – Banking Use Case <br><br>Here is a structured training on BlockChain, check out the details: https://goo.gl/Z9rJgU
E N D
Agenda Issues with current Banking Systems How Bitcoin solves these issues Blockchain Concepts Blockchain Features Bitcoin Transaction Blockchain Use Cases Blockchain to the rescue Demo – Banking Use Case Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Use Case - Agenda Imagine a day where there are no banks. How would we then create an alternative to the current banking system? Can we invent a better system? 1 2 Register an account on Ethereum Blockchain Install Go Ethereum 3 Create an 4 autonomous Private Blockchain Perform transactions internally Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Issues with current Banking Systems Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Issues with current Banking Systems High Transaction Fees $2 $100 $98 Trusted Third Party Chandler Joey JPMorgan Chase, Bank of America and Wells Fargo alone earned more than $6 billion fromATM and overdraft fees in 2015 (SNL Financial and CNNMoney Report) Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Issues with current Banking Systems Double Spending $500 Bank transactions are prone to double spending Peter Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Issues with current Banking Systems Banks have become synonymous with crises and crashes due to depression and fractional reserve banking Reserve Bank of India US Federal Reserve Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
How Bitcoin Solves These Issues Copyright © 2017, edureka and/or its affiliates. All rights reserved.
How Bitcoin Solves These Issues Bitcoin solved the issues we had with centralized banks. Decentralized Power Public Ledger Immutable to Hacks No Double Spending Issues with centralized banks Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
How Bitcoin Solves These Issues And the best part of using such a cryptocurrency is that the transaction fee is zero or very minimal in comparison with third parties such as banks and digital transfer systems. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Bitcoin Transaction Copyright © 2017, edureka and/or its affiliates. All rights reserved.
What is Blockchain? Blockchain is the technology behind Bitcoin Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
What is Bitcoin? The first decentralized digital currency Uses cryptography to control its creation and management Created and held electronically in a peer to peer open ledger called the blockchain Ledger is produced by people using software that solves mathematical problems 4 Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Bitcoin Transaction Let us take a Bitcoin transaction where James wants to transfer 500 BTC to Kevin. The transaction is a part of the new block that will be validated by miners Lisa and Robert. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Bitcoin Transaction Account Number Balance 19K4ejhJW94U0212… 37 Sample Blockchain 1ZOL9470uier2UMb… 42.67 [ 178errbZ81FePNr30… 1342 842 - 500 Ledger 1Mr3UNPH8H4U24v… 12.005 512.005 +500 1Pos4r9Eesbv8754b… 563 First Block Growing Blockchain 1JoH83jfos03n2490i… 974.65 … … Every transaction holds details of the transfer of currency from one account to the another. The balance of any account is not stored explicitly. It is always calculated by adding up all the blockchain transactions ever recorded. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Bitcoin Transaction Lisa and Robert are miners who use they resources to validate the block containing the transaction. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Bitcoin Transaction Once the block is validated, money is deducted from James’ account and is transferred to Kevin’s Bitcoin account. This solves the problem of Double Spending. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Bitcoin Transaction Finally, Lisa gets 12.5 BTC as incentive which becomes the first transaction for the next block. The permanent part of the blockchain. current block becomes a Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
How Blockchain achieves the Bitcoin solution Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain – Flow Diagram Validation The transaction is broadcast to the P2P network The network of nodes validate the transaction Someone requests a transaction Once verified, the transaction becomes a part of new block for the ledger The new block is then added to the existing blockchain The transaction is complete Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Overview Blockchain is the technology used in Bitcoin. It is a public distributed database holding encrypted ledgers. Sample Blockchain New Blocks [ First Block Growing Blockchain A block is the ‘current’ part of a blockchain which records some or all of the recent transactions, and once completed goes into the blockchain as permanent database. Each time a block gets completed, a new block is generated. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Overview Blockchains are built from 3 technologies: BLOCKCHAIN Blockchain uses Private Key Cryptography to secure identities and hash functions to make the blockchain immutable Private Key Cryptography P2P machines on the network help in maintaining the consistency of the distributed ledger P2P Network The program gives the blockchain its protocol based on the requirement Blockchain Program Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Private Key Cryptography Private Key Cryptography involves two different keys, private and public. One key is purposely kept private, the other is provided to the other party (or often the public) If you use private key to encrypt then the public key can decrypt and vice versa. This is called asymmetric encryption Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
P2P Network Suppose A finds the transaction: Bobby (B) pays 5 coins to Cindy (C) Node A broadcasts to the peers B and C in the network Verified Verified If the transaction is verified, the peers (here, B & C) forward the transaction to their peers The transactions propagate rapidly across the network Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
P2P Network – Distributed Ledger Andy=10$ Andy=10$ 10$ Andy->Bobby 10$ Andy->Bobby 10$ Bobby-> Derby 3$ Bobby-> Derby 3$ Derby-> Cindy 1$ Derby-> Cindy 1$ Andy=10$ Andy Bobby Andy->Bobby 10$ 3$ Bobby-> Derby 3$ Derby-> Cindy 1$ Andy=10$ Andy=10$ Andy->Bobby 10$ Andy->Bobby 10$ Bobby-> Derby 3$ Bobby-> Derby 3$ 1$ Cindy Derby Derby-> Cindy 1$ Derby-> Cindy 1$ Copyright © 2017, edureka and/or its affiliates. All rights reserved.
P2P Network – Digital Signature Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Program The Blockchain is the way of implementing any solution/ use case Sample Blockchain [ Blockchain is a concept and can be implemented by any language First Block Growing Blockchain Solidity is the most preferred default for writing programs in Blockchain Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Transactions In any blockchain: ▪ All transactions are logged including information on the time, date, participants and amount of every single transaction ▪ Each node in the network owns a full copy of the blockchain Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Transactions The ensures automatically and continuously agree to the current state of the ledger transaction in it. mathematical that principle nodes If anyone attempts to corrupt a transaction, the nodes will not arrive at a consensus and hence will refuse to incorporate the transaction in the blockchain. Transactions are verified by the Miners complex math puzzles and maintain the ledger the after solving and every Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Types Public: Public blockchains have ledgers visible to everyone on the internet and anyone can verify and add a block of transactions to the block chain. Private: Private blockchains allow only specific people in the organization to verify and add transaction blocks but everyone on the internet is generally allowed to view. Consortium: Here, only a group of organizations (such as banks) can verify and add transactions but the ledger can open or restricted to select groups. Blockchain Types Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain in a Nutshell To create a secure distributed ledger The use of Mathematics which enables transactions without the need for third parties Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Features Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Features Fraud Proof Fraud Resistance Blockchain does not have accounts where hackers can modify the balance. Consistency Rather, it is the entire blockchain with transactions which make the system Maintenance Incentives Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Features Distributed Ledger Fraud Resistance Public Distributed Ledgers provide the required consistency for Blockchain Consistency It is based on the ‘no-trust’ model where there is no need of a central authority Maintenance Incentives Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Features Fraud Resistance Consistency Maintenance Incentives Image Source: bitcoinexchangenews.com Bitcoin Reward Currently, each miner gets 12.5 BTC ($34,000) as reward per block they successfully verify with proof of work Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Use Cases Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Use Cases Banking Payment & Transfers Healthcare Law Enforcement Voting Payment & Transfers Online Music Real Estate Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Use Cases Blockchains could cut up to $20 billion in middle-man costs per year Hacking into banking ledgers becomes close to impossible Solves the double spending problem Banking Reduces bank crises by a large extent Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Use Cases Blockchains transfers are the highest in terms of security Currently Bitcoin runs on no fixed transaction fees No bank account required Anonymity is maintained Payment & Transfers Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Use Cases Elections require authentication of voters’ identity, secure record keeping and trusted tallies Blockchains are the medium for casting, tracking and counting votes without voter-fraud, lost records or fowl-play. Voting Increases voter turnout Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Demo - Ethereum Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Demo - Ethereum Ethereum distributed computing platform. is an open-source, public, blockchain-based Ethereum features smart contract (scripting) functionality, which facilitates online contractual agreements. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Demo - Ethereum Problem Statement We will implement a digital bank using Blockchain Ethereum. The systems will allow us to: 1. Make a cryptocurrency with a fixed market supply and tokens to represent real world asset values. 2. Create an autonomous private Blockchain with rules on spending money. 3. Mine for new Ether by validating transactions. Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Blockchain Demo – Flow Diagram 1 2 Register an account on Ethereum Blockchain Install Go Ethereum 3 Create an 4 autonomous Private Blockchain Perform transactions internally Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Installing Blockchain Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Installing Blockchain Download Ethereum code and compile it Cloning Geth Code git clone https://github.com/ethereum/go-ethereum cd go-ethereum git tag git checkout tags/v1.5.9 -b EdurekaEthereumV1.5.9 Creating a Genesis Block //Checking the branch git branch Making Rules for our Blockchain //Install golang make all Validating & Mining Ether Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Creating Blockchain – Genesis Block Cloning Geth Code cd go-ethereum Creating a Genesis Block //Creating Genesis (first) block mkdir genesis cd genesis gedit genesis06072017.json Making Rules for our Blockchain Validating & Mining Ether Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Starting Blockchain { "nonce": "0x3", "timestamp": "0x0", "parentHash": "0x00000000000000000000000000000000000000000000000000000", "extraData": "0x0", "gasLimit": "0x4c4b40", "difficulty": "0x400", "mixhash": "0x00000000000000000000000000000000000000000000000000000", "coinbase": "0x000000000000000000000000000000000", "alloc": { } } Cloning Geth Code Creating a Genesis Block Making Rules for our Blockchain Validating & Mining Ether Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Starting Blockchain Cloning Geth Code //Initializing the Blockchain /home/edureka/go-ethereum/build/bin/geth --datadir ~/ethereum/net3 init genesis/genesis3.json Creating a Genesis Block //Starting the geth console /home/edureka/go-ethereum/build/bin/geth --datadir ~/ethereum/net3/ --networkid 3 console Making Rules for our Blockchain Validating & Mining Ether Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Starting Blockchain Cloning Geth Code > personal.newAccount() > eth.accounts > eth.blockNumber() > miner.start() > miner.stop() > eth.blockNumber() > eth.getBalance("0x5f069120a76ac078a46b3ce94c6a350b330b68b8") > exit Creating a Genesis Block Making Rules for our Blockchain Validating & Mining Ether Blockchain Tutorial Copyright © 2017, edureka and/or its affiliates. All rights reserved.