Bitcoin

Bitcoin Notes


Last Updated: September 21, 2021 by Pepe Sandoval



Want to show support?

If you find the information in this page useful and want to show your support, you can make a donation

Use PayPal

This will help me to create more stuff and fix the existent content... or probably your money will be used to buy beer


Bitcoin

  • Bitcoin uses SHA-256 as Hash function (A hash is the output of a Hash function)
  • Bitcoin is an electronic payment system
  • a payment system is a conduit by which two parties can transact over the internet
  • it's a decentralized currency because there is no entity in charge of generating or transacting bitcoins

Transaction

  • a BTC transaction is just an specially constructed sequence of numbers to sent that sequence of numbers we use a special SW called a Bitcoin client
  • Bitcoin transactions require a P2P network
  • a transaction is a entry in a ledger (main book or file that records transactions)
  • It's just a digitally signed declaration by one entity of its intent to transfers some bitcoins to other party

Transaction details

  • how much it wants to sent
  • how much it will receive as change back
  • a fee: in a transaction is an incentive for other nodes in the bitcoin network to help an entity to validate some of the details of this transaction for another entity

Transaction flow

  1. Entity A takes the transaction details and apply a digital signature

  2. broadcast the transaction details along with its signature to the P2P network

  3. entity B can verify some transaction details like whether entity A has the BTCs it has claimed but it cant know whether entity A has tried to transfer those same BTCs to anyone else before. In other works entity B can't verify double spending done by entity A

  4. Bitcoin Miners generate a transaction block with proof of work and then generate a transaction block chain which is broadcasted to all the nodes

  5. The new transaction block chain is verified and now this one is used for following operations, new transaction blocks will be appended to this new block chain

Bitcoin miners

  • They are specific individual or nodes in the network that take all the incoming transactions and compile them in a transaction block

  • The final job of the miner is to incorporated a transaction block to the block chain

  • When a miner is able to construct a transaction block chain and its proof of work, it broadcast the details of the chain to all the other nodes on the network

  • Miners are the ones that help validate that an entity is not trying to do double spending

  • When a new transaction will be added the miners first look at the full record of the transactions (a.k.a. transaction block chain) and check the balance of the spender is correct.

  • To add a transaction to the blockchain they have to solve a proof-of-work puzzle, this puzzle are associated with a transaction and has difficulty score that measures how hard it is to solve the puzzle, so we can obtain an overall score of the block chain which works as a trust indicator the more work means the more trust

  • The bitcoin protocol establish to always work with the chain that has the most work put into it (Also referred as the longest chain)

Proof of Work

  • A protocol by which somebody can effectively prove they have engaged in a significant amount of computational effort

  • Proof of work protocols use puzzles that are challenging to solve and require significant computational effort but the effort can be verified easily

  • Work relative to a challenge string (c) and try to come up with a proof response string (p) such that after applying some math transformation (H(c | p)), the result of this transformation has some specific property like for example the first n bits must be zero

Transaction block

  • A Transaction block is a recording of all the previously unrecorded transactions and an extra transaction as a reward for the miners for doing this compilation work

  • If a transaction is an entry on the ledger then a transaction block it's like a page in the ledger book

  • A transaction block contains an encoding that identifies the previous transaction block

  • The transaction block also includes a proof of work which is a special sequence of numbers or identifier that is very hard to generate (requires computational effort)

The Block Chain or Transaction Block Chain

  • The block chain is like the global ledger book that starts at the beginning of the BTC time (BTC t = 0) and records all the transaction blocks history, its like a database of all the transactions

  • Because every transaction block has an identifier of the previous transaction block that generates a transaction block chain

  • The transaction block chain that reflects the greatest amount of work to generate its contents is considered the reference

  • Future miners are supposed to only work off the chain that has the most work put into it.

  • The miners are responsible for creating transaction blocks and incorporating them in the block chain

Other Bitcoin facts

  • The reward for miners started at 50 BTC and every 210K blocks are added it gets cut in half
  • Bitcoin has an auto-adjustment of the difficulty system. It calculates the time it takes to generate 2016 blocks and calibrates itself so that it take about 10mins to incorporate a transaction block
  • The smallest allowed fraction in BTC is 0.00000001 = Satoshi
  • The bitcoin system has a limit so that there can be at most 21 million Bitcoins
  • Bitcoins are just collective entries into a ledger rather than a physical coin, it's just a record of transaction

References and Sources

Want to show support?

If you find the information in this page useful and want to show your support, you can make a donation

Use PayPal

This will help me to create more stuff and fix the existent content... or probably your money will be used to buy beer