Segfault > IT > Notes > Bitcoin
First published on: 16.Apr.2013

Some personal notes about Bitcoin


Informations are provided with no guarantee of validity, correctness, etc... whatsoever and are to be used only at your own risk.

Units

  • 1 BTC = 1 Bitcoin
  • 1 mBTC = 0.001 Bitcoin
  • 1 uBTC = 0.000'01 Bitcoin
  • 1 satoshi = 0.000'000'01 Bitcoin

General informations

  • Facts about BTCs
  • Myths about BTCs
  • Weaknesses of BTCs
  • Be extremely careful when dealing with BTCs.
    As of today their real value/purchasing power varies greatly and the Internet is full of many of sites/SW/etc... of dubious quality.
    Ideally don't trade nor keep too much value in BTCs (until at least a bigger and more general community uses them).
  • The anonymity provided by BTCs raises ethical questions ("bad" guys will profit from this anonymity).
    Up to you to decide if the anonymity provides more pros or cons for you and the society in general.
    Your answer should be applicable to all similar mechanisms (e.g. "Tor", which allows a theoretically anonymous communication / data transfer).
  • If you're mining, "Namecoins" (NMCs) are a byproduct of your mining activity, giving you additional income involving no additional (computational) effort on your side (the computed results that you generate are not only used for BTCs but as well for NMCs).
    Clarify with the candidate pools that you might end up joining if they support the distribution of NMCs as part of your rewards (some might e.g. not charge any feeds for the generation of BTCs but might keep all generated NMCs for themselves).
  • Don't even start thinking about generating BTCs using a normal PC as its CPU is not specialized enough and is therefore extremely slow compared to all the rest and your costs for electricity will be for sure much higher than your revenue unless the exchange rates to other "normal" currencies don't have an incredible increase (x100? x1000?). You'll need at least a very fast graphics card or some other specialized hardware (FPGA, ASIC, ...).

 

How to mine Bitcoins

  • You can mine "solo" or as part of a "pool" (many users work together. BTCs generated by the pool/users are split evenly between the ones that contributed to the generation). As of April 2013 forget about mining "solo" if you don't own a computer farm.
  • See here for an explanation of how BTCs are generated ("mined").
  • If choosing a "pool":
    • several reward methods exist - e.g. PPL or PPLNS, and their revenue are influenced by a lot of factors like pool fees, PPS ratio, how long your sessions as part of the pool last, luck, amount of transaction fees made available (for when not only generating BTCs but helping as well with the processing of the global payments), etc... . Do some computations & tests to decide which one gives you the best revenue.
    • Once you've chosen a pool, create an account and choose a good password.
    • In that account create a so-called "worker" for each of the PCs/servers that you plan to use to generate BTCs.
      Some pools don't require that passwords are set for the workers. This is OK as such workers have only access to use their computing power to generate BTCs, which are then credited to your account, which in turn is protected by your complex password.
    • Choose a SW-client to be used on your PCs/servers to generate/compute BTCs.
      E.g. "bfgminer", "cgminer", etc... .
      You can even avoid a SW-installation and just use a Java-client downloaded directly from the pool's website (see e.g. the one of the "Bitminter" site).
    • Run the client(s) by connecting it to the pool - e.g. in the case of the pool "bitminter" and the SW "bfgminer" start the SW with the command "bfgminer -o http://mint.bitminter.com:8332 -u myaccountname_myworkername -p mypassword"
    • Check your account status on the pool's website to see how many BTCs you generated so far.

 

How to cash Bitcoins

  • You'll need a so-called "wallet".
  • One of the reference SW is "bitcoin-qt".
    It's probably the "safest" one but probably as well the slowest one (will keep track of ALL global transactions - as of 17.Apr.2013 its data directory is ~12GBs big).
  • Trusting online wallets is probably not a great idea - if their security is weak and your BTCs are stolen there is no way to get them back.
  • If using "bitcoin-qt", start it and let it synchronize. This will need ~1 day.
  • Create (a) new identity(ies) in your wallet. You could have:
    • all in all just 1 identity.
      Keep in mind that this goes against the principle of anonymity of BTC.
      As all transactions are recorded, distributed to all participants and can therefore be tracked by anybody who wants to track them, this would put in plain sight your behaviour.
    • 1 identity for each seller and buyer.
      This way you know from whom you received or to whom you sent BTCs.
    • a new identity for each single transaction.
      Might create after a while some confusion, but perfectly feasible.
  • Enter into your pool's or seller's account your identity and ask for the payment.
  • Wait until the payment shows up in your wallet.
  • Wait for some more time and check in your wallet by how many peers your transaction has been confirmed. The more the better (as of 17.Apr.2013 6 confirmations are practically considered "confirmed").

How to pay Bitcoins

  • Almost the same as above.
  • Check before paying if in your wallet's settings some default transaction fees have been set - be sure that they're not too high.
    You don't have to pay and fee but if you set it then the higher the fees will be, the more priority the peers will give to the processing of the transaction and therefore the fastest it will be "delivered" to the receiver.
  • Enter the receiver's address (published on their website or in some other way communicated to you) and execute the payment.

 

Links