Chainflip Development Update — July 29th 2022

Chainflip Development Update — July 29th 2022

Paradise net might be short lived. Unhappy tourists are calling for the heads of the holiday representatives. We’re bringing you all the updates.

Progress Since Last Update

Some highlights since the last time we spoke:

  • More benchmarks
  • Lots more web application testing
  • Fixed a critical bug which could cause us to skip State Chain events
  • Removed defunct “Passive” node categorisation
  • Modified our Substrate address format (all Chainflip accounts now start with cF)

Paradise Net

The big goal that we had since the last update though was to launch the brand new and improved Paradise net. I’m glad to say that we did launch Paradise to a lovely internal bunch of supporters, but I’m unhappy to say that the initial external deployment has alerted us to some pretty serious instability in libp2p (Substrate internals).

Previously those issues were probably masked by some of our own wonky logic (not to mention the insane memory usage by JSONRPC), but this time it looks like it might be terminal for our relationship with libp2p. Substrate’s own lead networking engineer doesn’t have many nice things to say about it, either.

We’ve never really been that bullish on libp2p, but until now it’s not really been possible to nail all the blame to the underlying networking code. The memory issue that we fixed a fortnight ago was the main thing we suspected to be causing instabilities. Since fixing it we were able to run a 150-node keygen internally, but the public network appears incapable of rising above ~50 nodes even though we have ~90 staked. Blegh.

Good news:

  • We’re finding the bugs now, and not in prod.
  • The Paradise community is extremely cosy.
  • Regardless of the p2p instability, the protocol is robust and eventually reaches a harmonious state, fulfilling the rest of its duties without complaint.
  • Even though it’s not good enough for us, our testnet is (as far as we know) the biggest and most distributed deployment of non-custodial cryptocurrency MPC that we’re aware of right now.

Bad news:

  • Two of our own nodes with identical setups are incapable of communicating with each other reliably.
  • This is a pretty big setback, and we’re measuring the time to fix in weeks if not months.

Goals for the Next Fortnight

Some quick bullet points detailing the major milestones that we hope to achieve by the time the next dev update rolls around.

  • Decide on way forward re. p2p comms
  • Welcome another member to our Substrate team
  • Multithread(ish) the MPC ceremonies
  • Async error handling

General Thoughts

The holiday season will be back.

Until next time.