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

in #bitcoin7 years ago

BlockchainVsTangle.png

Welcome to Part 2 of the Tangle vs Blockchain discussion. For part one where we define what is a tangle and a blockchain, as well as where we do some initial comparisons, click on the link before. We’re going to be finishing up the comparisons here, looking at it from a networking speed point of view, and then wrap it up checking out how we could potentially use these methods together.

Tangle vs Blockchain - Part 1


Comparison: Speed

There are a few different comparisons that need to be made with regards to speed. These will each be evaluated in their explicit categories in order to allow room for adequate explanations.


Transaction & Block Propagation Time

Blockchains require an extra propagation step over tangles, making the tangle the clear winner when it comes to propagation time comparisons. In both systems, users must propagate their transactions to the network. However, in the tangle, the propagation is routed directly to the other users on the network, allowing users to receive transactions very quickly, however the transactions are not confirmed once they arrive. In blockchains, transactions first get propagated to miners or whichever consensus user requires the transactions to put into blocks. That user, after validating it, must propagate that block back to the end users. This makes the propagation time of blockchains roughly twice that of the tangle.

When transactions take minutes, this extra step is irrelevant. However, if the goal is to create a low-latency cryptocurrency where hundreds of milliseconds matters, then the tangle wins in this regard.


Validator Consensus Time

In blockchains, validator consensus time is up to the implementation to decide. In Bitcoin, it takes on average ten minutes for a miner to find the correct nonce. In delegated proof-of-stake blockchains, this is much shorter, for example in Steem it’s under two seconds.

In the tangle, there is virtually no consensus time. A very small proof-of-work is done by each user whenever they send a transaction. This operation takes no more than any other step in the transaction creation process. It is so small, it’s not a bottleneck, effectively.

In this regard, the tangle is superior, however certain blockchain mechanisms have come close in speeds.


Validation Wait Time

Validation wait time is the amount of time it takes for a transaction to be trusted. In Bitcoin, when you receive a block, the transactions inside it are not to be trusted. After waiting another roughly six blocks, we can be confident that the previous block we received can be trustworthy and fully trust it. This wait time differs from cryptocurrency to cryptocurrency, however it consistently requires waiting for at least a few blocks. This validation time is traditionally a pass/fail check, however it couch technically be viewed as a six step progression from untrusted, to mostly trusted, until it’s fully trusted.

With the tangle we have a wider range of ways to analyze how much we trust a given transaction. The two variables which affect the trustworthiness of a transaction are the amount of parents, and the weight of those parents validation. For example, if transaction A validates transaction B, and transaction A is extremely vetted, we inheritantly can trust transaction B a bit. However, if transaction C validates D, however C has not yet been validated, we don’t trust transaction D. The deeper into the web of the tangle a transaction gets, the more faith we have in it.

Overall, for validation wait time, this is also very hard to compare. Blockchains rely on creating a new block every set amount of time. If it takes six blocks to trust a transaction and Bitcoin has ten minute block times, then it takes an hour to trust a block. However, this hour is consistent, six blocks. With DAG’s such as the tangle, they are heavily reliant on future transactions to validate the currently pending ones. It requires the system to constantly be in use, otherwise transactions can stagnate, taking much longer than required.


Can we combine them?

This is a question I’ve pondered myself. None of what I’m about to say has been fully proven, these are my thoughts on the matter, which are leading me towards my design of the Seed blockchain.

Blockchains offer a few very nice benefits over the tangle, such as a more secure proofs with consistent block times to allow for consistent validation times. DAG’s like the tangle offer their own unique benefits, such as a more distributed payload, a much lower energy usage and lower latency propagation times.

I believe we can use the tangle for short-term storage, similar to a queue of unverified transactions, however we could then feed this DAG of transactions into blocks for permanent storage. This would allow for the short-term lower latency, lower energy usage and higher distributed payload, while also allowing for long-term storage in the blockchain.

This structure would not be a standard blockchain. There would be no need for miners, as once block creation is occuring, the transactions have already all been validated by the tangle. Block creation would occur whenever the lower entanglement, the portion of a tangle which has been heavily validated already, grows to a certain size, which triggers the squashing of transactions and block insertion which I refer to as a Testament block, a block of transaction updates since the last testament.

The transaction squashing portion I need to flesh out fully, however I believe we can take transactions which have already been validated, and squash them into updates. Taking the genesis block and applying each testament block of squashed updates in order would allow for an easy recreation of the ledger which is more lightweight and does not require all transaction data to be stored permanently on the blockchain, just the important part users care about and parts required for validation.


Thanks for reading! If you enjoyed this discussion, and upvote or follow are always appreciated!

Sort:  

good job brother, I lake your post

Thank you very much :) Appreciate the kind words

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.

Coin Marketplace

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