-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
100 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
--- | ||
title: Network Team Update | ||
slug: 2023-09-01-network | ||
authors: coot | ||
tags: [network] | ||
hide_table_of_contents: false | ||
--- | ||
|
||
## High-level overview of [sprint 43][sprint-43] | ||
|
||
In this sprint, we received contributions from [CF] & [Galois]. Karl Knutsson | ||
([CF]) has addressed various issues regarding peer churning in P2P, timeouts | ||
and our `WireShark` dissector. While the [Galois] developers focused on | ||
addressing issues from their review last year. See below for more details. | ||
|
||
We continued working on bootstrap peers [ouroboros-network-#4661]. | ||
|
||
We refactored our test suites: they are split into `io-tests` which require to | ||
be run natively on all platforms (these tests mostly contain tests that | ||
require `IO` system calls) and `sim-tests` which are platform independent. We | ||
run `io-tests` on all supported platforms (e.g. `x86_64-linux`, | ||
`x86-64-darwin`, `aarch64-darwin` and `x86_64-w64-mingw32` (Windows)) natively. | ||
The `sim-tests` are not executed on `Windows` due to memory limitations on | ||
GitHub Actions runners. [ouroboros-network-#4653] | ||
|
||
We also started rebasing `typed-protocols` refactoring branches. | ||
|
||
Marcin was appointed as the `cardano-node` release engineer for the `8.4.0-pre` | ||
version. So far he integrated `cardano-ledger-conway-1.8` and | ||
`ouroboros-network-0.9.1.0` to `ouroboros-consensus`, `cardano-cli` and | ||
`cardano-api`. Once we will have an integration branch for `cardano-node`, | ||
`cardano-ledger-conway-1.8` and `ouroboros-consensus` packages can be released | ||
to `CHaP` and PRs can be merged once they go through review & CI. | ||
|
||
We also fixed some smaller issues regarding peer sharing (both were discovered | ||
by Karl from [CF]). More details are included below. | ||
|
||
### Progress on P2P addoption | ||
|
||
#### SPO relays | ||
|
||
There are currently ~2000 relays running P2P | ||
enabled nodes that belong to 557 pools with a combined stake of 7900Mil Ada. On | ||
16th of August it was ~1700 relays, 531 pools with a combined stake of 7700Mil | ||
Ada. | ||
|
||
![P2P relays](/images/network/2023-08-31-p2p-relays.png) | ||
|
||
The following graphs show several different versions of relays running on the mainnet. The | ||
green line `NodeToNodeVersionV10.True` denotes P2P relays, which slowly | ||
increase over time. The `V9` and earlier versions of the `node-to-node` | ||
the protocol indicates nodes version `1.35.x` or earlier. | ||
![node versions](/images/network/2023-08-31-relay-versions.png) | ||
|
||
Data has been kindly provided by [CF] and their mainnet monitoring | ||
infrastructure. | ||
|
||
#### IOG relays | ||
|
||
As of this week, 90% of IOG relays are running a P2P setup. In the next sprint all | ||
IOG relays will be running P2P. | ||
|
||
## Detailed description | ||
|
||
In this sprint, we got a few contributions from [CF]: | ||
* Karl made peer churning mechanism less aggressive [ouroboros-network-#4656]; and | ||
* he added timeouts for idle states in `ChainSync` & `KeepAlive` | ||
miniprotocols. These timeouts help a node remove idle connections from the | ||
responder (server) side [ouroboros-network-#4648]. | ||
* he improved the `WireShark` dissector by adding support for the `peer-sharing` mini-protocol [ouroboros-network-#4656]. | ||
|
||
[Galois] has been making progress in addressing some of the issues they raised in their review (last year): | ||
* Mark Tullsen ([Galois]) has been working on refactoring the main entry function of P2P [ouroboros-network-#4661] (in review); | ||
* Sam Cowger ([Galois]) has been reviewing all use cases of `error` and `unsafe` calls | ||
[ouroboros-network-#4661] (in review). | ||
|
||
## Peer Sharing | ||
|
||
* Light peer sharing is only enabled when peer sharing is turned on [ouroboros-network-#4652]; | ||
* Handshake incorrectly reports peer sharing value. It's supposed to relay the | ||
remote value, but instead, it returns the local value. [ouroboros-network-#4642] (in review). | ||
|
||
## Async Demotion Test Fix | ||
|
||
* We fixed an async demotion test failure which turned out to be a weakness of | ||
the test itself rather than a bug in the connection manager. [ouroboros-network-#4655] | ||
|
||
[CF]: https://cardanofoundation.org/ | ||
[Galois]: https://galois.com/ | ||
[sprint-43]: https://github.com/orgs/input-output-hk/projects/19/views/16?filterQuery=sprint%3A%22sprint+43%22 | ||
[ouroboros-network-#4615]: https://github.com/input-output-hk/ouroboros-network/issues/4615 | ||
[ouroboros-network-#4648]: https://github.com/input-output-hk/ouroboros-network/pull/4648 | ||
[ouroboros-network-#4653]: https://github.com/input-output-hk/ouroboros-network/issues/4653 | ||
[ouroboros-network-#4656]: https://github.com/input-output-hk/ouroboros-network/pull/4656 | ||
[ouroboros-network-#4657]: https://github.com/input-output-hk/ouroboros-network/pull/4657 | ||
[ouroboros-network-#4660]: https://github.com/input-output-hk/ouroboros-network/pull/4660 | ||
[ouroboros-network-#4661]: https://github.com/input-output-hk/ouroboros-network/pull/4661 | ||
[ouroboros-network-#4652]: https://github.com/input-output-hk/ouroboros-network/pull/4652 | ||
[ouroboros-network-#4642]: https://github.com/input-output-hk/ouroboros-network/issues/4642 | ||
[ouroboros-network-#4655]: https://github.com/input-output-hk/ouroboros-network/issues/4655 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.