Intro to Block Chain Bitcoin. Blocks ●Ethereum - block chain ●Dogecoin - block chain ●Ripple - not a block chain ●Stellar - not a block chain ●Bitcoin.

Slides:



Advertisements
Similar presentations
The easy answers to the hard questions! WHAT IS BITCOIN?
Advertisements

BITCOIN INTRODUCTION TECHNOLOGY AND TOOL *Various slides adapted from James D’Angelo’s “How the Constraints of Digital Define Bitcoin”
Cryptocurrency Peter Carnesciali Marcus Rivera BitcoinDogecoin LitecoinPeercoin.
Bitcoin Wallets BY DAVID BARNES | BITCOIN CO. LTD.
Bitcoin Proof of Payment Andy Ofiesh Senior Software Engineer Armory Technologies, Inc. MIT Bitcoin Expo, March 7 & 8th, 2014 © Armory Technologies, Inc.
COMS 486 Iowa State University Introduction to Bitcoin A P2P Electronic Cash System.
Bitcoin. What is Bitcoin? A P2P network for electronic payments Benefits: – Low fees – No middlemen – No central authority – Can be anonymous – Each payment.
BITCOIN – 2014 John BlackSpring Digital Currency  Chaum’s ideas in the 1980’s  All ideas required a central bank or single point of trust  Chaum.
Beyond Bitoin: The Bitcoin 2.0 movement
Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.
Towards a More Democratic Mining in Bitcoins Goutam Paul R. C. Bose Centre for Cryptology & Security, Indian Statistical Institute Pratik Sarkar Indian.
BITCOIN An introduction to a decentralised and anonymous currency. By Andy Brodie.
Bitcoin is the FUTURE of MONEY!!
The world’s first decentralized digital currency Meni Rosenfeld Bitcoil 29/11/2012Written by Meni Rosenfeld1.
Bitcoin (what, why and how?)
Bitcoin Transaction Scripting Andy Ofiesh Senior Software Engineer Armory Technologies, Inc. MIT Bitcoin Expo, May 3rd, 2014 © Armory Technologies, Inc.
Bitcoins and the Digital Economy Presented By: Matt Blackman.
1 Bitcoin A Digital Currency. Functions of Money.
Bitcoin today (October 2, 2015)
Deanonimization methods in Bitcoin Network Marko Marić.
Bitcoin Tech Talk Zehady Abdullah Khan (Andy) Graduate Assistant, Computer Science Department, Purdue University.
Section #9: Bitcoins. Digital currency Unique string of bits Use cryptography for security and privacy Not tied to names: hard to trace Finite set of.
Bitcoin Based on “Bitcoin Tutorial” presentation by Joseph Bonneau, Princeton University Bonneau slides marked “JB”
How Bitcoin Achieves Decentralization
Bitcoin’s new Era OP_CSV, Segregated Witness And how it relates to Bitcoin at Visa’s scale.
© 2016 consensys.net Intro to The Blockchain. © 2016 consensys.net.
Bitcoin Bitcoin is a cryptocurrency. The platform that hosts Bitcoin is a p2p system. Bitcoin can be abstracted as a digital file that records the account.
Block Chain 101 May 2017.
Dissecting Bitcoin Architecture and Security
Mechanics of Bitcoin Part II
Blockchains in 12 Easy Steps and Observations to Ponder…
Virtual currency? Crypto-currency? Internet Money? Property?
Bitcoin - a distributed virtual currency system
Distributed Systems for Information Systems Management
Introduction to Blockchain & Ethereum
So what is Blockchain anyway?
Campbell R. Harvey Duke University and NBER
Deanonymization of Clients in Bitcoin P2P Network
protocollo e casi studio

Call Blockchain support number
Bugs in the Blockchain and “Contractual” Vulnerability
CS898AT – Bitcoins and Cryptocurrencies
Technical Overview of Bitcoin
Duke University and NBER
Life skill presentation
Blockchain and Cryptocurrencies
Getting Started with Ethereum Private Blockchain
NEECOM – May 16, 2018 Todd L. Gould, CEO
Blockchains (2) slides have been taken from:
Campbell R. Harvey Duke University and NBER
Blockchain technology
Bitcoin: Data flow.
PointCoin Pizza: Revamped
Blockchain Concepts RISK FORUM 2017 Hash function (e.g. SHA-256)
Swagatika (Jazz) Sarangi
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Ethereum Virtual Machine
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Lightning or How to Pay Quickly with Bitcoin
Campbell R. Harvey Duke University and NBER
Duke University and NBER
Blockchain Tech Big Picture
Blockchain Tech Big Picture
Bitcoin and Blockchain
Explore Txs, block, blockchain in Bitcoin
BUILDING A BLOCKCHAIN USING PYTHON
Presentation transcript:

Intro to Block Chain Bitcoin

Blocks

●Ethereum - block chain ●Dogecoin - block chain ●Ripple - not a block chain ●Stellar - not a block chain ●Bitcoin - definitely a block chain

Blocks Q. What makes a block chain? A. Blocks + Proof of Work/Mining

Consensus ●Paxos - Google’s chubby ●Raft - CoreOS etcd ●Proof of work - Bitcoin

Proof of Work A function which is hard to compute but easy to verify.

Proof of Work Example var target = '00'; var data = 'block chain u'; var result = ''; var nonce = 0; for(;;) { var f = crypto.createHash('sha256'); var h = f.update(data + ++nonce); result = h.digest('hex'); if (result.slice(0, target.length) == target) { break; } var check = crypto.createHash('sha256').update(data+nonce).digest('hex'); if (check.slice(0, target.length) == target) { console.log('Verified nonce='+nonce); }

Proof of Work ƒ(data,nonce) < 2^256 / difficulty

Block Creation

Coinbase Transactions If you proved the work you send yourself 25 BTC as a reward. You also get to collect fees.

Miners Are Important They decide which transactions make it into a block and ingest new BTC.

Addresses Private Key -> Public Key -> Address

Addresses ●Don’t contain 0 O I l (base58) ●Start with a 1 ●33 or 34 characters long ●Shorter and more recognizable than public key ●Might help if there is an ECDSA Attack ●Should be used only once

Private Key Storage ●If you lose your private key, the funds are forever gone

var bitcoin = require('bitcoinjs-lib'); var prv = bitcoin.ECKey.makeRandom() var pub = prv.pub; console.log('private=' + prv.toWIF()); console.log('public=' + pub.toHex()); console.log('address=' + pub.getAddress()); //Output: private=L44GNX8FAMENVyae31mK34p5mpSVGBfEW5xZvmVrD8gULNfTAv3Y public=02570b2cec80ac066f7ebbf3ac10f a5b2effca71c47b87ecd8b78cc address=19aHhFTKfH7Zuccjrkc4H1gkJNQJ8mC15Q Creating an Address

Transactions

Satoshi ●1 BTC = Satoshis ●Minimum transactions size = 5430 Satoshis

Transaction Outputs ●Must consume entire value ●Value not consumed will be left as fee ●If an output isn’t named in an input, it is considered unspent ●You can be named in an output without consent

Standard Transaction Types ●P2PKH - Pay to Public Key Hash ●P2SH - Pay to Script Hash ●Multisig - Most people use P2SH ●Null Data - Store 40 arbitrary bytes ●Public Key - Most people use P2PKH

P2PKH Script Validation

Creating A Transaction var key = bitcoin.ECKey.fromWIF("L1uyy5qTuGrVXrmrsvHWHgVzW9kKdrp27wBC7Vs6nZDTF2BRUVwy") var tx = new bitcoin.TransactionBuilder() tx.addInput("aa94ab02c182214f090e99a0d57021caffd0f195a81c24602b1028b130b63e31", 0); tx.addOutput("1Gokm82v6DmtwKEB8AiVhm82hyFSsEvBDK", 15000); tx.sign(0, key); console.log(tx.build().toHex());

Smart Contracts ●Arbitration using P2SH ●Wills & Inheritance using nLockTime ●Bets using Oracles and hashed scripts

Payment Requests ●Generate addresses on demand ●Meta-data for building the transaction

Software ●Libraries ●Full nodes ●SPV nodes ●Wire protocol

Bitcoin Core (bitcoind) ●C++ ●The original Bitcoin software ●Full node ●Stores data on disk ●JSON RPC ●Wallet code will most likely be pulled

btcd ●Go ●btcwire ●btcutil ●btcscript ●btcnet

bitcoinj ●Java ●Wallet features

bitcoinlib-js ●Node.js / Browser ●Really easy to use

APIs ●Unspents by address ●Transactions by address ●Transaction broadcasting ●Network propagation levels ●Push data

Resources ●reddit.com/r/bitcoin ●bitcoin.org/en/developer-guide ●bitcoin.org/en/development ●BIPS: github.com/bitcoin/bips ●Testnet ● 8-touch-id-wallet-demo