What is BitCoin Mining?

The block chain is a race of horses

         Guess a value for the empty nonce in the last block that results in a hash with sufficient number of leading zeros and you win 18000 dollars.

Why a block chain database?

  • A regular online bank account keeps you from spending digital money more than once.  That is possible because it is a centralized design that subtracts the amount spent from your account.  You can not change this because you do not have the ability to change the database.
  • What do you do if there is no central database because you do not want to rely upon a central authority? How can the balances in everyone's accounts be maintained in a trustworthy fashion? How do you keep a person from spending the same buck in his bank account 2 times when it is only an entry in a database that they have access to?  Access to a normal database would mean you could set any value you wanted.  The skies the limit!
  • Remember the database needs to be hard to fake up but easy to read.  Everyone needs be able to read it.  Everyone needs to be able to tell which version of it is valid.  Have you ever downloaded a file that had a hash value to compare with the hash value that you compute on the version you download to verify it is not corrupted?   This same methodology is used with the blocks in the database chain.  The hash appended to the end of the block has to have a special value and finding that special value requires lots of computation.  This makes it easy to read and verify the database block but hard to make the block in the first place.  

How to Cancel Unconfirmed Bitcoin Transactions

Do not wait long!

Research Links

Cancelling stuck Bitcoin transaction sent from your local BTC wallet requires you to run the qt wallet client with a special option that would remove all pending transactions that are not included in the blockchain. You need to run bitcoin-qt.exe (or the respective qt executable file depending on the OS you are using) with the -zapwallettxes parameter, but before running it make sure you backup your wallet.dat file.

I used this method and confirm it works.  All these command line and only at startup options are a bit annoying.  I tried using console to issue an abandontransaction "transaction string"   but that issued an error saying it could not do the function.

BitCoin Core Wallet – Dumping Your Private Keys

Wallet backup operations

Bitcoin Core does not have a GUI for displaying private keys.  There is probably a good reason for that.  What is it?

  1. launch your bitcoin client as usual and wait for it to load the blockchain and start up
  2. click on 'help' in the menu bar (top right)
  3. click on 'debug window'
  4. select the 'console' tab
  5. type: walletpassphrase "your walletpassphrase here" 600
  6. type: dumpprivkey [your Bitcoin address here]
  7. this will return the private key, you can copy it now; ensure you clear your clipboard/history afterwards
  8. type: walletlock

Research Links

How to Send BitCoins from a Paper Wallet

Research Links

Each public private key pair can be thought of as a single note as shown below

  1.  In order for that note to be good it has to be loaded up first.  This is done by sending the public key to the person who will give you BitCoin
  2. Once loaded up you can now spend the BitCoin by using the private key.  

The private key must be kept secret.  If a person was able to get your private key they could then spend it. ( I think.  Will need to verify this is complete and accurate description of behavior ).  Certainly if another person had both the public and private key they would be able to spend.  

QUESTION:  How is the amount associated with the Public / Private key encoded?