Blockchains and Algorithms

Raido Rentnik
8 min readMay 18, 2018

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.

Listen to this article:

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.

Before we go any further, what is an algorithm? Computers know what to do as they have written lines of instruction called code, and before you can write code, you need an algorithm. Basically, an algorithm is a list of steps or rules to follow in order to solve a problem.

Crypto and Blockchain Talk

As already stated, before blocks can be added to the blockchain, they have to be validated. There are many different types of block validation, or in tech terms, ‘consensus algorithms’. These algorithms are the cornerstones for every network which keep the network in harmony not in chaos. Blockchain has many characteristics including decentralization, stability, security, and non-modifiability, and the consensus algorithm plays a crucial role in maintaining the purpose, safety and efficiency of each blockchain. None of the consensus algorithms are exactly the same, though a few share similar concepts.

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.

Pros:
Anybody can make money from their idle computer. The amount depends on which coin, the type of computer, and cost to power it. When you’re competing with specialized mining hardware, it may not be profitable to even try.

Cons:
Slow. Blocks occur every few minutes, or whatever the code defines (Bitcoin is 10 minutes). Very un-eco-friendly. Many profitable coins are now dominated by large companies that have sprung up for the sole purpose of mining these coins (Bitcoin, Ethereum, etc.). If any one or two companies have more than 51% of the “hashrate” (think of it like blockchain speed), they essentially are now in control of the chain. They could infuse a new code with different rules, causing the chain to split, with many network nodes configured automatically to stay with the biggest chain (this is known as a chain fork).

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.

Pros:
Any coin holder can be a validator — if you are willing to lock up your coins and not spend them. Much more energy efficient, and much faster. Now you can have several blocks per minute. Proof of Stake is much safer… to perform a 51% attack, you’d need to have 51% of all the coins, and attacking the network would only cause your own investment to be depleted.

Cons:
Your coins are locked up in a deposit when you are “minting”, but you can pull them out at any time. There are some complex theoretical ways to still attack this type of network. As in Proof of Work, the system is designed so the rich get richer, but not so directly.

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.

Pros:
Fast! Blocks take less than one second to be created. The entire network is working together instead of against each other. This type of network is much more easily expanded, since it is so much more inclusive.

Cons:
This system is partially centralized and controlled. It is fairly new and untested against attacks.

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.

Pros:
Fast, reliable, trusted.

Cons:
The community has no vote or control. The creator of the chain can implement updates (or lack thereof) at will.

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.

Crypto and Blockchain Talk

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.

Pros:
Scarcity drives the value of the remaining coins up.

Cons:
You lose the coins you burn forever. It helps the ecosystem, but not so much you. There is no direct reward for burning coins.

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.

Pros:
Extremely fast, once it gets going.

Cons:
With little activity, transactions will not get processed. Instead of 51%, only 33% of active traffic is required to take over this kind of network.

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.

Pros:
Very fast, private networks

Cons:
You’re merely using their system, not being part of it.

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 podcast to find out more about blockchains and algorithms.

For more information about our educational podcast series visit Crypto and Blockchain Talk: http://cryptoandblockchaintalk.com/

--

--