CBP Study Guide

March 23, 2017 | Author: natecv8 | Category: N/A
Share Embed Donate


Short Description

Certified Bitcoin Professional Study Guide...

Description

 

Certified  Bitcoin  Professional   Study  Guide   Terry  Woltman  ©  2015   Study  guide  for  the  key  questions  covered  by  the  CryptoCurrency  Certification  Consortium   Certified  Bitcoin  Professional  Examination.    

T e r r y   W o l t m a n   ©   2 0 1 5   v 1 . 0    

 

1  

  Acknowledgments  

  I  very  much  want  to  thank  those  that  helped  review  and  edit  this  guide.     As  well,  I  want  to  thank  the  Bitcoin  community  and  industry  for  the  width  and   breadth  of  information  available  that  allowed  me  to  even  put  this  guide  together  in   the  first  place.     And  finally,  a  thank  you  to  CryptoCurrency  Certification  Consortium  team  for   putting  together  a  program  where  Bitcoin  professionals  can  certify  their  knowledge.       Introduction     When  I  first  took  the  “Certified  Bitcoin  Professional”  examination,  I  was  concerned   that  even  though  I  had  dove  deeply  into  learning  as  much  as  possible  about  Bitcoin,  I   may  have  misunderstood  key  topics  or  have  gaps  in  my  knowledge  that  would  lead   me  to  not  pass  the  test.     Since  the  exam  is  timed,  one  must  have  the  understanding  to  pass  the  test  in  the   allotted  time  and  have  reference  documents  at  hand  to  quickly  review  concepts  you   may  have  missed  or  need  immediate  clarification  on.     What  this  guide  isn’t:  This  guide  is  not  a  beginner’s  intro  to  Bitcoin.  I  have  had  to   assume  the  reader  has  a  base  level  of  knowledge  to  start  from.  You  should  have  had   a  wallet  of  some  type,  been  able  to  find  or  buy  some  bitcoin  and  maybe  even   transfer  some  around.  If  you  are  just  starting  out,  I  would  suggest  doing  some  initial   learning  before  attempting  this  guide  or  the  CBP  examination  here:     • https://en.bitcoin.it/wiki/Introduction     • https://en.bitcoin.it/wiki/Getting_started     • https://en.bitcoin.it/wiki/FAQ     This  guide  is  also  not  a  definitive  guide  to  Bitcoin.  It  has  been  written  to  cover  most   of  the  topics  you  can  expect  in  the  CryptoCurrency  Certification  Consortium’s   Certified  Bitcoin  Professional  examination.  I  have  tried  to  include  links  to  more  in-­‐ depth  information  where  appropriate  so  that  you  can  learn  more,  though  it  should   not  be  required  for  the  test.

 

2  

Contents  

    History  of  Money  and  Ledger-­‐based  Economics  ..........................................................................  5   Centralized  Ledgers  .............................................................................................................................  5   Functions  of  currency  .........................................................................................................................  5   Distributed  Consensus  .......................................................................................................................  6   History  of  Bitcoin  ..................................................................................................................................  6   Price  Derivation  ....................................................................................................................................  7   Basic  Cryptography  ..................................................................................................................................  8   Some  Cryptography  Terminology  Basics  ...................................................................................  8   Hash  Functions  ......................................................................................................................................  8   Symmetric  and  Asymmetric  Encryption  ....................................................................................  9   Digital  Signatures  .................................................................................................................................  9   Bitcoin  Basics  ............................................................................................................................................  10   Bitcoin  Community  ............................................................................................................................  10   Bitcoin  Addresses  and  Keys  ...........................................................................................................  10   Bitcoin  Transactions  .........................................................................................................................  11   Bitcoin  Blockchain  Ledger  ..............................................................................................................  12   bitcoin  the  Unit  ....................................................................................................................................  13   Bitcoin  the  Network  ..........................................................................................................................  14   Bitcoin  Improvement  Proposal    (BIP)  .......................................................................................  14   Buying  and  Selling  bitcoin  ..............................................................................................................  14   Blockchain  Explorers  ........................................................................................................................  15   Mining  ...........................................................................................................................................................  16   Purpose  and  Function  .......................................................................................................................  16   Bitcoin  Nodes  .......................................................................................................................................  16   Proof  of  Work  Algorithm  .................................................................................................................  17   The  Difficulty  Metric  ..........................................................................................................................  18   Mining  Hardware  ................................................................................................................................  19   Mining  Pools  .........................................................................................................................................  19   Wallets,  Clients  and  Key  Management  ...........................................................................................  20   Wallet  Types    (Bitcoin  Clients)  .....................................................................................................  20   Hierarchical  Deterministic  Wallets  (BIP0032)  ......................................................................  21   Passphrase-­‐protected  private  key  (BIP0038)  .......................................................................  21   Back-­‐up  ...................................................................................................................................................  21   Using  Bitcoin  as  a  Merchant  ...........................................................................................................  22   Bitcoin  Payment  Processors  ..........................................................................................................  22   Payment  Protocol  (BIP0070)  ........................................................................................................  22   About  the  Author  .....................................................................................................................................  23   Glossary  .......................................................................................................................................................  24   Additional  Resources  .............................................................................................................................  24  

 

3  

    About  the  Certified  Bitcoin  Professional   “A  Certified  Bitcoin  Professional  is  knowledgeable  about  the  Bitcoin  blockchain,   Bitcoin  transactions,  and  how  the  Bitcoin  network  operates.  CBPs  are  able  to   apply  Bitcoin  technology  to  their  professional  area  of  expertise  and  understand   privacy  aspects,  double-­‐spending,  and  other  issues  that  relate  to  the  currency.  “     -­‐  CryptoCurrency  Certification  Consortium   The  Certified  Bitcoin  Professional  examination  comprises  75  questions  and  is  to  be   completed  in  less  than  the  timed  20  minutes.  Questions  are  in  a  true/false  or   multiple  choice  format  covering  topics  such  as  the  History  of  Money,  Ledgers  and   Bitcoin;  Basic  Cryptology;  Client  and  Key  Management  and  Security;  Key  Bitcoin   Improvement  Proposals  (BIPs);  Mining,  Distributed  Consensus,  the  Bitcoin   Blockchain  and  more.   To  apply  for,  and  take  the  exam,  please  visit  the  CryptoCurrency  Certification   Consortium  examination  website  at:   https://cryptoconsortium.org/certifications/CBP           Disclaimers     Neither  the  author,  nor  anyone  that  assisted  with  the  creation,  editing  or  revision  of   this  guide  has  any  affiliation  with  the  CryptoCurrency  Certification  Consortium  or   the  Certified  Bitcoin  Professional.       As  well,  this  guide  does  not  guarantee  you  will  pass  the  Certified  Bitcoin   Professional  examination,  but  should  help  you  better  prepare  and  have  access  to  a   reference  should  you  need  a  quick  refresher  on  a  topic  covered  by  the  examination.   We  cannot  guarantee  that  every  question  asked  in  the  examination  will  have  been   covered  by  this  material  as  CryptoCurrency  Certification  Consortium  may  update   their  examination  without  prior  notification.  We  have  not  been  permitted  special   access  to  the  questions  or  topics  that  the  exam  covers,  using  only  publically   available  information  on  topics  that  will  covered.    

 

4  

History  of  Money  and  Ledger-­‐based  Economics   “Proof-­‐of-­‐work  has  the  nice  property  that  it  can  be  relayed  through  untrusted   middlemen.  We  don’t  have  to  worry  about  a  chain  of  custody  of   communication.  It  doesn’t  matter  who  tells  you  a  longest  chain,  the  proof-­‐of-­‐ work  speaks  for  itself.”    –  Satoshi  Nakamoto,  Aug  7,  2010  

Centralized  Ledgers  

  A  centralized  ledger  is  an  account  book  or  database  for  recording  historical   transactions  between  parties.  It  can  take  the  form  of  accounting  books  or  an  order   book,  like  you  would  find  on  an  exchange.  It  tracks  the  ownership  of  an  asset   through  time  as  controlled  by  an  entity  that  can  make  arbitrary  updates  and   changes  to  the  system.  Examples  of  centralized  ledgers  would  be  products  by  Oracle   or  SAP  for  the  management  of  customer  deposit  accounts  held  by  a  bank  or  a   general  accounting  ledger  utilized  within  a  corporation  to  track  revenue  and   expenditures.  

Functions  of  currency     Money  is  probably  as  old  as  human  culture,  providing  an  accounting  of  value   transfer  between  persons.  Since  it  is  almost  impossible  to  trade  a  cow  for  a  chicken   due  to  disparate  values  of  each  (and  need  for  each),  humanity  has  long  had  a  need   for  an  arbitrary  method  to  account  for  who  owes  what  to  whom.  From  this  we  see   the  emergence  of  currencies  that  allowed  people  to  freely  trade  between  each  other   via  a  vehicle  that  can  provide  for  an  equalized  value.  Money  abstracts  the  value  from   the  goods  or  services  to  better  facilitate  trade.     Many  items  have  been  used  as  currency  throughout  history  from  shells  to  beads  to   coins.  It  is  believed  that  paper  currency  was  first  used  in  China,  evolving  from   previously  used  promissory  notes  that  were  traded  between  people,  a  theory  that   continues  today  as  all  fiat  is  an  IOU  to  all  others  who  use  the  system  to  accept  the   value  of  the  currency  with  an  agreed  on  equal  value  of  goods  or  services.     Money  generally  requires  several  key  properties  to  function  as  a  usable  currency:     1. Medium  of  exchange.   2. Unit  of  account.   3. Store  of  value.   4. Method  of  settling  debt.    

 

5  

Distributed  Consensus   Distributed  Consensus  in  Bitcoin  removes  the  need  for  trust  from  centralized   ledgers  (such  as  banks  and  governments),  instead  allowing  the  currency  to  function   as  a  wholly  independent  entity,  but  this  is  not  without  issues.  Take  for  example  the   process  of  securing  transactions  on  the  blockchain.  To  achieve  security  and   reliability,  even  though  there  are  those  that  would  wish  to  harm  or  defraud  the   network,  the  blockchain  requires  nodes  to  agree  on  some  data  value  during   computation.     Bitcoin  solves  this  problem  via  the  “Proof  of  Work”  algorithms  that  build  the   blockchain.  By  utilizing  the  work  of  hashing  transactions  into  a  blockchain,  everyone   on  the  network  can  validate  the  consensus  of  the  blockchain  by  simply  following  the   longest  chain,  and  hence,  the  chain  with  the  most  work  invested.   Learn  more:  https://socrates1024.s3.amazonaws.com/consensus.pdf  

History  of  Bitcoin   The  idea  of  a  digital  based  currency  system  has  been  around  for  quite  some  time.   Some  precursors  to  Bitcoin  are  issuer  based  ecash  systems  and  distributed  digital   protocols,  such  as  hashcash,  bit-­‐gold  and  others.   Satoshi  Nakamoto,  building  on  the  work  and  ideas  of  those  systems  that  came   before,  first  released  Bitcoin  to  the  world  in  November  2008  via  a  whitepaper   entitled  “Bitcoin:  A  Peer-­‐to-­‐Peer  Electronic  Cash  System”.  The  paper  outlines  the   methods  of  using  a  peer-­‐to-­‐peer  network  to  generate  what  is  described  as  "…a   system  for  electronic  transactions  without  relying  on  trust."  In  January  2009  the   Bitcoin  network  was  launched  with  the  release  of  the  first  Bitcoin  reference  client   and  the  issuance  of  the  first  bitcoin  via  the  Genesis  Block.   Satoshi  Nakamoto  is  an  obvious  pseudonym  for  a  person,  or  group  of  persons,  that   initially  designed  and  developed  the  ideas  and  first  implementations  of  the  Bitcoin   protocol  and  Bitcoin-­‐Qt  client.  Their  true  identity  remains  a  mystery  today,  though   some  people  have  put  forth  possible  candidates  such  as  Nick  Szabo,  Hal  Finney  or   even  Dorian  Nakamoto,  a  man  who’s  life  was  rudely  interrupted  by  a  tragically   mistaken  (and  surprisingly  adamant)  Newsweek  reporter  named  Leah  McGrath   Goodman.  These  people  have  all  denied  that  they  are  Satoshi.   Download  Bitcoin  the  whitepaper:  https://bitcoin.org/bitcoin.pdf      

 

6  

Price  Derivation   Bitcoin’s  exchange  rate  is  like  any  other  currency  in  that  it  fluctuates  in  value   relative  to  all  other  currencies.  Bitcoin  has  had  drastic  price  volatility  in  the  past,   though  it  seems  to  have  somewhat  stabilized  recently.     Since  there  is  no  single  centralized  market,  and  bitcoin  exchanges  never  close,  its   value  is  constantly  changing.  Every  time  a  trade  occurs  on  a  public  exchange,  the   buyer  and  seller  agree  to  a  price  and  it  is  recorded  for  all  to  see  as  the  latest  price.   Some  services  then  use  this  public  price  as  spot  rate.  It  is  possible  to  trade  bitcoin   privately  without  public  notification.   Bitcoin  is  a  truly  floating  currency  in  that  there  is  no  centralized  system  for  pegging   the  price  or  government  controlled  centralized  banks  that  can  print  or  loan  more  to   manipulate  the  money  supply.  The  issuance  of  total  units  is  restricted  by  the   protocol  to  no  more  than  21  million  bitcoin  ever  being  produced.   Bitcoin  is  valued  through  market  supply  and  demand.  

 

 

7  

Basic  Cryptography   Some  Cryptography  Terminology  Basics   Bitcoin  uses  various  cryptographic  methods  to  accomplish  its  needs,  thus  you  will   need  a  basic  understanding  of  a  handful  of  terms,  methods  and  key  functions.   Encryption  is  the  process  of  encoding  plaintext  messages  into  ciphertext.  The   process  of  turning  ciphertext  back  into  plaintext  is  called  decryption.     Cryptography  deals  with  the  creation  of  encryption  methods.     Cryptoanalysis  deals  with  decrypting  ciphertext  without  knowing  the  encryption  key   (the  private  secret),  in  other  words:  trying  to  crack  encryption.     Cryptology  is  a  branch  of  mathematics  that  covers  both  cryptography  and   cryptoanalysis.     Cryptographic  algorithm,  or  cipher,  is  a  mathematical  function  that  takes  plaintext   and  the  private  encryption  key  to  produce  ciphertext  as  the  output  (and  vice  versa).    

Hash  Functions   A  cryptographic  hash  function  must  be  considered  “practically  impossible“  to   reverse,  such  as  to  extract  the  input  data  from  its  hash  value  alone.  A  hash  function   takes  in  data  and  outputs  digital  data  of  fixed  size.  This  will  create  a  small  checksum   that  can  prove  that  the  source  material  has  not  changed  during  transmission  or  over   time,  as  even  a  minor  change  to  the  input  data  will  change  the  resulting  hash   drastically.   Hash  functions  have  four  main  properties:   1. 2. 3. 4.

Computationally  easy  to  generate  the  hash  value  for  any  given  message.   Impractical  to  reversely  generate  the  message  from  its  hash.   Impossible  to  change  the  input  data  without  also  changing  the  hash.   Massively  improbable  to  have  different  messages  with  the  same  hash.  

Cryptographic  hash  functions  have  many  applications,  especially  in  digital   signatures  and  thus  are  widely  used  in  Bitcoin.    

 

8  

Symmetric  and  Asymmetric  Encryption   Symmetric  algorithms  use  the  same  key  to  perform  both  encryption  and  decryption   of  messages.  The  key  acts  as  a  secret  to  maintain  private  information.  If  more  than  a   single  person  must  access  the  encrypted  data  then  the  key  must  be  shared,  and   hence  is  a  major  disadvantage.   Asymmetric  algorithms,  otherwise  known  as  Public-­‐key  cryptography,  utilizes  two   separate  keys,  one  of  which  is  secret  (or  private)  and  one  of  which  is  public.   Although  different,  the  two  parts  of  this  key  pair  are  algorithmically  linked.  The   public  key  is  used  to  verify  a  digital  signature;  whereas  the  private  key  is  used  to   create  a  digital  signature.  Asymmetric  algorithms  are  used  heavily  in  hash  functions,   and  thus  in  Bitcoin.   Learn  more:  https://en.wikipedia.org/wiki/Public-­‐key_cryptography  

Digital  Signatures     A  digital  signature  is  a  method  for  proving  the  authenticity  of  a  digital  message  or   document,  such  as  an  output  transaction  in  Bitcoin.  A  valid  digital  signature  proves   that  the  message  was  created  by  the  holder  of  a  specific  private  key,  and  that  the   information  was  not  altered  in  transmission.  Digital  signatures  are  used  for   software  download  verification,  financial  transactions  (such  as  Bitcoin  transactions)   and  where  ever  it  is  important  to  detect  tampering  of  data.              

 

9  

Bitcoin  Basics   Bitcoin  Community   Bitcoin  can  be  most  easily  accessed  on  smartphones  and  laptops,  so  Bitcoin  users   usually  use  the  Internet  to  transact  with  the  Bitcoin  network  and  each  other,   although  other  methods  can  and  have  been  used.  Bitcoin  clients  work  similar  to   traditional  currency  eWallets  in  that  they  can  be  used  to  buy  and  sell  goods  and   services  or  send  money  to  friends  and  family,  with  some  services  even  using  the   network  to  send  encrypted  messages  to  each  other  and  store  hashes  of  important   data  and  documents.   Some  resources  where  you  can  interact  directly  with  other  Bitcoin  users  are:   • • • •

Bitcoin  Forum:  https://bitcointalk.org/   Bitcoin  Foundation  informational  site:  http://bitcoin.org   Bitcoin  News:  http://coindesk.com/   Bitcoin  at  Reddit:  http://reddit.com/r/bitcoin/  

Bitcoin  Addresses  and  Keys   Bitcoin  addresses  are  generated  as  a  hash  of  the  public  key.  The  private  key  is  used   to  make  the  public  key,  which  is  then  hashed  further  to  become  one  of  many   possible  Bitcoin  addresses.  It  is  designed  so  that  the  Bitcoin  address  can  be   calculated  from  the  public  key,  but  importantly,  the  address  cannot  be  reversed  to   the  private  key  (via  asymmetric  algorithms).  Bitcoin  addresses  can  be  created  on   the  fly  and  are  virtually  infinite.   A  Bitcoin  address  looks  like  this:  1LfexEtQx2RcSPU5eH5SqwFFGkiAtxvjnc          (You  can  donate  $5  worth  of  bitcoin  to  the  author’s  beer  fund  here!)     Alternatively  the  address  can  be  displayed  as  a  QR  Code,  which  most  wallets  can   read  either  via  a  phone  or  web  cam:    

 

 

10  

There  are  some  rules  defined  by  the  protocol  on  how  addresses  are  displayed.  Most   Bitcoin  addresses  are  34  characters,  though  it  is  possible  to  have  ones  that  are   shorter  (down  to  26  characters)  and  still  be  valid.  The  address  will  consist  of   random  alphanumeric  characters,  with  the  exception  of  the  uppercase  "O",  number   "0",  uppercase  "I",  and  the  lowercase  "l".  These  are  not  used  to  prevent  confusion,  as   they  can  look  similar  to  each  other  in  certain  fonts.  Designated  parts  of  a  Bitcoin   address  are  used  as  a  checksum  so  that  any  errors  can  be  found  and  rejected  by  the   client  before  bitcoin  are  lost.     Bitcoin  addresses  can  be  created  that  require  a  more  than  1  private  key.  These   “multisig”  addresses  can  be  seen  in  Bitcoin  addresses  that  start  with  a  “3”  instead  of   the  standard  “1”.  Multisig  addresses  can  be  crafted  with  a  required  2-­‐of-­‐3  signing   keys  to  be  valid,  meaning  2/3rd  of  the  keys  used  to  create  the  address  must  sign  any   transactions  for  it  to  be  valid.  Some  clients  allow  the  creation  of  a  wide  range  of   multisig  keys,  from  1-­‐of-­‐2  to  7-­‐of-­‐13  and  anything  in  between.     Learn  more:  https://en.bitcoin.it/wiki/Address  

Bitcoin  Transactions     A  Bitcoin  transaction  is  made  up  of  one  or  more  inputs,  which  are  one  or  more   previous  outputs  to  an  address  and  include  a  proof  of  ownership,  which  are  one  or   more  inputs,  which  are  one  or  more  outputs  back  through  the  blockchain  to  the   beginning  of  the  network.     An  input  is  the  technical  way  of  saying  bitcoin  that  you  have  received  and  is   currently  available  to  be  spent  from  your  wallet.  These  inputs  could  have  been   received  by  various  Bitcoin  addresses  tied  to  a  private  key,  so  in  order  to  spend   them  the  client  will  need  to  select  which  inputs  to  combine  together  to  cover  the   amount  being  requested  to  send.   Similarly,  the  outputs  are  where  the  bitcoin  will  be  sent.  Usually  there  will  be  at   least  2  outputs  created,  though  it  is  possible  to  create  a  transaction  that  has  many   recipients.  This  allows  you  to  package  multiple  payments  together  into  a  single   transaction.  Of  these  two  outputs,  one  will  be  the  address  you  intend  to  send  bitcoin   to  and  the  other  a  change  address.   A  change  address  is  required,  as  all  associated  inputs  must  be  spent  during  the   transaction.  For  example,  if  you  had  a  bill  for  $5  but  only  had  a  single  $10  note,  you   will  receive  change  back  in  the  form  of  $5.  In  Bitcoin,  if  you  have  an  input  of  1   bitcoin,  but  only  wish  to  spend  0.5  bitcoin,  there  must  be  an  address  under  your   control  for  the  network  to  return  the  remaining  0.5  bitcoin  change  to  you.  Your   wallet  will  generally  handle  this  automatically,  so  don’t  be  surprised  if  you  see  that   your  bitcoin  has  all  been  spent!  Your  wallet  will  show  the  returned  balance  as  the   transaction  is  confirmed  by  the  network.  

 

11  

As  well,  you  will  likely  want  to  include  a  transaction  fee  (mining  fee)  on  any   transaction  you  transmit  to  the  network.  Since  May  2013  the  default  fee  to  send  a   Bitcoin  transaction  is  0.0001  bitcoin,  though  there  are  cases  where  a  transaction   may  qualify  to  be  included  in  the  blockchain  with  no  fee,  or  may  require  a  higher  fee   if  the  output  is  over  a  certain  size  (in  kilobytes,  not  value).  This  fee  has  changed  in   the  past  as  the  exchange  rate  of  bitcoin  has  become  stronger  and  will  likely  change   further  in  the  future.   Learn  more:  https://en.bitcoin.it/wiki/Transaction_fees   Since  Bitcoin  transactions  are  not  encrypted  by  design,  they  must  be  signed  by  the   associated  private  key  that  was  used  to  generate  the  public  key,  proving  ownership   of  the  bitcoin  on  the  blockchain  in  a  way  that  can  be  verified  by  anyone  on  the   network.  In  other  words,  spending  comprises  signing  a  transaction  that  transfers   the  bitcoin  from  previous  transaction(s)  to  a  new  a  bitcoin  address(s).    

Signing  a  Bitcoin  transaction.  

  Learn  more:  https://en.bitcoin.it/wiki/Transaction  

Bitcoin  Blockchain  Ledger     Once  your  transaction  has  been  crafted  by  your  client  it  will  need  to  be  broadcast  to   the  network  so  that  the  value  transfer  can  be  validated  and  included  in  a  block  on   the  global  distributed  Bitcoin  ledger,  the  blockchain.  As  discussed  previously,   transactions  are  sent  unencrypted  so  all  transactions  are  visible  in  the  blockchain.   This  is  a  necessity  so  that  anyone  and  everyone  can  confirm  the  chain  of  ownership   of  the  bitcoin.     The  blockchain  is  a  chain  of  a  hash  of  a  hash  of  a  hash  and  so  on,  and  thus   unchangeable  without  also  changing  the  hash.  The  creation  of  the  blockchain  is   completed  by  miners  and  transmitted  via  full  nodes  to  achieve  consensus.  

 

12  

The  blockchain  allows  the  participants  to  publically  determine  when  a  bitcoin   amount  has  been  validly  spent  in  order  to  prevent  double-­‐spending  in  a  network   without  central  oversight.  We  will  discuss  the  process  of  creating  the  blockchain   further  in  subsequent  sections.  

bitcoin  the  Unit     bitcoin  (with  a  lowercase  “b”)  is  used  to  denote  Bitcoin  as  unit  of  currency.  It  is  often   abbreviated  to  “BTC”  or  ”XBT“.  According  to  the  protocol,  no  more  than  21  million   BTC  will  ever  be  mined.  To  deal  with  the  hard  upper  limit  of  how  many  bitcoin  will   ever  be  minted,  each  BTC  is  divisible  to  8  decimal  places  (0.00000001),  allowing  for   growth  of  the  utility  of  the  currency.  It  is  common  to  see  the  price  of  something  in   the  format  of:  0.001  BTC.   Here  is  a  break  down,  with  common  nomenclature,  of  different  bitcoin  values:   Name   Bitcoin   deciBitcoin   centiBitcoin   milliBitcoin   microBitcoin   Finney   Satoshi  

Abbreviation   BTC  /  XBT   dBTC   cBTC   mBTC   μBTC  /  bit   -­‐   -­‐  

Value   1   0.1   0.01   0.001   0.000001   0.0000001   0.00000001  

Generally  only  BTC,  bit  and  Satoshi  are  referenced  in  everyday  usage.  XBT  is  popular   on  exchanges  as  it  follows  the  standard  naming  standards  of  non-­‐government   backed  assets;  Gold  for  example  is  XAU  and  silver  is  XAG.  Bit  has  become  somewhat   popular  recently  as  it  is  100  Satoshi  and  easily  represented  in  the  standard  1.00   format  (2  decimal  places  only),  like  dollars  and  cents.  For  example,  one  bit  can  be   written  as  1.00,  but  has  an  actual  value  of  0.000001  BTC.   A  short  note  about  the  bitcoin  symbol:  Generally,  Bitcoin  is  symbolized  as  B⃦ (a B with 2 vertical lines through it), but there have been complaints within the community that it is too similar to the Thai Baht symbol ฿  and  does not render well in many fonts and screens. There  has  been  a  vocal  group  within  the  community  that  is  working  to  use  the  Ƀ symbol as the official symbol, which has been picked up by several prominent services in the ecosystem.

 

13  

Bitcoin  the  Network     Bitcoin  (with  a  capital  “B”)  is  used  to  denote  the  Bitcoin  network  and  protocol.  The   Bitcoin  network  is  based  on  decentralized  trust  rather  than  government  issued   currencies  with  central  trusted  authority.  In  Bitcoin,  trust  is  achieved  as  an   emergent  property  from  the  interactions  of  different  participants  in  the   Bitcoin  system,  such  as  nodes,  miners  and  clients.  

Bitcoin  Improvement  Proposal    (BIP)   A  Bitcoin  Improvement  Proposal  (abbreviated  as:  “BIP”)  is  a  design  document  for   introducing  features  or  information  to  the  Bitcoin  core  protocol.  This  is  the  standard   way  of  communicating  ideas  since  Bitcoin  has  no  formal  structure,  being  an  open   source  project.  

Bitcoin  Improvement  Proposal  process  

  Learn  more:  https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals  

Buying  and  Selling  bitcoin   As  we  covered  previously  in  the  “Price  Derivation”  section  at  the  beginning  of  the   guide,  there  is  no  centralized  control  of  bitcoin  and  thus  is  freely  exchangeable  for   fiat  currencies,  or  even  other  Cryptocurrencies.  It  is  not  so  much  as  buying  and   selling  bitcoin,  but  rather  exchanging  bitcoin  for  other  types  of  currency.   Where  and  how  you  can  exchange  bitcoin  is  highly  dependent  on  where  you  live  in   the  world.  In  some  places,  like  Mexico  and  the  Philippines,  bitcoin  is  unregulated   and  treated  as  a  “digital  asset”,  much  like  an  MP3  or  eBook,  whereas  the  US  is   working  to  regulate  bitcoin  as  a  type  of  currency,  requiring  governmental  licensing   of  bitcoin  exchanges  with  full  AML/KYC  (Anti-­‐Money  Laundering  /  Know  Your   Customer)  processes  similar  to  banks.    

14  

Wherever  you  happen  to  be,  there  are  many  resources  for  finding  a  local  exchange,   and  failing  that,  there  are  resources  like  Localbitcoins  for  setting  up  person-­‐to-­‐ person  trades.    

For  information  on  where  to  buy:  http://howtobuybitcoins.info  

Blockchain  Explorers     A  blockchain  browser  (also  called  "blockchain  explorer")  is  an  application  or  site   that  lets  you  search  and  navigate  every  transaction  within  a  blockchain,  generally  all   the  way  back  to  the  “genesis  block”,  or  the  first  block  of  a  blockchain  that  initialized   the  network.     These  sites  are  useful  for  viewing  transactions  and  verifying  amounts  held  by   addresses;  tracking  histories  of  inputs  and  outputs;  monitoring  for  transaction   inclusion  in  a  block  and  checking  the  hash  rate  and  other  statistics  of  the  network.  

 

15  

Mining   Purpose  and  Function     Mining  is  the  breakthrough  that  makes  Bitcoin  possible.  It  is  the  process  of  adding   blocks  (transaction  records)  to  Bitcoin's  public  distributed  ledger  of  historical   transactions  (blockchain)  so  that  nodes  can  reach  a  distributed  consensus  about  the   state  of  the  network.  In  addition  to  generating  the  validated  chain  of  blocks,  mining   is  also  the  method  in  which  new  bitcoin  are  released  to  the  market  via  the  block   reward.  The  reward  is  the  incentive  that  attracts  miners  to  secure  the  network.   When  a  block  is  solved,  the  miner  may  assign  themselves  all  associated  fees  and  also   award  themselves  a  specific  number  of  bitcoin  which  is  agreed  upon  by  everyone  in   the  network  as  determined  in  the  protocol  (this  is  called  a  coinbase  transaction).   Currently  the  block  reward  is  25  bitcoin,  but  halves  every  210,000  blocks  (~4  years),   with  the  next  halving  to  occur  sometime  in  mid  2016.   As  the  number  of  awarded  bitcoin  the  miners  are  set  to  create  in  each  block   decreases,  the  transaction  fees  should  theoretically  make  up  a  larger  and  larger   portion  of  mining  income,  with  the  reward  becoming  less  and  less  until  such  a  date   that  the  miners  are  incentivized  almost  entirely  from  fees  rather  than  block  awards.   Mining  is  completed  via  a  method  called  Proof  Of  Work,  which  is  an  economic   disincentive  meant  to  increase  the  costs  of  denial  of  service  attacks  and  other   service  abuses  by  requiring  some  work,  usually  processing  by  a  computer,  from  all   participants,  good  or  bad.  A  key  feature  of  proof  of  work  is  its  asymmetry,  meaning   the  work  must  be  a  difficult  computational  problem  that  costs  real  resources  to   complete  (in  this  case,  equipment  and  electricity),  but  trivial  for  the  nodes  and  other   participants  on  the  network  to  verify.  

Bitcoin  Nodes   In  addition  to  mining,  full  nodes  are  an  important  part  of  the  network.  Nodes  are  not   incentivized  like  miners.  Anyone  that  operates  the  Bitcoin  reference  client  is  acting   as  a  node.  Nodes  do  things  like  validate  transaction  syntax,  relay  transactions  and   new  blocks  to  the  network,  watch  for  double-­‐spend  transactions  and  maintain   copies  of  the  blockchain  for  transmission  to  new  clients  or  nodes  that  request  it.  The   blockchain  is  distributed  globally  by  full  nodes  using  a  peer-­‐to-­‐peer  file  sharing   technology  similar  to  the  BitTorrent  protocol.   Setting  up  a  full  node  can  be  a  fun  and  rewarding  way  to  inexpensively  help  secure   and  participate  in  the  bitcoin  network.    

 

16  

Proof  of  Work  Algorithm     “Proof-­‐of-­‐work  has  the  nice  property  that  it  can  be  relayed  through  untrusted   middlemen.  We  don’t  have  to  worry  about  a  chain  of  custody  of  communication.   It  doesn’t  matter  who  tells  you  a  longest  chain,  the  proof-­‐of-­‐work  speaks  for   itself.”  –  Satoshi  Nakamoto   Mining  a  block  is  a  Computationally  Difficult  Problem  because  in  order  for  the  block   to  be  accepted  by  the  network  as  “solved”,  the  SHA-­‐256  hash  of  a  block's  header   must  be  lower  than  or  equal  to  the  target.  In  other  words:  The  hash  of  a  block  must   start  with  a  certain  number  of  zeros.     For  example,  here  is  the  solution  to  Block  #304446:   00000000000000002388679fe503d715603b39ae7f965cdaec66dbe1de7071d4   The  probability  of  calculating  a  hash  that  starts  with  many  zeros  is  very  low,   therefore  many  attempts  must  be  made.  In  order  to  generate  a  new  hash  each   round,  a  nonce  (an  arbitrary  number  used  only  once  in  a  cryptographic   communication)  is  incremented.  The  nonce  is  what  allows  many  miners  to  attempt   to  create  a  hash  via  a  group  of  the  same  transactions  and  output  many  different   values.  If  all  miners  used  the  same  nonce  and  the  same  transactions,  then  they   would  always  output  the  same  values.     A  solved  block  will  include  the  hash  of  the  previous  block  in  the  chain,  any   transactions  the  miner  has  accepted  and  the  nonce.  The  inclusion  of  the  previous   block’s  hash  ensures  that  the  chain  was  built  up  from  each  block  before  it  back  until   the  genesis  block.   It  is  possible  for  more  than  one  miner  to  find  a  block  at  the   same  time  (or  sufficiently  near  enough),  which  can  cause  the   network  to  divide  as  different  nodes  relay  the  block  from   different  sources  and  miners  begin  working  on  different   chains.  Majority  consensus  in  bitcoin  is  represented  by  the   longest  chain  of  blocks,  which  required  the  greatest  amount   of  effort  to  produce  it,  hence  the  Proof  of  Work.  As  miners   work  on  solving  the  blocks,  one  chain  will  grow  fastest  and   outpace  any  competing  chains.  Any  blocks  that  were  solved   but  not  included  in  the  main  chain  of  blocks  are  called   orphaned  blocks.  At  some  point  miners  will  abandon  these   orphaned  blocks  and  start  working  on  the  main  branch  once   again  as  the  network  equalizes.   This  means  that  in  order  to  modify  a  past  block,  an  attacker   would  have  to  redo  the  proof  of  work  of  that  block  and  all   blocks  after  it  until  they  surpass  the  work  of  the  honest  

 

17  

miners.  The  probability  of  a  slower  attacker  catching  up  diminishes  exponentially  as   subsequent  blocks  are  added  to  the  blockchain.   The  proof  of  work  method  is  used  to  make  it  economically  infeasible  to  attempt  to   double-­‐spend  bitcoin  on  the  network  via  raw  hashing  power.  A  double-­‐spend  is   when  bitcoin  is  included  in  2  different  transactions  to  attempt  to  defraud  the   receivers  and  the  network.  Since  a  bitcoin  can  only  be  spent  once,  an  attacker  with   more  than  51%  of  the  computing  power  of  the  network  could  send  an  amount  of   bitcoin  and  then  attempt  to  build  a  second  unpublished  chain,  only  to  announce  it   when  the  first  transaction  was  already  accepted.  This  second  blockchain  would  then   become  the  longest  chain  and  orphan  all  other  blocks.     The  likelihood  of  a  successful  “51%  attack”  via  this  method  would  be   astronomically  expensive  and  is  thus  extremely  unlikely  as  the  amount  of  hashing   power  required  to  successfully  compute  the  secret  blocks  more  quickly  than  all   others  would  require  more  hashing  power  than  all  other  miners  combined.   Learn  more:   https://chrispacia.wordpress.com/2013/09/02/bitcoin-­‐mining-­‐explained-­‐ like-­‐youre-­‐five-­‐part-­‐1-­‐incentives/   http://en.wikipedia.org/wiki/Bitcoin_network#Bitcoin_mining   https://en.bitcoin.it/wiki/Double-­‐spending   https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_po wer  

The  Difficulty  Metric   Difficulty  is  the  measure  of  how  hard  it  is  to  solve  a  new  block.  Difficulty  is   recalculated  every  2016  blocks  to  ensure  that  blocks  are,  on  average,  found  once   every  ten  minutes.  As  more  hashing  power  joins  the  network  the  rate  of  block   creation  goes  up.  As  the  rate  of  block  generation  goes  up,  the  difficulty  will  retarget   to  compensate  which  will  cause  the  difficulty  to  readjust  (the  required  leading   number  of  zeros)  to  bring  the  rate  of  block  creation  back  to  the  target  block  creation   times.  If  the  hashing  rate  decreases,  the  protocol  can  adjust  to  make  the  target  easier   as  well.  Any  blocks  released  by  a  miner  that  do  not  meet  the  minimum  required   difficulty  target  will  simply  be  rejected  by  the  network.   Learn  more:  https://en.bitcoin.it/wiki/Difficulty   View:  https://bitcoinwisdom.com/bitcoin/difficulty  

 

18  

Mining  Hardware     Since  the  launch  of  Bitcoin,  many  different  computing  platforms  have  been  used  to   mine  bitcoin.     CPU  Mining:  The  early  Bitcoin-­‐Qt  client  allowed  users  to  use  their  CPU  to  mine.     With  the  usage  of  faster  technologies  to  mine  bitcoin,  the  option  was  therefore   removed  from  the  core  Bitcoin  client's  user  interface.   GPU  Mining:  Graphics  Processing  Unit  mining  uses  the  math  processors  on  modern   graphics  cards  to  perform  hashing  and  is  drastically  faster  and  more  efficient  than   CPU  mining.  GPU  mining  is  no  longer  profitable  as  ASIC  mining  has  become  far  more   efficient.  Many  of  the  GPU  mining  rigs  were  converted  to  mine  for  other   cryptocurrencies,  such  as  Litecoin  and  Dogecoin.   FPGA  Mining:  Field-­‐Programmable  Gate  Array  mining  is  an  efficient  and  fast  way  to   mine,  comparable  to  GPU  mining  and  drastically  outperforming  CPU  mining.  Like   with  GPU  mining  though,  these  units  are  no  longer  profitable  to  mine  Bitcoin.   ASIC  Mining:  An  Application-­‐Specific  Integrated  Circuit  is  a  microchip  designed  and   manufactured  for  a  singular  purpose.  ASICs  consume  much  less  electricity  per  GHS   than  any  of  the  other  previous  technologies  used  to  mine  bitcoin.  ASICs  designed  for   use  in  mining  Bitcoin,  being  application  specific,  can  only  be  used  for  bitcoin  or  other   SHA256  based  Cryptocurrencies.   Mining  Services  (Cloud  mining):  Cloud  mining  providers  sell  mining  contracts  that   specify  the  mining  services  and  performance  of  their  service,  generally  backed  by   ASICs  that  the  cloud  mining  provider  owns  or  rents  themselves.  Often  these   contracts  are  sold  on  a  GHS  (gigahash  per  second)  basis  for  a  set  period  of  time.  For   example:  10GHS  for  1  month.  

Mining  Pools     Due  to  the  high  competition  within  mining  and  the  diminishing  and  highly  sporadic   returns  of  being  able  to  mine  alone,  mining  pools  were  created  to  reduce  the   variance  in  finding  a  block,  providing  more  stable  and  predictable  rewards  to   individual  miners.  The  “pool”  provides  all  the  work  (transactions  and  nonces)  to  the   individual  miners  and  when  a  block  is  found  the  reward  is  distributed  on  the  basis   of  how  many  hashes  each  miner  contributed  towards  finding  that  block  as  a   percentage  of  the  total  hashing  power  of  the  pool.  

 

19  

Wallets,  Clients  and  Key  Management  

Since  Bitcoin  is  based  on  a  private/public  key  structure,  Bitcoin  Wallets  can  be   thought  of  as  a  cross  between  cryptographic  key  management  systems  and  eWallets.   The  first  wallet  for  Bitcoin  was  the  Bitcoin-­‐Qt  client  released  by  Satoshi  Nakamoto.   It  included  all  the  functionality  required  to  interact  with  the  network  and  was  used   to  manage  private/public  keys,  bitcoin  addresses  and  also  functioning  as  a  full  node   and  CPU  miner  for  the  network.  This  client,  now  referred  to  as  Bitcoin  Core,  is  still   developed  and  released  regularly,  functioning  as  the  official  “reference  client”  for   the  Bitcoin  protocol.  Bitcoin  Core  is  available  for  download  for  the  Linux,  Mac  and   Windows  operating  systems.     Download:  https://bitcoin.org/en/download  

Wallet  Types    (Bitcoin  Clients)     Since  the  release  of  the  first  Bitcoin  client,  there  have  been  multiple  derivative  and   competing  wallets  released  on  a  diverse  range  of  computing  platforms,  each  with   different  features,  strengths  and  weaknesses.     “Like  cash,  you  don’t  keep  your  entire  net  worth  in  your  pocket,  (you  keep)   walking  around  money  for  incidental  expenses.”  –  Satoshi  Nakamoto     Mobile  Wallets  are  generally  any  wallet  available  primarily  via  a  mobile  device,  but   in  which  the  private  key  is  under  the  control  of  the  user.     Web  Wallets  work  similar  to  all  other  wallets,  but  are  available  as  a  service.  Most   services  maintain  control  of  the  user’s  private  key,  and  thus  are  the  ultimate  holder   of  the  associated  bitcoin,  though  some  use  multisig  technology  to  allow  the  user   more  control  of  the  account  and  keys.     Desktop  Wallets  would  be  any  wallet  that  is  available  via  a  traditional  computer  or   laptop  as  an  application.  There  are  generally  2  types  of  Desktop  Wallets,  a  Full  Client   which  stores  a  complete  copy  of  the  blockchain  (currently  about  39GB)  and  a  SPV   Wallet  (Simplified  Payment  Verification)  which  only  downloads  a  copy  of  the   headers  for  all  blocks,  saving  significant  space.  Most  of  these  clients  allow  for   backing  up  and  encrypting  the  wallet  data  file  (keys)  in  a  variety  of  ways.     Hardware  Wallets  are  devices  that  store  a  part  of  a  user's  wallet  securely  in   mostly-­‐offline  hardware.  In  hardware  wallets  the  key  is  often  stored  in  a  protected   area  of  a  microcontroller  and  cannot  be  transferred  out  of  the  device  in  plaintext,   allowing  for  a  very  secure  method  of  storing  keys.     Paper  Wallets  are  a  document  containing  all  of  the  data  necessary  to  generate  any   number  of  Bitcoin  private  keys,  forming  a  wallet  of  keys.  However,  people  often  use   the  term  to  mean  any  way  of  storing  bitcoin  keys  and  addresses  offline  as  a  physical    

20  

document.  Storing  bitcoin  on  paper  wallets  is  not  particularly  safe  unless  very  strict   security  precautions  are  undertaken  during  their  initial  preparation  and  subsequent   storage.     Learn  more:  https://bitcoin.org/en/choose-­‐your-­‐wallet     No  software  is  perfect  and  from  time  to  time  there  may  be  security  vulnerabilities   found  in  your  Bitcoin  client  as  well.  Be  sure  to  keep  your  client  updated  with  the   latest  bug  fixes,  especially  when  a  new  vulnerability  is  discovered.    

Hierarchical  Deterministic  Wallets  (BIP0032)     Hierarchical  Deterministic  Wallets  (HD)  is  a  wallet  type  described  in  BIP0032  in   which  the  private  key  is  determined  from  a  random  128  bit  value  seed  of  presented   to  the  user  as  a  12  word  mnemonic  using  common  English  words.     Learn  more:  https://en.bitcoin.it/wiki/Deterministic_wallet    

Passphrase-­‐protected  private  key  (BIP0038)   BIP0038  covers  a  method  for  encrypting  a  private  key  via  a  password.  Encrypted   private  key  records  are  intended  for  use  on  back-­‐ups,  paper  wallets  and  other   offline  or  long-­‐term  storage  solutions.     Learn  more:  https://github.com/bitcoin/bips/blob/master/bip-­‐ 0038.mediawiki  

Back-­‐up   Just  like  any  important  information  stored  on  your  computer,  it  is  imperative  to   back-­‐up  your  wallet  files.  You  can  do  this  in  most  wallet  software  by  either  creating   a  digital  or  paper  back-­‐up.  It  is  always  a  good  idea  to  create  your  back-­‐up  via  a   BIP0038  compliant  method  with  a  strong  password.  Ensure  that  you  store  your   back-­‐up  in  a  safe  location,  whether  that  is  on  an  external  hard  drive  or  in  a  safety   deposit  box  (or  both).   Some  clients  (such  as  Bitcoin  Core)  have  known  issues  with  change  addresses  and   back-­‐up  files,  so  make  sure  to  back-­‐up  your  wallet  again  after  every  90-­‐100   transactions  as  needed.  Generally,  HD  wallets  do  not  have  this  issue.   Learn  more:  https://en.bitcoin.it/wiki/Securing_your_wallet   Learn  more:  https://bitcoin.org/en/secure-­‐your-­‐wallet  

 

21  

Bitcoin  In  Commerce     Using  Bitcoin  as  a  Merchant     Bitcoin  puts  the  power  of  financial  transactions  into  the  hands  of  the  merchant,  no   longer  requiring  them  to  rely  on  overpriced  and  unnecessary  bank  solutions,  nor   the  necessity  to  gain  permission  from  traditional  payment  processors.  Accepting   bitcoin  as  a  merchant  can  be  as  simple  as  having  customers  send  payment  directly   to  a  Bitcoin  address  of  your  choice.   Merchant  howto:  https://en.bitcoin.it/wiki/Merchant_Howto  

Bitcoin  Payment  Processors     Over  the  last  several  years  payment  processing,  point-­‐of-­‐sale  solutions  and  e-­‐ commerce  plugins  have  become  available  that  can  generate  invoices,  track  sales,   process  transactions  off  the  blockchain  network  and  even  automatically  convert   bitcoin  to  the  currency  of  your  choice.   List  of  services:  https://en.bitcoin.it/wiki/Merchant_Howto#Services  

Payment  Protocol  (BIP0070)   BIP0070,  Bitcoin  Payment  Protocol,  adds  several  new  features  to  enable  processing   bitcoin  payments  directly  between  a  merchant’s  server  and  a  customer’s  wallet.  It   can  also  add  human  readable  payment  destinations  rather  than  a  standard  bitcoin   address  which  can  be  difficult  to  copy  and  verify;  secure  proof  of  payment  which  can   be  used  if  there  is  a  dispute;  receipts;  memos;  refund  addresses  and  payment   received  messages  so  the  customer  knows  immediately  that  the  merchant  has   received  and  has  processed  (or  is  processing)  their  payment.  

   

 

Learn  more:  https://github.com/bitcoin/bips/blob/master/bip-­‐ 0070.mediawiki  

22  

About  the  Author    

  Terry  Woltman  is  Founder  and  CEO  of  BitcoinATM   sales  and  service  company  BitcoinATM360.  He  has   been  involved  in  Bitcoin  since  October  2013  and  has   worked  on  several  Bitcoin  related  projects,  such  as   Philippines  Bitcoin  portal  ManilaBitcoin.com  and  his   latest  project,  RideTheBubble.com,  a  site  of   consolidated  Bitcoin  news,  information  and   resources.  Previous  to  his  work  in  Bitcoin,  he   worked  on  next  generation  wireless  networks,   building  the  first  national  4G  deployment  in  the   United  States.  

  Terry  received  his  CryptoCurrency  Certification  Consortium  -­‐  Certified  Bitcoin   Professional  (CBP)  certification  in  January  2015:  #0d7893     To  contact  the  author:  http://ridethebubble.com/members/terry/     This  guide,  and  any  future  updates  are  available  at:   http://ridethebubble.com/downloads/     If  you  have  found  this  guide  helpful,  you  can  donate  $5  here:       1LfexEtQx2RcSPU5eH5SqwFFGkiAtxvjnc    

 

 

 

23  

Glossary  

  For  terms,  see:  http://ridethebubble.com/glossary/  

 

Additional  Resources  

  CryptoCurrency  Certification  Consortium  –  Certified  Bitcoin  Professional   https://cryptoconsortium.org/certifications/CBP     Mastering  Bitcoin  by  Andreas  M.  Antonopoulos   http://shop.oreilly.com/product/0636920032281.do   https://github.com/aantonop/bitcoinbook/blob/develop/ch01.asciidoc     Bitcoin  Wiki   https://en.bitcoin.it/wiki/Main_Page     Bitcointalk  forum     https://bitcointalk.org/     Coindesk     http://coindesk.com/     “Bitcoin:  A  Peer-­‐to-­‐Peer  Electronic  Cash  System”,  Satoshi  Nakamoto     https://bitcoin.org/bitcoin.pdf     Bitcoin  Core  (Bitcoin-­‐Qt)  download   https://bitcoin.org/en/download     Find  Bitcoin  meetups   http://bitcoin.meetup.com/     Princeton  University:  BTC-­‐Tech:  Bitcoin  and  Cryptocurrency  Technologies   https://piazza.com/princeton/spring2015/btctech/resources     Bitcoin  Protocol  documentation     https://en.bitcoin.it/wiki/Protocol_documentation        

 

24  

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF