Introducing Plenteum v0.3.0
The core software update to version 0.3.0 includes a number of fixes, enhancements, upgrades and improvements throughout the code base.
Aside from some minor technical improvements, the main changes include the following:
- C++ 17 support
- Removal of a number of dependancies on 3rd party libraries
- PoW mining ALGO change
In addition to the above, we’ve also started laying down some foundations for future updates and enhancements, such as a complete re-write of the wallet backends and a new Wallet API app. More on those in future articles!
The main reason for the update, the New Mining (PoW) Algorithm Change!
Over the past few weeks we’ve seen a significant increase in hash rates on our network. The large majority of this hash is coming from an unknown source, which may be new pools we are not yet aware of, GPU and/or CPU Mining farms or ASIC’s and/or FPGA’s. It’s the consensus of the community that the likely cause of this increase is from new Cryptonight Lite capable ASIC and FPGA miners.
This significant increase in hashrate has made it more difficult for the project to meet one of its core goals. To remain mineable for everyone. After careful consideration, we believe it’s time to perform a soft fork to a new Proof-of-Work (PoW) algorithm.
Such a change is not taken lightly, and we’ve given considerable thought to where the project should go in this regard. We’ve seen a few networks using CryptoNight Soft Shell variants with varying degrees of success. Although considerable work has been done to support Soft Shell pools, we’re not quite ready to move over to Soft Shell just yet.
Introducing CryptoNight Turtle!
To put it simply, CryptoNight Turtle is a tweak to the standard CryptoNight family that significantly increases the speed at which hashes can be computed. This is accomplished in two ways.
Firstly, we’re dropping the iteration count to a quarter of what it is currently, from 524,288 iterations to 131,072 iterations. This will result in the base hashrate increasing for every miner.
Secondly, we’re dropping the scratch pad size to a quarter of it’s current size, from 1MB (CN Lite) to 256KB (CN Turtle). This is because we want to make everything go faster and when we’re dropping the iteration count, we need to make sure that the scratchpad is used effectively to prevent some interesting attack vectors.
So that makes everything even faster, which means an even higher network hash rate!
Block Major version 5 is planned to activate CryptoNight Turtle (lite) variant 2. Those of you following other projects using v2 likely know that there is a performance penalty incurred by variant 2 hashing. We’ve personally seen a performance hit of anywhere from 12% to 45% on some hardware. While that’s not ideal, we do like the premise behind variant 2.
To balance the performance impact of variant 2 out, we’re going to hash faster with CryptoNight Turtle. The two effectively cancel each other out and we gain the benefit of soft forking away from potential ASIC/FPGA miners. You should see a hashrate increase on your miner(s) because of the move to CryptoNight Turtle (lite). Although we haven’t tested all possible hardware, we do expect a higher increase on CPU miners vs GPU miners. This is happy result for us, as while the change to variant 2 will help strengthen Plenteum’s ASIC/FPGA resistance, it also increases the ability for everyday users to mine with a laptop or desktop CPU, which will hopefully have a positive impact on distribution.
Future PoW changes will also be designed to further strengthen the project’s ASIC/FPGA resistance to try to keep Plenteum mineable for everyone.
We have the core code ready for the soft fork to Cryptonight Turtle (lite) scheduled for block 130,000. The main pool software has been updated to support it as well as the underlying Node.js Hashing Library and the Node.js Cryptonote Library have been updated.
There’s still work to be done on mining software and any community assistance is, as always, appreciated.
We’ve had the upgrade running on our testnet for a couple weeks and in conjunction with the TurtleCoin developers, we’ve been working on adding support to common miner projects to support this change including:
SRBMiner (thanks to SRBMiner Developers for getting support added so quickly)
Mining software needs support added as things progress, but for the intial fork, we have you covered with the above listed mining software packages. If you want to give us a hand in getting support added to other projects, join us on discord and chat with us in the #development channel.
One thing we do need to point out, is that unfortunately, with our Block structures, it’s currently not possible to auto-upgrade the mining algo change with mining software such as XMR-Stak without breaking backwards compatibility with the network software, so for this fork, you will need to manually switch your algo within your updated mining software when the upgrade height of 130, 000 is reached.
If you own or operate a pool that is not based on our pool software, Cryptonote-NodeJS-Pool, then we’d appreciate if you could get in touch with us to discuss the changes needed to support the new algo. We will publish an Article describing the changes required and the details of where you can find the new hashing libraries that support CN Turtle v2.
Please make sure you’re ready for the soft fork as early as possible.
As with any soft fork, if and when the fork occurs, prior versions of the software will no longer be compatible with the rest of the network after soft fork completion (after the fork height has been reached).
What’s Next for Plenteum?
We have lots of plans for Plenteum and We’re already putting thought into the next PoW algorithm change after v5. Those discussions will be published in a new article, so as always, stay tuned.