Skip to main content

63 posts tagged with "network"

View All Tags

Network Team Update

· 4 min read
Marcin Szamotulski
Network Team Lead

Overview of sprints: 108 and 109.

Cardano Node 10.7.0

We relased

  • ouroboros-network-1.0.0.0 (later refined with ouroboros-network-1.1.0.0
  • cardano-diffusion-1.1.0.0 which are integrated with the ongoing cardano-node-10.7 release.

See release board for all PRs included in these releases.

Leios

PR / IssueStatus
Mux egress prioritisationin progress
Performance improvement for tx-submission v2in progress
TxSubmissionV2 demoin progress
Expand network sectionin review

Ouroboros-Network

PR / IssueStatusNotes
tx-submission robustness and testing enhancementsmerged
RNG handling in SRV lookups for public root peersclosedcontribution by Saviour Uzoukwu
cardano ping implemented with ouroboros-networkblocked
mux: refactored ReadBuffer & socket API changesmerged
ledger-peers: introduced SignLedgerPeersKindmerged
cardano-ping: output valid JSON when no pongs are receivedmerged
Add {To,From}JSON instances for TxSubmissionLogicVersionmerged
[Cardano Topology: module exports][pr#5339]merged
Haddock improvementsmerged

DMQ-Node

PR / IssueStatusnotes
SigSubmission v2merged
Integration with cardano-tracerin progress
[Churn test][#5303]merged
Updated dependencies of dmq-nodemerged
Improved documentationmerged
Fixed number of unacknowledged sigIds on the outbound sidemerged
[Added pattern synonyms for EraIndex (CardanoEras c)][pr#1919]mergedouroboros-consensus change needed for Ledger peers
Ledger peersmerged
[dmq-node-0.3.0.0 pre-release][pr#37]merged
Haddocks, docs & release scriptsmerged

IOSim

PR / IssueStatus
Added flushEventLog to MonadEventlogmerged
io-sim improvementsmerged
PR review commentsmerged
ghc-9.14 supportmerged
io-sim: io-classes constraintmerged

Network Team Update

· 2 min read
Marcin Szamotulski
Network Team Lead

Overview of sprint 107.

Cardano Node 10.5.4

We rolled out cardano-node-10.5.4 release.

Leios

PR / IssueStatus
Mux Leios Simulationmerged
Mux egress prioritisationin progress
Mux egress fairnessresolved

Ouroboros-Network

PR / IssueStatusNotes
StandardHash with NFData constraintmerged
Tracing Librariesmerged
[tx-submission robustness and testing enhancements][pr#5315]in review
RNG handling in SRV lookups for public root peersin reviewcontribution by Saviour Uzoukwu
cardano ping implemented with ouroboros-networkblocked

Documentation

Maintenance

DMQ-Node

PR / IssueStatus
SigSubmission v2in review
Integration with cardano-tracerin progress
[Set the correct magic field][pr#30]merged
[Churn test][#5303]in review

Network Team Update

· 3 min read
Marcin Szamotulski
Network Team Lead

Overview of sprints: 103, 104, 105, 106.

The most important changes are patches developed after the November fork incident on Mainnet, which make the diffusion layer more robust. These patches are released in the cardano-node-10.5.4 release. We highly recommend updating to 10.5.4 as these change make the Cardano Network more robust. We'd like to thank Karl Knutsson (CF) who developed these patches.

This report only contains issues/PRs finished/merged in the sprints 103 through 106. Work that has been carried and finished in the current sprint will be reported in the future.

Ouroboros-Network

Diffusion

Cardano-Ping

Leios

Technical Debt

Cardano-Node

DMQ-Node

Network Team Update

· 2 min read
Marcin Szamotulski
Network Team Lead

Overview of spint 102

Leios

We completed a basic prototype of a request-respond mini-protocol that supports server-side message reordering while ensuring both deadlock and livelock freedom. The prototype was reviewed by the consensus and formal methods teams. Next development steps involve simplifying the API and evaluating specific modifications tailored for Leios. At this point, we consider the technical risk of this development direction to be addressed and are transitioning to other, higher-priority Leios tasks.

Mithril

We're moving the development to a new repository: https://github.com/IntersectMBO/dmq-node

Ouroboros Network

Cardano Node

Network Team Update

· 3 min read
Marcin Szamotulski
Network Team Lead
Marcin Wójtowicz
Network Engineer

Overview of spint 100 and 101

Cardano Incident

On November 12th, Cardano experienced a fork due to a bug in ledger (de-)serialisation. Some nodes accepted an invalid tx, while others rejected it, leading to a fork of the chain.

The network team worked closely with the other Cadano teams, Intersect, Cardano Foundation, Emurgo, and stake pool operators to monitor and resolve the incident.

The network layer was not affected by the incident, and its resiliency played a role in the recovery of the network. We identified some areas that can further improve the network layer's robustness in such situations, and we'll be working on addressing these issues.

Churn Mitigation

We rolled out a churn mitigation included in the latest cardano-node-10.5 and 10.6 releases. This change ensures the speed of churn of hot peers is at least the speed of churn for established peers, and the speed of churn of the established peers is at least the speed of churn of known peers. This way, we avoid a situation where, over a long period of time, established peers will accumulate already tried hot peers, and cold peers will accumulate already tried established peers. See #5238 for more details.

The issue was identified using CF's cardano-ignite tool, with analysis provided by Karl Knutsson.

DMQ-Node

We are initiating a public repository for dmq-node to host its codebase.

We removed the KES evolution configuration; as a consequence, the genesis file option is no longer needed in the configuration of dmq-node, see #5244.

Ouroboros Leios development

Leios Demo

We have contributed improvements to consensus team's Leios demo, which includes minimal prototypes of a few miniprotocols and a simple network emulation layer for exchanging data between a leios server and patched cardano nodes. Our updates addressed unrealistic results obtained stemming from the use of a program toxiproxy for modeling bandwidth and delays. We have also improved our packet capture tooling and gathered some preliminary data for analysis. Based on this early investigation, we have identified a few areas where non-trivial changes may have to be made to the network stack to support the new protocol, as well as new features which could be introduced to deal with greatly expanded traffic requirements, while maintaining the base Praos protocol timeliness guarantees. More details about this were provided at the recent November Leios demo presentation, and further work will continue along these lines.

Server-side re-ordering for a request-response mini-protocol

It is a requirement of Leios to support Frishest-First delivery. For that purpose we started to work on a prototype implementationof a request-response mini-protocol which allows for server side re-ordering while maintaining typed-protocols safety guarantees of deadlock & live-lock freedom.

Peer Selection Improvements

Refined peer selection for local root peers behind firewalls: instead of polling, it now waits for incoming connections and reuses them outbound. See #5241 for details.