PPoS / Consensus / DA
§
Research
§
Development
§
- PR #968 (Node) - trace DA blob lifecycle in different nodes: added support for setting arbitrary bytes as a remote trace ID in the nomos-tracing crate. Enabled tracking entity lifecycles (e.g., blob_id, tx_id) across different nodes. Used this new feature to track DA blob lifecycle.
Blendnet
§
Research
§
- Finished the preliminary Blendnet latency & bandwidth simulation: report (status: yellow). Confirmed that all results in the report are correct by debugging every detail in the simulation. The numbers have not changed significantly from the draft that was shared last week, but some numbers have changed by bug fixes. Improved the simulation a lot to trace the full lifecycle of each message across all nodes. This is very useful for understanding the measured latency, because we can see how much time the message took in each step. What we’ve found by using this tracing method is mentioned in the report. PRs are coming soon - they’re not complicated.
- Coupled vs decoupled discussion for Blendnet emission quotas: the document went through many reviewers, it was updated a couple of times throughout the week, and was revised again to include latest discussions, reviewer requests and to make it more complete. The latest version is available here.
- Analysis of communication (and anonymity) failure in the Blendnet: assuming the same number of communication paths, compared failure probabilities for linear and branching tree designs for the same number of layers in the range [2,5]. The latter was chosen due to latency constraints. The current modelling approach suggests that linear tree design has better communication failure properties than branching tree design, but worse anonymity failure properties than the latter. The above result was discussed and it was concluded that the current approach used to model failures doesn’t distinguish between “naturally” occurring communication failures and adversarial failures. Current failure model uses a binary variable to model a failure of node, but a second binary variable is needed to separate natural failures from adversarial which could give a better separation between the linear and branching tree designs. The summary of the above work and discussion is in this document. Detailed analysis can be found here.
Development
§
Coordination Layer
§
Research
§
- Experimented with different options to speed up hashing in PoC and to understand why it’s slower than expected: used included sha2 instead of Cargo patch. Solutions should be equivalent but this saves a few tens of thousands of cycles, probably something in the build system was broken before. Data movement is another big factor on why our times are much bigger.
- Comments in the SMT vs IMT document have been addressed, and explanations have been added.
Development
§
Zone and Apps
§
Research
§
Development
§
Development
§
- Initial draft of the nomos-node key management: Note - Decided on using the centralized service path.
- PR #969 (Node) - metrics added. However, they are working unreliably on testnet host, currently investigating. when deploying to the testnet, the risc0 installation sometimes fails, resulting in a non-working node. Non working node emits no events, just some logs, making it harder to find the root cause. Risc0 fails to be installed because the binaries are downloaded from GitHub, which has the rate limits. Rate limits can be increased by providing GITHUB_TOKEN. At the moment the solution for this problem is to build nomos-node image in the CI instead on the testnet host, this will allow us to use GITHUB_TOKEN securely without a complex setup on testnet host for managing secrets.
- PR #945 (Node) - protobuf replacement.
- PR #946 (Node) - wire usage: replaced bincode calls with wire module calls
- PR #950 (Node) - error wrapping.
- PR #951 (Node) - gathered test utils on a common crate (feature-gated).
- PR #952 (Node) - iterator for EncodedData: implementation.
- PR #966 (Node) - iterator for EncodedData: update usages.
- PR #965 (Node) - updated dependencies for instrument gating.
- PR #35 (Overwatch) - replace example: remove outdated.
- PR #38 (Overwatch) - replace example: add new.
- PR #34 (Overwatch) - feature gate instrument calls.
Miscellaneous
§