Natrium Status and State of the Nano Network

24 Mar, 2021 • 4 min read

The Nano network is experiencing significant delays confirming transactions, this is a network-wide issue and is not specific to Natrium. We do not work on the Nano node software or protocol and are unable to provide any ETA for when these issues will be resolved, but we will keep Natrium users up-to-date with new information as we learn about it.

We have heard many conflicting reports and complaints including:

  • Natrium is broken
  • Natrium is fine and instant
  • I've been waiting XX hours/days to receive my transaction in Natrium
  • I sent a transaction from Natrium to service Y and have been waiting XX hours/days for it to go through
  • Natrium has a weak node that can't stay in sync

These things are either false or unrelated to Natrium itself. We did make an announcement about upgrading our hardware, which we have fully completed several days ago. Our node has faster storage, more CPUs with faster per-CPU performance, and bountiful memory. It is under no hardware constraints under the current network conditions and we don't expect it to be, since 21.3 it was one of the first nodes to fully sync and catch up as well. We upgraded our node to v21.3 before it was even widely available - to help resolve issues as soon as humanly possible.

So what is happening?

As of writing, there is over 15 million unconfirmed blocks on the ledger, across all nodes. Confirmations are extremely slow due to what happened after the spam. Bootstrapping stopped working until V21.3 which caused all nodes to fall behind, therefore there's a huge backlog of elections/confirmations that need to happen. We expect improvements to this process in V22 which will hopefully clear out the backlog, but we don't really know how that will shake out as we are not involved in development of the Nano node software. Until then, this is the situation that Natrium and every other node operator on the Nano network is dealing with.

Your deposit or withdraw is slow because there's a huge backlog of confirmations and the block hasnt been confirmed yet.

But why is it fast for User A but slow for me?

Nano is asynchronous and every account has its own block chain. User A's chain may be fully confirmed up to the frontier. Your chain probably isn't, and there's nothing we can do about it - we need the network to vote on the blocks and confirm them, which we have no way of influencing. If one block in your chain is unconfirmed, then all blocks produced after it will also be unconfirmed.

Wait, so why is Natrium creating blocks if my chain isn't confirmed?

  1. If we always used the "confirmed" frontier you would not be able to make any transactions until a new frontier is confirmed (meaning, being unable to make a transaction for up to several days). Natrium is a non-custodial service and we don't have the same obligation to ensure a block is confirmed before displaying it in your balance as a service like an exchange would. It's more convenient to be able to queue up a bunch of transactions with the expectation they would all be confirmed (what usually happens and what we'd still expect to happen) See "Bad Advice" below for why this may not be the case for you
  2. Normally this never mattered because Nano confirmed most blocks within a second - and we expect it to return to that state eventually, that just isn't the case now.

Can't we just use a higher PoW?

Natrium allows up to 8x base send difficulty, and uses whatever the network's active_difficulty is up to that. This is beyond what DPoW and most other services even allow. What we're seeing is it doesn't matter, either the active_difficulty is 1x or it's higher and whether or not a block gets confirmed just seems to be "luck of the draw"

Bad advice is being given

We see this all the time:

  • Try importing your seed in Nault
  • Try changing to a different node

If your account has unconfirmed blocks in the chain then this is bad advice. A different node or wallet will most likely allow you to broadcast blocks using a different frontier than what the last one you used was. This creates a fork, and one of the two (or more) chains you created will be invalid and eventually rolled back. This may take a very long time to happen under current network conditions, meaning you will have no idea of knowing which chain will "win" in the end.

The best advice is to be patient and just wait for your blocks to be confirmed. If you're using one node on Nault (as long as it's a good one on 21.3 and up to date) just keep using it. If you're using Natrium with a particular account, keep using Natrium (Natrium's node is a "good" node that's sync'd and up to date).

How is Natrium Improving?

Natrium v2.4.0 is rolling out with the following new features:

  1. Indicating whether or not a transaction is unconfirmed or not. If a transaction is unconfirmed, it will have "unconfirmed" text on it.
  2. Allowing users to change to a different block explorer, this will allow you to change between nanocrawler and nanolooker.
  3. We've added a system where we can show alerts within the app to keep users updated on ongoing issues.

There's also some other minor things such as adding support for the Danish language.

We have not experienced any downtime since upgrading our infrastructure and purchasing a new server for a new node over a week ago, we are just continuing to improve for now and the future.

We are incredibly grateful for all of the support we have gotten since we launched Natrium, and especially grateful for the support we have gotten during these difficult couple of weeks.

Support Natrium Development

Natrium is open source and released under the MIT license — it is completely free. If you would like to support the development of Natrium, you can donate using the link below:

NATRIUM | Donate
Help make Natrium better and support its development by donating
natrium.io/donate

For more info & regular updates:

Natrium Twitter: @NatriumIO

Natrium Website: Natrium.io

Appditto Twitter: @Appditto

Appditto Website: Appditto.com

Appditto Github: @Appditto

Twitter Medium GitHub
Reddit Instagram Dribbble

© 2020, Appditto LLC.