Bitcoin Forum
July 31, 2024, 12:26:27 PM *
News: Help 1Dq create 15th anniversary forum artwork.
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: United Colors of Bitcoin  (Read 3646 times)
remotemass (OP)
Legendary
*
Offline Offline

Activity: 1120
Merit: 1017


ASMR El Salvador


View Profile WWW
March 10, 2013, 06:18:32 PM
 #1

"United Colors of Bitcoin", by remotemass

What is bitcoin?

Bitcoin is digital cash for the internet without banks or financial institutions.
The network registers in a distibuted database - with no central point of attack - all transactions between bitcoin addresses.
Bitcoins only exist as balances associated with a bitcoin address. What you actually keep is the private key, that is like a password made of 256 bits, that is, 256 zeros and ones (usually expressed in much more compact format using hexadecimal numbering).
A private key and a bitcoin address, form a key-pair, and a a key-pair is like a key and its locker, but importantly, their mathematical properties are very particular because it is possible to calculate in some fractions of a second the bitcoin address, in a key-pair, from its private key. But the reverse would take countless millions, if not billions of years as it would have to be done by trial and error, even if quantum computers were used.
The network uses this key-pair cryptography to authenticate ownership of the bitcoins when doing a transaction.

Bitcoin mining is the process of assembling the latest transactions, from about up to 10 minutes ago, in a way that they become permanent in the history of chained transactions. When such a 'block' of assembled transactions is compiled and added to the history, the ones that devoted computer resources to achieve it are rewarded - this happens every 10 minutes or so - putting more bitcoins in circulation. Only the lucky "miner" that was able to compile the latest block of transactions is rewarded to his designated bitcoin address, but usually miners work in mining pools (like co-ops) and share the rewards according to computer resources devoted collectively.

Basically, in return for the miners contribution to maintain the network and ensure more and more irrevocability of the history of transactions, bitcoins are generated and given to the miners as a reward, putting more bitcoins in circulation.

The mining reward is halved every 4 years. In the first 4 years (2009-2013) it was 50 BTC every 10 minutes. Now it is half, that is, 25 BTC every 10 minutes to the lucky miner that using brute force is able to compile the new block, and make the next piece of the puzzle, the recent history, to fit in. The more computer power the network has the more impossible it gets to invent the history of transactions that get stacked, but bitcoins are hard coded to be released in a timed fashion and that's actually the basis of their scarcity and existence.  

It gets very technical on what actually makes a new 'block', that is, a compiled list of the latest transactions, to be accepted, but basically it has to do with checking if the data and header of such a candidate new block - after certain cryptographic compressions and mathematical transformations - is actually valid for the difficulty puzzle that is set.
The software adjusts the difficulty puzzle so that a new mining reward is made roughly every 10 minutes, no matter what actually is the amount of computational power of the whole network.
The difficulty problem is simply the number of leading zeros that the data of the candidate block, after cryptographic math, has to have. Only trial and error, that is, brute force, changing the nonce (an arbitrary number) and checking for a match, can find if the block is valid for that matter.

The history of past transactions is called the 'blockchain'. A block is simply a list of a few thousand transactions (there is a size limit for it!) formatted with a header.
Blocks are chained in the sense of having the ID of the previous block in its header and being for that matter a linked list where new blocks get stacked on previous ones.

The word 'mining' is used in analogy to gold mining that is made available following a curve like that of a logarithmic function, approaching a limit.

The limit of 21 million bitcoins is hard coded in the distributed software implementation in a very timed fashion and results from the accumulation of 50 bitcoins reward each ten minutes during the first four years(50x6x24x365x4=10 512 000), plus, half, 25 bitcoins reward each ten minutes during the following four years (5256 000+10 512 000= 15 768 000), plus, half, 12.5 bitcoins reward each ten minutes during the following four years (2 628 000+5 256 000+10 512 000=18 396 000)... and so on and so forth, till the reward of the four years before is so that it doesn't add nothing to the total of "almost" 21 million, more precisely: 20999999.97690000 BTC.

This protocol implementation results from a few lines of code in the distributed software, and everyone would have to agree to change it otherwise incompatibility would arise to anyone trying to change that.

{ Imagine a sequence of bits generated from the first decimal place of the square roots of whole integers that are irrational numbers. If the decimal falls between 0 and 5, it's considered bit 0, and if it falls between 5 and 10, it's considered bit 1. This sequence from a simple integer count of contiguous irrationals and their logical decimal expansion of the first decimal place is called the 'main irrational stream.' Our goal is to design a physical and optical computing system system that can detect when this stream starts matching a specific pattern of a given size of bits. bitcointalk.org/index.php?topic=166760.0 } Satoshi did use a friend class in C++ and put a comment on the code saying: "This is why people hate C++".
WikileaksDude
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500



View Profile
March 10, 2013, 06:28:16 PM
 #2

tl;dr Huh? where it at? Grin
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!