Preview Mode Links will not work in preview mode

May 18, 2018

Blockchain

 

Blockchains and Algorithms

 

Blockchain is the latest tech craze and has attracted a lot of attention. Before blockchain, computers operated in a client/server relationship, where one central authority (the server) is contacted by a client (your laptop, phone, etc.) and is requested to send back information. An example of this is when you use Netflix. Your TV connects to a Netflix server, which has preloaded movies and shows for you to choose from. Once you select your show, it then streams the video content to you. That’s fine, until Netflix removes the show you want to watch, and you let out a big sigh. Well, it could be that their contract for sharing that show expired, or they needed the space to upload a new show. Either way, it is too bad for you.

 

What if there was infinite space, lots of bandwidth, anyone could upload a movie or TV show, and nobody was in charge, so your favorite show could never get removed? Sounds too good to be true, right? Well, that’s essentially what blockchain is: A network of ordinary computers, sharing resources, all working together with no master. The only control is the code shared by all these computers, which make the blockchain.

 

Every blockchain (network of computers) is designed to do something different. There are video distribution service blockchains being created right now, but there are many different uses for this technology, and ways to go about creating this network. No one way is perfect right now, and there is a huge race to evolve into the best overall solution. To have a blockchain, computers called miners must create new blocks which are then accepted or rejected by the network. Blocks are rejected if they are invalid, malicious, or incomplete. There have to be certain rules and guidelines set in place in order for the network to function properly. It wouldn’t make sense if a Netflix blockchain suddenly allowed someone to upload a book, or even a podcast, or upload a movie claiming themselves as the director or producer.

 

Here’s a brief overview of the Top 10 most used algorithms, and a sample of which popular blockchains use them:

 

  1. Proof of Work - Bitcoin, Ethereum, and Monero
    Bitcoin’s founder created Proof of Work, where miners configure their computers to solve very intense puzzles, competing to create the next block. When they solve that puzzle (once every 10 minutes), they are given a reward (coins). Bitcoin has become so valuable, entire countries are setting up huge factories to create blocks and claim rewards. Places that have free power have a tremendous advantage, as the machines required to mine these blocks suck up unbelievable amounts of power. A decommissioned power plant in Australia was recently purchased solely for the purpose of Bitcoin mining. Video cards from NVIDIA and AMD have also been in exceptional demand. They are selling above MSRP, often sold out the same day a retailer has them in stock.
  2. Proof of Stake - NEO, DASH, and NavCoin

    Instead of mining, people who hold the coins belonging to the network have the option of being “minters”. A designated third party creates the blocks, then the minters run software on their computers that act as validators. It’s much less energy intensive and requires no special hardware, just coins. The more coins you have “staked” in the blockchain, the higher the chance you have at being selected (at random) to validate a block.
  3. Delegated Proof of Stake - EOS, Bitshares, and Lisk

    There is a major difference in this system compared to the previous two listed. Instead of everybody having a chance at validating a block, only a small number of machines on the network are selected, by a vote. This way, it is much easier for a handful of computers to talk to one another to compare blocks and validation, in a much more efficient way. If one validator starts to fail, they are voted out of circulation and replaced by another computer on the network. Instead of miners competing with each other, in DPoS they all work together to solve the block puzzle, creating blocks much, much faster.
  4. Proof of Authority - POA Network, Ethereum’s Kovan Testnet

    This consensus algorithm is pretty much the same as the client/server relationship. There is one authority in charge of everything, and the clients can just read the information (if allowed). This is best used in private corporate chains. Additional conditions to become an authority can be specified, including identity management and verification, in contrast to the previously mentioned algorithms, where the only identity on the network is often a wallet address or IP address/port.
  5. Proof of Activity - Decred

    This is a combination of both PoW and PoS. Currently only Decred uses it. Pros and Cons remain to be seen.
  6. Proof of Burn - Binance Coin, Counterparty, Slimcoin

    Instead of being rewarded for solving puzzles, you are supposed to send coins to an irretrievable address, to be lost forever. The concept is by decreasing the supply of coins, the value of the remaining ones increase. More often than not, the practice of “burning” coins is something done by the developers rather than the community. Blockchain ICOs often burn any unsold tokens remaining, as they cannot be allocated to any other area in an honest way. Binance burns some of its profits every quarter, to ensure its coin gains value.
  7. Proof of Elapsed Time - Hyperledger Sawtooth

    Every participant in the network is assigned a random time in each block. Whoever’s time runs out first, gets to create the next block. Clients on this network must be identified, and their code must have passed verification trust, to avoid simply exploiting the time on your network node to trigger sooner. Pros and cons are yet to be determined.
  8. Directed Acyclic Graph - IOTA, Hashgraph, and Nano

    Participants in this network that want to send a transaction, are first required to do a small proof of work, in which they verify two previous transactions that occurred before. In theory, this tangle can accelerate to near-instant speeds. Unlike traditional servers, the more users that are logged on, it gets faster instead of slower. Each of the networks has their own unique take on how to organize transactions, so read into each project more if you desire.
  9. Byzantine Fault Tolerance - Ripple, Stellar, and Dispatch

    Pre-selected validators are in charge of the network. No miners or community contributors are required. With that said, Stellar allows anyone to become a validator, while Ripple itself decides who validates blocks on their network. These are centralized services using blockchain technology.
  10. Proof of Space/Capacity - Burst

Although, only one coin currently uses this, it is a fantastic algorithm. It allows people to mine using spare hard drive space, instead of CPU/GPU cycles. Your hard drive space is filled up with small amounts of random files that act like lottery tickets. The network elects a winner every defined number of seconds (or minutes) and gives them a coin reward. It takes tiny fractions of energy (5 watts) to power a hard drive, compared to 100+ watts of a single GPU or 1200+ watts of an ASIC (specialized mining hardware developed just for Bitcoin and other major coins).

 

There are still many more algorithms out there, including:

 

  • Proof of Importance
  • Proof of Reputation
  • Proof of Weight
  • Proof of Evolution
  • Tendermint
  • CASPER
  • Distributed Byzantine Fault Tolerance
  • SPECTRE

 

If you’re thinking of creating a blockchain of your own, continue your research! It will be time well spent.

Listen to this episode of Crypto and Blockchain Talk

 

SUBSCRIBE to our channels and never miss an episode:
SPOTIFY iTunes Stitcher Soundcloud Google Play Music Tunein Castbox Pocket Casts Overcast iHeartRadio PlayerFM Twitter YouTube LinkedIn