This commit is contained in:
Corey 2023-10-25 14:20:23 -04:00
parent ee0e82f529
commit c9120be9b9
199 changed files with 10190 additions and 72 deletions

8
content/acid/index.md Normal file
View File

@ -0,0 +1,8 @@
---
title: "Comms Roadmap Overview"
tags:
- "overview"
---
Welcome to the Comms Roadmap Overview
- [Milestones](acid/milestones-overview.md)
- [weekly updates](tags/acid-updates)

View File

@ -0,0 +1,11 @@
---
title: "Comms Milestones Overview"
tags:
- "milestones"
date: 2023-08-17
lastmod: 2023-08-17
---
- [Comms Roadmap](https://www.notion.so/eb0629444f0a431b85f79c569e1ca91b?v=76acbc1631d4479cbcac04eb08138c19)
- [Comms Projects](https://www.notion.so/b9a44ea08d2a4d2aaa9e51c19b476451?v=f4f6184e49854fe98d61ade0bf02200d)
- [Comms planner deadlines](https://www.notion.so/2585646d01b24b5fbc79150e1aa92347?v=feae1d82810849169b06a12c849d8088)

View File

@ -0,0 +1,48 @@
---
title: "2023-08-02 Acid weekly"
tags:
- "acid-updates"
date: 2023-08-03
lastmod: 2023-08-03
draft: false
---
## Leads roundup - acid
**Al / Comms**
- Status app relaunch comms campaign plan in the works. Approx. date for launch 31.08.
- Logos comms + growth plan post launch is next up TBD.
- Will be waiting for specs for data room, raise etc.
- Hires: split the role for content studio to be more realistic in getting top level talent.
**Matt / Copy**
- Initiative updating old documentation like CC guide to reflect broader scope of BUs
- Brand guidelines/ modes of presentation are in process
- Wikipedia entry on network states and virtual states is live on
**Eddy / Digital Comms**
- Logos Discord will be completed by EOD.
- Codex Discord will be done tomorrow.
- LPE rollout plan, currently working on it, will be ready EOW
- Podcast rollout needs some
- Overarching BU plan will be ready in next couple of weeks as things on top have taken priority.
**Amir / Studio**
- Started execution of LPE for new requirements, broken down in smaller deliveries. Looking to have it working and live by EOM.
- Hires: still looking for 3 positions with main focus on developer side.
**Jonny / Podcast**
- Podcast timelines are being set. In production right now. Nick delivered graphics for HiO but we need a full pack.
- First HiO episode is in the works. Will be ready in 2 weeks to fit in the rollout of the LPE.
**Louisa / Events**
- Global strategy paper for wider comms plan.
- Template for processes and executions when preparing events.
- Decision made with Carl to move Network State event to November in satellite of other events. Looking into ETH Lisbon / Staking Summit etc.
- Seoul Q4 hackathon is already in the works. Needs bounty planning.

View File

@ -0,0 +1,74 @@
---
title: "2023-08-09 Acid weekly"
tags:
- "acid-updates"
date: 2023-08-09
lastmod: 2023-08-09
draft: false
---
## **Top level priorities:**
Logos Growth Plan
Status Relaunch
Launch of LPE
Podcasts (Target: Every week one podcast out)
Hiring: TD studio and DC studio roles
## **Movement Building:**
- Logos collective comms plan skeleton ready - will be applied for all BUs as next step
- Goal is to have plan + overview to set realistic KPIs and expectations
- Discord Server update on various views
- Status relaunch comms plan is ready for input from John et al.
- Reach out to BUs for needs and deliverables
## **TD Studio**
Full focus on LPE:
- On track, target of end of august
- review of options, more diverse landscape of content
- Episodes page proposals
- Players in progress
- refactoring from prev code base
- structure of content ready in GDrive
## **Copy**
- Content around LPE
- Content for podcast launches
- Status launch - content requirements to receive
- Organization of doc sites review
- TBD what type of content and how the generation workflows will look like
## **Podcast**
- Good state in editing and producing the shows
- First interview edited end to end with XMTP is ready. 2 weeks with social assets and all included.
- LSP is looking at having 2 months of content ready to launch with the sessions that have been recorded.
- 3 recorded for HIO, motion graphics in progress
- First E2E podcast ready in 2 weeks for LPE
- LSP is looking at having 2 months of content ready to launch with the sessions that have been recorded.
## **DC Studio**
- Brand guidelines for HiO are ready and set. Thanks `Shmeda`!
- Logos State branding assets are being developed
- Presentation templates update
## **Events**
- Network State event probably in Istanbul in November re: Devconnect will confirm shortly.
- Program elements and speakers are top priority
- Hackathon in Seoul in Q1 2024 - late Febuary probably
- Jarrad will be speaking at HCPP and EthRome
- Global event strategy written and in review
- Lou presented social media and event KPIs on Paris event
## **CRM & Marketing tool**
- Get feedback from stakeholders and users
- PM implementation to be planned (+- 3 month time TBD) with working group
- LPE KPI: Collecting email addresses of relevant people
- Careful on how we manage and use data, important for BizDev
- Careful on which segments of the project to manage using the CRM as it can be very off brand

View File

@ -0,0 +1,54 @@
---
title: 2023-08-29 Comms weekly
tags:
- acid-updates
date: 2023-08-29
lastmod: 2023-09-04
draft: false
---
## Leads roundup - acid
### **Al - Comms**
- LPE & Podcast are almost there. Content needs to be polished and reviewed by Carl and Jarrad. Might have an impact on the deadline but we start testing phase tomorrow.
- Plan for marketing and promotion of the podcast needs a bit more work. Teasers for Snowden will be released. Next episode drops next week.
- Status app comms campaign. We are aligned with John and Status team. Needs pre-launch work for content and pending some items and confirmations from John.
- Digital designer will be joining us soon for Content team. We are still looking for a Motion designer.
- Townhall: Dmitry and Santiago will be talking re: Codex + Logos culture.
### **Amir - Tech and Design**
- LPE is ready. Content is being populated. Soft launch is 30/08. Then stress test, debug, etc.
- Notion page is up and running for listing errors, bugs and feedback. Amir will move to GitHub https://www.notion.so/f9fef49cc74c46b19ceb9c14a2003062?v=3eb563f28fc448bd836d16da1272d620&pvs=4
- Wiki: codebase will be ready in a day or two, then once infra team deploys we have kick off meeting for structure, content etc. Then design team can redesign based on what we need. Timeframe: end of September
### **Matt - Copy**
- Content from the LPE is getting there, pending review as mentioned above.
- Cleaning up the documentation sites etc.
- Status comms campaign is coming so articles in planning will be drafted and
### **Christian - Podcast**
- Podcast release plan is being solidified and reviewed https://docs.google.com/document/d/1ppSb_Fkdw3iirwzlEgTvYpkq3n00ds4Xz5KE3mgqA-E/edit?usp=sharing
- Review process is set up and open for feedback.
### **Nick - Content**
- Decks for townhall are coming and will be ready for next week.
- Images for LPE content is being vetted. We are looking to establish a style for the first article to set the tone for the following. This is holding it back a bit but once it is set we can move it from there.
### **Louisa - Events**
- By the end of next week we will launch global event strategy post-review. Includes templates and structures for the future.
- Network State Event needs to lock down the potential event speakers, how to communicate with them and basically get a review. Nimbus and Waku and Codex will be there. We need to fix the program and agree on it. Venues shortlisted by the end of the week.
- 8 agencies have been briefed as event organisers. Needs to be locked and set by end of week.
- ETH Rome, Logos and Waku are sponsoring and Jarrad is talking. Paralelni Polis is happening late September. Working on the details to hit production deadlines.
- Beginning work on hacakthon in Seoul end of February 2024.
### **Movement Building - Santiago**
- Comms plans LPE, Status and Logos Community plans are on good track. Carl reviewed and asked for 90 day plans plus timelines.
- Logos community structure is being developed to guide people through an engagement/leadership ladder that serves our purpose. First community coming in will be our testing phase pre-growth.
- LPE launch plan is being reviewed and has a budget verbally approved to push via paid ads. Focus mostly on Snowden on episode as a roundabout way to support awareness for Logos.
- BU Plans, pretty much done, will send them to Al asap for review.

View File

@ -0,0 +1,44 @@
---
tags:
- acid-updates
title: 2023-09-18 Acid Update
---
## **Overview/Priorities**
- Al departure
- Short term - We need to stabilise, Al brought a lot of value, we may have to step up a little bit, will meet with Carl and Jarrad weekly.
- Long term - positive changes internally, open culture, open feedback, etc.
- Townhalls - Christian will be point of contact. With Santiago to support. The idea is plan 3-6 months in advance.
- Comms strategy - Adjusting it to be more strategic and concise. with focus on Brand Awareness & BU Needs, measuring Impact & clear timeline.
- Virtual office - Available for anyone to join Santiago and Ned to discuss, ask questions, hangout.
- To team leads: please implement feedback mechanisms that are safe for people. Open up first about shortcomings and promote healthy criticism and exchange. Copy the After Action Review model if necessary for each project delivery and a regular one at your discretion. We want to be better together and trust each other. It is a marker of a successful organisation.
## **Amir - Tech & Design**
- Improvements on LPE. RSS feed, Discord bot integration, X threads can be previewed
- Integration of Odoo for email client is with infra.
- Logos System Design (LSD) is being optimised.
## **Matt / Sterlin - Copy**
- Plethora of words to the LPE. Focus there. Make sure the content looks and feels good. Sterlin feels writing looks good in relation with other similar projects.
- Matt and Sterlin are working on the Status blog posts for the upcoming launch.
- Amelia is working on the BU updates.
- Rick is the social media master, making really good progress on setting up a solid base and communication with the BUs in regards to their needs.
## **Nick - Digital Content Studio**
- New meeting with Jarrad to get his involvement in the day to day things, he has clarity re: guests, shifting content and style. Objective is to have conversations that inform our thinking about network states, governance, etc. Cater content for Jarrad to build his skill as a speaker and host.
- Production value is an important improvement point.
- Looking for more people to join as motion designer for video help.
- Swag for ETH Rome needs feedback but is on its way and on time.
- Podcast: we have a solid buffer of interviews for HiO and Logos that allows us to have time for strategic changes.
- Podcast: New stream/recording subscription needs to be approved by someone else to move forward.
## **Santiago - Movement Building**
- Comms strategies - overall, as a master guideline, we should be creating a movement around network states and not a network state, as a key player and a thought leader. From people developing privacy tech, charter cities, etc. To invest all our resources to creating spaces (physical x digital) for the different parties.
- Jarrad: We want authentic organic interaction and conversations like a learning community.
- Nick feedback : To approach which conversations/guests are more appropriately placed in which formats, because production time need to be mindful (podcast, twitter space, etc.)
- LPE launch awaits Comms strategy realignment.
## **Louisa - Events**
- Holding back on global guidelines and event strategy once comms strategy is in place.
- Jarrad is speaking at POW and HCCP. Decks coming ASAP.
- ETH Rome: investing in bounties, smaller meetups are coming. We need booth, merch, swag design this week. Railgun collab with Waku.
- Istanbul: Just some alignment needed re: names and others. Vac, Nimbus and Waku will be there, think about how to overlay design work.

View File

@ -0,0 +1,56 @@
---
title: 2023-10-10 Comms weekly
tags:
- acid-updates
date: 2023-10-03
lastmod: 2023-10-10
draft: false
description: Weekly update of Comms
---
## `acid`
---
### Overview/Priorities
- Comments from the BUs about blockers and miscommunications - Reevaluation of our comms strategy: BUs are responsible for DevRel, BD, and technical content. Were responsible for QC of outgoing content (wordsmiths, video editing, and packaging) and non-technical content. This will be communicated with them and consolidated along with the strategy asap.
- New Mantra: Brand awareness and Learning Communities, which are both measurable by proxy. This means we focus more on performance and growth KPIs and reporting these clearly to C/J.
- With clear success metrics in place + costs and resources used we can finally focus on optimise our efforts and use it as a way to guide conversations about prioritising requests. This includes things like revisiting the creation of swag for each event etc.
- New champions model for each BU. https://miro.com/app/board/uXjVPOFj6t8=/. We have an account manager/ implement, test it and iterate as soon as possible
### Amir - Tech & Design
- Logos System Design new version (design) is done. Development continue with Joao. Will move on to documentation.
- LPE project is done. Optimising the scoring system for the search pending a lot of content. V1 is officially done. Renamed to *Network State Press*
- Ihor working on sketches and directing of *Institute of Free Tech*. Will share soon.
- BDP - brand design portal, we designed and managed the dev before but now on hold. For now focus on Brand Guidelines in Docusauraus for BUs.
### Nick - Digital Content Studio
- Presentations, swag work with Veronika & Video for events.
- Jonny has presented a few options for the podcast
### Christian - Podcast
- Open to doing Twitter spaces, in another category to keep it more streamlined and controlled. He wants interactive discussions, open quesitons, brainstorming etc.
- Currently QC of Snowden
- No new interviews, just doing checks of Ameen, Baylina and Assange. Will have it ready
- Jarrad will present the townhall
### Matt - Copy
- Status articles - Sterlin and Matt.
- BU Docs sites - Amelia. - good to go.
- Mode of presentation guidelines (part of brand guidelines) for BUs - by Matt.
- Develp site for Nimbus - Rick
- IFT landing page - Rick
- Collectively, series of articles about beginners guide to Network States.
### Santiago - Movement Building
- Focusing on brand awareness and growth - we will set up reporting structures for Carl and Jarrad that are numbers based in relation to cost effectiveness.
- Odoo Email tool is with infra - configuration needed of the external SMTP server.
- Finding a PR moments for the raise.
- Next week and a half will be focused on updating the Logos server to have a proper onboarding strategy to optimise for a learning community experience. Will meet with Eddy and Jen to do this. Jen is currently updated all the all the Discord servers.
### Louisa - Events
- POW and HCCP done - challenge not enough brand awareness
- Metrics and dashboards to get a clear impact on KPIs related to events.
### J&F - Project Management
- Assessment for workspace, work/information flow and dashboard optimization intra and inter teams and projects.
- Organize around BUs and content pipelines
- Tools assessment

View File

@ -0,0 +1,12 @@
---
title: "Codex Milestones Overview"
date: "2023-08-07"
lastmod: "2023-08-07"
draft: false
tags:
- "milestones-overview"
---
## Milestones
- [Zenhub Tracker](https://app.zenhub.com/workspaces/engineering-62cee4c7a335690012f826fa/roadmap)
- [Miro Tracker](https://miro.com/app/board/uXjVNZ03E-c=/?share_link_id=987528411803)

View File

@ -0,0 +1,107 @@
---
title: 2023 September Codex Monthly Report
draft: false
lastmod: 2023-09-18
tags:
- monthly-report
- codex
---
## Executive Summary
September updates for the Codex project were main focused on the ongoing research and analysis of the proofing schemes and their impact on the overall architecture and network economy.
## Key Updates
### Personnel
A new Business Development (BD) job description [was posted](https://jobs.status.im/?gh_jid=5329400) and candidates are currently being interviewed. This role is expected to help facilitate strategy around the much needed partnerships for Codex and liaise with the other BD related resources we have within Logos to ensure efficient communications.
### Milestones
The Codex team is broken up into 5 sections, and the weekly reports give details on how each of them have performed. Currently the Milestone definitions are not in line with this reporting process and will be worked on in the subsequent month. The teams are broken up into the following sections:
- `Client`
- `Infra`
- `Marketplace`
- `Research`
- `DAS`
Below is summary of key updates to these sections over the month of September 2023
#### Client
The client continues to push towards Milestone 1.3: Codex v1.0 - Katana, which is slotted to be completed by the end of the year. Significant work has been done on merkelization which is required in order to integrate the proving system, and can be followed in this [working branch](https://github.com/codex-storage/nim-codex/compare/master...sending-blocks-with-proofs-over-the-network).
The Block Exchange protocol got some attention and refinement. Notes on the associated thoughts can be found in these two writeups:
- [Block Discovery Problem](https://rpubs.com/giuliano_mega/1067876)
- [Codex Swarm Overlays](https://rpubs.com/giuliano_mega/1082104)
In an effort to focus on the critical development path, this work is paused in lieu of attention on the distributed systems testing work.
Progress was made on the ability for Codex to manage asynchronous and threaded disk IO. In the process of doing this work, a bug within Nim's `SharedPtr` was [discovered](https://github.com/nim-lang/threading/issues/45) and [fixed](https://github.com/nim-lang/threading/pull/46).
#### Infra
A [Grafana](https://grafana.dist-tests.codex.storage/) and [Kibana](https://kibana.dist-tests.codex.storage/) instance were deployed in order to facilitate the various testing being done.
#### Marketplace
In order to alleviate a concurrency issue with Data Availabilities in the contract, a [Reservation System](https://github.com/codex-storage/nim-codex/pull/535) has been proposed and worked on. This removes the previous constraint that current downloads was limited by the number of Availabilities.
#### Research
The [Codex Whitepaper v0.1](https://docs.google.com/document/d/1LCy23m90IHf32aUVhRT4r4772w1BfVcSLaJ0z9VTw9A/edit#heading=h.qs3bayckj5u4) was drafted and scheduled for release in October 2023. It is currently under review and improving based on feedback.
There has been a large discussion this month around Erasure Coding (EC) for sampling. An [analysis](https://github.com/codex-storage/zk-research-artifacts/blob/master/sampling/sampling.pdf)was performed which looked at the various effects Erasure Coding schemes have on the sampling process and associated data guarantees. A quote of the conclusion on parameter choices is below:
> [!QUOTE]
> - we cannot have a small slot size, because that would mean too many proofs by a node (≈ 1 Tb seems to be a minimum)
> - we cannot have a too small block size, because the Merkle tree of the commitments will take too much space (say a minimum of 1024 bytes)
> - we cannot have a too big “checked sample” size, because we cannot do proofs for large amount of data (say a maximum of 65536 bytes)
> - we cannot have too much sampling checks per slot, because we cannot do proofs for many samples (depends on the block size and SNARK tech)
> - we probably want as big N, K parameters as possible, but actual implementations have limit
A short review of the [Interleaving Schemes for Multidimensional Cluster Errors](https://ieeexplore.ieee.org/abstract/document/661516) was performed [here](https://hackmd.io/DxJzAuTZROulBhPWqScmCg?view) and some general notes on Erasure Coding as it pertains to Codex was written up [here](https://hackmd.io/kxSF8wjPS3arDFcqFJrNDw). Much of these thoughts is being captured in the Erasure Coding Proofing document [here](https://github.com/codex-storage/codex-research/blob/80a88c19989f5095b71db306393fc030df278673/design/proof-erasure-coding.md). The conclusion section (at time of writing) is copied here for convenience:
> [!QUOTE]
> It is likely that with the current state of the art in SNARK design and erasure coding implementations we can only support slot sizes up to 4GB. There are two design directions that allow an increase of slot size. One is to extend or implement an erasure coding implementation to use a larger field size. The other is to use existing erasure coding implementation in a multi-dimensional setting.
>
>Two concrete options are:
>
>1. Erasure code with a field size that allows for 2^28 shards. Check 20 shards per proof. For 1TB this leads to shards of 4KB. This means the SNARK needs to hash 80KB plus the Merkle paths for a storage proof. Requires custom implementation of Reed-Solomon, and requires at least 1 GB of memory while performing erasure coding.
>2. Erasure code with a field size of 2^16 in two dimensions. Check 160 shards per proof. For 1TB this leads to a shards of 256 bytes. This means that the SNARK needs to hash 40KB plus the Merkle paths for a storage proof. We can use the leopard library for erasure coding and keep memory requirements for erasure coding to a negligable level.
It appears as though the team is preferring to go with the multi-dimensional approach to EC.
#### DAS
Work continues on the DAS research in coordination with the Ethereum Foundation (EF). As a result of SBC, a blog post was written by the EF that discussed a forward thinking proposal for[ _PeerDAS - a simpler DAS approach using battle-tested p2p components_](https://ethresear.ch/t/peerdas-a-simpler-das-approach-using-battle-tested-p2p-components/16541) which the team has contributed to (referenced inside). Conversations of relevancy continue.
A Codex Blog post [was published](https://blog.codex.storage/big-blocks-on-mainnet/) discussing two by-products of the DAS research: the characterization of big block diffusion latency on the existing Ethereum Mainnet and the existence of big organic blocks on Ethereum Mainnet and its implications. The conclusion is quoted below:
>[!QUOTE]
>We have discovered a large number of big blocks (>250 KB) that occur organically every day in the Ethereum Mainnet. We have measured the propagation time of those blocks in three different world regions and compared their latency based on geographical location as well as block size. We have analysed how these propagation differences are reflected in the five CL clients separately, as they have different ways of reporting blocks. The empirical results measured in Ethereum Mainnet and presented in this work give us the first clear idea of how block propagation times might look when EIP-4844 is deployed, and 1 MB blocks become the standard and not the exception.
>
>In the future, we plan to continue with these block propagation measurements and monitor the behaviour of big blocks in the Ethereum network. Additionally, we want to help different CL clients harmonise their event recording and publication systems in order to be able to compare CL clients between them.
Discussions with Felix Lange began around some fixes for `Discv5`.
### Other
A [Codex YouTube channel](https://www.youtube.com/@CodexStorage) has been setup and many tutorial videos and conference talks were uploaded. Go like and subscribe!
## Perceived Changes in Project Risk
In an effort to meet the MVP launch by the end of the year, significant resources have been diverted to engineering efforts. Jessie has taken on more responsibility in the administration and project management duties while Dmitriy has started to focus more on the research and engineering needs
The ongoing research around the Data Availability Proof system still has potential to have drastic changes to the overall architecture of the system and associated resource costs of the various participants within the Codex Network. It is unclear how "locked in" parts of the system are that are included in the MVP launch.
## Future Plans
### Insight
Because of the mismatch of weekly updates with Milestone definitions, it is difficult to assess the impact of any given update. Next month should have all milestone definitions within this site and a reporting structure that is more intuitively associated with it. It has been noted that the current structure makes it difficult to track cross-team work which the changes next month hope to fix.
A `Logos Collaborations` section will be included next month to highlight differences in alignment with the Logos Collective as well as cross project collaboration updates.
The reporting process has missed a lot of work around the network simulation and modeling of Codex, which we expect to be corrected by next month by previously mentioned actions.
Depending on the uptake and viability of the [Waku reporting process](https://github.com/waku-org/pm) to other projects, then a myriad of quantitative measures will be included in the next monthly report.
### Project
NEED INPUT HERE
## Sources and Useful Links
- [Zenhub tracker](https://app.zenhub.com/workspaces/engineering-62cee4c7a335690012f826fa/roadmap) - mapping of milestones -> epics -> issues
- [May 2023 - Codex Project Status Report](https://docs.google.com/spreadsheets/d/1ejNnnBPeHqyJBqPfpZyfNGYCV10ae2pvc1mUQm2vOtU/edit#gid=1180662520) - list of risks and details on the milestones
Weekly Reports
- [[2023-09-15]]
- [[content/codex/updates/2023-09-29|2023-09-29]]

View File

@ -0,0 +1,9 @@
---
title: "Codex Roadmap Overview"
tags:
- "overview"
---
Welcome to the Codex Roadmap Overview
- [[codex/monthly-reports/2023-sept|2023 September Report]]
- [Milestones](codex/milestones-overview.md)
- [weekly updates](tags/codex-updates)

View File

@ -0,0 +1,319 @@
---
title: "2023-07-21 Codex weekly"
tags:
- "codex-updates"
date: 2023-07-21
lastmod: 2023-08-03
draft: false
---
## Codex update 07/12/2023 to 07/21/2023
Overall we continue working in various directions, distributed testing, marketplace, p2p client, research, etc...
Our main milestone is to have a fully functional testnet with the marketplace and durability guarantees deployed by end of year. A lot of grunt work is being done to make that possible. Progress is steady, but there are lots of stabilization and testing & infra related work going on.
We're also onboarding several new members to the team (4 to be precise), this will ultimately accelerate our progress, but it requires some upfront investment from some of the more experienced team members.
### DevOps/Infrastructure:
- Adopted nim-codex Docker builds for Dist Tests.
- Ordered Dedicated node on Hetzner.
- Configured Hetzner StorageBox for local backup on Dedicated server.
- Configured new Logs shipper and Grafana in Dist-Tests cluster.
- Created Geth and Prometheus Docker images for Dist-Tests.
- Created a separate codex-contracts-eth Docker image for Dist-Tests.
- Set up Ingress Controller in Dist-Tests cluster.
### Testing:
- Set up deployer to gather metrics.
- Debugging and identifying potential deadlock in the Codex client.
- Added metrics, built image, and ran tests.
- Updated dist-test log for Kibana compatibility.
- Ran dist-tests on a new master image.
- Debugging continuous tests.
### Development:
- Worked on codex-dht nimble updates and fixing key format issue.
- Updated CI and split Windows CI tests to run on two CI machines.
- Continued updating dependencies in codex-dht.
- Fixed decoding large manifests ([PR #479](https://github.com/codex-storage/nim-codex/pull/497)).
- Explored the existing implementation of NAT Traversal techniques in `nim-libp2p`.
### Research
- Exploring additional directions for remote verification techniques and the interplay of different encoding approaches and cryptographic primitives
- https://eprint.iacr.org/2021/1500.pdf
- https://dankradfeist.de/ethereum/2021/06/18/pcs-multiproofs.html
- https://eprint.iacr.org/2021/1544.pdf
- Onboarding Balázs as our ZK researcher/engineer
- Continued research in DAS related topics
- Running simulation on newly setup infrastructure
- Devised a new direction to reduce metadata overhead and enable remote verification https://github.com/codex-storage/codex-research/blob/master/design/metadata-overhead.md
- Looked into NAT Traversal ([issue #166](https://github.com/codex-storage/nim-codex/issues/166)).
### Cross-functional (Combination of DevOps/Testing/Development):
- Fixed discovery related issues.
- Planned Codex Demo update for the Logos event and prepared environment for the demo.
- Described requirements for Dist Tests logs format.
- Configured new Logs shipper and Grafana in Dist-Tests cluster.
- Dist Tests logs adoption requirements - Updated log format for Kibana compatibility.
- Hetzner Dedicated server was configured.
- Set up Hetzner StorageBox for local backup on Dedicated server.
- Configured new Logs shipper in Dist-Tests cluster.
- Setup Grafana in Dist-Tests cluster.
- Created a separate codex-contracts-eth Docker image for Dist-Tests.
- Setup Ingress Controller in Dist-Tests cluster.
---
#### Conversations
1. zk_id _—_ 07/24/2023 11:59 AM
>
> We've explored VDI for rollups ourselves in the last week, curious to know your thoughts
2. dryajov _—_ 07/25/2023 1:28 PM
>
> It depends on what you mean, from a high level (A)VID is probably the closest thing to DAS in academic research, in fact DAS is probably either a subset or a superset of VID, so it's definitely worth digging into. But I'm not sure what exactly you're interested in, in the context of rollups...
1. zk_id _—_ 07/25/2023 3:28 PM
The part of the rollups seems to be the base for choosing proofs that scale linearly with the amount of nodes (which makes it impractical for large numbers of nodes). The protocol is very simple, and would only need to instead provide constant proofs with the Kate commitments (at the cost of large computational resources is my understanding). This was at least the rationale that I get from reading the paper and the conversation with Bunz, one of the founders of the Espresso shared sequencer (which is where I found the first reference to this paper). I guess my main open question is why would you do the sampling if you can do VID in the context of blockchains as well. With the proofs of dispersal on-chain, you wouldn't need to do that for the agreement of the dispersal. You still would need the sampling for the light clients though, of course.
2. dryajov _—_ 07/25/2023 8:31 PM
> I guess my main open question is why would you do the sampling if you can do VID in the context of blockchains as well. With the proofs of dispersal on-chain, you wouldn't need to do that for the agreement of the dispersal.
Yeah, great question. What follows is strictly IMO, as I haven't seen this formally contrasted anywhere, so my reasoning can be wrong in subtle ways.
- (A)VID - **dispersing** and storing data in a verifiable manner
- Sampling - verifying already **dispersed** data
tl;dr Sampling allows light nodes to protect against dishonest majority attacks. In other words, a light node cannot be tricked to follow an incorrect chain by a dishonest validator majority that withholds data. More details are here - [https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html "https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html") ------------- First, DAS implies (A)VID, as there is an initial phase where data is distributed to some subset of nodes. Moreover, these nodes, usually the validators, attest that they received the data and that it is correct. If a majority of validators accepts, then the block is considered correct, otherwise it is rejected. This is the verifiable dispersal part. But what if the majority of validators are dishonest? Can you prevent them from tricking the rest of the network from following the chain?
Dankrad Feist
[Data availability checks](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html)
Primer on data availability checks
3. _[_8:31 PM_]_
## Dealing with dishonest majorities
This is easy if all the data is downloaded by all nodes all the time, but we're trying to avoid just that. But lets assume, for the sake of the argument, that there are full nodes in the network that download all the data and are able to construct fraud proofs for missing data, can this mitigate the problem? It turns out that it can't, because proving data (un)availability isn't a directly attributable fault - in other words, you can observe/detect it but there is no way you can prove it to the rest of the network reliably. More details here [https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding "https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding") So, if there isn't much that can be done by detecting that a block isn't available, what good is it for? Well nodes can still avoid following the unavailable chain and thus be tricked by a dishonest majority. However, simply attesting that data has been publishing is not enough to prevent a dishonest majority from attacking the network. (edited)
4. dryajov _—_ 07/25/2023 9:06 PM
To complement, the relevant quote from [https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding "https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding"), is:
> Here, fraud proofs are not a solution, because not publishing data is not a uniquely attributable fault - in any scheme where a node ("fisherman") has the ability to "raise the alarm" about some piece of data not being available, if the publisher then publishes the remaining data, all nodes who were not paying attention to that specific piece of data at that exact time cannot determine whether it was the publisher that was maliciously withholding data or whether it was the fisherman that was maliciously making a false alarm.
The relevant quote from from [https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html "https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html"), is:
> There is one gap in the solution of using fraud proofs to protect light clients from incorrect state transitions: What if a consensus supermajority has signed a block header, but will not publish some of the data (in particular, it could be fraudulent transactions that they will publish later to trick someone into accepting printed/stolen money)? Honest full nodes, obviously, will not follow this chain, as they cant download the data. But light clients will not know that the data is not available since they dont try to download the data, only the header. So we are in a situation where the honest full nodes know that something fishy is going on, but they have no means of alerting the light clients, as they are missing the piece of data that might be needed to create a fraud proof.
Both articles are a bit old, but the intuitions still hold.
July 26, 2023
6. zk_id _—_ 07/26/2023 10:42 AM
Thanks a ton @dryajov ! We are on the same page. TBH it took me a while to get to this point, as it's not an intuitive problem at first. The relationship between the VID and the DAS, and what each is for is crucial for us, btw. Your writing here and your references give us the confidence that we understand the problem and are equipped to evaluate the different solutions. Deeply appreciate that you took the time to write this, and is very valuable.
7. _[_10:45 AM_]_
The dishonest majority is critical scenario for Nomos (essential part of the whole sovereignty narrative), and generally not considered by most blockchain designs
8. zk_id
Thanks a ton @dryajov ! We are on the same page. TBH it took me a while to get to this point, as it's not an intuitive problem at first. The relationship between the VID and the DAS, and what each is for is crucial for us, btw. Your writing here and your references give us the confidence that we understand the problem and are equipped to evaluate the different solutions. Deeply appreciate that you took the time to write this, and is very valuable.
### dryajov _—_ 07/26/2023 4:42 PM
Great! Glad to help anytime
9. zk_id
The dishonest majority is critical scenario for Nomos (essential part of the whole sovereignty narrative), and generally not considered by most blockchain designs
dryajov _—_ 07/26/2023 4:43 PM
Yes, I'd argue it is crucial in a network with distributed validation, where all nodes are either fully light or partially light nodes.
10. _[_4:46 PM_]_
Btw, there is probably more we can share/compare notes on in this problem space, we're looking at similar things, perhaps from a slightly different perspective in Codex's case, but the work done on DAS with the EF directly is probably very relevant for you as well
July 27, 2023
12. zk_id _—_ 07/27/2023 3:05 AM
I would love to. Do you have those notes somewhere?
13. zk_id _—_ 07/27/2023 4:01 AM
all the links you have, anything, would be useful
14. zk_id
I would love to. Do you have those notes somewhere?
dryajov _—_ 07/27/2023 4:50 PM
A bit scattered all over the place, mainly from @Leobago and @cskiraly @cskiraly has a draft paper somewhere
July 28, 2023
16. zk_id _—_ 07/28/2023 5:47 AM
Would love to see anything that is possible
17. _[_5:47 AM_]_
Our setting is much simpler, but any progress that you make (specifically in the computational cost of the polynomial commitments or alternative proofs) would be really useful for us
18. zk_id
Our setting is much simpler, but any progress that you make (specifically in the computational cost of the polynomial commitments or alternative proofs) would be really useful for us
dryajov _—_ 07/28/2023 4:07 PM
Yes, we're also working in this direction as this is crucial for us as well. There should be some result coming soon(tm), now that @bkomuves is helping us with this part.
19. zk_id
Our setting is much simpler, but any progress that you make (specifically in the computational cost of the polynomial commitments or alternative proofs) would be really useful for us
bkomuves _—_ 07/28/2023 4:44 PM
my current view (it's changing pretty often :) is that there is tension between:
- commitment cost
- proof cost
- and verification cost
the holy grail which is the best for all of them doesn't seem to exist. Hence, you have to make tradeoffs, and it depends on your specific use case what you should optimize for, or what balance you aim for. we plan to find some points in this 3 dimensional space which are hopefully close to the optimal surface, and in parallel to that figure out what balance to aim for, and then choose a solution based on that (and also based on what's possible, there are external restrictions)
July 29, 2023
21. bkomuves
my current view (it's changing pretty often :) is that there is tension between: 
- commitment cost
- proof cost
- and verification cost
 the holy grail which is the best for all of them doesn't seem to exist. Hence, you have to make tradeoffs, and it depends on your specific use case what you should optimize for, or what balance you aim for. we plan to find some points in this 3 dimensional space which are hopefully close to the optimal surface, and in parallel to that figure out what balance to aim for, and then choose a solution based on that (and also based on what's possible, there are external restrictions)
zk_id _—_ 07/29/2023 4:23 AM
I agree. That's also my understanding (although surely much more superficial).
22. _[_4:24 AM_]_
There is also the dimension of computation vs size cost
23. _[_4:25 AM_]_
ie the VID scheme (of the paper that kickstarted this conversation) has all the properties we need, but it scales n^2 in message complexity which makes it lose the properties we are looking for after 1k nodes. We need to scale confortably to 10k nodes.
24. _[_4:29 AM_]_
So we are at the moment most likely to use KZG commitments with a 2d RS polynomial. Basically just copy Ethereum. Reason is:
- Our rollups/EZ leader will generate this, and those are beefier machines than the Base Layer. The base layer nodes just need to verify and sign the EC fragments and return them to complete the VID protocol (and then run consensus on the aggregated signed proofs).
- If we ever decide to change the design for the VID dispersal to be done by Base Layer leaders (in a multileader fashion), it can be distributed (rows/columns can be reconstructed and proven separately). I don't think we will pursue this, but we will have to if this scheme doesn't scale with the first option.
August 1, 2023
26. dryajov
A bit scattered all over the place, mainly from @Leobago and @cskiraly @cskiraly has a draft paper somewhere
Leobago _—_ 08/01/2023 1:13 PM
Note much public write-ups yet. You can find some content here:
- [https://blog.codex.storage/data-availability-sampling/](https://blog.codex.storage/data-availability-sampling/ "https://blog.codex.storage/data-availability-sampling/")
- [https://github.com/codex-storage/das-research](https://github.com/codex-storage/das-research "https://github.com/codex-storage/das-research")
We also have a few Jupiter notebooks but they are not public yet. As soon as that content is out we can let you know ![🙂](https://discord.com/assets/da3651e59d6006dfa5fa07ec3102d1f3.svg)
Codex Storage Blog
[Data Availability Sampling](https://blog.codex.storage/data-availability-sampling/)
The Codex team is busy building a new web3 decentralized storage platform with the latest advances in erasure coding and verification systems. Part of the challenge of deploying decentralized storage infrastructure is to guarantee that the data that has been stored and is available for retrieval from the beginning until
GitHub
[GitHub - codex-storage/das-research: This repository hosts all the ...](https://github.com/codex-storage/das-research)
This repository hosts all the research on DAS for the collaboration between Codex and the EF. - GitHub - codex-storage/das-research: This repository hosts all the research on DAS for the collabora...
[](https://opengraph.githubassets.com/39769464ebae80ca62c111bf2acb6af95fde1b9dc6e3c5a9eb56316ea363e3d8/codex-storage/das-research)
![GitHub - codex-storage/das-research: This repository hosts all the ...](https://images-ext-2.discordapp.net/external/DxXI-YBkzTrPfx_p6_kVpJzvVe6Ix6DrNxgrCbcsjxo/https/opengraph.githubassets.com/39769464ebae80ca62c111bf2acb6af95fde1b9dc6e3c5a9eb56316ea363e3d8/codex-storage/das-research?width=400&height=200)
27. zk_id
So we are at the moment most likely to use KZG commitments with a 2d RS polynomial. Basically just copy Ethereum. Reason is: 
- Our rollups/EZ leader will generate this, and those are beefier machines than the Base Layer. The base layer nodes just need to verify and sign the EC fragments and return them to complete the VID protocol (and then run consensus on the aggregated signed proofs).
- If we ever decide to change the design for the VID dispersal to be done by Base Layer leaders (in a multileader fashion), it can be distributed (rows/columns can be reconstructed and proven separately). I don't think we will pursue this, but we will have to if this scheme doesn't scale with the first option.
dryajov _—_ 08/01/2023 1:55 PM
This might interest you as well - [https://blog.subspace.network/combining-kzg-and-erasure-coding-fc903dc78f1a](https://blog.subspace.network/combining-kzg-and-erasure-coding-fc903dc78f1a "https://blog.subspace.network/combining-kzg-and-erasure-coding-fc903dc78f1a")
Medium
[Combining KZG and erasure coding](https://blog.subspace.network/combining-kzg-and-erasure-coding-fc903dc78f1a)
The Hitchhikers Guide to Subspace Episode II
[](https://miro.medium.com/v2/resize:fit:1200/0*KGb5QHFQEd0cvPeP.png)
![Combining KZG and erasure coding](https://images-ext-2.discordapp.net/external/LkoJxMEskKGMwVs8XTPVQEEu0senjEQf42taOjAYu0k/https/miro.medium.com/v2/resize%3Afit%3A1200/0%2AKGb5QHFQEd0cvPeP.png?width=400&height=200)
28. _[_1:56 PM_]_
This is a great analysis of the current state of the art in structure of data + commitment and the interplay. I would also recoment reading the first article of the series which it also links to
29. zk_id _—_ 08/01/2023 3:04 PM
Thanks @dryajov @Leobago ! Much appreciated!
30. _[_3:05 PM_]_
Very glad that we can discuss these things with you. Maybe I have some specific questions once I finish reading a huge pile of pending docs that I'm tackling starting today...
31. zk_id _—_ 08/01/2023 6:34 PM
@Leobago @dryajov I was playing with the DAS simulator. It seems the results are a bunch of XML. Is there a way so I visualize the results?
32. zk_id
@Leobago @dryajov I was playing with the DAS simulator. It seems the results are a bunch of XML. Is there a way so I visualize the results?
Leobago _—_ 08/01/2023 6:36 PM
Yes, checkout the visual branch and make sure to enable plotting in the config file, it should produce a bunch of figures ![🙂](https://discord.com/assets/da3651e59d6006dfa5fa07ec3102d1f3.svg)
33. _[_6:37 PM_]_
You might find also some bugs here and there on that branch ![😅](https://discord.com/assets/b45af785b0e648fe2fb7e318a6b8010c.svg)
34. zk_id _—_ 08/01/2023 7:44 PM
Thanks!

View File

@ -0,0 +1,60 @@
---
title: "2023-08-01 Codex weekly"
tags:
- "codex-updates"
date: 2023-08-01
lastmod: 2023-08-03
draft: false
---
# Codex update Aug 1st
## Client
### Milestone: Merkelizing block data
- Initial design writeup https://github.com/codex-storage/codex-research/blob/master/design/metadata-overhead.md
- Work break down and review for Ben and Tomasz (epic coming up)
- This is required to integrate the proving system
### Milestone: Block discovery and retrieval
- Some initial work break down and milestones here - https://docs.google.com/document/d/1hnYWLvFDgqIYN8Vf9Nf5MZw04L2Lxc9VxaCXmp9Jb3Y/edit
- Initial analysis of block discovery - https://rpubs.com/giuliano_mega/1067876
- Initial block discovery simulator - https://gmega.shinyapps.io/block-discovery-sim/
### Milestone: Distributed Client Testing
- Lots of work around log collection/analysis and monitoring
- Details here https://github.com/codex-storage/cs-codex-dist-tests/pull/41
## Marketplace
### Milestone: L2
- Taiko L2 integration
- This is a first try of running against an L2
- Mostly done, waiting on related fixes to land before merge - https://github.com/codex-storage/nim-codex/pull/483
### Milestone: Reservations and slot management
- Lots of work around slot reservation and queuing https://github.com/codex-storage/nim-codex/pull/455
## Remote auditing
### Milestone: Implement Poseidon2
- First pass at an implementation by Balazs
- private repo, but can give access if anyone is interested
### Milestone: Refine proving system
- Lost of thinking around storage proofs and proving systems
- private repo, but can give access if anyone is interested
## DAS
### Milestone: DHT simulations
- Implementing a DHT in Python for the DAS simulator.
- Implemented logical error-rates and delays to interactions between DHT clients.

View File

@ -0,0 +1,81 @@
---
title: "2023-08-11 Codex weekly"
tags:
- "codex-updates"
date: 2023-08-11
lastmod: 2023-08-17
draft: false
---
# Codex update August 11
---
## Client
### Milestone: Merkelizing block data
- Initial Merkle Tree implementation - https://github.com/codex-storage/nim-codex/pull/504
- Work on persisting/serializing Merkle Tree is underway, PR upcoming
### Milestone: Block discovery and retrieval
- Continued analysis of block discovery and retrieval - https://hackmd.io/_KOAm8kNQamMx-lkQvw-Iw?both=#fn5
- Reviewing papers on peers sampling and related topics
- [Wormhole Peer Sampling paper](http://publicatio.bibl.u-szeged.hu/3895/1/p2p13.pdf)
- [Smoothcache](https://dl.acm.org/doi/10.1145/2713168.2713182)
- Starting work on simulations based on the above work
### Milestone: Distributed Client Testing
- Continuing working on log collection/analysis and monitoring
- Details here https://github.com/codex-storage/cs-codex-dist-tests/pull/41
- More related issues/PRs:
- https://github.com/codex-storage/infra-codex/pull/20
- https://github.com/codex-storage/infra-codex/pull/20
- Testing and debugging Condex in continuous testing environment
- Debugging continuous tests [cs-codex-dist-tests/pull/44](https://github.com/codex-storage/cs-codex-dist-tests/pull/44)
- pod labeling [cs-codex-dist-tests/issues/39](https://github.com/codex-storage/cs-codex-dist-tests/issues/39)
---
## Infra
### Milestone: Kubernetes Configuration and Management
- Move Dist-Tests cluster to OVH and define naming conventions
- Configure Ingress Controller for Kibana/Grafana
- **Create documentation for Kubernetes management**
- **Configure Dist/Continuous-Tests Pods logs shipping**
### Milestone: Continuous Testing and Labeling
- Watch the Continuous tests demo
- Implement and configure Dist-Tests labeling
- Set up logs shipping based on labels
- Improve Docker workflows and add 'latest' tag
### Milestone: CI/CD and Synchronization
- Set up synchronization by codex-storage
- Configure Codex Storage and Demo CI/CD environments
---
## Marketplace
### Milestone: L2
- Taiko L2 integration
- Done but merge is blocked by a few issues - https://github.com/codex-storage/nim-codex/pull/483
### Milestone: Marketplace Sales
- Lots of cleanup and refactoring
- Finished refactoring state machine PR [link](https://github.com/codex-storage/nim-codex/pull/469)
- Added support for loading node's slots during Sale's module start [link](https://github.com/codex-storage/nim-codex/pull/510)
---
## DAS
### Milestone: DHT simulations
- Implementing a DHT in Python for the DAS simulator - https://github.com/cortze/py-dht.
NOTE: Several people are/where out during the last few weeks, so some milestones are paused until they are back

View File

@ -0,0 +1,41 @@
---
title: 2023-08-31 Codex weekly
tags:
- codex-updates
date: 2023-08-31
lastmod: 2023-09-04
draft: false
---
# Codex Update August 21-31
## Client
### Milestone: Block Merkelization
- [Storing and retrieving data using merkle trees](https://github.com/codex-storage/nim-codex/pull/541)
- [Coders for merkle trees](https://github.com/codex-storage/nim-codex/pull/519)
- [Refine merkle tree construction](https://github.com/codex-storage/nim-codex/pull/516)
### Milestone: Block Exchange protocol refinements and simulations
- Tracker simulation implementation
- Block exchange protocol thoughts
- https://hackmd.io/ydT3AiliS8q2vdixBUXvCQ
- Follow [swarmsim repo](https://github.com/codex-storage/swarmsim) for updates
### Milestone: Async Disc Access & Threading support
- Tests on sharing thread data with refc
- [errorVariable and thread safety](https://github.com/codex-storage/questionable/issues/45)
- [Fix error binding in without statement on multiple threads](https://github.com/codex-storage/questionable/pull/46)
- [WIP: Prototype proxy IO threadpool](https://github.com/codex-storage/nim-datastore/pull/42)
### Milestone: Client stability and debugging
- Major effort to stabilize the Codex client through continuous automated testing
- [Start discovery after announce address is updated](https://github.com/codex-storage/nim-codex/pull/543)
- [Start discovery after announce address is updated](https://github.com/codex-storage/nim-codex/pull/536)
- [Retrieve empty blocks](https://github.com/codex-storage/nim-codex/pull/513)
## Infra
### Milestone: Monitoring and Metrics
- Install Node exporter and Prometheus in Dist-Tests cluster
- Grafana Dashboard updates
- Automated metrics scraping

View File

@ -0,0 +1,65 @@
---
title: 2023-09-15 Codex weekly
tags:
- codex-updates
date: 2023-09-15
lastmod: 2023-09-18
draft: false
---
## Client
### Milestone: Block Merkelization
- Continuing work on merkelization
- [Storing and retrieving data using merkle trees](https://github.com/codex-storage/nim-codex/pull/541)
- [Coders for merkle trees](https://github.com/codex-storage/nim-codex/pull/519)
- [Refine merkle tree construction](https://github.com/codex-storage/nim-codex/pull/516)
### Milestone: Block Exchange protocol refinements and simulations
- Tracker simulation implementation
- Block exchange protocol thoughts
- https://rpubs.com/giuliano_mega/1067876
- https://rpubs.com/giuliano_mega/1082104
- Follow [swarmsim repo](https://github.com/codex-storage/swarmsim) for updates
### Milestone: Async Disc Access & Threading support
- Work on IO threads support
- https://github.com/codex-storage/nim-datastore/pulls
- Some early integration here - https://github.com/codex-storage/nim-codex/pull/552
- Based mostly on https://github.com/codex-storage/nim-codex/pull/545 and prev work by @elcritch
### Milestone: Client stability and debugging
- Major effort to stabilize the Codex client through continuous automated testing
## Infra
### Milestone: Monitoring and Metrics
- Install Node exporter and Prometheus in Dist-Tests cluster
- Grafana Dashboard updates - waiting for public DNS to be setup
- Automated metrics scraping - waiting for public DNS to be setup
## Marketplace
### Milestone: Availabilities and Reservations
- Work ongoing in
- https://github.com/codex-storage/nim-ethers
- https://github.com/codex-storage/codex-contracts-eth
- https://github.com/codex-storage/nim-codex
- Some recent PRs
- https://github.com/codex-storage/nim-ethers/pull/54
- https://github.com/codex-storage/nim-codex/pull/535
## Research
### Milestone: Publications
- White paper - https://docs.google.com/document/d/1LCy23m90IHf32aUVhRT4r4772w1BfVcSLaJ0z9VTw9A/edit#heading=h.qs3bayckj5u4
- Various publications incoming from Csaba
## DAS
### Milestone: DAS Design
- Ongoing discussions around - https://ethresear.ch/t/peerdas-a-simpler-das-approach-using-battle-tested-p2p-components/16541
### Milestone: Measurments and simulations
- Work continues on simulating various aspects of the DHT in https://github.com/cortze/py-dht
- Csaba discussed/suggested fixes for Discv5 with Felix Lange

View File

@ -0,0 +1,53 @@
---
title: 2023-09-29 Codex weekly
tags:
- codex-updates
date: 2023-09-29
lastmod: 2023-09-30
draft: false
---
## Client
### Milestone: Block Merkelization
- Merkelization current working branch
- https://github.com/codex-storage/nim-codex/tree/sending-blocks-with-proofs-over-the-network
### Milestone: Block Exchange protocol refinements and simulations
- Not much done on it this past couple of weeks, progress can be tracked here when it resumes
- https://github.com/codex-storage/swarmsim
### Milestone: Async Disc Access & Threading support
- Work on IO threads support
- All related PRs are here https://github.com/codex-storage/nim-datastore/pulls
- We now have a clear idea of how to implement and integrate it - https://github.com/codex-storage/nim-codex/pull/552
- found a leak in Nim's `SharedPtr` https://github.com/nim-lang/threading/issues/45 and fix https://github.com/nim-lang/threading/pull/46
### Milestone: Client stability and debugging
- Major effort to stabilize the Codex client through continuous automated testing
- Most team members are working on this on and off, testing is ongoing
## Infra
- Installed cert-manager in Dist-Tests cluster
- Implemented External OAUTH Authentication for Grafana/Kibana (need to adjust internal authentication)
- Exposed [Grafana](https://grafana.dist-tests.codex.storage/) and [Kibana](https://kibana.dist-tests.codex.storage/)
- [Losing the logs during Continuous Tests run](https://github.com/codex-storage/infra-codex/issues/48)
## Research
### Milestone: Publications
- White paper ongoing - https://docs.google.com/document/d/1LCy23m90IHf32aUVhRT4r4772w1BfVcSLaJ0z9VTw9A/edit#heading=h.qs3bayckj5u4
### Milestone: Sampling for storage proofs
- Large discussion around erasure coding for sampling
- https://github.com/codex-storage/zk-research-artifacts/blob/master/sampling/sampling.pdf
- https://hackmd.io/DxJzAuTZROulBhPWqScmCg?view
- https://github.com/codex-storage/codex-research/pull/184
- https://hackmd.io/kxSF8wjPS3arDFcqFJrNDw
## DAS
### Milestone: DAS Design
- Ongoing discussions around - https://ethresear.ch/t/peerdas-a-simpler-das-approach-using-battle-tested-p2p-components/16541
- space-DAS (don't have link), a proposal to use spacefilling curves for sample placement
### Milestone: Measurements and simulations
- Work continues on simulating various aspects of the DHT in https://github.com/cortze/py-dht

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -0,0 +1,10 @@
---
title: Innovation Lab Roadmap Overview
tags:
- overview
description: Overview of the Logos Innovation Lab development
---
Welcome to the Innovation lab Roadmap Overview
- [Milestones](innovation_lab/milestones-overview.md)
- [weekly updates](tags/ilab-updates)

View File

@ -0,0 +1,9 @@
---
title: "Innovation Lab Milestones Overview"
tags:
- "milestones"
date: "2023-08-17"
lastmod: "2023-08-17"
---
iLab Milestones can be found on the [Notion Page](https://www.notion.so/Logos-Innovation-Lab-dcff7b7a984b4f9e946f540c16434dc9?pvs=4)

View File

@ -0,0 +1,48 @@
---
title: "2023-07-12 Innovation Lab Weekly"
tags:
- "ilab-updates"
date: 2023-07-12
lastmod: 2023-08-03
---
**Logos Lab** 12th of July
Currently working on the Waku Objects prototype, which is a modular system for transactional chat objects.
**Milestone**: deliver the first transactional Waku Object called Payggy (attached some design screenshots).
It is now possible to make transactions on the blockchain and the objects send notifications over the messaging layer (e.g. Waku) to the other participants. What is left is the proper transaction status management and some polishing.
There is also work being done on supporting external objects, this enables creating the objects with any web technology. This work will guide the separation of the interfaces between the app and the objects and lead us to release it as an SDK.
**Next milestone**: group chat support
The design is already done for the group chat functionality. There is ongoing design work for a new Waku Object that would showcase what can be done in a group chat context.
Deployed version of the main branch:
https://waku-objects-playground.vercel.app/
Link to Payggy design files:
https://scene.zeplin.io/project/64ae9e965652632169060c7d
Main development repo:
https://github.com/logos-innovation-lab/waku-objects-playground
Contact:
You can find us at https://discord.com/channels/973324189794697286/1118949151225413872 or join our discord at https://discord.gg/UtVHf2EU
---
#### Conversation
1. petty _—_ 07/15/2023 5:49 AM
the `waku-objects` repo is empty. Where is the code storing that part vs the playground that is using them?
2. petty
the `waku-objects` repo is empty. Where is the code storing that part vs the playground that is using them?
3. attila🍀 _—_ 07/15/2023 6:18 AM
at the moment most of the code is in the `waku-objects-playground` repo later we may split it to several repos here is the link: [https://github.com/logos-innovation-lab/waku-objects-playground](https://github.com/logos-innovation-lab/waku-objects-playground "https://github.com/logos-innovation-lab/waku-objects-playground")

View File

@ -0,0 +1,75 @@
---
title: "2023-08-02 Innovation Lab weekly"
tags:
- "ilab-updates"
date: 2023-08-02
lastmod: 2023-08-03
draft: false
---
**Logos Lab** 2nd of August
Currently working on the Waku Objects prototype, which is a modular system for transactional chat objects.
The last few weeks were a bit slower than usual because there were vacations, one team member got married, there was EthCC and a team offsite.
Still, a lot of progress were made and the team released the first version of a color system in the form of an npm package, which lets the users to choose any color they like to customize their app. It is based on grayscale design and uses luminance, hence the name of the library. Try it in the Playground app or check the links below.
**Milestone**: group chat support
There is a draft PR for group chat support for private groups and it is expected to be finished this week. At the end we decided to roll our own toy group chat protocol implementation because we did not find anything ready to use. It would have been great if we could have just used an existing implementation.
**Next milestone**: Splitter Waku Object supporting group chats and smart contracts
This will be the first Waku Object that is meaningful in a group chat context. Also this will demonstrate how to use smart contracts and multiparty transactions.
Deployed version of the main branch:
https://waku-objects-playground.vercel.app/
Main development repo:
https://github.com/logos-innovation-lab/waku-objects-playground
Grayscale design:
https://grayscale.design/
Luminance package on npm:
https://www.npmjs.com/package/@waku-objects/luminance
Contact:
You can find us at https://discord.com/channels/973324189794697286/1118949151225413872 or join our discord at https://discord.gg/ZMU4yyWG
---
### Conversation
1. fryorcraken _—_ Yesterday at 10:58 PM
> There is a draft PR for group chat support for private groups and it is expected to be finished this week. At the end we decided to roll our own toy group chat protocol implementation because we did not find anything ready to use. It would have been great if we could have just used an existing implementation.
While status-js does implement chat features, I do not know how nice the API is. Waku is actively hiring a chat sdk lead and golang eng. We will probably also hire a JS engineer (not yet confirmed) to provide nice libraries to enable such use case (1:1 chat, group chat, community chat).
August 3, 2023
2. fryorcraken
> > There is a draft PR for group chat support for private groups and it is expected to be finished this week. At the end we decided to roll our own toy group chat protocol implementation because we did not find anything ready to use. It would have been great if we could have just used an existing implementation. While status-js does implement chat features, I do not know how nice the API is. Waku is actively hiring a chat sdk lead and golang eng. We will probably also hire a JS engineer (not yet confirmed) to provide nice libraries to enable such use case (1:1 chat, group chat, community chat).
3. attila🍀 _—_ Today at 4:21 AM
This is great news and I think it will help with adoption. I did not find a JS API for status (maybe I was looking at the wrong places), the closest was the `status-js-api` project but that still uses whisper and the repo recommends to use `js-waku` instead ![🙂](https://discord.com/assets/da3651e59d6006dfa5fa07ec3102d1f3.svg) [https://github.com/status-im/status-js-api](https://github.com/status-im/status-js-api "https://github.com/status-im/status-js-api") Also I also found the `56/STATUS-COMMUNITIES` spec: [https://rfc.vac.dev/spec/56/](https://rfc.vac.dev/spec/56/ "https://rfc.vac.dev/spec/56/") It seems to be quite a complete solution for community management with all the bells and whistles. However our use case is a private group chat for your existing contacts, so it seems to be a bit overkill for that.
4. fryorcraken _—_ Today at 5:32 AM
The repo is status-im/status-web
5. _[_5:33 AM_]_
Spec is [https://rfc.vac.dev/spec/55/](https://rfc.vac.dev/spec/55/ "https://rfc.vac.dev/spec/55/")
6. fryorcraken
The repo is status-im/status-web
7. attila🍀 _—_ Today at 6:05 AM
As constructive feedback I can tell you that it is not trivial to find it and use it in other projects It is presented as a React component without documentation and by looking at the code it seems to provide you the whole chat UI of the desktop app, which is not necessarily what you need if you want to embed it in your app It seems to be using this package: [https://www.npmjs.com/package/@status-im/js](https://www.npmjs.com/package/@status-im/js "https://www.npmjs.com/package/@status-im/js") Which also does not have documentation I assume that package is built from this: [https://github.com/status-im/status-web/tree/main/packages/status-js](https://github.com/status-im/status-web/tree/main/packages/status-js "https://github.com/status-im/status-web/tree/main/packages/status-js") This looks promising, but again there is no documentation. Of course you can use the code to figure out things, but at least I would be interested in what are the requirements and high level architecture (does it require an ethereum RPC endpoint, where does it store data, etc.) so that I can evaluate if this is the right approach for me. So maybe a lesson here is to put effort in the documentation and the presentation as well and if you have the budget then have someone on the team whose main responsibility is that (like a devrel or dev evangelist role)

View File

@ -0,0 +1,31 @@
---
title: "2023-08-17 <TEAM> weekly"
tags:
- "<TEAM>-updates"
date: 2023-08-11
lastmod: 2023-08-17
draft: false
---
# **Logos Lab** 11th of August
Currently working on the Waku Objects prototype, which is a modular system for transactional chat objects.
We merged the group chat but it surfaced plenty of issues that were not a problem with 1on1 chats, both with our Waku integration and from product perspective as well. Spent the bigger part of the week with fixing these. We also registered a new domain, wakuplay.im where the latest version is deployed. It uses the Gnosis chain for transactions and currently the xDai and Gno tokens are supported, but it is easy to add other ERC-20 tokens now.
**Next milestone**: Splitter Waku Object supporting group chats and smart contracts
This will be the first Waku Object that is meaningful in a group chat context. Also this will demonstrate how to use smart contracts and multiparty transactions. The design is ready and the implementaton has started.
**Next milestone**: Basic Waku Objects website
Work started toward having a structure for a website and the content is shaping up nicely. The implementation has been started on it as well.
Deployed version of the main branch:
https://www.wakuplay.im/
Main development repo:
https://github.com/logos-innovation-lab/waku-objects-playground
Contact:
You can find us at https://discord.com/channels/973324189794697286/1118949151225413872 or join our discord at https://discord.gg/eaYVgSUG

View File

@ -0,0 +1,9 @@
---
title: Insight Business Analysis Overview
---
## `insight:business-analysis:`
---
### `datalake-repo-ingestion`
### `real-opt-keycard`

View File

@ -0,0 +1,9 @@
---
title: Insight DAO Overview
---
## `insight:dao:`
---
### `spiff-process-growth`
### `spiff-bounty-experiment`

16
content/insight/index.md Normal file
View File

@ -0,0 +1,16 @@
---
title: Insight Team Overview
---
## `insight:`
---
### Description
The insight team acts as a glue within the Logos Collective. They serve development projects by helping to track development activity and aiding in resource allocation. They serve the broader service units within the organization by helping them understand who's doing what, how much effort is going into each chunk of work, how much it costs, and future projections of milestone delivery.
This page tracks the various work that they engage in throughout the org. As this is a service unit and not a project, it does not strictly work off a milestone based approach and has consistent service work to the various groups within the Logos Collective.
### Current work
#### `dao:` [[insight/dao/index|details]]
#### `project-reporting:` [[insight/project-reporting/index|details]]
#### `business-analysis:` [[insight/business-analysis/index|details]]

View File

@ -0,0 +1,17 @@
---
title: Insight Project Reporting Overview
---
## `insight:project-reporting:`
---
### `milestone-publishing:`
- `codex`
- `nomos`
- `waku`
- `vac`
### `monthly-reports`
### `llm-dev-activity`

View File

@ -0,0 +1,39 @@
---
title: Nomos Data Availability Details
---
## `nomos:data-availability:`
---
### Description
Nomos Data Availability design:
- Our Base Layer doesn't have execution. Only the (global) Coordination Layer has a minimal set of operations.
- Our rollups are quasi-sovereign, meaning that they do not prove their state to the Base Layer, but they have to prove asset deposit/withdrawals, as well as implement the mechanism to pay for using the Base Layer DA+consensus. _Note that full sovereignty means no bridging and implementing a client of the DA for the payments._
- We also have a form of PBS, but enshrined in the L2s. The Base Layer only performs consensus on data that has been dispersed by the Builder. The Proposer is a node in the Base Layer, and the Builder is a node of the Execution Zone.
### Research
- Data Availability Specification: https://www.notion.so/Data-Availability-Specification-wip-c3961b681eba4ccdab2be9181e4207b4
### Engineering
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
- Initial data availability implementation: In progress, 2023-09-01, 2023-11-30
```

View File

@ -0,0 +1,36 @@
---
title: "Nomos Milestone: Full Base Layer Specification"
description: The initial milestone of the Nomos project is a full specification of the Base Layer. This entails detailed explanations of the working parts of the architecture and how they lay the groundwork for future layers to be built on top.
---
## `nomos:base-layer-spec:`
---
### Description
The initial milestone of the Nomos project is a full specification of the Base Layer. This entails detailed explanations of the working parts of the architecture and how they lay the groundwork for future layers to be built on top. The working parts are:
- A private P2P network
- Data availability
- A private Proof-of-State model leveraging a scalable, lightweight consensus algorithm
This work can be tracked via the following epics.
### Key Epics
#### `network-privacy:` [[nomos/base-layer-spec/network-privacy/index|details]]
- due:
- progress:
- short description: Creation of a privacy preserving network underlay
#### `private-pos:` [[nomos/base-layer-spec/priv-pos/index|details]]
- next deliverable: Sept 29, 2023
- progress: 99%
- short description: Creation of a Proof-of-Stake model that preserves the privacy of the stakers within the network
#### `data-availability:` [[content/nomos/base-layer-spec/data-availability/index|details]]
- due:
- progress:
- short description: Definition of how Nomos makes data available to network participants, and its reference implementation for the Base Layer.
### Dependent Upon:
#### `vac:dr:carnot-aggregation-spec`
- [[vac/dr/consensus/nomos/carnot-2-3rds-vote-aggregation|carnot-2-3rds-vote-aggregation]]
#### `vac:tke:stake-rewards`
- [[vac/tke/g/nomos/economic-analysis|economic-analysis]]

View File

@ -0,0 +1,64 @@
---
title: Nomos Network Privacy Details
---
## `nomos:network-privacy:`
---
### Current Focus
**Mixnet 1.0** - a technology/system that helps keep information sent over the internet private and secure. It does so by mixing up data from different sources before sending it to its destination. In Nomos chain:
- Mixnet nodes opt-in by publishing their IP and providing stake.
- The mixnet topology of layers is public and defined on-chain (by some deterministic algorithm using the random-beacon for example).
- After certain number of epochs (to be determined), a new set of nodes is chosen and a new topology of Mixnet layers is defined. Nodes need to renew their stake and their keys (for security).
For more information, check https://www.notion.so/Private-Routing-Mixnet-Network-Privacy-Component-1-613f53cf11a245098c50af6b191d31d2
### Research
#### Current Tasks
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Viability analysis of the Embedded Mixnet: In progress, 2023-09-18, 2023-10-06
```
### Engineering
#### Current Tasks
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 7day
dateFormat YYYY-MM-DD
section Status
Mixnet 1.0 Stabilization: In progress, 2023-09-18, 2023-09-30
```

View File

@ -0,0 +1,32 @@
---
title: Nomos Private Proof of Stake Details
---
### Description
In PoS systems, preserving stake privacy is vital to avoid exposing users wealth. Different approaches to achieve this include leveraging confidential assets, such as or coin mixing protocols applied to staking.
### Current Status
Research phase: writing Private Proof of Stake Specifications:
Due Date: 2023-09-29
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
PPoS Specifications: In progress, 2023-06-25, 2023-09-29
```

View File

@ -0,0 +1,16 @@
---
title: "Nomos Milestone: Base Layer Testnet Implementation"
---
## `nomos:base-layer-testnet:`
---
### Description
### Key Epics
#### `testnet:` [[nomos/base-layer-testnet/testnet/index|index]]
- due: October 27th
- progress: 66% (unstable testnet)
- short description: deployment of the initial testnet for the Nomos network
### Dependent Upon:
#### `vac:dst:node-cicd`
- [[ci-integration]]

View File

@ -0,0 +1,86 @@
---
title: Nomos Testnet Details
---
## `nomos:testnet:`
---
### Description
We aim for having an **unstable** testnet (asap) with no guarantees on breaking changes:
- Data can be wiped out at every new rollout
- Accounts may disappear at some point
- There are no incentives initially (ie no token as it requires data permanence)
- A good first functionality target would be to implement something like Bitcoin's ordinals (NFTs), since they are just signed data.
More information: https://www.notion.so/Testnet-55049d959a6145fd9c542c5b3999c65a
### Research
### Engineering
#### Current Focus
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Node for Testnet: In progress, 2023-08-28, 2023-10-27
```
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Client for Testnet: In progress, 2023-09-11, 2023-10-27
```
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 7day
dateFormat YYYY-MM-DD
section Status
DevOps for Testnet: In progress, 2023-09-11, 2023-09-30
```

View File

@ -0,0 +1,13 @@
---
title: "Nomos Milestone: Scalable Consensus Definition"
---
## `nomos:consensus-def:`
---
### Description
This tracks the work of the initial discovery effort that lays the groundwork for all other work, consensus. A survey of options was undertaken, explored and documented. The product of all the work is Carnot.
Main whitepaper:
Pseudocode specification of Carnot: https://github.com/logos-co/nomos-specs/blob/master/carnot/spec.md
**Status**: Delivered

53
content/nomos/index.md Normal file
View File

@ -0,0 +1,53 @@
---
title: Nomos Roadmap Overview
tags:
- nomos
- Roadmap
- overview
lastmod: 2023-10-12
description: The Nomos project is an attempt to make a scalable, modular, and private L1. To learn more about the project, please visit https://nomos.tech. Nomos is currently in its initial phase as a project within Logos, namely the research and architecture design phase.
---
## `nomos:`
---
### Nomos Overview
The Nomos project is an attempt to make a scalable, modular, and private L1. To learn more about the project, please visit [the website](https://nomos.tech)
Nomos is currently in its initial phase as a project within Logos, namely the research and architecture design phase.
#### Latest Monthly Report
- [[nomos/monthly-reports/2023-sept|2023-sept]]
### Current Key Milestones
#### `base-layer-spec:` [[nomos/base-layer-spec/index|details]]
- due: 2024 Q1
- status: in progress
- description: Full specification of the Nomos Base Layer along with accompanying research and justification.
#### `base-layer-testnet:` [[nomos/base-layer-testnet/index|details]]
- due: 2024 Q3
- status: in progress
- description:
#### `coord-layer-spec:`
- due: 2024 Q4
- status: pending
- description:
#### `coord-layer-testnet:`
- due: 2025 Q1
- status: pending
- description:
---
### Delivered Milestones
#### `consensus-def:` [[nomos/consensus-def/index|details]]
- due: 2023 Q3
- status: complete
- description: Research and specification of an underlying consensus algorithm to be used as foundation for Nomos.
---
### Useful Links
- [Milestones Overview Notion Page](https://www.notion.so/ec57b205d4b443aeb43ee74ecc91c701?v=e782d519939f449c974e53fa3ab6978c): where the team updates their milestones before being transferred here.

View File

@ -0,0 +1,100 @@
---
title: 2023 September Nomos Monthly Report
draft: false
lastmod: 2023-09-27
tags:
- monthly-report
- nomos
---
## Executive Summary
The Nomos team continues to stay focused on research related to the fine-grained details of the Base Layer specification and implementation. The addition of a Project Manager is expected to not only expedite the research by allowing the lead to dive deeper into the issues involved but also make that work and progress more transparent.
Mehmet joins the team next month to fulfill a long needed dedicated role in research privacy and zero-knowledge technology as it pertains to the Nomos requirements.
The whitepapers plan to be polished and published by early next month which not only details the current specifications but also known problems that need to be solved.
## Key Updates
### Personnel
- Filip has joined as a Project Manager (last month) to assist in various activities. His position is to sit in between the Insights team and the Nomos project to facilitate development tracking and resource allocation. It is anticipated that his involvement will speed up development as current resources are then freed to focus on research and development. Until demands within Nomos require full-time engagement from him, he will also be assisting with Vac Program Management.
- After a lot of candidate interviews, Mehmet was offered a position and accepted to focus on the privacy and cryptography research needs within the project. His background in cryptography and security auditing of popular zero-knowledge platforms is expected to be very useful in aiding to architect Nomos. Mehmet's starting date is Oct 2
- Another candidate for this role that was considered, Ramses, has joined the Vac team and will initially be aiding in this work and growing the relationship with their [[vac/acz/index|Applied Crypto and Zero-Knowledge]] team. Ramses started in
- An offer has been extended to a candidate for the open role of Applied Network Researcher. He passed all interview rounds but unfortunately passed on the final offer for another opportunity.
- The roles of [Applied Network Researcher]() and [Distributed Systems Researcher](https://jobs.status.im/?gh_jid=5310504) are still open and candidates are being interviewed.
### Milestones
Nomos' roadmap is currently composed of five main sections, each of which is broken up into `Research` and `Development`. Obviously, `Development` lags behind the `Research` section. These five areas are as follows:
- `Whitepapers`
- `Network Privacy and Mixnet`
- `Testnet`
- `Private PoS`
- `Data Availability`
The Milestone definitions and timelines are not yet ported to this site, and as such, are private to Logos. They are planned to be publicized on this site by the end of the this month, potentially bleeding into the beginning of October. For those with Notion access, you can view the Milestone definitions [here](https://www.notion.so/Work-In-Progress-9949ac425fd240b1a14006eeca03d874).
The following sections will outline key activity across these milestones. If more information and detail is desired, links can be found under the associated heading among the [[#Sources and Useful Links]] Weekly updates section.
#### Whitepapers
The current Whitepaper drafts are almost ready for publication. They require only "beautification" and a listing of detailed "current unsolved problems" that need to be explored later in the total project. This will be done following the current prioritization of mixnet specification.
This milestone will be completed next month.
#### Network Privacy and Mixnet
The specification of the mixnet is currently underway and expected to wrap up soon (next month??). This initial specification is modeled after the current State of the Art in the mixnet industry. This is chosen to be critical path based on all the depending architectural decisions that stem from decisions of the networking layer.
Review and analysis of current mixnet literature continues. Throughout this review, a modeling framework was developed in order to help evaluate future (v2) speculative mixnet architectures as compared to the current one. This theoretical framework has already been able to reproduce known results within the industry, such as deriving that the probability of an anonymity failure:
- decreases when increasing the number of layers
- increases when increasing the number of nodes within a single layer.
Framework and analysis details can be found in [the overleaf document](https://www.overleaf.com/read/rybwvjftfrrg).
While research explores subtleties in the mixnet specification, development has tackled the foundations of its implementation on top of `libp2p` within the `nomos-node` repository. They've logically setup how it connects to the rest of the pieces of the node, setup testing frameworks and node monitoring hooks, and generally got it provisioned for the upcoming testnet.
#### Testnet
A PoC/Draft Testnet was created and merged via Docker-Compose, then general exploration was done to identify what to measure and how to do it within the `nomos-node` software.
Simulations of the branch overlay with 1 committee was conducted. Initial results discovered a bug in reproducibility that was fixed. Additional simulations resulted in discovery of inter-module errors with the leader selection. This is currently being explored along with integration of mixnet developments.
#### Private PoS
Research was conducted in a variety of areas around a Private Proof of Stake spec relevant to the architecture of Nomos. All details can be found in the Whitepaper descriptions.
The initial design was created based on Zcash designs with section details around how "stake" is considered for the Base Layer of Nomos, how "restaking" could work, and various consensus modifications around Carnot. An introduction of "shadows" was done which presents the ideas around the initial voting process. The logic of these "shadows" is currently being fleshed out so that they're more intuitive to understand. One result is that they're now called "Validators" in an effort to keep naming conventions reasonable across the industry.
Much attention was spent on a discovered issue with vote propagation within this construction. This issue is around the implications of vote withholding and how they change as you move up the overlay. The solution being to propagate a map of seen votes upstream alongside the vote, thus increasing transparency of participation.
The concept of "Hastiness" has been introduced to describe the leader's ability to decide whether or not to include votes from the root committee if the threshold is reached before they've had the opportunity to conclude. More research is underway to detail the implications of this decisions with respect to payout, latency, and security.
Most notably, an extension (or more constrained parameterization) of Carnot was initiated and is underway (expected by end of Oct) as a consequence of needing to mitigate a signature aggregation issue. This extension requires 2/3 votes to be collected before a decisions is made.
#### Data Availability
Research continues on the various available Data Availability schemes and their trade-offs which resulted in the ability to make some decisions on the Nomos specification and identified a more specific personnel requirement for specialized cryptographic expertise. This research demand will now be filled by the new addition to the team and progress is expected to accelerate.
An analysis of the impact of node decay in Data Availability [was performed](https://www.overleaf.com/read/gzqvbbmfnxyp) and presented in a [Logos Research Seminar](https://minutes.logos.co/logos/logos-research-call-notes#september-13). This research resulted in a draft specification of [private DA](https://www.notion.so/Data-Availability-Specification-c3961b681eba4ccdab2be9181e4207b4?d=d4e8d1bcd6224682ba74737100106e48#0c70202794214cbab626e51f7f1f7c24). This then lead to the [first draft](https://www.notion.so/Practical-Private-Addressing-Network-Privacy-Component-2-2b9b4923124a4fdb81dba5d2bba1d289?d=99166164267a46589c5715175e1b3657#5e27d2010d30468f9d8f0d0928b9c639) of a complete privacy solution for the networking layer for consensus and DA.
The architecture of Data Availability services was fleshed out within `nomos-node` software. Data dissemination implementation was completed and the mempool for certificates is currently in progress.
## Perceived Changes in Project Risk
Privacy remains at the forefront of this project's desired requirements. As such, it is important to define what types of privacy the project can offer and then detail exactly how various technology provides it. This is a "ground up" process that starts at the lowest layers and propagates up through the stack. Due to the continued exploration and designing of the Base Layer, it remains to be seen how the currently designs will impact upper layers, namely "Execution Zones." The on-going development of the [[vac/zkvm/index|zkVM]] incubation project within Vac raises the risk of incompatibility between the two as both projects are optimizing for their respective domains in parallel and without much communication.
## Future Plans
### Insight
It is expected that the entire Nomos roadmap will be specified within this site and the weekly reporting process will be in line with the Milestones defined therein.
A `Logos Collaborations` section will be included next month to highlight differences in alignment with the Logos Collective as well as cross project collaboration updates.
Depending on the uptake and viability of the [Waku reporting process](https://github.com/waku-org/pm) to other projects, then a myriad of quantitative measures will be included in the next monthly report.
### Project
Next month focuses on finalizing and publishing:
- the first version of the Whitepapers
- emphasis that specification details will focus on the Base Layer implementation, leaving unknowns and explicit detail of above layers to be explored as open problems.
- a Nomos Testnet Client and Node implementation
- a viability analysis of an embedded mixnet
- a specification and pseudocode for the extended 2/3-vote aggregation Carnot consensus algorithm (Vac dependency: [[vac/dr/consensus/nomos/carnot-2-3rds-vote-aggregation|carnot-2-3rds-vote-aggregation]])
## Sources and Useful Links
Weekly updates referenced
- [[nomos/updates/2023-09-04|2023-09-04]]
- [[nomos/updates/2023-09-11|2023-09-11]]
- [[nomos/updates/2023-09-19|2023-09-19]]
- [[nomos/updates/2023-09-26|2023-09-26]]

View File

@ -0,0 +1,4 @@
---
title: Nomos Monthly Reports
---
Here are the monthly reports that are generated.

View File

@ -0,0 +1,36 @@
---
title: "2023-07-24 Nomos weekly"
tags:
- "nomos-updates"
date: 2023-07-24
lastmod: 2023-08-03
draft: false
---
**Research**
- Milestone 1: Understanding Data Availability (DA) Problem
- High-level exploration and discussion on data availability problems in a collaborative offsite meeting in Paris.
- Explored the necessity and key challenges associated with DA.
- In-depth study of Verifiable Information Dispersal (VID) as it relates to data availability.
- **Blocker:** The experimental tests for our specific EC scheme are pending, which is blocking progress to make final decision on KZG + commitments for our architecture.
- Milestone 2: Privacy for Proof of Stake (PoS)
- Analyzed the capabilities and limitations of mixnets, specifically within the context of timing attacks in private PoS.
- Invested time in understanding timing attacks and how Nym mixnet caters to these challenges.
- Reviewed the Crypsinous paper to understand its privacy vulnerabilities, notably the issue with probabilistic leader election and the vulnerability of anonymous broadcast channels to timing attacks.
**Development**
- Milestone 1: Mixnet and Networking
- Initiated integration of libp2p to be used as the full node's backend, planning to complete in the next phase.
- Begun planning for the next steps for mixnet integration, with a focus on understanding the components of the Nym mixnet, its problem-solving mechanisms, and the potential for integrating some of its components into our codebase.
- Milestone 2: Simulation Application
- Completed pseudocode for Carnot Simulator, created a test pseudocode, and provided a detailed description of the simulation. The relevant resources can be found at the following links:
- Carnot Simulator pseudocode (https://github.com/logos-co/nomos-specs/blob/Carnot-Simulation/carnot/carnot_simulation_psuedocode.py)
- Test pseudocode (https://github.com/logos-co/nomos-specs/blob/Carnot-Simulation/carnot/test_carnot_simulation.py)
- Description of the simulation (https://www.notion.so/Carnot-Simulation-c025dbab6b374c139004aae45831cf78)
- Implemented simulation network fixes and warding improvements, and increased the run duration of integration tests. The corresponding pull requests can be accessed here:
- Simulation network fix (https://github.com/logos-co/nomos-node/pull/262)
- Vote tally fix (https://github.com/logos-co/nomos-node/pull/268)
- Increased run duration of integration tests (https://github.com/logos-co/nomos-node/pull/263)
- Warding improvements (https://github.com/logos-co/nomos-node/pull/269)

View File

@ -0,0 +1,46 @@
---
title: "2023-07-31 Nomos weekly"
tags:
- "nomos-updates"
date: 2023-07-31
lastmod: 2023-08-03
draft: false
---
**Nomos 31st July**
[Network implementation and Mixnet]:
Research
- Initial analysis on the mixnet Proof of Concept (PoC) was performed, assessing components like Sphinx for packets and delay-forwarder.
- Considered the use of a new NetworkInterface in the simulation to mimic the mixnet, but currently, no significant benefits from doing so have been identified.
Development
- Fixes were made on the Overlay interface.
- Near completion of the libp2p integration with all tests passing so far, a PR is expected to be opened soon.
- Link to libp2p PRs: https://github.com/logos-co/nomos-node/pull/278, https://github.com/logos-co/nomos-node/pull/279, https://github.com/logos-co/nomos-node/pull/280, https://github.com/logos-co/nomos-node/pull/281
- Started working on the foundation of the libp2p-mixnet transport.
[Private PoS]:
Research
- Discussions were held on the Privacy PoS (PPoS) proposal, aligning a general direction of team members.
- Reviews on the PPoS proposal were done.
- A proposal to merge the PPoS proposal with the efficient one was made, in order to have both privacy and efficiency.
- Discussions on merging Efficient PoS (EPoS) with PPoS are in progress.
[Carnot]:
Research
- Analyzing Bribery attack scenarios, which seem to make Carnot more vulnerable than expected.
**Development**
- Improved simulation application to meet test scale requirements (https://github.com/logos-co/nomos-node/pull/274).
- Created a strategy to solve the large message sending issue in the simulation application.
[Data Availability Sampling (or VID)]:
Research
- Conducted an analysis of stored data "degradation" problem for data availability, modeling fractions of nodes which leave the system at regular time intervals
- Continued literature reading on Verifiable Information Dispersal (VID) for DA problem, as well as encoding/commitment schemes.

View File

@ -0,0 +1,57 @@
---
title: "2023-08-07 Nomos weekly"
tags:
- "nomos-updates"
date: 2023-08-07
lastmod: 2023-08-07
draft: false
---
Nomos weekly report
================
### Network implementation and Mixnet:
#### Research
- Researched the Nym mixnet architecture in depth in order to design our prototype architecture.
(Link: https://github.com/logos-co/nomos-node/issues/273#issuecomment-1661386628)
- Discussions about how to manage the mixnet topology.
(Link: https://github.com/logos-co/nomos-node/issues/273#issuecomment-1665101243)
#### Development
- Implemented a prototype for building a Sphinx packet, mixing packets at the first hop of gossipsub with 3 mixnodes (+ encryption + delay), raw TCP connections between mixnodes, and the static entire mixnode topology.
(Link: https://github.com/logos-co/nomos-node/pull/288)
- Added support for libp2p in tests.
(Link: https://github.com/logos-co/nomos-node/pull/287)
- Added support for libp2p in nomos node.
(Link: https://github.com/logos-co/nomos-node/pull/285)
### Private PoS:
#### Research
- Worked on PPoS design and addressed potential metadata leakage due to staking and rewarding.
- Focus on potential bribery attacks and privacy reasoning, but not much progress yet.
- Stopped work on Accountability mechanism and PPoS efficiency due to prioritizing bribery attacks.
### Carnot:
#### Research
- Addressed two solutions for the bribery attack. Proposals pending.
- Work on accountability against attacks in Carnot including Slashing mechanism for attackers is paused at the moment.
- Modeled data decimation using a specific set of parameters and derived equations related to it.
- Proposed solutions to address bribery attacks without compromising the protocol's scalability.
### Data Availability Sampling (VID):
#### Research
- Analyzed data decimation in data availability problem.
(Link: https://www.overleaf.com/read/gzqvbbmfnxyp)
- DA benchmarks and analysis for data commitments and encoding. This confirms that (for now), we are on the right path.
- Explored the idea of node sharding: https://arxiv.org/abs/1907.03331 (taken from Celestia), but discarded it because it doesn't fit our architecture.
#### Testing and Node development:
- Fixes and enhancements made to nomos-node.
(Link: https://github.com/logos-co/nomos-node/pull/282)
(Link: https://github.com/logos-co/nomos-node/pull/289)
(Link: https://github.com/logos-co/nomos-node/pull/293)
(Link: https://github.com/logos-co/nomos-node/pull/295)
- Ran simulations with 10K nodes.
- Updated integration tests in CI to use waku or libp2p network.
(Link: https://github.com/logos-co/nomos-node/pull/290)
- Fix for the node throughput during simulations.
(Link: https://github.com/logos-co/nomos-node/pull/295)

View File

@ -0,0 +1,47 @@
---
title: "2023-08-17 Nomos weekly"
tags:
- "nomos-updates"
date: 2023-08-14
lastmod: 2023-08-17
draft: false
---
# **Nomos weekly report 14th August**
---
## **Network Privacy and Mixnet**
### Research
- Mixnet architecture discussions. Potential agreement on architecture not very different from PoC
- Mixnet preliminary design [https://www.notion.so/Mixnet-Architecture-613f53cf11a245098c50af6b191d31d2]
### Development
- Mixnet PoC implementation starting [https://github.com/logos-co/nomos-node/pull/302]
- Implementation of mixnode: a core module for implementing a mixnode binary
- Implementation of mixnet-client: a client library for mixnet users, such as nomos-node
### **Private PoS**
- No progress this week.
---
## **Data Availability**
### Research
- Continued analysis of node decay in data availability problem
- Improved upper bound on the probability of the event that data is no longer available given by the (K,N) erasure ECC scheme [https://www.overleaf.com/read/gzqvbbmfnxyp]
### Development
- Library survey: Library used for the benchmarks is not yet ready for requirements, looking for alternatives
- RS & KZG benchmarking for our use case https://www.notion.so/2D-Reed-Solomon-Encoding-KZG-Commitments-benchmarking-b8340382ecc741c4a16b8a0c4a114450
- Study documentation on Danksharding and set of questions for Leonardo [https://www.notion.so/2D-Reed-Solomon-Encoding-KZG-Commitments-benchmarking-b8340382ecc741c4a16b8a0c4a114450]
---
## **Testing, CI and Simulation App**
### Development
- Sim fixes/improvements [https://github.com/logos-co/nomos-node/pull/299], [https://github.com/logos-co/nomos-node/pull/298], [https://github.com/logos-co/nomos-node/pull/295]
- Simulation app and instructions shared [https://github.com/logos-co/nomos-node/pull/300], [https://github.com/logos-co/nomos-node/pull/291], [https://github.com/logos-co/nomos-node/pull/294]
- CI: Updated and merged [https://github.com/logos-co/nomos-node/pull/290]
- Parallel node init for improved simulation run times [https://github.com/logos-co/nomos-node/pull/300]
- Implemented branch overlay for simulating 100K+ nodes [https://github.com/logos-co/nomos-node/pull/291]
- Sequential builds for nomos node features updated in CI [https://github.com/logos-co/nomos-node/pull/290]

View File

@ -0,0 +1,41 @@
---
title: 2023-08-21 Nomos weekly
tags:
- nomos-updates
date: 2023-08-21
lastmod: 2023-09-04
draft: false
---
## Nomos weekly report 21st Oct
(delayed as I was on holidays and then took me some time to clarify some things with the team)
### Network Privacy and Mixnet
- Improved the mixnet implementation based on latest discussion. https://github.com/logos-co/nomos-node/pull/307
- Base implementation of Mixnet PoC: https://github.com/logos-co/nomos-node/pull/302
- Refactor to encapsulate message body creation&write&read: https://github.com/logos-co/nomos-node/pull/308
- New issues related to mixnet: https://github.com/logos-co/nomos-node/issues?q=is%3Aopen+is%3Aissue+label%3Amixnet
### Private PoS
- Updated draft addressing comments related to shielded and transparent transaction types.
- Defined an opportunistic voting problem.
- Continuing analysis on zCash transaction's construction.
- This is currently the project that is going slowest and needs more attention going forward. It's also the most complex and with the most unknowns.
### Simulations app
- Graceful shutdown of simulations.
- Created a new repository for simulations configurations and test results: https://github.com/logos-co/nomos-simulations
- Updates and discussed test runs: https://github.com/logos-co/nomos-simulations/pull/3
- Changes to support CSV format output of simulation data: https://github.com/logos-co/nomos-node/pull/304 and https://github.com/logos-co/nomos-node/pull/306
- Minor issue on integration tests fixed: https://github.com/logos-co/nomos-node/pull/315
### Data Availability Sampling
- Studied RS+KZG in context of our DA architecture.
- RS: basic encoding/decoding lib. Created a basic wrapper around reed-solomon-encoding library to work with arbitrary bytearrays with the simples API possible. Created basic tests and docs as well.
- KZG: basic commitment + proof creation, also proof verification lib. Same here, created a simplistic API that abstract from the confusing types in the underlaying used library.
- Created a simplistic API for RS: https://github.com/logos-co/nomos-node/pull/303
- Created a simplistic API for KZG: https://github.com/logos-co/nomos-node/pull/309

View File

@ -0,0 +1,45 @@
---
title: 2023-08-29 Nomos weekly
tags:
- nomos-updates
date: 2023-09-04
lastmod: 2023-09-04
draft: false
---
## **Nomos weekly report**
### Milestone 1: Network Privacy and Mixnet
#### **Research**
- A Mixnet PoC was conducted to gauge end-to-end latency, revealing a slight latency increase when utilizing mixnet. Several potential optimization areas have been identified.
#### **Development**
- Various enhancements for the Mixnet have been developed, including the addition of delays for Sphinx packets, auto port for integration tests, and introducing a graceful shutdown for mixnode elements.
- There's an ongoing shift from channels to streams in mixnet message handling.
- Refactoring of Mixnet Node & Client: https://github.com/logos-co/nomos-node/pull/320
- Mixnet PoC Architecture Documents: https://www.notion.so/Mixnet-and-Network-Privacy-Architecture-613f53cf11a245098c50af6b191d31d2
- Mixnet Measurements Documentation: https://www.notion.so/Mixnet-Measurements-551ade11ae4d44ca9f3d947ea6950c67
- Sphinx Packet Delay Support: https://github.com/logos-co/nomos-node/pull/321
- Auto Port for Tests: https://github.com/logos-co/nomos-node/pull/327
- Mixnet Criterion Measurement: https://github.com/logos-co/nomos-node/pull/328
- Graceful Shutdown for Mixnet: https://github.com/logos-co/nomos-node/pull/330
---
### Milestone 2: Private PoS
#### **Research**
- Discussions were held about token-engineering and staking in private settings, resulting in documentation that delves into the validation and delegation aspects of PPoS. Current considerations involve the integration of the ZeroCash/zCash construction into the staking model.
---
### Milestone 3: Data Availability Sampling (RS, KZG)
#### **Research**
- Limitations discovered during RS and KZG implementation, notably with RS library scalability issues and bls12_381 curve finite field challenges. Found KZG libraries are primarily designed for Ethereum, which constrains the blob size.
- Benchmarks for KZG implementation were carried out, and simulation runs were conducted for different configurations.
- Node decay in relation to data availability was analyzed, leading to the derivation of an equation for understanding node averages in the network.
#### **Development**
- KZG Library: https://github.com/logos-co/nomos-node/pull/325
- KZG Base Layer initial approach: https://github.com/logos-co/nomos-node/pull/309
- Detailed KZG Operation Benchmarks: https://github.com/logos-co/nomos-node/tree/da-kzg-benches
- Node Decay Analysis & Results: https://www.overleaf.com/read/gzqvbbmfnxyp

View File

@ -0,0 +1,58 @@
---
title: 2023-09-04 Nomos weekly
tags:
- nomos-updates
date: 2023-09-04
lastmod: 2023-09-04
draft: false
---
## `nomos:`
---
### `network privacy and mixnet:`
#### `research`
- No specific research tasks reported this week related to this milestone.
#### `development`
- Made mixnet tests stable: https://github.com/logos-co/nomos-node/pull/334
- Finished the delay implementation: https://github.com/logos-co/nomos-node/pull/362
- Migrated the mixnode binary to Overwatch for better integration: https://github.com/logos-co/nomos-node/pull/339
- Added a retry mechanism to the libp2p backend for transient errors: https://github.com/logos-co/nomos-node/pull/332
- Fixed network tests failing with mixnet: https://github.com/logos-co/nomos-node/pull/338
- Fix panic for RandomDelayIter: https://github.com/logos-co/nomos-node/pull/335
- Connection cache for mixnet: https://github.com/logos-co/nomos-node/pull/343
- Implemented mempool network adapters for libp2p: https://github.com/logos-co/nomos-node/pull/344
- Implemented the libp2p version of the addtx endpoint: https://github.com/logos-co/nomos-node/pull/345
---
### `testnet:`
#### `development:`
- POC/Draft for testnet using Docker Compose: https://github.com/logos-co/nomos-node/pull/364
- DNS Multiaddr parsing and peer id configuration: https://github.com/logos-co/nomos-node/pull/346, https://github.com/logos-co/nomos-node/pull/361
---
### `private PoS:`
#### `research:`
- Introduced the Base Design section, focusing on the ZCash design's constructions, building an understanding of the data structures and algorithms, and presenting relevant algorithms with comprehensive descriptions.
- Developed the Staking Extension section, leveraging Base Design constructions to introduce staking mechanics, defining the "Stake" algorithm that transforms shielded coins into voting "staking coins", and the "Reward" algorithm that distributes rewards and restakes coins back into the pool.
- Created the Consensus Modifications section, detailing modifications to the Carnot Consensus algorithm based on the Staking Extension, introducing mapping of staking coins to validator "shadows", presenting the initial voting construction, introducing a vote aggregation mechanism, and elaborating on vote dissemination and aggregation through a tree overlay.
---
### `data availability:`
#### `research:`
- Studied more options for DA verification schemes: https://www.notion.so/Data-Availability-Specification-WIP-c3961b681eba4ccdab2be9181e4207b4
- Reached some conclusions that allow us to make progress in implementing the architecture. Blocker: we need specialized cryptographic expertise to make further progress on this. I will personally keep working on it later on, but privacy matters are more important now as they have a higher impact on the architecture.
- Analysis of node decay in the data availability problem is complete: https://www.overleaf.com/read/gzqvbbmfnxyp
#### `development:`
- Included BL blobs in the block: https://github.com/logos-co/nomos-node/pull/368

View File

@ -0,0 +1,62 @@
---
title: 2023-09-11 Nomos weekly
tags:
- nomos-updates
date: 2023-09-11
lastmod: 2023-09-27
draft: false
description: 2023-09-11 Weekly update of Nomos
---
## `nomos:`
---
### `network privacy and mixnet:`
#### `research:`
- Revised mathematical methods, such as the Poisson point process, etc., used in analysis of mixnets.
- Explored literature related to mixnets where approaches from differential privacy are used. The latter could lead to a more general privacy guarantee which is relevant to not only current but also future attacks on privacy.
#### `development:`
- Fixed a bug in the connection pool implementation https://github.com/logos-co/nomos-node/pull/373
- Fixed Cargo.toml for nomos-network https://github.com/logos-co/nomos-node/pull/380
- Added defaults to libp2p settings https://github.com/logos-co/nomos-node/pull/388
- Fixed request handling in mixnode: https://github.com/logos-co/nomos-node/pull/372
- Added benchmark code (in localhost): https://github.com/logos-co/nomos-node/pull/375
- After trying to find existing solutions to routing strategies (routing first, privacy later), and not finding a proper solution, moved to thinking about a naive approach: https://www.notion.so/WIP-Proposal-Routing-7b034dcac64940eda25ee415806d0ec8
- Found using sync Mutex will lead to a block. https://github.com/logos-co/nomos-node/pull/370
- Finish implementing the first version of retry for mixnode and mixclient https://github.com/logos-co/nomos-node/pull/386
---
### `testnet:`
#### `development:`
- Node config via environment variables: https://github.com/logos-co/nomos-node/pull/382
- Observability and node configuration in testnet work in progress: https://github.com/logos-co/nomos-node/pull/364 (Same draft PR as last week WIP).
- Resolving more GH Actions related issues:
- https://github.com/logos-co/nomos-node/pull/385
- https://github.com/logos-co/nomos-node/pull/389
---
### `private PoS:`
#### `research:`
- Found an issue in vote propagation of the PPoS construction: When a vote is propagated upstream to the higher committee there is a chance that a malicious shadow in committee decides not to broadcast their vote to the committee members and send it only upstream. Then this "unseen" vote will block the possibility of reconstructing the most common committee_vote, and at the same time prove that other shadows have voted. The solution for that is to propagate a map of seen votes upstream alongside the vote, this enables the higher committee to select only the votes that are most commonly seen for building the committee_vote thus making that kind of malicious behavior detectable.
- Improving the PPoS description: working on selecting proper naming conventions, as currently there are voters, shadows, coins which are confusing. That is done in pair with revising the logic.
---
### `data availability:`
#### `research:`
- A draft for private DA can be found here: https://www.notion.so/Data-Availability-Specification-c3961b681eba4ccdab2be9181e4207b4?d=d4e8d1bcd6224682ba74737100106e48#0c70202794214cbab626e51f7f1f7c24
#### `development:`
- Blobs in block: https://github.com/logos-co/nomos-node/pull/368
- DA service architecture: https://github.com/logos-co/nomos-node/pull/376
- Da service backend implementation: https://github.com/logos-co/nomos-node/pull/381

View File

@ -0,0 +1,79 @@
---
title: 2023-09-19 Nomos weekly
tags:
- nomos-updates
date: 2023-09-19
lastmod: 2023-09-26
draft: false
description: 2023-09-19 Weekly update of Nomos
---
## `nomos:`
---
### `network privacy and mixnet:`
#### `research:`
- Review of the “Untraceable electronic mail, return addresses, and digital pseudonyms” paper. Review of the “The Loopix anonymity system” paper.
- Notes provided in the overleaf document https://www.overleaf.com/read/rybwvjftfrrg
#### `development:`
- Polishing mixnet to make it ready for the testnet:
- Helping preparing mixnet deployments: https://github.com/logos-co/nomos-node/pull/408
- Reviewed mixnet connection management
- Refactor the libp2p network backend: https://github.com/logos-co/nomos-node/tree/libp2p-refactor-yjlee and based on that prepare to measure the quality of unobservability - https://github.com/logos-co/nomos-node/issues/391
- Block building: https://github.com/logos-co/nomos-node/pull/401
- Fountain codes: https://github.com/logos-co/nomos-node/pull/407
- Got the mixnet retry PR merged: https://github.com/logos-co/nomos-node/pull/386
- Finish the concrete error implementation for mixnet and ready for merge: https://github.com/logos-co/nomos-node/pull/405
- WIP: fan-in message passing model for mixnode: https://github.com/logos-co/nomos-node/tree/mixnet-fan-in
---
### `testnet:`
#### `development:`
- Testnet preparation: https://github.com/logos-co/nomos-node/pull/410
- Testnet POC with libp2p merged: https://github.com/logos-co/nomos-node/pull/364
- The POC for testnet using etcd and docker compose was reviewed and merged. The mixnet functionality will be added on top of this.
- Simulation branch overlay with 1 committee fix: https://github.com/logos-co/nomos-node/pull/402
- A bug where branch overlay results different from tree overlay with one committee blocked research team to use simulations results. Fixed it.
- Improvements in CI:
- https://github.com/logos-co/nomos-node/pull/409
- https://github.com/logos-co/nomos-node/pull/411
- https://github.com/logos-co/nomos-node/pull/412
- Minor improvements to remove annoying red x's from our CI
---
### `private PoS:`
#### `research:`
- **Shadows logic:** Looking at how to describe the logic of the shadow in the most clear way: It will be divided into a set of modules, each module taking care of processing a separate communication channel.
- All channels have their logic described in adequate modules and with references to self-descripting functions. However, some of them (like how exactly to aggregate votes) must yet to be defined.
- **Hastiness issues:** In short, the leader, in order to limit the cost of vote aggregation can decide to not to include votes from top committees (and root in particular). This is an acceptable strategy and will lead to a correctly formed aggregation proof. The proof will include a global threshold of votes from lower committees but not from the top committees (and root committee in particular). The impact of this leader's hastiness does not break the security of the protocol as a threshold of votes is correctly gathered. However, it may limit rewards from the top committees (and root in particular), as the votes from those committees may not be needed to reach the threshold. More on that under the issues section of the PPoS doc.
---
### `data availability:`
#### `research:`
- First stab at privacy solution for the network layer for consensus and DA: https://www.notion.so/Practical-Private-Addressing-Network-Privacy-Component-2-2b9b4923124a4fdb81dba5d2bba1d289?d=99166164267a46589c5715175e1b3657#5e27d2010d30468f9d8f0d0928b9c639
- Init survey of SoA in network privacy alternative solutions
#### `development:`
- DA nomos core kickstart, added different pieces that were missing for abstractions: https://github.com/logos-co/nomos-node/pull/390
- Added attestation trait
- Added certificate trait
- Added DaProtocol trait that abstracts encoding/decoding, and put the pieces together for blob+attestation+certificate handling.
- Refactored (moved and restructured) da modules
- Refactor and improve common traits - https://github.com/logos-co/nomos-node/pull/395
- Implement a simple da protocol with full replication - https://github.com/logos-co/nomos-node/pull/400
- Implement a command to disseminate blobs through the network - https://github.com/logos-co/nomos-node/pull/396
- Added da-service to nomos node - https://github.com/logos-co/nomos-node/pull/404
- Housekeeping:
- https://github.com/logos-co/nomos-node/pull/403
- https://github.com/logos-co/nomos-node/pull/388
- https://github.com/logos-co/nomos-node/pull/399

View File

@ -0,0 +1,71 @@
---
title: 2023-09-26 Nomos weekly
tags:
- nomos-updates
date: 2023-09-26
lastmod: 2023-09-26
draft: false
description: 2023-09-26 Weekly update of Nomos
---
## `nomos:`
---
### `network privacy and mixnet:`
#### `research:`
- With the assumption that nodes of a mixnet are selected without replacement, we performed analysis with Byzantine node presence (for specific widths and lengths). This gives the probability that there is at least one path where all nodes are Byzantine (“anonymity” failure)
- Evaluation in the “Loopix” paper used the mixnet with n1=2 and L=5
- Conclusion: probability of anonymity failure decreases when increasing length and increases with increasing width
- Notes provided in the overleaf document https://www.overleaf.com/read/rybwvjftfrrg
- Discussions on how to model the network privacy for analysis; viability of the embedded mixnet design
- Notes (WIP): https://www.notion.so/Network-Privacy-2dabf0aa878744e299b2ebb97120876f
#### `development:`
- Making integration tests work with FlatOverlay and RandomBeacon:
- https://github.com/logos-co/nomos-node/pull/425
- https://github.com/logos-co/nomos-node/pull/426
- Some integration tests are randomly failed. Debugging them: https://github.com/logos-co/nomos-node/pull/437
- Refactoring libp2p network layer: https://github.com/logos-co/nomos-node/pull/417
- Add missing error handlings in mixnet: https://github.com/logos-co/nomos-node/pull/436 (+ more coming soon)
- Trying to enable gathering metrics for libp2p (but needs to be discussed about how this can be used with our existing metrics service): https://github.com/logos-co/nomos-node/pull/431
- New mixnet message handle PR: https://github.com/logos-co/nomos-node/pull/435
- QC checks: https://github.com/logos-co/nomos-node/pull/430
---
### `testnet:`
#### `development:`
- TreeOverlay in Nomos node:
- https://github.com/logos-co/nomos-node/pull/415
- https://github.com/logos-co/nomos-node/pull/423
- After adding tree overlay to Nomos node, integration tests started failing. Main reason was that the leader didn't spawn in time and nodes failed to send their votes. This mainly affected the happy path test. Work will be merged once the issues are fixed.
- Testnet with mixnode: WIP
- Work on the mixnet node in testnet continues. Ongoing inter-team discussions in regards to how we should monitor and extract info from the network. The PR for libp2p metrics might be the way to go.
- CI chores: https://github.com/logos-co/nomos-node/pull/432
---
### `private PoS:`
#### `research:`
- Add missing function descriptions and finalize structure definitions.
- Defined/redefined structures used in all algorithms that required a rewrite.
- Updated the terminology and made the Shadows name obsolete, and now they are called Validators (for synchronization with other PoS designs).
- The validators logic was redesigned, improved and updated accordingly.
- The same was with the ledger/transactions part, and now they form a complete logic.
- Readability: the specification part was updated. The rest of the document is out of sync and needs to be revised as the focus was put on the specification.
- Critical analysis: an issue was identified and described (under the issues section) that touches on a problem where insufficient number of votes are aggregated and the need for an additional voting round before commencing an overlay tree reconstruction. This can be mitigated with an additional votes collection from late voters (before the tree timeout) or increased level of votes that are collected during initial voting collection.
- Review of the Delegation and Validation rewards document by Frederico.
---
### `data availability:`
#### `development:`
- Dissemination ready
- https://github.com/logos-co/nomos-node/pull/416
- https://github.com/logos-co/nomos-node/pull/400
- https://github.com/logos-co/nomos-node/pull/404
- Mempool for certificates in progress

View File

@ -0,0 +1,54 @@
---
title: 2023-10-09 Nomos weekly
tags:
- nomos-updates
date: 2023-10-09
lastmod: 2023-10-10
draft: false
description: Weekly update of <project>
---
## `nomos:`
---
### network privacy and mixnet:
#### :research
- Derived asymptotic expressions for anonymity and communication failure probabilities, when taking into account certain values for population size and network size. Used simulations and analytic framework to study failure probabilities in mixnets of different sizes. Assuming delays between sending and receiving messages are independent random variables from the exponential distribution, derived probability distribution of latency. Main result: one cannot have both low probability of communication and low probability of anonymity failures. The probability of anonymity failure is decreasing with the number of layers but at the expense of increasing the latency.
- Finalize research of network-level privacy solutions. Learned important information on: Framework for formalizing privacy, Nym and tokenomics of a Mixnet, Sphinx, and Loopix. Notes found at: https://www.notion.so/Network-Privacy-2dabf0aa878744e299b2ebb97120876f (summaries still WIP).
#### :development
- Lock Overwatch to a specific revision in nomos: https://github.com/logos-co/nomos-node/pull/455.
- Implement and pipe services lifecycle handling in Overwatch: https://github.com/logos-co/Overwatch/pull/27.
- Bash is being replaced with python due to adding mixnet to docker. At the moment, small issues with node spawning order are being resolved (for tree overlay). ETA on finishing: beginning of this week.
- Add API to return mempool item status: https://github.com/logos-co/nomos-node/pull/449.
- Make libp2p gossipsub settings configurable: https://github.com/logos-co/nomos-node/pull/454.
- Avoid temporary gossipsub errors when bootstrapping tests: https://github.com/logos-co/nomos-node/pull/442.
### testnet:
#### development:
- Skeleton for nomos API service - https://github.com/logos-co/nomos-node/pull/451.
- Support generics for overwatch derive - https://github.com/logos-co/Overwatch/pull/26.
- Fix clippy warnings for rust 1.73 - https://github.com/logos-co/nomos-node/pull/452.
- Remove waku mentions from codebase - https://github.com/logos-co/nomos-node/pull/446.
- Improved integration tests.
- Handle corner cases in the unhappy path: https://github.com/logos-co/nomos-node/pull/438.
- Add canonical ID to attestations and certificates: https://github.com/logos-co/nomos-node/pull/448.
- Add functionalities to nomos-cli: https://github.com/logos-co/nomos-node/pull/450.
### private PoS:
#### research:
- Exploring multi-staking PPoS design for Carnot.
- Idea: a slightly modified version of PoS, unknown how much funds a single validator has and validators are grouped by the amount of stake they have. This property gives validators group-based k-anonymity, where they are indistinguishable (on the stake level). This also enables us to assign the same voting power per each group of validators, which then can be reflected on the overlay structure.
- Considering a couple of additional stake hiding/obfuscating techniques without making the initial design too complex. We incentivize/penalize validators based not on the voting power they represent but on the stake. We can have a system that diverges from an equality between voting power and stake, to a system that approximates the voting power based on the stake but the rewarding/penalization directly follows the stake.
### data availability:
#### development:
- DA nomos API based on the new skeleton: https://github.com/logos-co/nomos-node/pull/456.
- Add API to return DA blobs: https://github.com/logos-co/nomos-node/pull/453.

View File

@ -1,69 +0,0 @@
---
title: 2023-10-23 Nomos weekly
tags:
- nomos-updates
date: 2023-10-23
lastmod: 2023-10-25
draft: false
description: 2023-10-23 Weekly update of Nomos
---
## `nomos:`
---
### `network privacy and mixnet:`
#### `research:`
- Set up a calculation for the probability of anonymity (communication) failure in the mix network of a large size, sampled from a large population of nodes, such that mix network size is comparable with the node population size. The latter is the most challenging regime to analyse but potentially can give us much more accurate estimates of probabilities. Previously we have analysed regimes when mix network size is much smaller than network size and when all nodes in the network are also used in the mix network.
- Notes on “Anonymity Trilemma: Strong Anonymity, Low Bandwidth Overhead, Low Latency - Choose Two” paper provided in the overleaf document. https://www.overleaf.com/read/rybwvjftfrrg ; The latter derives necessary conditions for anonymous communication in terms of latency, amount of noise messages and some measure of anonymity.
#### `development:`
- Mixnet development specifications: went through the Loopix paper again - writing the draft specs: https://www.notion.so/WIP-Mixnet-Development-Specifications-807b624444a54a4b88afa1cc80e100c2 (covering the current Loopix-based implementation + Future work: cover traffic, multicasting (TBD), incentivization (TBD))
---
### `testnet:`
#### `development:`
- Save block contents to storage - https://github.com/logos-co/nomos-node/pull/464
- Refactoring for future content - https://github.com/logos-co/nomos-node/pull/461
- Services state watchers - added a first version so overwatch can await for other services signal that they are ready to work. First version using relay did not work (among other things, too complicated). Second version uses an additional handle per service, it is mores traight forward. It may add more intricate relationship among services, and they cannot be handled/caught on runtime. Testing only for now.
- Failing services status PR: https://github.com/logos-co/Overwatch/pull/29
- Working services status PR: https://github.com/logos-co/Overwatch/pull/30
- Update lifecycle handling: https://github.com/logos-co/nomos-node/pull/457
- Generics metrics API: https://github.com/logos-co/nomos-node/pull/466
- Human readable ser/deser for array based types: https://github.com/logos-co/nomos-node/pull/468
- Update libp2p breaking changes: https://github.com/logos-co/nomos-node/pull/470
- Finished mixnodes in docker testnet:
- https://github.com/logos-co/nomos-node/pull/467
- The testnet in docker compose is now merged and has a README. There are still room for improvement, like spawning some nodes sequentially (like in https://github.com/logos-co/nomos-node/pull/425), but this will be solved in added in a new PRs or solved by other node improvements.
- Improvements for node config:
- https://github.com/logos-co/nomos-node/pull/460,
- https://github.com/logos-co/nomos-node/pull/471
- These changes were required for spawning nodes in testnet, will be useful for our endusers too
---
### `private PoS:`
#### `research:`
- Single-staking - reviewed and updated the design up to the construction section.
- Multi-staking - all comments have been addressed, but new are coming.
- Right now we are investigating a scenario where we are limiting the amount of validators in the Single-Staking case by diverging from the requirement of having multiples of validators by removing the economical incentives. In other words, we are considering to allow registering validators that have at least a threshold of stake (that is or is not capped) and a single (unitary) voting power. This way we are limiting the economical need for having multiple validators hosted by a single node, and at the same time limiting the network overhead of the single-staking design.
- The "Delegation and Validation Rewards" document (WIP): https://www.notion.so/Delegation-and-Validation-Rewards-d4af3f87a0b240739ff99b15af11cb3f?pvs=4
- Incorporating notes in the architecture whitepapers. These readings are not as deeply technical as papers, but more about understanding the directions currently explored at the edge of blockchain architectures (namely rollups, modular architectures and intent-centric architectures).
- Working on the problem of PPoS, one of the most critical points of focus right now, to have at least an understanding of the available options
---
### `data availability:`
#### `research:`
- Hyrax, Dory and Dark schemes were studied, comparisons here: https://www.notion.so/Polynomial-Commitment-Schemes-59bf8f6fe39840babe819c5c0a9628fc ; It was concluded that schemes with verifier time above logarithmic are not a good option for data availability.
- FRI is a structure that should be used not for now, (at this stage especially, due to large proof size - higher than KZG), but can be used for quantum resistance in the future. Here are some sources that say this can be used in later stages (the reasons are the same as ours). - https://scroll.io/blog/kzg#user-content-fn-6 and https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#Why-use-the-hash-of-the-KZG-instead-of-the-KZG-directly
---
### `miscellaneous:`
- David Rusu has joined - warm welcome to him!

View File

@ -0,0 +1,4 @@
---
title: Nomos Weekly Updates
---
These are all the Nomos weekly updates that are reported to Logos Insight team.

View File

@ -0,0 +1,5 @@
---
title: Components
---
Want to create your own custom component? Check out the advanced guide on [[creating components]] for more information.

View File

View File

@ -1,8 +1,8 @@
---
title: 2023 October Nomos Monthly Report
title: <year> <month> <project> Monthly Report
draft: true
lastmod: 2023-10-25
description: Monthly Report of Nomos
lastmod: <% tp.date.now() %>
description: "Monthly Report of <project>"
---
## Executive Summary

View File

@ -0,0 +1,3 @@
---
title: "{{title}}"
---

View File

@ -0,0 +1,10 @@
---
title: "<% tp.date.now() %> <TEAM> weekly"
tags:
- "<TEAM>-updates"
date: <% tp.date.now() %>
lastmod: <% tp.date.now() %>
draft: false
description: "Weekly update of <project>"
---

76
content/terms-of-use.md Normal file
View File

@ -0,0 +1,76 @@
---
title: Website Terms of Use
---
These terms and conditions (“Website Terms of Use”) are entered into by you and us, and they govern your access and use of the Website, including any content and functionality contained in the Website. 
It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use. 
If you do not agree with these Website Terms of Use, you must not access or use the Website. 
## Disclaimers
The Website is provided by us on an as is basis and you use the Website at your own sole discretion and risk.
We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site.These disclaimers will apply to the maximum extent permitted by applicable law. 
We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws. 
The content herein or as accessible through this Website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein.
The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such. 
Nothing in this Website should be construed by you as an offer to buy or sell, or soliciting any offer to buy or sell any tokens or any security. 
## Forward looking statements
The Website may (or as made accessible through this Website) also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general.
The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change and are based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what is presented. The information contained on this Website is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this Website.
While we aim to update our website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion.
## Intellectual property rights
The Website and its contents are made available under free and open source licences. This means that anyone can use, share, and modify such content, as long as they follow the terms of the applicable licence. 
## Third party website links
To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites. 
The Website may embed videos from Youtube, a service provided by Google LLC, using Youtubes privacy-enhanced mode. When you interact with such videos, Youtube may place cookies on your personal device. The cookies do not directly identify individual users and YouTube will not store information to personalise your experience unless you are logged in to a Google account. We do not have any control over these cookies set by Youtube and it is recommended that you review YouTubes embedding videos information page. 
## Limitation of liability
We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law.
## Indemnity 
You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use. 
## Modifications
We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website.
## Governing law
Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions.
## Disputes
In these terms, “dispute” has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website 
We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions. 
If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking. 
If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration. 
Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us. 
## About these Website Terms of Use
These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website. 
The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use. 
If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them.

31
content/vac/acz/index.md Normal file
View File

@ -0,0 +1,31 @@
---
title: Applied Cryptography and Zero-knowledge Service Unit
tags:
- acz
- vac
date: 2023-09-12
lastmod: 2023-09-18
---
## `vac:acz:`
---
### `rlnp2p:waku:`
* [x] [[vac/acz/rlnp2p/waku/production-readiness|production-readiness]]
* [x] [[vac/acz/rlnp2p/waku/rln-membership-management|rln-membership-management]]
* [x] [[vac/acz/rlnp2p/waku/rln-relay-enhancements|rln-relay-enhancements]]
* [[vac/acz/rlnp2p/waku/rln-relay-enhancements_02|rln-relay-enhancements_02]]
* [[vac/acz/rlnp2p/waku/rln-relay-erc20|rln-relay-erc20]]
* [[vac/acz/rlnp2p/waku/rlnv2-relay-integration|rlnv2-relay-integration]]
* [[vac/acz/rlnp2p/waku/rln-multi-epoch-constraints|rln-multi-epoch-constraints]]
### `rlnp2p:vac:`
* [[vac/acz/rlnp2p/vac/rln-doc-and-outreach|rln-doc-and-outreach]]
### `zerokit:vac:`
* [x] [[vac/acz/zerokit/vac/zerokit-v0-4|zerokit-v0.4]]
* [[vac/acz/zerokit/vac/zerokit-v0-5|zerokit-v0.5]]
* [[vac/acz/zerokit/vac/maintenance|maintenance]]
### `secure-channels:waku:`
* [[vac/acz/secure-channels/waku/ethereum-chat|ethereum-chat]]

View File

@ -0,0 +1,46 @@
---
title: "RLN Doc and Outreach"
---
## `vac:acz:rlnp2p:vac:rln-doc-and-outreach`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
RLN doc and outreach: done, 2023-01-20, 2023-07-31
```
- status: 0%
- CC: Aaryamann
### Description
* Waku doc: How can a user setup Waku + RLN?
- even though Waku RLN does not support slashing yet, we can see RLN as that provides an additional datapoint regarding message validity
* doc explaining how the components of RLN (zerokit, contract, and a project using it, e.g. Waku, work together)
- this can be in notion at first
* rlog post based on the two points above
* talk @ progcrypto and logos event in Istanbul (co-located with devconnect)
### Justification
### Deliverables

View File

@ -0,0 +1,33 @@
---
title: "RLNP2P Waku Pruduction Readiness Details"
---
## `vac:acz:rlnp2p::waku:production-readiness`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
dateFormat YYYY-MM-DD
section rlnp2p-waku
Production Readiness :done, 2023-01-20, 2023-07-31
```
- due: 2023/07/31
- status: 100%
### Description
membership management is out of scope for this milestone
### Deliverables
TBD

View File

@ -0,0 +1,52 @@
---
title: Waku RLN Membership Management Details
---
## `vac:acz:rlnp2p::waku:rln-membership-management`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
dateFormat YYYY-MM-DD
section rlnp2p-waku
RLN Membership Management :done, 2023-01-20, 2023-09-30
```
- due: 2023/09/30
- status: 100%
### Description
Enhancing the first simple CC membership list
### Risks
- depends on input from [[waku/index|Waku]]
### Info
#### 2023/09/04 - 2023/09/11
* added documentation for rln_keystore_generator - https://github.com/waku-org/nwaku/pull/1993
#### 2023/08/28 - 2023/09/04
* fixed makefile target for rln_keystore_generator - https://github.com/waku-org/nwaku/pull/1960
* log the membership index out upon registration in the rln_keystore_generator - https://github.com/waku-org/nwaku/pull/1963
#### 2023/08/21 - 2023/08/28
* Demo of rln_keystore_generator: https://github.com/waku-org/nwaku/pull/1956
* Wrote a tool rln_keystore_generator
* https://github.com/waku-org/nwaku/pull/1925
* https://github.com/waku-org/nwaku/pull/1928
* https://github.com/waku-org/nwaku/pull/1931

View File

@ -0,0 +1,45 @@
---
title: "Multi Epoch Constraints"
---
## `vac:acz:rlnp2p:waku:multi-epoch-constraints`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Multi epoch constraints: 2023-09-15, 2023-11-15
```
- status: 0%
- CC: Ramses
### Description
Currently, RLN v1 allows for a fixed message rate of 1/msg per epoch while RLN v2 allows for n msgs/epoch.
The goal of this milestone is designing the key derivation and related cryptographic components for allowing several n msgs/epoch constraints.
For example: 24 msg / day && 1 msg/10 seconds.
* the nullifier defined in the [RLN RFC](https://rfc.vac.dev/spec/32/#slashing-and-shamirs-secret-sharing) has to be adapted accordingly.
### Justification
### Deliverables

View File

@ -0,0 +1,95 @@
---
title: Waku RLN-RELAY Enhancements Details
---
## `vac:acz:rlnp2p::waku:rln-relay-enhancements`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
dateFormat YYYY-MM-DD
section rlnp2p-waku
RLN-RELAY enhancements :, 2023-06-01, 2023-09-30
```
- due: 2023/09/30
- status: 100%
### Description
- simple membership management setup (fixed CC list)
- instruction on how to register to the membership set / setup up (for Waku CCs)
#### Goal
Run RLN relay on the Waku production fleet. Waku CCs can use it
### Info
## 2023/09/04 - 2023/09/11
* if only one key exists in the keystore, use it - https://github.com/waku-org/nwaku/pull/1984
* fix log levels for some logs - https://github.com/waku-org/nwaku/pull/1986
* updated documentation for rln-relay - https://github.com/waku-org/nwaku/pull/1993
* clean nullifier table every `MaxEpochGap` - https://github.com/waku-org/nwaku/pull/1994
* created `rln_db_inspector` tool, allows inspection into merkle tree structure - https://github.com/waku-org/nwaku/pull/1999, https://github.com/waku-org/nwaku/pull/2012
* fixed missing memberships between history sync and new memberships sync with @alrevuelta - https://github.com/waku-org/nwaku/pull/2015
* remove `rln` from waku's experimental features - https://github.com/waku-org/nwaku/pull/2001
* fix metric calculation for registered members - https://github.com/waku-org/nwaku/pull/2018
* uups proxy for waku-rln-registry - https://github.com/waku-org/waku-rln-contract/pull/9
## 2023/08/28 - 2023/09/04
* rln was enabled by default in the Makefile - fixed - https://github.com/waku-org/nwaku/pull/1964
* ordered pubsub validator execution - https://github.com/waku-org/nwaku/pull/1966
* fixed deserialization of valid merkle roots - https://github.com/waku-org/nwaku/pull/1973
* confirm that the fetched credential from the keystore is registered to the membership set - https://github.com/waku-org/nwaku/pull/1980
* fixed makefile target for zerokit's `librln.a` - https://github.com/waku-org/nwaku/pull/1981
* converted zero-based indexing to 1-based indexing on vacp2p/rln-contract - https://github.com/vacp2p/rln-contract/pull/28
* downstreamed zero-based indexing to waku-org/waku-rln-contract - https://github.com/waku-org/waku-rln-contract/pull/8 -
* deployed new version of the registry contract on sepolia - `0xc04937d502E0ae671cedFC2A0BCD6692055520f3`
#### 2023/08/21 - 2023/08/28
* tree metadata should include chainId and contractAddress - https://github.com/waku-org/nwaku/pull/1932
* set flush_interval appropriately -https://github.com/waku-org/nwaku/pull/1933
* integrate new WakuRlnRegistry contract - https://github.com/waku-org/nwaku/pull/1943
* bump zerokit to v0.3.2
* https://github.com/waku-org/nwaku/pull/1951
* tree metadata should include window of roots - https://github.com/waku-org/nwaku/pull/1953
* sync tree state from contract deployed block number - https://github.com/waku-org/nwaku/pull/1955
* optimization to waku_keystore - https://github.com/waku-org/nwaku/pull/1956
* fixed a forceProgression bug in the WakuRlnRegistry contract - https://github.com/waku-org/waku-rln-contract/pull/6
#### 2023/08/14 - 2023/08/21
* rpc handler for waku rln relay - https://github.com/waku-org/nwaku/pull/1852
* fixed ganaches change in method to manage subprocesses, fixed timeouts related to it - https://github.com/waku-org/nwaku/pull/1913
* should error out on rln-relay mount failure - https://github.com/waku-org/nwaku/pull/1904
* fixed invalid start index being used in rln-relay - https://github.com/waku-org/nwaku/pull/1915
* constrain the values that can be used as idCommitments in the rln-contract - https://github.com/vacp2p/rln-contract/pull/26
* assist with waku-simulator testing
* remove registration capabilities from nwaku, it should be done out of band - https://github.com/waku-org/nwaku/pull/1916
* add deployedBlockNumber to the rln-contract for ease of fetching events from the client - https://github.com/vacp2p/rln-contract/pull/27
#### 2023/08/07 - 2023/08/14
* Created tracking issue to manage status of this milestone - https://github.com/waku-org/nwaku/issues/1906
#### 2023/07/31 - 2023/08/07
* [Waku RLN contract registry](https://github.com/waku-org/waku-rln-contract/pull/3)
* [Mark duplicated messages as spam](https://github.com/waku-org/nwaku/pull/1867)
* [Use `waku-org/waku-rln-contract` as a submodule in `nwaku`](https://github.com/waku-org/nwaku/pull/1884)
### Deliverables
* https://github.com/waku-org/nwaku/issues/1906

View File

@ -0,0 +1,42 @@
---
title: Waku RLN-RELAY Enhancements 02
---
## `vac:acz:rlnp2p::waku:rln-relay-enhancements`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
dateFormat YYYY-MM-DD
section rlnp2p-waku
RLN-RELAY enhancements :, 2023-09-01, 2023-11-31
```
- status: 0%
- CC: Aaryamann
### Description
* continuation of [[rln-relay-enhancements|rln-relay-enhancements]]
* comprises further enhancements of RLN relay, requested by the Waku team
### Justification
### Risks
### Deliverables

View File

@ -0,0 +1,43 @@
---
title: "RLN relay ERC20"
description: "ERC20 token support for RLN relay."
---
## `vac:acz:rlnp2p:waku:rln-relay-erc20`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Production Readiness: , ,
```
- status: 0%
- CC: Aaryamann
### Description
* future work
### Justification
### Deliverables

View File

@ -0,0 +1,45 @@
---
title: "RLN v2 Waku Relay Integration"
description: "Integrating RLN v2 into Waku Relay."
---
## `vac:acz:rlnp2p:waku:rlnv2-relay-integration`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
RLN v2 relay integration: 2023-11-01, 2024-02-29
```
- status: 0%
- CC: Aaryamann
### Description
* also involves
- TKE
- implemenations in various Waku versions
### Justification
### Deliverables

View File

@ -0,0 +1,57 @@
---
title: "Ethereum Chat"
---
## `vac:acz:secure-channels:waku:ethereum-chat`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Ethereum Chat: 2023-09-12, 2023-11-30
```
- status: 0%
- CC: Ramses
### Description
The goal of this milestone is having
* using the [noise](http://noiseprotocol.org/noise.html) framework
* Ethereum Wallet address used to derive authentication key for noise
* Design an Ethereum address-based 1:1 chat
- should be transport agnostic
- toy eth chat: https://rfc.vac.dev/spec/20/
- this milestone requires forward secrecy (see limitations section of the toy eth chat RFC)
- consider using https://eips.ethereum.org/EIPS/eip-5564
* Naive Groupchat functionality (using `n` 1:1 chat channels)
* involve metamask here (metamask im team)
* a follow up milestone will cover running Ethereum chat on top of Waku
* follow up goal: develop this into an EIP
### Justification
### Deliverables
* specification (RFC) of a secure Ethereum-based chat protocol

View File

@ -0,0 +1,48 @@
---
title: Zerokit v0.4 Release Details
---
## `vac:acz:zerokit::vac:zerokit-v0.4`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
dateFormat YYYY-MM-DD
section zerokit
v0.4 Release :done, 2023-01-20, 2023-09-07
```
- due: 2023/09/07
- status: 100%
### Description
- Release Planning - [Github Issue #197](https://github.com/vacp2p/zerokit/issues/197)
### Deliverables
* https://github.com/vacp2p/zerokit/releases/tag/v0.4.0
### Info
## 2023/08/14 - 2023/08/21
* substitute id_commitments for rate_commitments and update tests in rln-v2 - https://github.com/vacp2p/zerokit/pull/205
* rln-v2 working branch - https://github.com/vacp2p/zerokit/pull/204
## 2023/08/07 - 2023/08/14
* Serde apis updated - https://github.com/vacp2p/zerokit/pull/202
## 2023/07/31 - 2023/08/07
* zerokit v0.4.0 release planning - https://github.com/vacp2p/zerokit/issues/197

View File

@ -0,0 +1,41 @@
---
title: Zerokit v0.5 Release
---
## `vac:acz:zerokit::vac:zerokit-v0.5`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section zerokit
v0.5 Release: 2023-10-01, 2024-02-29
```
- status: 5%
- CC: Aaryamann
### Description
* Release Planning issue:
* main focus: RLN performance improvements
- explore using kzg proofs
### Deliverables
### Info
* We have a benchmarking suite done

View File

@ -0,0 +1,25 @@
# DST
mkdir -p dst/wakurtosis/waku && touch $_/techreport.md
mkdir -p dst/wakurtosis/waku && touch $_/techreport_02.md
mkdir -p dst/wakurtosis/waku && touch $_/gossipsub-topology-analysis.md
mkdir -p dst/wakurtosis/waku && touch $_/features.md
mkdir -p dst/wakurtosis/vac && touch $_/rlog.md
mkdir -p dst/wakurtosis/vac && touch $_/retrospective-rlog.md
mkdir -p dst/wakurtosis/nomos && touch $_/ci-integration.md
mkdir -p dst/wakurtosis/vac && touch $_/maintenance.md
mkdir -p dst/analysis/nomos && touch $_/nomos-simulation-analysis.md
mkdir -p dst/analysis-gsub-model/vac && touch $_/refactoring.md
mkdir -p dst/analysis-gsub-model/status && touch $_/control-messages.md
mkdir -p dst/analysis-shadow/vac && touch $_/shadow-gossipsub-analysis.md
mkdir -p dst/analysis-shadow/waku && touch $_/shadow-waku-relay-analysis.md
mkdir -p dst/eng/vac && touch $_/bundle-simulation-data.md
mkdir -p dst/eng-10ktool/vac && touch $_/bandwidth.md
mkdir -p dst/eng-10ktool/waku && touch $_/waku-protocols.md
mkdir -p dst/software-testing/waku && touch $_/test-plans.md
mkdir -p dst/software-testing/waku && touch $_/test-automation-js-waku.md
mkdir -p dst/software-testing/waku && touch $_/test-automation-nwaku.md
mkdir -p dst/software-testing/waku && touch $_/test-automation-go-waku.md
mkdir -p dst/software-testing/waku && touch $_/interop-testing.md

View File

@ -0,0 +1,48 @@
---
title: "Blockchain Security in Crypto-economic Models"
---
## `vac:dr:consensus:vac:blockchain-security-in-crypto-economic-models`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Blockchain Security in Crypto-economic Models: 2023-11-01, 2024-02-29
```
- status: 0%
- CC: Moh
### Description
This research will provide a comprehensive security analysis of Carnot under the Crypto Economic Model.
This is a new security model for distributed consensus algorithms in which economic attacks on the protocol will be considered.
### Justification
The combination of PoS and distributed consensus, necessitates a new comprehensive security model for blockchain ecosystem.
### Risks
This is a new research direction.
### Deliverables
* conference paper

View File

@ -0,0 +1,59 @@
---
title: "Carnot 2/3 Vote aggregation"
---
## `vac:dr:nomos:nomos:carnot-vote-2-3rds-vote-aggregation`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Carnot 2/3 Vote Aggregation: 2023-08-01, 2023-10-15
```
- status: 20%
- CC: Moh
### Description
This research will use the Carnot flexible design to make it collect more than 2/3rd of cryptographic proof of votes cast for a block.
* write a research log post
* desciption of the solution
* support by the DST team: [[ roadmap/vac/dst/dr-support/vac/carnot-2-3rds-executable-spec | carnot-2rds-executable-spec ]]
### Risks
Might slightly increase the protocol overhead. But we make sure this overhead is minimal.
### Justification
### Deliverables
* [x] Presentation slides (logos research)
* Pseudocode (potentially paper in a future milestone)
* notion doc describing the solution
* research log post
* python code, support by the DST team [[ roadmap/vac/dst/dr-support/vac/carnot-2-3rds-executable-spec | carnot-2rds-executable-spec ]]
* RFC on rfc.vac.dev containing executable spec
Note: Need to be discussed: The Pseudocode can be completed earlier so that devs can began implementation, whereas the paper can be completed later.

View File

@ -0,0 +1,64 @@
---
title: "Carnot Bribary Article"
---
## `vac:dr:consensus:nomos:carnot-bribary-article`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Carnot Bribary Article: 2023-08-01, 2023-08-31
```
- status: ?%
- CC:
### Description
The article describes how multi-dimensional bribery attacks cannot be addressed at the consensus layer alone.
A proper game theoretical, economic analysis also needs to be done. The solution to this problem will also touch on several aspects
including the economy, distributed systems, and cryptography.
This Milestone also comprises a presentation:
This presentation slide describes how multi-dimensional bribery attacks cannot
be addressed at the consensus layer alone. By combining PoS with the
distributed consensus a new dimension is introduced into the ecosystem. Now the
security of the protocol should also be considered against economic attacks.
The presentation provides an example based on the Crypto Economic security
model of how any PoS consensus protocol can fail against a bribing attack. The
presentation emphasizes that a proper game theoretical, and economic analysis
also needs to be done. It also suggests a solution for addressing bribing
attacks in Carnot consensus.
### Risks
This problem has not been properly addressed for PoS protocols.
### Justification
### Deliverables
* A report on how bribery attacks can be addressed in PoS. This will ultimately give a new research direction.
* [presentation slides](https://www.notion.so/Roadmap-Deep-Research-DR-561a864c890549c3861bf52ab979d7ab?pvs=4#5873a631da964b34a24e5a05307b29ae)
* [current status](https://hackmd.io/oCOmQD6sSLOsjqr7sh7jNw)

View File

@ -0,0 +1,44 @@
---
title: "Carnot Paper"
---
## `vac:dr:consensus:nomos:carnot-paper`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Carnot Paper: done, 2023-01-20, 2023-09-30
```
- status: 100%
- CC: Moh
### Description
First version of a scientific carnot paper.
Publish on arxiv.
### Justification
### Deliverables
* https://arxiv.org/pdf/2308.16016.pdf

View File

@ -0,0 +1,53 @@
---
title: "Carnot Paper 02"
---
## `vac:dr:consensus:nomos:carnot-paper_02`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Carnot Paper: 2023-09-01, 2024
```
- status: 10%
- CC: Moh
### Description
* complete experimental results
* publish the paper at a scientific conference or journal
* present the paper at the conference
* the goal is to submit before end of 2023
### Risks
* We need to find a fitting conference and the respective deadlines might not align.
* review process takes a long time
(No fixed deadline because of these risks.)
### Justification
### Deliverables

View File

@ -0,0 +1,46 @@
---
title: "Detecting Reporting Attacks Carnot"
---
## `vac:dr:consensus:nomos:detecting-reporting-attacks-carnot`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Detecting Reporting Attacks Carnot: 1970-01-01, 1970-01-02
```
- status: 0%
- CC: Moh
### Description
This research work will describe the mechanism of how various attacks can be detected, reported, and slashed in the consensus.
### Justification
### Deliverables
* algorithm
* pseudocode
* spec
* rlog post

View File

@ -0,0 +1,24 @@
---
title: "Inter Chain Protocol"
---
## `vac:dr:consensus:nomos:inter-chain-protocol`
---
- status: 0%
- CC: Moh
### Description
Exploring the interplay between the main chain and execution zones or chains is a pivotal aspect of our research.
Our inquiry delves into how these zones are initiated from the main chain, ensuring their security and data availability.
Additionally, we address the optimization of interaction among independent chains, facilitating efficient cross-chain communication and collaboration.
### Justification
### Deliverables
* Algorithm
* spec

View File

@ -0,0 +1,30 @@
---
title: "Multi-Leader and Multi-Overlay Carnot"
---
## `vac:dr:consensus:nomos:multi-leader-and-multi-overlay-carnot`
---
- status: 0%
- CC: Moh
### Description
In pursuit of heightened resilience and performance optimization, our research extends to multi-leader and multi-overlay Carnot configurations.
This direction seeks to bolster the protocol's resistance against Denial of Service (DoS) and bribery attacks.
By introducing multiple leadership nodes and overlay structures, we envision a protocol that thrives in adversarial environments while maintaining exceptional performance standards.
As we navigate this deep research trajectory, our collective efforts contribute to the advancement of blockchain technology, ushering in a new era of consensus, privacy, and scalability.
Has to adhere to Nomos architecture (specific specifications)
* Nomos Whitepaper
* has to adhere to privacy requirements
### Justification
### Deliverables
* Algorithm
* spec

View File

@ -0,0 +1,76 @@
---
title: "Network Privacy Stack - Stakeholder Privacy"
description: "Main goal: finding in-protocol (carnot) mechanisms to solve the problem of timing attacks."
---
## `vac:dr:consesus:nomos:stake-privacy-timing-attacks`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Stake Privacy - Timing Attacks:
```
- status: 0%
- CC: Moh
### Description
This milestone comprises component 3 of the [Nomos network privacy stack](https://www.notion.so/Network-Privacy-Stack-2a2a86647d2a42ca9de6940c55f99851)
in the context of consensus privacy:
The main goal of this work is finding in-protocol (carnot) mechanisms to solve the problem of timing attacks.
Upper layer protections of the network from the sender: Simplest solution to prevent attacks to private PoS: minimum age of transaction for inclusion.
Certain types of timing attacks and network observation to identify high stake participants are already being worked on at the network level.
However, this problem should be considered at the PoS/consesus layer as well.
#### more info
* [paper: On the Anonymity Guarantees of Anonymous Proof-of-Stake Protocols](https://eprint.iacr.org/2021/409.pdf)
From the abstract:
```
[...] focus on anonymizing the
messages of the blockchain protocol, but suggest that potential identity leaks from the networklayer can be removed as well by employing anonymous broadcast channels.
In this work we show that this intuition is flawed.
```
Generally, our endeavor in stake privacy research centers on preserving the confidentiality of validator stakes.
By leveraging cryptographic techniques and innovative approaches, we aim to enhance the privacy and security of staking operations within the Carnot ecosystem.
Older docs:
* Hash-based Node Id encryption Hash-based-Node-Id-encryption-7bfb11941a6840c49bfe065f535877c9?pvs=24
* Carnot PoS Discussion notion.so/Carnot-PoS-Discussion-f2ef371102f6433da81fb1b1b9213c2b?pvs=24
Potential future solutions (outside the scope of this mile stone) comprise: proof of mixing + modifications to the base mixnet design. This seems like a difficult path, for long-term research if feasible.
### Justification
This is and important step towards achieving the Nomos privacy requirements.
### Deliverables
* specification

View File

@ -0,0 +1,20 @@
---
title: "Reviews"
description: "research consulting: reviews of documents / papers"
---
## `vac:dr:g:nomos:reviews`
---
- status: ongoing
- CC: team
### Description
### Justification
### Deliverables

View File

@ -0,0 +1,47 @@
---
title: "Gossipsub Improvements Paper"
---
## `vac:dr:gsub-scaling:vac:gossipsub-improvements-paper`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Gossipsub Improvements paper: 2023-06-01, 2023-10-31
```
- status: 70%
- CC: Farooq
### Description
[background + first results + potential improvements](https://hackmd.io/X1DoBHtYTtuGqYg0qK4zJw)
* comprehensive current/related work study on gossipsub scaling (including relevant work outside of gossipsub, in the broader area of unstructured P2P networks in general)
* complete technical report on gossip scaling / gossipsub improvements (containing, but not limited to, our previous research)
* research log post (vac.dev) based on the techreport
* talk @ Logos research call
* scientific paper ready for publication
### Justification
### Deliverables

View File

@ -0,0 +1,42 @@
---
title: "Gossipsub Simulation"
---
## `vac:dr:gsub-scaling:vac:gossipsub-simulation`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Gossipsub Simulation: 2023-06-31, 2023-09-30
```
- status: 20%
- CC: Farooq
### Description
* simple gossipsub node (in nim) for DST/Wakurtosis simulations
* PoC [shadow](https://github.com/shadow/shadow) simulation
### Justification
### Deliverables

View File

@ -0,0 +1,42 @@
---
title: "Unstructured P2P Improvements Survey"
---
## `vac:dr:gsub-scaling:vac:unstructured-p2p-improvements-survey`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Unstructured P2P Improvements Survey: 2023-08-15, 2023-12-31
```
- status: 20%
- CC: Farooq
### Description
* survey techreport
* survey scientific paper if there is enough to justify a paper
### Justification
### Deliverables

46
content/vac/dr/index.md Normal file
View File

@ -0,0 +1,46 @@
---
title: Deep Research Service Unit
tags:
- dr
- vac
date: 2023-08-25
lastmod: 2023-09-06
---
## `vac:dr:valpriv:vac:`
* [[vac/dr/valpriv/vac/tor-push-poc|tor-push-poc]]
* [[vac/dr/valpriv/vac/tor-push-rel-work|tor-push-rel-work]]
* [[vac/dr/valpriv/vac/tor-push-paper|tor-push-paper]]
* [[vac/dr/valpriv/vac/tor-push-rln|tor-push-rln]]
* [[vac/dr/valpriv/vac/priv-validator-network|priv-validator-network]]
* [[vac/dr/valpriv/vac/mix-net-solution|mix-net-solution]]
## `vac:dr:valpriv:nomos:`
* [[vac/dr/valpriv/nomos/validator-privacy|validator-privacy]]
## `vac:dr:gsub-scaling:vac:`
* [[vac/dr/gsub-scaling/vac/gossipsub-simulation|gossipsub-simulation]]
* [[vac/dr/gsub-scaling/vac/gossipsub-improvements-paper|gossipsub-improvements-paper]]
* [[vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey|unstructured-p2p-improvements-survey]]
## `vac:dr:consensus:nomos:`
* [x] [[vac/dr/consensus/nomos/carnot-paper|carnot-paper]]
* [[vac/dr/consensus/nomos/carnot-paper_02|carnot-paper_02 ]]
* [[vac/dr/consensus/nomos/carnot-bribary-article|carnot-bribary-article]]
* [[vac/dr/consensus/nomos/carnot-2-3rds-vote-aggregation|carnot-2-3rds-vote-aggregation]]
* [[vac/dr/consensus/nomos/blockchain-security-in-crypto-economic-models|blockchain-security-in-crypto-economic-models]]
* [[vac/dr/consensus/nomos/detecting-reporting-attacks-carnot|detecting-reporting-attacks-carnot]]
* [[vac/dr/consensus/nomos/stake-privacy-timing-attacks|stake-privacy-timing-attacks]]
* [[vac/dr/consensus/nomos/inter-chain-protocol|inter-chain-protocol]]
* [[vac/dr/consensus/nomos/multi-leader-and-multi-overlay-carnot|multi-leader-and-multi-overlay-carnot ]]
## `vac:dr:zk:codex:`
* [[ vac/dr/zk/codex/storage-proofs-open-problems-review | storage-proofs-open-problems-review ]]
## `vac:dr::nomos:`
* [[ vac/dr/g/nomos/reviews.md | reviews ]]

View File

@ -0,0 +1,46 @@
---
title: "Tor Push Paper"
---
## `vac:dr:valpriv:vac:tor-push-paper`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Tor Push Paper: 2023-08-01, 2023-11-30
```
- status: 30%
- CC: Umar
### Description
Comprises:
* thorough anonymity/sec analysis of Tor push for Validator privacy
* thorough latency analysis of Tor push
* paper (for workshop) on introducing and analysing Tor-push
### Justification
### Deliverables

View File

@ -0,0 +1,52 @@
---
title: "Tor Push PoC"
---
## `vac:rc:valpriv:vac:tor-push-poc`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Tor Push PoC: 2023-06-01, 2023-09-15
```
- status: 80%
- CC: Umar
### Description
* [x] first PoC of Tor push in Nimbus (testnet Goerli) https://github.com/vacp2p/nimbus-eth2-experimental/issues/1
- first latency measurements (comprehensive analysis in next milestone)
* research log post on Tor push / Nimbus PoC incl first latency measurements
* add epoch support as described in the [RFC](https://rfc.vac.dev/spec/46/)
* update/adjust Tor push spec
* talk @ Logos research call
* refine PoC (should fully cover the RFC)
* thorough latency measurements for[[vac/dr/valpriv/vac/tor-push-paper|tor-push-paper]]
#### Info
* The epochs
### Justification
### Deliverables
* [WIP] https://github.com/vacp2p/nimbus-eth2-experimental/pull/3

View File

@ -0,0 +1,44 @@
---
title: "Tor Push Related Work"
---
## `vac:dr:valpriv:vac:tor-push-rel-work`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Tor Push Related Work: done, 2023-06-01, 2023-09-15
```
- status: 100%
- CC: Umar
### Description
Background and motivation [here](https://ethresear.ch/t/a-tor-based-validator-anonymity-approach-incl-comparison-to-dandelion/14134).
* comprehensive current/related work study on Validator Privacy
- focus on network layer but also including: network vs consesus layer privacy (SSLE), as well as combinations
### Justification
### Deliverables

View File

@ -0,0 +1,43 @@
---
title: "Storage Proofs: Open Problems Review"
description: "Review Codex' storage proof ZK related open research problems."
---
## `vac:dr:zk:codex:open-problems-review`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Open Problems Review: 2023-09-20, 2023-11-30
```
- status: 0%
- CC: Marvin
### Description
* https://github.com/codex-storage/zk-research-artifacts/blob/master/storage_proofs/storage_proof_musings.md
### Justification
### Deliverables

View File

@ -0,0 +1,43 @@
---
title: "Control Messages"
---
## `vac:dst:analysis-gsub-model:status:control-messages`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Control Messages: 2023-07-01, 2023-09-15
```
- status: 85%
- CC: Ganesh
### Description
### Justification
### Info
* delayed because of extending Nomos analysis milestone
### Deliverables

View File

@ -0,0 +1,40 @@
---
title: "Refactoring"
---
## `vac:dst:analysis-gsub-model:vac:refactoring`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Refactoring: 2023-08-01, 2023-09-30
```
- status: 40%
- CC: Ganesh
### Description
### Justification
### Deliverables

View File

@ -0,0 +1,41 @@
---
title: "Basic Shadow Simulation"
---
## `vac:dst:analysis-shadow:vac:basic-shadow-simulation`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Basic Shadow Simulation: 2023-08-01, 2023-08-31
```
- status: 90%
- CC: Jordi
### Description
* simple 10k shadow sim of the gossipsub node as a PoC.
### Justification
### Deliverables

View File

@ -0,0 +1,44 @@
---
title: "Shadow Gossipsub Analysis"
---
## `vac:dst:analysis-shadow:vac:shadow-gossipsub-analysis`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Shadow Gossipsub Analysis: 2023-09-01, 2023-10-31
```
- status: 0%
- CC: Jordi
### Description
* develop a gossipsub node with allows to set desired message rates and other properties
* try to get to a higher node number (50k?)
* research log post
### Justification
### Deliverables

View File

@ -0,0 +1,40 @@
---
title: "Shadow Waku Relay Analysis"
---
## `vac:dst:analysis-shadow:waku:shadow-waku-relay-analysis`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Shadow Waku Relay Analysis: done, 2023-10-01, 2023-11-30
```
- status: 0%
- CC: Jordi
### Description
### Justification
### Deliverables

View File

@ -0,0 +1,48 @@
---
title: "Simulation Analysis"
---
## `vac:dst:analysis:nomos:simulation-analysis`
---
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#BB2528',
'primaryTextColor': '#fff',
'primaryBorderColor': '#7C0000',
'lineColor': '#F8B229',
'secondaryColor': '#006100',
'tertiaryColor': '#fff'
}
}
}%%
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section Status
Simulation Analysis: 2023-08-01, 2023-09-15
```
- status: 70%
- CC: Ganesh
### Description
### Justification
### Info
Extended:
* include signature aggregation into analysis
* write analysis section in Carnot paper
* [nomos node](https://github.com/logos-co/nomos-node)
* [nomos simulations](https://github.com/logos-co/nomos-simulations)
### Deliverables

Some files were not shown because too many files have changed in this diff Show More