First of all, you may have noticed that there was a missing dev update. I may have been in the UK at that time. Man's gotta take a holiday, yeah? Don't worry though, it was only a week and signficant progress was made in the meantime. I'm sure you'll be pleased to know that we've made some good strides.
Progress Since Last Update
Our practice runs at jolting life into the testnet over the past week (more on that later) have led us to realise that we might not have been quite on the money with our assumptions about p2p networking. We're currently using Substrate's internal p2p code to handle message delivery for our MPC ceremonies, which brings with it some (wibbly wobbly) externalities that we won't be able to avoid if we continue to rely on it. Some thought this week has gone into noodling about a custom connection solution which does not rely on the underlying libp2p internals. I'm sure we'll follow up on this at some point in the future, but it's certainly not terminal and quite a small setback in the grand scheme of things.
We can now govern our chain. Exciting stuff. Initial governance will be used on the testnet for checking various configurations of the protocol, and we will likely use it on Sandstorm to initialise (but critically not force) Runtime Upgrades.
We've also merged most of the support for Backup Validators, which means that anyone who is not in the Active Set still has a chance at earning some rewards.
We're very close indeed to merging our implementation of a new signing protocol called FROST, which is going to make our MPC ceremonies a lot more robust. This one has been a while in the works so we're very excited to take it for a spin.
We're also implementing Backup Validator support on the CFE. Broadly speaking the Backup Validators have a lot less to do than Active Validators, so it's mostly a case of conditionally switching off certain features.
Staking Web App
This one is heading into the QA process, since we're close to having a functioning internal testnet (I promise I'll get there, hold on) we can begin to plug some really real data into this interface and ensure that it does all the things how we expect it to.
Upgradable contracts got scrapped as we realise that if necessary we can create a Runtime Upgrade for the State Chain which manages all that anyway. Another layer of complexity and another set of governance gumpf is probably not worth it.
We got the results back from an initial audit of the Ethereum contracts, there's a couple of juicy ones in there. We probably won't publish the report any time soon (mostly since it's not nicely formatted and it would take too long) but we'll put them through the wringer again before we go live and get something written up.
Alright, fine, I'll talk about it.
We're currently having a few practise runs at getting a network up and running which has all the major features. MPC Keygen & Signing being the main two we're trying to validate here, but with that plugged in we have all of the scaffolding and core structure we need to build from. Once it works first try we'll be sure to let you all know, it'll be a major milestone for the team and will mark the start of the consolidation period for tying up the Sandstorm release. Soon.
Goals for the Next Fortnight
Some quick bullet points about what we hope to achieve by the time the next dev update rolls around.
- [SC] Backup Validator rewards
- [SC] Transaction request/response abstraction (rollover++++)
- [SC] Initial integration testing (this one is very very exciting)
- [SC] Benchmarking
- [CFE] Finish signing process refactor (rollover+)
- [CFE] Investigate alternatives to libp2p comms
- [CFE] Allow CFE to run in non-Validator mode (rollover)
- [CFE] Dare I say it.. testnet?
- [WEB] Design top secret web project
I booted up an Urbit Star recently, so if anyone's around in the 'verse, say hello to ~ripdys.
Things at Chainflip are moving steadily and I'm very pleased with our pace and attitude. It's only going to get better. There's some pretty fun things coming down the pipe to keep you all sated whilst we continue chiselling away at the first release.
Until next time.