An introduction to DLT concepts and why I think IOTAs Tangle is superior to Blockchains

What is Money and why do we use it?

How do these online transactions work?

The problem DLTs want to solve

What is a Blockchain and how does it solve the problem?

TLDR:

What do we need to build a cryptocurrency?

What is a Blockchain?

The first line starting with a lot of zeros is the hash of the previous block. The last line of the block is the nonce. ✎ represents the signature.
The first line starting with a lot of zeros is the hash of the previous block. The last line of the block is the nonce. ✎ represents the signature.

What is a hash pointer?

  • same input always leads to same output
  • can take an input of arbitrary length and produce a fixed length output
  • small changes in the input will lead to large changes in the output
  • you can’t use the output of the function to calculate the input
  • the probability that different inputs lead to the same output is very very small

Isn’t the Blockchain a single point of failure, just like the central database of banks?

How do we send and receive money?

How do we make sure that all transactions are valid/honest?

  • input amount = output amount
  • input tokens (coins) aren’t already spent somewhere else
  • issuer of transaction signed it using his private key
The table at the left shows the balances before all transactions. All transactions will be processed in the order they are written in.✎ represents the signature.
  • all transactions in this block are valid
  • contains the correct hash pointer to the previous block
  • contains correct block reward (more on that later)
  • in Proof of Work (POW) systems: contains nonce with correct difficulty (more on that later)

How do you decide who gets to create a new block?

Proof of Work

Proof of Stake

What are the incentives to provide resources to the network as a miner/staker?

Why should the block producer be honest and what happens if they are dishonest?

  • add conflicting/invalid transaction to the block
  • don’t add any transactions to the block
  • give themselves a bigger block reward (create more new tokens than are allowed)
  • try to double spend by secretly creating the longest chain
The “X” marks the block, where the attacker spent his funds.

What happens if the nodes are dishonest?

Advantages of Blockchains compared to centralized solutions:

  1. The biggest and most important advantage of Blockchains is that there is no need to trust third parties or intermediaries.
  2. If the resources (hash rate or staked funds) are properly distributed and high enough that a new actor can’t easily get the majority, Blockchains are very secure.
  3. Currency-specific: You have a predefined monetary policy (inflation/deflation rates etc.) that is very unlikely (impossible if nodes don’t agree) to change later. This allows the users to join a network with their preferred policy and be sure that it won’t change suddenly.

Drawbacks of Blockchain compared to centralized solutions:

  1. Since Blockchains are a distributed network and every node has to store the same information. This is very inefficient compared to a central database.
  2. Due to the limited block size and the predefined time intervals for new blocks, Blockchains are not very scalable and rather expensive. Big blocks lead to node centralization because it’s expensive to run nodes. Too short time intervals between blocks also lead to node centralization, because you need a fast internet connection and a lot of computing power (to validate blocks) when new blocks are created very quickly. As we discussed earlier, centralization is bad because you have to trust the remaining nodes. And if you have to trust anyone, you have lost the main advantage of the Blockchain and are only left with its disadvantages.
    There are a lot of second layer solutions that try to solve the scalability problem, but they introduce new trade offs (e.g. they are less secure than the Blockchain layer or centralized).
  3. Blockchains have created a conflict of interests between block producers and users with the introduction of transaction fees. Block producers want high fees to generate more income, while users want low fees to save money. Block producers could try to increase the fees by not including low fee transactions in a block. They can also dictate the order of the transactions in a block, enabling them to create an order that is favorable to them and unfavorable for the user. This process is called Miner Extractable Value (MEV) if you want to read more about it.
  4. If the resources (hash rate, or staked funds) are poorly distributed, i.e. centralized, or too small, Blockchains are either not very secure or you have to rely on third parties, which would render the Blockchain useless.
  5. POW specific: Waste of resources. The mining process consumes a lot of energy to solve some useless puzzles to settle on a leader (block producer). The energy is not completely wasted as it’s used to secure the network, but if you can find another solution that is just as secure and doesn’t require as much energy, this solution would be much better.
  6. POS specific: Centralization risk due to block reward. In this system, the rich always get richer (if they stake their tokens) because they have a higher share of the staked tokens and therefore have a higher probability of winning the leader selection and receiving the block reward. They can stake the block reward again, which further increases their probability of winning the leader selection and receiving the block reward.

Blockchain conclusion

What is IOTAs Tangle, and how does it solve the drawbacks of Blockchains?

TLDR:

What is the Tangle?

Example for a DAG from Wikipedia.
Green vertices = confirmed transaction, white vertices = unconfirmed transactions, gray vertices = tips

How do we send and receive money?

How do we make sure that all transactions are valid/honest?

  • input amount = output amount
  • input tokens aren’t already spent somewhere else
  • issuer of transaction signed it using his private key
  • contains at least 1 strong parent and 2–8 parents in sum
  • contains nonce with correct difficulty
  • contains timestamp that passes parent age checks
  1. The timestamp of the parent is older than the timestamp of the transaction you want to attach.
  2. The timestamp of the parent is not older than some threshold value X.

What is mana?

How do we resolve conflicts?

  1. Decide which branches will get confirmed(only one of the conflicting branches can get confirmed)
  2. Record this decision for new nodes joining the network later

Spam protection

What happens if a node is malicious?

How do we prevent node centralization?

Advantages of IOTA over Blockchains:

  1. The IOTA version we talked about is truly decentralized. Everyone can issue their own transactions if they want. You don’t have to choose a single block producer each time a new block is created. Moreover, there is no mining reward that could lead to centralization in the future.
  2. IOTA is feeless. This means that the interests of all participants of the network are aligned, as there are no miners/stakers.
  3. IOTA is much more scalable than Blockchains. It can already process 1000+ TPS with very moderate node requirements and that number is likely to increase even before sharding (a scaling solution that enables virtually infinite TPS). Blockchains with similar TPS numbers are much more centralized and have much higher requirements to run a node. Blockchains just can’t scale if they want to keep their decentralization, IOTA can.
  4. IOTAs APOW is much more energy efficient than Blockchains running on POW (for a comparison to Bitcoin click here) and doesn’t have the centralization problem of POS systems.

Advantages of Blockchains over IOTA:

  1. Blockchains are more battle tested. The decentralized version of IOTA only runs in a testnet and needs to be thoroughly tested to ensure that it really works and that there are no attack vectors. Blockchains have proven over many years that they are secure if the resources are distributed properly.
  2. Blockchain is a much simpler technology. This means that it’s easier to understand and implement without introducing bugs.

Conclusion IOTA+Tangle

My PERSONAL OPINION

My thoughts on Blockchains:

My thoughts on IOTA and the Tangle:

  • “All projects except for Bitcoin are centralized, because they are developed by a foundation or a small group of people.” I agree that the development of most cryptocurrencies is centralized. But that doesn’t make the network centralized. The distribution and number of nodes (and block producers) are an indication for how decentralized a currency is, as they validate the transactions. And they can just reject any updates. This doesn’t really happen yet, because most cryptocurrencies are still in their early development and not really functional yet, so it wouldn’t make any sense to reject updates. But once the network is functional, that may change. Bitcoin went through the same phase in it’s early days and is still considered decentralized. The other cryptocurrencies are just earlier in their journey, but that doesn’t mean that they won’t get there. I even think it’s beneficial to have a centralized development until you have a functional network that achieved its vision, because central development is much faster. And after the first functional version, the nodes can decide whether they like new updates or not.
  • “If you prune transactions, there could be an unnoticed inflation bug in IOTA.” Since you check for every transaction that the input amount is equal to the output amount and there is no mining that creates new tokens, I think this bug is impossible. But even if we consider that it would be possible, I think pruning is no problem because if you don’t detect the bug very fast, you can’t do anything about it anyway. To better understand what I mean, let’s consider the following example: We detect an inflation bug in Bitcoin that happened 6 months ago. There is nothing you can do about it. You can’t just roll back 6 months of transactions because all merchants that accepted Bitcoin in this time period would lose their money. And if you would only roll back the transaction where the inflation happened, the reputation loss would most likely still kill the project.
  • “IOTA isn’t really feeless, because you have to do a small amount of POW to issue a transaction and that’s a fee!” This just doesn’t make any sense to me at all. If you pay something with your cellphone, your cellphone has to be turned on and also consumes energy, but we don’t consider this as a transaction fee. If you send someone 100 iota from your wallet, he gets exactly 100 iota, so there’s no transaction fee. Yes, someone has to run a node and yes this node consumes energy, but let’s consider you go to your favorite bar and the barkeeper accepts iota as payment. He runs an IOTA node in order to be able to issue transactions and when you pay your drinks, you use his node to send your transactions. Yes, his node has to do some POW and yes he has to pay for the electricity, but you as customer don’t have to pay any fee, i.e. there are no transaction fees. Now you might ask yourself why he would allow you to issue a transaction over his node for free. Well the answer is simple: The costs are so small that the benefit of having access to a valuable network far outweighs them. The opportunity cost of running hardware is not a transaction fee.

General thoughts about the DLT space:

--

--

Writing about anything that interests me.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Jonas Ehnle

Jonas Ehnle

Writing about anything that interests me.