IOTA: Replacing the Centralized Coordinator with 1% Annual Inflation

in iota •  4 months ago

Used Acronyms:

  • PoW: Proof of Work

  • NBP: Network Bound Proof of Work

  • DLT: Distributed Ledger Technology


The Problem

So right now one of the big questions in crypto seems to be “How do you increase scale-ability without decreasing security or decentralization". IOTA’s network bound proof of work model solves challenges such as scale-ability, but suffers from not having enough PoW being done on the network without constant high transaction rate (which there is no monetary incentive like awarding new tokens through inflation for). This leads to IOTA having a centralized coordinator that dictates what transactions get confirmed right now, which isn’t the worst point of centralization there is in crypto systems but a point of centralization nevertheless.

I might be wrong about the exact definition of NBP, but for this discussion I will be defining it as:

In crypto currency, requiring a small amount of PoW to be done alongside a transaction to make it valid.

This allows for consensus to be determined in a DLT network through PoW, but without the use of miners and transaction fees. This is because the transactions themselves secure the network instead of miners.

The good things NBP does is create a system without transaction fees, and encourage decentralization of PoW creation, because there are no incentives to join mining pools.

The problem with NBP is that it is not as secure as consensus algorithms like the one implemented in Bitcoin that have miners constantly securing the network with the reward of monetary gain via inflation through token creation and mining fees. In order to get the same security that those systems already have, NBP systems have to achieve a very large Transaction Per Second rate without monetary incentives like rewarding of newly created tokens or receiving transaction fees for doing PoW and securing the network.

The Proposal

I want to propose combining and using the good parts of these two systems (Feeless Tangle and Blockchain with miners) to create a more secure and decentralized network than either consensus algorithm achieves on it’s own right now.

I propose creating a network that operates off of the tangle DLT architecture and requires a small amount of PoW to be submitted with any transaction. All transactions would be feeless. All of this is already done with IOTA’s NBP. However, also allow inflation and award newly created tokens to whoever submitted a transaction that met certain PoW difficulty requirements. The difficulty requirement (for token creation) would go up as miner’s PoW power went up, as is done in Bitcoin. Meaning a small yet stable inflation rate would be stable over time. These new transactions with massive Difficulty in their PoW would act like milestone’s already do, in that the transactions they directly or indirectly are on top of, would be buried under a vast amount of PoW, increasing the certainty of their confirmation.

This already solves the problem of securing the network even if transaction throughput is low, which NBP alone fails at, resulting in IOTA’s current case, the requirement for a centralized coordinator to secure the network.

As a second step, token creation rates could be lowered if the NBP part of the network became self sustaining (like the IOTA Foundation hopes IOTA can become). For example, let’s say people submit so many transactions with NBP that they are providing 50% of the network’s security, and the miners who are awarded new tokens are providing the rest. If the standard inflation rate of the network was 1% per year, and all the miners combined only provided 50% of the network’s total PoW rate that year, the miners would only receive half (or 0.5% inflation) of what they could have had if they provided 100% of the network’s PoW in a year.

In this scenario, if the network ever became completely self sustaining from NBP (enough to compete with all full time miners) the flat tax being made through inflation would stop, thus benefiting all users who are using the currency and not miners. Until that point however, the network would be partially secured through PoW by miners with it’s users having up to but no more than 1% flat tax annually.

Things to Consider

If IOTA wanted to implement this into their network, they would have to rewrite a few parts of their network’s constitution, but anyone could technically create their own network that uses this if they wanted to. For IOTA this system could get rid of it’s insecurity when TPS was low without resorting to a centralized confirmation system like the coordinator. As well as get rid of the threat of having to re-install the coordinator if it was ever taken away and TPS dropped more than expected.

The only downside to implementing this system on IOTA specifically, is they would have to allow a small amount of (curved) inflation annually, until their network was completely self sustained by TPS which is already their goal. Whether or not to implement this for IOTA really comes down to whether people would prefer to have a small (1% max?) and curved (depending on Miner PoW to TPS PoW ratio) annual inflation rate, or rely on a centralized (or partially centralized) coordinator that can only be on or off, not gradually go away like proposed inflation system. The coordinator as it stands can not yet be turned on or off automatically as needed, Changing its state may require a hard fork if the network ever needed it again after it was turned off.

It’s also important to note that it’s already standard for most major currencies to incorporate inflation to reward miners. Bitcoin's current Annual inflation rate as of May 30th 2018 is around 4%.


Pros and Cons

  • Bitcoin Model
    • Pros
      • Secure (regardless of TPS)
      • Mostly Decentralized (Mining Pools)
      • Storage Efficient (cost same as PoW increases)
      • No Hard fork required (in foreseeable future)
    • Cons
      • Transaction Fees
      • Not Scaleable (TPS not increase with PoW)
      • Network Inflation (Until block height reached)
      • Not PoW Efficient (transaction throughput not scale with PoW)
      • Mining Pools
  • IOTA Model
    • Pros
      • Feeless
      • Scaleable
      • PoW Efficient (transaction throughput scales with PoW)
      • No Inflation
      • No Mining pools (completely decentralized PoW)
    • Cons
      • Insecure (Unless consistent high TPS)
      • Centralized Coordinator (compensate for insecurity at low TPS)
      • Not Storage Efficient (cost Linear to PoW)
      • Hard fork required (turn coordinator on and off)
  • Newly Proposed / Combined Model
    • Pros
      • Feeless
      • Scaleable
      • PoW Efficient (when it doesn't compromise security)
      • Secure (Regardless of TPS)
      • Weaker Mining Pools (Influence decreases as TPS goes up)
      • Decentralized (More as TPS increases)
      • Medium Storage Efficiency (cost not linear to PoW) (Better than IOTA)
      • No Hard Fork Required
    • Cons
      • Network Inflation (Until secure without miners)
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

This is more meant to demonstrate the viability of the technical concept than propose implementation of it right now.

Why would the network need to hard fork to remove the coordinator? This doesn't sound correct. The coordinator has been turned off a number of times in the past and the network functioned. Also node runners already have the option to ignore the coordinator if desired so I don't see any reason a fork would be required.

·

In my understanding, all nodes currently use the coordinator to determine what is confirmed.

The coordinator has been turned off a number of times in the past and the network functioned.

This is true, but it was turned off to preform snapshots and nothing new was considered confirmed until the coordinator came back online and decided what was.

Also node runners already have the option to ignore the coordinator if desired so I don't see any reason a fork would be required.

Do you have a source on that? People could independently program their nodes to ignore it, or look for another one if the current one was ever compromised. But unless a node follows the rules that 95% of the rest of the network does, it can be considered not working, and be ignored by it's neighbors when they find out it is not giving the same results that they are.

I do not currently believe there is a software switch to just decide if you want to follow it or not. Nodes that do not follow the constitution of the network can be considered wrong and will often times be ignored by healthy nodes that do follow the network's constitution.

Edited: Reformatted the last bit.

The tangle architecture makes it prone to Ddos how is iota going to deal with this? As they flood the network with packets

·

I am not aware how the tangle architecture specifically is prone to Ddos. If you have any sources on that I would love to see them.

Individual nodes can receive too many requests and be over-worked. The amount of nodes in the entire network can handle a very large load however.

Here is a reddit post talking about the same subject:

https://np.reddit.com/r/Iota/comments/7egqk7/is_iota_really_ddos_resistant/dq4uvj9/

You're missing the whole point of IOTA - being that it can be utalised by IoT Devices, if you added a POW that required an increasing difficultly the small IoT devices wouldn't be able to keep up with the demands.

·

Perhaps my wording was unclear. I propose that the minimum PoW difficulty to submit all transactions stay the same. So the process of sending IOTA or sending a message in a zero balance transaction would stay the same and still be available for all IoT devices around the world to do. If miners (Different from regular users) wanted rewards through inflation however, they would have to compete with their fellow miners, and come up with a transaction of a high enough difficulty that it would limit all reward able miner transactions to only being rewarded every increment of a set time-length. Similar to how the difficulty in bitcoin changes so that blocks are made around every 10 minutes.

Edit: Moved a sentence to a more relevant place.

Congratulations @logan-king! You have received a personal award!

2 Years on Steemit
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - The results, the winners and the prizes

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!