Chainflip Development Update — July 27th 2023

Chainflip Development Update — July 27th 2023

Dear readers of the Dev-Update,

It’s been some time since the last dev update. When the time came for the next post, I was lying in bed with a fever, unable to put out anything helpful or funny. Luckily, my recovery was quick. Since then, many things happened and kept us busy, so this update will be a bit longer than usual.

Progress

  • The Audit is finished! Now we are officially allowed to disclose the name of the Auditor. It was none other than “Trail of Bits”, who dug into our code and left no function unturned in order to find potential issues with what we had built. While they did find some noteworthy things, the overall outcome is very favourable and we are all incredibly proud of the quality of our code and the effort that the auditors had to go through in order to find anything substantial. We were able to address their findings and the final report including our comments can be found here. Feel free to have a look!
  • Perseverance version 0.8.7 is out! As you can tell by the version number and the activity on the network, we had to create several fixes on top of the 0.8 release. These were necessary, because we activated more and more features in this release, which rely on correct interaction with the other supported blockchains like Ethereum, Bitcoin and Polkadot. Compared to our local tests, these public chains can behave in weird ways that are hard to predict. Just this morning, the average time between blocks on the Bitcoin Testnet was around 2-3 seconds, even though the target is supposed to be 10 minutes. Another complication is that the current version of our engine is quite generous with sending requests to the other blockchain nodes. This caused problems with the Polkadot nodes not being able to handle the load or with exhausting the credits for ETH nodes. In turn, that caused validators to not witness correctly and ultimately made the whole experience feel sub-standard. We kept fixing parts of the code, but eventually made a decision that allows me to segway to the next point:
  • We are refactoring our witnessing code! Pretty much all problems we encountered in Perseverance had to do with how we were reading data from other blockchains. Be it the unnecessary number of requests that were being sent or the fact that if a node didn’t reply in time the witnesser would get very upset. Based on all the experience we gained on Perseverance we had two of our most skilled chainflippers redesign the witnessing from the ground up.
  • Our APIs are out! Whether you want to play the part of a Broker or a Liquidity Provider, or just need a convenient way of interacting with Chainflip to run nodes, we don’t expect you to learn about the details of the Substrate ecosystem. We have released the first versions of our LP-API, our Broker-API and our SDK. Many of our partners are currently testing them out so that they feel comfortable for launch day.

Outlook

  • After the audit is before the audit! I know what you’re thinking: You guys just had your witnessing code audited and now you are completely replacing it? Yes, if something causes you pain, get rid of it. This is the way. However, for added fun we are already looking into getting another audit under way!
  • As of writing this, the last changes for the witnessing refactor are being reviewed and merged and we are excited to see the new system in action on Perseverance 0.9 soon.
  • We are adding another protocol to the list of supported blockchains. Because it will be EVM based and we already support Ethereum, this will be easier than for example Bitcoin.

Vibe Check

As mentioned in the last update, we have a new team member. Allow me to introduce Marcello. He joins us from beautiful Italy and will be our support engineer, helping to coordinate between our community and the developers, tracking issues and fixes and providing a helping hand in all things related to running validators. Welcome to Chainflip!

Simon took us to his favourite Pizza place in Berlin this week. Being a larger group, we pushed some tables together, but the waiter didn’t like that reorg at all… Anyway, we got our Pizza and even Marcello agreed that it tasted great. Inspired by this, Ramiz took up the challenge and decided to make some Pakistani food for the entire office tonight. We are eagerly awaiting his cooking skills.

Until next time,

Martin