--- title: 2024-03-25 Nomos weekly tags: - nomos-updates date: 2024-03-25 lastmod: 2024-03-25 draft: false description: Weekly update of Nomos --- ## `Cryptarchia` ### `Research` - No research updates at this moment. ### `Development` - Fixed a [bug](https://github.com/logos-co/nomos-specs/pull/84) in the Cryptarchia spec regarding `try_create_fork` to find parent block. - Stake Relativization Executable Specification is done: [PR](https://github.com/logos-co/nomos-specs/pull/86). Also, implementing stake relativization revealed some bugs in our Cryptarchia spec which took some time to debug and write tests for. Also, the stake relativization spec has been updated with learnings from the implementation (changes were mostly around time management since we need the inferred total stake to be stable by the time we enter the next epoch). - Regarding block rewards, our proposal would be to postpone this work for when we will have the CL available, as it's likely best done through a 'special' transaction (probably in a block body rather than in the header). - As discussed, at this moment, we will not support multiple consensus protocols in node. ## `Mixnet (Network Privacy)` ### `Research` - Mixnet incentivization [document](https://www.notion.so/Mixnet-Incentivization-6db9731a221b49878224afd916e2b3ac) has been updated with additional problem statements: we are exploring how to make delegations private. - Analysis of the fraction of compromised paths in the mix network: The asymptotic lower bound (asympt. l.b.) on the probability that the fraction of compromised paths, \alpha, belongs to the interval [\alpha_0, \alpha_1] was used to obtain an upper bound on the maximum fraction of compromised paths, \alpha_max, in the mixnet of size n sampled from N nodes, where M nodes are adversarial. - Comparing the asympt. l.b. and simulations shows that the latter provides a very loose upper bound on \alpha_max when the size of mixnet n is fixed and the number of layers L is increasing. However, the asympt. l.b. provides a better upper bound on \alpha_max when the width of the mixnet n_1 is fixed and the number of layers L is increasing. - Derived the probability distribution for the fraction of compromised paths \alpha in the mixnet of size n=n_1 L, where n_1 is the number of nodes per layer and L is the number of layers, with m adversarial nodes when n_1 is very large. In this regime, the number of adversarial nodes in a layer is a random variable from the binomial distribution with parameters n_1 and m/n, such that on average n_1m/n nodes per layer are adversarial. Summary of numerical results and simulations is provided in this [doc](https://docs.google.com/spreadsheets/d/1Bo7Ch76l6MeTCpii6vGLHhOSIHJULAtPkwJ3x9Ji_Ag/edit?usp=sharing) while Summary of analysis is provided [here](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4) and the details of the analysis are in [Overleaf](https://www.overleaf.com/read/rybwvjftfrrg#3d77ee). - Mixnet with staking design: Message Type Indistinguishability - extended the message type indistinguishability section of the staking design document, where we added a part about the impact of the pledged and delegated stake based rankings on the privacy. This part of the investigation, led to coining the Staking Security vs Privacy dilemma, where we describe a tension between staking security and privacy. In short, staking can increase chances for deanonymization. The details can be seen in this [document](https://www.notion.so/Mixnet-with-Staking-c8ec3bfd461f4989b3ebbcf4b4b15324#2e57424c79bd44b19c4c4dd624f544b2). ### `Development` - Some refactoring work on following PRs: [#615](https://github.com/logos-co/nomos-node/pull/615), [#616](https://github.com/logos-co/nomos-node/pull/616), [#618](https://github.com/logos-co/nomos-node/pull/618). - WIP: Testing if mix client/node emit packets according to the specified Poisson parameters. - WIP: Testing if enough packets are mixed in each mix node. - WIP: Working on making the aforementioned two as metrics (for monitoring). ## `Data Availability` ### `Research` - No research updates at this moment. ### `Development` - Fixed a new storage issue in windows build CI: [PR](https://github.com/logos-co/nomos-node/pull/621 "https://github.com/logos-co/nomos-node/pull/621"). - Added a new block subscription to consensus service: [PR](https://github.com/logos-co/nomos-node/pull/617 "https://github.com/logos-co/nomos-node/pull/617"). - DA API testing: [PR](https://github.com/logos-co/nomos-specs/pull/83 "https://github.com/logos-co/nomos-specs/pull/83"). - Added Certificate verification to specs: [PR](https://github.com/logos-co/nomos-specs/pull/82 "https://github.com/logos-co/nomos-specs/pull/82"). - Fixed arbitrary data encoding in the Encoder specs: [PR](https://github.com/logos-co/nomos-specs/pull/87 "https://github.com/logos-co/nomos-specs/pull/87"). There was an issue with this, we can only encode up to 31bytes per chunk using bls. Notice that bls uses 32bytes field elements, but some 32bytes elements would be higher than the bls_modulus, hence we need to use 31bytes. - Added duplicated blobs verification in verifier: Verifiers need to return the attestation in case a duplicated verification comes around, or skip it depending on different stages: [PR](https://github.com/logos-co/nomos-specs/pull/88 "https://github.com/logos-co/nomos-specs/pull/88"). - Moved current DA API implementation to draft: DA Protocol abstraction will change. Until we have an updated version, the DA API work is on hold. ## `Coordination Layer` ### `Research` - We've been reading Taiga source code, and putting up minor contributions as we go through it: [PR - taiga#262](https://github.com/anoma/taiga/pull/262), [taiga#260](https://github.com/anoma/taiga/pull/260), [taiga#259](https://github.com/anoma/taiga/pull/259). - Reviewed [Synchronous Composability with Partial Transactions](https://www.notion.so/Synchronous-Composability-with-Partial-Transactions-a2d832ea7d7a4b90b6f582bea64eab7a). The relevant article has been reviewed, and comments have been added. - Details regarding the proof of equivalence have been explained and python code for random proof generation has been added to the following [document](https://www.notion.so/Proof-of-Equivalance-601026c1662d4c6d8d532829d67495b0). - As part of our research effort, compiled the notes on - [Bitcoin L2s](https://www.notion.so/Bitcoin-L2s-1ee5e0a897344a0f8d2272eb92fbbe1c), [New Architectures](https://www.notion.so/New-Architectures-789266e689194c2989e503f5fbd8a5e3), [Coordination Layer](https://www.notion.so/Coordination-Layer-Aggregation-Bridging-d77e29c4a90b4191b38414784097adf8). ### `Development` - No development updates. ## `Testnet` ### `Development` - Removed unused nomos services: old metrics service replaced with a Prometheus [PR](https://github.com/logos-co/nomos-node/pull/623) and old http API removed [PR](https://github.com/logos-co/nomos-node/pull/622). ## `Miscellaneous` - A new blog post will be published this week: Tackling the Challenge of Wealth Concentration in PoS Blockchains with the simulations and scientific results. - We have exciting new ideas cooking about updating the Nomos documentation - stay tuned!