Electroneum’s Proof of Responsibility

On a recent email from Electroneum Ltd., some things come up; one of the most interesting thing I would say is the concept of Proof of Responsibility. And as usual, Ells explains it very well.

Super exciting news! We’ve just undertaken a successful fork to an improved blockchain model that we have developed called Proof of Responsibility. This model brings a new level of confidence, security and scalability required to achieve mass adoption.

We have developed our blockchain to:

  • Become one of the few cryptocurrencies that is insusceptible to 51% attack
  • Reduce our block reward (new coin emission) by 75%
  • Increase scalability, confidence and commercial viability
  • Speed up on-chain transactions
  • Involve relevant and influential Non Governmental Organisations (NGOs) in the Electroneum project.

With this development we have engineered two new blockchain processes; Proof of Responsibility and Moderated blockchain. Delivering all the benefits of decentralisation whilst adding new layers of protection.

(A 17 minute video version with even more detail is available here: https://youtu.be/OuhHKFRiuzw)

IMPORTANT

If you run a full node (i.e. if you are a technical user or an exchange) you need to ensure you download and use the latest software from our Github library (https://github.com/electroneum/electroneum).

If you are a mobile user – no action is required.

Proof of Responsibility

We have moved from Proof of Work (used by the majority of cryptocurrencies) to a new way of mining Electroneum that we call Proof of Responsibility. It is a decentralised network layer that is run by responsible global organisations operating in the developing world that have been qualified to participate. This achieves a number of things:

  • It means that the NGOs get the block reward and they will use it to help the same target people in the countries we are empowering with ETN this year.
  • A huge increase in the security of the ETN network via our highly trusted nodes makes us insusceptible to a 51% attack on our network.
  • Radically reduces power consumption of the Electroneum blockchain making it more environmentally friendly than most other cryptocurrencies. Our new blockchain runs on ONE MILLIONTH of the electricity that it took before!
  • It educates NGOs about the Electroneum project and furthers the legitimacy of all cryptocurrencies by making them valuable to influential organisations.

75% Block Reward Reduction

Each ETN block that gets added to the blockchain releases a block reward. This reward has been reduced by 75%. We had a very large block reward when we launched to encourage hashing power, but we no longer need that enormous hashing power as we’ve launched our new Proof of Responsibility Blockchain. This reduction in output increases the length of time that the block reward lasts for (like Bitcoin, ETN has a finite maximum supply). The remaining 25% of the block reward goes to the new miners on our decentralised layer (see below).

Moderated Blockchain (Additional Security via Highly Trusted Nodes)

We’ve changed the way our blockchain operates to hugely increase the security. We have created a new blockchain model called Moderated Blockchain.

Our moderated blockchain operates two layers:

Layer One: A decentralised layer where our trusted miners operate their mining servers and handle the ETN transactions.

Layer Two: A second layer of highly trusted nodes is operated by us (Electroneum) as a company.

People already trust Electroneum as a brand, they trust us with the instant payment system, the custodial wallet app system and with the KYC/AML system. This blockchain update utilises that trust to add a new layer of highly trusted nodes to the blockchain.

These highly trusted nodes passively monitor the blockchain for unusual or damaging activity and have the power to shut down that activity in seconds.

Official Announcement From Electroneum Team Explaining Issues After The Fork

Hello everyone,

In this post I will be covering how we handled the issues we had after forking to V6, listing down the real issues despite the FUD ones. I wanted to write this post earlier but we were so busy analyzing and discussing how we would handle the issues from last few days that I couldn’t fine a reasonable time window to write a complete post like this one.

Firstly, I would like to list all of our issues after forking to V6 as well as doing a brief commentary of each one.

1) Difficulty was too high considering post-fork hash rate.

  • Going straight to the point: yes, it was our fault. We didn’t expected such sudden drop in the hash rate after forking (from 1.6GH/s to 2MH/s). To be honest we were predicting a hash rate of ~200MH/s. However, we have acknowledged that our prediction doesn’t make any sense at all! Why would we still have 200MH/s of CPU/GPU miners in such high difficulty set by ASICs? It simply doesn’t make sense and now we understand that.

2) Mempool had some RingSize 5 transactions that were invalidating the block, thus not being able to mine any block at all.

  • We missed the mempool handling of old transactions, meaning that we should have implemented a code to drop invalid transactions from the mempool according to the current network consensus (transaction max ringsize = 1). This was causing blocks containing these invalid transactions being rejected at node level and the network got stuck, not being able to output a single block.

How we handled these problems in the last few days:

We didn’t wanted to fork again in order to fix these issues. Forking means that all pools, exchanges and miners would need to update their software in a relatively short period of time, and usually an emergency fork is not something good either. Plus, forking would involve few more days of testing, releasing binaries and waiting for everyone to update.

With that in mind, this is how we decided to manage the issues:

  • Issue #1: we decided to rent some hashing power in NiceHash to speed up the difficulty adjustment process. However, since the network was stuck due to the issue #2, we had to start mining empty blocks because they would not get rejected as they are empty of transactions. Mining empty blocks gave some time to invalid ringsize 5 transactions in the mempool to expire so that we could start mine regular blocks again. We could have switched back to mine regular blocks after 3 days from the fork (transactions have 3 days life time in the mempool), but we didn’t decided to do so. NanoPool was reporting that some blocks were still getting rejected on their end, so we decided to keep mining empty blocks to reduce the difficulty so that, with the block time reduced to a few minutes, we would be able to better investigate the issue reported more efficiently. Plus, going back to mine regular blocks would mean that some blocks could be still rejected (according to NanoPool), thus drastically increasing the time needed to reach block 307575 in which the difficulty level would be adjusted. In addition, if we decided to mine regular blocks at that time and a block gets rejected, we would have spent way more with NiceHash than we currently did in order to reduce the difficulty level, since rejected blocks are not considered by the difficulty adjustment algorithm.

  • Issue #2: for the invalid transactions in the mempool, we have simply waited for them to expire. However, in parallel, we implemented the proper mempool handling of invalid transactions so it gets flushed automatically. This patch would be released soon and it wont require a fork since it is a minor update. We had the chance to apply this patch to our own daemon when the mempool had invalid transaction in order to fully test this change, it and went fine!

Today we reached block 307575 and the difficulty level have dropped significantly as we predicted. With the difficulty level adjusted within GPU rig ranges, several pools other than Nano (which was mining empty blocks) could successfully mine regular blocks (with transactions included). Meaning that the block rejection issue reported by NanoPool was just “bad luck” from their side. It’s worth mention that we didn’t release or send any additional patches to the pools. They are actually running our ETN V2.0.0 original code and being able to mine regular blocks!

It is worth mentioning that a few blocks are still empty because NanoPool haven’t reverted their code to original ETN V2.0.0. They are running a specific code to mine empty blocks and it should be reverted to normal soon. We may see some more empty blocks until they do this revert. Fairhash also has a specific code regarding mempool treatment in which they are only keeping 5 TXs in it for logging and debugging purposes. They should revert the code to original ETN v2.0.0 and start mining regular blocks soon.

Couple interesting points I noticed today:

  1. One of the blocks that were mined earlier today had a total of 222 transactions in it, meaning that we could support ~2 transactions per second. That is not bad at all compared to other blockchain technologies. Still, we’re looking forward to increase our transaction throughput even more in the future!

  2. Electroneum is currently the most profitable CryptoNight coin to mine!

I would like to thank everyone who contributed supporting us during this tough period.

Some of you even suggested possible fixes on GitHub!

Regards,

Andre Patta

 

Complete discussion can be found here:

How Electroneum handled issues after forking to V6? from Electroneum

Electroneum Blockchain Upgrade Update

Tech Update

The tech team have calculated that 5th June we should see transactions restored on our blockchain and profitability return for GPU miners – which should restore blockchain functionality.

All the new blockchain enhancements will go live with the return of full functionality.

Estimated Block Difficulty:
307575:180,270,746,500
307576:82,493,331,117
307577:24,072,409,453
307578:19,709,104,316

Thank you for your patience during this blockchain upgrade, which was required to ensure it can cope with the much higher transactional volumes that we’ve experienced and predicted for the future.

 

More info:

Tech UpdateThe tech team have calculated that tomorrow (5th June) we should see transactions restored on our…

Posted by Electroneum on Monday, June 4, 2018

Critical Update Regarding The Electroneum Network Upgrade

There is a CRITICAL network upgrade planned for 30th May 2018 (block height 307,500). The estimated time of upgrade will be 09:30 UTC.

If you are a regular App user or my.electroneum.com user, you do not need to do anything. However, if you mine via a Pool please ensure that pool is aware that they MUST update their wallet and node software before May 29th.

The latest software is available from GitHub

Please share this information as much as possible to ensure a smooth transition that will bring about numerous positive changes within the community! The full information on how to update your nodes are clearly outlined here on the blog: https://electroneum.com/2018/05/17/critical-electroneum-network-upgrade/

Thank you for your involvement this week, do remember to share our news regarding the Network upgrade and have a fantastic week!

The Electroneum Team.