Chainflip Development Update — April 16th

Welcome to the inaugural Chainflip Development Update. As of today, I’ll be compiling fortnightly notes about technical progress on the Chainflip system.

Chainflip Development Update — April 16th

Welcome to the inaugural Chainflip Development Update. As of today, I’ll be compiling fortnightly notes about technical progress on the Chainflip system. This will serve the dual purpose of charting a rough path through the often-murky waters of software engineering, as well as scratching the persistent external itch for updates.

The structure of these updates will be (loosely) as follows:

  1. Progress since last update (with reference to previous goals)
  2. Goals for the next fortnight
  3. General unstructured thoughts

Without further adieu, let’s roll into it.

Progress Since Last Update

Last update? Isn’t this the first update? Yes! But Simon decided to roll out Community Update #1 instead and so my last update was absorbed into that beast of an article. I’m going to pretend I’m not sad about that. Since this is the first standalone update, I’ll build on what was discussed in Community Update #1.

Research

Research is a necessary component of building something completely new like Chainflip, so it should be no surprise that we’ve spent a lot of time benchmarking approaches to a few different aspects of our solution. In the past couple of weeks that’s included some GG20 benchmarks (bitcoin/litecoin signing algorithm), as well as testing some different approaches to the swapping algorithm that we’ll implement. Chainflip has some unique challenges since we’re building an “instant” (single tx) AMM across Blockchains with different block times. I’ll speak more about this in a future update once we’re settled on the approach. We’re also looking into p2p comms for the off-chain aspects of our solution (the signature generation process).

Specification

It’s not all research though, we’ve made some solid progress on some of the finer points of the design such as the final TLA+ models; the events our blockchain will emit; and the communication specifications for modules internal to the validator software. Chainflip is a complicated piece of tech with a lot of different moving parts, so standardising the way that they all talk to one another will make our lives a lot easier.

Development

And the part that you’ve all been waiting for, the code. This week we started laying down the first real lines of code for the Sandstorm release. We’re taking a minimalistic and bitesize approach to implementation, tackling our chain’s functions one at a time. I’ll give a more substantial update regarding the progress on our implementation in the next update.

Goals for the Next Fortnight

The next two weeks will span the conclusion of our first iteration and the kickoff of the second.

Development Goals

  • Implementation of most of our chain’s “extrinsics” (the functions which can be invoked by the outside world) relating to staking and claiming $FLIP
  • Proof of concept for a p2p comms method which will allow us to perform our signature ceremonies more efficiently
  • Finalisation of our Ethereum treasury interface (the treasury will provide additional yield for Ethereum-based assets)
  • Construction of the web application’s state schema (information which drives the functionality)
  • Conclusion of the website rebuild

Process Goals

  • Securing two more Rust engineers
  • Holding the first iteration retrospectives and collecting feedback from the team about how to improve our processes

General Thoughts

It’s great to be getting stuck into the meat of the problem this week. We’ve spent a lot of time at the whiteboard over the last few months, so to see all that hard work pay off is very rewarding. Our approach to tackling the challenges ahead is both structured and careful, with most of the larger questions already answered. Measure twice, cut once, as they say.

Make no mistake, the reason our product does not exist yet is because it’s difficult. Extremely difficult. The engineering problems we’re solving here are not those you’d find in Baby’s First Software Startup. We’re concurrently tackling threshold encryption; multi-party computation; cryptoeconomics; game theory; fault tolerance; and more.

Despite the challenges ahead, the team we’ve assembled is world-beating. I have the utmost faith that what we’re going to deliver together will knock the Unisocks off everyone in the industry, and (maybe most importantly) look good while doing it.

There are still some open questions that we need to answer before we can deliver the entirety of Chainflip, but I’m confident that they won’t pose too much of a challenge or slow us down any more than we have already budgeted for.

Until next time.

Tom