Skycoin’s Obelisk vs Bitcoin’s Proof-of-Work — a security comparison
Skycoin lead developer Synth recently shared some fascinating information on Skycoin’s new consensus algorithm, Obelisk. Obelisk represents a unique approach to blockchain consensus, as it differs from both Proof-of-Work and Proof-of-Stake.
Obelisk works on ‘Web-of-Trust dynamics’. Put simply, nodes connect to each other using public keys to create a ‘trusted list’. Individual nodes broadcast the state of the blockchain (as they see it) to the whole network. Malicious nodes can be detected and removed from trust lists. The outcome is a highly energy-efficient method of achieving block consensus in a distributed system.
The key question is security — how can the security of the Skycoin blockchain be maintained if the ‘good guys’ don’t have majority control of mining hardware? To understand how Skycoin solves this problem, we must first revise the security features of Proof-of-Work.
A security analysis of Bitcoin’s Proof-of-Work
Security of the Bitcoin blockchain is an emergent property of a highly competitive ‘arms race’ in hashing power. The miner with the most hashing power adds canonical blocks to the chain and is rewarded with the coinbase output of newly minted Bitcoins.
Hashing is an essential component of Proof-of-Work mining in Bitcoin, but unfortunately it has security flaws that renders Bitcoin vulnerable to certain types of attacks. This is because mining serves multiple purposes in Bitcoin operation that should ideally be separated. These are block creation, block consensus and coin creation.
The consequences of an attack, should it occur, are dire — an attacker is able to disrupt all three of these critical components of Bitcoin’s proper function. Most well known is the 51% attack, which allows an attacker to to hijack the chain to reverse transactions and perform double-spending of coins. Others include the Race attack (sending conflicting transactions in rapid succession) and the Finney attack (mining one transaction and spending the same coins before releasing the block to invalidate the transaction).
Bitcoin’s game theory is aligned such that the incentives to attack the chain are small, even for a miner controlling all the hashing power. This is because miners are highly invested in the Bitcoin protocol through ASIC hardware investments. Any attack would compromise the value proposition of the whole network, killing the goose that lays the golden egg. It is more rational to facilitate the proper functioning of the Bitcoin network and receive the coinbase reward — this is what we have observed up till now. However, we have seen several of these attacks on various forks of Bitcoin.
Removing miners and preventing the 51% attack — Skycoin’s Obelisk
The first step in removing the vulnerabilities inherent in Proof-of-Work’s 51% attack was a fundamental re-design of Skycoin to clearly separate block consensus, block creation and coin creation. With these functions clearly delineated, there would be no way for malicious nodes to steal coins by only disrupting block consensus. Skycoin lead developer Synth explains:
‘Skycoin was designed to eliminate the 51% attack in that even if it was formed it will not affect any of the data or the balances and it cannot be used to exploit the exchanges…this is one of the things that makes the consensus process robust…’
The problem that Skycoin appears to have solved addresses the consequences of an attack on the network. Synth elaborates:
‘Instead of trying to design an algorithm that's perfect, you design a system so that if an attack does occur, you know mathematically that the consequences of the attack are inconsequential. …You can attack the chain all day long and you’re not going to make money on the attack and you’re not going to do anything but piss people off…’
This approach perfectly reflects the ideas of Nassim Taleb. In his masterpiece Antifragile, he argues that we should not (only) be concerned about the probability of an adverse outcome, but the consequences of the adverse outcome, should it occur. In this way, even small probability events must be taken seriously if the payoff from the event is devastating.
Skycoin’s consensus algorithm is designed in a similar way — it minimizes the consequences of a (successful) attack on the chain. Even if an attacker were able to control a majority of nodes, there is no possible way for them to double spend or steal Skycoins — they can only delay the process of block consensus. All the Skycoins have already been created in the genesis block, (commonly referred to as a ‘premine’) and are time-locked according to a strict tapered distribution. These coins will be used to incentivize the roll-out of blockchain hardware, the decentralized wireless mesh networks that enable complete censorship resistance of Skycoin and Bitcoin transactions.
Obelisk’s security features
Synth describes additional (highly technical) security features of Skycoin. This one addresses contested unspent outputs (UTXOs), and how Skycoin prevents double spending:
‘Say you have n different head blocks — Block A, Block B, Block C. They could be the next successor block or next head block. If there is an output that is contested, it means that the output doesn’t exist or the output has already been spent on at least one of the head blocks. … what we can do is block the the unspent output set so that you can only spend uncontested unspent outputs. Any transaction that would spend a contested unspent output gets delayed until all the head blocks have been eliminated that would result in possibly spending a contested unspent output. So there are ways of doing notifications and basically ensuring that even if there was a block fork then 99.9995% of data on the blockchain would be unaffected.’
Rather than adding complexity that creates un-vulnerabilities and inter-dependencies, Skycoin has created a very simple (but mathematically advanced) solution to the double spending problem as it exists within the Skycoin blockchain.
The Web-of-Trust dynamics model relies on public broadcasting of the state of the chain. If malicious behavior is occurring, it is important for that node to be removed from the network as they could be broadcasting incorrect blocks to connected peers. Obelisk’s design lends itself to machine detection of malicious nodes by their behavior. This is an automated security feature that is brilliant in its elegant simplicity:
‘We also want to know if someone did carry out an attack that we have a public key for the node that did it, so we can kick them off the network. …We want the rules for who is allowed on the network (who is a good node and bad node) to be unambiguous, so we want the behavior that the node should exhibit to be mathematical deterministic so it can be checked by a machine, and we want the nodes to automatically be kicked off the network if they break the rules in order to attack the network.’
Obelisk — The next generation of consensus algorithms?
In this article we covered three security mechanisms designed specifically for the Web-of-Trust consensus algorithm, Obelisk. We have also attempted to explain how Obelisk differs radically from Proof-of-Work by separating the three core functions of block creation, block consensus and coin creation. This can be difficult to understand, but we feel it is very important because it represents a solid progression past the Proof-of-Work status quo.
Synth envisions Obelisk as the dominant consensus mechanism post-PoW. Whether or not that occurs, we believe Skycoin has the developer quality and the codebase design to be an incredibly strong project moving forward. We leave you with a final quote from Synth, regarding the lack of documentation of these amazingly advanced technical details of Skycoin:
‘We added these advanced security features and designed the architecture to allow their implementation but each of these security features would be its own white paper of 2–4 pages each… and there would have to be a glossary and a book describing Skycoin’s internal architecture. We haven’t had time to write that…we’ve been so buried with just getting the software launched that we haven’t had a lot of time or people who have just been doing documentations. All the stuff is there in the background, we just didn’t write a lot of whitepapers on the specific architecture changes that we made.’
More than 10 years ago Satoshi wrote Bitcoin and only released the whitepaper after he had produced a working product. It seems as though the great minds of cryptography are better with code than with words.