Seed - Dev. Discussion - Tangle vs Blockchain (Part 1)

in #bitcoin7 years ago

BlockchainVsTangle.png

The tangle vs blockchain debate, a debate between transaction directed acyclic graphs (DAG) or block lists, has been a hot topic lately. Blockchain cryptocurrencies became popularized by Bitcoin, the first mover in the cryptocurrency space. These systems traditionally were structures where users would send transactions, and separate type of user would turn groups of transactions into blocks, to then append one after another in a list. IOTA paved way with a new concept referred to as the tangle. In the tangle, users send transactions to one other, validating two other transactions as their contribution to the network, creating a large directional graph of transactions. We will discuss these two concepts in more depth, examine the benefits of each and compare the two together.

It is important to note that, while I will be mentioning IOTA and Bitcoin directly, this analysis is not about the implementations of the Tangle or Blockchain cryptocurrencies, just the underlying differences between the two parts of their respective protocols. Other blockchain protocols exist which are vastly different from Bitcoin, as well as other transaction DAG implementations exist that rival the Tangle. Essentially, this is not a debate on the products, it is a discussion about the technology beneath them.


Blockchain

The first success cryptocurrency built using blockchain technology was Satoshi Nakamoto in 2009. Bitcoin is a digital currency known as a cryptocurrency that uses cryptography and the blockchain to allow for trustless immutable storage of financial transactions. In the blockchain ecosystem, there exists two users, regular users who create transactions, and miners who validate transactions.


Users

A regular user is simply a user on the network who has their private key and their public addresses. Users can send transactions to one other, authorizing the transacting of their wealth. When a user wants to send a transaction, they first send out that transaction to some node on the network, who shares it with other nodes and gets it passed along to all the miners.

Users receive blocks whenever the miners create them. When users receive a block, they can validate the block for tampering and confirm the legitimacy of a block. These blocks hold all the transactions that occurred, allowing users to cite the transactions in blocks as proof of fund transfers for future transfers. This process ends in users having an immutable ledger of the blockchain history.


Miners

A miner is a user who validates transactions. All miners are in a competition with one trying to be the first user to validate a block. The system determines which miner has earned the right to validate the next block by having the miners race each other to discover the proper nonce for a block once they have validated all transactions and are ready to validate the block itself. The system does this by systematically deciding how many leading zeros it expects to be at the start of a block, allowing them to only modify the blocks hash by changing a block headers ‘nonce’ value. Miners then try millions of values, hashing the block every time, spending processing power in order to try and be the first one to guess a nonce that starts with enough zero’s.


Alternatives

There are alternative validation mechanisms that change the scenario a bit while still using blockchains. Miners exist in the system known as proof-of-work. In similar mechanisms, such as proof-of-stake, proof-of-activity, delegated proof-of-stake and dbft, a user that is similar to a miner also does validation on blocks. However, these validators alternate who validates in a different way than mining. Nonetheless, the blockchain portion tends to stay reasonably unchanged, if affected at all.

If you would like to read a more detailed breakdown on Blockchains, proof-of-work, their alternatives and flaws, I wore a literature review on it a couple weeks ago that you may find interesting


Tangle

The Tangle is a newer alternative to blockchains. Instead of organizing the transactions into blocks and blocks into a list, the tangle has all the lists in one large mess, where the transactions link to each other. Effectively, each transaction validates two other transactions, and this creates an ever growing web where the confidence we have in a transactions validity is based on the confidence we have in the transactions which validated it. It’s similar to how pressure works, where the dirt deeper into the earth feels more pressure than the dirt sitting at the top. Transactions deeper into the tangle are heavily trusted, as they have a lot of pressure coming from the transactions above it which validate it. However, the transactions at the top who have not yet been validated, or who’s parents have not yet been validated, feel less pressure and are not as validated.


Users

In the tangle, everyone is a user. Users send transactions, and transactions validate each other, alleviating the need for the entire mining/block validation step. This means that the user is both the transaction sender and a transaction validator, rather than having the roles be split.


Comparison: Centralization

From a centralization point of view, a truly distributed system should, in theory, be more decentralized than a decentralized or semi-centralized system. The more users partake in the validation process, the more decentralized it is.

With traditional blockchains running the proof-of-work validation system, history has shown that the individual miners tend to group together in order to reduce the variability in their payouts. This leads to mining pools which can threaten blockchains with a smaller total hashing power. Although in theory the concept of “anyone can be a miner” should make it decentralized, we’ve seen groups merge their power, becoming remote controlled mining botnets effectively. At the time of this writing (January 20th, 2018), five mining pools control over 75% of the total Bitcoin hashrate. This threat of centralization is a concern, as we have also seen in the past the miners disagree with users on core issues, with these disputes occasionally resulting in the network forking. To date, however, no mining pools have abused this potential threat, despite the opportunity having been possible in the past.

A more recent concept has been proven to have large success in optimizing blockchain speeds, known as delegated proof-of-stake. This blockchain alternative to proof-of-work has a small set of users alternate as validators, using their stake in the system as their proof. Users can delegate their vote to other individuals on the network.

The difference with proof-of-work to delegated proof-of-stake is interesting when it comes to centralization. There is one argument that is vastly in proof-of-works favour for the centralization debate, and another argument heavily in delegated proof-of-stakes favour. In the favour of proof-of-work coins like Bitcoin, the validation process is distributed to a much larger scale, as anyone can be a miner. There are tens of thousands of miners at any given moment. In delegated proof-of-stake systems, such as Steem, there are a limited amount of people who can act as block validators (known as Witnesses in Steem). From this point of view, Bitcoin has more nodes run by more users, therefore it’s more decentralized.

The benefit in favour of delegated proof-of-stake cryptocurrencies comes down to how the witnesses are determined. In Bitcoin, users don't choose which miners they like. A miners odds of being the one to validate a block is determined by their sheer hashing rate, effectively their energy spent. This means their stake is determined through hashrate. Users don't really have any say in the matter, it's pretty centralized to a group of individuals and companies out in China primarily. In delegated proof-of-stake systems, there is a ongoing voting process over who the user base allows to create blocks. Therefore, despite their being less users who have the opportunity to validate blocks, the users who do validate blocks are ones elected by the users of a coin. This election system aligns the interests of the witnesses with the interests of the user, as witnesses, at the very least, will not act in a way that loses the userbase’s trust.

Therefore, proof-of-work has a decentralization of nodes however a centralization of power, whereas delegated proof-of-stake has a less-decentralized layout of nodes, however a more decentralized input into block validation.

The tangle and similar transaction DAG’s are arguably a step above being decentralized. They can be implemented as distributed solutions, where every user has an equal opportunity vote in transaction validation. Since users are both the transaction creators and transaction validators, every user must validate transactions in order to use the system. This inherently distributes the validation workload to the entire active user base of the cryptocurrency. IOTA, however, may not be the best example, simply because their implementation relies heavily on a third-party system known as the Coordinator, which makes their implementation arguably centralized until it no longer relies on it. However, DAG’s as a concept can be implemented in a distributed manner in theory.


Comparison: Security

Security is a difficult category to compare, strictly speaking, because everything seems secure until it isn’t. We believed SHA-1 was a secure hashing function until it was proven otherwise. Before the birthday attack was proven, experts agreed it was a secure standard. However, it only took one proof to showcase a flaw, which rendered it insecure.

Both blockchain technology and the tangle are new technologies overall, however blockchains have been out a lot longer in the cryptocurrency space than the tangle. We are more certain on the security of blockchains than we are the tangle, to put it short. On top of that, the security differences between blockchain validation mechanisms is also very different. For example, in proof-of-work systems the most commonly cited security issue is the possibility of a 51% attacks, where if a miner had 51% of the network, they could tamper with the validation process. In traditional proof-of-stake, 51% of the currency in existence would be required to do the same effect. Delegated proof-of-stake would require multiple witnesses to be compromised for the same effect. These differences in systems makes the comparison especially difficult to compare, differing heavily from cryptocurrency to cryptocurrency.


Bitcoin’s proof-of-work blockchain vs IOTA’s proof-of-work tangle

For a simple comparison, I will compare the traditional proof-of-work proven system inside bitcoin with IOTA’s proof-of-work tangle implementation. Both systems use proof-of-work in order to secure the network. With Bitcoin, the amount of hashing done to secure the network is incredibly high. This is done by miners during the validation step of determining a nonce for a block when they mine the block. In IOTA, a much simpler proof-of-work puzzle is given to users on transaction submission. The IOTA puzzle is much simpler, designed to be executable from the simplest of IoT devices.

From this front, Bitcoin simply secures the network more than IOTA by a large margin. DAG’s rely on new transactions to constantly come in and validate the network, whereas Bitcoin will consistently increase in network security every ten minutes a block is mined, regardless of the amount of transactions present in that block. If IOTA becomes used by an increasing amount, it could potentially pass other cryptocurrencies in terms of work done, however at the current rate it is nowhere near as secure as Bitcoin.

The next question we must ask ourselves is, is it secure enough? Many experts say yes, it should be secure enough, especially if it increased to the scale IOTA intends to. It would take a large amount of transactions to secure their network to the extent Bitcoin is secured, however with the estimated amount of IoT devices in the billions, assuming IOTA ends up being used in its niche of micropayments for IoT devices, it could climb to a secure point staggeringly fast.

In the meantime, however, there does not seem to be enough humans using the network to maintain a high level of security. It has maintained an adequate level to date, but much like its reliance on the coordinator, it’s a rocky start until it gains enough momentum.

This security difference would be equivalent for any Blockchain vs Tangle debate which both relied on proof-of-work. Blockchains have a consistent security increase with every block, while the tangle and other DAGs rely on new transactions in order to validate the network. If the amount of transactions coming in is inadequate, it becomes less secure than the blockchain alternative, however assuming sufficient transactions arrive in a reasonably used network, it appears to be adequately secure, potentially passing blockchains with enough usage.


Thanks for reading! This definitely turned into a longer discussion than I anticipated, so I will split it up into two parts. Tomorrow we will go over the speed differences between the Tangle and Blockchains, and then analyze whether we can somehow combine these approaches. If you liked what you read, an upvote or follow are always appreciated!

Sort:  

Your articles are really really good, hope they het more viewership with time.steemOn!

Thank you for the kind words, I'm glad you enjoyed it!

Good information!! 😉 thanks for sharing

Thank you :) Appreciate it

Also u can check my profile :)

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by carsonroscoe from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Congratulations @carsonroscoe! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of posts published

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 59239.80
ETH 2662.03
USDT 1.00
SBD 2.48