The Nexus wallet alpha phase officially began on August 10, 2018! This is the final phase of major development of the new GUI (Graphical User Interface) that will replace the original Nexus QT wallet. The front-end development team is building out some final features while the back-end developers are simultaneously testing, error reporting, and improving basic functionality. Both are working through the set of errors and issues to handle as many cases as they can find. All open tickets are documented in Jira and the devs are compiling reports based on all new suggestions to prepare for beta.
The rest of the testing phases will be organized into groups, subject to change based on how development is going:
- Beta Phase 1 – private link for 10-20 people from the Slack community
- Beta Phase 2 – private link for 30-50 people from greater Nexus community
- Beta Phase 3 – public, open-source release to full community
- Beta Phase 4 – full public release for final feedback before Version 1
The developers are compiling a general checklist of basic functions that will be further tested by these groups and supplemented with other finds. They are working with all three desktop platforms: Mac, Windows, and Linux. For Linux, the devs are compiling a document with steps to build and run on a fresh installation of Ubuntu 18.04 through a VMware that sits on top of Windows 10 to insure a seamless build for new testers.
The look and feel of the new wallet has evolved continuously from where it originated over nine months ago. The devs are working hard through the initial bug fixes and look forward to getting the wallet into the hands of our community for further feedback. We will continue to provide updates throughout beta.
One of the most fascinating things about the Nexus blockchain is that it incorporates three different channels to validate data: a proof-of-stake, a hashing proof-of-work, and a prime proof-of-work channel. For over a year, our community has tried to solve a dilemma with the prime channel: our previous miners were too inefficient to compete with a monopolizing force. Now, thanks to Jack McGowen (@Blackjack) and Nexus Lover’s (@nobody) guidance, we have taken a crucial step in decentralizing the prime channel.
The prime miner is a proof-of-work algorithm that searches for dense prime clusters. The larger and more dense the cluster, the more difficult it is to find. Primes are unique mathematical constants that are useful in cryptography. As a comparison, a GPU miner tries different nonce values and hashes each with the block header to try and find a hash that meets difficulty levels. The prime miner doesn’t hash. Instead it searches for primes, repeatedly trying different offsets (nonce values) until it finds one that is the start of a dense prime cluster of the required difficulty. Then it uses that to create the block hash and publishes the block.
Essentially, the new prime miner can be broken down into a two part algorithm: sieving and testing.* “You can’t allow either one to be too slow; the whole algorithm will only be as fast as the slowest part,” says Jack McGowen, “so it’s a balance.” The first fork introduced GPU sieving, but the majority of the testing was tasked to the CPU which became bottlenecked even for high end CPUs. The forked implementation in the new version has added GPU primality testing, which removed that bottleneck. So the miner went from 2-8k tests per second on a single CPU to 50-130k tests per second per GPU, hardware depending.
Jack dove into the Nexus community in July 2017. He has always been fascinated with GPU capabilities and studied to become a graphics programmer for the video game industry. He obtained his BSCS in Real-Time Interactive Simulation at DigiPen Institute of Technology in April 2017.
“I had a great time working on this. This was my first miner and it was a great challenge,” he says. “I started on it in March. I had to put that education to use somehow! It feels good empowering the miners and the network. Do what you enjoy. Do something meaningful. Build something for a better future. I believe Nexus is that future.”
The Prime GPU Miner Beta goes live on Github today so anyone who is curious can check out the code and contribute to optimizing it even further as it is highly configurable. The miner currently only runs on Linux and you can follow the readme for the new configuration settings.
*Sieving is the process of marking off bits in an array that represent big integers larger than the block hash. You mark off multiples of prime numbers to eliminate composites and the remaining bits are probably prime. Then the second part, the testing, validates their primality.