Developer Update: 7/30/2018

A look into v14.3 and Vote Stapling

Hi everyone,

Just a small update today as our team continues to push towards the release of v15.0 of the Nano node along with finalizing v14.3, a patch that addresses network improvements to syncing and voting.

Checking in on v14.3

One of the largest improvements we’ve made as a team is process improvement. This focus on quality is paramount to the work and aspirations that we have. All protocol changes must go through strict code reviews by the team, discussion among the community, and stringent testing on the beta network.

As you may be aware, the team has been prepping a patch release, v14.3, to address a vote resolution issue that can appear during bootstrapping. The pull requests (PRs) all passed build quality checks and code audits, however, when put on the beta network for testing we experienced some delays in syncing in some cases, and it is requiring some additional debugging.

Our goal is to keep you updated throughout the lifecycle of each release. We’ve begun taking additional steps to document the milestones and update each milestone’s progress as we proceed. We encourage you to follow along via our GitHub! Once we finish debugging the sync issue in this build, we should have a better timeline for release.

The milestone tracker for v14.3 can be found here: https://github.com/nanocurrency/raiblocks/milestone/3. Both Russel and Roy have been updating, as well as commenting on individual PRs.

A look into the v14.3 milestone

A look ahead

As you may have read from our last Dev Update, optimizations are inbound with v15, but the fun doesn’t stop there! We’re also starting our planning process for what’s around the corner, and specifically some features of v16.

One of those features that we’d like to introduce you to now is Vote Stapling.

Currently, when a transaction occurs on the network, a vote is called to all online voting representatives. This causes a flurry of voting activity, not all of which is necessary. With vote stapling, when a node publishes a block, it will first communicate directly with representatives to make an aggregate signature. Then, the node will publish the block along with the aggregate signature in the same message. The aggregate signature is the same size as a normal signature, because it uses a multi-signature protocol called MuSig: https://blockstream.com/2018/01/23/musig-key-aggregation-schnorr-signatures.html.

tl;dr: This means that we can package up the entire voting process into the size of one vote.

For a deeper and more detailed look into vote stapling, visit https://github.com/nanocurrency/raiblocks/pull/1006.

Colin’s Appearance on The Nanocast

A big thanks to Shawn for having Colin on his show last week. For those of you who missed it, you can view it here. Instead of focusing on the more technical aspects of Nano, they discussed Colin’s background, his thoughts on the current cryptocurrency landscape and his long-term vision for Nano.

We’re always looking for messaging that resonates with users — What stood out to you from Colin’s Nanocast appearance? Tweet us and let us know!

-Troy