What is a blockchain, really? Programmer perspective.

in #bitcoin7 years ago

Good day steemit. A blockchain is really just a database, also known as a collection of files stored on a disk. The blockchain is a glorified database that is stored locally by every cryptocurrency wallet application. There are many different cryptocurnencies, we will only discuss bitcoin, however, it also applies altcoins such as ethereum, litecoin and dogecoin.

There are two primary applications that are involved with the bincoin protocall. In reality, it is a wallet application, which stores the coins by distributing the blockchain among any connected peers (also called nodes). The blockchain is merely a collection of all transactions. It is separated into specific sized chunks of data called blocks. The wallet application connects to specific ip addresses and sends and recieves data similar to a torrent application. This data is a collection of the blockchain, as well as unconfirmed transactions. In the case of bitcoin, a separate application called a miner is used to attempt a new block creation. The miner connects to the core wallet application over the internet or local host. The miner is a very simple application that takes the header of the previous block (essentially random data), and inputs it into the SHA-256 hashing algorithm twice. The hashing algolithm is a function that has already been made long before bitcoin, for the purposes of encryption. When the SHA-256 hashing algorithm is used for mining bitcoin, the winner of the block reward is given to the miner who outputs a value with many trailing zeros, the number of zeros corresponds to the current difficulty. The difficulty is constantly being adjusted to maintain a block time of about 10 minutes.

A specialized piece of hardware called an ASIC miner, is an Application Specific Integrated Circuit. This is an application that is hard coded into an integrated circuit, in order to increase the speed at which the miner operates significantly.

A different kind of mining exists called proof of stake. This is very similar to mining bitcoin, except the miner is integrated directly into the wallet. Also, in order for a proof of stake block to be generated, a different requirement than bitcoin is something called coin age. This essentially is your power to mint coins. When your wallet successfully stakes (generates a new block and is awarded coins), your coin's age is converted to newly minted coins. Some POS (proof of stake) coins operate differently, as in the case of bitbean, which has a constant block reward, and requires the wallet to be running to stake. Bitbeans also do not utilize coin age, and therefore, the process is more similar to traditional POW (proof of work) coins such as bitcoin and litecoin.