Skip to main content

Network Team Update

· 3 min read
Marcin Szamotulski

High-level summary

The team has focused on debuging & fixing bugs for the P2P single relay release, which included

  • diagnosing, fixing and writing tests for a bug in peer-state-actions which fortunately hasn't been released;
  • diagnosing & preventing misconfiguration of DNS

We also focused on developing peer sharing. We also held a session with the scientists on eclipse evasion.

Detailed description

P2P Network Stack

During the past two weeks the team focused on p2p single relay release and peer sharing. We found and fixed an important bug recently introduced in one of the components of p2p networking stack (fortunately never released). Together with a fix, we designed a unit test diffusion simulation as well as quickcheck property test (both could reproduce it). We also changed the code in a way that if such a bug is reintroduced in the future, it will be obvious to diagnose. For more see:

Initial benchmarking run of the P2P code was executed. The results where unlike what we see on the mainnet. We found a possible misconfiguration of the cluster (caused by 0 TTL on domain names), which could be the direct cause of it. We wrote a PR which rules out such misconfiguration. We are awaiting on the next benchmarking results. See more at:

ouroboros-network#4106

We also started working on P2P single relay release. The PR ouroboros-network#4120 includes 108 patches cherry-picked from the master branch. We started working toward integration these changes against the release branch of cardano-node. Early next week we ought to be able to have an early version of cardano-node with non experimental P2P support!

For more detailed release plan please see P2P - Single Relay issue.

Consensus

We identified and fixed missing error reporting in consensus initialisation phase. See more at ouroboros-network#4015

Cardano Node

We also made changes in cardano-node in order to give better experience for node operators. This includes updating severities of some of the traces as well as implementing new format of the p2p topology file. For more see:

Peer Sharing

We continued working on implementation of peer sharing. We have an early implementation which will be reviewed and analysed in next weeks. We started working on cardano-node integration. We need PR #4392 to be merged before such integration will be able to land in cardano-node, although this is not blocking us currently. See more at:

Eclipse Evasion

We held a session which included Alexander Russel, Sandro Coretti-Drayton and Nick Frisby from the consensus team. We discussed high lever design of the eclipse evasion scheme, which is important for the design and implementation of ouroboros-genesis. We got a positive feedback from the researchers.

IO-Sim

In this period we made little progress towards releasing IO-Sim on Hackage. A single PR which added a few missing instances of the STM monad.

Open Source

We made sure the CI runs for PRs which comes from forks (which is important to accept contributions from 3rd parties).

Mithril Cardano Integration

We held initial discussions with Arnaud Bailly about possible path to integrate mithril to cardano-node and take advantage of the ouroboros-network diffusion layer.