diff --git a/config.toml b/config.toml index b7ceb9a30..978618e8b 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,4 @@ -baseURL = "https://roadmap.logos.co/" +baseURL = "https://roadmap.vac.dev/" languageCode = "en-us" googleAnalytics = "" relativeURLs = false diff --git a/content/acid/index.md b/content/acid/index.md deleted file mode 100644 index c3e3fee8f..000000000 --- a/content/acid/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Comms Roadmap Overview" -tags: -- "overview" ---- -Welcome to the Comms Roadmap Overview -- [Milestones](acid/milestones-overview.md) -- [weekly updates](tags/acid-updates) \ No newline at end of file diff --git a/content/acid/milestones-overview.md b/content/acid/milestones-overview.md deleted file mode 100644 index 23191cba2..000000000 --- a/content/acid/milestones-overview.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -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) \ No newline at end of file diff --git a/content/acid/monthly-reports/2023-aug.md b/content/acid/monthly-reports/2023-aug.md deleted file mode 100644 index 8f1167d14..000000000 --- a/content/acid/monthly-reports/2023-aug.md +++ /dev/null @@ -1,115 +0,0 @@ -# Acid Monthly Report - August 2023 - -## Week of August 2, 2023 - -### Comms -- Status app relaunch comms campaign plan in progress, targeting launch on August 31. -- Logos comms + growth plan post-launch to be determined. -- Hiring: Split the role for content studio to attract top-level talent. - -### Copy -- Updating old documentation like CC guide to reflect broader scope of BUs. -- Brand guidelines and modes of presentation in process. -- Wikipedia entry on network states and virtual states is live. - -### Digital Comms -- Logos Discord completed. -- Codex Discord to be completed. -- LPE rollout plan in progress, to be ready by end of week. -- Overarching BU plan to be ready in the next couple of weeks. - -### Studio -- Started execution of LPE for new requirements, aiming for end of month completion. -- Hiring: Looking for 3 positions, mainly focusing on developer side. - -### Podcast -- Podcast timelines being set, currently in production. -- First HiO episode in the works, to be ready in 2 weeks. - -### Events -- Global strategy paper for wider comms plan in progress. -- Template for processes and executions when preparing events. -- Network State event moved to November, exploring synergies with ETH Lisbon / Staking Summit. -- Seoul Q4 hackathon in the works, needs bounty planning. - -## Week of August 9, 2023 - -### Top Level Priorities -- Logos Growth Plan -- Status Relaunch -- Launch of LPE -- Podcasts (Target: One podcast out every week) -- Hiring: TD studio and DC studio roles - -### Movement Building -- Logos collective comms plan skeleton ready, to be applied for all BUs. -- Discord Server update on various views. -- Status relaunch comms plan ready for input. - -### TD Studio -- Full focus on LPE, on track for end of August launch. -- Review of options for more diverse content landscape. -- Episodes page proposals and players in progress. - -### Copy -- Content creation for LPE and podcast launches. -- Status launch content requirements pending. -- Organization of doc sites review. - -### Podcast -- First interview with XMTP edited and ready. -- LSP preparing 2 months of content for launch. -- 3 episodes recorded for HIO, motion graphics in progress. - -### DC Studio -- Brand guidelines for HiO ready. -- Logos State branding assets in development. -- Presentation templates being updated. - -### Events -- Network State event planned for November in Istanbul. -- Hackathon in Seoul scheduled for Q1 2024. -- Global event strategy written and in review. - -### CRM & Marketing Tool -- Feedback collection from stakeholders and users. -- PM implementation to be planned (approximately 3 months). -- LPE KPI: Collecting email addresses of relevant people. - -## Week of August 29, 2023 - -### Comms -- LPE & Podcast near completion, pending content review. -- Status app comms campaign aligned with John and Status team. -- Digital designer joining the Content team soon. -- Townhall planned with Dmitry and Santiago discussing Codex + Logos culture. - -### Tech and Design -- LPE ready for soft launch on 30/08, followed by stress testing and debugging. -- Wiki codebase to be ready soon, with deployment and kick-off meeting planned. - -### Copy -- LPE content nearing completion, pending review. -- Documentation sites cleanup in progress. -- Status comms campaign articles in planning and drafting stages. - -### Podcast -- Release plan being solidified and reviewed. -- Review process set up and open for feedback. - -### Content -- Townhall decks in preparation for next week. -- LPE content images being vetted to establish a consistent style. - -### Events -- Global event strategy to be launched post-review by end of next week. -- Network State Event planning in progress, including speaker selection and venue shortlisting. -- ETH Rome sponsorship confirmed, with Jarrad speaking. -- Paralelni Polis event planned for late September. -- Seoul hackathon planning for February 2024 begun. - -### Movement Building -- Comms plans for LPE, Status, and Logos Community on track. -- Logos community structure being developed to guide engagement and leadership. -- LPE launch plan under review with approved budget for paid ads. -- BU Plans nearly complete, pending review. diff --git a/content/acid/updates/2023-08-02.md b/content/acid/updates/2023-08-02.md deleted file mode 100644 index a56449323..000000000 --- a/content/acid/updates/2023-08-02.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -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. \ No newline at end of file diff --git a/content/acid/updates/2023-08-09.md b/content/acid/updates/2023-08-09.md deleted file mode 100644 index ce10a2aa9..000000000 --- a/content/acid/updates/2023-08-09.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/acid/updates/2023-08-29.md b/content/acid/updates/2023-08-29.md deleted file mode 100644 index 76c141106..000000000 --- a/content/acid/updates/2023-08-29.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -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. diff --git a/content/acid/updates/2023-09-21.md b/content/acid/updates/2023-09-21.md deleted file mode 100644 index 229b4f1a4..000000000 --- a/content/acid/updates/2023-09-21.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -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 it’s 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. \ No newline at end of file diff --git a/content/acid/updates/2023-10-03.md b/content/acid/updates/2023-10-03.md deleted file mode 100644 index 154bb3d46..000000000 --- a/content/acid/updates/2023-10-03.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: 2023-10-10 Comms weekly -tags: - - acid-updates -date: 2023-10-03 -lastmod: 2023-10-10 -draft: false -description: Weekly update of Comms ---- -### Overview/Priorities -- Comments from the BUs about blockers and miscommunications - Reevaluation of our comms strategy: BUs are responsible for DevRel, BD, and technical content. We’re 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 beginner’s 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 \ No newline at end of file diff --git a/content/acid/updates/2023-10-17.md b/content/acid/updates/2023-10-17.md deleted file mode 100644 index 33582a175..000000000 --- a/content/acid/updates/2023-10-17.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: 2023-10-25 Comms weekly -tags: - - acid-updates -date: 2023-10-17 -lastmod: 2023-10-25 -draft: false -description: Weekly update of ---- - -**ACID ROUND UP - OCT. 17** - -**Overview/Priorities** - -- Workflows / Champions model: Reporting structure necessary. -- Reporting to C+J: ClickUp dashboards. -- Brand Guidelines: In process of improvements. -- Istanbul NSF event cancelled. Will find more opportunities in first half of 2024. - -**Tech & Design** - -- LSD finetuning. -- Nomos team requested executable code inside documentation website. -- Documentation for Docusaurus site. Every BU can deploy their own documentation -- Integrating the Logos job listings on IFT website - working with JB and Flo. -- No integrated requirement checklist for what the roadmap should be for all the org. It is not clear if this is one project or several. Different reporting structures per BU makes this complex. Focus on task / “bounty” list -- Finish up guidelines pages - -**Digital Content Studio** - -- Ana (new visual designer) joined last week. Helping on branding designs. -- Podcast templates for cutout animations are good to go. Match options for outputs. -- Twitter Spaces has an overlap with podcast pipeline. Jarrad also wants a easy going convo type setup for his own thinking and this is a bit. Needs to sync with MF. -- Matt and Nick sign off on LPE Article Headers/Social images - -**Podcast** - -- Quality control got version of Jordi Baylina episode with new graph. Will be ready soon. -- Snowden episode needs a change in the graph at the beginning and needs date change when we know it will launch - - **Copy** - -- Doc sites are all live except for Waku - pending some small changes. -- Nimbus websites might be getting close to launch. -- Carl asked for a beginner series for the network state concept, including a call to action that makes it easy for them to get to the beginner friendly content. -- IFT copy is in Carl’s hands and we are waiting for review. -- 3 tech one pagers for Matt and the fundraising team are done. - -**Movement Building** - -- Twitter Spaces idea for each BU is being discussed internally. Ideas to use https://docs.google.com/document/d/1yOPPsZqKzf6__zuCsFYRsDDkk-lYX--vjRoz6e7OYK4/edit -- Working on events stuff and postponing Network State Forum event for next year -- We are running and testing ads on promoting our Twitter Spaces and have pivoted to growing our brand following online to lead into a big event. Potentially hackathon around the all hands meeting etc. -- PR company: onboarding is happening, they are asking good questions there -- Status: Launch the community campaign. John wants to launch Nov 1. -- Paid Twitter Ads: Carl asked to run test ad. 2k for Logos space tweet. so far, 800k impressions. 125 followers gained so far. We will use this for benchmarking. -- NSP: held up as Jarrad is reviewing content and Carl is pending. -- Waku: feedback from Rome, mentioned that people come to them what is Waku/Status/Logos and how does everything fit. They don’t have a clear answer. We are fixing this. -- Talking to Lou re: events, we can approach Waku marketing as short term campaigns initially November-December. Will propose an awareness campaign to see what can be done with existing resources. - -**Events** - -- Different scenarios for Istanbul. Looking at whether we co-sponsor EthGlobal Istanbul. -- Waku will be doing EthGlobal India. EthGlobal Istanbul too expensive (40k) for Waku alone so we might co-sponsor. -- Speaking to EthDenver for next year + an Africa strategy for Waku. -- Set up and manage events and KPIs and reporting in Click Up via forms that external people to the comms team can fill in. -- We need a proper lead time for activation campaigns to maximise participation, social awareness etc. This is in planning. -- Video footage from EthCC Paris event still unedited. If there are requests, we can edit it for that purpose. -- Writing a brief for event managers - -**Project Management** - -- Workflows reviews and optimizations based on strategy, goals and champions model -- PM and reporting set-up in ClickUp \ No newline at end of file diff --git a/content/acid/updates/2023-10-24.md b/content/acid/updates/2023-10-24.md deleted file mode 100644 index 0317dfc55..000000000 --- a/content/acid/updates/2023-10-24.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: 2023-10-25 Comms weekly -tags: - - acid-updates -date: 2023-10-24 -lastmod: 2023-10-25 -draft: false -description: Weekly update of Comms ---- - -**Overview/Priorities** - -- We are on the right track re: reporting, champions model and outputs. Full update here: https://doc.clickup.com/9009185920/p/h/8cfuh40-13894/965f96f62ea5053 - -**Tech & Design** - -- IFT website desktop version almost ready -- Logos Brand Guidelines are being updated -- Docusauraus updates - workshop for BUs to enable them to do content updates -- Jobs will be added to every BU website and IFT - -**Digital Content Studio** - -- Content guidelines in the works, summarising everything and putting it all together to make it functional. -- Swag and presentations are coming in according to plan - nothing of note. -- Jonny working on proposal for NPS UX/structure in Figma based on conversation with nick and Amir yesterday - -**Podcast** - -- Pulling together detailed rollout doc with assets and exact copy for Al to send to Snowden and Assange for approvals and coordination. -- Get Stella out - audio quality is much better than Snowden’s so it’s good to go. - - **Copy** - -- IFT is ready and getting published by EOW. -- No news for copy re: NSP. Soft launch projected for this week for NSP. -- Beginner friendly piece by Rick for NSP is in production. -- Event promotion for Logos EthGlobal Pragma presence. -- Social buffer for Logos is set and ready. In depth threads re: philosophy and connection with each part of the tech stack. - -**Movement Building** - -- Logos Discord structure: https://docs.google.com/document/d/1N0vgj7GIHllJ9YI912WdMetSEELMBzuWbRKl8NXjXCA/edit#heading=h.ebfdikfy2j9v -- Logos Forum gets traffic due to paid ads, please pay attention and move discussions there as much as is natural. -- Feedback from Jarrad: we need to focus on creating shareable cultural artifacts. For example, transcribing Twitter spaces into forums. Lazar suggested using the radical _anarchy salon content too. -- Soft launch of NSP will happen this end of week. Next week we go with main launch. -- Twitter paid ads were running on space. Report is complete and ready to be shared. -- Growth strategy with Logos paid ads and Network state paid ads will be completed soon and shared with all. -- Legal: long story short is they will ask to have the least possible changes to the privacy policy but changes we asked for should be ready to be implemented. - -**Events** - -- Waku will be the main brand at ETHGlobal Istanbul to avoid confusion and to optimise -- Logos will be present at Pragma - we maximise brand awareness and want to test -- Wider event marketing campaign needs to be clear. Distinct posts, tracking impact. -- Dashboard on ClickUp for KPIs is in the works. Focus on optimising event attendance vs cost and resources. -- 2024 is in the works. Africa events outline for Waku, ETH Denver already contacted. - -**Project Management** - -- Setting up workspace, PM and reporting in click up with teams and get audit with Clickup experts. Onboarding next week. \ No newline at end of file diff --git a/content/vac/dr-ice/valpriv/nomos/validator-privacy.md b/content/acz/ift/de-mls-poc.md similarity index 100% rename from content/vac/dr-ice/valpriv/nomos/validator-privacy.md rename to content/acz/ift/de-mls-poc.md diff --git a/content/acz/ift/libp2p-mix-poc.md b/content/acz/ift/libp2p-mix-poc.md new file mode 100644 index 000000000..2764315b0 --- /dev/null +++ b/content/acz/ift/libp2p-mix-poc.md @@ -0,0 +1,70 @@ +--- +title: LibP2P mix protocol +tags: + - "2024Q4" + - "acz" + - "ift" +draft: false +description: +--- + +`vac:acz:ift:libp2p-mix-poc` + +## Description + +This Milestone entails designing an anonymization layer for gossipsub, and by extension, IFT projects. +The primary objective of this anonymization layer is to serve as a cohesive anonymization solution for gossip-based projects, +with a specific focus on integrating it with the Logos projects Waku and Codex. + +Currently, we're uncertain whether the complete anonymization layer can be situated between gossipsub and the protocols of IFT projects. +It appears more plausible that we'll establish a foundational element atop gossipsub, +with project-specific components integrated into the projects themselves, +or introduce an intermediary layer between the general gossip anonymization protocol and the project protocols. + +The Nomos team is crafting their own anonymization solution due to their unique requirements and their ability to leverage specific traffic patterns to enhance efficiency. +Nonetheless, the overarching objective for our anonymization network is to render our solution modular, enabling the inclusion of traffic pattern plugins that Nomos can define. + +Our initial exploration will revolve around extending our [Tor push proposal](https://rfc.vac.dev/spec/46/). +In this approach, messages will traverse through an anonymization network before being disseminated via gossip protocols upon exiting the anonymization network. +Additionally, we aim to investigate the concept of embedding anonymization capabilities directly into gossipsub, +rather than routing messages through a separate anonymization network before entering a standard gossipsub network operation. + +Currently we view this anonymization solution as a P2P base layer, which the Vac P2P team will offer as part of libp2p. +This effort could potentially spawn an incubation project. +This effort would act as a basis for the Validator Privacy Network incubation project. + +* report comparing various approaches to realizing a gossipsub anonymization layer for IFT projects + - this might entail identifying the need for in-project components (see description) + - has to provide arguments why the proposed approach is expected to provide sufficient anonymity guarantees +* document describing benefits for each of Waku, Status, Codex, and Nimbus +* Paper on arxiv.com + - including security/privacy analysis + - should offer improvements over Tor push. + - spam protection (integrate RLN) + - the proposed solution MUST be practically applicable, efficient, and relevant (product-market fit) +* draft specification of the base functionality (a usable subset of the functionality) +* PoC implementation of the base functionality + +- [x] https://github.com/vacp2p/rfc-index/pull/97/ + +## Task List + +### + +* fully qualified name: `vac:acz:ift:libp2p-mix-poc:` +* owner: +* status: +* start-date: +* end-date: + +#### Description + +Either an expressive description or a link to a github issue with an expressive description. + + +#### Deliverables + +List (can consist of a single Deliverable) of planned Deliverables and links to completed Deliverables. + + + diff --git a/content/vac/dr-ice/valpriv/vac/mix-net-solution.md b/content/acz/ift/zerokit-v0-6.md similarity index 100% rename from content/vac/dr-ice/valpriv/vac/mix-net-solution.md rename to content/acz/ift/zerokit-v0-6.md diff --git a/content/acz/index.md b/content/acz/index.md new file mode 100644 index 000000000..8c5a4cf44 --- /dev/null +++ b/content/acz/index.md @@ -0,0 +1,27 @@ +--- +title: Applied Cryptography and Zero-knowledge Service Unit +tags: + - acz + - vac +--- + +## `vac:acz:` +--- + +### `ift:` +* [ ] [[acz/ift/zerokit-v0-6|zerokit-v0.6]] +* [ ] [[acz/ift/de-mls-poc|de-mls-poc]] +* [ ] [[acz/ift/libp2p-mix-poc|libp2p-mix-poc]] + +### `waku:` + +* RLN relay support + +### `codex:` + +### `nomos:` + +### `nes` + +### `nimbus:` + diff --git a/content/vac/acz/consulting/codex/proxy-re-encryption.md b/content/archive/2024h1/vac/acz/consulting/codex/proxy-re-encryption.md similarity index 100% rename from content/vac/acz/consulting/codex/proxy-re-encryption.md rename to content/archive/2024h1/vac/acz/consulting/codex/proxy-re-encryption.md diff --git a/content/vac/acz/consulting/nescience/zk-consulting.md b/content/archive/2024h1/vac/acz/consulting/nescience/zk-consulting.md similarity index 100% rename from content/vac/acz/consulting/nescience/zk-consulting.md rename to content/archive/2024h1/vac/acz/consulting/nescience/zk-consulting.md diff --git a/content/vac/acz/consulting/nomos/init.md b/content/archive/2024h1/vac/acz/consulting/nomos/init.md similarity index 100% rename from content/vac/acz/consulting/nomos/init.md rename to content/archive/2024h1/vac/acz/consulting/nomos/init.md diff --git a/content/vac/acz/index.md b/content/archive/2024h1/vac/acz/index.md similarity index 100% rename from content/vac/acz/index.md rename to content/archive/2024h1/vac/acz/index.md diff --git a/content/vac/acz/rlnp2p/status/rln-usage.md b/content/archive/2024h1/vac/acz/rlnp2p/status/rln-usage.md similarity index 100% rename from content/vac/acz/rlnp2p/status/rln-usage.md rename to content/archive/2024h1/vac/acz/rlnp2p/status/rln-usage.md diff --git a/content/vac/acz/rlnp2p/vac/light-rln-verifiers.md b/content/archive/2024h1/vac/acz/rlnp2p/vac/light-rln-verifiers.md similarity index 100% rename from content/vac/acz/rlnp2p/vac/light-rln-verifiers.md rename to content/archive/2024h1/vac/acz/rlnp2p/vac/light-rln-verifiers.md diff --git a/content/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md b/content/archive/2024h1/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md similarity index 100% rename from content/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md rename to content/archive/2024h1/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md diff --git a/content/vac/acz/rlnp2p/vac/rln-light-clients.md b/content/archive/2024h1/vac/acz/rlnp2p/vac/rln-light-clients.md similarity index 100% rename from content/vac/acz/rlnp2p/vac/rln-light-clients.md rename to content/archive/2024h1/vac/acz/rlnp2p/vac/rln-light-clients.md diff --git a/content/vac/acz/rlnp2p/waku/production-readiness.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/production-readiness.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/production-readiness.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/production-readiness.md diff --git a/content/vac/acz/rlnp2p/waku/rln-membership-management.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/rln-membership-management.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/rln-membership-management.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/rln-membership-management.md diff --git a/content/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md diff --git a/content/vac/acz/rlnp2p/waku/rln-relay-enhancements.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/rln-relay-enhancements.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/rln-relay-enhancements.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/rln-relay-enhancements.md diff --git a/content/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md diff --git a/content/vac/acz/rlnp2p/waku/rln-relay-erc20.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/rln-relay-erc20.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/rln-relay-erc20.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/rln-relay-erc20.md diff --git a/content/vac/acz/rlnp2p/waku/rlnv2-e2e.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/rlnv2-e2e.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/rlnv2-e2e.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/rlnv2-e2e.md diff --git a/content/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md b/content/archive/2024h1/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md similarity index 100% rename from content/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md rename to content/archive/2024h1/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md diff --git a/content/vac/acz/secure-channels/waku/fd-design.md b/content/archive/2024h1/vac/acz/secure-channels/waku/fd-design.md similarity index 100% rename from content/vac/acz/secure-channels/waku/fd-design.md rename to content/archive/2024h1/vac/acz/secure-channels/waku/fd-design.md diff --git a/content/vac/acz/secure-channels/waku/fd-poc.md b/content/archive/2024h1/vac/acz/secure-channels/waku/fd-poc.md similarity index 100% rename from content/vac/acz/secure-channels/waku/fd-poc.md rename to content/archive/2024h1/vac/acz/secure-channels/waku/fd-poc.md diff --git a/content/vac/acz/secure-channels/waku/mls-design.md b/content/archive/2024h1/vac/acz/secure-channels/waku/mls-design.md similarity index 100% rename from content/vac/acz/secure-channels/waku/mls-design.md rename to content/archive/2024h1/vac/acz/secure-channels/waku/mls-design.md diff --git a/content/vac/acz/secure-channels/waku/mls-poc.md b/content/archive/2024h1/vac/acz/secure-channels/waku/mls-poc.md similarity index 100% rename from content/vac/acz/secure-channels/waku/mls-poc.md rename to content/archive/2024h1/vac/acz/secure-channels/waku/mls-poc.md diff --git a/content/vac/acz/stealth-address-kit/maintenance.md b/content/archive/2024h1/vac/acz/stealth-address-kit/maintenance.md similarity index 100% rename from content/vac/acz/stealth-address-kit/maintenance.md rename to content/archive/2024h1/vac/acz/stealth-address-kit/maintenance.md diff --git a/content/vac/acz/stealth-address-kit/research.md b/content/archive/2024h1/vac/acz/stealth-address-kit/research.md similarity index 100% rename from content/vac/acz/stealth-address-kit/research.md rename to content/archive/2024h1/vac/acz/stealth-address-kit/research.md diff --git a/content/vac/acz/validator-privacy/nimbus/productionize-tor-push.md b/content/archive/2024h1/vac/acz/validator-privacy/nimbus/productionize-tor-push.md similarity index 100% rename from content/vac/acz/validator-privacy/nimbus/productionize-tor-push.md rename to content/archive/2024h1/vac/acz/validator-privacy/nimbus/productionize-tor-push.md diff --git a/content/vac/acz/zerokit/vac/maintenance.md b/content/archive/2024h1/vac/acz/zerokit/vac/maintenance.md similarity index 100% rename from content/vac/acz/zerokit/vac/maintenance.md rename to content/archive/2024h1/vac/acz/zerokit/vac/maintenance.md diff --git a/content/vac/acz/zerokit/vac/zerokit-v0-4.md b/content/archive/2024h1/vac/acz/zerokit/vac/zerokit-v0-4.md similarity index 100% rename from content/vac/acz/zerokit/vac/zerokit-v0-4.md rename to content/archive/2024h1/vac/acz/zerokit/vac/zerokit-v0-4.md diff --git a/content/vac/acz/zerokit/vac/zerokit-v0-5.md b/content/archive/2024h1/vac/acz/zerokit/vac/zerokit-v0-5.md similarity index 100% rename from content/vac/acz/zerokit/vac/zerokit-v0-5.md rename to content/archive/2024h1/vac/acz/zerokit/vac/zerokit-v0-5.md diff --git a/content/vac/acz/zerokit/vac/zerokit-v0-6.md b/content/archive/2024h1/vac/acz/zerokit/vac/zerokit-v0-6.md similarity index 100% rename from content/vac/acz/zerokit/vac/zerokit-v0-6.md rename to content/archive/2024h1/vac/acz/zerokit/vac/zerokit-v0-6.md diff --git a/content/vac/create_dirs.bash b/content/archive/2024h1/vac/create_dirs.bash similarity index 100% rename from content/vac/create_dirs.bash rename to content/archive/2024h1/vac/create_dirs.bash diff --git a/content/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md diff --git a/content/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md diff --git a/content/vac/dr-ice/consensus/nomos/carnot-bribary-article.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/carnot-bribary-article.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/carnot-bribary-article.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/carnot-bribary-article.md diff --git a/content/vac/dr-ice/consensus/nomos/carnot-paper_02.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/carnot-paper_02.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/carnot-paper_02.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/carnot-paper_02.md diff --git a/content/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md diff --git a/content/vac/dr-ice/consensus/nomos/inter-chain-protocol.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/inter-chain-protocol.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/inter-chain-protocol.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/inter-chain-protocol.md diff --git a/content/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md diff --git a/content/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md b/content/archive/2024h1/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md similarity index 100% rename from content/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md rename to content/archive/2024h1/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md diff --git a/content/vac/dr-ice/index.md b/content/archive/2024h1/vac/dr-ice/index.md similarity index 100% rename from content/vac/dr-ice/index.md rename to content/archive/2024h1/vac/dr-ice/index.md diff --git a/content/vac/dr-ice/valpriv/vac/priv-validator-network.md b/content/archive/2024h1/vac/dr-ice/valpriv/nomos/validator-privacy.md similarity index 100% rename from content/vac/dr-ice/valpriv/vac/priv-validator-network.md rename to content/archive/2024h1/vac/dr-ice/valpriv/nomos/validator-privacy.md diff --git a/content/vac/dr-ice/valpriv/vac/tor-push-rln.md b/content/archive/2024h1/vac/dr-ice/valpriv/vac/mix-net-solution.md similarity index 100% rename from content/vac/dr-ice/valpriv/vac/tor-push-rln.md rename to content/archive/2024h1/vac/dr-ice/valpriv/vac/mix-net-solution.md diff --git a/content/vac/nim/core-libs/vac/chronos-maintainance.md b/content/archive/2024h1/vac/dr-ice/valpriv/vac/priv-validator-network.md similarity index 100% rename from content/vac/nim/core-libs/vac/chronos-maintainance.md rename to content/archive/2024h1/vac/dr-ice/valpriv/vac/priv-validator-network.md diff --git a/content/vac/nim/tooling/vac/compiler.md b/content/archive/2024h1/vac/dr-ice/valpriv/vac/tor-push-rln.md similarity index 100% rename from content/vac/nim/tooling/vac/compiler.md rename to content/archive/2024h1/vac/dr-ice/valpriv/vac/tor-push-rln.md diff --git a/content/vac/dr/anon/vac/gossipsub-anonymity.md b/content/archive/2024h1/vac/dr/anon/vac/gossipsub-anonymity.md similarity index 100% rename from content/vac/dr/anon/vac/gossipsub-anonymity.md rename to content/archive/2024h1/vac/dr/anon/vac/gossipsub-anonymity.md diff --git a/content/vac/dr/consensus/nomos/carnot-paper.md b/content/archive/2024h1/vac/dr/consensus/nomos/carnot-paper.md similarity index 100% rename from content/vac/dr/consensus/nomos/carnot-paper.md rename to content/archive/2024h1/vac/dr/consensus/nomos/carnot-paper.md diff --git a/content/vac/dr/g/nomos/reviews.md b/content/archive/2024h1/vac/dr/g/nomos/reviews.md similarity index 100% rename from content/vac/dr/g/nomos/reviews.md rename to content/archive/2024h1/vac/dr/g/nomos/reviews.md diff --git a/content/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md b/content/archive/2024h1/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md similarity index 100% rename from content/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md rename to content/archive/2024h1/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md diff --git a/content/vac/dr/gsub-scaling/vac/gossipsub-simulation.md b/content/archive/2024h1/vac/dr/gsub-scaling/vac/gossipsub-simulation.md similarity index 100% rename from content/vac/dr/gsub-scaling/vac/gossipsub-simulation.md rename to content/archive/2024h1/vac/dr/gsub-scaling/vac/gossipsub-simulation.md diff --git a/content/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md b/content/archive/2024h1/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md similarity index 100% rename from content/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md rename to content/archive/2024h1/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md diff --git a/content/vac/dr/index.md b/content/archive/2024h1/vac/dr/index.md similarity index 100% rename from content/vac/dr/index.md rename to content/archive/2024h1/vac/dr/index.md diff --git a/content/vac/dr/valpriv/vac/tor-push-paper.md b/content/archive/2024h1/vac/dr/valpriv/vac/tor-push-paper.md similarity index 100% rename from content/vac/dr/valpriv/vac/tor-push-paper.md rename to content/archive/2024h1/vac/dr/valpriv/vac/tor-push-paper.md diff --git a/content/vac/dr/valpriv/vac/tor-push-poc.md b/content/archive/2024h1/vac/dr/valpriv/vac/tor-push-poc.md similarity index 100% rename from content/vac/dr/valpriv/vac/tor-push-poc.md rename to content/archive/2024h1/vac/dr/valpriv/vac/tor-push-poc.md diff --git a/content/vac/dr/valpriv/vac/tor-push-rel-work.md b/content/archive/2024h1/vac/dr/valpriv/vac/tor-push-rel-work.md similarity index 100% rename from content/vac/dr/valpriv/vac/tor-push-rel-work.md rename to content/archive/2024h1/vac/dr/valpriv/vac/tor-push-rel-work.md diff --git a/content/vac/dr/zk/codex/storage-proofs-open-problems-review.md b/content/archive/2024h1/vac/dr/zk/codex/storage-proofs-open-problems-review.md similarity index 100% rename from content/vac/dr/zk/codex/storage-proofs-open-problems-review.md rename to content/archive/2024h1/vac/dr/zk/codex/storage-proofs-open-problems-review.md diff --git a/content/vac/dr/zk/codex/zk-consulting.md b/content/archive/2024h1/vac/dr/zk/codex/zk-consulting.md similarity index 100% rename from content/vac/dr/zk/codex/zk-consulting.md rename to content/archive/2024h1/vac/dr/zk/codex/zk-consulting.md diff --git a/content/vac/dst-ice/analysis-gsub-model/status/control-messages.md b/content/archive/2024h1/vac/dst-ice/analysis-gsub-model/status/control-messages.md similarity index 100% rename from content/vac/dst-ice/analysis-gsub-model/status/control-messages.md rename to content/archive/2024h1/vac/dst-ice/analysis-gsub-model/status/control-messages.md diff --git a/content/vac/dst-ice/analysis-gsub-model/vac/refactoring.md b/content/archive/2024h1/vac/dst-ice/analysis-gsub-model/vac/refactoring.md similarity index 100% rename from content/vac/dst-ice/analysis-gsub-model/vac/refactoring.md rename to content/archive/2024h1/vac/dst-ice/analysis-gsub-model/vac/refactoring.md diff --git a/content/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md b/content/archive/2024h1/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md similarity index 100% rename from content/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md rename to content/archive/2024h1/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md diff --git a/content/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md b/content/archive/2024h1/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md similarity index 100% rename from content/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md rename to content/archive/2024h1/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md diff --git a/content/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md b/content/archive/2024h1/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md similarity index 100% rename from content/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md rename to content/archive/2024h1/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md diff --git a/content/vac/dst-ice/dr-support/vac/carnot-executable-spec.md b/content/archive/2024h1/vac/dst-ice/dr-support/vac/carnot-executable-spec.md similarity index 100% rename from content/vac/dst-ice/dr-support/vac/carnot-executable-spec.md rename to content/archive/2024h1/vac/dst-ice/dr-support/vac/carnot-executable-spec.md diff --git a/content/vac/dst-ice/index.md b/content/archive/2024h1/vac/dst-ice/index.md similarity index 100% rename from content/vac/dst-ice/index.md rename to content/archive/2024h1/vac/dst-ice/index.md diff --git a/content/vac/dst-ice/nomos/nomos-simulation-analysis.md b/content/archive/2024h1/vac/dst-ice/nomos/nomos-simulation-analysis.md similarity index 100% rename from content/vac/dst-ice/nomos/nomos-simulation-analysis.md rename to content/archive/2024h1/vac/dst-ice/nomos/nomos-simulation-analysis.md diff --git a/content/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md b/content/archive/2024h1/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md similarity index 100% rename from content/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md rename to content/archive/2024h1/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md diff --git a/content/vac/dst-ice/wakurtosis/vac/rlog.md b/content/archive/2024h1/vac/dst-ice/wakurtosis/vac/rlog.md similarity index 100% rename from content/vac/dst-ice/wakurtosis/vac/rlog.md rename to content/archive/2024h1/vac/dst-ice/wakurtosis/vac/rlog.md diff --git a/content/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md b/content/archive/2024h1/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md similarity index 100% rename from content/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md rename to content/archive/2024h1/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md diff --git a/content/vac/dst/deployment-and-analysis/codex/testnet.md b/content/archive/2024h1/vac/dst/deployment-and-analysis/codex/testnet.md similarity index 100% rename from content/vac/dst/deployment-and-analysis/codex/testnet.md rename to content/archive/2024h1/vac/dst/deployment-and-analysis/codex/testnet.md diff --git a/content/vac/dst/deployment-and-analysis/nomos/mixnet.md b/content/archive/2024h1/vac/dst/deployment-and-analysis/nomos/mixnet.md similarity index 100% rename from content/vac/dst/deployment-and-analysis/nomos/mixnet.md rename to content/archive/2024h1/vac/dst/deployment-and-analysis/nomos/mixnet.md diff --git a/content/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md b/content/archive/2024h1/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md similarity index 100% rename from content/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md rename to content/archive/2024h1/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md diff --git a/content/vac/dst/deployment-and-analysis/waku/10k.md b/content/archive/2024h1/vac/dst/deployment-and-analysis/waku/10k.md similarity index 100% rename from content/vac/dst/deployment-and-analysis/waku/10k.md rename to content/archive/2024h1/vac/dst/deployment-and-analysis/waku/10k.md diff --git a/content/vac/dst/deployment-and-analysis/waku/midscale.md b/content/archive/2024h1/vac/dst/deployment-and-analysis/waku/midscale.md similarity index 100% rename from content/vac/dst/deployment-and-analysis/waku/midscale.md rename to content/archive/2024h1/vac/dst/deployment-and-analysis/waku/midscale.md diff --git a/content/vac/dst/eng/vac/bundle-simulation-data.md b/content/archive/2024h1/vac/dst/eng/vac/bundle-simulation-data.md similarity index 100% rename from content/vac/dst/eng/vac/bundle-simulation-data.md rename to content/archive/2024h1/vac/dst/eng/vac/bundle-simulation-data.md diff --git a/content/vac/dst/index.md b/content/archive/2024h1/vac/dst/index.md similarity index 100% rename from content/vac/dst/index.md rename to content/archive/2024h1/vac/dst/index.md diff --git a/content/vac/dst/tooling/vac/deployer-tool.md b/content/archive/2024h1/vac/dst/tooling/vac/deployer-tool.md similarity index 100% rename from content/vac/dst/tooling/vac/deployer-tool.md rename to content/archive/2024h1/vac/dst/tooling/vac/deployer-tool.md diff --git a/content/vac/dst/tooling/vac/visualiser-tool.md b/content/archive/2024h1/vac/dst/tooling/vac/visualiser-tool.md similarity index 100% rename from content/vac/dst/tooling/vac/visualiser-tool.md rename to content/archive/2024h1/vac/dst/tooling/vac/visualiser-tool.md diff --git a/content/vac/dst/tooling/vac/visualiser-tool.png b/content/archive/2024h1/vac/dst/tooling/vac/visualiser-tool.png similarity index 100% rename from content/vac/dst/tooling/vac/visualiser-tool.png rename to content/archive/2024h1/vac/dst/tooling/vac/visualiser-tool.png diff --git a/content/vac/dst/wakurtosis/nomos/ci-integration.md b/content/archive/2024h1/vac/dst/wakurtosis/nomos/ci-integration.md similarity index 100% rename from content/vac/dst/wakurtosis/nomos/ci-integration.md rename to content/archive/2024h1/vac/dst/wakurtosis/nomos/ci-integration.md diff --git a/content/vac/dst/wakurtosis/vac/maintenance.md b/content/archive/2024h1/vac/dst/wakurtosis/vac/maintenance.md similarity index 100% rename from content/vac/dst/wakurtosis/vac/maintenance.md rename to content/archive/2024h1/vac/dst/wakurtosis/vac/maintenance.md diff --git a/content/vac/dst/wakurtosis/vac/retrospective-rlog.md b/content/archive/2024h1/vac/dst/wakurtosis/vac/retrospective-rlog.md similarity index 100% rename from content/vac/dst/wakurtosis/vac/retrospective-rlog.md rename to content/archive/2024h1/vac/dst/wakurtosis/vac/retrospective-rlog.md diff --git a/content/vac/dst/wakurtosis/waku/features.md b/content/archive/2024h1/vac/dst/wakurtosis/waku/features.md similarity index 100% rename from content/vac/dst/wakurtosis/waku/features.md rename to content/archive/2024h1/vac/dst/wakurtosis/waku/features.md diff --git a/content/vac/dst/wakurtosis/waku/techreport.md b/content/archive/2024h1/vac/dst/wakurtosis/waku/techreport.md similarity index 100% rename from content/vac/dst/wakurtosis/waku/techreport.md rename to content/archive/2024h1/vac/dst/wakurtosis/waku/techreport.md diff --git a/content/vac/dst/wakurtosis/waku/techreport_02.md b/content/archive/2024h1/vac/dst/wakurtosis/waku/techreport_02.md similarity index 100% rename from content/vac/dst/wakurtosis/waku/techreport_02.md rename to content/archive/2024h1/vac/dst/wakurtosis/waku/techreport_02.md diff --git a/content/vac/index.md b/content/archive/2024h1/vac/index.md similarity index 100% rename from content/vac/index.md rename to content/archive/2024h1/vac/index.md diff --git a/content/vac/monthly-reports/2023-aug.md b/content/archive/2024h1/vac/monthly-reports/2023-aug.md similarity index 100% rename from content/vac/monthly-reports/2023-aug.md rename to content/archive/2024h1/vac/monthly-reports/2023-aug.md diff --git a/content/vac/monthly-reports/2023-oct.md b/content/archive/2024h1/vac/monthly-reports/2023-oct.md similarity index 100% rename from content/vac/monthly-reports/2023-oct.md rename to content/archive/2024h1/vac/monthly-reports/2023-oct.md diff --git a/content/vac/monthly-reports/2023-sept.md b/content/archive/2024h1/vac/monthly-reports/2023-sept.md similarity index 100% rename from content/vac/monthly-reports/2023-sept.md rename to content/archive/2024h1/vac/monthly-reports/2023-sept.md diff --git a/content/vac/nes/index.md b/content/archive/2024h1/vac/nes/index.md similarity index 100% rename from content/vac/nes/index.md rename to content/archive/2024h1/vac/nes/index.md diff --git a/content/vac/nes/proofsystems/vac/benchmarks.md b/content/archive/2024h1/vac/nes/proofsystems/vac/benchmarks.md similarity index 100% rename from content/vac/nes/proofsystems/vac/benchmarks.md rename to content/archive/2024h1/vac/nes/proofsystems/vac/benchmarks.md diff --git a/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md b/content/archive/2024h1/vac/nes/proofsystems/vac/research-existing-proofsystems.md similarity index 100% rename from content/vac/nes/proofsystems/vac/research-existing-proofsystems.md rename to content/archive/2024h1/vac/nes/proofsystems/vac/research-existing-proofsystems.md diff --git a/content/vac/nes/state-separation/vac/state-separation-architecture-01.md b/content/archive/2024h1/vac/nes/state-separation/vac/state-separation-architecture-01.md similarity index 100% rename from content/vac/nes/state-separation/vac/state-separation-architecture-01.md rename to content/archive/2024h1/vac/nes/state-separation/vac/state-separation-architecture-01.md diff --git a/content/vac/nes/state-separation/vac/state-separation-architecture-02.md b/content/archive/2024h1/vac/nes/state-separation/vac/state-separation-architecture-02.md similarity index 100% rename from content/vac/nes/state-separation/vac/state-separation-architecture-02.md rename to content/archive/2024h1/vac/nes/state-separation/vac/state-separation-architecture-02.md diff --git a/content/vac/nes/zkvm/vac/vm-ecosystem.md b/content/archive/2024h1/vac/nes/zkvm/vac/vm-ecosystem.md similarity index 100% rename from content/vac/nes/zkvm/vac/vm-ecosystem.md rename to content/archive/2024h1/vac/nes/zkvm/vac/vm-ecosystem.md diff --git a/content/vac/nes/zkvm/vac/vm-foundations.md b/content/archive/2024h1/vac/nes/zkvm/vac/vm-foundations.md similarity index 100% rename from content/vac/nes/zkvm/vac/vm-foundations.md rename to content/archive/2024h1/vac/nes/zkvm/vac/vm-foundations.md diff --git a/content/vac/nim/tooling/vac/editor.md b/content/archive/2024h1/vac/nim/core-libs/vac/chronos-maintainance.md similarity index 100% rename from content/vac/nim/tooling/vac/editor.md rename to content/archive/2024h1/vac/nim/core-libs/vac/chronos-maintainance.md diff --git a/content/vac/nim/index.md b/content/archive/2024h1/vac/nim/index.md similarity index 100% rename from content/vac/nim/index.md rename to content/archive/2024h1/vac/nim/index.md diff --git a/content/vac/nim/tooling/vac/lsp.md b/content/archive/2024h1/vac/nim/tooling/vac/compiler.md similarity index 100% rename from content/vac/nim/tooling/vac/lsp.md rename to content/archive/2024h1/vac/nim/tooling/vac/compiler.md diff --git a/content/vac/nim/tooling/vac/nim-suggest.md b/content/archive/2024h1/vac/nim/tooling/vac/editor.md similarity index 100% rename from content/vac/nim/tooling/vac/nim-suggest.md rename to content/archive/2024h1/vac/nim/tooling/vac/editor.md diff --git a/content/vac/nim/tooling/vac/nimble.md b/content/archive/2024h1/vac/nim/tooling/vac/lsp.md similarity index 100% rename from content/vac/nim/tooling/vac/nimble.md rename to content/archive/2024h1/vac/nim/tooling/vac/lsp.md diff --git a/content/vac/rfc/rfc/nomos/carnot-specification.md b/content/archive/2024h1/vac/nim/tooling/vac/nim-suggest.md similarity index 100% rename from content/vac/rfc/rfc/nomos/carnot-specification.md rename to content/archive/2024h1/vac/nim/tooling/vac/nim-suggest.md diff --git a/content/vac/rfc/rfc/nomos/carnot-threat-model-informational.md b/content/archive/2024h1/vac/nim/tooling/vac/nimble.md similarity index 100% rename from content/vac/rfc/rfc/nomos/carnot-threat-model-informational.md rename to content/archive/2024h1/vac/nim/tooling/vac/nimble.md diff --git a/content/vac/p2p/index.md b/content/archive/2024h1/vac/p2p/index.md similarity index 100% rename from content/vac/p2p/index.md rename to content/archive/2024h1/vac/p2p/index.md diff --git a/content/vac/p2p/nimchronos/vac/maintenance.md b/content/archive/2024h1/vac/p2p/nimchronos/vac/maintenance.md similarity index 100% rename from content/vac/p2p/nimchronos/vac/maintenance.md rename to content/archive/2024h1/vac/p2p/nimchronos/vac/maintenance.md diff --git a/content/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md b/content/archive/2024h1/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md similarity index 100% rename from content/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md rename to content/archive/2024h1/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md diff --git a/content/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md b/content/archive/2024h1/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md similarity index 100% rename from content/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md rename to content/archive/2024h1/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md diff --git a/content/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md b/content/archive/2024h1/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md similarity index 100% rename from content/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md rename to content/archive/2024h1/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md diff --git a/content/vac/p2p/nimlibp2p/vac/maintenance.md b/content/archive/2024h1/vac/p2p/nimlibp2p/vac/maintenance.md similarity index 100% rename from content/vac/p2p/nimlibp2p/vac/maintenance.md rename to content/archive/2024h1/vac/p2p/nimlibp2p/vac/maintenance.md diff --git a/content/vac/p2p/nimlibp2p/vac/webrtc-transport.md b/content/archive/2024h1/vac/p2p/nimlibp2p/vac/webrtc-transport.md similarity index 100% rename from content/vac/p2p/nimlibp2p/vac/webrtc-transport.md rename to content/archive/2024h1/vac/p2p/nimlibp2p/vac/webrtc-transport.md diff --git a/content/vac/qa/g/codex/test-automation-codex-discovery.md b/content/archive/2024h1/vac/qa/g/codex/test-automation-codex-discovery.md similarity index 100% rename from content/vac/qa/g/codex/test-automation-codex-discovery.md rename to content/archive/2024h1/vac/qa/g/codex/test-automation-codex-discovery.md diff --git a/content/vac/qa/g/nomos/test-automation-cryptarchia.md b/content/archive/2024h1/vac/qa/g/nomos/test-automation-cryptarchia.md similarity index 100% rename from content/vac/qa/g/nomos/test-automation-cryptarchia.md rename to content/archive/2024h1/vac/qa/g/nomos/test-automation-cryptarchia.md diff --git a/content/vac/qa/g/nomos/test-automation-data-availability.md b/content/archive/2024h1/vac/qa/g/nomos/test-automation-data-availability.md similarity index 100% rename from content/vac/qa/g/nomos/test-automation-data-availability.md rename to content/archive/2024h1/vac/qa/g/nomos/test-automation-data-availability.md diff --git a/content/vac/qa/g/vac/test-automation-nim-libp2p.md b/content/archive/2024h1/vac/qa/g/vac/test-automation-nim-libp2p.md similarity index 100% rename from content/vac/qa/g/vac/test-automation-nim-libp2p.md rename to content/archive/2024h1/vac/qa/g/vac/test-automation-nim-libp2p.md diff --git a/content/vac/qa/g/vac/test-automation-nim-tooling.md b/content/archive/2024h1/vac/qa/g/vac/test-automation-nim-tooling.md similarity index 100% rename from content/vac/qa/g/vac/test-automation-nim-tooling.md rename to content/archive/2024h1/vac/qa/g/vac/test-automation-nim-tooling.md diff --git a/content/vac/qa/g/waku/interop-testing-02.md b/content/archive/2024h1/vac/qa/g/waku/interop-testing-02.md similarity index 100% rename from content/vac/qa/g/waku/interop-testing-02.md rename to content/archive/2024h1/vac/qa/g/waku/interop-testing-02.md diff --git a/content/vac/qa/g/waku/interop-testing.md b/content/archive/2024h1/vac/qa/g/waku/interop-testing.md similarity index 100% rename from content/vac/qa/g/waku/interop-testing.md rename to content/archive/2024h1/vac/qa/g/waku/interop-testing.md diff --git a/content/vac/qa/g/waku/maintenance-go-waku.md b/content/archive/2024h1/vac/qa/g/waku/maintenance-go-waku.md similarity index 100% rename from content/vac/qa/g/waku/maintenance-go-waku.md rename to content/archive/2024h1/vac/qa/g/waku/maintenance-go-waku.md diff --git a/content/vac/qa/g/waku/maintenance-js-waku.md b/content/archive/2024h1/vac/qa/g/waku/maintenance-js-waku.md similarity index 100% rename from content/vac/qa/g/waku/maintenance-js-waku.md rename to content/archive/2024h1/vac/qa/g/waku/maintenance-js-waku.md diff --git a/content/vac/qa/g/waku/maintenance-nwaku.md b/content/archive/2024h1/vac/qa/g/waku/maintenance-nwaku.md similarity index 100% rename from content/vac/qa/g/waku/maintenance-nwaku.md rename to content/archive/2024h1/vac/qa/g/waku/maintenance-nwaku.md diff --git a/content/vac/qa/g/waku/test-automation-go-waku.md b/content/archive/2024h1/vac/qa/g/waku/test-automation-go-waku.md similarity index 100% rename from content/vac/qa/g/waku/test-automation-go-waku.md rename to content/archive/2024h1/vac/qa/g/waku/test-automation-go-waku.md diff --git a/content/vac/qa/g/waku/test-automation-js-waku.md b/content/archive/2024h1/vac/qa/g/waku/test-automation-js-waku.md similarity index 100% rename from content/vac/qa/g/waku/test-automation-js-waku.md rename to content/archive/2024h1/vac/qa/g/waku/test-automation-js-waku.md diff --git a/content/vac/qa/g/waku/test-automation-nwaku.md b/content/archive/2024h1/vac/qa/g/waku/test-automation-nwaku.md similarity index 100% rename from content/vac/qa/g/waku/test-automation-nwaku.md rename to content/archive/2024h1/vac/qa/g/waku/test-automation-nwaku.md diff --git a/content/vac/qa/g/waku/test-automation-rln.md b/content/archive/2024h1/vac/qa/g/waku/test-automation-rln.md similarity index 96% rename from content/vac/qa/g/waku/test-automation-rln.md rename to content/archive/2024h1/vac/qa/g/waku/test-automation-rln.md index 1d53def98..29bb3299a 100644 --- a/content/vac/qa/g/waku/test-automation-rln.md +++ b/content/archive/2024h1/vac/qa/g/waku/test-automation-rln.md @@ -1,72 +1,72 @@ ---- -title: "Test Automation RLN" ---- -## `vac:qa::waku:test-automation-rln` ---- - -```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 - Test Automation RLN: 2024-01-01, 2024-05-31 -``` - -- status: 100% -- CC: Roman, Florin, Alex - -### Description - -* nwaku unit tests -* js-waku unit tests -* interop off-chain tests -* interop on-chain tests - - -### Justification - - -### Deliverables - -#### Code: -- https://github.com/waku-org/waku-interop-tests/blob/master/tests/relay/test_rln.py -- https://github.com/waku-org/waku-interop-tests/blob/master/src/steps/rln.py -- https://github.com/waku-org/nwaku/pull/2356 -- https://github.com/waku-org/nwaku/pull/2639 -- https://github.com/waku-org/go-waku/pull/1003 -- https://github.com/waku-org/go-waku/pull/1009 -- https://github.com/waku-org/waku-simulator/pull/72 - - -#### Issues: -- https://github.com/waku-org/nwaku/issues/2662 -- https://github.com/waku-org/nwaku/issues/2837 -- https://github.com/waku-org/nwaku/issues/2422 -- https://github.com/waku-org/nwaku/issues/2602 -- https://github.com/waku-org/nwaku/issues/2606 -- https://github.com/waku-org/nwaku/issues/2901 -- https://github.com/waku-org/nwaku/issues/2942 -- https://github.com/waku-org/nwaku/issues/2822 -- https://github.com/waku-org/nwaku/issues/2764 -- https://github.com/waku-org/nwaku/issues/2763 -- https://github.com/waku-org/nwaku/issues/2762 -- https://github.com/waku-org/nwaku/issues/2743 -- https://github.com/waku-org/nwaku/issues/2742 -- https://github.com/waku-org/nwaku/issues/2822 -- https://github.com/waku-org/nwaku/issues/2757 -- https://github.com/waku-org/nwaku/issues/2946 -- https://github.com/waku-org/nwaku/issues/2949 -- https://github.com/waku-org/waku-simulator/issues/76 +--- +title: "Test Automation RLN" +--- +## `vac:qa::waku:test-automation-rln` +--- + +```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 + Test Automation RLN: 2024-01-01, 2024-05-31 +``` + +- status: 100% +- CC: Roman, Florin, Alex + +### Description + +* nwaku unit tests +* js-waku unit tests +* interop off-chain tests +* interop on-chain tests + + +### Justification + + +### Deliverables + +#### Code: +- https://github.com/waku-org/waku-interop-tests/blob/master/tests/relay/test_rln.py +- https://github.com/waku-org/waku-interop-tests/blob/master/src/steps/rln.py +- https://github.com/waku-org/nwaku/pull/2356 +- https://github.com/waku-org/nwaku/pull/2639 +- https://github.com/waku-org/go-waku/pull/1003 +- https://github.com/waku-org/go-waku/pull/1009 +- https://github.com/waku-org/waku-simulator/pull/72 + + +#### Issues: +- https://github.com/waku-org/nwaku/issues/2662 +- https://github.com/waku-org/nwaku/issues/2837 +- https://github.com/waku-org/nwaku/issues/2422 +- https://github.com/waku-org/nwaku/issues/2602 +- https://github.com/waku-org/nwaku/issues/2606 +- https://github.com/waku-org/nwaku/issues/2901 +- https://github.com/waku-org/nwaku/issues/2942 +- https://github.com/waku-org/nwaku/issues/2822 +- https://github.com/waku-org/nwaku/issues/2764 +- https://github.com/waku-org/nwaku/issues/2763 +- https://github.com/waku-org/nwaku/issues/2762 +- https://github.com/waku-org/nwaku/issues/2743 +- https://github.com/waku-org/nwaku/issues/2742 +- https://github.com/waku-org/nwaku/issues/2822 +- https://github.com/waku-org/nwaku/issues/2757 +- https://github.com/waku-org/nwaku/issues/2946 +- https://github.com/waku-org/nwaku/issues/2949 +- https://github.com/waku-org/waku-simulator/issues/76 diff --git a/content/vac/qa/g/waku/test-automation-sharding.md b/content/archive/2024h1/vac/qa/g/waku/test-automation-sharding.md similarity index 100% rename from content/vac/qa/g/waku/test-automation-sharding.md rename to content/archive/2024h1/vac/qa/g/waku/test-automation-sharding.md diff --git a/content/vac/qa/g/waku/test-automation-status-go-cli-2.md b/content/archive/2024h1/vac/qa/g/waku/test-automation-status-go-cli-2.md similarity index 100% rename from content/vac/qa/g/waku/test-automation-status-go-cli-2.md rename to content/archive/2024h1/vac/qa/g/waku/test-automation-status-go-cli-2.md diff --git a/content/vac/qa/g/waku/test-automation-status-go-cli.md b/content/archive/2024h1/vac/qa/g/waku/test-automation-status-go-cli.md similarity index 100% rename from content/vac/qa/g/waku/test-automation-status-go-cli.md rename to content/archive/2024h1/vac/qa/g/waku/test-automation-status-go-cli.md diff --git a/content/vac/qa/g/waku/test-plan-rln.md b/content/archive/2024h1/vac/qa/g/waku/test-plan-rln.md similarity index 100% rename from content/vac/qa/g/waku/test-plan-rln.md rename to content/archive/2024h1/vac/qa/g/waku/test-plan-rln.md diff --git a/content/vac/qa/g/waku/test-plan-sharding.md b/content/archive/2024h1/vac/qa/g/waku/test-plan-sharding.md similarity index 100% rename from content/vac/qa/g/waku/test-plan-sharding.md rename to content/archive/2024h1/vac/qa/g/waku/test-plan-sharding.md diff --git a/content/vac/qa/g/waku/test-plans.md b/content/archive/2024h1/vac/qa/g/waku/test-plans.md similarity index 100% rename from content/vac/qa/g/waku/test-plans.md rename to content/archive/2024h1/vac/qa/g/waku/test-plans.md diff --git a/content/vac/qa/g/waku/ws-stress-testing.md b/content/archive/2024h1/vac/qa/g/waku/ws-stress-testing.md similarity index 100% rename from content/vac/qa/g/waku/ws-stress-testing.md rename to content/archive/2024h1/vac/qa/g/waku/ws-stress-testing.md diff --git a/content/vac/qa/index.md b/content/archive/2024h1/vac/qa/index.md similarity index 100% rename from content/vac/qa/index.md rename to content/archive/2024h1/vac/qa/index.md diff --git a/content/vac/rfc/index.md b/content/archive/2024h1/vac/rfc/index.md similarity index 100% rename from content/vac/rfc/index.md rename to content/archive/2024h1/vac/rfc/index.md diff --git a/content/vac/rfc/rfc/codex/specs-init.md b/content/archive/2024h1/vac/rfc/rfc/codex/specs-init.md similarity index 100% rename from content/vac/rfc/rfc/codex/specs-init.md rename to content/archive/2024h1/vac/rfc/rfc/codex/specs-init.md diff --git a/content/vac/rfc/rfc/nomos/inter-chain-protocol-specification.md b/content/archive/2024h1/vac/rfc/rfc/nomos/carnot-specification.md similarity index 100% rename from content/vac/rfc/rfc/nomos/inter-chain-protocol-specification.md rename to content/archive/2024h1/vac/rfc/rfc/nomos/carnot-specification.md diff --git a/content/vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification.md b/content/archive/2024h1/vac/rfc/rfc/nomos/carnot-threat-model-informational.md similarity index 100% rename from content/vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification.md rename to content/archive/2024h1/vac/rfc/rfc/nomos/carnot-threat-model-informational.md diff --git a/content/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md b/content/archive/2024h1/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md similarity index 100% rename from content/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md rename to content/archive/2024h1/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md diff --git a/content/archive/2024h1/vac/rfc/rfc/nomos/inter-chain-protocol-specification.md b/content/archive/2024h1/vac/rfc/rfc/nomos/inter-chain-protocol-specification.md new file mode 100644 index 000000000..e69de29bb diff --git a/content/archive/2024h1/vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification.md b/content/archive/2024h1/vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification.md new file mode 100644 index 000000000..e69de29bb diff --git a/content/vac/rfc/rfc/nomos/specs-init.md b/content/archive/2024h1/vac/rfc/rfc/nomos/specs-init.md similarity index 100% rename from content/vac/rfc/rfc/nomos/specs-init.md rename to content/archive/2024h1/vac/rfc/rfc/nomos/specs-init.md diff --git a/content/vac/rfc/rfc/status/port-status-specs.md b/content/archive/2024h1/vac/rfc/rfc/status/port-status-specs.md similarity index 100% rename from content/vac/rfc/rfc/status/port-status-specs.md rename to content/archive/2024h1/vac/rfc/rfc/status/port-status-specs.md diff --git a/content/vac/rfc/rfc/vac/rfc-index.md b/content/archive/2024h1/vac/rfc/rfc/vac/rfc-index.md similarity index 100% rename from content/vac/rfc/rfc/vac/rfc-index.md rename to content/archive/2024h1/vac/rfc/rfc/vac/rfc-index.md diff --git a/content/vac/rfc/rfc/vac/rfc-process-update.md b/content/archive/2024h1/vac/rfc/rfc/vac/rfc-process-update.md similarity index 100% rename from content/vac/rfc/rfc/vac/rfc-process-update.md rename to content/archive/2024h1/vac/rfc/rfc/vac/rfc-process-update.md diff --git a/content/vac/rfc/rfc/waku/core-rfc-updates.md b/content/archive/2024h1/vac/rfc/rfc/waku/core-rfc-updates.md similarity index 100% rename from content/vac/rfc/rfc/waku/core-rfc-updates.md rename to content/archive/2024h1/vac/rfc/rfc/waku/core-rfc-updates.md diff --git a/content/vac/rfc/rfc/waku/waku-keystore.md b/content/archive/2024h1/vac/rfc/rfc/waku/waku-keystore.md similarity index 100% rename from content/vac/rfc/rfc/waku/waku-keystore.md rename to content/archive/2024h1/vac/rfc/rfc/waku/waku-keystore.md diff --git a/content/vac/sc/g/codex/contracts-formal-verification.md b/content/archive/2024h1/vac/sc/g/codex/contracts-formal-verification.md similarity index 100% rename from content/vac/sc/g/codex/contracts-formal-verification.md rename to content/archive/2024h1/vac/sc/g/codex/contracts-formal-verification.md diff --git a/content/vac/sc/g/codex/review-codex-contracts.md b/content/archive/2024h1/vac/sc/g/codex/review-codex-contracts.md similarity index 100% rename from content/vac/sc/g/codex/review-codex-contracts.md rename to content/archive/2024h1/vac/sc/g/codex/review-codex-contracts.md diff --git a/content/vac/sc/g/finance/access-control-safe-support.md b/content/archive/2024h1/vac/sc/g/finance/access-control-safe-support.md similarity index 100% rename from content/vac/sc/g/finance/access-control-safe-support.md rename to content/archive/2024h1/vac/sc/g/finance/access-control-safe-support.md diff --git a/content/vac/sc/g/status/community-contracts-ERC20.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-ERC20.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-ERC20.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-ERC20.md diff --git a/content/vac/sc/g/status/community-contracts-ERC721.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-ERC721.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-ERC721.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-ERC721.md diff --git a/content/vac/sc/g/status/community-contracts-batch-tx-ext.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-batch-tx-ext.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-batch-tx-ext.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-batch-tx-ext.md diff --git a/content/vac/sc/g/status/community-contracts-curation-dapp-contracts.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-curation-dapp-contracts.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-curation-dapp-contracts.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-curation-dapp-contracts.md diff --git a/content/vac/sc/g/status/community-contracts-deployer.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-deployer.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-deployer.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-deployer.md diff --git a/content/vac/sc/g/status/community-contracts-maintenance.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-maintenance.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-maintenance.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-maintenance.md diff --git a/content/vac/sc/g/status/community-contracts-token-import.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-token-import.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-token-import.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-token-import.md diff --git a/content/vac/sc/g/status/community-contracts-vault-token-airdrop.md b/content/archive/2024h1/vac/sc/g/status/community-contracts-vault-token-airdrop.md similarity index 100% rename from content/vac/sc/g/status/community-contracts-vault-token-airdrop.md rename to content/archive/2024h1/vac/sc/g/status/community-contracts-vault-token-airdrop.md diff --git a/content/vac/sc/g/status/ens-usernames-maintenance.md b/content/archive/2024h1/vac/sc/g/status/ens-usernames-maintenance.md similarity index 100% rename from content/vac/sc/g/status/ens-usernames-maintenance.md rename to content/archive/2024h1/vac/sc/g/status/ens-usernames-maintenance.md diff --git a/content/vac/sc/g/status/governance-contract-mvp.md b/content/archive/2024h1/vac/sc/g/status/governance-contract-mvp.md similarity index 100% rename from content/vac/sc/g/status/governance-contract-mvp.md rename to content/archive/2024h1/vac/sc/g/status/governance-contract-mvp.md diff --git a/content/vac/sc/g/status/minime-token-enhancement.md b/content/archive/2024h1/vac/sc/g/status/minime-token-enhancement.md similarity index 100% rename from content/vac/sc/g/status/minime-token-enhancement.md rename to content/archive/2024h1/vac/sc/g/status/minime-token-enhancement.md diff --git a/content/vac/sc/g/status/minime-token-maintenance.md b/content/archive/2024h1/vac/sc/g/status/minime-token-maintenance.md similarity index 100% rename from content/vac/sc/g/status/minime-token-maintenance.md rename to content/archive/2024h1/vac/sc/g/status/minime-token-maintenance.md diff --git a/content/vac/sc/g/status/snt-optimism-bridge.md b/content/archive/2024h1/vac/sc/g/status/snt-optimism-bridge.md similarity index 100% rename from content/vac/sc/g/status/snt-optimism-bridge.md rename to content/archive/2024h1/vac/sc/g/status/snt-optimism-bridge.md diff --git a/content/vac/sc/g/status/staking-contract-maintenance.md b/content/archive/2024h1/vac/sc/g/status/staking-contract-maintenance.md similarity index 100% rename from content/vac/sc/g/status/staking-contract-maintenance.md rename to content/archive/2024h1/vac/sc/g/status/staking-contract-maintenance.md diff --git a/content/vac/sc/g/status/staking-contract-mvp.md b/content/archive/2024h1/vac/sc/g/status/staking-contract-mvp.md similarity index 100% rename from content/vac/sc/g/status/staking-contract-mvp.md rename to content/archive/2024h1/vac/sc/g/status/staking-contract-mvp.md diff --git a/content/vac/sc/g/status/staking-contract-v1.md b/content/archive/2024h1/vac/sc/g/status/staking-contract-v1.md similarity index 100% rename from content/vac/sc/g/status/staking-contract-v1.md rename to content/archive/2024h1/vac/sc/g/status/staking-contract-v1.md diff --git a/content/vac/sc/g/status/swap-aggregator.md b/content/archive/2024h1/vac/sc/g/status/swap-aggregator.md similarity index 100% rename from content/vac/sc/g/status/swap-aggregator.md rename to content/archive/2024h1/vac/sc/g/status/swap-aggregator.md diff --git a/content/vac/sc/g/vac/rln-contract-support.md b/content/archive/2024h1/vac/sc/g/vac/rln-contract-support.md similarity index 100% rename from content/vac/sc/g/vac/rln-contract-support.md rename to content/archive/2024h1/vac/sc/g/vac/rln-contract-support.md diff --git a/content/vac/sc/g/vac/secureum-upskilling.md b/content/archive/2024h1/vac/sc/g/vac/secureum-upskilling.md similarity index 100% rename from content/vac/sc/g/vac/secureum-upskilling.md rename to content/archive/2024h1/vac/sc/g/vac/secureum-upskilling.md diff --git a/content/vac/sc/index.md b/content/archive/2024h1/vac/sc/index.md similarity index 100% rename from content/vac/sc/index.md rename to content/archive/2024h1/vac/sc/index.md diff --git a/content/vac/tke/g/codex/bandwidth-incentives.md b/content/archive/2024h1/vac/tke/g/codex/bandwidth-incentives.md similarity index 100% rename from content/vac/tke/g/codex/bandwidth-incentives.md rename to content/archive/2024h1/vac/tke/g/codex/bandwidth-incentives.md diff --git a/content/vac/tke/g/codex/cdx-fees.md b/content/archive/2024h1/vac/tke/g/codex/cdx-fees.md similarity index 100% rename from content/vac/tke/g/codex/cdx-fees.md rename to content/archive/2024h1/vac/tke/g/codex/cdx-fees.md diff --git a/content/vac/tke/g/codex/cdx-insurance.md b/content/archive/2024h1/vac/tke/g/codex/cdx-insurance.md similarity index 100% rename from content/vac/tke/g/codex/cdx-insurance.md rename to content/archive/2024h1/vac/tke/g/codex/cdx-insurance.md diff --git a/content/vac/tke/g/codex/cdx-lender.md b/content/archive/2024h1/vac/tke/g/codex/cdx-lender.md similarity index 100% rename from content/vac/tke/g/codex/cdx-lender.md rename to content/archive/2024h1/vac/tke/g/codex/cdx-lender.md diff --git a/content/vac/tke/g/codex/cdx.md b/content/archive/2024h1/vac/tke/g/codex/cdx.md similarity index 100% rename from content/vac/tke/g/codex/cdx.md rename to content/archive/2024h1/vac/tke/g/codex/cdx.md diff --git a/content/vac/tke/g/codex/contract-defaults.md b/content/archive/2024h1/vac/tke/g/codex/contract-defaults.md similarity index 100% rename from content/vac/tke/g/codex/contract-defaults.md rename to content/archive/2024h1/vac/tke/g/codex/contract-defaults.md diff --git a/content/vac/tke/g/codex/contract-finalization.md b/content/archive/2024h1/vac/tke/g/codex/contract-finalization.md similarity index 100% rename from content/vac/tke/g/codex/contract-finalization.md rename to content/archive/2024h1/vac/tke/g/codex/contract-finalization.md diff --git a/content/vac/tke/g/codex/contract-initiation.md b/content/archive/2024h1/vac/tke/g/codex/contract-initiation.md similarity index 100% rename from content/vac/tke/g/codex/contract-initiation.md rename to content/archive/2024h1/vac/tke/g/codex/contract-initiation.md diff --git a/content/vac/tke/g/codex/contract-matching.md b/content/archive/2024h1/vac/tke/g/codex/contract-matching.md similarity index 100% rename from content/vac/tke/g/codex/contract-matching.md rename to content/archive/2024h1/vac/tke/g/codex/contract-matching.md diff --git a/content/vac/tke/g/codex/economic-analysis.md b/content/archive/2024h1/vac/tke/g/codex/economic-analysis.md similarity index 100% rename from content/vac/tke/g/codex/economic-analysis.md rename to content/archive/2024h1/vac/tke/g/codex/economic-analysis.md diff --git a/content/vac/tke/g/codex/proof-aggregators.md b/content/archive/2024h1/vac/tke/g/codex/proof-aggregators.md similarity index 100% rename from content/vac/tke/g/codex/proof-aggregators.md rename to content/archive/2024h1/vac/tke/g/codex/proof-aggregators.md diff --git a/content/vac/tke/g/codex/recovery-auction.md b/content/archive/2024h1/vac/tke/g/codex/recovery-auction.md similarity index 100% rename from content/vac/tke/g/codex/recovery-auction.md rename to content/archive/2024h1/vac/tke/g/codex/recovery-auction.md diff --git a/content/vac/tke/g/codex/slot-repair.md b/content/archive/2024h1/vac/tke/g/codex/slot-repair.md similarity index 100% rename from content/vac/tke/g/codex/slot-repair.md rename to content/archive/2024h1/vac/tke/g/codex/slot-repair.md diff --git a/content/vac/tke/g/codex/tax-system.md b/content/archive/2024h1/vac/tke/g/codex/tax-system.md similarity index 100% rename from content/vac/tke/g/codex/tax-system.md rename to content/archive/2024h1/vac/tke/g/codex/tax-system.md diff --git a/content/vac/tke/g/codex/testnet-incentive.md b/content/archive/2024h1/vac/tke/g/codex/testnet-incentive.md similarity index 100% rename from content/vac/tke/g/codex/testnet-incentive.md rename to content/archive/2024h1/vac/tke/g/codex/testnet-incentive.md diff --git a/content/vac/tke/g/finance/growth-models.md b/content/archive/2024h1/vac/tke/g/finance/growth-models.md similarity index 100% rename from content/vac/tke/g/finance/growth-models.md rename to content/archive/2024h1/vac/tke/g/finance/growth-models.md diff --git a/content/vac/tke/g/finance/real-option-models.md b/content/archive/2024h1/vac/tke/g/finance/real-option-models.md similarity index 100% rename from content/vac/tke/g/finance/real-option-models.md rename to content/archive/2024h1/vac/tke/g/finance/real-option-models.md diff --git a/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md b/content/archive/2024h1/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md similarity index 100% rename from content/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md rename to content/archive/2024h1/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md diff --git a/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md b/content/archive/2024h1/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md similarity index 100% rename from content/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md rename to content/archive/2024h1/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md diff --git a/content/vac/tke/g/nomos/delegation-research.md b/content/archive/2024h1/vac/tke/g/nomos/delegation-research.md similarity index 100% rename from content/vac/tke/g/nomos/delegation-research.md rename to content/archive/2024h1/vac/tke/g/nomos/delegation-research.md diff --git a/content/vac/tke/g/nomos/economic-analysis.md b/content/archive/2024h1/vac/tke/g/nomos/economic-analysis.md similarity index 100% rename from content/vac/tke/g/nomos/economic-analysis.md rename to content/archive/2024h1/vac/tke/g/nomos/economic-analysis.md diff --git a/content/vac/tke/g/nomos/enshrined-delegation.md b/content/archive/2024h1/vac/tke/g/nomos/enshrined-delegation.md similarity index 100% rename from content/vac/tke/g/nomos/enshrined-delegation.md rename to content/archive/2024h1/vac/tke/g/nomos/enshrined-delegation.md diff --git a/content/vac/tke/g/nomos/mixnet-incentives.md b/content/archive/2024h1/vac/tke/g/nomos/mixnet-incentives.md similarity index 100% rename from content/vac/tke/g/nomos/mixnet-incentives.md rename to content/archive/2024h1/vac/tke/g/nomos/mixnet-incentives.md diff --git a/content/vac/tke/g/nomos/non-private-L2-consensus.md b/content/archive/2024h1/vac/tke/g/nomos/non-private-L2-consensus.md similarity index 100% rename from content/vac/tke/g/nomos/non-private-L2-consensus.md rename to content/archive/2024h1/vac/tke/g/nomos/non-private-L2-consensus.md diff --git a/content/vac/tke/g/nomos/penalizable-actions.md b/content/archive/2024h1/vac/tke/g/nomos/penalizable-actions.md similarity index 100% rename from content/vac/tke/g/nomos/penalizable-actions.md rename to content/archive/2024h1/vac/tke/g/nomos/penalizable-actions.md diff --git a/content/vac/tke/g/nomos/rewarded-actions.md b/content/archive/2024h1/vac/tke/g/nomos/rewarded-actions.md similarity index 100% rename from content/vac/tke/g/nomos/rewarded-actions.md rename to content/archive/2024h1/vac/tke/g/nomos/rewarded-actions.md diff --git a/content/vac/tke/g/nomos/selfish-behavior.md b/content/archive/2024h1/vac/tke/g/nomos/selfish-behavior.md similarity index 100% rename from content/vac/tke/g/nomos/selfish-behavior.md rename to content/archive/2024h1/vac/tke/g/nomos/selfish-behavior.md diff --git a/content/vac/tke/g/nomos/shared-liquidity.md b/content/archive/2024h1/vac/tke/g/nomos/shared-liquidity.md similarity index 100% rename from content/vac/tke/g/nomos/shared-liquidity.md rename to content/archive/2024h1/vac/tke/g/nomos/shared-liquidity.md diff --git a/content/vac/tke/g/nomos/supply-policy.md b/content/archive/2024h1/vac/tke/g/nomos/supply-policy.md similarity index 100% rename from content/vac/tke/g/nomos/supply-policy.md rename to content/archive/2024h1/vac/tke/g/nomos/supply-policy.md diff --git a/content/vac/tke/g/nomos/tdc-objectives.md b/content/archive/2024h1/vac/tke/g/nomos/tdc-objectives.md similarity index 100% rename from content/vac/tke/g/nomos/tdc-objectives.md rename to content/archive/2024h1/vac/tke/g/nomos/tdc-objectives.md diff --git a/content/vac/tke/g/nomos/transaction-fee.md b/content/archive/2024h1/vac/tke/g/nomos/transaction-fee.md similarity index 100% rename from content/vac/tke/g/nomos/transaction-fee.md rename to content/archive/2024h1/vac/tke/g/nomos/transaction-fee.md diff --git a/content/vac/tke/g/nomos/validator-rewards.md b/content/archive/2024h1/vac/tke/g/nomos/validator-rewards.md similarity index 100% rename from content/vac/tke/g/nomos/validator-rewards.md rename to content/archive/2024h1/vac/tke/g/nomos/validator-rewards.md diff --git a/content/vac/tke/g/nomos/whitepaper.md b/content/archive/2024h1/vac/tke/g/nomos/whitepaper.md similarity index 100% rename from content/vac/tke/g/nomos/whitepaper.md rename to content/archive/2024h1/vac/tke/g/nomos/whitepaper.md diff --git a/content/vac/tke/g/status/L2-deployment.md b/content/archive/2024h1/vac/tke/g/status/L2-deployment.md similarity index 100% rename from content/vac/tke/g/status/L2-deployment.md rename to content/archive/2024h1/vac/tke/g/status/L2-deployment.md diff --git a/content/vac/tke/g/status/incentivized-communitities.md b/content/archive/2024h1/vac/tke/g/status/incentivized-communitities.md similarity index 100% rename from content/vac/tke/g/status/incentivized-communitities.md rename to content/archive/2024h1/vac/tke/g/status/incentivized-communitities.md diff --git a/content/vac/tke/g/status/snt-governance-proposal.md b/content/archive/2024h1/vac/tke/g/status/snt-governance-proposal.md similarity index 100% rename from content/vac/tke/g/status/snt-governance-proposal.md rename to content/archive/2024h1/vac/tke/g/status/snt-governance-proposal.md diff --git a/content/vac/tke/g/status/snt-litepaper.md b/content/archive/2024h1/vac/tke/g/status/snt-litepaper.md similarity index 100% rename from content/vac/tke/g/status/snt-litepaper.md rename to content/archive/2024h1/vac/tke/g/status/snt-litepaper.md diff --git a/content/vac/tke/g/status/snt-staking.md b/content/archive/2024h1/vac/tke/g/status/snt-staking.md similarity index 100% rename from content/vac/tke/g/status/snt-staking.md rename to content/archive/2024h1/vac/tke/g/status/snt-staking.md diff --git a/content/vac/tke/g/status/waku-sharding.md b/content/archive/2024h1/vac/tke/g/status/waku-sharding.md similarity index 100% rename from content/vac/tke/g/status/waku-sharding.md rename to content/archive/2024h1/vac/tke/g/status/waku-sharding.md diff --git a/content/vac/tke/g/waku/economic-analysis.md b/content/archive/2024h1/vac/tke/g/waku/economic-analysis.md similarity index 100% rename from content/vac/tke/g/waku/economic-analysis.md rename to content/archive/2024h1/vac/tke/g/waku/economic-analysis.md diff --git a/content/vac/tke/g/waku/general-incentives.md b/content/archive/2024h1/vac/tke/g/waku/general-incentives.md similarity index 100% rename from content/vac/tke/g/waku/general-incentives.md rename to content/archive/2024h1/vac/tke/g/waku/general-incentives.md diff --git a/content/vac/tke/g/waku/rln-membership.md b/content/archive/2024h1/vac/tke/g/waku/rln-membership.md similarity index 100% rename from content/vac/tke/g/waku/rln-membership.md rename to content/archive/2024h1/vac/tke/g/waku/rln-membership.md diff --git a/content/vac/tke/g/waku/rln-risks-L2.md b/content/archive/2024h1/vac/tke/g/waku/rln-risks-L2.md similarity index 100% rename from content/vac/tke/g/waku/rln-risks-L2.md rename to content/archive/2024h1/vac/tke/g/waku/rln-risks-L2.md diff --git a/content/vac/tke/g/waku/rln-risks-attacks-vectors.md b/content/archive/2024h1/vac/tke/g/waku/rln-risks-attacks-vectors.md similarity index 100% rename from content/vac/tke/g/waku/rln-risks-attacks-vectors.md rename to content/archive/2024h1/vac/tke/g/waku/rln-risks-attacks-vectors.md diff --git a/content/vac/tke/g/waku/store-incentives.md b/content/archive/2024h1/vac/tke/g/waku/store-incentives.md similarity index 100% rename from content/vac/tke/g/waku/store-incentives.md rename to content/archive/2024h1/vac/tke/g/waku/store-incentives.md diff --git a/content/vac/tke/index.md b/content/archive/2024h1/vac/tke/index.md similarity index 100% rename from content/vac/tke/index.md rename to content/archive/2024h1/vac/tke/index.md diff --git a/content/vac/updates/2023-07-10.md b/content/archive/2024h1/vac/updates/2023-07-10.md similarity index 100% rename from content/vac/updates/2023-07-10.md rename to content/archive/2024h1/vac/updates/2023-07-10.md diff --git a/content/vac/updates/2023-07-17.md b/content/archive/2024h1/vac/updates/2023-07-17.md similarity index 100% rename from content/vac/updates/2023-07-17.md rename to content/archive/2024h1/vac/updates/2023-07-17.md diff --git a/content/vac/updates/2023-07-24.md b/content/archive/2024h1/vac/updates/2023-07-24.md similarity index 100% rename from content/vac/updates/2023-07-24.md rename to content/archive/2024h1/vac/updates/2023-07-24.md diff --git a/content/vac/updates/2023-07-31.md b/content/archive/2024h1/vac/updates/2023-07-31.md similarity index 100% rename from content/vac/updates/2023-07-31.md rename to content/archive/2024h1/vac/updates/2023-07-31.md diff --git a/content/vac/updates/2023-08-07.md b/content/archive/2024h1/vac/updates/2023-08-07.md similarity index 100% rename from content/vac/updates/2023-08-07.md rename to content/archive/2024h1/vac/updates/2023-08-07.md diff --git a/content/vac/updates/2023-08-14.md b/content/archive/2024h1/vac/updates/2023-08-14.md similarity index 100% rename from content/vac/updates/2023-08-14.md rename to content/archive/2024h1/vac/updates/2023-08-14.md diff --git a/content/vac/updates/2023-08-21.md b/content/archive/2024h1/vac/updates/2023-08-21.md similarity index 100% rename from content/vac/updates/2023-08-21.md rename to content/archive/2024h1/vac/updates/2023-08-21.md diff --git a/content/vac/updates/2023-08-28.md b/content/archive/2024h1/vac/updates/2023-08-28.md similarity index 100% rename from content/vac/updates/2023-08-28.md rename to content/archive/2024h1/vac/updates/2023-08-28.md diff --git a/content/vac/updates/2023-09-04.md b/content/archive/2024h1/vac/updates/2023-09-04.md similarity index 100% rename from content/vac/updates/2023-09-04.md rename to content/archive/2024h1/vac/updates/2023-09-04.md diff --git a/content/vac/updates/2023-09-11.md b/content/archive/2024h1/vac/updates/2023-09-11.md similarity index 100% rename from content/vac/updates/2023-09-11.md rename to content/archive/2024h1/vac/updates/2023-09-11.md diff --git a/content/vac/updates/2023-09-18.md b/content/archive/2024h1/vac/updates/2023-09-18.md similarity index 100% rename from content/vac/updates/2023-09-18.md rename to content/archive/2024h1/vac/updates/2023-09-18.md diff --git a/content/vac/updates/2023-09-25.md b/content/archive/2024h1/vac/updates/2023-09-25.md similarity index 100% rename from content/vac/updates/2023-09-25.md rename to content/archive/2024h1/vac/updates/2023-09-25.md diff --git a/content/vac/updates/2023-10-02.md b/content/archive/2024h1/vac/updates/2023-10-02.md similarity index 100% rename from content/vac/updates/2023-10-02.md rename to content/archive/2024h1/vac/updates/2023-10-02.md diff --git a/content/vac/updates/2023-10-09.md b/content/archive/2024h1/vac/updates/2023-10-09.md similarity index 100% rename from content/vac/updates/2023-10-09.md rename to content/archive/2024h1/vac/updates/2023-10-09.md diff --git a/content/vac/updates/2023-10-16.md b/content/archive/2024h1/vac/updates/2023-10-16.md similarity index 100% rename from content/vac/updates/2023-10-16.md rename to content/archive/2024h1/vac/updates/2023-10-16.md diff --git a/content/vac/updates/2023-10-23.md b/content/archive/2024h1/vac/updates/2023-10-23.md similarity index 100% rename from content/vac/updates/2023-10-23.md rename to content/archive/2024h1/vac/updates/2023-10-23.md diff --git a/content/vac/updates/2023-10-30.md b/content/archive/2024h1/vac/updates/2023-10-30.md similarity index 100% rename from content/vac/updates/2023-10-30.md rename to content/archive/2024h1/vac/updates/2023-10-30.md diff --git a/content/vac/updates/2023-11-06.md b/content/archive/2024h1/vac/updates/2023-11-06.md similarity index 100% rename from content/vac/updates/2023-11-06.md rename to content/archive/2024h1/vac/updates/2023-11-06.md diff --git a/content/vac/updates/2023-11-13.md b/content/archive/2024h1/vac/updates/2023-11-13.md similarity index 100% rename from content/vac/updates/2023-11-13.md rename to content/archive/2024h1/vac/updates/2023-11-13.md diff --git a/content/vac/updates/2023-11-20.md b/content/archive/2024h1/vac/updates/2023-11-20.md similarity index 100% rename from content/vac/updates/2023-11-20.md rename to content/archive/2024h1/vac/updates/2023-11-20.md diff --git a/content/vac/updates/2023-11-27.md b/content/archive/2024h1/vac/updates/2023-11-27.md similarity index 100% rename from content/vac/updates/2023-11-27.md rename to content/archive/2024h1/vac/updates/2023-11-27.md diff --git a/content/vac/updates/2023-12-04.md b/content/archive/2024h1/vac/updates/2023-12-04.md similarity index 100% rename from content/vac/updates/2023-12-04.md rename to content/archive/2024h1/vac/updates/2023-12-04.md diff --git a/content/vac/updates/2023-12-11.md b/content/archive/2024h1/vac/updates/2023-12-11.md similarity index 100% rename from content/vac/updates/2023-12-11.md rename to content/archive/2024h1/vac/updates/2023-12-11.md diff --git a/content/vac/updates/2023-12-18.md b/content/archive/2024h1/vac/updates/2023-12-18.md similarity index 100% rename from content/vac/updates/2023-12-18.md rename to content/archive/2024h1/vac/updates/2023-12-18.md diff --git a/content/vac/updates/2023-12-25.md b/content/archive/2024h1/vac/updates/2023-12-25.md similarity index 100% rename from content/vac/updates/2023-12-25.md rename to content/archive/2024h1/vac/updates/2023-12-25.md diff --git a/content/vac/updates/2024-01-01.md b/content/archive/2024h1/vac/updates/2024-01-01.md similarity index 100% rename from content/vac/updates/2024-01-01.md rename to content/archive/2024h1/vac/updates/2024-01-01.md diff --git a/content/vac/updates/2024-01-08.md b/content/archive/2024h1/vac/updates/2024-01-08.md similarity index 100% rename from content/vac/updates/2024-01-08.md rename to content/archive/2024h1/vac/updates/2024-01-08.md diff --git a/content/vac/updates/2024-01-15.md b/content/archive/2024h1/vac/updates/2024-01-15.md similarity index 100% rename from content/vac/updates/2024-01-15.md rename to content/archive/2024h1/vac/updates/2024-01-15.md diff --git a/content/vac/updates/2024-01-22.md b/content/archive/2024h1/vac/updates/2024-01-22.md similarity index 100% rename from content/vac/updates/2024-01-22.md rename to content/archive/2024h1/vac/updates/2024-01-22.md diff --git a/content/vac/updates/2024-01-29.md b/content/archive/2024h1/vac/updates/2024-01-29.md similarity index 100% rename from content/vac/updates/2024-01-29.md rename to content/archive/2024h1/vac/updates/2024-01-29.md diff --git a/content/vac/updates/2024-02-05.md b/content/archive/2024h1/vac/updates/2024-02-05.md similarity index 100% rename from content/vac/updates/2024-02-05.md rename to content/archive/2024h1/vac/updates/2024-02-05.md diff --git a/content/vac/updates/2024-02-12.md b/content/archive/2024h1/vac/updates/2024-02-12.md similarity index 100% rename from content/vac/updates/2024-02-12.md rename to content/archive/2024h1/vac/updates/2024-02-12.md diff --git a/content/vac/updates/2024-02-19.md b/content/archive/2024h1/vac/updates/2024-02-19.md similarity index 100% rename from content/vac/updates/2024-02-19.md rename to content/archive/2024h1/vac/updates/2024-02-19.md diff --git a/content/vac/updates/2024-02-26.md b/content/archive/2024h1/vac/updates/2024-02-26.md similarity index 100% rename from content/vac/updates/2024-02-26.md rename to content/archive/2024h1/vac/updates/2024-02-26.md diff --git a/content/vac/updates/2024-03-04.md b/content/archive/2024h1/vac/updates/2024-03-04.md similarity index 100% rename from content/vac/updates/2024-03-04.md rename to content/archive/2024h1/vac/updates/2024-03-04.md diff --git a/content/vac/updates/2024-03-11.md b/content/archive/2024h1/vac/updates/2024-03-11.md similarity index 100% rename from content/vac/updates/2024-03-11.md rename to content/archive/2024h1/vac/updates/2024-03-11.md diff --git a/content/vac/updates/2024-03-18.md b/content/archive/2024h1/vac/updates/2024-03-18.md similarity index 100% rename from content/vac/updates/2024-03-18.md rename to content/archive/2024h1/vac/updates/2024-03-18.md diff --git a/content/vac/updates/2024-03-25.md b/content/archive/2024h1/vac/updates/2024-03-25.md similarity index 100% rename from content/vac/updates/2024-03-25.md rename to content/archive/2024h1/vac/updates/2024-03-25.md diff --git a/content/vac/updates/2024-04-02.md b/content/archive/2024h1/vac/updates/2024-04-02.md similarity index 100% rename from content/vac/updates/2024-04-02.md rename to content/archive/2024h1/vac/updates/2024-04-02.md diff --git a/content/vac/updates/2024-04-08.md b/content/archive/2024h1/vac/updates/2024-04-08.md similarity index 100% rename from content/vac/updates/2024-04-08.md rename to content/archive/2024h1/vac/updates/2024-04-08.md diff --git a/content/vac/updates/2024-04-15.md b/content/archive/2024h1/vac/updates/2024-04-15.md similarity index 100% rename from content/vac/updates/2024-04-15.md rename to content/archive/2024h1/vac/updates/2024-04-15.md diff --git a/content/vac/updates/2024-04-22.md b/content/archive/2024h1/vac/updates/2024-04-22.md similarity index 100% rename from content/vac/updates/2024-04-22.md rename to content/archive/2024h1/vac/updates/2024-04-22.md diff --git a/content/vac/updates/2024-04-29.md b/content/archive/2024h1/vac/updates/2024-04-29.md similarity index 100% rename from content/vac/updates/2024-04-29.md rename to content/archive/2024h1/vac/updates/2024-04-29.md diff --git a/content/vac/updates/2024-05-06.md b/content/archive/2024h1/vac/updates/2024-05-06.md similarity index 100% rename from content/vac/updates/2024-05-06.md rename to content/archive/2024h1/vac/updates/2024-05-06.md diff --git a/content/vac/updates/2024-05-13.md b/content/archive/2024h1/vac/updates/2024-05-13.md similarity index 100% rename from content/vac/updates/2024-05-13.md rename to content/archive/2024h1/vac/updates/2024-05-13.md diff --git a/content/vac/updates/2024-05-21.md b/content/archive/2024h1/vac/updates/2024-05-21.md similarity index 100% rename from content/vac/updates/2024-05-21.md rename to content/archive/2024h1/vac/updates/2024-05-21.md diff --git a/content/vac/updates/2024-05-27.md b/content/archive/2024h1/vac/updates/2024-05-27.md similarity index 100% rename from content/vac/updates/2024-05-27.md rename to content/archive/2024h1/vac/updates/2024-05-27.md diff --git a/content/vac/updates/2024-06-03.md b/content/archive/2024h1/vac/updates/2024-06-03.md similarity index 100% rename from content/vac/updates/2024-06-03.md rename to content/archive/2024h1/vac/updates/2024-06-03.md diff --git a/content/vac/updates/2024-06-10.md b/content/archive/2024h1/vac/updates/2024-06-10.md similarity index 100% rename from content/vac/updates/2024-06-10.md rename to content/archive/2024h1/vac/updates/2024-06-10.md diff --git a/content/vac/updates/2024-06-17.md b/content/archive/2024h1/vac/updates/2024-06-17.md similarity index 100% rename from content/vac/updates/2024-06-17.md rename to content/archive/2024h1/vac/updates/2024-06-17.md diff --git a/content/vac/updates/2024-06-24.md b/content/archive/2024h1/vac/updates/2024-06-24.md similarity index 100% rename from content/vac/updates/2024-06-24.md rename to content/archive/2024h1/vac/updates/2024-06-24.md diff --git a/content/vac/updates/2024-07-01.md b/content/archive/2024h1/vac/updates/2024-07-01.md similarity index 100% rename from content/vac/updates/2024-07-01.md rename to content/archive/2024h1/vac/updates/2024-07-01.md diff --git a/content/vac/updates/2024-07-08.md b/content/archive/2024h1/vac/updates/2024-07-08.md similarity index 100% rename from content/vac/updates/2024-07-08.md rename to content/archive/2024h1/vac/updates/2024-07-08.md diff --git a/content/vac/updates/2024-07-15.md b/content/archive/2024h1/vac/updates/2024-07-15.md similarity index 100% rename from content/vac/updates/2024-07-15.md rename to content/archive/2024h1/vac/updates/2024-07-15.md diff --git a/content/vac/updates/2024-07-22.md b/content/archive/2024h1/vac/updates/2024-07-22.md similarity index 100% rename from content/vac/updates/2024-07-22.md rename to content/archive/2024h1/vac/updates/2024-07-22.md diff --git a/content/vac/updates/2024-07-29.md b/content/archive/2024h1/vac/updates/2024-07-29.md similarity index 100% rename from content/vac/updates/2024-07-29.md rename to content/archive/2024h1/vac/updates/2024-07-29.md diff --git a/content/vac/updates/2024-08-05.md b/content/archive/2024h1/vac/updates/2024-08-05.md similarity index 100% rename from content/vac/updates/2024-08-05.md rename to content/archive/2024h1/vac/updates/2024-08-05.md diff --git a/content/vac/updates/2024-08-12.md b/content/archive/2024h1/vac/updates/2024-08-12.md similarity index 100% rename from content/vac/updates/2024-08-12.md rename to content/archive/2024h1/vac/updates/2024-08-12.md diff --git a/content/vac/updates/2024-08-19.md b/content/archive/2024h1/vac/updates/2024-08-19.md similarity index 100% rename from content/vac/updates/2024-08-19.md rename to content/archive/2024h1/vac/updates/2024-08-19.md diff --git a/content/vac/updates/2024-08-26.md b/content/archive/2024h1/vac/updates/2024-08-26.md similarity index 100% rename from content/vac/updates/2024-08-26.md rename to content/archive/2024h1/vac/updates/2024-08-26.md diff --git a/content/vac/updates/2024-09-02.md b/content/archive/2024h1/vac/updates/2024-09-02.md similarity index 100% rename from content/vac/updates/2024-09-02.md rename to content/archive/2024h1/vac/updates/2024-09-02.md diff --git a/content/vac/updates/2024-09-09.md b/content/archive/2024h1/vac/updates/2024-09-09.md similarity index 100% rename from content/vac/updates/2024-09-09.md rename to content/archive/2024h1/vac/updates/2024-09-09.md diff --git a/content/vac/updates/2024-09-16.md b/content/archive/2024h1/vac/updates/2024-09-16.md similarity index 100% rename from content/vac/updates/2024-09-16.md rename to content/archive/2024h1/vac/updates/2024-09-16.md diff --git a/content/vac/updates/2024-09-23.md b/content/archive/2024h1/vac/updates/2024-09-23.md similarity index 100% rename from content/vac/updates/2024-09-23.md rename to content/archive/2024h1/vac/updates/2024-09-23.md diff --git a/content/codex/milestones/index.md b/content/codex/milestones/index.md deleted file mode 100644 index 71f25a608..000000000 --- a/content/codex/milestones/index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Codex Milestones Overview -tags: - - milestones - - codex ---- - - - -## Milestones -- Codex Testnet -- - -## Technical Milestones -- Client - - Merkelizing block data - - Block discovery and retrieval - - Distributed Client Testing - - Async Disc Access & Threading Support -- Marketplace - - L2 - - Reservations and Slot Management - - Milestone Sales -- Remote Auditing - - Implement Poseidon2 - - Refine Proving System -- Data Availability Sampling (DAS) - - DHT Simulations -- Infra - - Kubernetes Configuration and Management - - Continuous Testing and Labeling - - CI/CD and Synchronization - - Monitoring and Metrics - -## Other Resources -- ~~[Zenhub Tracker](https://app.zenhub.com/workspaces/engineering-62cee4c7a335690012f826fa/roadmap)~~ - deprecated -- [Miro Tracker](https://miro.com/app/board/uXjVNZ03E-c=/?share_link_id=987528411803) -- [Github Projects Milestone Definitions](https://github.com/orgs/codex-storage/projects/3/views/2?filterQuery=has%3Alabel) diff --git a/content/codex/monthly-reports/2023-aug.md b/content/codex/monthly-reports/2023-aug.md deleted file mode 100644 index c5dd76d42..000000000 --- a/content/codex/monthly-reports/2023-aug.md +++ /dev/null @@ -1,91 +0,0 @@ -# Codex Monthly Report - August 2023 - -## Client - -### Milestone: Merkelizing block data -- Initial design writeup completed: https://github.com/codex-storage/codex-research/blob/master/design/metadata-overhead.md -- Initial Merkle Tree implementation: https://github.com/codex-storage/nim-codex/pull/504 -- Work on persisting/serializing Merkle Tree -- 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 discovery and retrieval -- Initial work breakdown and milestones: 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/ -- Continued analysis and review of peer sampling papers -- Started work on simulations based on the analysis - -### Milestone: Distributed Client Testing -- Extensive work on log collection/analysis and monitoring -- Testing and debugging Codex in continuous testing environment -- Major effort to stabilize the Codex client through continuous automated testing - -### Milestone: Async Disc Access & Threading support -- Tests on sharing thread data with refc -- Addressed errorVariable and thread safety issues -- Prototype proxy IO threadpool in progress - -## Marketplace - -### Milestone: L2 -- Taiko L2 integration mostly completed, waiting on related fixes - -### Milestone: Reservations and slot management -- Extensive work on slot reservation and queuing - -### Milestone: Marketplace Sales -- Cleanup and refactoring of state machine -- Added support for loading node's slots during Sale's module start - -## Remote auditing - -### Milestone: Implement Poseidon2 -- First pass at an implementation by Balazs - -### Milestone: Refine proving system -- Extensive thinking around storage proofs and proving systems - -## DAS (Data Availability Sampling) - -### Milestone: DHT simulations -- Implementing a DHT in Python for the DAS simulator -- Implemented logical error-rates and delays to interactions between DHT clients - -## Infra - -### Milestone: Kubernetes Configuration and Management -- Moved Dist-Tests cluster to OVH and defined naming conventions -- Configured Ingress Controller for Kibana/Grafana -- Created documentation for Kubernetes management -- Configured Dist/Continuous-Tests Pods logs shipping - -### Milestone: Continuous Testing and Labeling -- Implemented and configured Dist-Tests labeling -- Set up logs shipping based on labels -- Improved Docker workflows and added 'latest' tag - -### Milestone: CI/CD and Synchronization -- Set up synchronization by codex-storage -- Configured Codex Storage and Demo CI/CD environments - -### Milestone: Monitoring and Metrics -- Installed Node exporter and Prometheus in Dist-Tests cluster -- Updated Grafana Dashboard -- Implemented automated metrics scraping - -## Notable Achievements -- Significant progress in Merkelizing block data, improving the foundation for the proving system -- Advancements in block discovery and retrieval, including simulation work -- Major improvements in distributed client testing and stability -- Successful integration with Taiko L2, expanding the project's capabilities -- Continued development of DHT simulations for Data Availability Sampling - -## Challenges and Next Steps -- Continue refining the Merkle tree implementation and integration -- Further develop and optimize the block discovery and retrieval processes -- Enhance the continuous testing environment for improved client stability -- Complete the Taiko L2 integration and address any remaining issues -- Advance the DHT simulations and DAS implementation -- Continue improving infrastructure, monitoring, and CI/CD processes \ No newline at end of file diff --git a/content/codex/monthly-reports/2023-oct.md b/content/codex/monthly-reports/2023-oct.md deleted file mode 100644 index f91308526..000000000 --- a/content/codex/monthly-reports/2023-oct.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: 2023 October Codex Monthly Report -date: 2023-10-30 -lastmod: 2023-10-30 -draft: false -tags: - - monthly-report - - codex ---- -## Executive Summary -In the first half of the month, the team had an Offsite which focused on concretizing solutions around the MVP and planning out the required work to deliver the MVP by the end of the year. - -All work after the offsite this month has been focused on the tasked out work that was planned during the offsite. - -The Ethereum Foundation collaboration on Data Availability Sampling is coming to an end, all of the work associated with it was summed up [here](https://hackmd.io/TYqF-wj2SIWwpS2F_PhWzg). - -## Key Updates - -### Personnel -A new job role was put up for a [Technical Business Development Lead for Codex](https://jobs.status.im/?gh_jid=5329400). This work will be dedicated to establishing and maintaining relationships with business partners interacting with the Codex Network. As the MVP and testnet get closer to launch, it is expected that these core relationships will need to be forged and cultivated. - -- lots of upskilling and training new CCs (all people on client < 4 months old). -### Milestones -There was only one weekly update this month so it can be referenced for milestone updates, the link is down below. - -The Ethereum Foundation collaboration on Data Availability Sampling is coming to an end, all of the work associated with it was summed up [here](https://hackmd.io/TYqF-wj2SIWwpS2F_PhWzg). A subsequent report will be created that looks at the pros and cons of the engagement to inform both other Logos projects and future similar Codex engagements. - -- fat trimmed that wasn't required for MVP (maybe get a list of these things). -## Perceived Changes in Project Risk -The project maintains its track to deliver the Codex MVP by the end of the year. The offsite that took place mapped out the specific work to be done, and who is tasked to do it within the team. - -more confident that it will be delivered on time based on scope of work and current team makeup and planning from off-site - -there is no expected delay to delivering the MVP and testnet by the end of the year. and debugging infra for monitoring failures with testnet. - -## Future Plans - -### Insight -The Codex roadmap has yet to be ported over to this website, but now that the offsite is complete and the roadmap is more concrete, that transition should happen quickly within the next month. - -This should allow us to ramp up the automated monitoring and create development activity dashboards. It is hoped that we have a development dashboard established by next month and a section within the monthly report that describes quantitative measurements of project development. -### Project -all focus is on current MVP and associated testnet - -current MVP is minimum marketplace integrated with client and proving scheme. Proving scheme needs coding out and plugged into client. Need client itself to reflect recent changes in merkelization and block transfer. - -get testnet up and running, internal (logos/status) dogfooding for this year's MVP, then to build monitoring and participation metrics over next year to prep for mainnet launch. - - - -## Sources and Useful Links - -Weekly Reports -- [[codex/updates/2023-10-23|2023-10-23]] diff --git a/content/codex/monthly-reports/2023-sept.md b/content/codex/monthly-reports/2023-sept.md deleted file mode 100644 index 8673e2a19..000000000 --- a/content/codex/monthly-reports/2023-sept.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -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]] \ No newline at end of file diff --git a/content/codex/overview.md b/content/codex/overview.md deleted file mode 100644 index fee144711..000000000 --- a/content/codex/overview.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Codex Roadmap Overview" -tags: -- "overview" ---- -Welcome to the Codex Roadmap Overview -- [[codex/monthly-reports/2023-sept|2023 September Report]] -- [[codex/milestones/index|2o24 Milestones]] -- [weekly updates](tags/codex-updates) \ No newline at end of file diff --git a/content/codex/updates/2023-07-21.md b/content/codex/updates/2023-07-21.md deleted file mode 100644 index 545d04df2..000000000 --- a/content/codex/updates/2023-07-21.md +++ /dev/null @@ -1,319 +0,0 @@ ---- -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 can’t download the data. But light clients will not know that the data is not available since they don’t 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 Hitchhiker’s 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! \ No newline at end of file diff --git a/content/codex/updates/2023-08-01.md b/content/codex/updates/2023-08-01.md deleted file mode 100644 index 22cc00966..000000000 --- a/content/codex/updates/2023-08-01.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -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. \ No newline at end of file diff --git a/content/codex/updates/2023-08-11.md b/content/codex/updates/2023-08-11.md deleted file mode 100644 index 257ab9c5a..000000000 --- a/content/codex/updates/2023-08-11.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/codex/updates/2023-08-31.md b/content/codex/updates/2023-08-31.md deleted file mode 100644 index 78d99a9a0..000000000 --- a/content/codex/updates/2023-08-31.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -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 diff --git a/content/codex/updates/2023-09-15.md b/content/codex/updates/2023-09-15.md deleted file mode 100644 index 56f0e9f1b..000000000 --- a/content/codex/updates/2023-09-15.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/codex/updates/2023-09-29.md b/content/codex/updates/2023-09-29.md deleted file mode 100644 index b763a255a..000000000 --- a/content/codex/updates/2023-09-29.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/codex/updates/2023-10-23.md b/content/codex/updates/2023-10-23.md deleted file mode 100644 index bceeab5bf..000000000 --- a/content/codex/updates/2023-10-23.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: 2023-10-25 Codex weekly -tags: - - codex-updates -date: 2023-10-23 -lastmod: 2023-10-25 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Oct 2 - 23 - -> We had a teamwide offsite in Crete from October 6th to the 12th, during which we were able to discuss and come up with concrete solutions around several important pieces of the project aspects such as the proving system and the contract start interactions, as well as plan out outstanding work for our upcoming testnet launch at the end of the year. The meeting was very productive and it helped align the team around the current and future outstanding work in order to hit our big end of year milestone. - -## Client - -### Milestone: Block Merkelization -- Merkelization concrete PR in review - - https://github.com/codex-storage/nim-codex/pull/566 - -### Milestone: Block Exchange protocol refinements and simulations -- Some results were presented during the offsite - - https://rpubs.com/giuliano_mega/codex-swarms - -### Milestone: Async Disc Access & Threading support -- Work on IO threads support (not much progress due to offsite, will be picked up asap) - - All related PRs are here https://github.com/codex-storage/nim-datastore/pulls - - We now how a clear idea of how to implement and integrated it - https://github.com/codex-storage/nim-codex/pull/552 - -### Milestone: Sampling and Storage Proofs -- Work on storage proofs is ongoing under https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs - - A circom implementation is being worked on in https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs/MVP/circuit - - Reference/testing implementation to consume the circuits is done here https://github.com/codex-storage/zk-research-artifacts/tree/master/storage_proofs/MVP/reference -- Analysis of the sampling strategies are available here https://github.com/codex-storage/zk-research-artifacts/tree/master/sampling - -### Milestone: Client stability and debugging -- Major effort to stabilize the Codex client through continuous automated testing - - Work on better log analysis is being done here https://github.com/gmega/logtools - - Running several load tests with ˜100 nodes using the dist testing framework https://github.com/codex-storage/cs-codex-dist-tests - -## Infra -- Investigating and fixing issues related to Elasticsearch logshipping - - [Install Loki in Dist-Tests cluster](https://github.com/codex-storage/infra-codex/issues/55) - - [Fix Vector errors related to the Kubernetes logs shipping](https://github.com/codex-storage/infra-codex/issues/66) - - [Configure Vector to ship Dist/Continuous-Tests logs to Loki](https://github.com/codex-storage/infra-codex/issues/69) - -## Research - -### Milestone: Publications -- White paper ongoing - https://docs.google.com/document/d/1LCy23m90IHf32aUVhRT4r4772w1BfVcSLaJ0z9VTw9A/edit#heading=h.qs3bayckj5u4 - -## DAS - -### Milestone DAS -- Our current engagement with the EF is coming to an end a summary of the work done has been collected here - - https://hackmd.io/TYqF-wj2SIWwpS2F_PhWzg \ No newline at end of file diff --git a/content/codex/updates/2023-11-03.md b/content/codex/updates/2023-11-03.md deleted file mode 100644 index e3ec3438b..000000000 --- a/content/codex/updates/2023-11-03.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: 2023-11-03 Codex weekly -tags: - - codex-updates -date: 2023-11-03 -lastmod: 2023-11-14 -draft: false -description: Weekly update of Codex ---- -# Codex Update Oct 24th - Nov 3rd - -> The team is working towards deploying a beta testnet by the end of the year, and most work is centered around finishing all the required functionality for that. - -## Client - -### Epic: Block Merkelization -- Merkelization concrete PR in review - - https://github.com/codex-storage/nim-codex/pull/566 - - Unifying the flows - - Making treeCid to be the same as treeRoot - - Storing proofs in key/value storage - -### Epic: Wiring the Proving System -- Work on storage proofs is ongoing in https://github.com/codex-storage/codex-storage-proofs-circuits -- Work on Poseidon2 is being done in - https://github.com/codex-storage/nim-poseidon2 - -### Epic: Improve Client Stability -- Explored using CI flow for cloud-based benchmark harness, settled on Packer for image scripts [Packer scripts](https://github.com/codex-storage/debugging-scratchpad/tree/main/packer) - private repo -- Simple logging filtering/merging tool: [logtools](https://github.com/codex-storage/logtools) -- Microbenchmark of Sql backend in two separate VMs -- Ran remaining benchmarks, summary at [Benchmark Summary](https://653b015bed9280493c6a98bb--glowing-froyo-1db5ae.netlify.app/notebooks/repostore.html) -- Exploring behavior of nim-datastore and sqlite -- Continued working on a "quick-and-dirty" test setup, managed to get it working -- Quick PoC for a codex net deployed with Terraform on VMs: [Terraform main.tf](https://github.com/codex-storage/debugging-scratchpad/blob/main/terraform/main.tf) -- [Async Profiling](https://github.com/codex-storage/nim-codex/pull/600) - -## Marketplace - -### Epic: End-to-end Testing -- Further work on multinode integration testing - - [prevent stuck transactions by async locking nonce sequencing (+ estimate gas)](https://github.com/codex-storage/nim-ethers/pull/55) - - [On transaction failure, fetch revert reason with replayed transaction ](https://github.com/codex-storage/nim-ethers/pull/57) - - [Support logging to file](https://github.com/codex-storage/nim-codex/pull/558) - - [[fix] Ensure AsyncLock is released in case of exception ](https://github.com/codex-storage/nim-ethers/pull/58/files) -- [feat: ensure block expiry](https://github.com/codex-storage/nim-codex/pull/597) - -## Infra - -- Created Testnet Kubernetes cluster [56](https://github.com/codex-storage/infra-codex/issues/56) -- Deployed Testnet cluster basic components [57](https://github.com/codex-storage/infra-codex/issues/57) -- Configured DNS name for Testnet cluster [76](https://github.com/codex-storage/infra-codex/issues/76) -- Created Service Accounts in Testnet cluster [77](https://github.com/codex-storage/infra-codex/issues/77) -- Checked CORS issue on Codex Demo [79](https://github.com/codex-storage/infra-codex/issues/79) -- Configured TCP/UDP port forwarding for Testnet deployment [80](https://github.com/codex-storage/infra-codex/issues/80) \ No newline at end of file diff --git a/content/codex/updates/2023-11-10.md b/content/codex/updates/2023-11-10.md deleted file mode 100644 index cc1230fa4..000000000 --- a/content/codex/updates/2023-11-10.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: 2023-11-10 Codex weekly -tags: - - codex-updates -date: 2023-11-14 -lastmod: 2023-11-14 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Nov 6th - Nov 10th - -> The team is working towards deploying a beta testnet by the end of the year, and most work is centered around finishing all the required functionality for that. - -## Client - -### Epic: Block Merkelization -- Merkelization concrete PR in review - mostly ready for merging - - https://github.com/codex-storage/nim-codex/pull/566 -- Working on nim-datasotre to support atomic updates - - https://github.com/codex-storage/nim-datastore/pull/58 - -### Epic: Wiring the Proving System -- Merged conversion from field elements into bytes in nim-poseidon2 - - https://github.com/codex-storage/nim-poseidon2/pull/6 -- Added streaming API for Balazs's sponge in nim-poseidon2 - - https://github.com/codex-storage/nim-poseidon2/pull/9 -- Fixed merkle root construction for odd number of elements in nim-poseidon2 - - https://github.com/codex-storage/nim-poseidon2/pull/8 -- 2D erasure coding WIP - - https://github.com/codex-storage/nim-codex/pull/608 - -### Epic: Improve Client Stability -- Async profiling (it might actualy work) - - https://github.com/codex-storage/nim-codex/pull/600 - - Prometheus metrics collector completed with tests - -## Marketplace - -### Epic: End-to-end Testing -- Addressed access issues within the marketplacesuite template, pinpointing a problem with a provider declared in ethertest and overcoming the challenge through deep template layer analysis. -- Discussions about improving the repostore maintenance module, specifically the method for returning bytes to Availabilities. -- Optimizing multinode integration tests, streamlining the process to enhance efficiency and performance. -- Integration test for the proving loop in the sales state module that was previously causing hang-ups, ensuring smoother operation. -- Progressed towards a cleaner integration test structure with the creation of a draft PR, setting the stage for more structured testing and deployment. - -## Infra - -- Configure TCP/UDP port forwarding for Testnet deployment [80](https://github.com/codex-storage/infra-codex/issues/80) -- Organize Grafana Dashboards [82](https://github.com/codex-storage/infra-codex/issues/82) -- Configure Continuous Tests automation [69](https://github.com/codex-storage/infra-codex/issues/69) -- Run Continuous Tests and check metrics -- Organize Grafana Dashboards -- Configure Continuous Tests automation enhancement -- Update Vector config -- Configure TCP/UDP port forwarding for Testnet deployment \ No newline at end of file diff --git a/content/codex/updates/2024-01-22.md b/content/codex/updates/2024-01-22.md deleted file mode 100644 index ecf304cf7..000000000 --- a/content/codex/updates/2024-01-22.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: 2024-01-22 Codex Weekly -tags: - - codex-updates -date: 2024-01-22 -lastmod: 2024-01-22 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Dec 15th - Jan 22th - -> The Codex team is currently wrapping up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client - -### Epic: Wiring the Proving System -- Completed: - - [Wire Sampler to SlotBuilder](https://github.com/codex-storage/nim-codex/pull/676) - - [Exports fromBytes from the library](https://github.com/codex-storage/nim-poseidon2/pull/19) - - [Convert from 32 bytes](https://github.com/codex-storage/nim-poseidon2/pull/18) -- Ongoing: - - [Dataset expiry](https://github.com/codex-storage/nim-codex/pull/678) - - Update DataSampler to match updated SlotBuilder - - Investigate: way to run codex tests through valgrind or similar tool - - Integrate DataSampler in Marketplace callbacks - -### Epic: Improve Client Stability -- Completed: - - [Update to Chronos V4](https://github.com/codex-storage/nim-codex/pull/673) - - [Add exception handling for Chronos V4](https://github.com/codex-storage/asynctest/pull/13) - - [Compiler PR to Chronos V4 bugs](https://github.com/nim-lang/Nim/pull/23215) -- Ongoing: - - [Codex CI improvements](https://github.com/codex-storage/nim-codex/pull/680) - - Track down segfault issue after rebase of Chronos V4 PR - -## Marketplace - -### Epic: End-to-end Testing -- Completed: - - [Add working testnet starter](https://github.com/codex-storage/codex-testnet-starter) - - Updates to [Codex frontend](https://github.com/codex-storage/codex-frontend) include: - - Add node storage information - - Upload page updates periodically - - Change error messages to appear below input area instead of an alert - - [Finish the Github Workflow to compile, build and setup the circuit with included generated proof for testing](https://github.com/codex-storage/codex-storage-proofs-circuits/actions/workflows/generate.yml) - - Initial work on integration of the verifier into smart-contract suite, with passing storage proof tests - - Rebase [nim-ethers to the latest version, 0.7.1](https://github.com/codex-storage/nim-codex/pull/664) - - Rebase [create logging proxy](https://github.com/codex-storage/nim-codex/pull/663) had symbol resolution errors, created [PR for nim-poseidon2](https://github.com/codex-storage/nim-poseidon2/pull/19) to resolve and complete rebase - - Rebase [multinode integration test refactor](https://github.com/codex-storage/nim-codex/pull/662), had to remove upraises annotations from some callbacks in the tests - - Refactor [add MarketError](https://github.com/codex-storage/nim-codex/pull/670), refactoring ethers error handling, reviewing verifier integration in [codex-contracts-eth](https://github.com/codex-storage/codex-contracts-eth/pull/79) - - Complete [Github Workflow](https://github.com/codex-storage/codex-storage-proofs-circuits/actions/workflows/generate.yml) for testing, worked on integration of verifier into smart-contract suit. - - Released [0.10.13](https://github.com/codex-storage/codex-contracts-eth/releases/tag/v0.10.13) with improvements, released [asynctest 0.5.0](https://github.com/codex-storage/asynctest/releases/tag/0.5.0), -- Ongoing: - - Continue work on Solidity verifier - - -## Infra - -- Completed: - - [Resolve issues on docs.codex.storage](https://github.com/codex-storage/infra-codex/issues/118) - - [Add documentation about DNS names and convention](https://github.com/codex-storage/infra-docs/issues/16) - - [Check download speed for codex-storage-proofs-circuits](https://github.com/codex-storage/infra-codex/issues/121) - - [Switch from AWS Windows instance to Hetzner](https://github.com/codex-storage/infra-codex/issues/120) -- Ongoing: - - [Deploy a site to store circuit ceremony files](https://github.com/codex-storage/infra-codex/issues/122) - - [Deploy Codex Storage nodes in Testnet cluster](https://github.com/codex-storage/infra-codex/issues/115) - - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -- Completed: - - Debug Groth16 implementation, discovered local bug in [constantine], made a CLI interface (+other improvements) for the Groth16 prover - - Research and solve puzzles for ZK hack IV kickoff - - Play with binary field used in the new Binius proof system - - Catchup with recent research (https://zkmesh.substack.com/p/zkmesh-dec-2023-recap) - - Explore Nova-Scotia, discussed [hash padding](https://github.com/codex-storage/nim-poseidon2/pull/17) - - Update [Merkle tree proposal document](https://github.com/codex-storage/codex-research/blob/796b4937c8e12c639016222a78dbcba641d26cc9/design/Merkle.md) - - Explore [Ascon hash](https://ascon.iaik.tugraz.at/index.html) as a possible replacement for SHA256 -- Ongoing: - - PoC Ascon hash implementation in circom (not competitive with other hashes, at least not in circom) - - Think about how to implement SHA256 proofs - - More learning about lookups and folding - - Start working out the details of an idea about how to do efficient proofs of computations on bits (eg. range checks, classical hash functions) diff --git a/content/codex/updates/2024-01-29.md b/content/codex/updates/2024-01-29.md deleted file mode 100644 index 0bc79ea42..000000000 --- a/content/codex/updates/2024-01-29.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: 2024-01-29 Codex Weekly -tags: - - codex-updates -date: 2024-01-29 -lastmod: 2024-01-29 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Jan 22nd - Jan 29th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client - -### Epic: Nim Improvements -- Completed: - - [Filed Atlas issue to restore handling forked repos](https://github.com/nim-lang/atlas/issues/103) - - [Filed Atlas issue for handling "vendoring" style setups](https://github.com/nim-lang/atlas/issues/104) -- Ongoing: - - [Review Atlas graph updates and contribute](https://github.com/nim-lang/atlas/issues/107) - -### Epic: Wiring the Proving System -- Completed: -- Ongoing: - - [Dataset expiry](https://github.com/codex-storage/nim-codex/pull/678) - - Update DataSampler to match updated SlotBuilder - - Investigate: way to run codex tests through valgrind or similar tool - - Integrate DataSampler in Marketplace callbacks - -### Epic: Improve Client Stability -- Completed: -- Ongoing: - - [Contibue rebasing of unmerged Chronos V4 PR and build improvements PR + fixes to initial idea on builds](https://github.com/codex-storage/nim-codex/pull/680) - - [Continue work on asynctest branch](https://github.com/codex-storage/nim-codex/pull/671) - - [Bug-fixing to track down the "file sizes differ" bug]() - - [Other bugs to be fixed](https://github.com/codex-storage/nim-codex/issues/685) - - -## Marketplace - -### Epic: End-to-end Testing -- Completed: - - [Fix tests and replcae GPL licensed ZK verifier w/ MIT version that take JSON output from Circom in contract](https://github.com/codex-storage/codex-contracts-eth/pull/79) - - [Add formatting check to CI in codex-contracts-eth repo](https://github.com/codex-storage/codex-contracts-eth/pull/80) - - [Rebase Marketplace integration test refactor with erasure coding changes](https://github.com/codex-storage/nim-codex/pull/662) - - -- Ongoing: - - [Persistent Availabilities](https://github.com/codex-storage/nim-codex/issues/467) - - [Design Plan](https://github.com/codex-storage/nim-codex/issues/467#issuecomment-1894115147) - - [Add duration to Codex frontend](https://github.com/codex-storage/codex-frontend/commit/bd2d2befbcee88b734ece774856436732f70875c) - - [Added a calendar for the expiry of creating ROSC's](https://github.com/codex-storage/codex-frontend/commit/bf6cc85d55ce54588d8f20a39c9e96e243de13b3) - - Work to add ceremony files to Codex - - [Ceremony file distribution](https://github.com/codex-storage/codex-storage-proofs-circuits/pull/3) - - [Add Ceremony file hash to Marketplace's Contract configuration](https://github.com/codex-storage/codex-storage-proofs-circuits/pull/4) - - [Add support to retrieve Ceremony file hash from Contract's configuration](https://github.com/codex-storage/nim-codex/pull/684) - - [Add support for Ceremony file hash download from S3](https://github.com/codex-storage/codex-contracts-eth/pull/81/files) - - Continue work on updating nim-ethers to support JSON-RPC breaking changes and pulling out utils/json to its own library - -## Infra - -- Completed: - - [Deploy a site to store circuit ceremony files](https://github.com/codex-storage/infra-codex/issues/122) - - [Automate Codex ceremony files upload to Cloudflare R2 using GitHub Actions](https://github.com/codex-storage/infra-codex/issues/123) -- Ongoing: - - [Create Codex Helm chart](https://github.com/codex-storage/infra-codex/issues/58) - - [Deploy Codex Storage nodes in Testnet cluster](https://github.com/codex-storage/infra-codex/issues/115) - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -- Completed: - - Implement G2 curves (so most building blocks are now in place in my algebra backend to be able to experiment - - Review work from Hashcloak collaboration for zk backend benchmarking test suite -- Ongoing: - - New proof system design proposal \ No newline at end of file diff --git a/content/codex/updates/2024-02-05.md b/content/codex/updates/2024-02-05.md deleted file mode 100644 index 4773bced7..000000000 --- a/content/codex/updates/2024-02-05.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: 2024-02-05 Codex Weekly -tags: - - codex-updates -date: 2024-02-05 -lastmod: 2024-02-05 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Jan 29nd - Feb 5th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client - -### Epic: Nim Improvements -Completed: -- [Filed issue for adding Atlas / non-Nimble support for packages](https://github.com/nim-lang/langserver/issues/154) -- [Start working on Atlas command changes](https://github.com/nim-lang/atlas/pull/108) - -Ongoing: -- [Create a repo as a place to start implementing some core async-threading tools for Chronos like worker pool & disk io on top of the ThreadSignalPtr primitive](https://github.com/elcritch/apatheia) - - plans to support refc & orc - -### Epic: Wiring the Proving System -Completed: -- Wrapped [ark-circom](https://github.com/arkworks-rs/circom-compat) in a C FFI via: - - [nim-circom-compat](https://github.com/codex-storage/nim-circom-compat) and - - [circom-compat-ffi](https://github.com/codex-storage/circom-compat-ffi) - -Ongoing: -- [Integration of codex-storage-proofs-circuits](https://github.com/codex-storage/codex-storage-proofs-circuits) with [a PR in nim-codex](https://github.com/codex-storage/nim-codex/pull/686) - - -### Epic: Improve Client Stability -Completed: -- [Updated profiler branch for debugging](https://github.com/codex-storage/nim-codex/pull/691) -- [Ported the profiler to Chronos V4](https://github.com/codex-storage/nim-chronos/pull/7) -- [Wrote separate test runner for two client test to try to figure out the origin of a file size bug which magically disappeared](https://github.com/gmega/alternate-test-runner/) - -Ongoing: -- [Finish work to take down draft flag from PR Expiry per dataset](https://github.com/codex-storage/nim-codex/pull/678) -- [Write tests for PR Safe block deletion (with ref count)](https://github.com/codex-storage/nim-codex/pull/631) -- [Look into the CI/docker packaging/local build tooling for Waku and Nimbus as part of build improvements PR](https://github.com/codex-storage/nim-codex/pull/680) -- [Chronos V4 branch](https://github.com/codex-storage/nim-codex/pull/673) -- Pinned versions for Chronos and json-rpc - - -## Marketplace - -### Epic: End-to-end Testing -Completed: -- [Rebased multinode integration test refactor which had two failing tests due to the erasure coding changes](https://github.com/codex-storage/nim-codex/pull/662) -- Rebased Marketplace integration test suite -- Added support for Result types using formatIt for logging proxy -- [Finished the verifier contract](https://github.com/codex-storage/codex-contracts-eth/pull/79) -- [Deployed a dummy verifier on local networks for testing](https://github.com/codex-storage/codex-contracts-eth/pull/82) -- Finished updates to nim-ethers, all tests passing, including in Nim v2 -- Fixed an issue in the nim-ethers json-rpc update - - Derived Signers could not access the derived getAddress and sendTransaction when their async raises were updated with SignerError - -Ongoing: -- Continue work on updating nim-ethers to support json-rpc breaking changes -- Continue work on supporting json-rpc breaking changes and pulling out utils/json to its own lib -- [Integrate contract changes into nim-codex](https://github.com/codex-storage/nim-codex/pull/683) -- Look into removing waitFor in integration tests -- Review and clean up nim-ethers changes - - Try to figure out a cleaner way to handle exceptions instead of catching all CatchableErrors -- Start tweaking the nim-json api to normalize both serialize and deserialize pragmas, with modes: OptOut, OptIn, and Strict -- WIP on adding PATCH call for Availabilities - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -Completed: -- Frobenius endomorphism & pairing implementation -- Review the Solidity Groth16 verifier - - -Ongoing: -- DAS simulator improvements to cover more diffusion models -- Start DAS sample query mechanism design -- Proof recursion ideation \ No newline at end of file diff --git a/content/codex/updates/2024-02-12.md b/content/codex/updates/2024-02-12.md deleted file mode 100644 index 87864a49c..000000000 --- a/content/codex/updates/2024-02-12.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: 2024-02-12 Codex Weekly -tags: - - codex-updates -date: 2024-02-12 -lastmod: 2024-02-12 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Feb 6th - Feb 12th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client, Testing and Infrastructure - -### Epic: Nim Improvements -Completed: -- [Add Nim-matrix workflow to run on merge queue]() -- [Changes to build improvements proposal so default version for the compiler is now represented as special version `repo_version` which can be accessed locally and in CI](https://github.com/codex-storage/nim-codex/pull/673/commits/f92d069d82741bb6ae5f51574f7610d79566cc78) - -Ongoing: -- [Nim memory profiler](https://github.com/codex-storage/nim-chroprof) - -### Epic: Wiring the Proving System -Completed: -- [Integrated zk verifier into nim-codex](https://github.com/codex-storage/nim-codex/pull/683) - -Ongoing: -- [Started reviewing the Circom circuit](https://github.com/codex-storage/codex-storage-proofs-circuits/pull/5) - -### Epic: Improve Client Stability -Completed: -- Two PRs for testing framework (one [PR #93](https://github.com/codex-storage/cs-codex-dist-tests/pull/93), and one [PR #94](https://github.com/codex-storage/cs-codex-dist-tests/pull/94)) - - -Ongoing: -- Run Continuous-Test outside of the cluster to reproduce 'file size issue' - -### Epic: Infra -Completed: -Ongoing: -- [Create Codex Helm chart]() -- [Deploy Codex Storage nodes in Testnet cluster #115]() -- Tracking down the timeout issues in Codex -- [Updates to logtools](https://github.com/codex-storage/logtools) - - Now understand what deploy IDs and test runs are ([4 min video here](https://vimeo.com/911297714/5afc6e0056)); -- [Worked on the block flow tracker](https://github.com/gmega/blockexc-parser) - -## Marketplace -### Epic: End-to-end Testing -Completed: -- [Fixed decoding issue in nim-ethers](https://github.com/codex-storage/nim-ethers/pull/63) -- [Workaround for that same decoding issue](https://github.com/codex-storage/codex-contracts-eth/pull/85) - - Can't use the fix from nim-ethers yet, Codex is still on old version of chronos -- [Published nim-serde](https://github.com/codex-storage/nim-serde) - - Finalized `nim-serde` api: now has two main pragmas, `serialize` and `deserialize`, that can be applied at the object-level or field-level: - - Each can set `key` (valid at field-level), `ignore` (valid at field-level), and `mode` (valid at object-level) - - `mode` can be one of: - - OptOut - - OptIn - - Strict - - Many more tests for the `nim-serde` lib — `serialize` `OptIn, OptOut, Strict` and `deserialize` `OptIn, OptOut, Strict` - - Added a comprehensive README to nim-serde - - Added CI to serde, with branch protection rules on master - - Added support for deserializing seq[byte] -- Updated `nim-ethers` `json-rpc` and `chronos` upgrade PR to use `nim-serde` instead of the json util. Created the PR https://github.com/codex-storage/nim-ethers/pull/64 - - -Ongoing: -- [WIP on finishing the Availabilities API endpoints tweaks](https://github.com/codex-storage/nim-codex/pull/692) -- Tried to integrate `nim-serde` in `nim-codex`, but running into symbol clashes with `parseJson`, so changed `parseJson` to `JsonNode.parse`, still needs to be integrated into `nim-codex` - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -Completed: -Ongoing: -- More work on the algebra backend (pairings, APIs) -- Work towards an independent Groth16 prover (so that we can debug the Nim one) - an initial version of that seems to work now \ No newline at end of file diff --git a/content/codex/updates/2024-02-19.md b/content/codex/updates/2024-02-19.md deleted file mode 100644 index 9bc18598d..000000000 --- a/content/codex/updates/2024-02-19.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: 2024-02-19 Codex Weekly -tags: - - codex-updates -date: 2024-02-19 -lastmod: 2024-02-19 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Feb 13th - Feb 19th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client -### Epic: Nim Improvements -Completed: -- [Initial PR up for Apatheia async-threading](https://github.com/elcritch/apatheia/pull/1) -Ongoing: -- [Started implementing an async-threading API](https://github.com/elcritch/apatheia) - -### Epic: Wiring the Proving System -Completed: -Ongoing: -- [Code review of the circom circuit](https://github.com/codex-storage/codex-storage-proofs-circuits/pull/5) -- [Progress on prover integration](https://github.com/codex-storage/nim-codex/pull/702) -- Determine why different amounts of data were being downloaded for different slot indices (and failing to release reservations due to be larger than the slotSize) -- Getting integration tests PR #662 into shape for merging - - Integration tests were generally not using the right ec params (num nodes, dataset size, tolerance) - - After EC params were corrected, some of the tests were not working due to the recent [async](http://async.now) [clock.now](http://clock.now) update - - [Created a revert PR for the async clock.now PR](https://github.com/codex-storage/nim-codex/pull/707) - -### Epic: Improve Client Stability -Completed: -Ongoing: -- Started work on delegating expensive computations to a separate thread -- [Reviewing changes made to Apatheia](https://github.com/elcritch/apatheia/pull/1) -- Started integrating `apaethia` into `nim-codex` -- Rebasing two large PRs against latest master: - - [Safe block deletion (with ref count)](https://github.com/codex-storage/nim-codex/pull/631) - - [Expiry per dataset](https://github.com/codex-storage/nim-codex/pull/678) - -## Testing -Completed: -Ongoing: -- Continue work to track down the timeout issues in Codex - - Did a bunch of updates to logtools, which now understand what deploy IDs and test runs are (4 min video here); -- Worked on the block flow tracker in tandem with the logtools - - Not cancelling pending WantHave's and under the right conditions this makes the peer implode -- Made some changes and opened PRs for test framework (one normal, and one tiny PR); -- Made changes to the build improvements proposal, so that the default version for the compiler is now represented as special version repo_version which can be accessed locally and in CI - - For now this is hidden in this commit; started treating those PRs as low priority -- Isolated the Codex issue to a working hypothesis of failed cancel messages - - [Smaller-scale test validation of above issue](https://github.com/gmega/alternate-test-runner/blob/main/bin/local-codex-net.sh) - - [Learned how to actually slow down traffic on a given port](https://github.com/gmega/alternate-test-runner/blob/main/bin/setup-delays.sh) - - In the end that was not the issue, the issue being instead that peers need to create libp2p connections so they pop into each other's `PeerCtxStore` -- [Put together failing test for the cancellation issue](https://gist.github.com/gmega/35aef177a37d21cb0524723d8dfbd3b4) - - [Goes into testblockexc.nim](https://github.com/codex-storage/nim-codex/blob/master/tests/codex/blockexchange/engine/testblockexc.nim) - - Need to provide a fix - -## Infrastructure -Completed: -- [Adjust workflows for changelog generation #5]() -- [Fix Docker entrypoint NAT helper variables #706]() - -Ongoing: -- [Create Codex Helm chart #58]() -- [Deploy Codex Storage nodes in Testnet cluster #115]() - -## Marketplace - -### Epic: End-to-end Testing -Completed: -- [Updated nim-ethers pull request to integrate serde](https://github.com/codex-storage/nim-ethers/pull/64) -- Rebased integration test refactor -- Nim-serde changelog workflow in CI -- [Finished moving nim-codex json util to serde](https://github.com/codex-storage/nim-codex/pull/704) - -Ongoing: -- See Epic: Wiring the Proving System - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -Completed: -- First working version of the Haskell Groth16 prover - - Work towards an independent Groth16 prover (so that we can debug the Nim one) - an initial version of that seems to work now -- Reviewed improvements to the circuit - -Ongoing: -- More work on the algebra backend (pairings, APIs) -- Started writing down some musings about aggregation (WIP) -- Found the bug in the Circom zkey usage preventing valid proof verification \ No newline at end of file diff --git a/content/codex/updates/2024-02-26.md b/content/codex/updates/2024-02-26.md deleted file mode 100644 index 3867cadc3..000000000 --- a/content/codex/updates/2024-02-26.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: 2024-02-26 Codex Weekly -tags: - - codex-updates -date: 2024-02-26 -lastmod: 2024-02-26 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Feb 20th - Feb 26th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client, Testing and Infrastructure -Completed: -Ongoing: -- Codex team members heading to attend ETH Denver - -### Epic: Nim Improvements -Completed: -Ongoing: - -### Epic: Wiring the Proving System -Completed: -Ongoing: - -### Epic: Improve Client Stability -Completed: -Ongoing: - -## Marketplace - -### Epic: End-to-end Testing -Completed: -- [Finished PR for availabilities update endpoints](https://github.com/codex-storage/nim-codex/pull/692) - - Ran into very weird bug in one of these: - - Chronos server implementation, Presto or Nim's HTTPClient - - Could not debug and decided to rather move from HTTP 204 response to 200 one - - [Created reproduction repo](https://github.com/AuHau/nim-http204-error) - - [Logged the issue in Presto repo](https://github.com/status-im/nim-presto/issues/77) -- [Debugged non-working Dist. testing contracts](https://github.com/codex-storage/codex-contracts-eth/pull/89) - -Ongoing: - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -Completed: -- helped with figuring out the Ethereum elliptic curve conventions -- gave an elliptic curve talk at the local university; [slides](https://raw.githubusercontent.com/bkomuves/slides/master/mathematics/elliptic_curves_2024.pdf) for the interested -- found the second bug in the Nim Groth16 prover (in Constantine again) - -Ongoing: -- started thinking about the small / dynamic data problem \ No newline at end of file diff --git a/content/codex/updates/2024-03-04.md b/content/codex/updates/2024-03-04.md deleted file mode 100644 index ad90e0def..000000000 --- a/content/codex/updates/2024-03-04.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: 2024-03-04 Codex Weekly -tags: - - codex-updates -date: 2024-03-04 -lastmod: 2024-03-04 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Feb 27th - Mar 4th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client, Testing and Infrastructure -Completed: -- Codex team members attended ETH Denver -Ongoing: - -### Epic: Nim Improvements -Completed: -Ongoing: -- Started a PR to fix Atlas after SAT integration -- [Finishing basic fixes PR in Atlas](https://github.com/nim-lang/atlas/pull/120) -- [extracted the profiler into its own library](https://github.com/codex-storage/nim-chroprof) - - retained only the instrumentation modifications in our [Chronos V4 branch](https://github.com/codex-storage/nim-chronos/pull/7/files) - - after we merge V4 into Codex ([blocked by a bunch of issues](https://github.com/codex-storage/nim-codex/pull/673#issuecomment-1904108922)), start a discussion with the Chronos folks to try to get the instrumentation part in - -### Epic: Wiring the Proving System -Completed: -Ongoing: -- Ceremony file setup - -### Epic: Improve Client Stability -Completed: -Ongoing: -- [tracked a Codex bug during a V4 merge which turned out to be a compiler bug](https://github.com/nim-lang/Nim/issues/23354) - - with [consequences to Chronos](https://github.com/status-im/nim-chronos/issues/511) - - bug resolution handled by Nim compiler team after being flagged as "showstopper" - -## Marketplace - -### Epic: End-to-end Testing -Completed: -- Add IsSyncing to nim-ethers -- Add sync check to codex startup -- In-flight flag for outgoing blocks - - Discord role rewards based on on-chain state and events - - Partially tested, requires fixed marketplace-dist-test -- Updated and merged: fix for block-retransmit issue -- Debug isSync (nim-ethers update) and update to testnet-starter - -Ongoing: - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -Completed: -- Nim Groth16 prover finally appears to work correctly (though with the current workaround it also became significantly slower) -- Multi-threading support in the Nim Groth16 prover - -Ongoing: -- [Thinking about using FRI commitment for storage proofs](https://hackmd.io/8gtpagUYSz2F8e6J_JkCyg) - - Hash based, includes RS, outsourceable, easy to prove large/r data sets -- [Thinking about using KZG as updateable commitment](https://hackmd.io/YrGjYOJiSImgCqiaMZzyLw) - - With efficient proofs for small/updateable data sets -- Debugging the multithreading bug in the prover -- [checking out new research](https://zkmesh.substack.com/p/zkmesh-feb-2024-recap) -- Speed up the "binary circuit" proposal by a factor of ~2x -- Thinking about a (supposedly fast) dedicated SHA256 proof protocol, and how to implement it \ No newline at end of file diff --git a/content/codex/updates/2024-03-11.md b/content/codex/updates/2024-03-11.md deleted file mode 100644 index 2eeacc496..000000000 --- a/content/codex/updates/2024-03-11.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: 2024-03-11 Codex Weekly -tags: - - codex-updates -date: 2024-03-11 -lastmod: 2024-03-11 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Mar 5th - Mar 11th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client, Testing and Infrastructure - -### Epic: Multithreading -Completed: -- [Marked PR as ready - scheduling erasure encoding and decoding on a thread pool](https://github.com/codex-storage/nim-codex/pull/716) - -Ongoing: -- Started work on scheduling prover computation on a thread pool - -### Epic: Wiring the Proving System -Completed: -Ongoing: -- [Marked PR as ready - scheduling erasure encoding and decoding on a thread pool](https://github.com/codex-storage/nim-codex/pull/716) -- Started work on scheduling prover computation on a thread pool - -### Epic: Improve Client Stability -Completed -- [Reasoning on why the profiler works the way it does](https://hackmd.io/fA4RXNWsQZSSgYLNcIksEw) -- [Closed bug: fixes double lookups when block does not exist](https://github.com/codex-storage/nim-codex/pull/739) - - -Ongoing: -- Some triaging of bugs in the Codex repo, still some way to go - -## Marketplace - -### Epic: End-to-end Testing -Completed: -Ongoing: - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -``` -Completed: -- EthResearch post on sampling techniques (https://ethresear.ch/t/lossydas-lossy-incremental-and-diagonal-sampling-for-data-availability/18963) -- Logos X space with Leo and Danny -- Minor refactor the proof circuit [PR](https://github.com/codex-storage/codex-storage-proofs-circuits/pull/7) - -Ongoing: -- DAS simulator (https://github.com/codex-storage/das-research) paper prep (calls + work) -- Shadow based P2P emulator for DAS (https://github.com/cskiraly/dst-gossipsub-test-node/tree/FullDAS) -- Looked into how circom handles custom gates (tldr: it's easy to abuse for our own purposes, but snarkjs doesn't implement anything) -- Started working on prototyping stuff for the new proof system \ No newline at end of file diff --git a/content/codex/updates/2024-03-18.md b/content/codex/updates/2024-03-18.md deleted file mode 100644 index 9e4a75318..000000000 --- a/content/codex/updates/2024-03-18.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: 2024-03-18 Codex Weekly -tags: - - codex-updates -date: 2024-03-18 -lastmod: 2024-03-18 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Mar 12th - Mar 18th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client, Testing and Infrastructure - -### Client -Completed -- Marked PR as ready - scheduling erasure encoding and decoding on a thread pool https://github.com/codex-storage/nim-codex/pull/716 -- Put together [reasoning on why the profiler works the way it does](https://hackmd.io/fA4RXNWsQZSSgYLNcIksEw); -- Closed [a bug re: double lookups when block does not exist](https://github.com/codex-storage/nim-codex/pull/739); - - -Ongoing -- Started a PR to fix Atlas after SAT integration -- Finishing basic fixes PR in Atlas https://github.com/nim-lang/atlas/pull/120 -- Started work on scheduling prover computation on a thread pool -- Fixing comments and rebasing large PRs: - - https://github.com/codex-storage/nim-codex/pull/631 - - https://github.com/codex-storage/nim-codex/pull/678 -- Work on Frontend - - Implemented dropdown list for expiry input - - Started working on caching node information for displayed information -- Some triaging of bugs in the Codex repo, still some way to go; - -### Infrastructure -Completed -- ✅ [Install VictoriaMetrics in Testnet cluster #130]() -- ✅ [Adjust number of nodes in Testnet cluster #136]() -- ✅ [Redeploy Testnet cluster components #138]() -- ✅ [Install ELK in Testnet cluster #135]() - -Ongoing -- �️ [Install Oauth2 proxy in Testnet cluster #141]() -- �️ [Deploy Testnet cluster components #57]() - -## Marketplace - -Completed -- Discussions about ceremony files retrival -- PR Reviews: - - https://github.com/codex-storage/codex-storage-proofs-circuits/pull/7 - - https://github.com/codex-storage/codex-contracts-eth/pull/83 - - https://github.com/codex-storage/nim-codex/pull/730 - -Ongoing -- WIP on merging https://github.com/codex-storage/nim-codex/pull/692 -- WIP on persistant availabilities - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- EthResearch post on sampling techniques (https://ethresear.ch/t/lossydas-lossy-incremental-and-diagonal-sampling-for-data-availability/18963) -- DAS simulator (https://github.com/codex-storage/das-research) paper prep (calls + work) -- Shadow based P2P emulator for DAS (https://github.com/cskiraly/dst-gossipsub-test-node/tree/FullDAS) -- Looked into how circom handles custom gates (tldr: it's easy to abuse for our own purposes, but snarkjs doesn't implement anything) -- Minor refactor the proof circuit [PR](https://github.com/codex-storage/codex-storage-proofs-circuits/pull/7) - -Ongoing -- Started working on prototyping for the new proof system \ No newline at end of file diff --git a/content/codex/updates/2024-03-25.md b/content/codex/updates/2024-03-25.md deleted file mode 100644 index 0dd549d98..000000000 --- a/content/codex/updates/2024-03-25.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: 2024-03-25 Codex Weekly -tags: - - codex-updates -date: 2024-03-25 -lastmod: 2024-03-25 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Mar 19th - Mar 25th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client, Testing and Infrastructure - -### Client -Completed -- Various fixes for prover-verifier integration - - https://github.com/codex-storage/nim-codex/pull/702 -- Split prover-verifier integration into several PRs and merged them into master - - https://github.com/codex-storage/nim-codex/pull/702#issuecomment-1986256598\ - -Ongoing -- Syncing up with testnet owners to help think through our use cases and whether or not we have gaps in our QA/testing plan; -- Put together a [small tutorial on deploying contracts on a local Geth network](https://hackmd.io/qdgaIroiSbmZc14g6kzBQQ) with [some code](https://github.com/gmega/geth-net-fun). - -### Testing -Completed -- Fixed proof generation is dist-test environment -- Fixed crash in dist-test env related to blockchain inspection -- Bring up-to-date continuous tests (enable transient-node and marketplace test scenarios) -Ongoing -- Why do proofs with EC params 1-0 fail? -- Node response to fill-slot call is unreliable in geth env -- Wrap up discord-reward bot - -### Infrastructure -Completed -- ✅ [Install Oauth2 proxy in Testnet cluster #141]() -- ✅ [Deploy Testnet cluster components #57]() -- ✅ [Install Vector in Testnet cluster #144]() -- ✅ [Configure monitoring in Testnet cluster #147]() -- ✅ [Send Codex and Geth Bootstrap nodes logs and metrics to the Testnet cluster #148]() - -Ongoing -- �️ [Configure Grafana dashboards for Testnet resources #154]() -- �️ [Add Release workflow for Codex #749]() - -## Marketplace -Completed -- nim-ethers - - Support Solidity's custom errors - - https://github.com/codex-storage/nim-ethers/pull/69 - - Update dependencies - - https://github.com/codex-storage/nim-ethers/pull/70 - - Fix flaky test - - https://github.com/codex-storage/nim-ethers/pull/71 - - Merged fix for Solidity getters - - https://github.com/codex-storage/nim-ethers/pull/63 -- codex-contracts-eth: - - Finished verifier refactor: - - https://github.com/codex-storage/codex-contracts-eth/pull/83 -- codex-storage-proofs-circuits: - - Merged code review PR: - - https://github.com/codex-storage/codex-storage-proofs-circuits/pull/5 -- questionable: - - Worked out a way to handle generic Results in `without` statements: - - https://github.com/codex-storage/questionable/pull/59 - -Ongoing -- See previous week - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- wrote an initial draft notes about Plonk; [github (WIP)](https://github.com/codex-storage/zk-research-artifacts/blob/master/notes/plonk/plonk-notes.pdf) - -Ongoing -- working towards implementing a Plonkish prover with custom accelerator gadgets, so that we can test proof system ideas -- realized that proof system idea has a botleneck; may still speed up Poseidon hashing, but the new botleneck is much worse for binary circuits like SHA256. To make the latter practical needs new ideas. \ No newline at end of file diff --git a/content/codex/updates/2024-04-01.md b/content/codex/updates/2024-04-01.md deleted file mode 100644 index 095099fa7..000000000 --- a/content/codex/updates/2024-04-01.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: 2024-04-01 Codex Weekly -tags: - - codex-updates -date: 2024-04-01 -lastmod: 2024-04-01 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Mar 26th - Apr 1st - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work. -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics. - -## Client, Testing and Infrastructure - -### Client -Completed -- Created task for NAT traversal and gathered various info for it https://github.com/codex-storage/nim-codex/issues/753 -- Finished work on scheduling erasure coding on a thread pool https://github.com/codex-storage/nim-codex/pull/716 - -Ongoing -- Working on scheduling prover computation on a thread pool, draft PR in progress -- Addressing comments for large PRs - - https://github.com/codex-storage/nim-codex/pull/631 - - https://github.com/codex-storage/nim-codex/pull/678 - -### Testing -Completed -- Documented issue for running Codex integration tests on certain macOS configurations https://github.com/codex-storage/codex-contracts-eth/issues/95 - -### Infrastructure -Completed -- None - -Ongoing -- � [Install Fluent Bit to get Testnet Kubernetes events]() -- � [Adjust Vector config]() -- � [Deploy ethereum web wallet for Testnet]() -- � [Run Public RPC node on Testnet]() -- � [Add more Codex Storage nodes]() -- � [Use multi-stage builds for Rewarder #101]() -- � [codex-testnet-starter updates]() -- �️ [Configure Grafana dashboards for Testnet resources #154]() -- �️ [Add Release workflow for Codex #749]() - -### Nim Tooling -Completed -- Add recursion limit for SAT (packaging) https://github.com/nim-lang/sat/pull/3 -- Disable stacktrace on SAT solver to avoid stackoverflows in debug builds https://github.com/nim-lang/sat/pull/5#event-12262613353 -- Wrote up draft for Nimble Caching RFC https://hackmd.io/@elcritch/rJ4VrExJR - -## Marketplace -Completed -- Revisit design of https://github.com/codex-storage/nim-codex/issues/467 -- Review https://github.com/codex-storage/nim-codex/pull/692 -- Review https://github.com/codex-storage/nim-codex/pull/678, many reviews and ongoing discussion -- Review https://github.com/codex-storage/nim-codex/pull/730 -- Chore to remove no longer used compilation flag: https://github.com/codex-storage/nim-codex/pull/741 -- Tried to understand why an integration was indeterminately failing in CI and locally, thought was very difficult to reproduce -- Merged https://github.com/codex-storage/nim-codex/pull/704, which had the integration test failure. Re-running the failed test in CI was enough to get it to merge, but indicates there is an issue with this test -- Rebased and merged MarketError PR: https://github.com/codex-storage/nim-codex/pull/670 -- Updated pausing slot queue design PR: https://github.com/codex-storage/codex-research/pull/188/ -- Re-reviewed [feat[marketplace]: add slot queue pausing PR #752](https://github.com/codex-storage/nim-codex/pull/752) in Codex and started review of [Expiry per dataset PR #678](https://github.com/codex-storage/nim-codex/pull/678/) -- Added protection branch rule for `nim-ethers` in Codex -- Reviewed PRs [#757](https://github.com/codex-storage/nim-codex/pull/757), [#752](https://github.com/codex-storage/nim-codex/pull/752), [#760](https://github.com/codex-storage/nim-codex/pull/760), [#69](https://github.com/codex-storage/nim-ethers/pull/69/), and [#70](https://github.com/codex-storage/nim-ethers/pull/70) in Codex -- Reviewed comments for the Availability Patch PR and [Pausing Queue PR](https://github.com/codex-storage/nim-codex/pull/752/files) in Codex - -Ongoing -- Discussed with team plans to improve integration tests: what they should cover, parallelism, and whether or not some could be replaced with unit tests. Also discussed some open issues and PR comments. -- Continued work on implementation of slot queue pausing. Most implementation in, need to add tests: https://github.com/codex-storage/nim-codex/tree/feat/marketplace/slot-queue-improvements -- Worked on updating a macro for Optionalize to add the serialize pragma annotation on the type. Tried to get the macro to read existing serialize annotations on the type and fields first but was taking too long, so moved on -- Discussions about release branches, proof circuit assets, and versioning -- Discussed `Optionalize()` macro and `serialize` pragma -- Discussed the parallelism of integration tests -- Progress on Persistent Availabilities implementation - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- None - -Ongoing -- Trying to understand what can be salvaged from my binary circuit idea (by implementing and measuring stuff) -- Working on the Plonk notes \ No newline at end of file diff --git a/content/codex/updates/2024-04-08.md b/content/codex/updates/2024-04-08.md deleted file mode 100644 index 15eca55d0..000000000 --- a/content/codex/updates/2024-04-08.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 2024-04-08 Codex Weekly -tags: - - codex-updates -date: 2024-04-08 -lastmod: 2024-04-08 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Apr 2nd - Apr 8th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q2 public testnet release. An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> The Codex team is currently attending the week long Logos all hands off-site, attending ZK Summit and having their team specific off-site the following week. - -## Logos and Codex Off-site Links (2024/04/01 - 2024/04/15) -The following are links containing artifacts from both off-sites: -- [Codex Athens Presentation](https://docs.google.com/presentation/d/1c3iNOHxwbxeRpwHFTZPBBdXaa6nwLd4EbwJ5txlR0qU/edit?usp=drive_link) -- [Codex Athens Presentation Video Recording](https://drive.google.com/file/d/1XOzTYAl29KQCUQovojpHpBjW4Kelv2sr/view?usp=drive_link) -- [Codex Workshop Presentation](https://docs.google.com/presentation/d/1farcX6P7cJsK_p6KVc63fmT-3dR3cPXyW2Nj7tJ2xXQ/edit?usp=drive_link) -- [Codex Athens Off-site Artifacts](https://drive.google.com/drive/folders/1nsJCirfJX0B8p7Tr8eEaaa9tOTHme912?usp=drive_link) \ No newline at end of file diff --git a/content/codex/updates/2024-04-15.md b/content/codex/updates/2024-04-15.md deleted file mode 100644 index 815409f7f..000000000 --- a/content/codex/updates/2024-04-15.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: 2024-04-15 Codex Weekly -tags: - - codex-updates -date: 2024-04-15 -lastmod: 2024-04-15 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Apr 9th - Apr 16th - -> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q2 public testnet release. An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. -> -> The Codex team is currently attending the week long Logos all hands off-site, attending ZK Summit and having their team specific off-site the following week. - -## Logos and Codex Off-site Links (2024/04/01 - 2024/04/15) -The following are links containing artifacts from both off-sites: -- [Codex Athens Presentation](https://docs.google.com/presentation/d/1c3iNOHxwbxeRpwHFTZPBBdXaa6nwLd4EbwJ5txlR0qU/edit?usp=drive_link) -- [Codex Athens Presentation Video Recording](https://drive.google.com/file/d/1XOzTYAl29KQCUQovojpHpBjW4Kelv2sr/view?usp=drive_link) -- [Codex Workshop Presentation](https://docs.google.com/presentation/d/1farcX6P7cJsK_p6KVc63fmT-3dR3cPXyW2Nj7tJ2xXQ/edit?usp=drive_link) -- [Codex Athens Off-site Artifacts](https://drive.google.com/drive/folders/1nsJCirfJX0B8p7Tr8eEaaa9tOTHme912?usp=drive_link) \ No newline at end of file diff --git a/content/codex/updates/2024-04-22.md b/content/codex/updates/2024-04-22.md deleted file mode 100644 index e25bcc73a..000000000 --- a/content/codex/updates/2024-04-22.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: 2024-04-22 Codex Weekly -tags: - - codex-updates -date: 2024-04-22 -lastmod: 2024-04-22 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Mar 16th - Mar 22nd -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -- most members OOO - -## Marketplace -- most members OOO - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` - -Completed -- started looking into the Goldilocks field and Plonky2 (unfortunately, there appears to be NO documentation _at all_...) -- [wrote a draft document about our proof research needs](https://hackmd.io/@bkomuves/SJGyefxZR) \ No newline at end of file diff --git a/content/codex/updates/2024-04-29.md b/content/codex/updates/2024-04-29.md deleted file mode 100644 index 7ee81a5bf..000000000 --- a/content/codex/updates/2024-04-29.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: 2024-04-29 Codex Weekly -tags: - - codex-updates -date: 2024-04-29 -lastmod: 2024-04-29 -draft: false -description: Weekly update of Codex ---- - -# Codex Update Mar 22nd - Mar 29th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -- Members OOO - -## Marketplace -Completed -- Work on duration for expiry - - nim-codex PR https://github.com/codex-storage/nim-codex/pull/793 - - contracts PR https://github.com/codex-storage/codex-contracts-eth/pull/99 - -Ongoing -- whitepaper review -- Tokenomics discussions - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- None - -Ongoing -- Whitepaper review (90% done) -- Coordinating Vac cooperation -- Tried to look a little bit into set accumulator schemes \ No newline at end of file diff --git a/content/codex/updates/2024-05-06.md b/content/codex/updates/2024-05-06.md deleted file mode 100644 index bbe9fe07f..000000000 --- a/content/codex/updates/2024-05-06.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: 2024-05-06 Codex Weekly -tags: - - codex-updates -date: 2024-05-06 -lastmod: 2024-05-06 -draft: false -description: Weekly update of Codex ---- - -# Codex Update April 30th - May 6th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- None - -Ongoing -- Splitting two big PRs into a series of smaller ones - - [Expiry per dataset](https://github.com/codex-storage/nim-codex/pull/678) - - [Safe block deletion (with ref count)](https://github.com/codex-storage/nim-codex/pull/631) -- Reviewing various PRs in the client - -## Marketplace -Completed -- Tokenomics meeting to discuss existing questions, as well as the new slot reservations proposal -- Discussion about the slot reservations proposal, in which we came up with a simplified version, opting to allow for emergent behaviors before adding to complexity -- Discussion about fill reward curve -- Discussion about the new slot reservations proposal -- Reviews : - - https://github.com/codex-storage/nim-codex/pull/793 - - https://github.com/codex-storage/codex-contracts-eth/pull/99 - -Ongoing -- Writing out new proposal for slot reservations as well as capturing the original bloem method idea -- Tokenomics & Marketplace proposal discussions - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- Discussion with marketplace team about slot fill reward and address window expansion curves - -Ongoing -- Studying various FFT/NTT algorithms -- Looking at [new research](https://zkmesh.substack.com/p/zkmesh-apr-2024-recap) -- Looking a bit into the recent "Foreign Arithmetic" (SigmaBus) paper. Unfortunately it seems to be much less useful for us than originally thought. \ No newline at end of file diff --git a/content/codex/updates/2024-05-13.md b/content/codex/updates/2024-05-13.md deleted file mode 100644 index 554dbc40e..000000000 --- a/content/codex/updates/2024-05-13.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: 2024-05-13 Codex Weekly -tags: - - codex-updates -date: 2024-05-13 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update May 7th - May 13th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- Organized new Kanban board to sort through new and existing Epics and Issues associated with ongoing work to test & fix bugs in the core client towards stability - two large items of focus for the coming two months is: - - EthCC Workshop Client work - - First release of Codex for the testnets -- Fixed upload/addition of blocks but did not fix it in the advertising loop yet -- Finished evaluation of LevelDB vs SQLite - -Ongoing -- Splitting two big PRs into a series of smaller ones - - [Expiry per dataset](https://github.com/codex-storage/nim-codex/pull/678) - - [Safe block deletion (with ref count)](https://github.com/codex-storage/nim-codex/pull/631) - -## Marketplace -Completed -- New proposal for slot reservations and capturing the original bloem method idea; developed simplified version of slot reservations opting to allow for emergent behaviors before adding to complexity -- Completed PR Reviews and merged: - - [Feat: expiry specified with number of seconds](https://github.com/codex-storage/nim-codex/pull/793) - - [Feat: expiry specified as duration](https://github.com/codex-storage/codex-contracts-eth/pull/99) - - Follow up fix with adding confirmation: https://github.com/codex-storage/nim-codex/pull/802 -- Updated Marketplace sections of Codex Whitepaper - -Ongoing -- Tokenomics meeting to discuss existing questions as well as the new slot reservations proposal -- Discussion with Research team about fill reward curve -- Application Properties for Codex contract - - Learning about Properties and how to write them in Certora system -- New UI team sync - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- Wrote down current thinking about [tracking sets of proofs](https://hackmd.io/@bkomuves/SyPHG0PfR) (WIP) -- Notes on [Tracking proofs in Codex](https://hackmd.io/@bkomuves/SyPHG0PfR) - -Ongoing -- Learning about different FFT / NNT algorithms -- Continued work on [Plonk notes](https://github.com/codex-storage/zk-research-artifacts/blob/master/notes/plonk/plonk-notes.pdf) -- Current focus is mainly on recursive proofs in the elliptic curve setting \ No newline at end of file diff --git a/content/codex/updates/2024-05-20.md b/content/codex/updates/2024-05-20.md deleted file mode 100644 index 78ea422a9..000000000 --- a/content/codex/updates/2024-05-20.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: 2024-05-20 Codex Weekly -tags: - - codex-updates -date: 2024-05-20 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update May 14th - May 20th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- Packaged self-contained LevelDB Nim project so no dependencies on system packages lifted from existing wrapper and then wrapped it in a datastore implementation - - Preliminary tests shows increased performance is as expected -- Resolved issue with dependency bump and broken dependency chain and now stuck with serialization issue - bug was related to resolving to wrong deserializer and work on nim-serde and nim-RPC - -Ongoing -- Started work on LevelDB migration; Discord bot, reward system and chain inspection broken -- Resolving failing integration tests re: expiry of the request in storage -- Working on issue related to inability to see amount of tokens sent in block explorer -- Deploying faucet web app for testnet tokens (ETH & TST) -- Working on Codex release workflow -- Trying to use DST's k8s cluster and have not been able to use it yet -- Migrate dist test cluster from Digital Ocean to Hetzner and deploy different mointoring tools (e.g., Victoria Metrics) - parametrics logs replacing elastic search with similar API and CLI scrollingto be added to UI later on - -## Marketplace -Completed -- Helped with some work related to LevelDB integration -- Added custom errors PR in nim-ethers that required attention - -Ongoing -- Writing documentation around some of the Solidity code ahead of audit -- Coordinating audit with SC team (Vac) and looping in Security; still deciding on 2nd security audit company - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- Sync w/ Client team about `circom-compat` -- Studying bulletproofs with the goal to try to use them in proof recursion, on the "wrong" curve - [see writeup here](https://hackmd.io/@bkomuves/BkBm9X0zC) -- Updated thinking about [proof recursion](https://hackmd.io/@bkomuves/rJ-bGisfC) -- Wrote a [high-level overview](https://github.com/codex-storage/codex-storage-proofs-circuits/blob/master/workflow/PROOFS.md) explaining all the moving parts of a ZK proofs (different files and steps and their meaning) - -Ongoing -- Proposal for tracking proofs (more precisely, the multiset commitments in there) has a scaling problem, and started thinking about an alternative motivated by Plookup -- Looking more into Winograd-type FFT diff --git a/content/codex/updates/2024-05-27.md b/content/codex/updates/2024-05-27.md deleted file mode 100644 index 37b60f6cf..000000000 --- a/content/codex/updates/2024-05-27.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: 2024-05-27 Codex Weekly -tags: - - codex-updates -date: 2024-05-27 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update May 21th - May 27th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- N/A - -Ongoing -- Continued work on LevelDB migration; [failing unit test uncovered bug](https://github.com/codex-storage/nim-codex/pull/816) on race condition in one of the state machines in the Marketplace module and switch to LevelDB reveleaed it and changing timing of DB reproduced it; reproduced it in SQLite by putting a sleep statement and nothing wrong in LevelDB - - Marketplace picked this bug up -- Docker build problems; Rust build failed and Circom devices no longer building - rolled back Codex to previous Docker image and it doesn't build anymore so not something changed on our end -- Working on debugging Rust FFI threading - -## Marketplace -Completed -- [Contract deployment and security writeup](https://notes.status.im/s/D1AWG1FY-) -- [More adjustments to the slot queue PR, and merge](https://github.com/codex-storage/nim-codex/pull/752) -- [Re-review of ethers custom errors PR](https://github.com/codex-storage/nim-ethers/pull/69) -- [Merge fix for forcing scope of deserialization](https://github.com/codex-storage/nim-serde/pull/24) -- [Release new version of nim-serde to unblock chronos v4](https://github.com/codex-storage/nim-serde/pull/25) -- [Bump serde version and merge](https://github.com/codex-storage/nim-ethers/pull/73) -- Merged [Remove overloaded UInt256.fromJson](https://github.com/codex-storage/nim-ethers/pull/74) -- Cleanup [integration tests review](https://github.com/codex-storage/nim-codex/pull/757) -- Addressed [Slot Reservations](https://github.com/codex-storage/codex-research/pull/190) PR comments with some rewrites - - -Ongoing -- "Application Properties" writeup for Certora issues [tracked here](https://github.com/codex-storage/codex-contracts-eth/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3ACertora) and [ongoing discussion of issues here](https://github.com/codex-storage/codex-contracts-eth/issues/103) -- Reviewing [RFC spec for Marketplace](https://github.com/vacp2p/rfc-index/pull/36) -- Building frontend for the EthCC Demo that shows past and real time contract events, and downloads CIDs and displays as images - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- Initial [Dynamic data proposal WIP](https://hackmd.io/@bkomuves/ByvVCpYNR) - -Ongoing -- Understanding aggregator node hybrid-system dynamics \ No newline at end of file diff --git a/content/codex/updates/2024-06-03.md b/content/codex/updates/2024-06-03.md deleted file mode 100644 index a963560f6..000000000 --- a/content/codex/updates/2024-06-03.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: 2024-06-03 Codex Weekly -tags: - - codex-updates -date: 2024-06-03 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update May 28th - June 3rd -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- Added custom Docker file for release workflow - -Ongoing -- EthCC planning meeting with Marketplace -- Continued bug hunting and fixing towards stability of client -- Planning around EthCC Codex demo logistics; Dockerized Codex in VMs, cloud VPN, and physical MikroTik router setup -- Naming conventions of testnet deployments -- NAT Traversal issues; AutoNAT issues not working as expected - formal writeup to come describing issues and potential solutions -- Challenges with DHT and peer discovery -- Fast-track reviews of 'rework async iter', 'safe block deletion' and 'expiry per dataset' PRs -- Explore scalability issues with LevelDB and large node tests - -## Marketplace -Completed -- Marketplace discussion meeting ([release branches/versions](https://github.com/codex-storage/nim-codex/issues/747), [conditional deployments](https://discord.com/channels/895609329053474826/1244983945867694123/1244993023507435604), pointer calculation, contract gas estimates, [freezing/upgradability legal implications]((https://discord.com/channels/895609329053474826/1230457525854539819/1245555994465931294))) - - [Add freezing functionality for emergency use cases](https://github.com/codex-storage/codex-contracts-eth/issues/111) - - Call with Legal for POV of Contract's security and upgradability - - Call with SC team (Vac) about Legal POV for Contract's security and upgradability -- Marketplace team meeting with Legal about [contract freezing/upgradability](https://github.com/codex-storage/codex-contracts-eth/issues/111) -- Review of [Bug/sales race PR](https://github.com/codex-storage/nim-codex/pull/816/files) -- Sales module concurrency issue - reworking fix after feedback - -Ongoing -- More progress on [EthCC Demo frontend](https://github.com/codex-storage/ethcc-demo) -- Gas reporting plugin attempt to run against Codex integration tests -- Investigate deploying unchanged contracts using hardhat-deploy and newer hardhat Ignition (created [issue for upgrade](https://github.com/codex-storage/codex-contracts-eth/issues/109)) -- Frontend dev application reviews -- WIP in the Certora's Application Properties work - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- L2 Deployment - -Ongoing -- Proxy re-encryption call with ACZ (Vac) -- Interviewing ZK engineer candidates -- [Encryption options WIP](https://hackmd.io/@bkomuves/rJyHMrU4A) -- [Set commitment proposal with details WIP](https://hackmd.io/@bkomuves/SJXrDIw40) \ No newline at end of file diff --git a/content/codex/updates/2024-06-10.md b/content/codex/updates/2024-06-10.md deleted file mode 100644 index 20fe6d8c7..000000000 --- a/content/codex/updates/2024-06-10.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: 2024-06-10 Codex Weekly -tags: - - codex-updates -date: 2024-06-10 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update June 4th - June 10th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- Setup similar VPN from home to cloud VPN for router OS similar to MikroTik router and APs; purchased hardware to test - ordered physical SIM adapter for router - -Ongoing -- Workshop preparation -- Ongoing scalability work; intially had to fix the Docker build and got updated build with LevelDB, odd stuff happening in cluster but 4.5GiB exchange for upload/download succeeded -- NAT Planning and roll out - -## Marketplace -Completed -- TBD - -Ongoing -- Workshop preparation -- Certora setup & integration - - WIP in the Certora's Application Properties work -- Persistent Availabilities -- Slot Reservations - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- Ongoing work on [details of the dynamic data proposal](https://hackmd.io/M6uwhb0eQh2bIh5_O6AX7Q) (the proof parts) -- Helped Nomos with a small FFT issue - -Ongoing -- Looking at [new research](https://zkmesh.substack.com/p/zkmesh-may-2024-recap) -- Working on Winograd-type NTT -- Working on proof recursion -- Looking into more FFT/NTT algorithms (ECFFT, prime order FFT, etc; we need non-power-of-two sizes for foreign field arithmetic) -- [Reliability and Proof Frequency (WIP)](https://colab.research.google.com/gist/cskiraly/e6c87427166323af02a0b4d4442fc61f/codex-reliability-and-proof-frequency.ipynb) \ No newline at end of file diff --git a/content/codex/updates/2024-06-17.md b/content/codex/updates/2024-06-17.md deleted file mode 100644 index 1a9ec1665..000000000 --- a/content/codex/updates/2024-06-17.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: 2024-06-17 Codex Weekly -tags: - - codex-updates -date: 2024-06-17 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update June 11th - June 17th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- [L2 assumptions, planning and deployment options](https://github.com/orgs/codex-storage/projects/3/views/11?pane=issue&itemId=66247672) -- [NAT Traversal in Codex](https://hackmd.io/UxYaQ3dqS1CUU8pxO6-PuQ) - -Ongoing -- Workshop preparations -- Developing single binary pipeline for releases -- Some splitting of PRs further into datastore and rework -- [Need this Safe block deletion (with ref count) PR approved](https://github.com/search?q=org%3Acodex-storage+631&type=pullrequests) - -## Marketplace -Completed -- Merged [fix: createReservation lock](https://github.com/codex-storage/nim-codex/pull/825) -- [L2 overview and Marketplace support/compatibility check](https://github.com/codex-storage/codex-research/pull/192/files) - -Ongoing -- Workshop preparations -- Looking into more research about contract upgradability and industry practices -- [Reviews of Marketplace spec](https://github.com/vacp2p/rfc-index/pull/36) -- WIP in the Certora's Application Properties work - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- Figuring out usable NTT options on the Grumpkin curve; [WIP notes](https://hackmd.io/@bkomuves/BJe6hiZBC) - -Ongoing -- Prototyping with intent of a full implementation soon \ No newline at end of file diff --git a/content/codex/updates/2024-06-24.md b/content/codex/updates/2024-06-24.md deleted file mode 100644 index 12fccb1ac..000000000 --- a/content/codex/updates/2024-06-24.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: 2024-06-24 Codex Weekly -tags: - - codex-updates -date: 2024-06-24 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update June 18th - June 24th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- Merged safe block deletion PR - -Ongoing -- Workshop preparations - - Slides presentation and complete demo run-through -- Manifest initialization bug -- Crash fixing; second release failing because of CPU load - possible prover blocking I/O and need better threading (to use async profiler to resolve this) -- Work on scheduler -- Working on bug fix for EC issues - - Problem with verifiable manifest (was not enabled for Athens demo) & tree roots issue - - Crashes resulting in SIGSEGV error - -## Marketplace -Completed -- Hired full-stack dev to work on Codex App and some Client/Marketplace tasks - -Ongoing -- Workshop preparations - - Frontend session cookies issue - CORS requests problems; sticky sessions are problem for replicated services because reqeusts can be sent to different sessions, problem is how to persist RPC session w/ 3 RPC nodes and if you want to send all requests to same RPC node is problematic -- WIP in the Certora's Application Properties work - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- [Plausible deniability writeup from ACZ (Vac)](https://www.notion.so/Approaches-to-plausible-deniability-87c6fef92df946fcbc1327d51d936ce1) - -Ongoing -- [Dynamic data proposal WIP](https://hackmd.io/M6uwhb0eQh2bIh5_O6AX7Q) \ No newline at end of file diff --git a/content/codex/updates/2024-07-01.md b/content/codex/updates/2024-07-01.md deleted file mode 100644 index 844bb0fed..000000000 --- a/content/codex/updates/2024-07-01.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: 2024-07-01 Codex Weekly -tags: - - codex-updates -date: 2024-07-01 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update June 25th - July 1st -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- Release pipeline for Linux setup (x64 & ARM for Ubuntu and MacOS) - -Ongoing -- Workshop preparations - - Slides presentation and complete demo run-through -- General bug hunting and fixing towards baseline stability and BitTorrent-like performance - -## Marketplace -Completed -- Workshop preparations - -Ongoing -- WIP in the Certora's Application Properties work - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- [Gathered all ZK related documents here](https://www.notion.so/Codex-ZK-stuff-ca2a503baa504e99ab489b345d412361) -- [Writeup on OTP-like encryption to prevent outsourcing attacks](https://hackmd.io/prAbwLpUReqR4OaDLfeeMg) - -Ongoing -- Ongoing research into the details of folding -- Interviewing more ZK engineer candidates - - Creating take-home programming exercise -- Thinking about how to describe Plonkish circuits -- Looking at [new ZK research](https://zkmesh.substack.com/p/zkmesh-june-2024-recap) \ No newline at end of file diff --git a/content/codex/updates/2024-07-08.md b/content/codex/updates/2024-07-08.md deleted file mode 100644 index 712d37105..000000000 --- a/content/codex/updates/2024-07-08.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: 2024-07-08 Codex Weekly -tags: - - codex-updates -date: 2024-07-08 -lastmod: 2024-07-09 -draft: false -description: Weekly update of Codex ---- - -# Codex Update July 2nd - July 8th -> The Codex team wrapped up a successful demo at the Logos off-site and now aims to prepare the demo for the Q2 public testnet release potentially coinciding with EthCC. -> -> An internal devnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation. - -Development is currently broken into three distinct teams: - -1. Client, Testing, and Infrastructure -2. Marketplace -3. Research - -The following are their team updates. - -## Client, Testing and Infrastructure -Completed -- Workshop preparations - - Slides presentation and complete demo run-through -- Release pipeline for Windows (x64 & ARM) setup - -Ongoing -- General bug hunting and fixing towards baseline stability and BitTorrent-like performance -- [Writeup of Merkle Trees and Proof Tree](https://hackmd.io/DaLh-BU4R7WVblRVkCRF8w) -- [EC in Codex](https://hackmd.io/XlsefH1ZTcWwaU6ngwBMcg) - -## Marketplace -Completed -- Workshop preparations - -Ongoing -- WIP in the Certora's Application Properties work - -## Research -``` -2024 R&D Goals -1. Proving system and aggregation improvements (folding or lookups) -2. Aggregator/validator design -3. DHT improvements -4. Tokenomics and incentive design -5. Bandwidth incentives -6. Dynamic data (appendable data) -7. Encryption -``` -Completed -- N/A - -Ongoing -- N/A \ No newline at end of file diff --git a/content/create_dirs.bash b/content/create_dirs.bash new file mode 100644 index 000000000..8bc86af6a --- /dev/null +++ b/content/create_dirs.bash @@ -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 + diff --git a/content/dr/index.md b/content/dr/index.md new file mode 100644 index 000000000..c8a7297e9 --- /dev/null +++ b/content/dr/index.md @@ -0,0 +1,16 @@ +--- +title: Deep Research Service Unit +tags: +- dr +- vac +--- + +## `vac:dr:` +--- + +## `ift:` + +## `codex:` + +## `nes:` + diff --git a/content/dst/index.md b/content/dst/index.md new file mode 100644 index 000000000..21ba4e3d3 --- /dev/null +++ b/content/dst/index.md @@ -0,0 +1,20 @@ +--- +title: Distributed Systems Testing Service Unit +tags: +- dst +- vac +--- + +## `vac:dst:` +--- + +### `ift` +* [[dst/ift/deployer-tool|deployer-tool]] + +### `waku` + +### `codex` + +### `nomos` + + diff --git a/content/index.md b/content/index.md index 244df106e..4a3fb7d70 100644 --- a/content/index.md +++ b/content/index.md @@ -1,18 +1,70 @@ --- -title: "" +title: Vac Roadmap --- -This site attempts to inform the previous, current, and future work required to fulfill the requirements of the projects under the Logos Collective, a complete tech stack that provides infrastructure for the self-sovereign network state. To learn more about the motivation, please visit the [Logos Collective Site](https://logos.co). -This site is an ongoing work in progress. The links within are an attempt to capture a lot of moving targets. This means that the information here may or may not be the bleeding edge of what is true with respect to the development within the Logos Collective projects. Your use of this Website is subject to the following [[terms-of-use|terms of use]] which we ask you to read carefully prior to your use of the Website. +## Vac R&D Service Units -Every year (starting this year), each project defines its plans in a number a milestones, which are then reflected and tracked here-in. You an read more about the contents of a given milestone and the various justifications for that content in [[what-is-a-milestone|What is a Milestone]]. -## Navigation -- [Monthly Project Reports](tags/monthly-report) +- `p2p:` [[p2p|Peer-to-peer]] +- `tke:` [[tke|Token Engineering]] +- `dst:` [[dst|Distributed Systems Testing]] +- `qa:` [[qa|Quality Assurance]] +- `acz:` [[acz|Applied Cryptography and Zero-knowledge]] +- `sc:` [[sc|Smart Contracts]] +- `nim:` [[nim|Nim]] +- `rfc:` [[rfc|RFC (Specifications)]] +- `dr:` [[dr|Deep Research]] -### Projects -- [Waku](waku/index.md) -- [Codex](codex/overview.md) -- [[nomos/index|Nomos]] +## Incubator Projects + +- `nes:` [[nes/index|Nescience]] + +## Progress Updates +- [weekly updates](tags/vac-updates) +- [mothly reports](tags/vac-monthly) +- [quaterly retrospects](tags/vac-retrospect) + +## Vac Narratives + +### 1 Conduit of Expertise [internally] + +First, the strategic objective of scaling project capacity and legitimacy via community co-creation is captured in the annual goal of increasing user-generated content, +code and participation by 50% over the course of 2025. +The preceding step is to set up all projects to accept open-source contributions via an RFC culture. +Second, we have the distinct advantage that we are an actor in our own ecosystem, resulting in the unfair advantage of being our own first community. +Collaboration within our family of projects not only yield efficiencies, but also doubles as a competitive advantage. + +VAC contributes to both these goals as an internal conduit of expertise, as well as an RFC culture carrier. + +Viable strategies for a conduit of expertise and culture carrier seem to include: VAC to maintain a repository on internal knowledge creation (via ie the IFT research calls), +RFC culture (to lay the foundation for external contributions), and to identify and facilitate IFT project synergies (collaboration between project must be seen as a way to become more efficient). + +### 2 Premier Research destination [externally] + +IFT builds public goods to safeguard civil liberties in the digital age. Ownerless public goods are maintained by movements, +therefore community building is a strategic priority, where VAC plays a technical role. +If only IFT maintains IFT incubated projects a year from now, that would be a failure; if a diverse community maintains projects, that would be a success. + +Ultimately, VAC has the potential to become the equivalent to Ethereum Research. +First, via VAC, IFT already has substantial ties to the Libp2p, Ethereum, and Nim ecosystems. Second, the IFT ecosystem of projects is the first community of contributors. + +Viable strategies for a community platform seem to include: To link VAC contributions within other communities back to VAC, +to externalise IFT research call digests, to build trust in projects by open sourcing internal audits/QA/roadmap discussions. + +What to watch out for: A process without a use (ie improvement processes); build value first, community second, and processes last. + + +## Task Tag Structure + +The following descibes a fully qualified task tag + +`vac::::` +- `vac` indicates it is a vac commitment +- `unit` indicates the vac unit `p2p`, `dst`, `tke`, `acz`, `sc`, `zkvm`, `dr`, `rfc` +- `for_project` indicates which Logos project the commitment is mainly for `nomos`, `waku`, `codex`, `nimbus`, `status`; or `ift` (meaning it is not project specific) +- `cname` the name of the commitment the task is part of; extending the the name with a reporting period (e.g. `_2024q4`) indicates follow ups to previous commitments +- `tname` the name of the task + +## Archive + +* [2024h1](archive/2024h1/vac/index) -### Services -- [Vac](vac/index.md) \ No newline at end of file diff --git a/content/innovation_lab/index.md b/content/innovation_lab/index.md deleted file mode 100644 index 60a2b6b3f..000000000 --- a/content/innovation_lab/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -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) \ No newline at end of file diff --git a/content/innovation_lab/milestones-overview.md b/content/innovation_lab/milestones-overview.md deleted file mode 100644 index 0a3e66484..000000000 --- a/content/innovation_lab/milestones-overview.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -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) \ No newline at end of file diff --git a/content/innovation_lab/monthly-reports/2023-aug.md b/content/innovation_lab/monthly-reports/2023-aug.md deleted file mode 100644 index 3401af02e..000000000 --- a/content/innovation_lab/monthly-reports/2023-aug.md +++ /dev/null @@ -1,62 +0,0 @@ -# Innovation Lab Monthly Report - August 2023 - -## Waku Objects Prototype - -The Innovation Lab team is currently working on the Waku Objects prototype, a modular system for transactional chat objects. Despite some slower progress due to vacations and team events in early August, significant advancements were made throughout the month. - -### Key Achievements - -1. **Color System Release**: - - Released the first version of a color system as an npm package called Luminance. - - Based on grayscale design and uses luminance for customization. - - Available for testing in the Playground app. - -2. **Group Chat Support**: - - Completed and merged the implementation for private group chat support. - - Developed a custom "toy" group chat protocol implementation due to lack of readily available solutions. - -3. **Blockchain Integration**: - - Integrated support for Gnosis chain transactions. - - Added support for xDai and Gno tokens, with easy expansion for other ERC-20 tokens. - -4. **New Domain Launch**: - - Registered and deployed the latest version to a new domain: wakuplay.im - -### Milestones - -1. **Completed: Group Chat Support** - - Successfully implemented and merged group chat functionality. - - Identified and addressed various issues that arose during the transition from 1-on-1 chats to group chats. - -2. **In Progress: Splitter Waku Object** - - Aims to support group chats and smart contracts. - - Will be the first Waku Object meaningful in a group chat context. - - Demonstrates the use of smart contracts and multiparty transactions. - - Design completed and implementation started. - -3. **In Progress: Basic Waku Objects Website** - - Started work on the website structure. - - Content development is progressing well. - - Implementation of the website has begun. - -### Challenges and Learnings - -1. The team faced challenges in finding existing implementations for group chat protocols, leading to the development of a custom solution. -2. The transition from 1-on-1 chats to group chats revealed various issues with both Waku integration and from a product perspective. - -### Resources and Links - -- Deployed version: [https://www.wakuplay.im/](https://www.wakuplay.im/) -- Main development repo: [https://github.com/logos-innovation-lab/waku-objects-playground](https://github.com/logos-innovation-lab/waku-objects-playground) -- Grayscale design: [https://grayscale.design/](https://grayscale.design/) -- Luminance package on npm: [https://www.npmjs.com/package/@waku-objects/luminance](https://www.npmjs.com/package/@waku-objects/luminance) - -### Community Engagement - -The team is actively engaging with the community and welcomes feedback and contributions. They can be reached through: -- Discord channel: [https://discord.com/channels/973324189794697286/1118949151225413872](https://discord.com/channels/973324189794697286/1118949151225413872) -- Discord invite link: [https://discord.gg/eaYVgSUG](https://discord.gg/eaYVgSUG) - -### Looking Ahead - -The team is focused on completing the Splitter Waku Object and the basic Waku Objects website. These developments will showcase the capabilities of Waku Objects in group chat contexts and provide a central hub for information about the project. \ No newline at end of file diff --git a/content/innovation_lab/updates/2023-07-12.md b/content/innovation_lab/updates/2023-07-12.md deleted file mode 100644 index 46031f836..000000000 --- a/content/innovation_lab/updates/2023-07-12.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -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") \ No newline at end of file diff --git a/content/innovation_lab/updates/2023-08-02.md b/content/innovation_lab/updates/2023-08-02.md deleted file mode 100644 index 26dd7b9ba..000000000 --- a/content/innovation_lab/updates/2023-08-02.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -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) \ No newline at end of file diff --git a/content/innovation_lab/updates/2023-08-11.md b/content/innovation_lab/updates/2023-08-11.md deleted file mode 100644 index 761316a9f..000000000 --- a/content/innovation_lab/updates/2023-08-11.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "2023-08-17 weekly" -tags: - - "-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 \ No newline at end of file diff --git a/content/insight/business-analysis/index.md b/content/insight/business-analysis/index.md deleted file mode 100644 index 5a19db489..000000000 --- a/content/insight/business-analysis/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insight Business Analysis Overview ---- -## `insight:business-analysis:` ---- - -### `datalake-repo-ingestion` - -### `real-opt-keycard` diff --git a/content/insight/dao/index.md b/content/insight/dao/index.md deleted file mode 100644 index f420c8010..000000000 --- a/content/insight/dao/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Insight DAO Overview ---- -## `insight:dao:` ---- - -### `spiff-process-growth` - -### `spiff-bounty-experiment` \ No newline at end of file diff --git a/content/insight/index.md b/content/insight/index.md deleted file mode 100644 index 72d76af36..000000000 --- a/content/insight/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Insight Team Overview ---- -## 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. - -## Monthly Reports -- [[insight/monthly-reports/2023-oct|2023 October]] - -## Current work -#### `dao:` [[insight/dao/index|details]] - -#### `project-reporting:` [[insight/project-reporting/index|details]] - -#### `business-analysis:` [[insight/business-analysis/index|details]] diff --git a/content/insight/monthly-reports/2023-oct.md b/content/insight/monthly-reports/2023-oct.md deleted file mode 100644 index 03dabb445..000000000 --- a/content/insight/monthly-reports/2023-oct.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: 2023 October Insights Monthly Report -draft: false -lastmod: 2023-10-31 -description: Monthly Report of Insights ---- - -## Executive Summary - -## Key Updates - -### Personnel -A senior and junior software engineer have been brought on to support the ongoing development of SpiffWorkflow. -- Michael is a senior python developer with years of experience. He also contributed to SpiffWorkflow in the past by giving it an external security review before it was launched. He will be leading the internal development and mentoring the junior dev. -- Kayvon joined as a junior dev to contribute to the ongoing development and web3-ification of SpifWorkflow. - -### Monthly Highlights -#### SpiffWorkflow -The project has received two new in-house developers so that ongoing maintenance and development can continue. The entire [Kanban](https://www.notion.so/8db276d473cd40c39697913b48aa8b12?v=9111c60cc173434c9e5e4ba8e5b18da2&pvs=4) board is currently held in Notion but may move to somewhere more public in the near future. - -A new release happened that brought about a bunch of bug fixes and improvements, namely (copy/paste from Sasha's Discord post): -- **UI/UX changes across the site** have been made to make it cleaner and easier to navigate -- No more copying and sending **process instance ID** and sending it to someone. There is now a **shareable link** on each process instance that produces a short link to share. -- A new way to quickly understand where the process is upto. Rather than just seeing in-progress, you will now see things like “Pending Approval - Insights” or “Request Approved” etc. You will see this on the home page and all tables across the platform, under the column name: **Last milestone** -- How many times have you wanted to look at the **data previously entered** into forms? You can now do this with the addition of a new section called My completed tasks, which can be found on the Process Instance Detailed page. This is one of the most requested features! -- We now support the ability of **parallel processing** for tasks. Things like calling 3 different APIs can be done in parallel now, significantly speeding up all processes. -- Spiff now allows **external systems** to call it using APIs. I.e. on some trigger, external systems calls Spiff to start a process or complete a task for an existing process. This will be extremely powerful when integrating with of our systems. -- **README files** about a process are now embedded in Spiff. When you head to the process model page, you will see the **About** tab, which has a [readme.md](http://readme.md) file with everything you need to know about a process. -- **Markdown** support added across the platform -- Added a **tooltip component** to the checkboxes in forms to enhance the user experience. Now, when you submit a travel request and are unsure about the Per Diem, simply hover over the checkbox and the help text will appear. -- **Auto-approvals** for processes. In order to reduce approval time, when someone holds both the role of Budget Owner and is part of the SME group, double-approval is not required. For example, if an Infra Lead provides approval as a Budget Owner for software and licenses, the Infra team review step will be automatically completed (approved). You can find the list of Budget Owners [here](https://www.notion.so/1c2bc946dba647569807569b0ac986d9?pvs=21). -- Added Event categories to the Request Goods/Services process. The list of purchase categories can be found [here](https://www.notion.so/769ae660ac2240e9b1daf7b3ba4bb49c?pvs=21) -- Fixed bugs and errors -- Implemented admin functionality to improve the support team's ability to assist users when needed -- We can now invite any external user to complete one/multiple steps in a process, without that user being created within Keycloak/Spiff. This allows us to do things like ask a vendor being onboarded to complete a form or perform a step in process, by simply sending them an email with all instructions. The access is time based password protected. -- If you come across a missing City in the Travel request drop-down, simply inform the support team. They can add it for you, allowing you to proceed with your request. - -Kudos to the team for such an awesome amount of work. - -A technical roadmap has begun to be developed which outlines the process of "DAOification" of the organization. The initial focus is on understanding the time-cost of the project and required resources. - -#### Contract Extension Negotiations with Sartography - - Summarizations provided by Eric in legal: - - Just to summarise where we’re at with Sartography as of the latest agreement, Sartography has indicated that they will develop additional SpiffWorkflow components called “SpiffWorkflow Extensions”. The negotiations with Sartography revolve around the issue ownership and licensing of the IP for these SpiffWorkflow Extensions as developed for Status. The points are as follows: - - (i) Commercial license instead of an open source license: Originally all Spiffworkflow software would either be open source or be delivered to Status for its ownership. Sartography are insisting on deviating from this approach for the Extensions and intend to apply a commercial license to it. This is an unacceptable position. If they develop IP with Status’ money, then it must align with the original approach. - - (ii) Waiver of fee for commercial license: Sartography have indicated that they are willing to “waive” the fee for any commercial license for the Extensions (referring this as a “gift” to Status). The terms of the commercial license will still need to be negotiated and are unknown to us right now. The waiver of a fee for a commercial license which we don’t have any view on may not be worth much if it turns out to be very restrictive. - -**An image of what Sartography aims to do, important to note this is not funded by Status:** - -![image](https://github.com/logos-co/roadmap/assets/15224450/fd723db8-6420-457e-b279-3c704d078916) - - -For the avoidance of doubt, all “original” Spiffworkflow Software still aligns with our original agreed approach i.e. Sartography is obliged to keep it open source and any thing it delivers to Status will belong to Status who is obliged to make it open source. - -**Path Forward** - Still needs to be finalized by legal; however, Sartography is building an ability to commercialize features that they are developing outside of development with Status. They will extend a commercial license to us and waive all fees associated _**if**_ Status uses any of those features. All feature they've expressed they are building are not features Status would leverage. For example, datastores for personal data and data stores for financial data. - -#### Real Options Analysis -Frederico lead the way on developing a framework (and explainer) for performing Real Options Analysis on Keycard. Keycard was chosen based on its smaller project size and traditional evaluation methodology as a project (the easiest one to start with) with the goal in mind of generalizing the framework for all projects within Logos and Status. The current analysis and framework can be found [in Notion](https://www.notion.so/native/Keycard-s-Real-Option-Analyses-with-the-BSM-Model-526655fafd8f4af697a1d28211f325ba?deepLinkOpenNewTab=true) for now. Once finalized and reviewed, it may be released for public consumption. - -This framework is expected to allow us to identify performance and evaluation trends for projects within their respective ecosystems, thus adding valuable insight to the decisions we as an org can make to steer them in the direction of success. More info on this can be seen in [Jarrad's previous townhall](https://docs.google.com/presentation/d/1-G6Fbxsx3DlPv8Us9zkyWMBPQ3uYbGwd6a5Lm0ExTRU/edit?usp=sharing) (Org internal link - sorry - picture below for public) where he discussed it. - -![[images/Pasted image 20231114145512.png]] -#### Revamping Accounting with Finance -Work continues with the Finance team to revamp the budgeting process for projects and services. The dashboard (mentioned below) being developed has helped track and monitor how money is being spent and allocated across the org. - -#### Project Dashboards -A lot of work has been done to create various dashboards for cohorts across the org. The project dashboards are mainly created from the development activity we can glean from Github thus is heavily dependent upon the team's reporting and Github tagging process at the moment. - -Currently, the following dashboards are being worked on and iterated with their respective teams to ensure they're providing appropriate and correct information (ask Lalo if access if you feel you should have it and don't): -- [Project Reporting (Waku)](https://superset.bi.status.im/superset/dashboard/22/?native_filters_key=5y7Si9b1wGaM7xZNyyk_fBScWCk7Utld859cHWDjaBJx5W0hePGUIWyJPcT1GvxO) -- [Project Reporting (Status)](https://superset.bi.status.im/superset/dashboard/10/?native_filters_key=X2U6XgXBU2y8Xzc7izVMW2eQpMbZF7A-aPXCQwx-p6SlMQP9cUy81CHtlmqUEDYf) -- [Budget Reporting](https://superset.bi.status.im/superset/dashboard/9/?native_filters_key=lvp32SpOeuw2spngeION8J-dHWu904SyIs0mBxb8jZnpw3RvYE2Uvsa-k_wc3yjd) -- [Milestone Table](https://superset.bi.status.im/superset/dashboard/23/?native_filters_key=rAwV0wP0P-O2XegyKppNDDxjUPSZlYYAx-Oy7y1NoGe1QK8AQH3Xxdh8YlBA88R0) -- [Process Performance for Spiff](https://superset.bi.status.im/superset/dashboard/16/?native_filters_key=Z2HuBmCUOTg9JUrr4H8Wj6YZP3_RfwEkq2kDRYjBWNtftIV9iPYw9yUBYUrnbrlG) -- Waiting for Twitter API v2 access to be purchased to complete the social engagement dashboard. - -The Waku team gave a presentation on their adapted project reporting process to the PMs across the org and work has been started to adapt projects to something similar to allow for more automation and dashboard creation. - -The Waku team has reported usefulness in their dashboard already despite it being incomplete (no weighting of work done yet, only tagging issues to epics and epics to milestones). -## Future Plans -Next month, the insights team plans to focus on increasing the coverage of project roadmaps within this website as well as the backend development activity automation coverage for projects. - -The more we cover projects development activity, the better dashboards we can make to serve them. - -NEED MORE HERE diff --git a/content/insight/project-reporting/index.md b/content/insight/project-reporting/index.md deleted file mode 100644 index 2af669b1f..000000000 --- a/content/insight/project-reporting/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Insight Project Reporting Overview ---- -## `insight:project-reporting:` ---- - -### `milestone-publishing:` -- `codex` -- `nomos` -- `waku` -- `vac` - -### `monthly-reports` - -### `llm-dev-activity` - - diff --git a/content/monthly-reports/2023-aug.md b/content/monthly-reports/2023-aug.md index efe363693..2ee2afe75 100644 --- a/content/monthly-reports/2023-aug.md +++ b/content/monthly-reports/2023-aug.md @@ -1,74 +1,115 @@ -# Logos Collective Monthly Report - August 2023 +# Vac Monthly Report - August 2023 -## Executive Summary +## vsu::P2P -In August 2023, the Logos Collective made significant progress across all its projects: Acid, Codex, Innovation Lab, Nomos, Vac, and Waku. Key achievements include advancements in network privacy, data availability, proof systems, and scalability solutions. Teams focused on improving existing protocols, developing new features, and conducting extensive research to support future innovations. +### Achievements +- Improved gossipsub DDoS resistance +- Implemented and tested Perf protocol +- Progress on WebRTC integration +- Worked on becoming a Validator in the Nimbus Consensus client +- Addressed issues with IWANT replies in pubsub -## Project Highlights +### Key PRs and Issues +- [Improve gossipsub DDoS resistance](https://github.com/status-im/nim-libp2p/pull/920) +- [Perf protocol implementation](https://github.com/status-im/nim-libp2p/pull/925) +- [IWANT replies size issue](https://github.com/status-im/nim-libp2p/issues/887) -### Acid +## vsu::Tokenomics -- Developed Status app relaunch comms campaign plan -- Progressed on Logos Podcast Experience (LPE) launch -- Advanced work on brand guidelines and presentation templates -- Planned global event strategy, including Network State event +### Projects +- Codex: Economic analysis, including Filecoin comparison and miner perspectives +- Status: SNT-staking contract development and debugging +- Nomos: Focused on quantifying bribery attacks and assessing delegated staking risks +- Waku: Discussions on RLN and potential solutions -### Codex +### Key Activities +- Analyzed Filecoin's economic structure and timeline vs competitors +- Debugged and verified Multiplier Points calculation for SNT-staking +- Engaged with project teams to align on economic models and incentives -- Implemented Merkle tree for block data -- Advanced block discovery and retrieval simulations -- Improved distributed client testing and stability -- Progressed on L2 integration and marketplace sales features +## vsu::Distributed Systems Testing (DST) -### Innovation Lab +### Achievements +- Completed Wakurtosis Tech Report v2 and started on v2.5 +- Developed basic Shadow simulation of gossipsub nodes +- Improved analysis tools for Nomos simulations +- Advanced Waku protocol analysis and topology studies -- Continued development of Waku Objects prototype -- Implemented group chat support -- Integrated blockchain support (Gnosis chain, xDai, and Gno tokens) -- Launched new domain: wakuplay.im +### Key Deliverables +- [Wakurtosis Research Blog draft](https://github.com/vacp2p/vac.dev/pull/123) +- Nomos simulation analysis CLI supporting 10k nodes +- Waku protocols topology analysis improvements -### Nomos +## vsu::Smart Contracts (SC) -- Advanced network privacy and mixnet implementation -- Continued research on Private Proof of Stake (PPoS) -- Progressed on Data Availability Sampling (DAS) with RS and KZG implementations -- Improved simulation capabilities for large-scale testing +### Projects +- Status: Community contracts (ERC721 and ERC20) +- Ongoing upskilling through Secureum courses -### Vac +### Key Activities +- Delivered ERC721 community contracts +- Started work on ERC20 community contracts +- Moved community contracts to new foundry-template +- Progressed through Secureum slots, focusing on various smart contract concepts -- Enhanced P2P networking capabilities -- Conducted extensive research on various proof systems for zkVM -- Advanced RLN-relay enhancements for Waku -- Continued development of Tor-push method for validator privacy +### Maintenance +- Introduced Vac's own `foundry-template` for smart contract projects -### Waku +## vsu::Applied Cryptography & ZK (ACZ) -- Completed Autosharding v1 implementation -- Progressed on PostgreSQL integration for improved performance -- Enabled RLN by default in go-waku -- Advanced light protocols (push and filter) for Status integration +### Projects +- RLN-relay enhancements for Waku +- Zerokit maintenance and v0.4 development -## Cross-Project Achievements +### Key Achievements +- Multiple improvements and fixes for RLN-relay in nwaku +- Released zerokit v0.3.1 and v0.3.2 +- Progress on RLN-v2 implementation +- Developed `rln_keystore_generator` tool -1. **Scalability**: Multiple projects focused on improving scalability, with Waku targeting 10K users and laying groundwork for 1 million users. +### Notable PRs +- [RPC handler for waku rln relay](https://github.com/waku-org/nwaku/pull/1852) +- [Exposed `seq_atomic_operation` FFI API](https://github.com/vacp2p/zerokit/pull/206) -2. **Privacy**: Advancements in network privacy across Nomos (mixnet) and Vac (validator privacy) projects. +## vip::zkVM -3. **Data Availability**: Progress in both Codex and Nomos on data availability solutions. +### Research +- Conducted in-depth research on various proof systems including Nova, Sangria, HyperNova, and Plonky2 +- Started work on ProtoStar and Nova alternatives +- Drafted Nova Benchmarks document -4. **Proof Systems**: Extensive research and benchmarking of various proof systems in Vac's zkVM initiative. +### Documentation +- Updated the Nova questions document +- Prepared Plonky2 research document +- Started work on a blog post to explain findings and alternatives -5. **Ecosystem Growth**: Increased community engagement through events, social media, and documentation improvements. +## vc::Deep Research + +### Validator Privacy (ValPriv) +- Continued development and refinement of Tor-push PoC +- Enhanced the research paper with theoretical analysis and attack scenarios + +### GossipSub Scaling +- Conducted literature study on scalability and overlay design in P2P networks +- Executed various gossipsub simulations using shadow simulator +- Started writing a survey report on efficient broadcast in large-scale P2P networks + +### Consensus (Nomos/Carnot) +- Progressed on the article about bribery attacks, PoS, and Carnot +- Began work on a Carnot variant that aggregates the majority of votes +- Analyzed Carnot test results, focusing on latency variations + +## vc::RFC + +- Updated RFC spec for Community History Archive protocol +- Started porting `/spec/6/PAYLOADS` to Vac ## Challenges and Next Steps -1. Continue refining and implementing scalability solutions across projects. -2. Further development and integration of privacy-enhancing technologies. -3. Advance research and implementation of novel consensus mechanisms and proof systems. -4. Expand test coverage and improve quality assurance processes. -5. Enhance cross-project collaboration and knowledge sharing. -6. Continue ecosystem growth through strategic partnerships and community engagement. +1. Continue refining and optimizing the Tor-push method for validator privacy +2. Further development and testing of RLN-relay enhancements for Waku +3. Advance the research and benchmarking of various proof systems for zkVM +4. Progress on scaling solutions for gossipsub and large-scale P2P networks +5. Finalize and publish various research reports and articles in progress -## Conclusion - -August 2023 saw substantial progress across all Logos Collective projects. The teams demonstrated a strong focus on scalability, privacy, and ecosystem growth while continuing to innovate in their respective domains. The collaborative efforts and cross-project synergies position the Logos Collective well for future developments and increased adoption of its technologies. \ No newline at end of file +The Vac team has made significant strides across multiple domains in August, with notable progress in P2P networking, cryptography, distributed systems testing, and blockchain research. The team continues to balance cutting-edge research with practical implementations and improvements to existing systems. \ No newline at end of file diff --git a/content/monthly-reports/2023-oct.md b/content/monthly-reports/2023-oct.md new file mode 100644 index 000000000..2a2efd459 --- /dev/null +++ b/content/monthly-reports/2023-oct.md @@ -0,0 +1,8 @@ +--- +title: 2023 October Vac Monthly Report +date: 2023-10-30 +lastmod: 2023-11-14 +tags: + - monthly-report +draft: true +--- diff --git a/content/monthly-reports/2023-sept.md b/content/monthly-reports/2023-sept.md new file mode 100644 index 000000000..85aad9a49 --- /dev/null +++ b/content/monthly-reports/2023-sept.md @@ -0,0 +1,63 @@ +--- +title: 2023 September Vac Monthly Report +draft: true +lastmod: 2023-09-13 +--- + +## Executive Summary + +## Key Updates + +### Personnel +- Moh will be leaving the Deep Research team at the end of Oct. +- Tanguy left the Peer-to-peer team mid Oct. +- Roman joined the ACZ team at the end of Sept. + +### Vac Core + +#### RFC Process and Maintenance + + +#### Deep Research + + +### Support Services + +#### Peer-to-peer + + +#### Distributed Systems Testing + + +#### Token Engineering + + +#### Applied Cryptography and Zero-Knowledge + + +#### Smart Contract Development + + +### Incubation Projects + +#### Nescience (formerly zkVM) +The zkVM team officially changed its name to Nescience and will run with that as it grows. On Aug 28th, the team released a [detailed article](https://vac.dev/rlog/Nescience-A-zkVM-leveraging-hiding-properties/) describing the overall project and its ambitions. If you haven't read it, you should. + +The team performed a Logos Research Call presentation on the Frozen Heart Vulnerability. A summary and associated links to content can be found [in the minutes]() + +## Perceived Changes in Project Risk + +## Future Plans + +### Insight + +### Project + +## Sources and Useful Links + +Weekly Updates +- [[vac/updates/2023-09-18|2023-09-18]] +- [[vac/updates/2023-09-25|2023-09-25]] +- [[vac/updates/2023-10-02|2023-10-02]] +- [[vac/updates/2023-10-09|2023-10-09]] +- [[vac/updates/2023-10-16|2023-10-16]] \ No newline at end of file diff --git a/content/monthly/2024-09.md b/content/monthly/2024-09.md new file mode 100644 index 000000000..31aceb4fe --- /dev/null +++ b/content/monthly/2024-09.md @@ -0,0 +1,10 @@ +--- +title: "2024-09 Vac monthly" +tags: + - "vac-monthly" +date: 2024-09-29 +lastmod: 2024-09-29 +draft: false +--- + +## Vac Monthly Report 2024/09 diff --git a/content/nes/index.md b/content/nes/index.md new file mode 100644 index 000000000..162df9288 --- /dev/null +++ b/content/nes/index.md @@ -0,0 +1,16 @@ +--- +title: Nescience Incubation Project +description: Nescience Zero-knowledge State Separation Architecture +tags: +- zkvm +- vac +--- + +## `vac:nes:` +--- + +Nescience commitments are listed in Notion (TBD) + + + + diff --git a/content/nim/index.md b/content/nim/index.md new file mode 100644 index 000000000..74fb2abdd --- /dev/null +++ b/content/nim/index.md @@ -0,0 +1,17 @@ +--- +title: Nim Unit +tags: + - nim + - vac +--- + +## `vac:nim:` +--- + +### `ift:` +* [ ] [[nim/ift/nim-suggest|nim-suggest]] +* [ ] [[nim/ift/nimble|nimble]] +* [ ] [[nim/ift/compiler|compiler]] +* [ ] [[nim/ift/editor|editor]] +* [ ] [[nim/ift/lsp|lsp]] + diff --git a/content/nomos/base-layer-spec/data-availability/index.md b/content/nomos/base-layer-spec/data-availability/index.md deleted file mode 100644 index 88bf5d0a1..000000000 --- a/content/nomos/base-layer-spec/data-availability/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -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 -``` \ No newline at end of file diff --git a/content/nomos/base-layer-spec/index.md b/content/nomos/base-layer-spec/index.md deleted file mode 100644 index aeb691261..000000000 --- a/content/nomos/base-layer-spec/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -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]] \ No newline at end of file diff --git a/content/nomos/base-layer-spec/network-privacy/index.md b/content/nomos/base-layer-spec/network-privacy/index.md deleted file mode 100644 index 7c6d5ba31..000000000 --- a/content/nomos/base-layer-spec/network-privacy/index.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -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 -``` - diff --git a/content/nomos/base-layer-spec/priv-pos/index.md b/content/nomos/base-layer-spec/priv-pos/index.md deleted file mode 100644 index 059ff7f05..000000000 --- a/content/nomos/base-layer-spec/priv-pos/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -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 -``` - diff --git a/content/nomos/base-layer-testnet/index.md b/content/nomos/base-layer-testnet/index.md deleted file mode 100644 index 5de2dbc25..000000000 --- a/content/nomos/base-layer-testnet/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -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]] \ No newline at end of file diff --git a/content/nomos/base-layer-testnet/testnet/index.md b/content/nomos/base-layer-testnet/testnet/index.md deleted file mode 100644 index fc27f1252..000000000 --- a/content/nomos/base-layer-testnet/testnet/index.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -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 -``` \ No newline at end of file diff --git a/content/nomos/consensus-def/index.md b/content/nomos/consensus-def/index.md deleted file mode 100644 index 23018a23e..000000000 --- a/content/nomos/consensus-def/index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/nomos/index.md b/content/nomos/index.md deleted file mode 100644 index d8b02e96c..000000000 --- a/content/nomos/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -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 Overview -The Nomos project building a blockchain for Network States. To learn more about the project, please visit [the website](https://nomos.tech) - -Nomos is currently in its research phase, and actively building a Testnet. - diff --git a/content/nomos/milestones/coordination-layer.md b/content/nomos/milestones/coordination-layer.md deleted file mode 100644 index 0f514ec6a..000000000 --- a/content/nomos/milestones/coordination-layer.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Coordination Layer -tags: - - nomos-milestone - - roadmap-2024 ---- -### Core Tasks - -- Define data model (ie UTXO + partial transactions) -- Select proving system. This could potentially become a very large project, requiring tooling and compiler development. But we should try by all means using a ZK system with a compiler readily available. -- Provide the necessary tools for a ZK engineer to develop the 3 proofs and experimental Zone bridges. - -### Action Plan - -The stages of research and development for the CL are as follow: - -1. **Phase 1: Design CL data model.** We need a simple, expressive transaction system that supports synchronous composability. The output from this phase will be a CL specification focused on supporting one key feature: *private atomic asset transfers between zones*. -2. **Phase 2: Choose ZK system.** The single most important task of the research team in this work-stream is to make the fundamental choices that will allow us to build the foundation as fast as possible for a usable CL. This has to be done carefully and considering the specific use case of ZK in the CL, with the requirements that we have. -3. **Phase 3: Build the minimal system for protocol dependencies.** After this, we need to put a minimal system in place, so that the 3 proofs of the protocol can be built. This is a big blocker for the network privacy and PPoS protocols, so it needs to be the primary implementation objective. -4. **Phase 4 (partially in 2024): Develop the CL tooling and integration to unlock more complex engineering feats.** This will be a larger task, and not assumed to be finished by 2024. These include: - 1. Zone bridges - 2. Synchronous composability - 3. Aggregation/Solving layer \ No newline at end of file diff --git a/content/nomos/milestones/data-availability.md b/content/nomos/milestones/data-availability.md deleted file mode 100644 index afea5449c..000000000 --- a/content/nomos/milestones/data-availability.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Data Availability -tags: - - nomos-milestone - - roadmap-2024 ---- -### Core Tasks - -- **Dispersal.** Design Dispersal algorithm. With current conclusions on the DA requirements of Zones, we can design dispersal given: -- Number of chunks -- Number of nodes participating in DA -- **PoV.** This solution will require gossip-based distribution of Proof of Validator (see below) and public keys, to allow VID without relying on validator registries. -- **VID?** Analyze if VID is still a better option than async validator light-node verification (the Danksharding way), given the target design with many more nodes than initially accounted for. -- **Dissemination.** Design of an altruistic replication protocol (ie dissemination), to further strengthen the DA, by extending it beyond the Nomos validators to Light Nodes. This could be a DHT or similar solution. -Perhaps this turns into “DA starts with a groups of selected validators and then it's further disseminated although without proof in VID” situation, which might actually be more coherent with our vision. Answering this question is very important. - -### Action Plan - -Solving the remaining problems of DA requires mainly knowledge of distributed systems. The only exception is the PoV, which can be designed a researcher with more knowledge of Zk. Note that it's mainly an ZK engineering problem, not a protocol problem. - -The steps to implement Data Availability are the following: - -1. Initial implementation. Pick a number of nodes and disperse the chunks directly to them. This solution is insufficient for production because it lacks two things: - 1. Even distribution of chunks in the entire validator set. - 2. A single client cannot disperse the chunks well enough, while at the same time gossiping cannot be used for this (defeats the entire purpose of DA). - 3. A way to verify that the network has achieved enough dissemination. - 4. It doesn't scale. If we have 100k nodes, do we select a subset? How's that subset gonna distribute to the rest of the network. -2. ASAP, Design a dispersal and dissemination protocol, to solve the above problems. This can be thought of an IPFS kind of protocol. The main difference is that the validators are able to verify DA through sampling to ensure the data is there. -3. Implement solution in 2. - -DA is a problem that looks more solved than it actually is. The key aspects that remain to be solved are listed above. Working on solutions for this, while maintaining the design principle of maximizing validator count with low reliability, it's paramount. \ No newline at end of file diff --git a/content/nomos/milestones/index.md b/content/nomos/milestones/index.md deleted file mode 100644 index 7709a1de6..000000000 --- a/content/nomos/milestones/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Nomos Milestones -tags: - - milestones - - nomos ---- -## Milestones -- [[p2p-privacy|P2P Privacy]] -- [[data-availability|Data Availability]] -- [[ppos-consensus|PPoS / Consensus]] -- [[coordination-layer|Coordination Layer]] -- [[testnet-insights|Testnet + Insights]] -- [[user-tools|User Tools]] - -## Additional Resources -- [Notion Milestone Execution Plan](https://www.notion.so/2024-Nomos-Milestone-Execution-Plan-62004acdaa5e4c65bd8c5b10e935e78b) -- [Notion Milestone Tracker](https://www.notion.so/Planning-72abffc47cf44a4da7a4d99d22146dde) \ No newline at end of file diff --git a/content/nomos/milestones/p2p-privacy.md b/content/nomos/milestones/p2p-privacy.md deleted file mode 100644 index b4a060af1..000000000 --- a/content/nomos/milestones/p2p-privacy.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: P2P Privcay -tags: - - nomos-milestone - - roadmap-2024 ---- -### Core Tasks - -- Implement Proof of Leader Election -- Implement Proof of Validator (rather employed at other layers, but planning-wise it's better to consider it here) -- Full Analysis of Wealth Concentration using game-theoretical node behavior. -- Full Analysis of privacy leak due to orphan proofs - -### Action Plan - -The consensus protocol is the best-known piece of our design, given our extensive experience in the matter. However, its guarantees depend largely on the network layer, while all the remaining cryptographic components depend on the CL. These two is where our focus is on. Besides this, most of the deliverables are advanced-stage components, meaning that they are the last pieces remaining. - -The road towards finalization looks as follows: - -1. Implement the 2 proofs. This depends on the Coordination Layer. -2. Fully analyze the remaining open questions (wealth concentration and privacy leaks via orphan proofs). The work on wealth concentration is scheduled to start soon. \ No newline at end of file diff --git a/content/nomos/milestones/ppos-consensus.md b/content/nomos/milestones/ppos-consensus.md deleted file mode 100644 index 8ff63a96f..000000000 --- a/content/nomos/milestones/ppos-consensus.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: PPoS / Consensus -tags: - - nomos-milestone - - roadmap-2024 ---- -### Core Tasks - -- Implement Proof of Leader Election -- Implement Proof of Validator (rather employed at other layers, but planning-wise it's better to consider it here) -- Full Analysis of Wealth Concentration using game-theoretical node behavior. -- Full Analysis of privacy leak due to orphan proofs - -### Action Plan - -The consensus protocol is the best-known piece of our design, given our extensive experience in the matter. However, its guarantees depend largely on the network layer, while all the remaining cryptographic components depend on the CL. These two is where our focus is on. Besides this, most of the deliverables are advanced-stage components, meaning that they are the last pieces remaining. - -The road towards finalization looks as follows: - -1. Implement the 2 proofs. This depends on the Coordination Layer. -2. Fully analyze the remaining open questions (wealth concentration and privacy leaks via orphan proofs). The work on wealth concentration is scheduled to start soon. \ No newline at end of file diff --git a/content/nomos/milestones/testnet-insights.md b/content/nomos/milestones/testnet-insights.md deleted file mode 100644 index 50bdf1c02..000000000 --- a/content/nomos/milestones/testnet-insights.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Testnet + Insights -tags: - - nomos-milestone - - roadmap-2024 ---- -### Core Tasks - -- Testnet Instrumentation. Internal, for debugging pre-releases. - - Health Monitoring - - Instrumentation for DS debugging - - Leader selection and Fork visualization -- Network Explorers. Public access, but a critical tool for debugging. - - Block and mempool explorers - -### Action Plan - -This work-stream is purely an engineering effort, but with the caveat that introduces user-facing systems like the Network Explorer. Both internal instrumentation and public-facing functionality should be initiated as soon as possible. - -The key in implementing these is to start with a minimal functionality keeping these two primary objectives in mind: - -1. **Help us** develop, debug and understand our network -2. **Attract users by exposing visualizations of the blockchain** with cool tools for exploring the chain and the network behavior. This is, in a way, a marketing tool. \ No newline at end of file diff --git a/content/nomos/milestones/user-tools.md b/content/nomos/milestones/user-tools.md deleted file mode 100644 index d0c9d3bbf..000000000 --- a/content/nomos/milestones/user-tools.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: User Tools -tags: - - nomos-milestone - - roadmap-2024 ---- -### Core Tasks - -- Wallet - - Major browser support - - Basic functionality: payments, inscriptions, tokens -- Ultra-easy to run validator software - - Must have GUI and background runner (similar to Dropbox tool) - - One-click installation for Windows/OSX/Linux - -### Action Plan - -The priority should be to implement the wallet, since we can have initially a node that is not easy to run. Making it easy is something that can be achieved once we have a functioning system. The wallet is however necessary for any usable Testnet that we want to make public. - -The main problem is that the wallet is highly dependent on the Coordination Layer, so further efforts in this area are blocked until that is solved (at least past Phase 1). \ No newline at end of file diff --git a/content/nomos/monthly-reports/2023-aug.md b/content/nomos/monthly-reports/2023-aug.md deleted file mode 100644 index c1043f091..000000000 --- a/content/nomos/monthly-reports/2023-aug.md +++ /dev/null @@ -1,82 +0,0 @@ -# Nomos Monthly Report - August 2023 - -## Network Privacy and Mixnet - -### Research -- Conducted in-depth research on Nym mixnet architecture to design prototype architecture. -- Discussed mixnet topology management and reached a preliminary agreement on architecture. -- Analyzed end-to-end latency in Mixnet PoC, identifying potential optimization areas. - -### Development -- Implemented a prototype for Sphinx packet building, mixing packets at the first hop of gossipsub with 3 mixnodes. -- Added support for libp2p in tests and nomos node. -- Developed base implementation of Mixnet PoC and continued improvements. -- Implemented mixnode core module and mixnet-client library. -- Added features like Sphinx packet delay support, auto port for integration tests, and graceful shutdown for mixnode elements. -- Began shifting from channels to streams in mixnet message handling. - -### Documentation -- Created Mixnet Architecture document: [Mixnet Architecture](https://www.notion.so/Mixnet-Architecture-613f53cf11a245098c50af6b191d31d2) -- Prepared Mixnet Measurements documentation: [Mixnet Measurements](https://www.notion.so/Mixnet-Measurements-551ade11ae4d44ca9f3d947ea6950c67) - -## Private Proof of Stake (PPoS) - -### Research -- Worked on PPoS design, addressing potential metadata leakage due to staking and rewarding. -- Focused on potential bribery attacks and privacy reasoning. -- Updated draft addressing comments related to shielded and transparent transaction types. -- Defined an opportunistic voting problem. -- Continued analysis on zCash transaction's construction. -- Discussed token-engineering and staking in private settings. - -### Development -- Progress on this project was slower compared to others and requires more attention going forward. - -## Data Availability Sampling (DAS) - -### Research -- Analyzed data decimation in the data availability problem. -- Conducted DA benchmarks and analysis for data commitments and encoding. -- Explored and discarded the idea of node sharding. -- Studied RS+KZG in the context of DA architecture. -- Analyzed node decay in relation to data availability. -- Discovered limitations in RS and KZG implementation, particularly with library scalability and finite field challenges. - -### Development -- Created basic wrappers and APIs for Reed-Solomon encoding and KZG commitments. -- Implemented RS and KZG libraries with simplistic APIs. -- Conducted benchmarks for KZG implementation and simulation runs for different configurations. -- Developed KZG Base Layer initial approach. - -### Documentation -- Improved upper bound analysis on data availability probability: [Overleaf Document](https://www.overleaf.com/read/gzqvbbmfnxyp) -- Documented RS & KZG benchmarking results: [Notion Document](https://www.notion.so/2D-Reed-Solomon-Encoding-KZG-Commitments-benchmarking-b8340382ecc741c4a16b8a0c4a114450) - -## Testing, CI, and Simulation App - -### Development -- Made various fixes and improvements to the simulation application. -- Shared simulation app and instructions. -- Updated and merged CI improvements. -- Implemented parallel node init for improved simulation run times. -- Developed branch overlay for simulating 100K+ nodes. -- Updated sequential builds for nomos node features in CI. -- Created a new repository for simulations configurations and test results. -- Implemented graceful shutdown of simulations. -- Added support for CSV format output of simulation data. - -## Challenges and Next Steps - -1. The Private PoS project is progressing slower than others and requires more attention. -2. Addressing limitations discovered in RS and KZG implementations, particularly scalability issues. -3. Continuing to optimize the Mixnet implementation based on PoC results. -4. Further development and refinement of the simulation app for more comprehensive testing. - -## Resources and Links - -- Nomos Node Repository: [https://github.com/logos-co/nomos-node](https://github.com/logos-co/nomos-node) -- Nomos Simulations Repository: [https://github.com/logos-co/nomos-simulations](https://github.com/logos-co/nomos-simulations) -- Mixnet Architecture Document: [https://www.notion.so/Mixnet-Architecture-613f53cf11a245098c50af6b191d31d2](https://www.notion.so/Mixnet-Architecture-613f53cf11a245098c50af6b191d31d2) -- Data Availability Analysis: [https://www.overleaf.com/read/gzqvbbmfnxyp](https://www.overleaf.com/read/gzqvbbmfnxyp) - -The Nomos team has made significant progress across multiple areas in August, with notable advancements in Mixnet implementation, Data Availability Sampling research, and simulation capabilities. The Private PoS project requires additional focus in the coming months to keep pace with other developments. \ No newline at end of file diff --git a/content/nomos/monthly-reports/2023-oct.md b/content/nomos/monthly-reports/2023-oct.md deleted file mode 100644 index ddab6afa8..000000000 --- a/content/nomos/monthly-reports/2023-oct.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: 2023 October Nomos Monthly Report -draft: true -lastmod: 2023-10-25 -description: "October 2023 Monthly Report of Nomos" ---- -## Executive Summary -October was marked with a continued push to finalized the architecture whitepaper, development of the Base Layer specification and the infrastructure required to create a testnet from the Base Layer MVP node implementation. - -The whitepaper content is under review alongside some graphic design for a few of the more complicated figures. - -## Key Updates - -### Personnel -- - -### Milestones - -## Perceived Changes in Project Risk - -## Future Plans - -### Insight - -### Project - -## Sources and Useful Links - -Weekly Reports -- [[nomos/updates/2023-10-09|2023-10-09]] -- [[nomos/updates/2023-10-17|2023-10-17]] -- [[nomos/updates/2023-10-23|2023-10-23]] -- [[nomos/updates/2023-10-30|2023-10-30]] \ No newline at end of file diff --git a/content/nomos/monthly-reports/2023-sept.md b/content/nomos/monthly-reports/2023-sept.md deleted file mode 100644 index b0d5decb3..000000000 --- a/content/nomos/monthly-reports/2023-sept.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -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]] \ No newline at end of file diff --git a/content/nomos/monthly-reports/index.md b/content/nomos/monthly-reports/index.md deleted file mode 100644 index 0efce4aef..000000000 --- a/content/nomos/monthly-reports/index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Nomos Monthly Reports ---- -Here are the monthly reports that are generated for Nomos. \ No newline at end of file diff --git a/content/nomos/updates/2023-07-24.md b/content/nomos/updates/2023-07-24.md deleted file mode 100644 index 613f29c52..000000000 --- a/content/nomos/updates/2023-07-24.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -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) \ No newline at end of file diff --git a/content/nomos/updates/2023-07-31.md b/content/nomos/updates/2023-07-31.md deleted file mode 100644 index c61872c16..000000000 --- a/content/nomos/updates/2023-07-31.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -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. \ No newline at end of file diff --git a/content/nomos/updates/2023-08-07.md b/content/nomos/updates/2023-08-07.md deleted file mode 100644 index e6b195bf6..000000000 --- a/content/nomos/updates/2023-08-07.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -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) \ No newline at end of file diff --git a/content/nomos/updates/2023-08-14.md b/content/nomos/updates/2023-08-14.md deleted file mode 100644 index d6d686277..000000000 --- a/content/nomos/updates/2023-08-14.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -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] \ No newline at end of file diff --git a/content/nomos/updates/2023-08-21.md b/content/nomos/updates/2023-08-21.md deleted file mode 100644 index 82cf85073..000000000 --- a/content/nomos/updates/2023-08-21.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/nomos/updates/2023-08-29.md b/content/nomos/updates/2023-08-29.md deleted file mode 100644 index e95852ec8..000000000 --- a/content/nomos/updates/2023-08-29.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/nomos/updates/2023-09-04.md b/content/nomos/updates/2023-09-04.md deleted file mode 100644 index f18201e30..000000000 --- a/content/nomos/updates/2023-09-04.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/nomos/updates/2023-09-11.md b/content/nomos/updates/2023-09-11.md deleted file mode 100644 index 504f7ffe7..000000000 --- a/content/nomos/updates/2023-09-11.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/nomos/updates/2023-09-19.md b/content/nomos/updates/2023-09-19.md deleted file mode 100644 index 0ea7f3e04..000000000 --- a/content/nomos/updates/2023-09-19.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/nomos/updates/2023-09-26.md b/content/nomos/updates/2023-09-26.md deleted file mode 100644 index b3901b6c5..000000000 --- a/content/nomos/updates/2023-09-26.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -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 \ No newline at end of file diff --git a/content/nomos/updates/2023-10-09.md b/content/nomos/updates/2023-10-09.md deleted file mode 100644 index b569369e2..000000000 --- a/content/nomos/updates/2023-10-09.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: 2023-10-09 Nomos weekly -tags: - - nomos-updates -date: 2023-10-09 -lastmod: 2023-10-10 -draft: false -description: Weekly update of ---- -## `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. \ No newline at end of file diff --git a/content/nomos/updates/2023-10-17.md b/content/nomos/updates/2023-10-17.md deleted file mode 100644 index 598bf040e..000000000 --- a/content/nomos/updates/2023-10-17.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: 2023-10-17 Nomos weekly -tags: - - nomos-updates -date: 2023-10-17 -lastmod: 2023-10-25 -draft: false -description: 2023-10-17 Weekly update of Nomos ---- -## `network privacy and mixnet:` - -### `research:` - -- Finalized the write up and summaries of the privacy network research - https://www.notion.so/Network-Privacy-2dabf0aa878744e299b2ebb97120876f (Pinned those notes that are the most important, to serve as a guidance for anyone who wants to have a quicker overview of the topic) - ---- -## `testnet:` - -### `development:` - -- Improved integration tests: https://github.com/logos-co/nomos-node/pull/458 -- Preparing for demo -- Lifecycle handling: https://github.com/logos-co/nomos-node/pull/457 -- A note on current testnet implementation. Realized that even with python code the configuration of mixnet and libp2p nodes are getting too complicated, nodes are still missing features and the glue code is not a solution in the long run. Will have more discussions. - ---- -## `private PoS:` - -### `research:` - -- Initial proposal for multi-staking PPoS design for Carnot: https://www.notion.so/Sketch-Approximated-PoS-with-k-anonymity-towards-multi-staking-for-Carnot-BFT-e066eb4f80114ddc862a8665aea952b6?pvs=4 - ---- -## `data availability:` - -### `research:` - -- Sona polynomial commitment scheme was examined and found to be applicable to data availability. Comparisons and notes can be viewed here:https://www.notion.so/Polynomial-Commitment-Schemes-59bf8f6fe39840babe819c5c0a9628fc -- If we continue with KZG, the method to be followed for "trusted setup" was investigated. Some methods can be found here: https://www.notion.so/Trusted-Setup-19a29ee752f14e96895328a0bd7a9634 -- Added notes on using prime field: https://www.notion.so/Notes-c4a680142a954953a2c0ea0e4b6fdcf1 - - ---- -## `Eurorust Event:` -Here are some notes by Daniel about the event the Engineering Team attended to last weekend: -- From the ecosystem speeches we can say they are constantly making efforts on making the language mature. impl Trait in traits are coming later this year, will impact our codebase (will need some refactors). It doesn't look like a big change but it kind of is. We use a lot of abstractions (futures + streams mostly) that force use to box everything (dynamic dispatch), that now will be statically dispatched. -- Overall keynotes and speeches were not really good. More exploratory than anything. Some of them showed tech that was mostly not relevant to us. -Gathering the team had some impact. We had some bonding on related topics that all of us enjoy. And we had some conversations that otherwise would not probably took place. -- IMO probably not worth to repeat this kind of events unless we participate in a more active way (preparing a speech ourselves and apply which I think we are totally capable of. We have a few things we could show up - Simulation app or Overwatch for example). \ No newline at end of file diff --git a/content/nomos/updates/2023-10-23.md b/content/nomos/updates/2023-10-23.md deleted file mode 100644 index 8348bfe59..000000000 --- a/content/nomos/updates/2023-10-23.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: 2023-10-25 Nomos weekly -tags: - - nomos-updates -date: 2023-10-23 -lastmod: 2023-10-25 -draft: false -description: 2023-10-23 Weekly update of 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 aditional handle per service, it is morestraight forward. It may add more intricated 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 - -## nomos::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 - -### ::development - - -## nomos::miscellaneous - -- David Rusu has joined - warm welcome to him! \ No newline at end of file diff --git a/content/nomos/updates/2023-10-30.md b/content/nomos/updates/2023-10-30.md deleted file mode 100644 index 5137266c9..000000000 --- a/content/nomos/updates/2023-10-30.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: 2023-10-30 Nomos weekly -tags: - - nomos-updates -date: 2023-10-30 -lastmod: 2023-10-31 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet:` - -### `research:` - -- Analysis of failure probability in random partitions of networks constructed from nodes with prescribed voting “weights” - derived equations for the probability of anonymity (communication) failure in the mix network of a large size, n, sampled from a large population of nodes of the size, N, such that n is comparable with N (https://www.overleaf.com/read/rybwvjftfrrg). Analysis of these equations is currently in progress. -- Set up a model of random partitions of networks where each node has a weight (https://www.overleaf.com/read/kkmsngmcgbkj#c4de95). Derivation of probability distributions for this model is currently in progress. -- We have agreed to put more effort into designing a fully weighted multi-staking privacy PoS design. The goal is to map the space of possible solutions (at least the subset of solutions that have been worked on and thought about lately) and their impact on the privacy, security and efficiency of the network. - -### `development:` - -- Mixnet specifications: Goals + Basic specs (implemented already) + Cover traffic - https://www.notion.so/WIP-Mixnet-Development-Specifications-807b624444a54a4b88afa1cc80e100c2 -- Making Nomos & Mixnode stable for Testnet - Investigated/resolved CI failures: https://github.com/logos-co/nomos-node/pull/49 - -## `testnet:` - -### `development:` - -- Test nomos demo this week! -- Simulation overlay topology info: https://github.com/logos-co/nomos-node/pull/478 and https://github.com/logos-co/nomos-node/pull/479 - to understand better how the network topology looks inside a simulation with a large number of nodes, a way to visualise the network was added -- Simulation optional network capacity: https://github.com/logos-co/nomos-node/pull/483 - after discussing potential issues for getting baseline simulation results for networks with large number of nodes, the option to disable network capacity simulation was added. Advised the DST team to drastically increase the timeout number, so that the baseline will have all the nodes participating (happy path) -- Testnet consensus layer setup: https://github.com/logos-co/nomos-node/pull/482 -- CI summary for long running integration tests: https://github.com/logos-co/nomos-node/pull/484 -- Discussion about metrics service and prometheus - current http metrics service is fine, but its design is more fitting for the UIs rather than metrics collectors like prometheus. Explored this idea with libp2p (https://github.com/logos-co/nomos-node/pull/431), it seems like a good idea to have a node-wide service like node-http-api for prometheus metrics. -- Fix overwatch lifecycle refactor issue: https://github.com/logos-co/Overwatch/pull/31 -- Sighandler service: https://github.com/logos-co/nomos-node/pull/480 -- Implement da-blob API: https://github.com/logos-co/nomos-node/pull/487 -- Implement storage API: https://github.com/logos-co/nomos-node/pull/488 -- Implement add cert and add tx APIs: https://github.com/logos-co/nomos-node/pull/489 -- Integrate the new HTTP backend to nomos-node: https://github.com/logos-co/nomos-node/pull/490 -- Add http API to revive block contents from storage: https://github.com/logos-co/nomos-node/pull/473 -- Add API to revive DA blobs: https://github.com/logos-co/nomos-node/pull/477 -- Allow deprecated type in Swarm: https://github.com/logos-co/nomos-node/pull/486 - -## `private PoS:` - -### `research:` - -- Rewards for validators/delegators - the live document "Delegation and Validation Rewards": https://www.notion.so/Delegation-and-Validation-Rewards-d4af3f87a0b240739ff99b15af11cb3f?pvs=4 -- Read up on Zarcanum (PPoS chain), not much to get inspired from them - https://www.notion.so/Private-Proof-of-Stake-182722d1bdef4894af1d56fece334eae#b8cc6b67f7334b41930bd091458dff2b -- Weighted-BRB - https://www.notion.so/Weighted-Byzantine-Reliable-Broadcast-in-front-of-PoS-consensus-d160a930522942ac98ebf42dc7c515bd - -## `data availability:` - -### `research:` - -- Survey of polynomial commitment schemes - https://www.notion.so/Mehmet-5e698a9bba5d489aa058d3a695cda12f - work in progress, but-RS+KZG seems to be the more reasonable option for data availability at the first stage. diff --git a/content/nomos/updates/2023-11-06.md b/content/nomos/updates/2023-11-06.md deleted file mode 100644 index 7fd9072dc..000000000 --- a/content/nomos/updates/2023-11-06.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: 2023-11-06 Nomos weekly -tags: - - nomos-updates -date: 2023-11-06 -lastmod: 2023-11-07 -draft: false -description: Weekly update of Nomos ---- - -## `network privacy and mixnet` - -### `research` - -### `development` - -- Enriched cover traffic specs: [Notion link](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#4fa4a0ba72ed44c28d5d5dd45422843c)  -- Added a fallback for the case where mixnet fails: [Notion link](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#b9188f37004449d5b524fcd18ffceb0f)  -- Nomos integration test stabilization -- Tune timeouts (by heavy debugging): - - https://github.com/logos-co/nomos-node/pull/492 - - https://github.com/logos-co/nomos-node/pull/494  -- Prevent Duplicate error from libp2p gossipsub broadcasting: https://github.com/logos-co/nomos-node/pull/498  -- Fix port conflict: https://github.com/logos-co/nomos-node/pull/504  -- Store CI artifacts: - - https://github.com/logos-co/nomos-node/pull/508  - - https://github.com/logos-co/nomos-node/pull/510  -- Mixnet implementation improvement -- Mixclient reconnect: https://github.com/logos-co/nomos-node/pull/501  - - -## `testnet` - -### `development` - -- Services APIs: - - https://github.com/logos-co/nomos-node/pull/476  - - https://github.com/logos-co/nomos-node/pull/487  - - https://github.com/logos-co/nomos-node/pull/488  - - https://github.com/logos-co/nomos-node/pull/489  -- Mempool aware of included blocks: https://github.com/logos-co/nomos-node/pull/485 -- Voter attestation: https://github.com/logos-co/nomos-node/pull/498  -- Community PRs - typos: - - https://github.com/logos-co/nomos-node/pull/503  - - https://github.com/logos-co/nomos-node/pull/481  -- Http API integration (Made the CI all green for the integrating PRs): https://github.com/logos-co/nomos-node/pull/490  -- Chat demo: https://github.com/logos-co/nomos-node/pull/495  -- Nomos node types (extract common types from nomos-node crate): https://github.com/logos-co/nomos-node/pull/496  -- Nomos update for demo call: [Notion link](https://www.notion.so/Nomos-update-November-2023-3b9a90935fce4e9083e6111210d0f101)  -- Static testnet configuration: https://github.com/logos-co/nomos-node/pull/499  -- In order to reliably expose all services when deployed, static configuration was added. -- Public deployment of temporal nomos testnet: ⁠general⁠ -- To work out all missing pieces a temporal VPS was chosen for testnet deployment. The deployment was tested with nomos-cli app -- Preparing for testnet deployment on nomos infrastructure: https://github.com/status-im/infra-misc/issues/189  -- To have testnet properly deployed and available at nomos.tech domain, we need to deploy it on - New API: https://github.com/logos-co/nomos-node/pull/509  -- Implement a basic version concrete error for Overwatch: https://github.com/logos-co/Overwatch/pull/32  -- Remove included  blocks from mempool: https://github.com/logos-co/nomos-node/pull/485 -- DA utilities: https://github.com/logos-co/nomos-node/pull/493   -- Rework consensus API: https://github.com/logos-co/nomos-node/pull/502  -- Include block ID during serialization of carnotinfo: -- https://github.com/logos-co/nomos-node/pull/505   -- Opened a new issue: https://github.com/logos-co/nomos-node/issues/506  - -## `private PoS` - -### `research` - -- Multi-staking - prepared a discussion doc drafting a couple of ideas such as: how we can hide stake/voting power using homomorphic encryption and the consequences of that approach. The bottom line is that with Carnot and its tree structure we cannot follow the generic Proof of Stake approach and hide the voting power at the same time. We need to modify the Proof of Stake to follow the number of votes rather than the voting power during the vote aggregation phase. This modification bears consequences that need to be studied carefully, as the probability of a failure or liveness issues might be higher: [Notion link](https://www.notion.so/Discussing-Privacy-of-the-Multi-Staking-PoS-for-Carnot-BFT-with-homomorphisms-ab33e034c04d4a08be688cdb86eaa741)  -- Rich Nodes Attack on Weighted Carnot worked out an attack that any private weighted-Carnot protocol will need to overcome: [Notion link](https://www.notion.so/Finding-Rich-Nodes-in-Weighted-Carnot-4a6e5964317a4765a05c46e600b69ac8)  -- Private Weighted Voting w/ Ring Signatures a solution to the above attack that relies on ring signatures to break the connection between a vote and voter: [Notion link](https://www.notion.so/Private-Weighted-Voting-w-Linkable-Ring-Signatures-6efcf400716f401b86d42e59941d4849)  -- From discussions on the above docs, started accumulating a summary of which behaviors to reward or penalize: List of Rewarded and Penalized Actions: [Notion link](https://www.notion.so/List-of-Rewarded-or-Penalized-Actions-3f0991ad8b4f494a9ba1d1edfb704f03)  -- Derived a probability distribution for the weights of committees for a scenario  when weights of nodes, modeled as random variables, are sampled in every voting round. -- A derivation of a probability distribution for a scenario when weights of nodes are only sampled once (currently in progress). -- Wrote a simulation code which would  allow us  to compare failure probabilities in the above  two scenarios with the (unweighted) original Carnot version. -- Details for probability distribution for the weights of committees for a scenario when weights of nodes, modeled as random variables, are sampled in every voting round, are provided in https://www.overleaf.com/read/kkmsngmcgbkj#c4de95  -- Rewards for validators/delegators: the live document [Notion link](https://www.notion.so/Delegation-and-Validation-Rewards-d4af3f87a0b240739ff99b15af11cb3f?pvs=4)  -- Research notes on rewards for validators/delegators: [Notion link](https://www.notion.so/Frederico-s-Research-Notes-b426cd773e214f35a5966f18d7db7588)  -- List of Rewarded or Penalized Actions: [Notion link](https://www.notion.so/List-of-Rewarded-or-Penalized-Actions-3f0991ad8b4f494a9ba1d1edfb704f03)  - - -## `data availability` - -### `research` - -- Finished the survey on the polynomial commitment schemes: [Notion link](https://www.notion.so/PCS-Survey-f06926a32c2d418897ff66fef1039a6e)   -- PCS related libraries were examined. The structures and benchmarks used were reviewed. Resources related to this were added to the research notes above.  -- This work in particular is a nice compilation:https://xn--2-umb.com/23/pc-bench/  -- Studied on EC+Commitment data structures. 1D or 1.5D structure may be more suitable for data availability within the scope of the Nomos project: [Notion link](https://www.notion.so/Erasure-Codes-Commitment-ea7c868255ad4f1a9ff9308d7f1df1c0)  - -### `development` - - -## `miscellaneous` - -- Nomos team will be at the offsite next week. diff --git a/content/nomos/updates/2023-11-13.md b/content/nomos/updates/2023-11-13.md deleted file mode 100644 index d4c0a9532..000000000 --- a/content/nomos/updates/2023-11-13.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: 2023-11-06 Nomos weekly -tags: - - nomos-updates -date: 2023-11-13 -lastmod: 2023-11-13 -draft: false -description: Weekly update of Nomos ---- - -## `network privacy and mixnet` - -### `research` -- Analysis of failure probability in random partitions of networks constructed from nodes with prescribed voting “weights”: -- Considered a scenario when weights and Byzantine labels of nodes are sampled once, i.e. fixed, and then assigned to committees randomly. -- A derivation of a probability distribution for the random process is currently in progress -- Considered designing a gradient descent algorithm which, given weights and Byzantine labels of nodes, tries to find assignments to committees with the smallest number of failures. -- Analysis and implementation of the above algorithm is currently in progress. -reviewed literature on analysis of Loopix mixnets and implemented code for a simulation which computes fraction of de-anonymized messages. -- The details on all of the above are provided in [https://www.overleaf.com/read/kkmsngmcgbkj#c4de95](https://www.overleaf.com/read/kkmsngmcgbkj#c4de95 "https://www.overleaf.com/read/kkmsngmcgbkj#c4de95") -- Walked through core parts of Nym implementation again to get details of what are written in papers. -- Clarified sphinx packet creation process (+ encryption): https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2#d0bbc9d1f63e43faaa30bb4c888102bd] -- Clarified delay calculation in Poisson distribution (inspired to Nym impl): [https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#3ae7e03fcbad461ab8d6b57e5c0e88fe](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#3ae7e03fcbad461ab8d6b57e5c0e88fe "https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#3ae7e03fcbad461ab8d6b57e5c0e88fe") -- Clarified loop cover traffic creation & interval in Poisson (inspired to Nym impl): [https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#14f53c5d6c844c828689f0412d5e2195](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#14f53c5d6c844c828689f0412d5e2195 "https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#14f53c5d6c844c828689f0412d5e2195") -- Suggesting skipping two other types of cover traffic (at least, for now) -- Drop cover by nomos-node: https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#76993c1312ea464a88557987a2f37b60 -- Loop cover by mix-node: https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#f07a473a4b5d4f338ff024a145f6b525 - -### `development` - -- Nomos integration test stabilization: [https://github.com/logos-co/nomos-node/pull/533](https://github.com/logos-co/nomos-node/pull/533 "https://github.com/logos-co/nomos-node/pull/533") -- Mixnet implementation improvement -- Fixed the concurrent packet handling in Mixnode: [https://github.com/logos-co/nomos-node/pull/530](https://github.com/logos-co/nomos-node/pull/530 "https://github.com/logos-co/nomos-node/pull/530") - -## `testnet` - -### `development` - -- Public deployment of Nomos testnet on nomos.tech infra: ⁠[general](https://discord.com/channels/1111286067413405788/1111288368723148941/1172569448381694004), [https://github.com/status-im/infra-misc/issues/189](https://github.com/status-im/infra-misc/issues/189 "https://github.com/status-im/infra-misc/issues/189"), [https://github.com/logos-co/nomos-node/pull/513](https://github.com/logos-co/nomos-node/pull/513 "https://github.com/logos-co/nomos-node/pull/513"), [https://github.com/logos-co/nomos-node/pull/520](https://github.com/logos-co/nomos-node/pull/520 "https://github.com/logos-co/nomos-node/pull/520"), [https://github.com/logos-co/nomos-node/pull/524](https://github.com/logos-co/nomos-node/pull/524 "https://github.com/logos-co/nomos-node/pull/524") -- The hardware and automation done and already running a master branch of our docker compose testnet. New tasks will be created for improving metrics, logging and stability, but this is a big milestone as we are now in control of this environment. -- Prometheus with new http api: [https://github.com/logos-co/nomos-node/pull/522](https://github.com/logos-co/nomos-node/pull/522 "https://github.com/logos-co/nomos-node/pull/522"), [https://github.com/logos-co/nomos-node/issues/523](https://github.com/logos-co/nomos-node/issues/523 "https://github.com/logos-co/nomos-node/issues/523") -- A proposal for metrics collection using prometheus, this will enable us to see what's happening in the node network easier. -- Simulations finalization times debugging: The issue when views are advanced faster than they should in simulations remains, the ability to remove all network constraints didn't resolve the issue. I still don't know the main reason for it, hopefully this week we'll have a breakthrough in this regard. -- Fixed an issue with nomos-cli api [https://github.com/logos-co/nomos-node/pull/525](https://github.com/logos-co/nomos-node/pull/525 "https://github.com/logos-co/nomos-node/pull/525") -- Add options to provide custom writer for log [https://github.com/logos-co/nomos-node/pull/518](https://github.com/logos-co/nomos-node/pull/518 "https://github.com/logos-co/nomos-node/pull/518") -- Disable logs [https://github.com/logos-co/nomos-node/pull/517](https://github.com/logos-co/nomos-node/pull/517 "https://github.com/logos-co/nomos-node/pull/517") -- Remove process::exit(1) from library code [https://github.com/logos-co/nomos-node/pull/516](https://github.com/logos-co/nomos-node/pull/516 "https://github.com/logos-co/nomos-node/pull/516") -- Limit carnot/blocks response size [https://github.com/logos-co/nomos-node/pull/515](https://github.com/logos-co/nomos-node/pull/515 "https://github.com/logos-co/nomos-node/pull/515") -- Do not use 0x prefix in serialization [https://github.com/logos-co/nomos-node/pull/514](https://github.com/logos-co/nomos-node/pull/514 "https://github.com/logos-co/nomos-node/pull/514") -- Identified [https://github.com/logos-co/nomos-node/issues/526](https://github.com/logos-co/nomos-node/issues/526 "https://github.com/logos-co/nomos-node/issues/526") - -## `private PoS` - -### `research` - -- "Delegation and Validation Rewards" doc update: https://www.notion.so/Delegation-and-Validation-Rewards-d4af3f87a0b240739ff99b15af11cb3f?pvs=4 -- Multi-staking: The discussion doc was discussed and we have decided that the complexities mentioned in the document are currently out of the scope. -- Private Leader Election: During the week it become more apparent that the private voting design is not a priority and we have decided to design a (general also multi-staking compatible) private leader election mechanism that is based on the single-staking design. The output is documented here: [https://www.notion.so/Private-Leader-Election-for-Carnot-PoS-e720168ff3c44d098ec6a4aa586188da?pvs=4](https://www.notion.so/Private-Leader-Election-for-Carnot-PoS-e720168ff3c44d098ec6a4aa586188da?pvs=4 "https://www.notion.so/Private-Leader-Election-for-Carnot-PoS-e720168ff3c44d098ec6a4aa586188da?pvs=4") -- Explore interesting lines for PPoS: - - - [Automatic Persistant Validator Identifier from Public Staking Transactions](https://www.notion.so/Public-Stake-Value-w-o-a-Persistent-Identifier-62a3237b97d44b87924ba3fff74f0362?pvs=4 "Automatic Persistant Validator Identifier from Public Staking Transactions) - - [Single Staking w/ Network Tricks](https://www.notion.so/Single-Staking-w-Networking-Tricks-a9ba73dc5114435ebe73456586d69a4c?pvs=4) - - Failed attempt: [Hashed and Salted Stakes](https://www.notion.so/Hashed-and-Salted-Stakes-Private-Voting-09e4c15c991b4592b7d8c7d808e6a6d2?pvs=4) - - [Is Network Privacy enough for PPoS](https://www.notion.so/Is-Network-Privacy-Enough-for-PPoS-0156be3b3ca643b39f72e45692861f6f?pvs=4) -## `data availability` - -### `research` - -- -### `development` - - -## `miscellaneous` - -- Nomos team will be at the offsite this and next week (ends of 2023-11-23). diff --git a/content/nomos/updates/2023-11-27.md b/content/nomos/updates/2023-11-27.md deleted file mode 100644 index 4d8027db3..000000000 --- a/content/nomos/updates/2023-11-27.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 2023-11-27 Nomos weekly -tags: - - nomos-updates -date: 2023-11-27 -lastmod: 2023-11-27 -draft: false -description: Weekly update of Nomos ---- - -### Offsite - -- Summary of the offsite (daily): [https://docs.google.com/document/d/1qJ_hP2FA7P3kB5TNi-tkFaWGmqlP8tZd9RC1dAlU5kw](https://docs.google.com/document/d/1qJ_hP2FA7P3kB5TNi-tkFaWGmqlP8tZd9RC1dAlU5kw/edit)  -- Carnot in a Privacy Setting under Mixnet Assumption: [https://docs.google.com/document/d/1fICGvSkTCgvk879uaapzFzy6Qbzz6VkXX0lL_iJ8GJo](https://docs.google.com/document/d/1fICGvSkTCgvk879uaapzFzy6Qbzz6VkXX0lL_iJ8GJo/edit#heading=h.bdbm9ad9ryyy) -- PPoS + Carnot discussion - why Carnot will not be used for the base layer, exploring combinations of different approaches as well as a potential solution for fully private base layer -- Mixnet: numerical experiments were conducted - more details here: [https://docs.google.com/spreadsheets/d/1MaSBbfUGmJniILPvcQLxtyXqjBExUUEB6C2-YWNP6uI/edit#gid=0](https://docs.google.com/spreadsheets/d/1MaSBbfUGmJniILPvcQLxtyXqjBExUUEB6C2-YWNP6uI/edit#gid=0)  -- Data Availability: exploring cryptography, deciding on base layer structure, looking into super commitments, proving schemes. -- Conclusions and next steps as a team for the implementation of the Nomos 1.0 Base Layer. -- Filmed presentation: Preliminary Privacy Analysis [https://drive.google.com/file/d/1mrNWdJMX_WneUFNmHJn316uLrPXkBbMH/view?usp=sharing](https://drive.google.com/file/d/1mrNWdJMX_WneUFNmHJn316uLrPXkBbMH/view?usp=sharing)  -- Filmed presentation: Last day summary PPoS - [https://drive.google.com/file/d/1DlDi3bWglIRR3nJ6owjLemQSy9YiRSZY/view?usp=sharing](https://drive.google.com/file/d/1DlDi3bWglIRR3nJ6owjLemQSy9YiRSZY/view?usp=sharing)  - -### Private PoS Tokenomics - -#### Research - -- Validator rewards function - [https://www.notion.so/Delegation-and-Validation-Rewards-d4af3f87a0b240739ff99b15af11cb3f?pvs=4](https://www.notion.so/Delegation-and-Validation-Rewards-d4af3f87a0b240739ff99b15af11cb3f?pvs=4)  -- Simulation results: [https://github.com/logos-co/token-economics/blob/nomos-linear-reward-function/Nomos/multi_staking_rewards/linear_reward.ipynb](https://github.com/logos-co/token-economics/blob/nomos-linear-reward-function/Nomos/multi_staking_rewards/linear_reward.ipynb)** diff --git a/content/nomos/updates/2023-12-04.md b/content/nomos/updates/2023-12-04.md deleted file mode 100644 index 08fd25d1d..000000000 --- a/content/nomos/updates/2023-12-04.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: 2023-12-04 Nomos weekly -tags: - - nomos-updates -date: 2023-12-04 -lastmod: 2023-12-04 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Progress on the Mixnet implementation specification, with particular emphasis on integration on the rest of the system. -- Discussing and analyzing possible strategies for cover traffic specially tailored to the consensus algorithm. - -### `development` - - -## `testnet` - -### `development` - -- Merged [Prometheus metrics service](https://github.com/logos-co/nomos-node/pull/522) - -## `private PoS` - -### `research` - -- We consider leader election in PoS observed over some period of time by an adversary who wants to learn its stake with high “accuracy” and high “confidence”. -- For the probability of stake greater than some threshold derived rigorous lower and upper bounds on this probability. -- For the same probability considered an asymptotic long-time regime and developed a mathematical framework for this regime.  -- Verification of above results by simulations is in progress.  -- The above will be a part of the  framework which will be used to get a more accurate estimate of the number of layers which are required to reduce anonymity failures in the mixnet. More details provided [here](https://www.overleaf.com/read/xvgmfchdhgzh#acd15d) -- Analyzed how stake splitting affected leader rates in Crypsinous: Stake Splitting in Praos - -## `data availability` - -### `research` - -- Designed a new super-commitment structure and explained it [here](https://www.notion.so/1-5d-SuperCommit-4a81bdaf19e64d53a4a158f38c6b6077). After some discussions, we agreed that  prover cannot temper the column entries by adding and subtracting some values but he can reorder the column entries. The proof does not guarantee column ordering. Solution methods for this were discussed, but since the focus was on a different structure design, this development was postponed for now. -- Thought of a different design and explained it [here](https://www.notion.so/New-Idea-cddf055558f84137ba19f01ea8fe15c7). The main idea of the design is to take a commitment of commitments. As a result of the investigations, the structure is thought to be working. Cryptographic proof will be worked on. -- The newly designed structures were compared with these existing schemes. It is thought that our current design will provide the whole advantages of [Avail](https://blog.availproject.org/a-guide-to-selecting-the-right-data-availability-layer/ ). - -### `development` - -- Continuing DA mock implementation - splitting it into reviewable parts -- [1D benchmarking](https://github.com/logos-co/semiavidpr-experiments/tree/kzg-1D-benchmarks) - -### `miscellaneous` - -- The Whitepaper now contains a whole new section on Light Nodes. -- Carnot's role in Nomos has been updated. -- Explanations about privacy have been expanded and adapted to include the notion of resiliency. -- Added other sections, like Multiple Base Layers and others related to Light Nodes. -- Added new diagrams diff --git a/content/nomos/updates/2023-12-11.md b/content/nomos/updates/2023-12-11.md deleted file mode 100644 index 4642bdeb6..000000000 --- a/content/nomos/updates/2023-12-11.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: 2023-12-11 Nomos weekly -tags: - - nomos-updates -date: 2023-12-11 -lastmod: 2023-12-11 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- [Crypsinous over Mixnet](https://www.notion.so/Crypsinous-over-Mixnet-dc05e9ad601a4cdfb1ac7823fd51cff6) contains the summarization of investigation into how Crypsinous will work in combination with the Mixnet -- In the development section below, we will go into further into details in terms of how this researched affected the specification. -- The discussions are still open and the specification is still prone to change. -### `development` - -- Updated the [Mixnet Specification](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2) according to the new research and analysis in the [Crypsinous over Mixnet](https://www.notion.so/Crypsinous-over-Mixnet-dc05e9ad601a4cdfb1ac7823fd51cff6) document. The gist of the document update is that every node emits real/cover packets with a rate in a Poisson distribution. - - A slot leader publishes 3 block proposals and several drop cover packets within a slot (a slot is published every 20s) - - At that time, all of the other nodes emit only drop cover packets ("decoys") within a slot. - - The target mean packet delay is 2s. - - Based on this: - - [Defined a packet emission mechanism](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#b0c91c5a8fb84414870df8998891f3b4) - - [Refined a packet delay calculation](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#3ae7e03fcbad461ab8d6b57e5c0e88fe) - - [Defined a cover traffic strategy](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#1bab0f5bf46543c5924bcf5132437943) -## `testnet` - -### `development` - -- No updates - -## `private PoS` - -### `research` - -- Researching on a [potential problem of wealth concentration](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f) in the token engineering model that was reported by DarkFi since it contradicts the results we have calculated in the [Validation Rewards](https://www.notion.so/Delegation-and-Validation-Rewards-d4af3f87a0b240739ff99b15af11cb3f#42ba98cb3e104b1fb36bc15b4b935cc5) -- Performed additional research in terms of feasibility of learning total stake: the problem here is that we cannot compute relative stake based on what is the Crypsinous paper. - - Therefore we came up with [Dynamic Lottery Function Difficulty adjustment](https://www.notion.so/Dynamic-Lottery-Function-Difficulty-Adjustment-65f5ed5522b64c36b625652023318d88) -- Refined rigorous lower and upper bounds on the probability of stake greater than some threshold, i.e. “confidence”. The details can be seen in [Notes on mathematical and statistical aspects of proof of stake consensus mechanisms](https://www.overleaf.com/project/6557131d1ddd181051255009) - - The upper bound was only available for prob. 0.9 and higher and a new version also allows for lower prob. - - The latter is needed for a more accurate estimation of the number of layers in the mixnet. - - The asymptotic result for the same probability also can be used only for higher values and extending this result for lower values is currently in progress - -## `data availability` - -### `research` - -- Writing of the [new protocol specification](https://www.notion.so/Data-Availability-Solution-4dd57aa0a212490c82b09d22bd2b9c30) complete - it is still open for discussion - comments and proposals with valid reasoning can still adjust the specification - anyone can comment. -- For the historical records, the trail of thoughts, scenarios and improvements can be seen [here](https://www.notion.so/New-Idea-cddf055558f84137ba19f01ea8fe15c7). -- The new specification was also looked at by the Nescience team - it has no cryptographical weaknesses. -- Implementation expected to start at the beginning of January. -- In the future, we will evaluate additional Data Availability structures (based on internal literature) to see how they compare to what we have. -- the DA node read/write API implementation is in progress - we have reviewed and reevaluated the initial plan to implement DA data dissemination and retrieval flows and created an action plan based on that. - - -### `development` - -- We have performed simulations to confirm there will be no "flatness" issues with Carnot implementation. -- We are currently in the process of finalizing the Carnot paper - the simulations action plan will also be shown there. -- Found additional proofs that simulations and rust Carnot implementation acts as expected in varying committee overlays - more info on Discord. - diff --git a/content/nomos/updates/2023-12-18.md b/content/nomos/updates/2023-12-18.md deleted file mode 100644 index bba768141..000000000 --- a/content/nomos/updates/2023-12-18.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: 2023-12-18 Nomos weekly -tags: - - nomos-updates -date: 2023-12-18 -lastmod: 2023-12-18 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Continuing the research on the effects of wealth concentration within Ouroboros Crypsinous - more precisely fixing some of the code and running simulations. The results and reports will continue to be provided in the [Notion doc](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f). -- Also, doing additional research into the Darkfi's Crypsinous implementation (and why they are striving away from it) -- [Mixnet specification](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2) is done, currently in review - once additional comments have been added, will provide new updates -- There have been some slight improvements in the [Crypsinous over Mixnet document](https://www.notion.so/Crypsinous-over-Mixnet-dc05e9ad601a4cdfb1ac7823fd51cff6) - not too major -- Compiled a [high-level overview](https://www.notion.so/Ouroboros-Family-8cd7285459f640b088716905ab03474f) of the Ouroboros family -- Studying [byzantine gossip and swarm consensus](https://www.notion.so/Byzantine-Gossip-Consensus-a83513712031444f80eb5f6097773b72) as part of the effort of solving the tagging attack problem (as alternatives to random subsampling and reliable broadcast) - some of the ideas involve the use of gradecast over byzantine gossip, but providing more details in the following week. -### `development` - -- Solved [an issue](https://github.com/logos-co/nomos-node/pull/544](https://github.com/logos-co/nomos-node/pull/544 "https://github.com/logos-co/nomos-node/pull/544) that was causing problems with simulations (Carnot 10k nodes - Tree implementation returned different results when searching for child committee and then using child committee to find its parent) -- By fixing the above and the depth calculation in the analysis script, the simulations stall has been fixed totally, and we are meeting in the deadlines in terms of releasing the Carnot papers - no additional showstoppers -## `testnet` - -### `development` - -- No updates - -## `private PoS` - -### `research` - -- [Normalize stake for lottery](https://www.notion.so/Relative-Stake-in-Crypsinous-65f5ed5522b64c36b625652023318d88#dbc5eb031fe4438ab3007ff36afe5189) - we have a proof of convergence to expected fixed point and stability conditions for that fixed point: [Analysis Summary](https://www.notion.so/Dynamic-Lottery-Function-Difficulty-Adjustment-65f5ed5522b64c36b625652023318d88?pvs=4#dbc5eb031fe4438ab3007ff36afe5189) -- We’ve run simulations of the process and they confirm the stability conditions and convergence derived analytically (above) -- There is still work to be done in terms of slots observation to understand a good measurement of leader rate as well as some additional confirmation of the analysis -- Analysis of stake de-anonymization (details are [here](https://www.overleaf.com/read/xvgmfchdhgzh#acd15d](https://www.overleaf.com/read/xvgmfchdhgzh#acd15d "https://www.overleaf.com/read/xvgmfchdhgzh#acd15d) and here): and [here](https://www.overleaf.com/read/fzbrxvkwwscq#f2907c)) -- Used the lower bound (LB), asymptotic estimate (AE) and upper bound (UB) on the probability of stake greater than some threshold (“confidence”), within a given “accuracy”, to estimate the number of layers in the mixnet. -- The UB (on the number of layers) is loose. The AE (for the number of layers) is close to the LB (on the number of layers), suggesting that LB is closer to true values (AE is in very good agreement with simulations). However, AE is only available for “confidence” higher than 0.6 and some “accuracies” -- For the currently used lottery function, derived the maximum likelihood estimator of relative stake. The latter can be used by an adversary to infer the relative stake of a node -- Analysis of fraction of compromised paths is currently in progress and more details will be provided in the following weeks - -## `data availability` - -### `research` - -- Continuing on the process of comparing different DA structures - the comparison can be found [here](https://www.notion.so/Comparison-of-DA-Structures-WIP-47350a408cbd4d8db545527b7a598ccf](https://www.notion.so/Comparison-of-DA-Structures-WIP-47350a408cbd4d8db545527b7a598ccf "https://www.notion.so/Comparison-of-DA-Structures-WIP-47350a408cbd4d8db545527b7a598ccf) . Right now we are comparing Merkle Tree, RS+KZG and Merkle Tree+Snarks - based on the literature at the bottom of the aforementioned document. -- The parameters we are currently comparing are proof size, prover time, verifier time and commitment size, but in terms of theoretical examples, not actual benchmarks. - -### `development` - -- The new read/write DA API is still in progress - there are conversations ongoing which can be seen in the [draft PR](https://github.com/logos-co/nomos-node/pull/546) - -### `miscellaneous` - -- The architecture whitepaper is awaiting feedback and expected to be finalized in the first week of 2024 - the paper can be found [on Discord](https://discord.com/channels/1111286067413405788/1181920579293544528/1182379308782715031) - diff --git a/content/nomos/updates/2023-12-25.md b/content/nomos/updates/2023-12-25.md deleted file mode 100644 index d4fa61796..000000000 --- a/content/nomos/updates/2023-12-25.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: 2023-12-25 Nomos weekly -tags: - - nomos-updates -date: 2023-12-25 -lastmod: 2023-12-27 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Used bounds and asymptotic analysis to create a new version of the table (see [this](https://docs.google.com/spreadsheets/d/1MaSBbfUGmJniILPvcQLxtyXqjBExUUEB6C2-YWNP6uI/edit?usp=sharing) for reference) which estimates the number of layers needed in the mixnet protecting the network layer. The latter assumes a very simple lottery function where the probability of winning is equal to the relative stake. -### `development` - -- No updates -## `testnet` - -### `development` - -- We are experiencing an [issue](https://github.com/status-im/infra-misc/issues/220) with the file system on `metal-01.he-eu-hel1.nomos.misc` entering a read-only state. This is preventing any write operations on the system, impacting normal operations and services. -- Nomos node stability investigation - found a main reason for tesnet failing after some time, consensus engine has some asserts that are not met during the run. I'm trying to replicate the same behaviour in integration tests. - -## `private PoS` - -### `research` - -- A [consensus reference page](https://www.notion.so/The-Consensus-From-the-Past-till-Today-e057b669032d43f0a90393f5383e3d4d?pvs=4 "https://www.notion.so/The-Consensus-From-the-Past-till-Today-e057b669032d43f0a90393f5383e3d4d?pvs=4") has been written detailing the path and the history of decisions made as a context to the other documents we have provided. It is important to mention that this is a living document that might be updated further in the future. -- Updated the [ongoing document](https://www.notion.so/DarkFi-s-little-audit-8cd6d5bb461f434a8372856d57eb5353") of DarkFi Crypsinous implementation with new details. -- [Summarized](https://www.notion.so/Byzantine-Gossip-Consensus-a83513712031444f80eb5f6097773b72) the findings and ideas from different papers around byzantine gossip and consensus. There are some ideas that might be useful to us in the future. -- For the Crypsinous lottery function analyzed the maximum likelihood (ML) statistical inference framework. The latter can be used by an adversary for inference of stakes of nodes to infer relative stake. Formally the ML framework suggests that observations of election statistics of all nodes are required in order to infer relative stake of a single node. However, for long time observations there is a possibility that statistics for a single node are sufficient to infer its relative stake. The [analysis](https://www.overleaf.com/read/fzbrxvkwwscq#f2907c) of this scenario, which uses a “naive” estimator of relative stake, is currently in progress. -- Normalize stake for leader lottery: Summary with plots and equations can be found [here](https://www.notion.so/Lottery-Function-65f5ed5522b64c36b625652023318d88?pvs=4#98db4a6ff8644792b2ee65bafd6ecdf2). -- We have a new analytical tool for analyzing the average of our process for learning stake, it lets us study how the process converges without the slow simulation runs and makes analytical work much simpler. -- We found that our process for learning D will underestimate true total stake by up to 3% (depends on our choice of constants), we have some analytical bounds on the underestimate and confirmed them with simulation. - -## `data availability` - -### `research` - -- Finished the comparison [article](https://www.notion.so/Comparison-of-DA-Structures-47350a408cbd4d8db545527b7a598ccf) of DA structures (Merkle Tree, RS+KZG and Merkle Tree+Snarks) and reach the conclusion that the structure we designed is flexible. We can easily switch to the Merkle tree + Plonky2 structure in the future. -- Some additional research notes in terms of DA comparison can be found [here](https://www.notion.so/DA-Research-Papers-Notes-9d4f26c736f347a985d6615e1c7e8789). -- Skimming through [NOTRY: Deniable messaging with retroactive avowal](https://eprint.iacr.org/2023/1926) to check if there is anything interesting to us - -### `development` - -- No updates - -### `miscellaneous` - -- Architecture whitepaper will be reviewed internally by the team in the following weeks. - diff --git a/content/nomos/updates/2024-01-08.md b/content/nomos/updates/2024-01-08.md deleted file mode 100644 index 1d8da0767..000000000 --- a/content/nomos/updates/2024-01-08.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: 2024-01-08 Nomos weekly -tags: - - nomos-updates -date: 2024-01-08 -lastmod: 2024-01-09 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- The [Mixnet specification doc](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#af141ade3e8147ec900cf3599953f4da) has been updated with new details after a discussion was help in terms of establishing connections in advance - Whenever a Mixnet topology is reconstructed, each mix node in the layer l establishes connections optimistically with all mix nodes in the layer L+1 , in order to reduce the latency of individual packet delivery - more details in the relevant comments in the linked Notion doc. - -### `development` - -- No updates -## `testnet` - -### `development` - -- Increased the storage limit in addition setting up firewall rules for the Nomos http ports - they are set in the same range for containers and host - more details [here](https://github.com/logos-co/nomos-node/pull/553). -- Opened TCP ports 18080-18083 for HTTP - more details [here](https://github.com/status-im/infra-misc/pull/222). Also opened some [additional ports](https://github.com/status-im/infra-misc/issues/221) -- Added missing configuration and fixed conflicting rules for ports: Limit number of committed blocks in info requests - more info [here](https://github.com/logos-co/nomos-node/pull/552); Receive blocks blobs in parallel - more info [here](https://github.com/logos-co/nomos-node/pull/554); Set and get blocks tip without filtering - more info [here](https://github.com/logos-co/nomos-node/pull/548). -- Optimized consensus related methods, the changes allow node to run without problems on a testnet: [CI](https://github.com/logos-co/nomos-node/pull/550) - more work in progress (in terms of DA specification) - -## `private PoS` - -### `research` - -- After trying 6 attempts, we had a breakthrough in understanding variance of our learning process around the fixed point: this latest method shows very good agreement with simulation across the full parameter space that we tested - This sets up to answer some of the burning questions we have had for a while (How big should T be, how small should delta be, how fast does this converge). -- We came up with a good measure of "centrality of stake", this has allowed us to do much more informative simulations across the parameters that matter: More detailed update with plots in Notion: [2024-01-08 Progress](https://www.notion.so/Lottery-Function-65f5ed5522b64c36b625652023318d88?pvs=4#d0e8cab7dae5414a9af20b24db0b28cf) -- Analysis of total stake inference problem: the analytical framework, derived for the algorithm which uses Crypsinous lottery function stochastic process to estimate the total stake, was used to construct the simplest possible theory which describes expectation and variance of the total stake statistical estimator. -- Several approaches were tried, including mapping to the physical thermal relaxation process, but explained simulations but only for a limited scope of parameters. -- The latest approach, which uses large stake expansion, leads to simple theory with a small number of parameters which explains simulations quite well. More details [here](https://www.overleaf.com/read/fzbrxvkwwscq#f2907c). -- Large numbers of validators issue has been documented - something that Carnot doesn't solve implicitly - more details [here](https://www.notion.so/Large-Numbers-of-Validators-9d331b4b7a204e62881453ecb3976ff7). - - -## `data availability` - -### `research` - -- We have made a new design - the [2D Data Availability Structure](https://www.notion.so/2D-Data-Availability-Structure-a8ee0b9ffe404a4482ec4eb56d2b033d) based on a problem whether the execution zones perform the RS-encoding process correctly; it has been solved accordingly but it is costly due to the size of the data - more studies to come. -- The protocols we have examined and also designed so far were compared on relevant data. Detailed information can be viewed [here](https://www.notion.so/DA-Layer-Comparison-Table-5848811f0af042e2b24c10d3cea9b0a8). Additionally, the total data size can be accessed by entering the data size and number of nodes [here](https://docs.google.com/spreadsheets/d/1I2hk69hWLVXaATC5048tLcw2qUTjiZORIzL0y90PTLg/edit?pli=1#gid=0) - -### `development` - -- No updates - -### `miscellaneous` - -- Architecture whitepaper is being reviewedg. -- Shared sequencing - compiled notes on some of the implications, architectural designs, discussions, inspirations and more, in an article [here](https://www.notion.so/Shared-Sequencing-15ab39a1fab94d008c5011ef27cc0f5e). -- Notes on the MTR Declaration of Decentralization provided [here](https://www.notion.so/Filip-8b260c1bfddd43cc9cd1211478be53e8 [here](https://www.notion.so/Filip-8b260c1bfddd43cc9cd1211478be53e8)- It is in an interesting proof of value approach (mix of PoS on main chain with a sidechain Relay/CER for the PoW, merged every sidechain's 30 blocks), that they are utilizing, but I think that it has too many holes to fulfill - risks and attack vectors. Even though the ecosystem has been live for a couple of years, it never reached the heights they apparently planned. They focused too much on becoming "big" rather than building up from ground zero. However, the interesting design choice is their utilization of sidechains (more precisely their adaptors and connectors) in the attempt to connect to other ecosystems. The paper didn't provide too many details about it though. diff --git a/content/nomos/updates/2024-01-15.md b/content/nomos/updates/2024-01-15.md deleted file mode 100644 index ca510fd00..000000000 --- a/content/nomos/updates/2024-01-15.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: 2024-01-15 Nomos weekly -tags: - - nomos-updates -date: 2024-01-15 -lastmod: 2024-01-16 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- No updates. -### `development` - -- Refined Mixnet specs: [Decided](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#8113c6871a8c4bdc8ae469f8fd96c061) to use libp2p even for direct QUIC connections for v1, so that we can use peer discovery and NAT traversal later on; [Defined](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#7cefe07a3ac04af091a5a8945d11067a) an initial approach to report on unresponsive mix nodes, though it should be improved later; [Simplified](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#df9f03a808134ae19c085ca40b82161c) the specification of using Sphinx packets, by abstracting the [internal Sphinx spec](https://www.notion.so/Sphinx-Packet-Specification-1c96e0e8aa8a4241ae9c1417c67714b7) ;[Updated](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#67865a813ab8466987ed54cf92eb86cb) the calculation of `lambda` and `mu` by suggesting a refined approach of emission rates; [Decided](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#15ccbb03a44f42658ea67a33527ecea2) to start with only mixnode-defined delays. -- Three quarters of mixnet python specification code has been done; since it has been decided to move [Sphinx out of the mixnet specs](https://github.com/logos-co/nomos-specs/pull/46)(see comments) - it will be moved to a new repo in order to be utilized properly; the [basic structure and topology construction](https://github.com/logos-co/nomos-specs/pull/44) and [Sphinx packet builder](https://github.com/logos-co/nomos-specs/pull/47) have also been added. -- Research of [QUIC and QUIC connections](https://www.notion.so/QUIC-and-QUIC-connections-management-bd7974e3a9914b8d819fd50e6f6a6410) - what is available and what is the difference from the TCP connections -## `testnet` - -### `development` - -- Initial node metrics [PR](https://github.com/logos-co/nomos-node/pull/522) has been merged - to reiterate, this will add metrics service + initial metrics for CL and DA mempools. We will continue the effort to collect data about other services in the coming weeks. - -## `cryptarchia` - -### `research` - -- The Private Proof of Stake milestone has been renamed to Cryptarchia in order to better reflect current work. -- Updated the [living document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b) that showcases if the leader election function leads to wealth concentration - more precisely the stochastic fork choice rule - which seems to ignore the validator stake. -- [Analysis](https://www.overleaf.com/read/fzbrxvkwwscq#f2907c](https://www.overleaf.com/read/fzbrxvkwwscq#f2907c) of total stake inference problem: For the statistical estimator of the total stake D, the results of a large stake expansion were used to derive Gaussian approximation for the distribution of `D`. The latter was used to define “confidence” and “accuracy”. The large stake expansion was used to study other important properties, such as convergence rate of inference algorithm, and provides a relatively simple and compact set of relations between different parameters, such as number of nodes `N`, learning rate `h`, number of epochs `T`, stake mean and stake variance -- We were able to answer most of the open questions (from previous weekly - remaining is analytical grounds for fast convergence) - How big should `T` be (# of slots in an epoch), How small should `h` be , How fast does this converge. -- We have a general solution to the [total stake inference problem](https://www.notion.so/Lottery-Function-65f5ed5522b64c36b625652023318d88?pvs=4#7978b9a3f3964c3b9751b2644875506e) - based on this document we have a good understanding of Accuracy, Convergence Rate and Stability. -- Writing of the Cryptarchia specification is well underway - you can check the latest version [here](https://www.notion.so/Cryptarchia-Specifications-a11d16a37c81452a8c89a94ced3ceef5#c69e608758574a85b7278470bd812ef0). -- Reviewed Ouroboros Praos, the focus was to understand the whole design and put a bit more attention at the design of the random beacon and some security assumptions. More on that in the [notes](https://www.notion.so/Ouroboros-Family-8cd7285459f640b088716905ab03474f). - -### `development` - -- The Cryptarchia [development plan](https://www.notion.so/Crypsinous-planning-f18ea790291141bea19b496c1f59b28c) initially stated is still valid and has been updated. We will have the first milestone defined soon as well. -- Refactor consensus engine in preparation for adding a new consensus - [PR](https://github.com/logos-co/nomos-node/pull/556). - -## `data availability` - -### `research` - -- The [DA Layer Comparison table](https://www.notion.so/DA-Layer-Comparison-Table-5848811f0af042e2b24c10d3cea9b0a8) has been finished and is currently in review and update phase. For the raw data, refer to this [Google sheet](https://docs.google.com/spreadsheets/d/1I2hk69hWLVXaATC5048tLcw2qUTjiZORIzL0y90PTLg/edit#gid=0) -- [Block format specification](https://www.notion.so/Block-Format-Specification-10c4cfef8b8946b8a54344cf97b16938) has been added. -- [DA API](https://www.notion.so/DA-Api-specification-83000d9c2f3f45b586cd55c5c195cce5) specification has been added. - -### `development` - -- Merged a couple of small fixes for the nomos-chat app - more details [here](https://github.com/logos-co/nomos-node/pull/555). - -## `miscellaneous` - -- 3 interrelated topics that have the potential to create an interesting element of differentiation have been researched: turning Execution Zones into Plasma chains with ZK proofs ([findings](https://www.notion.so/Plasma-ca4bfeb776e240859f954e8511103111)), solutions for instant deposit/withdrawal, solutions for ZK-bridging with the Base Layer (basically the CL layer, but as minimal as possible). -- Polygon Avail has been researched - [findings](https://www.notion.so/Polygon-Avail-bc5bfbbf78c74b9aba6d4500d961ef03). -- [Simulations working principle](https://www.notion.so/Simulations-working-principle-Carnot-paper-Appendix-c83740646adf4dd58e6b3212f7c1b666) (the Carnot paper Appendix) has been added. -- Whitepaper feedback review in progress. -- Carnot paper has been reviewed. - diff --git a/content/nomos/updates/2024-01-22.md b/content/nomos/updates/2024-01-22.md deleted file mode 100644 index cc4df4a03..000000000 --- a/content/nomos/updates/2024-01-22.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: 2024-01-22 Nomos weekly -tags: - - nomos-updates -date: 2024-01-22 -lastmod: 2024-01-24 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- One of the last pieces of the mixnet specification: "Defining topology update and entropy injection in a clear way" - we are close to a solution and will include new findings next week. To see the current proposal and differences being discussed (for example architecting the consensus and mixnet interaction) please check the [GitHub PR](https://github.com/logos-co/nomos-specs/pull/51#discussion_r1457675581). Code review is also in progress. -### `development` - -- Tested [libp2p stream protocol](https://github.com/libp2p/rust-libp2p/tree/master/examples/stream) for the mixclient->mixnode and mixnode->mixnode communication. Concluded that's very simple and appropriate for our case because it's the fundamental protocol that is used for other libp2p protocols such as DHT. That's basically not very different from the naive communication implementation over QUIC or TCP. -- Completed several PRs (with code-review as well) [Topology](https://github.com/logos-co/nomos-specs/pull/44), [Sphinx packet construction](https://github.com/logos-co/nomos-specs/pull/47), [Packet delays](https://github.com/logos-co/nomos-specs/pull/49), [Mix client Poisson emission](https://github.com/logos-co/nomos-specs/pull/49). -- Designed the updated Nomos Rust [project structure](https://viewer.diagrams.net/index.html?tags=%7B%7D&highlight=0000ff&edit=_blank&layers=1&nav=1&title=mixnet-components.drawio#R5Vpbc5s6EP41nmkfkgFxcx5bJzntmbaTTuac0%2FRNBhmUCMSR5Ft%2FfSUj7tjxFTvTJ0urXQG73367CA%2BsUbz4i8E0%2BkoDRAbACBYD63YAgGkbjvxRkmUm8bxhJggZDrRSKXjEv5AWGlo6xQHiNUVBKRE4rQt9miTIFzUZZIzO62oTSupXTWGIWoJHH5K29D8ciCiTDh2jlH9COIzyK5uGXolhrqwFPIIBnVdE1t3AGjFKRTaKFyNElPNyv2R292tWixtjKBHbGPwPl5%2Bewf2vny8enBF3OZ8F9pXeZQbJVD8wFzAJIKEJUl5lUEjvZ%2FcvlrlTGJ0mAVL7GgPr4zzCAj2m0FercwkDKYtETOTMlEMCx4g8UI4FpomU%2BfJ%2BEZMLM8QElp7%2B0lAQVO0ACQ471T%2FohTEVgsZyQT%2BCXEaLtb4xC49LqCIaI8GWUkUbAFcHSaPUyoM2L2NuuhrKUSXeIAcC1DgLi73LUMiBjkZ3ZAIcj3%2Bmhvh3cRvw59E3HE3%2BvjLtVmgSGlN%2BxRGbYf%2BNRKUVgo5ArY2KPaxHBVjtqNh5pKpRsexTRQW0EwZPVmHAK2PJQYhzqK9UjQ4KJK%2FoKWUioiFNILkrpR%2Fr8St1vlDl%2BlXUnpEQS02ScCpoPaZogcUPba7GT2p87ejZ7aKydLvMJ4l0y498AzWpWKlpabaa5XYB5NHqXvcCU4GSV%2FGUwW4tmDidMh9tSiNdMyALkdgUWI0YFaaN2GSIQIFn9fJw%2FOxvwWwAXCKU4%2FFMDkM1TJCYU%2Fai3DDz83V5uYpKh9U7LhiC8QCMVHmlnMtSOh3LMZW%2Blz%2Ff%2F%2Fk8ep%2FbjVlzp%2Bb%2Bh5DQETjCAXWOKDijwhEFb1Q54mTE7bRLKkqC1XP6L0i0ebtPZijY4Kmy0s0M%2B%2BccOHYqadMHiuWtlKH3nO7Q51tkSa%2Btyqh%2BYAwuK2qpUuC7X6cESbZjCZniGQ8gAKMFI0VgqvtNKaHheQvMtVfFkbERR0WFMa5BUVWeqotrSszBAHyV9O0tgaqBIB9gCLTNbtjdFXKuYdX7Ua%2FR2zf0vZuN%2BnWIltb57dDJhCMxaDLfMWDs%2FVGN0Okha7oX1aeAFkvFeOETjFb4WrUlF9YgWDcdr3Zmnw2Cu6ZBuGfIn%2F1JfYLVT5%2FgGWtaxCP3Ceuuc9I%2B4az8au7Dr8Zu%2FHowvI7WBfT05jc8b%2BKDvTo7b6fO7kg1c9sAH79m7tfUNd4jLHdzU2cNrU36p%2BETq6ugJzRAF1LOXWeLcm70Wc7Nm%2FMmrDGs07Bh95C0assHxLB0oTq2O5Cp7beVyJ7n1THo7JjITg%2BJ3P58IBO5PDxoHu9dQm573uu5fdNrardfb%2BqteszDN9OnVxK%2Fp2MYc%2BvD9y3TWuPkyrh2wVBzwb4vBz2cfbRrKU6e1Udq%2BajSxTQ96yHefs37xWHnwrr39ocbnyaSNPiUX0gH1TwQAd65D0TM9omIajp1Vu7tqwkmJM8lnQbbvXhs70vLuLTDJdD%2BbpD9bYDgcQrSwzx6avd1fbw7lvtU0S7%2Ba5NRfPmPJevuNw%3D%3D) for mixnet v1. -- [Analyzed](https://www.notion.so/rust-libp2p-QUIC-transport-analysis-6a6acf6f02424f0ab7ba30ecb6b8647b) the rust-libp2p QUIC transport in terms of configuration and implementation details. -## `testnet` - -### `development` - -- Removed the `async-trait` from the [node](https://github.com/logos-co/nomos-node/pull/561) as well as [Overwatch](https://github.com/logos-co/Overwatch/pull/33). -- Grafana and related services addition to the testnet ([new PR](https://github.com/logos-co/nomos-node/pull/564)). -- Preparation for demo chat app bot, ability to send data from file, non-interactively ([new PR](https://github.com/logos-co/nomos-node/pull/565)). -- [Prune Carnot old block PR](https://github.com/logos-co/nomos-node/pull/559) has been completed and is currently in review. -- Added a [test](https://github.com/logos-co/nomos-node/pull/563) for big blobs dissemination. -- Limited the number of in-flight requests performed by the chat app to avoid using too many descriptors - more details [here](https://github.com/logos-co/nomos-node/pull/562). - -## `cryptarchia` - -### `research` - -- Updated the wealth concentration analysis with the new [chapter]([https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b) about stake relativization algorithm. The [section](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#ca7aa03a7b9541849b71843a46c883c7) about known total stake is also in progress. -- [Stake relativization](https://www.notion.so/Stake-Relativization-65f5ed5522b64c36b625652023318d88#5ac8c8ead49d4bc7b9ab742bafd91257) specification is complete. -- Set up an [analytical framework](https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5) which will be used to study the impact of using the (biased) total stake estimator on the leader election process. The central object of this framework is the joint probability distribution of two copies of the election process with the same (random) sampling noise, the same stake but different values of the total stake. - -### `development` - -- No updates, heavily in research. -## `data availability` - -### `research` - -- [DA API specification](https://www.notion.so/DA-Api-Specification-83000d9c2f3f45b586cd55c5c195cce5) is written (likely to change due to active discussions). -- [DA Layer Comparison article](https://www.notion.so/DA-Layer-Comparison-Table-5848811f0af042e2b24c10d3cea9b0a8) is almost finished - there are several comments still left to be resolved. Protocols were explained in more detail. Tables have been updated and to see the raw updated data on its own refer to this [sheet](https://docs.google.com/spreadsheets/d/1I2hk69hWLVXaATC5048tLcw2qUTjiZORIzL0y90PTLg/edit#gid=0). - -### `development` - -- [DA implementation plan](https://www.notion.so/Preparation-for-DA-API-c3ec5933851b4ff48ede5da1cff25638) is written (with active discussions it is likely to change). - -## `miscellaneous` - -- Devised a plan to take action for Nomos marketing and comms strategy: devised a couple of WIP docs (strategic [one](https://docs.google.com/document/d/18YokFwgz-LgEsfhkuSCYpm26DdXK0e80iDNtS6otHE8/edit) and mission [one](https://docs.google.com/document/d/1L4Eebj-ol6sO_IEZGa9P5fte54luTZA1L_IYX4sHNN8/edit#heading=h.m5q5sieqfyk6)). We will start compiling our resources to help out the comms team with "ammo" for the Twitter and other social media. -- Carnot paper is currently being reviewed. Team feedback collected, several issues (for example of administrative and legal nature) were raised and will be addressed. - diff --git a/content/nomos/updates/2024-01-29.md b/content/nomos/updates/2024-01-29.md deleted file mode 100644 index 3384addb7..000000000 --- a/content/nomos/updates/2024-01-29.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: 2024-01-29 Nomos weekly -tags: - - nomos-updates -date: 2024-01-29 -lastmod: 2024-01-30 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- The Mixnet specification is ready for review and can be frozen with the current version for v1 (until we find additional requirements during the implementation). -- Defined the [mixnet topology update mechanism](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#af141ade3e8147ec900cf3599953f4da) as a result of internal team discussions - conclusion: we should abstract a robustness layer that will handle mixnet configuration. -- Redefined [mix destination](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?pvs=4#ebb923fa6a7443a0a36737906104343c): Instead of having an extra hop to the mix destination after `L` layers, we're going to use the last mix layer as the mix destination (for message reconstruction). -- Also, the problem of the common view of candidate nodes for mixnet participation was raised - how to ensure that the whole network will know which mixnodes are selected. As previously discussed, we confirmed that we need to have a dedicated staking action for registering candidate mixnet nodes on-chain - the sampling will be performed only from the list created by that staking action. -- The PRs that entail the changes and piece them all together in the executable mixnet specification can be found [here](https://github.com/logos-co/nomos-specs/pull/56) and [here](https://github.com/logos-co/nomos-specs/pull/57). - -### `development` - -- Added a couple of PRs in preparation for the mixnet rust development - [crate structure](https://github.com/logos-co/nomos-node/pull/570), [remove mixnet legacies 1](https://github.com/logos-co/nomos-node/pull/572), and [remove mixnet legacies 2](https://github.com/logos-co/nomos-node/pull/573). - -## `testnet` - -### `development` - -- Started the [document](https://www.notion.so/Block-Explorer-4d32e6f08c144a3a9166d25512e0e339) on the design of Block Explorer 2. Also, added a [PR](https://github.com/logos-co/nomos-node/pull/566) regarding naive blocks query implementation from the storage layer (the PR is still open with an ongoing discussion). -- Added a testnet basic bot to the chatapp non-interactive mode ([PR](https://github.com/logos-co/nomos-node/pull/567)). In more detail, we have previously added the ability to disseminate a file to the DA in the testnet, and we updated the chatapp with a similar functionality, which is used to have a bot that constantly pushes readable data to our DA in the testnet. This data (as opposed to file upload) will be readable by our testnet users and will be useful during the demos. -- Container for the basic bot [PR](https://github.com/logos-co/nomos-node/pull/568) - performed some required changes to our testnet infrastructure. - -## `cryptarchia` - -### `research` - -- Updated the wealth concentration analysis [chapter](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b) about stake relativization algorithm. -- Started the [Nomos Tokenomics Design Canvas](https://www.notion.so/Nomos-Tokenomics-Design-Canvas-e62e78ee0f8c4a719d1f6ffb08574241) that will be filled in with additional details in the future. -- We have [discussed](https://www.notion.so/Cryptarchia-c4975863a81644e5af03cdc9233b910b?d=74886dad62124b4e9cebee953b3cdfd5&pvs=4#d7521fcde86945409d1b6950743cbe4c) an alternative path for the leader election function (stake relativization) in the. Refer to this [comment](https://www.notion.so/5921382536f842c2bd4d9b61eb4174d0) for more details. This helped answer a high-priority question: [Do we need to learn total stake?](https://www.notion.so/Cryptarchia-c4975863a81644e5af03cdc9233b910b?pvs=4#d7aebd5d87d2437f93b749805918b59c) -- The initial version of the Cryptarchia executable specification [PR](https://github.com/logos-co/nomos-specs/pull/54) has been merged. -- Added [fork choice rule](https://github.com/logos-co/nomos-specs/pull/58) to the Cryptarchia executable specification. -- Merged [implementation of slot leader election check](https://github.com/logos-co/nomos-specs/pull/55) to the Cryptarchia executable specification. -- Analysis of [Impacts of Approximate Total Stake](https://www.notion.so/Impacts-of-Approximate-Total-Stake-1b9a248b222449c68c70fb645a733b03) - having considered two alternative election histories of a node (one when using the true stake and the other when using the approximate stake), the population study shows higher staked nodes are more impacted by errors in estimating total stake. Also, impact on the finality study shows high sensitivity to overestimates of stake. This was done by deriving the analytic expression for the Hamming distance between the two aforementioned histories which allows quantifying differences - for the detailed analytic work, refer to the [Overleaf document](https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5). - -### `development` - -- No updates, heavily in research. - -## `data availability` - -### `research` - -- [DA Layer Comparison article](https://www.notion.so/DA-Layer-Comparison-Table-5848811f0af042e2b24c10d3cea9b0a8) has been updated according to the latest review. In addition to that, we also provided details about the Ethereum Danksharding Protocol and its comparison to the Nomos DA protocol (according to our research). -- [VID Certificate section](https://www.notion.so/DA-Api-Specification-83000d9c2f3f45b586cd55c5c195cce5#5a4839bf7309499e810830474a11b1f5) in the DA API Specification has been added. In it, we explained the steps required to create VID Certificate and their order, described what data is sent to different participants (Nomos Zone, DA Node, Block Producer). We have reviewed it internally and added some new questions and comments - refer to the discussion for more details. -- Based on the definitions from the VID certificate, revised the [Block DA Metadata structure](https://www.notion.so/Block-Format-Specification-10c4cfef8b8946b8a54344cf97b16938#af86fcfa7fef40e9aabfc10f9f65f49a) with some minor updates, more precisely with the data that should be written in the block for DA. - -### `development` - -- No development updates. - -## `miscellaneous` - -- Finalized v0.5 of the darkpaper: updates according to feedback and new insights and strategy: rewritten several sections and eliminated a bunch of sections that were not satisfactory. Some changes of the darkpaper are conceptual, not just cosmetic, improving the strategical focus. \ No newline at end of file diff --git a/content/nomos/updates/2024-02-05.md b/content/nomos/updates/2024-02-05.md deleted file mode 100644 index 41abddcc3..000000000 --- a/content/nomos/updates/2024-02-05.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 2024-02-05 Nomos weekly -tags: - - nomos-updates -date: 2024-02-05 -lastmod: 2024-02-06 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Polishing the mixnet specification regarding the topology algorithm and all parameters - we've had some [concerns](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?d=80f00df5f08843bd95d7cf3552bad4c1#8aec5ec23da548388ce89e56ba21cd9f) about it, so there are several ongoing discussions on [Notion](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?d=7aaa6b805985476794a33359d21660b4#e041fafe4de54efd9ea142e551f1fc48) and [GitHub](https://github.com/logos-co/nomos-specs/pull/57#discussion_r1472490489) in regards to answering them. For more details on the discussion, check this [PR](https://github.com/logos-co/nomos-specs/pull/61). -- While it has been postponed from v1, [we will have to define](https://www.notion.so/Mixnet-Specification-807b624444a54a4b88afa1cc80e100c2?d=6b520f4f0fbd41de96cf9978c5339610#d0f5c0ef93474179b49af149893226d3) the mix node identity soon for incentivization. -- After careful consideration and discussion, the [topology update](https://github.com/logos-co/nomos-specs/pull/56) and [public APIs](https://github.com/logos-co/nomos-specs/pull/57) PRs for core logic have been merged. - -### `development` - -- Added a utilities function of python mixnet to rust [PR](https://github.com/logos-co/nomos-node/pull/575). Currently in review. - -## `testnet` - -### `development` - -- Additional polishing (route separation) of the Naive blocks query implementation from the storage layer [PR](https://github.com/logos-co/nomos-node/pull/566). -- Added DA API for Explorer, while removing the unused API [PR](https://github.com/logos-co/nomos-node/pull/576) - currently in review. -- [Integrated](https://github.com/logos-co/nomos-node/tree/integrate-explorer) the block explorer into the demo. Currently thinking about writing integration tests for it. -- Testnet fixes [PR](https://github.com/logos-co/nomos-node/pull/574): the testnet ran on Linux with no issues; however, several fixes were needed for it to work on MacOS (about Grafana, Nomos chat bot params, and Nomos chat OpenSSL libs build version). - -## `cryptarchia` - -### `research` - -- Updated the wealth concentration analysis [chapter](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#1df422f6cc204cb8b362f41cda260b8b) about the stake relativization algorithm - specifically about the impact of the stake relativization. -- Updated the [Nomos Tokenomics Design Canvas](https://www.notion.so/Nomos-Tokenomics-Design-Canvas-e62e78ee0f8c4a719d1f6ffb08574241) with details about the "Validators" role. More roles to be entered in the coming weeks. -- Added the fork choice rule [PR](https://github.com/logos-co/nomos-specs/pull/58) as described in "Ouroboros Genesis: Composable Proof-of-Stake Blockchains with Dynamic Availability". Tests will be added later. -- "Follower maintains ledger state as it follows the blockchain" [PR](https://github.com/logos-co/nomos-specs/pull/62). Leader coins are now spent when they become slot leaders. The next step is to have the leaderproof produce a new coin that the validator can then use to lead another slot. -- Merged the "Add header ID and message" [PR](https://github.com/logos-co/nomos-specs/pull/52). -- Summarized the mathematical analysis work in the Impact on Forks [chapter](https://www.notion.so/Impacts-of-Approximate-Total-Stake-1b9a248b222449c68c70fb645a733b03#843c7c5e84854f458ada2d91813ea5f4) and Reducing Forking [chapter](https://www.notion.so/Impacts-of-Approximate-Total-Stake-1b9a248b222449c68c70fb645a733b03#fa783cb6d21b42809b1c06b2c6d68f07). More precisely, derived the probability of the “forking” event and the “empty slot” event when the approximate value of the total stake is used. Considered the large total stake and finite number of slots scenario to derive the typical number of forks and empty slots expected in the T number of slots. This framework was used to assess impacts of underestimation/overestimation of the total stake on the number of forks and empty slots. For the detailed mathematical analysis, check the [Overleaf document](https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5). - -### `development` - -- No updates, heavily in research. - -## `data availability` - -### `research` - -- [DA Document](https://www.notion.so/DA-Layer-Comparison-Table-5848811f0af042e2b24c10d3cea9b0a8) has been updated with new details based on the team review (specifically around adding more details about Ethereum Danksharding). -- Merged a mandatory [PR](https://github.com/logos-co/nomos-specs/pull/60) containing a big chunk of primitives from the ETH specification that's a dependency for building our DA specification. It will help us save a good amount of time during our implementation (and testing) of everything. - -### `development` - -- Started work on the DA Layer Implementation Details [document](https://www.notion.so/DA-Layer-Cryptographic-Implementation-Details-4d8ca269e96d4fdcb05abc70426c5e7c?d=b2cd8254d6b240d89e029e9d7518ba17#99b607ee531340718520a142e281bda9). This is a an executable spec. -- The sketch of the DA layer can be seen in this [branch](https://github.com/logos-co/nomos-specs/tree/da-specs). - -## `miscellaneous` - -- The [website's](https://nomos.tech/) copywriting has been updated to reflect the changes from the Darkpaper. -- Started publishing posts on [X](https://twitter.com/Nomos_tech). -- We have chosen several articles and will be publishing more detailed, scientific blog posts in the coming weeks. Once the specifications are complete, they will also be communicated via our social media. -- Darkpaper v0.5 published internally. \ No newline at end of file diff --git a/content/nomos/updates/2024-02-12.md b/content/nomos/updates/2024-02-12.md deleted file mode 100644 index 148ddf839..000000000 --- a/content/nomos/updates/2024-02-12.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: 2024-02-12 Nomos weekly -tags: - - nomos-updates -date: 2024-02-12 -lastmod: 2024-02-13 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Started the investigation of the mixnet participation problem. We have looked at Nym and how they constructed a mechanism for populating the mixnet. We extracted the design and described it in detail [here](https://www.notion.so/Populating-Mixnet-in-Nym-0777455a18c5431f8fa2c56a2e1154b5). In short, they require the mixnet nodes to register on-chain; once there, they are randomly selected using weight as stake (plus delegated stake), and rewards are paid based on the mix node performance. - -### `development` - -- No development updates. - -## `testnet` - -### `development` - -- Fixed the race for nomos log service [PR](https://github.com/logos-co/nomos-node/pull/577). -- Nomos-cli: Integrated the explorer into the nomos-cli in one [PR](https://github.com/logos-co/nomos-node/pull/578) with the integration tests coming in [another one](https://github.com/logos-co/nomos-node/tree/integration-for-explorer) once it is unblocked (blocked due to the `sled` dependency). - -## `cryptarchia` - -### `research` - -- New details have been added to the Cryptarchia specification: [the epoch transition](https://github.com/logos-co/nomos-specs/pull/63), [nonce specification](https://github.com/logos-co/nomos-specs/pull/64), [orphan proofs validation](https://github.com/logos-co/nomos-specs/pull/69), [leader lottery VRF details](https://github.com/logos-co/nomos-specs/pull/68), [leader coin evolution](https://github.com/logos-co/nomos-specs/pull/65). With these additions, the [Cryptarchia v1](https://www.notion.so/Cryptarchia-Specifications-a11d16a37c81452a8c89a94ced3ceef5) is now ready internally. -- The impact of approximate total stake (total stake underestimation/overestimation) [document](https://www.notion.so/Impacts-of-Approximate-Total-Stake-1b9a248b222449c68c70fb645a733b03) has been finalized and summarized. Awaiting internal review. For the mathematical analysis and results, please check the [Overleaf document](https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5). -- We have considered adversarial statistical inference of relative stake when the Ouroboros Crypsinous lottery function is used in the leader election process while assuming that only a fraction of election results are observed. For this scenario, we also derived a statistical estimator of relative stake. The analysis of the (naive) statistical estimator is currently in progress. The summary of this work is provided [here](https://www.notion.so/De-anonymisation-of-relative-stake-5b48f86bba3845c98f9b16f952307998) while the detailed analysis can be found [here](https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5). -- [Tokenomics Design Canvas](https://www.notion.so/Nomos-Tokenomics-Design-Canvas-e62e78ee0f8c4a719d1f6ffb08574241) has been updated with new objectives & requirements in addition to new sections. -- Added a chapter about the "stake relativization algorithm" to the "Does Crypsinous’ Leader Election Function lead to wealth concentration in PoS?" [document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#1df422f6cc204cb8b362f41cda260b8b). - -### `development` - -- No updates, heavily in research. - -## `data availability` - -### `research` - -- The [DA Layer Comparison Table](https://www.notion.so/DA-Layer-Comparison-Table-5848811f0af042e2b24c10d3cea9b0a8) has been finalized, after several reviews and additional efforts. -- [Data Availability Specification](https://www.notion.so/Data-Availability-Specification-4dd57aa0a212490c82b09d22bd2b9c30) has been updated according to recent comments. -- [DA protocol details page](https://www.notion.so/DA-Protocol-Details-4bf3bb62cfb64422ab48b5b60aab6a73) has been created with the protocol diagrams included in the latest iteration. -- The DA specification has been updated with new details. To see them and, in general, the progress of the DA specification, refer to this [PR](https://github.com/logos-co/nomos-specs/pull/70). - -### `development` - -- Due to the focus on the DA Specification, protocol details, and the comparison table, no development updates. - -## `miscellaneous` - -- Blog coming this week and will be posted on the Nomos website (with the link on our X/Twitter). \ No newline at end of file diff --git a/content/nomos/updates/2024-02-19.md b/content/nomos/updates/2024-02-19.md deleted file mode 100644 index e8ea637e1..000000000 --- a/content/nomos/updates/2024-02-19.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: 2024-02-19 Nomos weekly -tags: - - nomos-updates -date: 2024-02-19 -lastmod: 2024-02-20 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Based on previous investigation, started a [document](https://www.notion.so/Populating-Mixnet-in-Cryptarchia-adf0ad10bd6b4c56b9597f7719b12092) about integrating the population strategy from Nym into the Cryptarchia setting. In it, while following an explicit staking assumption, it is assumed that a node that wants to be a mix node must register and stake on-chain. WIP with a lot of potential changes. - -### `development` - -- Implementation WIP: defining structure for mixnode / mixclient. -- Implementation: concluded that the [nymtech/sphinx](https://github.com/nymtech/sphinx) crate can be used for our use case. For reference, previously we used a [wrapper of sphinx](https://github.com/nymtech/nym/tree/develop/common/nymsphinx) developed in the [nymtech/nym](https://github.com/nymtech/nym) codebase - but now, we can use the `nymtech/sphinx` crate as it is. -- Modified libp2p to use QUIC. Replaced TCP with QUIC in the `nomos-libp2p` crate, which will be used by the `mixnet` network backend: [PR](https://github.com/logos-co/nomos-node/pull/580). -- Fixed integration tests for QUIC. With the QUIC updates, some DA integration tests were failing - now they are working properly: [PR](https://github.com/logos-co/nomos-node/pull/581). - -## `testnet` - -### `development` - -- Created a [document](https://www.notion.so/Key-Value-Database-943f54941d0347aa89a0de87ad9cc43a) regarding embeddable databases with their analysis. In more detail, the document includes benchmark code, analysis of several rust-based DBs, a proposal for which DB we should use, and example code for our most important use cases. - -## `cryptarchia` - -### `research` - -- Updated the "Does Crypsinous’ Leader Election Function lead to wealth concentration in PoS?" [document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#126d293cf5ae4e46bb112a1b03cf5bf9) with new details about stake relativization - more precisely new simulations in regards to validators of certain ranges. -- Started building out a NIZK (Non-interactive Zero-Knowledge) [Glossary](https://www.notion.so/NIZK-Glossary-089171eaa5b74f7ea765d1bcfc687cf1) of terms that will be used for internal education as well as writing the specification. -- WIP: writing a how-to [guide](https://www.notion.so/How-to-Read-Write-an-NIZK-Spec-4efbe30df2ca48d9aacbab5b3e4a63d8) for reading/writing NIZK specifications. This will help us in the future when writing certain Nomos specifications. -- Analysis of de-anonymization of relative stake: for adversarial inference of relative stake in the leader election process, considered statistical properties of (naive) maximum likelihood (ML) estimator of relative stake - in the naive ML approach, the relative stake of node i is obtained from the frequency of observed 1’s, representing vins in elections, and properties of lottery function. Also, analyzed statistical properties of the naive ML estimator of relative stake. [The consequences of the aforementioned results](https://www.notion.so/De-anonymisation-of-relative-stake-5b48f86bba3845c98f9b16f952307998) for the mixnet are in progress and will be shared in the future. To see the math behind the analysis check the [Overleaf document](https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5). - -### `development` - -- No tangible updates - but Cryptarchia rust implementation is in progress, more details in the coming weeks. - -## `data availability` - -### `research` - -- Initial DA API specification structure PR: defined mock zone, DA node and block producer to wrap DA spec and use it for encoding, dissemination and verification. Once the DA spec is near finalization, we will continue the mock implementation in python. -- [DA Specification](https://www.notion.so/Data-Availability-Specification-4dd57aa0a212490c82b09d22bd2b9c30) updated per reviews and comments. Likely more changes on the way (depending on review). -- Started a [document](https://www.notion.so/VeriZEXE-vs-Taiga-3ef9b9def27b4140bd752b0d49cba391) on studying VeriZEXE and Taiga designs. WIP, currently includes initial notes, likely to change. - -### `development` - -- Started implementing KZG core functionality of DA - more details in the upcoming weeks. - -## `miscellaneous` - -- Finalizing v0.6. of the darkpaper for internal release. -- Finalizing the first [blog post](https://docs.google.com/document/d/15G9t6lE7CdqA7o-x8dLwZIyRrnbV-D5E0jyRaFjgphk/edit#heading=h.89r8n54lhgro) for internal release. \ No newline at end of file diff --git a/content/nomos/updates/2024-02-26.md b/content/nomos/updates/2024-02-26.md deleted file mode 100644 index 3054ce7ad..000000000 --- a/content/nomos/updates/2024-02-26.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: 2024-02-26 Nomos weekly -tags: - - nomos-updates -date: 2024-02-26 -lastmod: 2024-02-26 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Analysis of the fraction of compromised paths in the mix network: developed an (asymptotic) analytical framework for the analysis of the fraction of compromised paths in the randomly generated mix network. Calculated the average and variance of the fraction of compromised paths. In the regime of a finite number of layers and very large width, the variance is vanishing, and the fraction of compromised paths becomes deterministic. [Analysis](https://www.overleaf.com/project/64ff35bb625e39b2cad298e5) of the large number of layers and large width regime is currently in progress. -- Continued the [investigation](https://www.notion.so/Populating-Mixnet-in-Cryptarchia-adf0ad10bd6b4c56b9597f7719b12092) of the mixnet population - analyzing the proof of mixing under the explicit staking assumption for Cryptarchia: Trying to reason the possibility to limit the number of active staking parties and uphold the same security properties as Nym has. In conclusion: without active participation of “users” (regular nodes) we cannot effectively measure the performance of the mixnet. On top of that, the engagement of the regular nodes must follow the same design as mixnet formation - it must be incentivized. - -### `development` - -- Implemented the full spec of mixnet v1. Preparing to open a couple of small PRs by splitting a few of the bigger ones. - -## `testnet` - -### `development` - -- No updates. - -## `cryptarchia` - -### `research` - -- The [Tokenomics Design Canvas](https://www.notion.so/Nomos-Tokenomics-Design-Canvas-e62e78ee0f8c4a719d1f6ffb08574241) has been updated. Among other updates, it is important to mention that we added a new role to the canvas - Light nodes (Zone verifiers and replication providers). -- Scraped cexplorer for the individual stake values held in Cardano's: [Notes](https://www.notion.so/Cardano-Stake-Distribution-f3aba15545034c55966076ab6a2c4049). -- Simulations and plots to validate stake privacy analysis: [Analysis](https://www.notion.so/De-anonymisation-of-relative-stake-5b48f86bba3845c98f9b16f952307998?pvs=4#f01bde3808a4459aa81e8d9cc8cad278). -- Analysis of de-anonymization of relative stake: for adversarial inference of relative stake in the leader election process, considered statistical properties of maximum likelihood (ML) estimators of relative stake. A number of empty slots were included in the ML framework but lead to an inconsistent estimator of the relative stake - this result was confirmed in simulations. The ML framework was used to infer the relative stake in simulations using synthetic and real stake (Cardano) data. Simulations suggest that at least a 1/100 fraction of the network has to be observed at any time to infer the relative stake of the top 1% nodes with high probability within T=432000 time-slots. [Summary](https://www.notion.so/De-anonymisation-of-relative-stake-5b48f86bba3845c98f9b16f952307998) and the detailed [analysis](https://www.overleaf.com/read/fzbrxvkwwscq#f2907c). - -### `development` - -- Cryptarchia first [PR](https://github.com/logos-co/nomos-node/pull/583) - Cryptarchia engine - is ready for review - it's mostly a translation from specs code apart from a few routines that were made more efficient. Additional things (e.g., orphan proofs) will be added in a future iteration. - -## `data availability` - -### `research` - -- Studied on the BLS threshold Signature. The detailed explanations of BLS-pairing and signature aggregation are finished - [document](https://www.notion.so/Pairing-Details-b18f5eca8dea4f26ab80698214cafdd7). -- Studying Taiga designs (WIP) - This [article](https://www.notion.so/VeriZEXE-vs-Taiga-WIP-3ef9b9def27b4140bd752b0d49cba391) discusses the architectural differences between the privacy-preserving execution environments Taiga, Zexe, and VeriZexe in the context of smart contract systems. -- Studied on the python implementation of KZG to understand the verification check problem. We solved the bug encountered previously - [PR](https://github.com/logos-co/nomos-specs/tree/da-kzg-core/da/kzg_rs). - -### `development` - -- DA API implementation for FullReplication protocol in progress: added Certificate Metadata definition and integration [PR](https://github.com/logos-co/nomos-node/pull/582). -- Research on SurrealDB - captured the [notes](https://www.notion.so/Key-Value-Database-943f54941d0347aa89a0de87ad9cc43a#98f0608a34744e41abee16f5ea162617) as part of the greater DB research document. -- Implemented RocksDB storage service - [PR](https://github.com/logos-co/nomos-node/pull/584). Based on this also opened the [PR](https://github.com/logos-co/nomos-node/pull/585) to start using RocksDB as the backend. - -## `miscellaneous` - -- v0.6 of Darkpaper is close to finalizing (internally). After the introduction is written, we will coordinate the public release. -- The first [blog](https://docs.google.com/document/d/15G9t6lE7CdqA7o-x8dLwZIyRrnbV-D5E0jyRaFjgphk/edit#heading=h.89r8n54lhgro) (Is Network Anonymity Alone Sufficient for Proof of Stake Systems) is being finalized. We have one more round of comments to review and add the blog feature to the nomos.tech website. The next blog (regarding wealth concentration in PoS) is in progress. \ No newline at end of file diff --git a/content/nomos/updates/2024-03-04.md b/content/nomos/updates/2024-03-04.md deleted file mode 100644 index 51e5e2977..000000000 --- a/content/nomos/updates/2024-03-04.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: 2024-03-04 Nomos weekly -tags: - - nomos-updates -date: 2024-03-04 -lastmod: 2024-03-04 -draft: false -description: Weekly update of Nomos ---- -## `network privacy and mixnet` - -### `research` - -- Started rewriting the "Populating mixnet" [document](https://www.notion.so/Mixnet-with-Staking-c8ec3bfd461f4989b3ebbcf4b4b15324#2e57424c79bd44b19c4c4dd624f544b2), leading to the creation of a new document that combines both previous mixnet-related documents. Initial editing was done, a couple of minor sections have been added, and an additional section has been created that discusses a couple of cryptoeconomical problems requiring more investigation - WIP. -- Mixnet Incentivization: started a new [document](https://www.notion.so/Mixnet-Incentivization-6db9731a221b49878224afd916e2b3ac) that will contain the understanding of the mixnet incentivization problem. -- Analysis of the fraction of compromised paths in the mix network: In the regime of a finite number of layers and very large width, the variance is vanishing, and the fraction of compromised paths, alpha, becomes deterministic. This, however, is no longer true when the number of layers and width of layers are both large. For this regime derived an analytic (asymptotic) expression for the probability that $\alpha$ belongs to some interval `[alpha_0, alpha_1]`. Verification of this [analytic result](https://www.overleaf.com/project/64ff35bb625e39b2cad298e5) by simulations is in progress, and the summary is [here](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4). - -### `development` - -- Mixnet network backend skeleton - [PR](https://github.com/logos-co/nomos-node/pull/586). -- Libp2p stream read/write - [PR](https://github.com/logos-co/nomos-node/pull/587). -- Emitting packets from mixclient using libp2p stream - [PR](https://github.com/logos-co/nomos-node/pull/588). -- Handle outputs from mixnode using libp2p stream/gossipsub - [PR](https://github.com/logos-co/nomos-node/pull/589). -- Refactor Poisson distribution implementation - [PR](https://github.com/logos-co/nomos-node/pull/590). -- Mix client Poisson emission - [PR](https://github.com/logos-co/nomos-node/pull/591). -- Mix node packet handling - [PR](https://github.com/logos-co/nomos-node/pull/592). -- Mix Packet / Fragment logic - [PR](https://github.com/logos-co/nomos-node/pull/593). -- Move FisherYates to nomos-utils - [PR](https://github.com/logos-co/nomos-node/pull/594). -- Mixnet topology - [PR](https://github.com/logos-co/nomos-node/pull/595). -- Mix client/node unit tests [PR](https://github.com/logos-co/nomos-node/pull/596). -- Note on the PRs above: tests will fail because the whole implementation has been split into small PRs. All tests will pass at the last PR that will be opened. -- Taking some time to refactor network adapter codes that are tightly coupled with only the libp2p network backend. - -## `testnet` - -### `development` - -- WIP: Integration for explorer - [PR](https://github.com/logos-co/nomos-node/pull/603) (marked as WIP since one of the unit tests is failing). - -## `cryptarchia` - -### `research` - -- [Tokenomics design canvas](https://www.notion.so/Nomos-Tokenomics-Design-Canvas-e62e78ee0f8c4a719d1f6ffb08574241) has been updated with additional clarifications regarding the "Light node" role (both Zone verifiers and providers of replication). -- [Stake relativization](https://www.notion.so/Stake-Relativization-65f5ed5522b64c36b625652023318d88#1c0df180a7dc45108c2f4aa6a8a256f2) has been updated as part of the Cryptarchia specification. -- Started the Block rewards [document](https://www.notion.so/Block-rewards-01d08f7a371e4b348ec022e6416e991f) to discuss and propose solutions to rewarding new block proposals. - -### `development` - -- Merged all PRs for Cryptarchia [here](https://github.com/logos-co/nomos-node/pull/600) and [here](https://github.com/logos-co/nomos-node/pull/583). - -## `data availability` - -### `research` - -- Several libraries were reviewed for the implementation of RS encoding. The usage of FFT in the implementation was examined. In the initial stage, details on how the implementation can be carried out were outlined [here](https://www.notion.so/RS-Encoding-28aa2466d53e4f4eb19ed57c90020db8). - -### `development` - -- KZG core functionality (working version) has been implemented - [PR](https://github.com/logos-co/nomos-specs/pull/73). -- Started RS: implemented encoding. -- Started RS: decoding implementation in progress. -- DA API Verified certificate selection from the mempool function - [PR](https://github.com/logos-co/nomos-node/pull/598). -- DA API sign attestations in full replication - [PR](https://github.com/logos-co/nomos-node/pull/599). -- DA API signer tests - [PR](https://github.com/logos-co/nomos-node/pull/601). - -## `coordination layer` - -### `research` - -- The examination of the Taiga design continues. Technical details and the cryptographic functions used are being researched. Verifiable encryption is under consideration, and existing libraries in the literature are being reviewed. Notes and questions related to the Taiga design are documented [here](https://chat.openai.com/c/806109a9-202b-49e5-91dc-ffd2bd76c43f) (WIP). -- As part of the same effort with the previous point, created two more documents [here](https://www.notion.so/Taiga-2e9e9a002c71435395c41bb1091ce243) and [here](https://www.notion.so/Taiga-d3581c8e635c42ddb38c07b417b4d9dd) that envelop additional efforts on studying Taiga. - -### `development` - -- No updates at the moment, heavily in research. - -## `miscellaneous` - -- 1 new [blog post](https://docs.google.com/document/d/11wgjfkDL1xfGtABfNrKcr3ECsZ2T6AKVfB6K5Gvqn7A/edit) is in review regarding Wealth concentration in PoS systems. Currently in the first iteration. \ No newline at end of file diff --git a/content/nomos/updates/2024-03-11.md b/content/nomos/updates/2024-03-11.md deleted file mode 100644 index b0441941e..000000000 --- a/content/nomos/updates/2024-03-11.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 2024-03-11 Nomos weekly -tags: - - nomos-updates -date: 2024-03-11 -lastmod: 2024-03-11 -draft: false -description: Weekly update of Nomos ---- - -## `cryptarchia` - -### `research` - -- We have updated the Cryptarchia specification with the update epoch stabilization schedule - [PR](https://github.com/logos-co/nomos-specs/pull/79). -- Analysis of adversarial inference of relative stake: derived an equation that can be used to infer the Lagrange parameter in the maximum likelihood inference of relative stake - the details of the [analysis](https://www.overleaf.com/project/656dfacf4929b4a3d6d2ffe5). - -### `development` - -- Removed assumptions on Carnot being the consensus algorithm in the mempool: [PR](https://github.com/logos-co/nomos-node/pull/605). -- Separate ledger and consensus to prepare for integration: [PR](https://github.com/logos-co/nomos-node/pull/606). - -## `mixnet (network privacy)` - -### `Research` - -- Work in Progress (WIP): The [Mixnet Incentivization document](https://www.notion.so/Mixnet-Incentivization-6db9731a221b49878224afd916e2b3ac) has been initiated. Current open questions will be addressed, covering system design, mathematical analysis, and more. -- Continuing work on the mixnet with staking, incorporating modifications based on feedback. A section has been added concerning the hidden bonus of deanonymization. It’s a straightforward observation that random assignment of adversarial nodes can, in some cases, lead to a higher number of adversarial paths than naively expected. Also, a section about discussing the latency and anonymity relationship has been started. WIP [document](https://www.notion.so/Mixnet-with-Staking-c8ec3bfd461f4989b3ebbcf4b4b15324#2e57424c79bd44b19c4c4dd624f544b2). -- Analysis of the fraction of compromised paths in the mix network: using an asymptotic lower bound to estimate the probability that the fraction of compromised paths, α, belongs to the interval [α0​,α1​]. The analysis suggests that in the mixnet of size n=240 with L=3 layers sampled from N=800 nodes, where M=200 nodes are adversarial, α can be almost three times larger than the average (M/N)L which assumes a mixnet of infinite width. The parameters n=240, L=3, and N=800 are currently used in Nym’s mixnet. Here for ¼ of adversarial nodes, the fraction of compromised paths can be as high as 0.05. To compare, the average here is 0.02. Summary is provided [here](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4). - -### `development` - -- [All PRs](https://github.com/logos-co/nomos-node/pull/569) for Mixnet v1 implementation have been merged. We've taken some additional time to polish the code according to feedback. -- One remaining PR we are working on is adding a compilation option to enable mixnet. We're going to always enable mixnet in production, but we've discussed that it's also good to remain in the libp2p-only compilation mode for development to unblock other dev topics until everything of mixnet becomes stable. Will be finished this early this week. - -## `data availability` - -### `research` - -- No current updates. - -### `development` - -- Finished RS core encode/decode: there was an issue with different FFT calls from different libraries that didn't work and took a while to debug. They use floating numbers, and when rounding or using a big set of operations, precision leads to errors - [PR](https://github.com/logos-co/nomos-specs/pull/75). -- Implemented DA protocol encoder: [PR](https://github.com/logos-co/nomos-specs/pull/76). -- Implemented DA protocol verifier: [PR](https://github.com/logos-co/nomos-specs/pull/78). -- DA API mempool tests using a mock implementation [PR](https://github.com/logos-co/nomos-node/pull/604) - The previous PR defined an abstraction for verifying and filtering what to include in the generic mempool; this PR provides mock implementations for TX and Cert verification/filtering. WIP: DA API indexing for data blobs - adding an index to data blob in DA node when the certificate is observed in the block. - -## `coordination layer` - -### `research` - -- We have begun a couple of study documents in terms of the Coordination Layer: [What does it mean for an asset to be “inside” a Zone](https://www.notion.so/What-does-it-mean-for-an-asset-to-be-inside-a-Zone-a38134e2667e43fb80ccf6df0e3d1def) and [Illustrated guide to “Mutator Sets and their Application to Scalable Privacy](https://www.notion.so/Illustrated-guide-to-Mutator-Sets-and-their-Application-to-Scalable-Privacy-17236ccd86994a03b8a4541ea0341a6d). With these documents, we want to solve questions and challenges before delving into the design. -- The "Parallel Zero Knowledge Virtual Machine" paper has been reviewed, and a brief summary of GKR details has been shared. - -### `development` - -- Heavily in research, no development updates. - -## `testnet` - -### `development` - -- Explorer works well now, can share the data directories with the node, and provide data through HTTP: [PR](https://github.com/logos-co/nomos-node/pull/603). - -## `miscellaneous` - -- Nomos has a new [HackMD](https://hackmd.io/@Nomos) account - our team will be publishing various notes on it - mostly scientific in nature. -- Blog to be released this week. Stay tuned on our website. \ No newline at end of file diff --git a/content/nomos/updates/2024-03-18.md b/content/nomos/updates/2024-03-18.md deleted file mode 100644 index aeff8da80..000000000 --- a/content/nomos/updates/2024-03-18.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: 2024-03-18 Nomos weekly -tags: - - nomos-updates -date: 2024-03-18 -lastmod: 2024-03-18 -draft: false -description: Weekly update of Nomos ---- - -## `Cryptarchia` - -### `Research` - -- No research updates at this moment. - -### `Development` - -- Stake Relativization Specification - the spec implementation has revealed some bugs in our orphan proof handling logic. Those bugs are still being worked through in this [PR](https://github.com/logos-co/nomos-specs/pull/86). -- Refactored Cryptarchia implementation into ledger and consensus crates: [PR](https://github.com/logos-co/nomos-node/pull/606). -- Refactored nomos header and block definition so that it's now responsibility of the nomos-core crate: [PR](https://github.com/logos-co/nomos-node/pull/609). -- Added Cryptarchia consensus service: [PR](https://github.com/logos-co/nomos-node/pull/612). - -## `Mixnet (Network Privacy)` - -### `Research` - -- Mixnet incentivization [document](https://www.notion.so/Mixnet-Incentivization-6db9731a221b49878224afd916e2b3ac) has been further updated, more precisely the "Rewards" chapter that showcases the mathematic analysis and some of the parameters. -- Focused on researching the problem of mixing transactions by briefly investigating the economic perspective - emphasized on the fact that it can be a main source of the revenue for the mix network. Furthermore, we discussed the privacy perspective and potential negative impact on the privacy due to direct staking. -- Started work on the Message Type Indistinguishability (WIP name) section, where we discuss the potential sizes of the messages, their impact on the throughput, mixnet capacity, and noted a rewarding thing leading to a negative on the privacy. Both this and the previous point can be found in this (WIP) [document](https://www.notion.so/Mixnet-with-Staking-c8ec3bfd461f4989b3ebbcf4b4b15324#2e57424c79bd44b19c4c4dd624f544b2). -- Analysis of the fraction of compromised paths in the mix network: optimized code which computes the (asymptotic) lower bound on the probability that the fraction of compromised paths, alpha, belongs to the interval [alpha_0, alpha_1]. The code takes the mixnet size n, sampled from N nodes where M nodes assumed to be adversarial, some initial fraction of compromised paths alpha_0 and outputs minimal fraction of compromised paths alpha_1 such that prob. that fraction of compromised paths belongs to the interval [alpha_0, alpha_1] is 1. The code can be used to design a program which optimizes the number of layers L given some threshold, on the alpha_1, which can be tolerated. However, one has to test if the asymptotic lower bound is suitable for this and gives alpha_1 which is not too loose. Summary of numerical results and simulations is provided in this [document](https://docs.google.com/spreadsheets/d/1Bo7Ch76l6MeTCpii6vGLHhOSIHJULAtPkwJ3x9Ji_Ag/edit?usp=sharing). Summary of analysis is provided in this [document](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4) and the detailed analysis can be found in the Overleaf [document](https://www.overleaf.com/project/64ff35bb625e39b2cad298e5). - -### `Development` - -- Integrated mixnet network service for consensus, DA, and mempool: [PR](https://github.com/logos-co/nomos-node/pull/610). -- Updated nomos-node integration tests for Mixnet: [PR](https://github.com/logos-co/nomos-node/pull/611). -- Refactoring mixnet code: [PR](https://github.com/logos-co/nomos-node/pull/614) - and further PRs to be opened soon. - -## `Data Availability` - -### `Research` - -- A case for dispersing the same VID Certificate multiple times was discussed during development, shorter version can be found in this [document](https://www.notion.so/DA-Api-Specification-83000d9c2f3f45b586cd55c5c195cce5#c16d22b2dd1b4cbeae333fbf8ce4e9a2) (VID Related Open Questions chapter). -- BLS threshold details have been added in the relevant [document](https://www.notion.so/BLS-Aggregated-and-Threshold-Signature-5a37ed1db01e4f9594080e1e6a5ef5f4). It was concluded that there could be a significant overhead in communication when using DKG. Instead, an agreement was reached to apply a different solution using aggregate BLS. The relevant changes have been updated in the specification [document](https://www.notion.so/DA-Protocol-Details-4bf3bb62cfb64422ab48b5b60aab6a73). At this stage, we will proceed with this method. To find the best solution for this part, we might ask for support from the VAC team. - -### `Development` - -- Initial DA API spec structure revised and merged: [PR](https://github.com/logos-co/nomos-specs/pull/72). -- Tests using DA Protocol specs have been developed. Currently, there are 2 types of tests, which are showcased in the first [PR](https://github.com/logos-co/nomos-specs/pull/83) and the second [PR](https://github.com/logos-co/nomos-specs/pull/85). -- Finalizing DA verifier protocol specification: [PR](https://github.com/logos-co/nomos-specs/pull/78). -- Finalizing DA encoding protocol specification: [PR](https://github.com/logos-co/nomos-specs/pull/76). -- Finalizing DA dispersal protocol specification. Full flow with tests included, using Encoders and Verifiers: [PR](https://github.com/logos-co/nomos-specs/pull/80). Also, they have gone through reviews and we started discussions in several PRs - [#1](https://github.com/logos-co/nomos-specs/pull/80), [#2](https://github.com/logos-co/nomos-specs/pull/81), [#3](https://github.com/logos-co/nomos-specs/pull/82) -- Added attesters bitfield to DA certificate. Missing compressed bitfield so we can use BLS aggregation of signatures as a threshold scheme: [PR](https://github.com/logos-co/nomos-specs/pull/81). -- Added certificate verification specification. - -## `Coordination Layer` - -### `Research` - -- Synchronous Composability with Partial Transactions [document](https://www.notion.so/Synchronous-Composability-with-Partial-Transactions-a2d832ea7d7a4b90b6f582bea64eab7a) with a proposed design. -- Progressed with the discussion on Atomic Asset Transfer w/ Taiga in this [document](https://www.notion.so/Atomic-Asset-Transfer-w-Taiga-d9d1c29a840a49188270010faa3ac341). -- The Taiga circuit structures have been reviewed again. Relevant comments have been added to the [document](https://www.notion.so/VeriZEXE-vs-Taiga-WIP-3ef9b9def27b4140bd752b0d49cba391). - -### `Development` - -- No development updates. - -## `Testnet` - -### `Development` - -- No updates at this moment. - -## `Miscellaneous` - -- [Blog](https://blog.nomos.tech/) is now live - feel free to take a look at the first article [here](https://blog.nomos.tech/is-network-anonymity-alone-sufficient-for-resilient-proof-of-stake-systems/). More to come soon! diff --git a/content/nomos/updates/2024-03-25.md b/content/nomos/updates/2024-03-25.md deleted file mode 100644 index 7fa44a739..000000000 --- a/content/nomos/updates/2024-03-25.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: 2024-03-25 Nomos weekly -tags: - - nomos-updates -date: 2024-03-25 -lastmod: 2024-03-25 -draft: false -description: Weekly update of Nomos ---- - -## `Cryptarchia` - -### `Research` - -- No research updates at this moment. - -### `Development` - -- Fixed a [bug](https://github.com/logos-co/nomos-specs/pull/84) in the Cryptarchia spec regarding `try_create_fork` to find parent block. -- Stake Relativization Executable Specification is done: [PR](https://github.com/logos-co/nomos-specs/pull/86). Also, implementing stake relativization revealed some bugs in our Cryptarchia spec which took some time to debug and write tests for. Also, the stake relativization spec has been updated with learnings from the implementation (changes were mostly around time management since we need the inferred total stake to be stable by the time we enter the next epoch). -- Regarding block rewards, our proposal would be to postpone this work for when we will have the CL available, as it's likely best done through a 'special' transaction (probably in a block body rather than in the header). -- As discussed, at this moment, we will not support multiple consensus protocols in node. - -## `Mixnet (Network Privacy)` - -### `Research` - -- Mixnet incentivization [document](https://www.notion.so/Mixnet-Incentivization-6db9731a221b49878224afd916e2b3ac) has been updated with additional problem statements: we are exploring how to make delegations private. -- Analysis of the fraction of compromised paths in the mix network: The asymptotic lower bound (asympt. l.b.) on the probability that the fraction of compromised paths, \alpha, belongs to the interval [\alpha_0, \alpha_1] was used to obtain an upper bound on the maximum fraction of compromised paths, \alpha_max, in the mixnet of size n sampled from N nodes, where M nodes are adversarial. -- Comparing the asympt. l.b. and simulations shows that the latter provides a very loose upper bound on \alpha_max when the size of mixnet n is fixed and the number of layers L is increasing. However, the asympt. l.b. provides a better upper bound on \alpha_max when the width of the mixnet n_1 is fixed and the number of layers L is increasing. -- Derived the probability distribution for the fraction of compromised paths \alpha in the mixnet of size n=n_1 L, where n_1 is the number of nodes per layer and L is the number of layers, with m adversarial nodes when n_1 is very large. In this regime, the number of adversarial nodes in a layer is a random variable from the binomial distribution with parameters n_1 and m/n, such that on average n_1m/n nodes per layer are adversarial. Summary of numerical results and simulations is provided in this [doc](https://docs.google.com/spreadsheets/d/1Bo7Ch76l6MeTCpii6vGLHhOSIHJULAtPkwJ3x9Ji_Ag/edit?usp=sharing) while Summary of analysis is provided [here](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4) and the details of the analysis are in [Overleaf](https://www.overleaf.com/read/rybwvjftfrrg#3d77ee). -- Mixnet with staking design: Message Type Indistinguishability - extended the message type indistinguishability section of the staking design document, where we added a part about the impact of the pledged and delegated stake based rankings on the privacy. This part of the investigation, led to coining the Staking Security vs Privacy dilemma, where we describe a tension between staking security and privacy. In short, staking can increase chances for deanonymization. The details can be seen in this [document](https://www.notion.so/Mixnet-with-Staking-c8ec3bfd461f4989b3ebbcf4b4b15324#2e57424c79bd44b19c4c4dd624f544b2). - -### `Development` - -- Some refactoring work on following PRs: [#615](https://github.com/logos-co/nomos-node/pull/615), [#616](https://github.com/logos-co/nomos-node/pull/616), [#618](https://github.com/logos-co/nomos-node/pull/618). -- WIP: Testing if mix client/node emit packets according to the specified Poisson parameters. -- WIP: Testing if enough packets are mixed in each mix node. -- WIP: Working on making the aforementioned two as metrics (for monitoring). - -## `Data Availability` - -### `Research` - -- No research updates at this moment. - -### `Development` - -- Fixed a new storage issue in windows build CI: [PR](https://github.com/logos-co/nomos-node/pull/621 "https://github.com/logos-co/nomos-node/pull/621"). -- Added a new block subscription to consensus service: [PR](https://github.com/logos-co/nomos-node/pull/617 "https://github.com/logos-co/nomos-node/pull/617"). -- DA API testing: [PR](https://github.com/logos-co/nomos-specs/pull/83 "https://github.com/logos-co/nomos-specs/pull/83"). -- Added Certificate verification to specs: [PR](https://github.com/logos-co/nomos-specs/pull/82 "https://github.com/logos-co/nomos-specs/pull/82"). -- Fixed arbitrary data encoding in the Encoder specs: [PR](https://github.com/logos-co/nomos-specs/pull/87 "https://github.com/logos-co/nomos-specs/pull/87"). There was an issue with this, we can only encode up to 31bytes per chunk using bls. Notice that bls uses 32bytes field elements, but some 32bytes elements would be higher than the bls_modulus, hence we need to use 31bytes. -- Added duplicated blobs verification in verifier: Verifiers need to return the attestation in case a duplicated verification comes around, or skip it depending on different stages: [PR](https://github.com/logos-co/nomos-specs/pull/88 "https://github.com/logos-co/nomos-specs/pull/88"). -- Moved current DA API implementation to draft: DA Protocol abstraction will change. Until we have an updated version, the DA API work is on hold. - -## `Coordination Layer` - -### `Research` - -- We've been reading Taiga source code, and putting up minor contributions as we go through it: [PR - taiga#262](https://github.com/anoma/taiga/pull/262), [taiga#260](https://github.com/anoma/taiga/pull/260), [taiga#259](https://github.com/anoma/taiga/pull/259). -- Reviewed [Synchronous Composability with Partial Transactions](https://www.notion.so/Synchronous-Composability-with-Partial-Transactions-a2d832ea7d7a4b90b6f582bea64eab7a). The relevant article has been reviewed, and comments have been added. -- Details regarding the proof of equivalence have been explained and python code for random proof generation has been added to the following [document](https://www.notion.so/Proof-of-Equivalance-601026c1662d4c6d8d532829d67495b0). -- As part of our research effort, compiled the notes on - [Bitcoin L2s](https://www.notion.so/Bitcoin-L2s-1ee5e0a897344a0f8d2272eb92fbbe1c), [New Architectures](https://www.notion.so/New-Architectures-789266e689194c2989e503f5fbd8a5e3), [Coordination Layer](https://www.notion.so/Coordination-Layer-Aggregation-Bridging-d77e29c4a90b4191b38414784097adf8). - -### `Development` - -- No development updates. - -## `Testnet` - -### `Development` - -- Removed unused nomos services: old metrics service replaced with a Prometheus [PR](https://github.com/logos-co/nomos-node/pull/623) and old http API removed [PR](https://github.com/logos-co/nomos-node/pull/622). - -## `Miscellaneous` - -- A new blog post will be published this week: Tackling the Challenge of Wealth Concentration in PoS Blockchains with the simulations and scientific results. -- We have exciting new ideas cooking about updating the Nomos documentation - stay tuned! diff --git a/content/nomos/updates/2024-04-01.md b/content/nomos/updates/2024-04-01.md deleted file mode 100644 index 3bf35db8e..000000000 --- a/content/nomos/updates/2024-04-01.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: 2024-01-04 Nomos weekly -tags: - - nomos-updates -date: 2024-04-01 -lastmod: 2024-04-01 -draft: false -description: Weekly update of Nomos ---- - -## `Cryptarchia` - -### `Research` - -- Used the probability that the naive estimator of relative stake is inside some interval which includes the true stake α, δ(α), to derive an algorithm that suggests how to divide the stake of a node in order to reduce the quality of statistical inference by an adversary. The interval [α(1−γ),α(1+γ)] is parameterized by the adversarial “accuracy” parameter γ. The probability δ(α) can be interpreted as adversarial “confidence” gained after Tq observations (on average), where T is the number of time-slots in one epoch and q is the fraction of observed slots (for example due to deanonymization failure of the mixnet), that the inferred stake is within the interval [α(1−γ),α(1+γ)]. Assuming q and γ, a node can use its stake α to compute the probability δ(α). The latter is a monotonically increasing function of α, and dividing α among a number of nodes reduces the adversarial “confidence,” thereby reducing the quality of adversarial inference. The details of the analysis can be found in the following [document](https://www.notion.so/De-anonymisation-of-relative-stake-5b48f86bba3845c98f9b16f952307998#e1dbf36740794232a11289d655da574f). - -### `Development` - -- Cryptarchia fuzz tests: tried various fuzz testing strategies, but finally ended up with a simple but clear fuzz strategy, through which we can test Cryptarchia by simulating the environment where the block proposal delivery (p2p networking) is not synchronous and not predictable. The initial [PR](https://github.com/logos-co/nomos-node/pull/629) for the basic strategy has been opened. Also opened a small fix found by the fuzz test: [PR](https://github.com/logos-co/nomos-node/pull/630). - -## `Mixnet (Network Privacy)` - -### `Research` - -- Discussed the Staking-Privacy dilemma and came to a conclusion that the Nym design needs to be fine-tuned to reduce the impact of the delegated stake on the probability of selection of a node. We also need to investigate a mysterious constant that “controls the loss of competitiveness experienced by a Sybil attacker when it partitions the stake into multiple pledges”. -- Prepared a [recommendation](https://www.notion.so/Mixnet-with-Staking-c8ec3bfd461f4989b3ebbcf4b4b15324#2e57424c79bd44b19c4c4dd624f544b2) for the first iteration of the mixnet staking. The main motivation was to present a simple staking design for mixnet that is inspired by Nym but is simplified and will be updated when our approach gets more mature. - -### `Development` - -- Adding metric APIs for Mixnet - still work in progress. A PR will be opened for a minimal but essential metric API this week. This should be enough for now because the entire mixnet architecture may change according to the mixnet staking design. The first metric is going to be the number of packets that are being mixed in each mix node, which can be considered as the quality of mixing. More details in the relevant [document](https://www.notion.so/Mixnet-Metrics-d9ca6b3e06d1497096119e097f99790e). - -## `Data Availability` - -### `Research` - -- Nomos DA specification has been rewritten - a [document](https://www.notion.so/NomosDA-Encoding-Verification-Dispersal-4d8ca269e96d4fdcb05abc70426c5e7c) has been added on top of the original one to make certain mathematical and technical details more digestible. - -### `Development` - -- Nomos DA verifier sketch: We have started putting all pieces in place for getting the DA protocol implemented and integrated in the node. This implies some cleaning and refactoring that have impact in the code base. We have a da-v1 branch where we will be incorporating everything until it is ready and stable to be added to master - [PR](https://github.com/logos-co/nomos-node/pull/627). -- Published a draft branch with the first working version of the Nomos DA protocol. This will make a lot of changes including removing of old attempts and experiments. Notice that this [branch](https://github.com/logos-co/nomos-node/pull/626) will hold a lot of changes but that most of them will be incrementally included (and reviewed). -- [Branch](https://github.com/logos-co/nomos-node/tree/da-v1-kzg-rs-core) added: KZG+RS core in rust, `bytes_to_polynomial` method - not working atm but we are debugging to see what is the issue (looks like roots of unity related). -- [Branch](https://github.com/logos-co/nomos-node/tree/da-storage-service) added: DA indexer - work in progress, removed all previously proposed mocks and structures as da protocol changed substantially. - -## `Coordination Layer` - -### `Research` - -- Taiga: compiled a [report](https://www.notion.so/Taiga-as-of-March-2024-7b9c037fa2c144dcbb5e4666c1815d17) on the current state as part of our research efforts. -- Taiga made the choice to use blake2s for VP commitments and Poseidon for resource commitments. The experiment looks at prover/verify time when blake2s is replaced with Poseidon, and we get a near doubling in performance. More details in our [experiment](https://www.notion.so/Taiga-Replace-Blake2s-with-Poseidon-fd34bdba50da4360822ec3791a4ccd2d). The details of the Blake2s with Poseidon implementation have been reviewed in this [document](https://www.notion.so/ZK-Friendly-Hash-Functions-312c6d625f0244f0bea778ac5619e76d). As part of examining the usage of Blake2s and Poseidon in the Taiga implementation, a summary providing general information about ZK-friendly hash functions has been prepared. -- The [survey](https://www.notion.so/Proof-Systems-Survey-ffc625a2ff82407db7a45fd193136258) on proof systems is underway: to summarize, Halo2 stands out in implementations for private transactions. Its use of Plonkish arithmetization and consideration of lookup arguments make Halo2 advantageous. As discussed earlier, we prefer not to use a trusted setup-related feature like KZG in the coordination layer. Consequently, proof protocols involving trusted setups, such as Groth16 and Plonk, are less favored. Generally, there are three common polynomial commitment schemes used in existing protocols: KZG, IPA, and FRI. A comparison of these schemes has been added to the report. Even if we don't use Plonk, the use of Plonk-ish arithmetizations in Halo2 is significant for performance. In addition, Nova's folding improvement is critical for performance, but it requires the use of R1CS instead of Plonkish. Sangria, a folding scheme using Plonkish methods, is a new design worth exploring. Finally, after outlining the general framework for the coordination layer, we believe that upgrading cryptographic sub-algorithms for performance will not be too challenging. - -### `Development` - -- No development updates. - -## `Testnet` - -### `Development` - -- No updates at the moment. - -## `Miscellaneous` - -- New blog will be published after reviews - Stake relativization. -- Nomos team will be at All-hands next week. diff --git a/content/nomos/updates/2024-04-08.md b/content/nomos/updates/2024-04-08.md deleted file mode 100644 index 283daa4ba..000000000 --- a/content/nomos/updates/2024-04-08.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: 2024-01-08 Nomos weekly -tags: - - nomos-updates -date: 2024-04-08 -lastmod: 2024-04-08 -draft: false -description: Weekly update of Nomos ---- - -#### `Note` - -- This is a weekly update from the part of the team that didn't attend the All-Hands Event in Athens. - -## `Mixnet (Network Privacy)` - -### `Research` - -- Regarding the current situation with the mixnet and staking, we have decided to focus on the simplest approach, that is only single-staking without stake delegation as suggested for the first iteration of the staking. Due to the simplicity of this approach, we can model it more precisely and learn more of its properties. -- We have received a couple of comments regarding the mixnet from an external reviewer. The comments and our analysis can be seen in this [document](https://docs.google.com/document/d/1yWUP_HdHirwV8XY-i3l_x6qCfh4CQSSa9donAR4AszI/edit). -- Reviewed an interesting [critique](https://www.youtube.com/watch?v=1ev4r-aZmFM) of mixnets and suggestions on their improvements. One of them is the Poisson mixing design choice that is part of Nym and is claimed to be wrong. This led to a discussion on how to design a better mixing mechanism. We don't know exactly what is broken in the Poisson mix; there are some claims and some proposals on how to solve the problem suggested in the presentation. We have asked for more paperwork supporting their claims and the authors of the presentation are working on it. In the meantime, a proposal has been prepared based on suggestions from the presentation. -- Looked at the Bittensor proposal (especially the idea of treating a node as a learning machine and combining it with a rewarding function), read through all of their papers. If we would like to use a similar approach then we must prove that the outcome of the mechanism cannot be biased - which might be very hard. -- Optimization of mixnets: written the initial specification and some functions for the algorithm which uses the (asymptotic) lower bound on the probability that the fraction of compromised paths belongs to some interval to compute the optimal number of layers. The details are provided in this [document](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4#ad74be2581504c5caa6df3f020d7ce41). -- Also, tried to tighten the bound on this probability using the AM–GM and Markov's inequalities, but trying this approach has not produced any improvements so far. The details are provided in this [document](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4#45dc0f1a32db4b6eb588a3621c6680f5). - diff --git a/content/nomos/updates/2024-04-15.md b/content/nomos/updates/2024-04-15.md deleted file mode 100644 index e9d3f444d..000000000 --- a/content/nomos/updates/2024-04-15.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: 2024-01-15 Nomos weekly -tags: - - nomos-updates -date: 2024-04-15 -lastmod: 2024-04-15 -draft: false -description: Weekly update of Nomos ---- -#### `Note` - -- This is a weekly update from the part of the team that didn't attend the All-Hands Event in Athens. - -## `Mixnet (Network Privacy)` - -### `Research` - -- Mixnet mixing problem: Based on the critique of the Loopix mixing design and proposed solutions, we have prepared an updated mixing [design](https://www.notion.so/Probably-Truly-Poisson-Mixing-ca267b7de0e945b197f14e2eaa93bd27). -- We are going to prepare a Mixnet empirical analysis tool, so that we can make sure that our Mixnet design meets a proper level of anonymity that we expect. This will probably be based on our executable specification, so that anyone in the team can run it easily whenever they want. Based on it, our reference implementation (Rust) will expose similar metrics, so that we can monitor its behavior in the testnet (probably in collaboration with Vac). This will be useful for finding the Poisson problem mentioned in the previous weekly, for example. -- Network bootstrapping/node registration: started thinking through the problem of network bootstrapping and the requirement of node registration. Looking for inspiration, details of the very early discussion can be found in this WIP [document](https://www.notion.so/Network-and-Privacy-2f0b5ca7fff04953a818b1f2b9354d05). -- Optimization of mixnets: derived an upper bound on the probability that the fraction of compromised paths, α, is greater than some threshold 1α1​. This new upper bound is non-asymptotic, i.e., for mixnets of any size n sampled from the population of N nodes, and much simpler to compute numerically than previously considered asymptotic bounds. Initial results of comparing this upper bound with simulations suggest that the bound is “practical”, i.e., can be much smaller than the trivial bound of 1, and can be used in optimization of mixnets. The summary of this work is provided in this [document](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59#391563b4471041aca2a690bf76620690), and the detailed analysis can be found in the [Overleaf document](https://www.overleaf.com/project/64ff35bb625e39b2cad298e5). Further simulations and work on the algorithm are currently in progress. diff --git a/content/nomos/updates/2024-04-22.md b/content/nomos/updates/2024-04-22.md deleted file mode 100644 index 0a8d65951..000000000 --- a/content/nomos/updates/2024-04-22.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: 2024-01-22 Nomos weekly -tags: - - nomos-updates -date: 2024-04-22 -lastmod: 2024-04-22 -draft: false -description: Weekly update of Nomos ---- - -## `Cryptarchia` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Mixnet (Network Privacy)` - -### `Research` - -- Defined [metrics](https://www.notion.so/On-metrics-insights-and-instrumentation-d8c8357b4e304fa3806f1b7f0e6b172d?pvs=4#5e35500ca17f408dbe095dc47e6b7976) to be collected for Mixnet (for other components as well, but mainly for Mixnet). This list should be sufficient for now. -- [Investigated](https://www.notion.so/Mixnet-Analysis-d9ca6b3e06d1497096119e097f99790e?pvs=4#e84f92c6c0b04518943c849101629ecd) which empirical analysis had been done by Loopix paper and another paper, in order to design Nomos empirical analysis soon. When compared to our previous work, it isn't so different. The main goal would be measuring the probability of linking an output message from a source message correctly. Still remains to determine if this should be for executable spec, or for a real implementation. -- [Planning](https://www.notion.so/Nomos-X-DST-3c82370dea0341d3a673fd01e78e4ca1) the first collaboration with DST. This would focus on the Mixnet properties, but only simple metrics as the first step. Before starting the collaboration, we need to check if this list is really reasonable to be offloaded to DST. -- In consideration on how we can avoid node distinction and registration, and while reviewing the Hopr design an idea arose of changing the layered mix topology (Nym) to a circular one which enables users to extend their number of hops freely, and using gossip pub-sub protocol as an underlying messaging to achieve mixing over P2P. Therefore, we are able to have at the same time privacy (and scalability) optimal layered mix (with flexibility of adjusting the level of anonymity - path length) that does not require registering node long-lasting public identifiers (IPs) and works on top of a P2P network. All this led to a sketch of a new type of a mix, [the “Whirl” Mix](https://www.notion.so/Whirl-Mix-560063859b664fd0aafbacfdb47e4a66). -- New Network Privacy [proposal](https://www.notion.so/Maximally-decentralized-and-homogeneous-private-consensus-6df631b1c7ad430e8846f64fb874ccda) has been made, based on the updated and clear vision/roadmap of Nomos. -- Optimization of mixnets: considered a scenario when all N nodes, where at most M nodes are adversarial, are used to construct the mixnet with L layers. Proved that in this case the fraction of compromised paths 𝛼α is at most (𝑀/𝐿)𝐿(M/L)L which was also verified by simulations. The histogram of 𝛼α obtained in simulations only has a long left tail. Properties of the above mixnet are very different from properties of mixnets of size n sampled from N nodes. Here the fraction of compromised paths is always bounded by 1. This suggests that for small (or moderate) N using all nodes could be more desirable. The summary of this work is provided in [Notion](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4#391563b4471041aca2a690bf76620690) while the details of the analysis can be found in [Overleaf](https://www.overleaf.com/project/64ff35bb625e39b2cad298e5). - -### `Development` - -- No development updates. - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- Merged KZG+RS core (implementation of the KZG and RS core methods): [PR](https://github.com/logos-co/nomos-node/pull/632). -- Implemented and merged DA V1 encoder: [PR](https://github.com/logos-co/nomos-node/pull/633). -- Implemented and merged DA V1 verifier: [PR](https://github.com/logos-co/nomos-node/pull/635). -- DA mempool specific functionality for cert to vid conversion: network payload and mempool item in DA mempool now can differ if payload can be converted into the mempool item, [PR](https://github.com/logos-co/nomos-node/pull/634). -- DA Indexer (WIP): implementation of metadata indexer had to be postponed as it depended on the certificate, vid and metadata definitions added in mempool split PR and da-protocol-v1 branch. - -## `Coordination Layer` - -### `Research` - -- Studied on the proof aggregation methods and also on the Jolt protocol (previously reviewed) for the survey. Added the [updates](https://www.notion.so/Proof-Systems-Survey-ffc625a2ff82407db7a45fd193136258) (WIP - the aim is to complete it by the end of this week). A brief explanation about Jolt: It is designed to reduce prover costs by using lookup arguments. The reason for reviewing it is that its implementation was released in the past weeks. This version uses the Hyrax polynomial commitment, which results in higher verifier complexity (which is not ideal for Nomos). However, they mentioned that future versions would support different commitment schemes. Our priority is minimizing verifier costs, but if Jolt can offer good results for both prover and verifier, it might be worth considering. Release [post](https://x.com/succinctjt/status/1777729264663626168?s=46&t=jj0m7zeFvlbCHsxxCU2x0g) of Jolt on X. - -### `Development` - -- Split generic mempool into CL and DA mempools - this was needed as making it completely generic would have been impossible at some point. They are now free to deviate in both typing and behavior without affecting the other. The refactor was done so they can share as many available resources as possible: [PR](https://github.com/logos-co/nomos-node/pull/636). - -## `Testnet` - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- WIP: Nomos Roadmap and Milestone Execution Plan. -- Wealth Concentration in PoS, part 1 - published and posted on X. -- Introduction to Nomos Architecture - in final stages, will be shared by Wednesday or Thursday. \ No newline at end of file diff --git a/content/nomos/updates/2024-04-29.md b/content/nomos/updates/2024-04-29.md deleted file mode 100644 index dbe255927..000000000 --- a/content/nomos/updates/2024-04-29.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: 2024-01-29 Nomos weekly -tags: - - nomos-updates -date: 2024-04-29 -lastmod: 2024-04-29 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- [Planning](https://www.notion.so/Mixnet-v2-Proof-of-Concept-102d0563e75345a3a6f1c11791fbd746?pvs=4) the Mixnet v2 PoC simulation (WIP): To simulate the behavior of the new design, we need to cover some design options (such as the way of broadcasting, etc.). We'll create a simulator with these options to find the optimal design. -- [Researched](https://www.notion.so/Mixnet-v2-Proof-of-Concept-102d0563e75345a3a6f1c11791fbd746?pvs=4#12f00f18441049a893687f011ee3c683) the existing Mixnet simulators: They provide Python simulators focusing only on global passive adversaries (GPA) by measuring the Shannon entropy as a metric for anonymity (the uncertainty of linking an output message with a certain input message). We can adopt this practice for GPA analysis. For active adversary analysis, we need to figure out how to simulate tagging attacks and n-1 attacks (if necessary). For tagging attacks, we can probably perform an indirect analysis by measuring how many nodes a block is disseminated in before it's selected/proposed. -- [Summarized](https://www.notion.so/Requirements-for-PPoS-Network-Privacy-946893155a17459eb8f3a3165e3611f5) the requirements for the Mixing gadget. -- Optimization of mixnets: For a scenario when n nodes, sampled from N nodes with at most M adversarial nodes, we designed an algorithm. Given the number of nodes per layer n_1, the fraction of compromised paths which can be tolerated αm​ax, and the probability that the fraction of compromised paths is greater than 𝛼𝑚𝑎𝑥αm​ax, δ, the algorithm outputs the number of layers L: [Summary](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59#762ea606be4540b4877e5bde74cb652e). The algorithm is implemented in Python, but the code needs further refinement. -- Analysis of anonymity and communication failures in the mix gadget: Assuming that k nodes are sampled from N nodes, where at most M nodes are adversarial, we derived the probability that all k nodes are adversarial and the probability that at least one node is adversarial. The latter is the probability of communication failure, and the former is the probability of anonymity failure. The probability of anonymity failure decreases with k, and the probability of communication failure increases with k. We derived upper bounds on these probabilities. For large N, the probability of anonymity failure is bounded above by 2(𝑀/𝑁)𝑘/𝜋2(M/N)k/π​, and the probability of communication failure is bounded by 1−𝜋(1−𝑀/𝑁)𝑘/21−π​(1−M/N)k/2. Note that M in the latter corresponds not only to adversarial but also to “slow” nodes or nodes with bad connections. The [summary](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4#5354ec4b641743709a2429327ef00ed3) of this work is in progress. -- Work on analysis of the new mix gadget design is currently in progress. - -### `Development` - -- No development updates. - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- Initial DA protocol benchmarking uncovered 2 performance issues that will be addressed as soon as possible: [WIP](https://github.com/logos-co/nomos-node/tree/da-v1-encoding-benchmarks). -- Add Cert verification to DA mempool: - Merged payload to item conversion in mempool [PR](https://github.com/logos-co/nomos-node/pull/634). Added certificate verification in da mempool [PR merged](https://github.com/logos-co/nomos-node/pull/641). -- DA Indexer service definition: Service that is responsible for DA API functionality, is able to track new blocks and assign metadata to previously attested chunks [PR](https://github.com/logos-co/nomos-node/pull/643). Note that the service is defined, but other services like storage are not yet integrated. These missing pieces will be the focus of upcoming weeks. - -## `PPoS/Consensus` - -### `Research` - -- Wealth concentration [document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f) is in the process of reorganization with new studies being according to 8 parameters (see table 1 in the doc - we're able to use way more realistic numbers as well, because software evolved), 3 classes of stakers (lower, mid, higher - we still lack a precise definition of them); and 3 fork-choice rules (lowest, highest, stochastic). -- The first study assumes the relative stake is known and compares the 3 classes of stakers when the protocol enforces each of the 3 fork-choice rules under different parametrizations (sensitivity analysis). -- The second study relaxes the assumption that the relative stake is known. We use and evaluate the impact of David and Alexander's algorithm. -- The third study relaxes the assumption that the protocol enforces the fork-choice rule. Each staker is allowed to use the rule of its choice. -- Investigated the current state of the [orphan proofs problem](https://github.com/logos-co/nomos-node/issues/637). After internal discussions, it was understood that this is a low priority for now, and we need to evaluate the real impact of this problem and how often it can happen first. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Completed the [Proof Systems Survey](https://www.notion.so/Proof-Systems-Survey-ffc625a2ff82407db7a45fd193136258): added updates on aggregation, folding schemes, and some protocols. Also, listed and grouped libraries with existing implementations. This week, there will be more detailed explanations about these libraries. -- Celestia ZK-Research Group messages have been summarized in a [document](https://www.notion.so/Celestia-ZK-in-the-Base-Layer-2be0ad708cff47fb844d1f1fac68b622) with annotations and discussions around parts that might be important to us. - -### `Development` - -- No development updates. - -## `Testnet + Insights` - -### `Research` - -- Extended the metrics and visualizations [document](https://www.notion.so/On-metrics-insights-and-instrumentation-d8c8357b4e304fa3806f1b7f0e6b172d#b12d861deede4f71a31e33253c8e726a) by adding a planning block to match with yearly planning and resources. - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- Latest discussions triggered the need for yearly planning modifications: Wrote a [document](https://www.notion.so/Nomos-Engineering-planning-3-4Q-2024-f90859a189294419b13ae94682e96bf7) explaining year expectations + resources planning. -- Created an initial Vac QA collaboration [document](https://www.notion.so/Nomos-node-testing-QA-15ae2611a23f4fe391c600c1b889c0ca) with cross-team interactions plan. -- Milestone Execution plan has been [published](https://www.notion.so/2024-Milestone-Execution-Plan-62004acdaa5e4c65bd8c5b10e935e78b). -- Logos - Nomos update added - this will be an introductory one with focus on progress of research and engineering in the future. -- New Nomos blog to be published this week with another to be set to review. \ No newline at end of file diff --git a/content/nomos/updates/2024-05-06.md b/content/nomos/updates/2024-05-06.md deleted file mode 100644 index a12b46ddd..000000000 --- a/content/nomos/updates/2024-05-06.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: 2024-05-06 Nomos weekly -tags: - - nomos-updates -date: 2024-05-06 -lastmod: 2024-05-06 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- To specify adversary models, we analyzed and summarized two papers: [2013 P. Syverson](https://www.notion.so/Why-I-m-Not-an-Entropist-f96c5eca9c924dc6a1f23903188a625d "2013 P. Syverson") & [2023 C. Diaz](https://www.notion.so/Traffic-Analysis-by-Adversaries-with-Partial-Visibility-a8abbe41780f4631bbbbeaca16dc286c "2023 C. Diaz"). -- Based on the above research, we defined the adversary model in the [Mixnet v2: Proof of Concept](https://www.notion.so/Mixnet-v2-Proof-of-Concept-102d0563e75345a3a6f1c11791fbd746?pvs=4#62a2e9ccf0c745c4b3aca9dd5ef0e723 "Mixnet v2: Proof of Concept"), focusing on adversaries with partial visibility. Still, specific attack models must be defined so that we can simulate them. Currently, we are attempting things in reverse: imagining attacks that partially or completely break the protections that our design aims to provide. It's still a work in progress in [the same Notion page](https://www.notion.so/Mixnet-v2-Proof-of-Concept-102d0563e75345a3a6f1c11791fbd746?pvs=4#6f964a5ac1144239a17ad5d3e648746d "the same Notion page"). Once this is complete, we can start implementing a simulation. -- Based on the previous week's observations, we wrote a [document](https://www.notion.so/Weakening-The-Tagging-Attack-e3b085102ca6455da0747ca64e725ff6#6dce376ef65948928d38aa64e277a9d6) containing a discussion on how to make the tagging attack less effective. -- Analysis of anonymity and communication failures in the mix gadget ([summary](https://www.notion.so/Analysis-of-failures-in-the-mix-network-feeef349720842759c59785af71c7c59?pvs=4#5354ec4b641743709a2429327ef00ed3)): Assuming that n nodes sample (with replacement) k nodes from the population with N nodes, where at most M nodes are adversarial, the fraction of k-subsets where all k nodes are adversarial, i.e., “anonymity failure” has occurred, is \left(\frac{M}{N}\right)^k on average. The fraction of k-subsets where at least one node is adversarial, i.e., “communication failure” has occurred, is 1 - \left(1 - \frac{M}{N}\right)^k on average. However, if n < N is finite, then deviation from these averages will be observed. For the fraction of k-subsets with anonymity failure, we derived an upper bound on the probability that the fraction of these k-subsets is greater than the average \left(\frac{M}{N}\right)^k by the factor of 1+γ. The upper bound is decreasing with increasing n and γ. A similar upper bound is derived for the fraction of k-subsets with communication failure. Work on the analysis of these bounds and verification by simulation is currently in progress. - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- DA Indexer implementation [PR](https://github.com/logos-co/nomos-node/pull/644): Implemented `AddIndex` and `GetRange` functionality in Indexer service. When a list of VidCertificates is observed in a new Block, `AddIndex` is used to assign Metadata from VidCertificate to a blob that was attested. - When the user requests Range of Indexes for a given AppId, indexer collects available blobs for indexes and returns them in a list. -- DA Indexer + Mempool + Cryptarchia integration test: DA functionality relies on multiple services working together; a test to see if currently implemented parts are working was created. -- Some ideas and improvements were registered (low priority): [Verified Certificate state](https://github.com/logos-co/nomos-node/issues/646) and [Investigate BlobDB storage](https://github.com/logos-co/nomos-node/issues/645). - -## `PPoS/Consensus` - -### `Research` - -- [Wealth concentration update](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f): changes related to the introduction of the study structure, rearrangement based on new sections, and expanded explanations. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Designed a bridge withdrawal implementation. In designing, we found some bugs in CL, namely, anoma's "single logic per resource" design is too limiting; it wasn't possible to see how to implement a simple withdrawal in that design. The fix that was made was borrowed from Zexe, replacing the single note constraint with two types of constraints: birth and death constraints. There is a single birth constraint and arbitrarily many death constraints. Birth constraints govern how a note from a particular application can be produced. Death constraints are provided by the user and configure how a note can be spent; only one of the death constraints needs to be satisfied in order to spend a note. -- Created the withdrawal CL [test case](https://www.notion.so/CL-Specification-9a60bd41167d426abb0cd07a01aab905#65e0cc1439fb4ac2ac63be5859b942bc). -- Updated the [Proof Systems](https://www.notion.so/Proof-Systems-Survey-ffc625a2ff82407db7a45fd193136258) survey according to comments. Explanations have been added to some of the sections. Additionally, existing zkp libraries have been reviewed to identify which proof methods are used. -- Coordination Layer Studies: a separate [section](A separate section for FRI has been added) for FRI has been added. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. \ No newline at end of file diff --git a/content/nomos/updates/2024-05-13.md b/content/nomos/updates/2024-05-13.md deleted file mode 100644 index 9f1aae81d..000000000 --- a/content/nomos/updates/2024-05-13.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: 2024-05-13 Nomos weekly -tags: - - nomos-updates -date: 2024-05-13 -lastmod: 2024-05-13 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- Clarified the adversary model further (WIP); we'll develop it more by simulation. Attacks to be simulated are listed [here](https://www.notion.so/Mixnet-v2-Proof-of-Concept-102d0563e75345a3a6f1c11791fbd746?pvs=4#6f964a5ac1144239a17ad5d3e648746d), and are based on the adversary model in the same document. The [related studies](https://www.notion.so/Mixnet-v2-Proof-of-Concept-102d0563e75345a3a6f1c11791fbd746?pvs=4#12f00f18441049a893687f011ee3c683) were referred to, including Waku's documentation about adversarial models (provided by the Waku team). -- Analysis of anonymity and communication failures in the mix gadget: Assuming that _n_ nodes sample (with replacement) _k_ nodes from the population with _N_ nodes, where at most _M_ nodes are adversarial, the average number of _k_-paths with anonymity and communication failures are, respectively, given by n \left( \frac{M}{N} \right)^k and n \left(1 - \left(1 - \frac{M}{N}\right)^k\right). Calculated an upper bound on the probability that the number of _k_-paths with these failures are greater than their respective averages by the factor 1+𝛾1+γ, where 𝛾>0γ>0. compared the above bounds with simulations showing that they are tight. Analysis of different cases of 𝑀/𝑁={½,⅓,¼,1/10}M/N={½,⅓,¼,1/10} suggests that, for **reliability** purposes, some combinations of _n_ and _k_ could be more advantageous than others. The summary of this work is provided [here](https://www.notion.so/Analysis-of-the-mix-gadget-6246ab47a8e34ac0bc7b561d32680e34?pvs=4#e8c26a0e832c4f438f9a06ae2be209f0). -- Started the investigation of the problem regarding mixing over a broadcasting channel, which is an interesting form of mixing in a sparse network. Using a broadcasting channel makes it impossible for an observer to learn who the recipient of the message is (assuming proper message relaying strategy). Making nodes indistinguishable requires a single cover traffic message per time slot, which is a step closer to ideal privacy. However, this has a great network overhead cost, which limits the scalability of the network significantly assuming a fixed bandwidth requirement per node. Also, made an observation about the impossibility of stake hiding, which is based on the fact that the network behavior of a node is reflected on the ledger and any disturbance of the node behavior must also be seen on the ledger. [Document](https://www.notion.so/Security-of-Mixing-over-Broadcasting-Channel-e09184fa14614d78829f76fdb4aa65d3#642beedb44674143ba25e5e21c23f860) for reference. - -### `Development` - -- Implemented the simulation of "basic" mixnet behaviors (Modified Sphinx, Cover traffic, Broadcasting). They're very naive but should be enough for running basic adversary simulations. The simulator is being implemented in the `mixnet-v2-sim` branch in the nomos-specs repository. Basic usage and development progress can be found in the [README](https://github.com/logos-co/nomos-specs/tree/mixnet-v2-sim/mixnet/v2/sim), though it's still heavily WIP. Sphinx size: If the payload size is 330 bytes (32 bytes block hash + 288 bytes validator proof) and an incentive tx is 512 bytes (which may not be enough), and if the number of mix layers is 3, a Sphinx packet is 1937 bytes (subject to change). - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- Did benchmarks on DA, lib performance was way below expected and targets. Debugged issues, what was found is that the most problematic is proof generation. Discussed options for improvements: Parallelization (which is not really possible as is internally parallelized already) and amortized proof generation method. Ruse evaluation + Benchmarks can be found [here](https://github.com/logos-co/nomos-node/pull/647). - -## `PPoS/Consensus` - -### `Research` - -- [Wealth concentration update](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f): changes related to the introduction of the study structure, rearrangement based on new sections, and expanded/improved explanations. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Study on DA fast proof generation: research was conducted on fast proof generation in the DA domain. The Feist-Khovratovich technique was examined, and libraries implementing this method were investigated. The general structure of the method and the approach it attempts to implement are explained [here](https://www.notion.so/Feist-Khovratovic-Algorithm-b5d089d1c66c417db2ddd6dfc536ef76). -- Wrote a potential design for [Mailboxes & Sovereign Transactions](https://www.notion.so/Coordination-Layer-Specification-9a60bd41167d426abb0cd07a01aab905?pvs=4#9af0ddc28dd84e3b90a5976a95cce90e). - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. \ No newline at end of file diff --git a/content/nomos/updates/2024-05-20.md b/content/nomos/updates/2024-05-20.md deleted file mode 100644 index 2ddf06536..000000000 --- a/content/nomos/updates/2024-05-20.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: 2024-05-20 Nomos weekly -tags: - - nomos-updates -date: 2024-05-20 -lastmod: 2024-05-20 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- Security of mixing over a broadcasting channel ([document](https://www.notion.so/Security-of-Mixing-over-Broadcasting-Channel-e09184fa14614d78829f76fdb4aa65d3#642beedb44674143ba25e5e21c23f860)): We have been able to generalize the stake hiding impossibility observation, discuss a general countermeasure, and add a section on how to practically weaken this impossibility. We have extended the Global View section with more discussion regarding the overhead of broadcasting communication. A practical note regarding mixing failure and a sketch for a mechanism to recover from mixnet failure redundancy have been added. We have also started working on a partial view analysis. - -### `Development` - -- Mixnet v2 Simulation: added adversary simulation. Currently, it includes only a passive adversary with a global view. More realistic adversaries will be added later (low priority for now). The current version of Mixnet v2 simulation can be found [here](https://github.com/logos-co/nomos-specs/tree/mixnet-v2-sim/mixnet/v2/sim). Please note that this document is WIP and not an experiment report, though it includes some plots. It shows what the simulation can do right now and what's next. In progress: writing the first simulation result document to be shared internally so that we can plan ahead. -- We internally agreed to start by simulating the simple behavior first and measuring the bandwidth usage, especially by broadcasting real messages without mixing. After that, we can turn on more complex behaviors (e.g., mixing & cover) and compare the results with the previous ones. This is because the simulation result with the whole set of behaviors may be too complex to analyze at the beginning when not everyone fully understands how the simulation works. -- We found that the simulation speed is too slow with 100K nodes (not physical ones). The main reason is that the simulation is based on SimPy, which is single-threaded. However, the same poor performance was observed when another simulation framework in Python (Mesa) was tried. There may be some solutions (e.g., multiprocessing), but first, our aim is to produce the first meaningful simulation result with fewer nodes before improving it. - -## `Data Availability` - -### `Research` - -- We reviewed the FK20 algorithm again. Libraries for accelerating DA proof generation were reviewed. It appears there is some room for improvement, but it is not yet at the desired levels. Libraries: [Rust-kzg](https://github.com/grandinetech/rust-kzg), [C-kzg](https://github.com/ethereum/c-kzg-4844), and [Peerdas-kzg](https://github.com/crate-crypto/peerdas-kzg/tree/master). - -### `Development` - -- DA Verifier service implementation: [PR](https://github.com/logos-co/nomos-node/pull/627) merged: the service for attesting the blobs. -- DA Verifier integration tests: Verifier service expects the DA protocol to implement a couple of traits for serialization, encoding, signing, etc. KZGRS backend is mostly implemented, but still needs some service-related utilities. This work is in the `verifier-integration-tests` branch. -- KZGRS performance [review](https://www.notion.so/KZG-RS-performance-37db3cd4a33f41f994c77b1c4d9218cb): as per the previous benchmarks on our KZGRS, we uncovered a few performance flaws. Those were addressed, but even then it did not reach our current targets. We have been checking and comparing with other implementations to see if we were doing anything wrong. We were not. - -## `PPoS/Consensus` - -### `Research` - -- Expanded/improved explanations of the results found in the Wealth Concentration in PoS [document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f). - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Studies on binary field proof systems have been completed and [documented](https://www.notion.so/Binary-Field-Proof-Systems-f55d921062e94d7290579355808d7886). This week, we will also cover and take notes on [Stwo](https://streamyard.com/watch/ndVNnBQgZgqF) (STARK prover) and check which parts we can use for the CL. These structures provide fast prover time. We need to discuss how much we need this on the CL side (because while providing fast prover time, it also increases proof size, which seems more important for us). -- The Atomic Asset Transfer case has been started, but the text and diagrams lacked rigor. An implementation of the CL [executable spec](https://github.com/logos-co/nomos-specs/pull/93) has begun, which can better sanity check the design. Details on Noir ZK language integration with Python: [here](https://github.com/logos-co/nomos-specs/pull/92). - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Research` - -- Updated and improved the "Monitoring, instrumentation, and explorer" [document](https://www.notion.so/Monitoring-instrumentation-and-explorers-d8c8357b4e304fa3806f1b7f0e6b172d#b11c539fcaea43ccba3321289b2a342c) - added a "milestones" section with the targets for the next iterations. - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- New blog post has been released: [Preventing Wealth Concentration in PoS Systems: The Role of Stake Relativisation](https://blog.nomos.tech/wealth-concentration-in-pos-and-stake-relativisation/). diff --git a/content/nomos/updates/2024-05-27.md b/content/nomos/updates/2024-05-27.md deleted file mode 100644 index 86988352d..000000000 --- a/content/nomos/updates/2024-05-27.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: 2024-05-27 Nomos weekly -tags: - - nomos-updates -date: 2024-05-27 -lastmod: 2024-05-27 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- Security of Mixing over Broadcasting Channel [document](https://www.notion.so/Security-of-Mixing-over-Broadcasting-Channel-e09184fa14614d78829f76fdb4aa65d3#642beedb44674143ba25e5e21c23f860) has been updated with new details. We mapped the first few cases that we want to analyze through simulations; the Partial View section was added to the document. Analysis of partial view is much more complex than the Global View case, and the Global View does not seem to leak significant information. Thus, the observer in Partial View will need to play a probability game to learn something. However, there are routing attacks that can increase the field of view of the observer, so we should not neglect this case. We have also started working on the analysis of an alternative to broadcasting dissemination—peer to peer. -- Analysis of random structures generated by the mix gadget, such as properties of hypergraphs, etc. was performed and summary can be found [here](https://www.notion.so/Analysis-of-the-mix-gadget-6246ab47a8e34ac0bc7b561d32680e34#94785a745fe04b12a6b2a5f15ef5f04b). - -### `Development` - -- P2P Privacy Simulation: all simulation reports can be found in [P2P Privacy: Simulation Results](https://www.notion.so/P2P-Privacy-Simulation-Results-5715774a1d674381aacd2a7544fc21d1?pvs=4). -- Posted a report: [P2P Privacy: Bandwidth Usage Patterns](https://www.notion.so/P2P-Privacy-Bandwidth-Usages-2e64aa042e014e289e52d5651492e156?pvs=4). Bandwidth was measured for both 1-to-all broadcasting and gossiping, with various parameters (mix layers & cover traffic) changed, so that we can gain insight into how bandwidth increases as parameters change. The document also shows how the simulation works. In short, we now have a framework to measure the performance of the protocol. The next simulation is evaluating anonymity with changing cover traffic patterns to find the optimal cover traffic strategy that guarantees a reasonable level of anonymity in the protocol. -- One more (WIP) report can be found in [(WIP) P2P Privacy: Anonymity](https://www.notion.so/WIP-P2P-Privacy-Anonymity-ecbcb7ea509b4337b66de515d900dd50?pvs=4). We are currently using the number of messages staying in each node over time as a metric to evaluate the level of anonymity. Although it may not be the best metric, it's probably the most intuitive one for now. - -## `Data Availability` - -### `Research` - -- The details of the Semi-AVID protocol have been studied, the relevant implementation has been reviewed, and the [document](https://www.notion.so/Semi-AVID-Protocol-Details-b26780dc2972485190bb448b7d52a938) prepared. -- The benchmark [document](https://www.notion.so/Comparison-Table-9c19725300184cacb70fa1eb9f9a3962) for the results of NomosDA and Semi-AVID has been prepared. Values for Semi-AVID have been calculated and added to the table. We also computed the values for NomosDA. Based on feedback received, the table will be updated and recreated in regard to the latest values. - -### `Development` - -- KZGRS certificate implementation ([PR](https://github.com/logos-co/nomos-node/pull/651) merged), including: Certificate implementation required for verifier and indexer services, adding of DST tag to Nomos spec and the implementation ([Nomos spec PR merged](https://github.com/logos-co/nomos-specs/pull/94)) and VID and Metadata for KZGRS DA protocol. -- Added DA Verifier service improvements ([PR merged](https://github.com/logos-co/nomos-node/pull/650)). - -## `PPoS/Consensus` - -### `Research` - -- Expanded/improved explanations of the results in the "Does Crypsinous Leader Election Function Lead to Wealth Concentration in PoS" [document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f). Also provided a single Jupyter [notebook](https://github.com/vacp2p/token-economics/blob/1c2d31414878bad7cc50d02d0fc895d96e1e2062/Nomos/cryptarchia_leader_election/cryptarchia_leader_election_gpu.ipynb) to replicate all computations. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- CL use case implementation in Python: made some progress towards a 1 input, 1 output test case for CL. [PR #93](https://github.com/logos-co/nomos-specs/pull/93/commits/9e1fb74f93e1d2ca9d2571effcb737d1cc23cf64), but it's not yet working. Certain CL design bugs were found during implementation, which led to changing some parts of the specification. -- Minor crisis on prover key sizes preventing thin clients from generating a transaction. But the general opinion is that what we settled on should work for us (lazy prover key derivation). - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Research` - -- Nomos node insights [document](https://www.notion.so/Nomos-node-insights-bcbbb72ece654720a65d4aa724150757) has been updated with new details. - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. \ No newline at end of file diff --git a/content/nomos/updates/2024-06-03.md b/content/nomos/updates/2024-06-03.md deleted file mode 100644 index 3ae5dce4f..000000000 --- a/content/nomos/updates/2024-06-03.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: 2024-06-03 Nomos weekly -tags: - - nomos-updates -date: 2024-06-03 -lastmod: 2024-06-03 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- Continued with the [analysis](https://www.notion.so/Analysis-of-the-mix-gadget-6246ab47a8e34ac0bc7b561d32680e34?pvs=4#94785a745fe04b12a6b2a5f15ef5f04b) of random structures generated by the mix gadget and outlined two possible [approaches](https://www.notion.so/Analysis-of-the-mix-gadget-6246ab47a8e34ac0bc7b561d32680e34?pvs=4#f6a1e2456cbb483bb41d5706c772f9a2) to the analysis of mix gadget. -- Explained how the timing attack by a passive adversary can be simulated: [Tracing back message flows](https://www.notion.so/WIP-P2P-Privacy-Passive-Adversary-ecbcb7ea509b4337b66de515d900dd50?pvs=4#f34d8c61c46847389d6c0d3115b0f435). In short, we can simulate an adversary who traces back message flows to identify original message senders (i.e. block proposers) and repeats this multiple times to find senders selected more often. This is not the perfect way, but our opinion is that we can enhance this to simulate more powerful adversaries. - -### `Development` - - -## `Data Availability` - -### `Research` - -- DA benchmarks: we are running benchmarks to compare vs SemiAvid - including: updating and running benchmarks according to needed and requested data and creating a calculator for nomos-da benchmark results. The results can be seen [here](https://gist.github.com/danielSanchezQ/dce309a9ef488b5bcfaad1869f538702) and the DA calculator script can be seen [here](https://github.com/logos-co/nomos-node/pull/658). -- To continue on the point above, we have updated the main [document](https://www.notion.so/Benchmark-and-Scheme-Viability-Analysis-ce94c6a6cb2c4661bca3bacfdf88e048?d=8d3a686af1a34cf797706cae71206d90#917d664fa6c24c3da5f3ad93f1f7aee4) and created separate sub-tables for NomosDA, Semi-AVID, and fk20. Benchmark results were entered into the tables for ANBC, RB, and CT, and general tables were created. Diagrams for the relevant tables were added to the document. Upon rechecking the results, it was observed that the values were consistent within themselves. - -### `Development` - -- No updates this week - -## `PPoS/Consensus` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- PoC for CL specification: got the 1-to-1 transfer [test](https://github.com/logos-co/nomos-specs/pull/93/files#diff-f2ea6731922026e3d88b43b91934936cadcbddb64c62fec78941023f69a2542dR12-R73) running (and passing). -- The python crypto library we've been using so far has been buggy and slow (as in > 1minute startup time and slow ecc math). Tests are very slow to run. Trying to swap it out for some other ecc library, issue is that a lot of the more obscure curves are not well supported in python. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Research` - -- No updates this week. - -### `Development` - -- Update current testnet with missing configs for cryptarchia [PR merged](https://github.com/logos-co/nomos-node/pull/656 ): After the introduction of Cryptarchia, Nomos testnet was missing some consensus configuration. Also, exposed required configuration as environment variable. We improved docker build times by defining common base image for Nomos node as well. Also included several minor fixes that were required to deploy on testnet.nomos.tech. -- After the review and report on the testnet state, refined the [plan](https://www.notion.so/Nomos-Testnet-99ed9acef3e04b218bbb02ab958c964f) for this iteration. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-06-10.md b/content/nomos/updates/2024-06-10.md deleted file mode 100644 index 2ac3ede42..000000000 --- a/content/nomos/updates/2024-06-10.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: 2024-06-10 Nomos weekly -tags: - - nomos-updates -date: 2024-06-10 -lastmod: 2024-06-10 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- Mixnet v2 Simulation: invested time to improve/simplify the passive adversary attacks before running simulations with various parameter sets. Also running the passive adversary simulation with various parameter sets to find the optimal parameters/designs (the result is not posted in Notion yet). -- Introduced an attack that monitors nodes which emit messages at promised timing (i.e., block interval). The description can be found [here](https://www.notion.so/WIP-P2P-Privacy-Passive-Adversary-ecbcb7ea509b4337b66de515d900dd50?pvs=4#94509eb14e744ab1be551f42ae60d172). This attack is expected to be disrupted by adding cover traffic. The confirmation of this will come once we run the attack with different cover traffic parameters. -- Optimized the timing attack (tracing back message paths) and quantified its result, as posted [here](https://www.notion.so/WIP-P2P-Privacy-Passive-Adversary-ecbcb7ea509b4337b66de515d900dd50?pvs=4#4d6fe409034740a1a91b47f0833214fb). The confirmation of this will come once we run this simulation with different parameters (number of layers and delays). -- For the analysis of the mix gadget, we have followed the “conventional” mix model research path: considering the most general scenario when n nodes sample k paths from the set of all nodes in the network [N]. We assumed that each node samples \( r \) of such \( k \) paths. We have shown that a node in a \( k \)-path is also participating in other \( r - 1 + c_i \) \( k \)-paths. Here \( c_i \) is a random variable from the binomial distribution with parameters \( rn \) and \( \frac{k}{N} \). For \( k \ll N \) and \( N \) large, \( c_i \) is a random variable from the Poisson distribution with parameter \( \frac{k r n}{N} \). On average, a node is participating in \( \frac{k r n}{N} + r \) \( k \)-paths. We calculated an upper bound on the probability that node connectivity deviates from this average by the amount of ϵ\epsilonϵ. The summary can be found [here](https://www.notion.so/Analysis-of-the-mix-gadget-6246ab47a8e34ac0bc7b561d32680e34?pvs=4#82bbd1c88f344e85ba430eacbdc03b5c). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- Finished the benchmark document and all results are documented [here](https://www.notion.so/Benchmark-and-Scheme-Viability-Analysis-ce94c6a6cb2c4661bca3bacfdf88e048). We will continue with NomosDA. -- We were having an issue with the roots of unity that didn't allow us to use FFTs. After an org-internal talk, we solved the issue, and now it is working (the problem was that we were using the wrong generator that worked for everything except the FFTs). -- Started implementing FFT in specs as it is highly needed for FK20. - -### `Development` - -- No updates this week. - -## `PPoS/Consensus` - -### `Research` - -- Improved the results in the [wealth concentration document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f). - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Started to review the Plonky3 details (the [notes](https://www.notion.so/Plonky3-14b458697981418185fdfcd5c358ac8b) can be found here). Generally, we can say it's an improved version of Plonky2 in terms of prover time - meaning we can use it in situations where we need more efficient prover time. Initially, it was more appropriate to use Plonky2 because Plonky3 was still in development, but considering that Risc0 and Succinct have also started using it, we can consider using the Plonky3 protocol as well. In any case, it has advantages over Plonky2. -- On the other hand, we haven't found any disadvantages in Plonky3. We thought proof size might be an issue, but they mentioned that they could reduce the proof size using recursion. In this case, it seems logical to use it for inner proof, but the details need to be examined. Perhaps conducting a similar benchmark study for inner and outer proofs as we did for DA would be beneficial. -- After discussing the CL Architecture, the most recent design making use of message buffers is now described here: [CL Architecture](https://www.notion.so/Coordination-Layer-Architecture-a2a0786a9a95402fb7365c087487cb6b?pvs=4). -- After making the decision to rewrite the CL spec in Rust due to the lack of crypto libraries in Python, we decided to halt the spec work in favor of the CL architecture design work that was more pressing. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Research` - -- Finished base insights structure [document](https://www.notion.so/Nomos-node-insights-bcbbb72ece654720a65d4aa724150757) (after discussion) - for the time being though, since it's probably going to be a living document. - -### `Development` - -- (WIP) Tested our GELF tracing subscriber and connected it to Graylog in the testnet: subscriber is implemented and sends logs to the provided Graylog endpoint. However, the Graylog instance is spawned in the testnet, but manual steps need to be taken during every redeployment, which is not acceptable. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. \ No newline at end of file diff --git a/content/nomos/updates/2024-06-17.md b/content/nomos/updates/2024-06-17.md deleted file mode 100644 index 643516f94..000000000 --- a/content/nomos/updates/2024-06-17.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: 2024-06-17 Nomos weekly -tags: - - nomos-updates -date: 2024-06-17 -lastmod: 2024-06-17 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- Mixnet v2 Simulation: ran the passive adversary simulation and posted the result [here](https://www.notion.so/P2P-Privacy-Passive-Adversary-ecbcb7ea509b4337b66de515d900dd50#6f769c65b2bd4d208254b2b1c94d485f). We can see that the accuracy of timing attack (by passive adversary) significantly decreases as the number of mix layers and cover traffic increase. Next, we need to analyze this result along with bandwidth usages to find the optimal parameters of cover traffic and mix layers. -- Analysis of the mix gadget: For the analysis of random graphs, generated by random sampling of k-paths in the mix gadget, wrote an interpretation of the result of this [analysis](https://www.notion.so/Analysis-of-the-mix-gadget-6246ab47a8e34ac0bc7b561d32680e34?pvs=4#a95c3cb398cd4ae0b12c7becc1b92934). Based on this, looked at a more optimal approach for anonymous communication family of random graphs - [notes](https://www.notion.so/Analysis-of-the-mix-gadget-6246ab47a8e34ac0bc7b561d32680e34?pvs=4#c0a271ee4c944268831c25b399efc43e). -- Updated the sparse network section of the Security of Mixing over Broadcasting Channel [document](https://www.notion.so/Security-of-Mixing-over-Broadcasting-Channel-e09184fa14614d78829f76fdb4aa65d3#bf605ed72fcb4b64b27e4184547226b4), as well as the models and finished the global view section. In the document, we have discussed what can be observed without cover traffic in our scenario, the cover traffic design, and how the cover traffic impacts on the observer capabilities to link the traffic. - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- Studied on the Henosis design and wrote [notes](https://www.notion.so/Henosis-9d61c6f3085b484f85df9b48de1b0dc3) on it. It's a study related to combining heterogeneous proofs in proof aggregation - this may be used as an inspiration in Nomos. The [code](https://github.com/availproject/Henosis/tree/main "https://github.com/availproject/Henosis/tree/main) is available on GitHub. -- FK20 running [specification](https://github.com/logos-co/nomos-specs/pull/95) in python: added tests to double check that generated proofs are the same. -- FK20 [implementation](https://github.com/logos-co/nomos-node/tree/da-fk20) in python: implemented FFT methods and added FFT parallelization version. - -### `Development` - -- DA HTTP API and integration to the node is still in progress. - -## `PPoS/Consensus` - -### `Research` - -- Improved the results in the [wealth concentration document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f). - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- We've restarted the CL executable specification in rust ([PR](https://github.com/logos-co/nomos-specs/pull/93/files)). The following parts have been specified: notes, nullifiers, ptx input, ptx output, partial tx. Still remaining to be specified: tx bundle of ptx's, birth/death constraints, integration with SP1 snarks. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - - -### `Development` - -- Finished the tracing subscriber and connected it to Graylog in the testnet: - [PR](https://github.com/logos-co/nomos-node/pull/659) merged. -- Implemented minor changes to the CI for the updated rust version: [PR](https://github.com/logos-co/nomos-node/pull/661). - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-07-01.md b/content/nomos/updates/2024-07-01.md deleted file mode 100644 index 181a5db9b..000000000 --- a/content/nomos/updates/2024-07-01.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: 2024-07-01 Nomos weekly -tags: - - nomos-updates -date: 2024-07-01 -lastmod: 2024-07-01 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- Started writing the new mixnet [executable specs](https://github.com/logos-co/nomos-specs/pull/98). Completed: Global transmission rate, Peering degree limit, Noise per connection, Gossip-based Sphinx routing. Still to do: Time mixing. -- WIP: Updating mixnet simulation according to the new specs. The plan is to finish the first working version by the end of this week. It's taking more time than expected because of the attempt to have reusability between specs and simulation. Now the plan is clear. -- Gathered the outcome of our discussions and design decisions from the offsite and compiled a [document](https://www.notion.so/NomMix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4) that outlines the design of our mixnet gadget. WIP: work on the queuing mechanism for the mixnet gadget, taking into account what corrupted nodes can learn. -- With the assumption that the “Are continuous stop-and-go mixnets provably secure?” [paper](https://eprint.iacr.org/2023/1311) is state of the art, studied it in great depth to find out how anonymity guarantees are usually derived. For our case, the most useful definition from the aforementioned work is user unlinkability. However, it uses two senders and one receiver, but in our case, we have only one sender, i.e., the leader node, and one receiver node. The latter requires a new definition of sender unlinkability. The summary can be found [here](https://docs.google.com/document/d/1q_hurDTUCVxtpAzlSvkcHlpcnvP781f2IciK5MLW7qw/edit?usp=sharing). -- Assuming that anonymity guarantees and statistical independence of nodes are related, considered an approach that studies various “correlation functions,” such as mutual information, Hamming distance, etc. This work will be carried on in this [document](https://www.notion.so/Analysis-of-the-NomMix-anonymous-communication-AC-system-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4). -- WIP: analysis of correlation functions. - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- WIP: First iteration of the PoC can be found [here](https://github.com/logos-co/nomos-specs/pull/99). That PR already runs a libp2p inside a very basic DA node. It is important to mention that the very limited py-libp2p is not great software. The last official release is from 2020, and it had to be cloned from GitHub to make it work at all. Then, there was an issue with its internals: it's highly opinionated. Tried to reuse existing py code from `mixnet` by using `asyncio` but py-libp2p would refuse to work with it due to the lib's internal setup with `trio`. It is also important to mention that this is an exploration of the libraries; the team is yet to decide whether libp2p will be used at all. - -### `Development` - -- Finishing FK20 Rust [implementation](https://github.com/logos-co/nomos-node/pull/663). -- Included FK20 in DA encoder ([PR](https://github.com/logos-co/nomos-node/pull/664)). -- Added Rayon parallelization to DA encoder ([PR](https://github.com/logos-co/nomos-node/pull/665)). -- Implemented cache for Toeplitz part-1 and integrated it into the encoder ([PR](https://github.com/logos-co/nomos-node/pull/667)). -- Added benchmarks and missing parallelization features ([PR](https://github.com/logos-co/nomos-node/pull/669)). -- DA subnetwork assignment algorithm: Implemented re-hashing algorithm and initial experiments. Tried to implement and improve a few variations of the algorithm, but none of them were better than the original. Ran a few [experiments](https://github.com/logos-co/nomos-specs/tree/da-subnetwork-distribution) (results and ideas will be shared later on). -- Wrapped up DA HTTP endpoints for KZGRS backend [PR](https://github.com/logos-co/nomos-node/pull/670). Pushed changes related to DA HTTP endpoints. They are generic and should be reused with the updated KZGRS protocol and dispersal as a black box. - -## `PPoS/Consensus` - -### `Research` - -- WIP: produce and analyze more simulation results using the relativization algorithm, as stated in the [wealth concentration document](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b). -- The protocols suggested by Ethereum for the proof of validator protocol have been reviewed. As stated in the article, the use of a Merkle tree could be slow for proof generation. Therefore, a zk-SNARK solution using a lookup table is considered to be more efficient. The related protocols are summarized step-by-step [here](https://www.notion.so/Proof-of-Validator-34b6446555004385bf5cef4a002b6201). Additionally, the SemaCaulk [design](https://geometry.xyz/notebook/geometry-presents-semacaulk-a-gas-efficient-zero-knowledge-set-membership-protocol) will also be examined. There is already Rust code available [here](https://github.com/geometryxyz/semacaulk), but it has not yet been audited. The related protocol will be examined in more detail and feedback will be provided. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Integrated the Proof of Equivalence [document](https://www.notion.so/Integration-of-Efficient-Proof-of-Equivalence-09e154ecd6dc4818b5214719bcc1821b) and validated the design. It seems that we now have a protocol that meets the requirements. -- The StarkNet DA structure was reviewed again for Proof of Equivalence. -- WIP: continuing with the PoC, understanding whether Risc0 is a viable option ([progress](https://github.com/logos-co/nomos-specs/tree/cl/executable-spec)). -- Integration of Risc0 zone PoC into CL note and partial tx model: we have the zone POC hooked into the CL UTXO model, but proof times are not where we want them. We are currently at 8 minutes to generate a proof, almost all of that is coming from the Pedersen commitment to the note value. All the work is being done in this [PR](https://github.com/logos-co/nomos-specs/pull/93). -- WIP: Trying to bring the death constraint proof time down to something manageable. -- Evaluation of SP1's viability for CL: SP1's outer proof takes 13 minutes to prove. The numbers were confirmed with SP1 devs. This is too slow for us to use. SP1 devs suggested they may support swapping out plonky3 for groth16; If they do that, we should re-evaluate. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- Testnet updates from the `testnet` branch now (deployments happen from the `testnet` branch) - [Nomos PR](https://github.com/logos-co/nomos-node/pull/668), [Infra PR](https://github.com/status-im/infra-misc/pull/294). This is done to have more control over what runs in the testnet. -- Enabling/Disabling tracing using feature flags or config at runtime - [PR](https://github.com/logos-co/nomos-node/pull/666). Added the ability to build the node without tracing, or toggle tracing via config if built with this feature. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-07-08.md b/content/nomos/updates/2024-07-08.md deleted file mode 100644 index 2716bcd04..000000000 --- a/content/nomos/updates/2024-07-08.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: 2024-07-08 Nomos weekly -tags: - - nomos-updates -date: 2024-07-08 -lastmod: 2024-07-08 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- The new mixnet executable spec is being updated in the [PR #98](https://github.com/logos-co/nomos-specs/pull/98) but has not been merged yet. The new [spec](https://www.notion.so/NomMix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59) will be reviewed for changes that need to be updated in the executable spec. -- Updated mixnet simulation is in the [branch](https://github.com/logos-co/nomos-specs/tree/mixnet-v2-sim-fin/mixnet/sim) of nomos-specs, a PR hasn't been opened yet because additional team discussion is needed to check whether it meets our analysis requirements. A [document](https://www.notion.so/NomMix-Sim-Getting-Started-ee0e2191f4e7437e93976aff2627d7ce?pvs=4) has been prepared to explain what the simulation can do and how its result can be used. Based on this, we will discuss what needs to be done as the next experiment. -- Updated mixnet gadget document with queuing designs: added a section about queuing mechanisms. There are two flavors, one is time bounded and another is time unbounded. Time unbounded is better from the privacy perspective as an adversary will not know any upper time limit during which a message is going to be propagated. Also presented two versions of the unbounded with [discussion](https://www.notion.so/NomMix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4) about the design properties and their impact on privacy. -- Started working on the level 1 noise generation mechanism, it is sketched in the NomMix design already but requires more refinement. In short, the idea is to introduce another type of noise (cover traffic) that will be limited to some threshold (to protect the network from spam) and its generation will be incentivized to encourage nodes to send it. -- Discussed how to proceed with simulations and analysis of the mixnet. One of the outcomes is a design of a new model that can be used to describe the network which is connection oriented (rather than node oriented) - more details in the point below. -- To model communication in the network, considered two approaches: the “node-centred” and “connection-centred” . The former assumes that only the state of a node (such as sending, receiving, etc.) is observed and the latter assumes that also connection is observed. Also, considered Hamming distance as a measure of distance between systems with LEVEL 0 and LEVEL 0 + LEVEL 2 noises, i.e. the difference between a system which “communicates” and “doesn’t communicate”. This work is summarised in this [document](https://www.notion.so/Analysis-of-the-NomMix-anonymous-communication-AC-system-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- WIP: (DA python PoC) Executor large number of persistent connections to remote host test - During the offsite, there were some concerns raised that the executor might not be able to keep a large number of open connections to remote hosts. A test using a python DA Node and Executor was performed, having the executor connecting to multiple instances of DA Nodes on a remote machine. Results need to be formally documented, but simple tests of pushing data over thousands of persistent TCP connections to a remote host succeeded on commodity hardware. -- WIP: (DA python PoC) PoC of Executor dispersal and sampling protocol for direct connections - A simple executor node is in progress - initially it was used for the connections feasibility test, now it's developed further to work with the DA Node used in the subnet PoC. -- Created the [Runnable DA PoC Specification](https://www.notion.so/Runnable-DA-PoC-Specification-50f204f2ff0a41d09de4926962bbb4ef?d=9e9677e5536a46d49fe95f366b7c3320#308624c50f1a42769b6c142976999483). -- Updated the GitHub repo with current code (Status: Simple python DA nodes and simple python DA Executor implemented; executor can send packets) - WIP [PR](https://github.com/logos-co/nomos-specs/pull/99). -- Tweaked the DA encoder [benchmark](https://github.com/logos-co/nomos-node/pull/671) to cross-check data & column sizes. - -### `Development` - -- No updates this week. - -## `PPoS/Consensus` - -### `Research` - -- WIP: fixing a bug that was found in the wealth concentration code and producing and analyzing all simulation results again, based on the fix. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- [CL PoC plan](https://www.notion.so/CL-v0-1-5694d30538de45588a63b94ebac17105?pvs=4) has been added to Notion. -- Did a few more prover optimizations in this [PR](https://github.com/logos-co/nomos-specs/pull/93 "https://github.com/logos-co/nomos-specs/pull/93"). -- [Summary](https://www.notion.so/Summary-of-CL-specs-03f6a14ee35448ccb2c7caa45a6d8d93) of all the CL specs has been created. -- The Caulk paper is being studied. The protocol is understood in general terms. The SemaCaulk definitions have been reviewed. A general description and protocol steps have been added for the related protocol [here](https://www.notion.so/Proof-of-Validator-34b6446555004385bf5cef4a002b6201 "https://www.notion.so/Proof-of-Validator-34b6446555004385bf5cef4a002b6201"). Since KZG is used instead of a Merkle tree, proof calculations are faster. Creating a proof of set membership involves precomputation and quick proof generation. Precomputation can be done early and updated efficiently, while proof generation is fast and constant-time. -- Research has been done on which other zkVMs could be tested for the CL. Also talked to external contributors to get a second opinion on the topic. Written the initial notes (not very detailed) about the related protocols [here](https://www.notion.so/Possible-ZKVM-s-for-CL-Design-310996a4924149b986f28ed7d387a363). - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- Prepared Nomos Explorer architecture [document](https://www.notion.so/Nomos-Explorer-Architecture-e14b277747944e4f995ae44e60fcbf3d). - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-07-15.md b/content/nomos/updates/2024-07-15.md deleted file mode 100644 index 911be9303..000000000 --- a/content/nomos/updates/2024-07-15.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: 2024-07-15 Nomos weekly -tags: - - nomos-updates -date: 2024-07-15 -lastmod: 2024-07-15 -draft: false -description: Weekly update of Nomos ---- -## `P2P Privacy` - -### `Research` - -- [PR #98](https://github.com/logos-co/nomos-specs/pull/98): Updated/refined the mixnet executable spec according to the newly written (WIP) spec. It's being reviewed at the moment and is soon to be merged. -- [PR #104](https://github.com/logos-co/nomos-specs/pull/104): Modified the Sphinx encoding to support an arbitrary length of mix route and arbitrary maximum size of payload. Now we can let nodes select the length of mix nodes (not to exceed the max limit) and encapsulate a message larger than 1K (hardcoded in Loopix Sphinx) into a single Sphinx packet, while ensuring that all Sphinx packets have the same size. -- [PR #105](https://github.com/logos-co/nomos-specs/pull/105): Updated the simulation according to the newly written (WIP) spec. Also made it accept different randomness seeds for each module to make each of them deterministic independently. This is the first working version, which we can extend over and over. -- Worked on the level 1 messaging noise generation [section](https://www.notion.so/NomMix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4), focused mostly on the motivational part at the moment. It’s noteworthy that the effectiveness of the mechanism is tightly coupled with the application of the queuing mechanism. Currently working on a better way of presenting the whole motivation. However, this does not block defining the noise generation mechanism, which is the next thing to do. -- Looked at ways to model the queuing mechanism (temporal mix). Our current approach is to treat it as a timed pool mix, which is well studied and provides us with analytical tools that we can use. However, later on, it was realized that it might not be the best model to use as we are deviating from a general mix to a task-specific mix which we might not be able to reflect using the timed pool mix. Nevertheless, it still looks like a good starting point that we can modify for our particular needs. -- Reviewed mixnet gadget specification, and consequently decided on how to move forward with simulations and further implementation. -- Started an analysis of the queuing system: in particular, considered the random process (outlined in this [document](https://www.notion.so/NomMix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#9744924066a74c9683be21c9256ed177)) which governs the out-queue of a single connection. The latter is a variant of the pool mix and we have set up an analytical framework, based on previous studies such as the [paper](https://link.springer.com/chapter/10.1007/3-540-36467-6_4) “Towards an Information Theoretic Metric for Anonymity," which will allow us to study statistical properties of out-queues. The summary can be found in this [document](https://www.notion.so/Analysis-of-the-NomMix-anonymous-communication-AC-system-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#9f6f8052a203427bbf71428a636bc673). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- [PR #672](https://github.com/logos-co/nomos-node/pull/672): Added the verifier benchmarks. The data from benchmarks can be seen in this Notion [document](https://www.notion.so/Benchmark-and-Scheme-Viability-Analysis-ce94c6a6cb2c4661bca3bacfdf88e048). -- WIP: Started the libp2p nomos DA subnetworks implementation [document](https://www.notion.so/Libp2p-Nomos-DA-subnetworks-implementation-cc175e5bd03847f9af973edcef846f63?pvs=25). -- [PR #100](https://github.com/logos-co/nomos-specs/pull/100), direct DA connection protocol: Defined the executor to DA node direct connection message types using protobuf. The code is targeting the `da-poc` branch in Nomos Spec to be used with subnets PoC. -- [PR #99](https://github.com/logos-co/nomos-specs/pull/99): Finalized the first version of the Runnable DA nodes PoC (ready for review). - -### `Development` - -- No updates this week. - -## `PPoS/Consensus` - -### `Research` - -- Added the Proof of Leadership [specification](https://www.notion.so/Proof-of-Leadership-Specifications-894a869ea4e4484c8a3b6af9bdb89443?d=709d1472f9054bc08dda1152f50b5ea9#90589595658c4ebd9f84997d126f50d8) to Notion. The first implementation in Circom, the one with sha256 (that didn't take review into account) can't be executed right now due to hardware requirements—however, this will be solved with the machine the team can now use. The implementation with the Anemoi hash function (that takes reviews into account => Taylor of order 2, more note inputs etc.) is not released yet. -- WIP: Finalizing studies 1 and 2 of the wealth concentration work. Results and report about wealth concentration can be found [here](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b) but still not in a readable format. -- WIP: Continued implementing the Python [code](https://github.com/vacp2p/token-economics/tree/cryptarchia-selfish-behavior/Nomos/selfish_behavior) to analyze the selfish behavior when choosing the fork rule. This is created by adapting the Cryptarchia spec from the `nomos-spec` repository. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Had a deep dive into Preconfirmations and Based Sequencing and created this [document](https://www.notion.so/Preconfirmations-and-Based-Sequencing-Preliminary-Research-f5c8c52d44e843e7af503b0259b1a3ef) based on it. -- [PR #102](https://github.com/logos-co/nomos-specs/pull/102): Implemented the nullifier proof (as part of the implementation of the user side of the cross zone atomic transfer PoC). -- [PR #103](https://github.com/logos-co/nomos-specs/pull/103): Set up the infrastructure for using risc0 for CL proofs and integrating the nullifier proof from PR #102 with the CL. The nullifier proof takes about 5 seconds on a local MacBook (without Groth16 wrapping). -- WIP: Started a [design](https://www.notion.so/Trustless-deposit-and-withdrawals-for-a-Nomos-Zone-5ca9eafb21e84c0bb3df21bb682c6140) of a trustless bridge for user-zone funds. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- [PR #673](https://github.com/logos-co/nomos-node/pull/673): Added a base debug span, consensus, and da-verifier span for tracing logs. -- Investigated minor CI issues and made a temporal fix for Nomos Node to build with libp2p and rustls (discussion in the relevant [PR #673](https://github.com/logos-co/nomos-node/pull/673#issuecomment-2222798751)). For now, the rustls version is pinned, will be reverted after this [issue](https://github.com/libp2p/rust-libp2p/issues/5487) is resolved. - -## `User Tools` - -### `Research` - -- Started the nomos-lib [document](https://www.notion.so/Nomos-lib-1461cca6dfac42f1af5cb84ae8b448b2) (main document to abstract what we need for different binaries external to the nomos-node). -- Started the nomos-cli [document](https://www.notion.so/Nomos-cli-85b80ecf01f4452b9791a958af2a9dd5) (first approach to interact with the nomos network). - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- Listed future research projects, as Key Differentiators of Nomos vs other projects, [document](https://www.notion.so/Key-Differentiator-Ideas-1a6b0fbe773d4597af8aa63fd04c0b7b). -- Updated the nomos-pm [repository](https://github.com/logos-co/nomos-pm/issues) issues for the insights dashboard. \ No newline at end of file diff --git a/content/nomos/updates/2024-07-22.md b/content/nomos/updates/2024-07-22.md deleted file mode 100644 index 91bce621b..000000000 --- a/content/nomos/updates/2024-07-22.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: 2024-07-22 Nomos weekly -tags: - - nomos-updates -date: 2024-07-22 -lastmod: 2024-07-22 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- All new mixnet-related PRs in the `nomos-specs` have been closed. New PRs will be opened once we're ready to write the technical specs. -- Simulations are now being added in the `nomos-simulations` repository. -- [PR #6](https://github.com/logos-co/nomos-simulations/pull/6): The initial mixnet simulation is ready to be reviewed. This PR has some missing pieces that will be added in the next PRs (to make the PR smaller and easily check if the simulation works correctly). -- [PR #7](https://github.com/logos-co/nomos-simulations/pull/7): Now using gossiping for broadcasting after mix. -- [PR #9](https://github.com/logos-co/nomos-simulations/pull/9): Added dissemination time measurement. -- Updated the Noisy lottery [section](https://www.notion.so/NomMix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#0e8f253c7bff4c23998c0dec7d434ca8) and worked out the details of the level 1 messaging noise generation mechanism, with a collection of algorithms that gradually build up the complexity. -- As a result of the process of reducing complexity and clarifying the objectives of what we want to analyze and simulate, written a dictated [subsection](https://www.notion.so/NomMix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#6e19568e489f4b3cb095dc4c0faed5f9) for simulation and analytics for the queuing mechanism. -- Analysis of the queuing system in the Nomos Mixnet node: considered a queue of messages where a message is removed with probability q from the queue, i.e. the “coin-flipping”. The number of attempts to remove a message from the queue follows a Geometric distribution with parameter q. The latter was verified by simulation of random sampling. Based on this, it follows that a message is delayed in a node by at least RΔ, where Δ is some constant related to the implementation of the queue, with probability (1-q)^R. The summary can be seen [here](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#d5d06ad56c09410a8a413dd455b88dce). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- [PR #100](https://github.com/logos-co/nomos-specs/pull/100): Direct DA connection protocol - added session control message type, simplified Dispersal and Sample error messages. This has been merged into the `da-poc` branch, it's now in the nomos-poc repo. -- [PR #5](https://github.com/logos-co/nomos-pocs/pull/5): DA feasibility test for a large number of UDP connections - investigated how a large number of connections would affect different network topologies. -- [PR #6](https://github.com/logos-co/nomos-pocs/pull/6) (moved from `nomos-specs`): Finalized and merged the PoC PR. Based on this, the [documentation](https://www.notion.so/Proof-of-Concept-Data-Availability-Dispersal-Sampling-50f204f2ff0a41d09de4926962bbb4ef?d=9e9677e5536a46d49fe95f366b7c3320#308624c50f1a42769b6c142976999483) has been updated accordingly. - -### `Development` - -- No updates this week. - -## `PPoS/Consensus` - -### `Research` - -- The first version of the Proof of Validator has been prepared in this [document](https://www.notion.so/Proof-of-Validator-Specification-5cd02f594d4d4a66be5e9f1ebf95d7d8). -- WIP: Finalizing studies 1 and 2 of the wealth concentration work (wasn't able to do it last week because the simulations took way longer than expected). Results and report about wealth concentration are [here](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b) but still not in a readable format. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Finalized the Proof of Leadership [specification](https://www.notion.so/Proof-of-Leadership-Specifications-894a869ea4e4484c8a3b6af9bdb89443) with error analysis. -- [PR #3](https://github.com/logos-co/nomos-pocs/pull/3) added - for Proof of Leadership circuits (in circom). -- [PR #106](https://github.com/logos-co/nomos-specs/pull/106): Defined and implemented the input proof. The input proof verifies the statement that the ptx input has a valid nullifier, the balance commitment was computed correctly, and reveals a death commitment that was used to spend the note. -- [PR #4](https://github.com/logos-co/nomos-pocs/pull/4): Balance commitments had a design bug that had broken input/output unlinkability, now resolved. -- [PR #7](https://github.com/logos-co/nomos-pocs/pull/7): Transfer PoC. This introduced 2 more types of CL proofs: Output and Bundle proofs. Also built up the proof infra around this to allow constructing a fully proved transfer transaction that could be placed on chain. -- [PR #2](https://github.com/logos-co/nomos-pocs/pull/2): Defined and implemented the first version of zone funds death constraints. -- Expanded the Preconfirmations and Based Sequencing [document](https://www.notion.so/Preconfirmations-and-Based-Sequencing-Preliminary-Research-f5c8c52d44e843e7af503b0259b1a3ef) with new research. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-07-29.md b/content/nomos/updates/2024-07-29.md deleted file mode 100644 index fb53195b5..000000000 --- a/content/nomos/updates/2024-07-29.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: 2024-07-29 Nomos weekly -tags: - - nomos-updates -date: 2024-07-29 -lastmod: 2024-07-29 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- Ran the [initial simulation](https://www.notion.so/DEPRECATED-Queuing-Mechanism-Comparison-8cad882fadc5431f95e38d45825ed41b?pvs=4) to compare queuing mechanisms, but found that it's better to design a specifically targeted simulation (which focuses only on queuing mechanisms) instead of using the full-cycle simulation (which simulates the full features of the protocol). -- We prepared the [simulation strategy](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?pvs=4), and simplified the simulator according to the strategy (maximizing code reuse). The simulation results can be found in the [Queuing Mechanism: Message Dissemination Time Experiments](https://www.notion.so/Queuing-Mechanism-Message-Dissemination-Time-Experiments-076335ac85fe4f30959bb2995cd3ac20?pvs=4), though this report is not the final version. The result consists of the largest set of data (It took 48h+). More analysis needs to be done on the result data to make a decision on the queuing mechanism and recommended parameters. So far, we found that the Noisy Coin Flipping Queue shows the optimal dissemination time compared to other queuing mechanisms, but we don't want to jump to conclusions. Other aspects besides dissemination time need to be tested. -- In the process of enabling better progress with simulations and analytical work, wrote a methodology [document](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?d=ca68dcc24ba64f608126870f6079c809#3e26a04da87a447f9c1c774f9a326ac2) that will guide our efforts in understanding the queueing mechanism's impact on the network and its general properties. -- Analysis of the queueing system in the Nomos Mixnet node: considered a message going through k nodes where the queuing system of each node delays the message. Assuming that a message is removed with probability q from the queue, the probability distribution of the total delay is the negative binomial. From this follows that the average total delay is \frac{k}{q}​. Calculated the upper bound on the probability that the total delay is greater than the average \frac{k}{q} by the factor 1 + \epsilon. The upper bound suggests that the mentioned probability is a monotonic decreasing function of k, q, and \epsilon. The aforementioned work is summarized in [Notion](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#77b9f7d7aab14b689ea8117e509c51a6). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- Draft version of DA [technical specification](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=fcf77e324acb48388b306c1701526cd6#f99988582bc74e08a50bb17b380b9b87) added. - -### `Development` - -- [PR #678](https://github.com/logos-co/nomos-node/pull/678) DA Protobufs: DA Prost integration merged - generates rust structures for protofiles as a build step. -- [PR #681](https://github.com/logos-co/nomos-node/pull/681) DA Protobufs: DA Network message types merged - Dispersal, Replication, and Sampling protocols defined as protofiles and exposed as a module in `nomos-da/network/messages`. -- [PR #679](https://github.com/logos-co/nomos-node/pull/679) CI Improvements - DA Indexer integration tests improvement merged - Integration test now better determines when to expect a specific `blob_id` in a block received via the network. This test will be used with the new DA dispersal protocol. -- Researching attacks on DAS; understanding better the interactions between DAS and consensus, MEV, and the properties of our current design - [summary](https://www.notion.so/DAS-Fork-choice-31b1d709c95a457c9400ace689f1d649). -- [PR #680](https://github.com/logos-co/nomos-node/pull/680) - started implementing DA network stack: sketched up crates, created basic structure for 3 subprotocols (dispersal, replication, sampling), implemented Replication subprotocol (non-working, we have a bug). Also added base contract for the DA networking layer on the nomos node. That way we can start integrating it into the DA services. -- [PR #683](https://github.com/logos-co/nomos-node/pull/683) - added DA network adapter trait in mempool (first step in adapting the mempool to continuously sample and verify). - -## `PPoS/Consensus` - -### `Research` - -- [PR #10](https://github.com/logos-co/nomos-pocs/pull/10) - 1st Proof of Validator PR in Circom with Merkle tree. -- Extended the Proof of Validator [specification](https://www.notion.so/Proof-of-Leadership-Specifications-894a869ea4e4484c8a3b6af9bdb89443). -- Continuation on reporting on studies 1 and 2 of the wealth concentration work (also redoing certain figures and improving the way results are compared) - [results and report](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b) are getting in shape. -- [PR #9](https://github.com/logos-co/nomos-pocs/pull/9) - Proof of Leadership spec implementation in risc0. -- Worked on the [Caulk library](https://github.com/caulk-crypto/caulk/tree/main) to understand the details of the Caulk Rust implementation. There was an error when the prover was run multiple times during the proof verification process. This error was fixed. Additionally, benchmarked the proof and verification performances for different elliptic curves. The results are added to the [spec document](https://www.notion.so/Proof-of-Validator-Specification-5cd02f594d4d4a66be5e9f1ebf95d7d8). - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- The circuit design and details used in the Zcash spec were reviewed. Sprout and Sapling circuits are older designs. The Orchard circuit is the most current version, and its cryptographic structure is already the design we are using as a reference. Relevant notes were added to this [document](https://www.notion.so/ZCash-Circuit-Design-2c1f31a465dc44b884bfef20bfb1508f). -- [PR #8](https://github.com/logos-co/nomos-pocs/pull/8) - Nomos native zone deposit tx. -- WIP: Nomos native zones bridge deposit. -- [PR #11](https://github.com/logos-co/nomos-pocs/pull/11) - added death constraints to the transfer scenario; in this scenario, we don't do any interesting account abstraction so the death constraints are proofs of no-ops. With this change, CL is "feature complete" for the purposes of the PoC. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- [PR #682](https://github.com/logos-co/nomos-node/pull/682) CI Improvements - Protoc build deps for testnet and Jenkins CI merged. -- [PR #684](https://github.com/logos-co/nomos-node/pull/684) Rust 1.80 (opened, not merged yet) - added an `allow[dead_code]` for `Nonce` in consensus for Clippy. Unused methods in da libp2p will be handled in separate PRs. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-08-05.md b/content/nomos/updates/2024-08-05.md deleted file mode 100644 index d2cfe12ea..000000000 --- a/content/nomos/updates/2024-08-05.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: 2024-08-05 Nomos weekly -tags: - - nomos-updates -date: 2024-08-05 -lastmod: 2024-08-05 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- Nomos Mix simulations: message dissemination time by queue type - [Session 1](https://www.notion.so/Dissemination-Time-Session-1-8bb47f13500a48a79df71c4ef8da2f10?pvs=4): Measured message dissemination time using 20~80 number of nodes, for each 5 queue types. Noisy Coin-flipping queue shows the lowest dissemination time when there are less number of real messages flown in the network, but shows the worst, if not. Random Sampling queue or Permuted Coin-flipping queue show around 2x longer dissemination time compared to the Non-mixing queue, but the performance degradation is relatively low, as the number of real messages increase. This is the initial interpretation of the result, which we can't make a conclusion based on. -- Nomos Mix simulations: message dissemination time by queue type - [WIP: Session 2](https://www.notion.so/Dissemination-Time-Session-2-401a8d054609483e8e0a0d9e9414395e?pvs=4): This experiment is still running. This runs more nodes (100~10000) than the session 1, to see how each queue performs in the larger network. Also preparing next experiments: measuring how long messages stay in the queue. -- Extended the methodology document with more parameters for message dissemination experiments. Found one paper that measures properties of the Monero network which also include the node connectivity levels, an extract of it can be found [here](https://www.notion.so/Practical-Peering-Degree-Distribution-03c27169f59847ae95adaa3dc32456b0). -- Designed another [type of experiment](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?pvs=4#4d38e8790ecd492a812c733bf140b864), that is devoted to observing the quality of “temporal mixing” for a single node on a single path. The results of which will give us better understanding of the predictability of delaying of each of the queues and guide our decision during the selecting process. -- The results for the first session of simulations give some intuition about the impact of each of the parameters on the dissemination time. However, it’s too early to conclude as the quality of mixing is another part of the equation and it’s our main focus now. -- Started looking at the payment mechanism for the mixnet. -- [Analysis](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#73b50a8df0364dee8754979e81f3b9ed) of the queueing system in the Nomos Mixnet node: considered the FIFO (First In First Out) attack where two sender nodes send messages through k mix nodes to the receiver node. The latter is controlled by an adversary which is also capable of observing other nodes. For a mix node where a message is removed from its out-queue with probability q, derived an expression for the probability of success of the FIFO attack. This probability can be computed numerically by creating a large population of random variables (wrote a code for the latter). Using this framework, showed that the probability of success of the FIFO attack is a monotonic decreasing function of the number of mix nodes k and is bounded from below by ½. Also showed that having different q parameters for sender and mix nodes can reduce the probability of success of the FIFO attack. Finally, showed that heterogeneous latencies of connections can increase the probability of success of the FIFO attack. - -### `Development` - -- Prepared the [engineering PoC](https://www.notion.so/Mixnet-Engineering-PoC-342e4f229d1a4031900d4cc620e24c1f?pvs=4) in Notion. - -## `Data Availability` - -### `Research` - -- DA [technical specification](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) has been updated. - -### `Development` - -- [PR #686](https://github.com/logos-co/nomos-node/pull/686): DA BlobInfo instead of Certificate - Removed Certificate and Attestation definitions, introduced DispersedBlobInfo trait and implementations. Also updated the DA mempool, integration tests and other components to use BlobInfo. -- (WIP) DA Mock network service for CLI app: still in progress preparing various components for the updated CLI App. -- [PR #685](https://github.com/logos-co/nomos-node/pull/685) - finished implementing/fixing the DA network replication layer. -- ([WIP](https://github.com/logos-co/nomos-node/tree/da-network-dispersal)) Started implementing the DA network dissemination layer - finished the validator behaviour and started the executor behaviour. - -## `PPoS/Consensus` - -### `Research` - -- Finalized the [Proof of Validator specifications](https://www.notion.so/Proof-of-Validator-Specification-5cd02f594d4d4a66be5e9f1ebf95d7d8). -- [PR #10](https://github.com/logos-co/nomos-pocs/pull/10) - 2nd Proof of Validator in Circom with Caulk. -- The implementation for the [Caulk usage scenario](https://github.com/logos-co/nomos-pocs/pull/10/commits/7f4ccde70f74344c6690234b2db41631e6a95efa) was prepared, and the results were added to the document. -- Started [analyzing](https://www.overleaf.com/7427853156xhwkfrqbrphd#ddda76) the usage of the PoL as a PoV. -- Finalizing reports 1 and 2 of the wealth concentration work: the [results](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f?pvs=4#1df422f6cc204cb8b362f41cda260b8b) are mostly in shape. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- [PR #17](https://github.com/logos-co/nomos-pocs/pull/17): integrate the zone withdrawal logic with CL ptx/note structure. -- [PR #13](https://github.com/logos-co/nomos-pocs/pull/13): users could create as many zero-valued outputs as they'd like without affecting the balance of a partial tx, the implications of this was not clear so we decided to ban zero-valued outputs for now until we understand what is going on. -- [PR #14](https://github.com/logos-co/nomos-pocs/pull/14): boilerplate for the user atomic transfer ptx. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-08-12.md b/content/nomos/updates/2024-08-12.md deleted file mode 100644 index f5af27612..000000000 --- a/content/nomos/updates/2024-08-12.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: 2024-08-12 Nomos weekly -tags: - - nomos-updates -date: 2024-08-12 -lastmod: 2024-08-12 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- Improved the simulation to avoid out-of-memory (OOM) issues—an unexpected bug. If we run heavy simulations with 90+ processes on the server, the total usage of system memory is very high, and OOM occurs after 10+ hours. We modified the handling of intermediate results to minimize memory usage. -- Measuring the Message Dissemination Time by Queue Type (Session 2.1) - because the session 2.1 simulations are too slow, we are profiling the internal behaviour of the simulation to find if something is wrong. So far, everything looks fine. The amount of computations looks correct. But, there are still more things that we need to check at the moment. -- Working on reducing the time complexity of the experiments from the parameters perspective and prepared reduced parameters for session 2, called 2.1. Afterwards, designed Session 3, and Session 4 for evaluating the behavior of a node with non-homogeneous peering degree. Finally, defined experiment 5 which should deprecate all previous experiments as it simulates most closely the behavior of the network. Relevant [document](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?pvs=4#39be9cf2ed08456da855b373bed71db8). -- Designed a responsive version (two flavors) of the queuing mechanism, that alters the probability of releasing the message from the queue when the same message is received from another queue by the node. This is a more elegant solution which should deprecate all others if performing well (delay and statistically wise). Relevant [document](https://www.notion.so/Nomos-Mix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#b37a8fdcfafe49d2880c06c3a09e6882). -- Started drafting some high-level requirements for the pay-per-mix design. Heavy work in progress - relevant [document](https://www.notion.so/Nomos-Mix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#dee3a11560834b689f41447c678ad2e6). -- Analysis of the queuing system in the Nomos Mixnet node: continued with the analysis of the FIFO (First In First Out) attack where two sender nodes, observed by an adversary, send messages through kkk mix nodes to the receiver node, corrupted by the adversary. Considered a scenario when a message is delayed by the sender node by 1qS\frac{1}{q_S}qS​1​ (on average) and by the mix node by 1qM\frac{1}{q_M}qM​1​ (on average). Here qSq_SqS​ and qMq_MqM​ are, respectively, probabilities of removing a message from the out-queue of sender and mix nodes. Computed the probability of success of the FIFO attack for different ratios ρ=qSqM\rho = \frac{q_S}{q_M}ρ=qM​qS​​. The probability of success of the FIFO attack approaches the lower bound 12\frac{1}{2}21​, where the adversary doesn’t have any advantage over random guessing, with an increasing number of mix nodes kkk much faster for higher values of ρ\rhoρ. However, even for higher values of ρ\rhoρ the probability of success of the FIFO attack is increasing if the difference in latencies of connections, of two sender nodes to the first mix node, is greater than some threshold. This work is summarized in this [document](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#73b50a8df0364dee8754979e81f3b9ed). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- Updated the [DA Technical Specification](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132). - -### `Development` - -- [PR #688](https://github.com/logos-co/nomos-node/pull/688) - Finished implementing/fixing the DA network dispersal layer: implemented executor behavior, implemented validator behavior and implemented interaction test for both behaviors. -- (WIP) [PR #689](https://github.com/logos-co/nomos-node/pull/689) - Finished implementing/fixing the DA network sampling layer. -- (WIP) [PR #690](https://github.com/logos-co/nomos-node/pull/690) - DA Mock network service for CLI app: all parts (services, adapters, etc.) are defined and interconnected, finishing up mock implementations. Progress is a bit slower than initially anticipated with the CLI App. - -## `PPoS/Consensus` - -### `Research` - -- [Concluded](https://www.notion.so/Previous-version-8b4de84c221e430fa0bd4e5393e5be7d?pvs=4#39161d9c6bce4c2ab5aee9e663aa782d) that Caulk is not that interesting for improving proof of membership. -- Finalized the [section](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#1df422f6cc204cb8b362f41cda260b8b) about "Follow the Protocol" on the wealth concentration work. -- Dropped the analysis of the PoV based on PoL analysis. -- PoV spec: The main motivation for implementing Caulk was its fast update process. We examined how many operations are required for Merkle-tree updates at specific depths and compared this with point addition and multiplication on the Caulk side. For Caulk, if the updates are to be made, this value is added linearly to the process, whereas this isn't necessary for Merkle-tree. It was observed that at 2122^{12}212 notes, the values are almost equal, and even at 2202^{20}220 notes, the difference isn't significant. For this reason, we agreed that itisn't necessary to spend too much time on Caulk. Additionally, for Caulk, the proof of Pedersen equivalence would also disadvantage us in terms of proof size and constraints. The spec work for PoV has been completed. [This](https://www.notion.so/Proof-of-Validator-Specification-5cd02f594d4d4a66be5e9f1ebf95d7d8) is the latest version using a Merkle tree. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- [PR #15](https://github.com/logos-co/nomos-pocs/pull/15) - Added strong zone notes validation by zone ID. -- [PR #16](https://github.com/logos-co/nomos-pocs/pull/16) - Added metadata to zone notes to allow for correct funds/state note validation. -- [PR #19](https://github.com/logos-co/nomos-pocs/pull/19) - Refactored zone auth. -- [PR #20](https://github.com/logos-co/nomos-pocs/pull/22) and [PR #22](https://github.com/logos-co/nomos-pocs/pull/22) - Added support for atomic transactions. -- Created a [table](https://www.notion.so/Possible-ZKVM-s-for-CL-Design-310996a4924149b986f28ed7d387a363) for notable zkVMs in the literature, currently filling in the details by reviewing the designs. -- Added the necessary details and definitions for ZCash in the relevant [document](https://www.notion.so/ZCash-Spec-Details-2c1f31a465dc44b884bfef20bfb1508f). -- [PR #21](https://github.com/logos-co/nomos-pocs/pull/21) - Integrated the zone deposit scenario. -- [PR #23](https://github.com/logos-co/nomos-pocs/pull/23) - User side of the atomic transfer transaction. -- [PR #24](https://github.com/logos-co/nomos-pocs/pull/26) - Full atomic transfer transaction. -- With the previous three PRs (in combination with previous work), we've got the full atomic transfer transaction working end-to-end! We still need to do some performance work to ensure executors can build a transaction within the 20s target block time (current proof time is ~400s). - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. \ No newline at end of file diff --git a/content/nomos/updates/2024-08-19.md b/content/nomos/updates/2024-08-19.md deleted file mode 100644 index 64bb38528..000000000 --- a/content/nomos/updates/2024-08-19.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: 2024-08-19 Nomos weekly -tags: - - nomos-updates -date: 2024-08-19 -lastmod: 2024-08-19 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- Rewrote the Queue Mechanism Simulations in Rust to make them much faster even with heavy parameters. This version does not use any bloated simulation framework (previously used in Python) and contains only the core logic we want to test. Result: more than 5x faster than the Python version. This is in the [git branch](https://github.com/logos-co/nomos-simulations/tree/mixnet-rs), as a PR hasn't been opened yet. The entire Mixnet Workgroup will review the new code this week. -- Added additional experiments: [Experiment 5](https://github.com/logos-co/nomos-simulations/commit/0d9cabc329379ffbfd152bd9110b8f441006836c) and [Session 3](https://github.com/logos-co/nomos-simulations/commit/8e06695aa44649621b61ea6ce43b90e62b311e07). -- Added additional queue mechanisms: [NoisyCoinFlippingRandomRelease](https://github.com/logos-co/nomos-simulations/commit/240f76881d516a3bb883a7d1740690bdf9926fd5) has been added. [Two other additional mechanisms](https://www.notion.so/Nomos-Mix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#b37a8fdcfafe49d2880c06c3a09e6882) will be added this week. -- Planning the [set of experiments](https://www.notion.so/Nomos-Mix-Experiments-Tracking-ad7e2b8f632c4b60a20a2ff65fd03cc9) that we need to run for the next iteration and decided to improve the way we are scheduling them and keeping track of them. -- Made small tweaks to the parameters set for the [sessions 2-4](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?pvs=4#31ba1a7e305d49dfa646c6836785563d) - decided to use a fixed transmission rate as it does not impact the results of our simulations and reduces the number of experiment cases by 2/3. -- Considered a node sending a message to all N−1 nodes of the random network: a message traveling from a node to its neighbour is delayed by the amount of time spent in the out-queue + the connection link latency. Assuming that the random network is locally tree-like, which includes networks prescribed by distributions of node connectivities, the time to deliver a message to all N−1 nodes is equal to the maximum delay over all paths from the sending node to a receiving node. For a node sending a message to its neighbours, calculated the distribution of the maximum delay. The summary can be found [here](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#1323b5075097461a80ebc03a0da2fa4c). Analysis of a message sent from a node in a random regular graph is currently in progress. - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- Refined the [DA Technical Specification](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) further; it is in green status now (reached the implementation phase). - -### `Development` - -- [PR #689](https://github.com/logos-co/nomos-node/pull/689) - finished implementing/fixing the DA network sampling layer. Had to rewrite a significant portion of it as the underlying protocol didn't work as expected. -- [PR #690](https://github.com/logos-co/nomos-node/pull/690) - DA Mock network service for CLI app: implemented dispersal of kzgrs encoded data using DA network service with a mock backend (same service will be used with the libp2p backend that will be worked on this week). - -## `PPoS/Consensus` - -### `Research` - -- Developing the [code](https://github.com/vacp2p/token-economics/tree/cryptarchia-selfish-behavior/Nomos/selfish_behavior) to study the selfish behavior of stakers (within the wealth concentration context). -- Conducted more statistical analysis of the "follow the protocol" [study](https://www.notion.so/Data-Analysis-0f0cae08220342bbade7f0048eb3850e). - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Benchmark results for zkVMs have been updated, and additions have been made to the ZkVM [document](https://www.notion.so/Possible-ZKVM-s-for-CL-Design-310996a4924149b986f28ed7d387a363) on Notion. -- While working on OlaVM, discovered they are working on Brakedown PCS to speed up proof generation in the future. An explanation about Brakedown has been added to the proof survey [document](https://www.notion.so/Preliminary-Research-Proof-Systems-Survey-ffc625a2ff82407db7a45fd193136258). It also appears to be compatible with Plonky3. Relevant developments will be monitored. -- Published the [report](https://www.notion.so/Atomic-Transfer-PoC-Report-e183a60586154ba99a67b09ee36d25cd?pvs=4) on the results of the atomic transfer PoC. -- Published a writeup on [Permissionless Notes](https://www.notion.so/Permisionless-Notes-76e140e0f38b4c10ad7ba98686acaab6?pvs=4). This resolves some of the problems we had with how adversaries had control over nullifiers which could lead to nullifier collisions and unspendable notes. (An adversary could engineer a note that had the same nullifier as a zone note and could make the zone note unspendable). -- [PR #27](https://github.com/logos-co/nomos-pocs/pull/27) (PoCs) - implemented collision-resistant nullifier idea from the permissionless note writeup. -- [PR #28](https://github.com/logos-co/nomos-pocs/pull/28) (PoCs) - implemented nonce evolution ideas from the permissionless note writeup. -- [PR #29](https://github.com/logos-co/nomos-pocs/pull/29) (PoCs) - implemented in-zone signature verification (adds 60s to atomic transfer scenario time). This gets out the PoC to a realistic enough scenario that we can start optimizing. -- Published several documents as solutions for Immediate Zone Data Availability and for the issues derived from our long finality times: [Timely Data Retrieval for Permissionless Executors](https://www.notion.so/Timely-Data-Retrieval-for-Permissionless-Executors-1c0460ae785c4912842c99f88dab28f5) and [Zones, Finality, and Preconfirmations](https://www.notion.so/What-Remains-to-Achieving-Great-UX-Zones-Finality-and-Preconfirmations-5c2e2684f9404a519c9b6a3c7a62bbef#5d077fa65eef41afa928a8f1f6fc4d1c). These topics might require more work, especially as we discuss them and see what impact they bring to the current design. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. \ No newline at end of file diff --git a/content/nomos/updates/2024-08-26.md b/content/nomos/updates/2024-08-26.md deleted file mode 100644 index 282c5feab..000000000 --- a/content/nomos/updates/2024-08-26.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: 2024-08-26 Nomos weekly -tags: - - nomos-updates -date: 2024-08-26 -lastmod: 2024-08-26 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- - -## `P2P Privacy` - -### `Research` - -- Major effort was devoted to advancing the Ordering Experiments descriptions to cover more complex scenarios, to unblock the progress of simulations. The work was successful and all scenarios have been described, discussed, and implemented. The whole section contains six generalized experiments that cover three different topological settings with two mix node behaviors. The set of parameters was adjusted to be able to finish on time based on a set of benchmarks that we ran. More on that [here](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?d=659b699941264fb3b7bb2c80b53e5c97#57368ca1503443c6b03e76ecbea3d1a6). -- The Experiments Tracking [document](https://www.notion.so/Nomos-Mix-Experiments-Tracking-ad7e2b8f632c4b60a20a2ff65fd03cc9) was updated to include new experiments. A decision was made to run experiments from the most comprehensive and computationally heavy (6th) down to the lightest (1st). This way we can consider making an analysis quicker and wait for supportive results. -- Implemented and ran the Ordering Measurements. Implementation can be found at [this branch](https://github.com/logos-co/nomos-simulations/tree/mixnet-rs-single). A PR hasn't been opened yet since some parts need to be cleaned up, and we wanted to quickly implement the new experiments. However, we took the time to check that the experiments work as intended. Also, ran the [benchmark](https://www.notion.so/Ordering-Experiments-Benchmarks-d3964323f8b4487f8e0556a5c86bf2f2) to estimate the duration of experiments. -- We are currently running all the experiments (in order from heaviest to lightest). All of them are expected to be done by 6th September. -- Analysis of latency in the Nomos mix network: considered a node sending a message to all N−1 nodes of the random network. A message traveling from a node to its neighbor is delayed by the amount of time spent in the out-queue plus the connection link latency. Defined the distance between nodes i and j as the minimum latency of a message sent from node i to node j. For node 1, the maximum overall distance to N−1 nodes is the latency of broadcast. Using this definition, considered the latency of broadcast on the network with the topology of a complete graph. The latter is a special case of a random regular graph. Developed code to compute the latency of broadcast for networks with the topology of random regular graphs. This work is summarized in this [document](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#1323b5075097461a80ebc03a0da2fa4c). Analysis of a message sent from a node in a random regular graph is currently in progress. - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- [PR #691](https://github.com/logos-co/nomos-node/pull/691) (Node) - created the aggregated protocols behavior swarm and implemented the DA network backend with the aforementioned libp2p swarm. -- [PR #693](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) (Node) - updated DaBlob struct and related code to include column index. -- [PR #694](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) (Node) - added an ability to store and load DaBlobs with different column indexes in DA Storage (used by validator, indexer, will be required by the sampling service). -- [PR #695](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) (Node) - implemented the DA network backend with the above libp2p swarm. -- [PR #698](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) (Node) - implemented subnetworks membership algorithms: - v1: filling with available nodes. -- [PR #701](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) (Node) - executor libp2p backend implementation: swarm implementation for Nomos Cli app using libp2p executor behavior- [PR #702](https://www.notion.so/DA-Technical-Specification-c6664294d630470ba20aefb21a218f8c?d=dc11993b05bd484da36a858ac83fdbd8#3529ba28472b40ce8ae14cfc8f7a6132) (Node) - implemented subnetworks membership algorithms: - v2: filling with available nodes with extra replication on the original data columns subnetworks. - -## `PPoS/Consensus` - -### `Research` - -- Continued development of the [code](https://github.com/vacp2p/token-economics/tree/cryptarchia-selfish-behavior/Nomos/selfish_behavior) to study the selfish behavior of stakers (within the wealth concentration context). -- Integrated the [statistical analysis](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#c6b214ff57a14885b062ef4b14f9f877) of the "follow the protocol" study (within the wealth concentration context). - -**Blockers**: None - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Concluded the [VM analysis](https://www.notion.so/Preliminary-Research-ZKVM-s-for-CL-Design-310996a4924149b986f28ed7d387a363): after reviewing the candidate zkVMs, we decided that continuing with Risc0 is the most suitable option at this stage for our Native Zone needs. SP1, Jolt, Cairo-VM, and Nexus will be among the VMs we continue to monitor, but Risc0 appears to be the best choice for now. -- [PR #31](https://github.com/logos-co/nomos-pocs/pull/31) and [PR #33](https://github.com/logos-co/nomos-pocs/pull/33) (PoCs) - performed optimization of native zones: use basepoint as the blinding point and provide state roots instead of whole state. -- [PR #32](https://github.com/logos-co/nomos-pocs/pull/32) (PoCs) - built isolated proof scenarios to aid benchmarking work. -- [PR #34](https://github.com/logos-co/nomos-pocs/pull/34) (PoCs) - aggregated input/output proofs into a single partial transaction proof. -- [PR #35](https://github.com/logos-co/nomos-pocs/pull/35) (PoCs) - moved the blinding to the partial transaction level instead of blinding each note value individually. -- [PR #36](https://github.com/logos-co/nomos-pocs/pull/36) (PoCs) - switched from Pederson balance commitments to hash balance commitments. -- [PR #37](https://github.com/logos-co/nomos-pocs/pull/37) (PoCs) - modelled zone transaction log with MMR. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. diff --git a/content/nomos/updates/2024-09-02.md b/content/nomos/updates/2024-09-02.md deleted file mode 100644 index 31292d7c9..000000000 --- a/content/nomos/updates/2024-09-02.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: 2024-09-02 Nomos weekly -tags: - - nomos-updates -date: 2024-09-02 -lastmod: 2024-09-02 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- - -## `P2P Privacy` - -### `Research` - -- Currently in the process of researching a couple of potential designs for pay-per-mix, starting from a form of non-interactive and off-chain rate limiting, then trying to construct a form of payment on top of that. These are considered without compromising the privacy properties of the Nomos Mix. The first version can be seen in this [document](https://www.notion.so/Nomos-Mix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#dee3a11560834b689f41447c678ad2e6) (WIP). -- Considered the latency of a broadcast in the high connectivity regime of communication networks. In this regime, a node is connected to a fraction of all nodes in the network. Assumed that a message delay is governed by a Geometric distribution with parameter q, i.e., a message is removed from the out-queue with probability q, and a constant delay in communication links. For this model of delays, the latency of broadcast, computed numerically, converges to 2 units of time as the number of nodes, N, in the network grows. However, the distribution of delays can be very broad for a small q (and small N), suggesting that in a high connectivity regime to have q≥12q \geq \frac{1}{2}q≥21​ is more desirable. This work is summarized in this [document](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#f3ec94ae55884fa386a50c425bef695b). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- [PR #704](https://github.com/logos-co/nomos-node/pull/704) (Node) - added the DA Network to the Nomos Node. -- [PR #705](https://github.com/logos-co/nomos-node/pull/705) (Node) - finalized Sampling Service PR without backend. -- [PR #706](https://github.com/logos-co/nomos-node/pull/706) (Node) - fixes and updates to traits, service implementation, and libp2p network backend implementation. -- [PR #708](https://github.com/logos-co/nomos-node/pull/708) (Node) - (WIP) plugging sampling into consensus. -- [PR #709](https://github.com/logos-co/nomos-node/pull/709) (Node) - implemented the backend (including tests). Currently in review. -- [PR #710](https://github.com/logos-co/nomos-node/pull/710) (Node) - implemented a few fixes to the sampling service backend. -- [PR #711](https://github.com/logos-co/nomos-node/pull/711) (Node) - added integration tests for dispersal using Nomos Cli. -- [PR #712](https://github.com/logos-co/nomos-node/pull/712) (Node) - added the sampling service rng suggestion to the Nomos Node. -- [PR #713](https://github.com/logos-co/nomos-node/pull/713) (Node) - added the Verifier and Indexer to the Nomos Node. - -## `PPoS/Consensus` - -### `Research` - -- [PR #114](https://github.com/logos-co/nomos-specs/pull/114) (Nomos-specs) - included the PoL using (using the randomness of the last PoL for the slot) in the code spec. -- Concluded the [development](https://github.com/vacp2p/token-economics/tree/cryptarchia-selfish-behavior/Nomos/selfish_behavior) required to run selfish behavior simulations. Also ran a few simulations to observe the occurrence of classes of validators, occurrence of blocks, and forks. Based on that, included a few more paragraphs in the Selfish Behavior [section](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#22fa3481f8ff452db8bce847b74e33b9) and created the PoS [model](https://github.com/vacp2p/token-economics/tree/cryptarchia-selfish-behavior/Nomos/agent_based_pos). - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Circle Stark protocol steps and the verification implementation steps for Stwo have been prepared in this (WIP) [document](https://www.notion.so/Preliminary-Research-Stwo-Wrapper-82f900dce90d4532be844c477b8cc618?d=56f1bb50966e4307a7e636be4c0d0d55#58a4aa16938945f994f6bf67d7dfe221) (we generated the first Stwo proof using Poseidon hash function for the oracle). -- Added a [report](https://www.notion.so/Atomic-Transfer-PoC-Report-e183a60586154ba99a67b09ee36d25cd) on the Coordination Layer PoC. -- CL Spec has been [updated](https://www.notion.so/Coordination-Layer-Data-Model-Specification-9a60bd41167d426abb0cd07a01aab905?pvs=4) to reflect the changes from PoC. -- Atomic Transfer [report](https://www.notion.so/Atomic-Transfer-PoC-Report-e183a60586154ba99a67b09ee36d25cd?pvs=4) has been finished. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- Q4 planning for development is currently in progress - WIP document. \ No newline at end of file diff --git a/content/nomos/updates/2024-09-09.md b/content/nomos/updates/2024-09-09.md deleted file mode 100644 index 034866317..000000000 --- a/content/nomos/updates/2024-09-09.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: 2024-09-09 Nomos weekly -tags: - - nomos-updates -date: 2024-08-09 -lastmod: 2024-08-09 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- Ordering Measurements: Performed experiments [5](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?pvs=4#8a4d4d63657b4ed3832e68301170c1c4) and [6](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?pvs=4#8a4d4d63657b4ed3832e68301170c1c4) of the ordering measurements (which are the heaviest). Experiment 6 took more time than expected due to randomness in some queue types. We had to lower one parameter (the number of messages generated) to finish the experiment in a reasonable time. Additionally, we implemented an optimization to reduce gossip traffic. As a result, both experiments 5 and 6 were completed by Thursday (2024-09-05). -- Ordering Measurements: Since 2024-09-06, we have been analyzing the results of the latest experiments, focusing on the average number of data messages in queues, the average latency for messages (from sender to receiver), the ordering coefficients (to compare the mix effects), and the calculated outputs: [exp5](https://www.notion.so/Nomos-Mix-Experiments-Tracking-ad7e2b8f632c4b60a20a2ff65fd03cc9?pvs=4#1442de7b28f54ab58281392d2a98bf17) and [exp6](https://www.notion.so/Nomos-Mix-Experiments-Tracking-ad7e2b8f632c4b60a20a2ff65fd03cc9?pvs=4#c54160a3d6b14a058f49089c791c5cd9). These are not yet nicely visualized reports but can be analyzed in detail by the Mixnet Workgroup. The ordering coefficient for experiment 5 is still being calculated. -- We identified information leakage in the noisy lottery design, which we started addressing by generalizing the lottery to the l-hop case. Instead of a single hop, we added more hops to better mimic data traffic. This reduced the leakage, but it requires [modifications to the payment mechanism](https://www.notion.so/Nomos-Mix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#80e8f3495ad14199b9f3d5378c73b960) for noise generation, which is in progress. -- The discovery of this issue came while working on the payment mechanism for mixing, which is advancing but requires modifications to align with the noisy lottery. This is not fully documented but can be found [here](https://www.notion.so/Nomos-Mix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#dee3a11560834b689f41447c678ad2e6). -- Analysis of latency in the Nomos mix network: We analyzed the latency of a broadcast in the finite connectivity regime of communication networks. In this regime, a node is connected to a finite number of other nodes in the network. We assumed a network of size NNN has a topology of a random regular graph with connectivity ccc. Message delay is governed by a Geometric distribution with parameter qqq, i.e., a message is removed from the out-queue with probability qqq, and a constant delay in communication links. For this model, the latency of broadcast (divided by log⁡(N)\log(N)log(N)) converges to some (non-random) value, depending on qqq and ccc, as NNN grows. Furthermore, for small qqq, the latency of broadcast is consistent with 2log⁡(N)(c−1)qc(c−2)\frac{2 \log(N)(c-1)}{q c(c-2)}qc(c−2)2log(N)(c−1)​ but deviates for larger qqq. From this, it follows that latency grows as log⁡(N)\log(N)log(N) with NNN in the finite connectivity regime. This work is summarized [here](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#bdf5ca02115f44d9bd3f8da8cdebf26c). - -### `Development` - -- No updates this week. - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- [PR #715](https://github.com/logos-co/nomos-node/pull/715/files) (Node) - implemented DA network in the verifier libp2p adapter. -- [PR #722](https://github.com/logos-co/nomos-node/pull/722) (Node) - implemented trigger sampling from DA mempool. -- [PR #723](https://github.com/logos-co/nomos-node/pull/723) and [PR #725](https://github.com/logos-co/nomos-node/pull/725) (Node) - implemented trigger sampling in Node. -- [PR #729](https://github.com/logos-co/nomos-node/pull/729) (Node) - first attempt at storage relay (closed due to incompatible types). -- [PR #730](https://github.com/logos-co/nomos-node/pull/730) (Node) - implemented incoming sampling request handling. -- [PR #731](https://github.com/logos-co/nomos-node/pull/731) (Node) - implemented adding column index in the sample requests. -- [PR #732](https://github.com/logos-co/nomos-node/pull/732) (Node) - implemented `get_blob` on sampling RocksDB adapter. -- [PR #733](https://github.com/logos-co/nomos-node/pull/733) (Node) - implemented minimal correct configuration for two nodes participating in DA network to receive BlobInfo into a mempool, start sampling, propose a block with BlobInfo, and eventually provide available blobs via the indexer API for the requested AppID and range. - -## `PPoS/Consensus` - -### `Research` - -- [PR #114](https://github.com/logos-co/nomos-specs/pull/114) (nomos-specs) - added the first PR for the PoL Python spec. -- The existing PoE design was reviewed, and [pseudocode](https://www.notion.so/PoE-8d2721d787684c8bbf5b223b724478bb) was prepared. -- [First attempt branch](https://github.com/logos-co/nomos-node/tree/PoE) for PoE spec (working but not acceptable in terms of cycles). -- [Extended the PoV specs](https://www.notion.so/Proof-of-Validator-Specification-5cd02f594d4d4a66be5e9f1ebf95d7d8?pvs=4#d07d5f29743b444395cba40f30239820), which need some discussion and review. -- Started studying the selfish mining problem in PoW and PoS - [notes](https://www.notion.so/Selfish-Mining-in-PoS-622b9b384f4e4e67be88338c0fa9c714). -- Added a few more [paragraphs](https://www.notion.so/Does-Crypsinous-Leader-Election-Function-lead-to-wealth-concentration-in-PoS-b81f07a791b745438443f51f00ac258f#22fa3481f8ff452db8bce847b74e33b9) in the Selfish Behavior section. - -### `Development` - -- [PR #718](https://github.com/logos-co/nomos-node/pull/718) and [PR #721](https://github.com/logos-co/nomos-node/pull/721) (Node) - integration of leadership proofs in the node. We have an issue mostly around long CI times, and we might cut some corners at some point to unblock things until we get more powerful runners. - -## `Coordination Layer` - -### `Research` - -- [Updated zkVM](https://www.notion.so/Preliminary-Research-ZKVM-s-for-CL-Design-310996a4924149b986f28ed7d387a363) benchmarks with a new VM (**Lurk** that is fast but leads to large proofs). -- Prepared notes from the sources read about Verkle trees and MPC for future studies: [Verkle Tree](https://www.notion.so/Verkle-Tree-27dbb841d1f74f6390b7de95a977934c) and [MPC](https://www.notion.so/MPC-e1c64e02d94c4a0e9e6eefd316185df2). - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- [PR #726](https://github.com/logos-co/nomos-node/pull/726) and [PR #727](https://github.com/logos-co/nomos-node/pull/727) (Node) - CI: Investigated Risc0 installation options. Apart from Metal not being available in GitHub runners, we also ran out of disk space. A self-hosted runner would be a solution - [Infra Request](https://github.com/status-im/infra-misc/issues/364). - -## `User Tools` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- No updates this week. \ No newline at end of file diff --git a/content/nomos/updates/2024-09-16.md b/content/nomos/updates/2024-09-16.md deleted file mode 100644 index b4a59bb32..000000000 --- a/content/nomos/updates/2024-09-16.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: 2024-09-16 Nomos weekly -tags: - - nomos-updates -date: 2024-09-16 -lastmod: 2024-09-16 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- Completed the simulation: Queuing Mechanism: Ordering Experiments. All core experiments (5 and 6 of the session 1 & 3) have been completed. All results and evaluations have been [documented](https://www.notion.so/Queuing-Ordering-Experiments-0a7586465ce44fb1986283d653c73de7?pvs=4). The results have been discussed within the Mixnet working group, and the `PermutedCoinFlippingQueue` has been chosen as the first algorithm to be used for the Rust implementation, considering its good balance between latency and mixing quality. The research part has been also preparing further researches to improve it and find better approaches. [The code of simulations](https://github.com/logos-co/nomos-simulations/tree/master/mixnet) was pushed to the `nomos-simulations` repository with detailed manuals. -- Proposed a collection of protocols for the pay-per-mix [design](https://www.notion.so/Nomos-Mix-Peer-to-Peer-Mix-Network-over-Gossip-Channel-11e9c70a656d4ff1858bc46a715f4c59?pvs=4#b928ae05a47042a98c9f4de2d45dee29) (we are trying to reward mixing and noise generation). Most of them are based on an assumption of indirect payments and probabilistic rewarding (for active network participants) which is the most respectful approach for upholding user privacy. The protocol complexity rises significantly if we change the assumption to more direct rewarding. -- The Mixnet Workgroup has went through the experiment results and decided to go with Permuted Coin Flipping queueing mechanism which gives a good combination of latency and mixing properties. -- Defined another [type of experiment](https://www.notion.so/Nomos-Mix-Queueing-Mechanism-Experimentation-Methodology-d629af5a2d43473c9ec9ba191f6d904d?pvs=4#77a6efdac33d43ce82430e276aa6edd3) to look more closely on a scenario where there is even less noise. We are also growing the network a bit so we might also observe the impact of the size of the network in the latency. -- Analysis of latency in the Nomos mix network: considered the latency of a broadcast in the finite connectivity regime where a network of size N has a topology of random regular graph with connectivity c. Assumed that a message delay is governed by Geometric distribution with parameter q, i.e. a message is removed from out-queue with probability q, and a constant delay in communication links. The average latency of broadcast computed numerically is consistent with the expression 2\log(N)(c-1)/(q c(c-2)) for small q. For larger values of q, and small connectivity c, the average latency of broadcast is consistent with 2\log(N)(c-1)/(\alpha\log(1+q) c(c-2)) for some \alpha\approx 1. However, for the large c the latter holds only for small q. The summary of this point can be found [here](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#bdf5ca02115f44d9bd3f8da8cdebf26c). - -### `Development` - -- Started implementing the new Mixnet protocol in Rust: Discussed internally to determine the approach how to implement the mixnet protocol by following the libp2p way, as done for DA. We are aiming to have the first working version of the base mixnet protocol this week. It will contain only base components (GTR, Queuing, ...) that have minimal implementations and can be extended. - -## `Data Availability` - -### `Research` - -- No updates this week. - -### `Development` - -- No updates this week. - -## `PPoS/Consensus` - -### `Research` - -- Started studying Deep Selfish Proposing in Longest-Chain Proof-of-Stake Protocols [paper](https://fc24.ifca.ai/preproceedings/224.pdf). - The paper suggests (i) to disburse block rewards as tx when blocks are proposed, instead of in a later stage (e.g., at the end of the epoch) based on the block ratio, because this prevents attackers from getting more rewards than they should; (ii) the fork choice rule can be "extend the first block the validator heard about". Notes can be found [here](https://www.notion.so/Selfish-Mining-in-PoS-622b9b384f4e4e67be88338c0fa9c714](https://www.notion.so/Selfish-Proposing-in-PoS-b109e3ae8736401caaef1633940e3b73)). - -### `Development` - -- [PR #721](https://github.com/logos-co/nomos-node/pull/721) and [PR #736](https://github.com/logos-co/nomos-node/pull/736) (Node) - completed the integration of PoL into the node. We now have a simple implementation on the node that would need to be improved for the final testnet. Next, we are looking into other possible options like accumulators, verkle trees, etc. - -## `Coordination Layer` - -### `Research` - -- Updated the [branch](https://github.com/logos-co/nomos-node/tree/PoE) for PoE implementation for risc0. We get a proof in less than 2M cycles for 2048 coefficients over BLS scalar field. -- [PR #40](https://github.com/logos-co/nomos-pocs/pull/40) (PoCs) - added PoE implementation in Circom to compare with risc0. -- Added a [document](https://www.notion.so/PoE-Progress-8d2721d787684c8bbf5b223b724478bb) explaining PoE improvements in risc0, why we propose to use dedicated PoE not included in the STF of a zone and the results for Circom. -- Created a private repo for the modified Stwo Wrapper. It can now support Poseidon over BLS scalar field and serialize the produce proof in a json file. -- The [ethSTARK](https://eprint.iacr.org/2021/582.pdf) paper was reviewed to understand the details of the Stwo prover. - -### `Development` - -- No updates this week. - -## `Testnet + Insights` - -### `Development` - -- No updates this week. - -## `User Tools` - -### `Research` - -- (WIP) Explorer [design](https://www.notion.so/Nomos-Explorer-e14b277747944e4f995ae44e60fcbf3d) is in progress. - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- Started writing NomosDA explainer series - content headers/skeletons for the NomosDA explainer series docs can be found [here](https://www.notion.so/NomosDA-Series-696fab4a7eb547c48366abab938c154a). diff --git a/content/nomos/updates/2024-09-23.md b/content/nomos/updates/2024-09-23.md deleted file mode 100644 index a23cf4807..000000000 --- a/content/nomos/updates/2024-09-23.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 2024-09-23 Nomos weekly -tags: - - nomos-updates -date: 2024-09-23 -lastmod: 2024-09-23 -draft: false -description: Weekly update of Nomos -project tracking: https://www.notion.so/Project-Tracking-4fb69250b0114573a71c57882165eec3 ---- -## `P2P Privacy` - -### `Research` - -- Added a preliminary research note: [Nomos Mix on Libp2p](https://www.notion.so/Mixnet-on-Libp2p-Implementation-d8b2827c2ba4429a81ce875747934319). -- Started a major rewrite of the Nomos Mix design. The motivation for this is that the main document is not well-maintained and has become difficult to read, so there is a need to extract the most important parts of the design and clean up the entire documentation. -- Analysis of latency in the Nomos mix network: Considered the probability that the latency of a broadcast is greater than some threshold t, i.e., the probability of the upper “tail.” For a network of size N, with a topology of a random regular graph with connectivity ccc, numerical simulations for q=12q=\frac{1}{2}q=21​ suggest that the probability of the upper tails is a monotonic decreasing function of graph connectivity c. This analysis assumes that message delay is governed by a Geometric distribution with parameter q, meaning a message is removed from the out-queue with probability q, and that there is a constant delay in communication links. Comparing the same probability in networks with topologies of random regular graphs and trees suggests that the latter is an upper bound on the former. This work is summarized [here](https://www.notion.so/Analysis-of-the-Nomos-Mixnet-Anonymous-Communication-AC-System-c97d73a7b8894cf7830e8345f0cc37a4?pvs=4#10a8f96fb65c80588561c1c64f4d9149). - -### `Development` - -- [PR #765](https://github.com/logos-co/nomos-node/pull/765) (Node) - Implemented the libp2p stack for Nomos Mix. Currently under review. - -## `Data Availability` - -### `Research` - -- Added a NomosDA docs Introduction page [draft](https://www.notion.so/Introduction-1008f96fb65c80568c65c2cfc4187f92). - -### `Development` - -- [PR #764](https://github.com/logos-co/nomos-node/pull/764) (Node) - Nomos CLI dispersal and sampling testing: finalized sampling testing and added fixes and tests for CLI dispersal code. Nomos CLI acts as one of the nodes in the network using its secure key for DA communications. -- [PR #764](https://github.com/logos-co/nomos-node/pull/764) (Node) - Replication testing and fixes: piped replicated payloads to the validator. Peers now dial to each other if they are in the same subnet. Integration tests are running 4 subnets with 8 nodes and a replication factor of 2. - -## `PPoS/Consensus` - -### `Research` - -- Notes on the problems encountered with merging blocks and potential solutions have been taken and added [here](https://www.notion.so/Merging-Problem-648706090686486ba2bf04027ce0ea38?pvs=25). Due to privacy concerns, the cryptographic solution mentioned in Solution 3 is not feasible. -- [Notes](https://www.notion.so/Postponed-Selfish-Proposing-in-PoS-b109e3ae8736401caaef1633940e3b73) about selfish proposing in PoS have been added. -- [Analyzed](https://www.notion.so/Token-Design-Comparables-94986e5741384d3591e6f0e375d0926d) the token design of comparable projects. -- Wrote, shared, and discussed a [solution](https://www.notion.so/Solo-Play-Is-Not-The-Way-1048f96fb65c8017bbcfd72053b9063e?pvs=4) for the "lazy nodes" problem in our consensus. - -### `Development` - -- No updates this week. - -## `Coordination Layer` - -### `Research` - -- Moved the Stwo repo to a dedicated nomos-pocs [branch](https://github.com/logos-co/nomos-pocs/tree/Stwo_wrapper). -- In the Stwo implementation, work continued on the DEEP FRI details for Circle STARK, specifically for the verifier part. A general note on the structure of the DEEP FRI protocol was added to the [document](https://www.notion.so/FRI-Protocol-f7870e74665848238d911dd72e0d3c1f?pvs=25) prepared earlier for FRI. -- Replaced Rapidsnark with Tachyon for the Risc0 wrapper. The results were not useful, but they may be improved in the future, allowing us to reuse the implementation. Implementation, measurements, and discussions are [available on Notion](https://www.notion.so/Tachyon-in-risc0-wrapper-1078f96fb65c809599d6f4c88ca60eb7). -- Started the [Ingonyama Icicle review](https://www.notion.so/Ingonyama-Icicle-1048f96fb65c80aca18ac1f67ec977e0), identifying potential future improvements for DA. -- The wrapper SageMath script is running the entire verifier, except for the last remaining part, which is FRI. We added an [explanation on the DEEP method](https://www.notion.so/Preliminary-Research-Stwo-Wrapper-82f900dce90d4532be844c477b8cc618?pvs=4#441a90ac78454b268c3eb96828ccd205) used for building the script. - -### `Development` - -- No updates this week. - -## `Testnet and Tooling` - -### `Development` - -- No updates this week. - -## `Miscellaneous` - -- Added several [notes](https://www.notion.so/Ecosystem-Notes-1058f96fb65c801bbefbc638d4e4c3e1) regarding the ecosystem. These will be continuously updated with more content. diff --git a/content/nomos/updates/Athens Offsite Notes.md b/content/nomos/updates/Athens Offsite Notes.md deleted file mode 100644 index 02f95f828..000000000 --- a/content/nomos/updates/Athens Offsite Notes.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Athens Offsite Notes -tags: - - nomos-updates - - athens-all-hands -date: 2024-04-15 -lastmod: 2024-04-15 -draft: false -description: Nomos Offsite Notes ---- -### `Research` - -The Nomos team has attended several meetings with different teams and internally. Most of these have been in terms of finding the right solutions for the Coordination layer, including but not limited to: - -- Proof aggregation techniques -- ZK commitment schemes -- CL Inter-zone communication -- Bridges - -Based on these discussions, we have compiled a preliminary version of the [Coordination Layer Specification](https://www.notion.so/CL-Specification-9a60bd41167d426abb0cd07a01aab905). There are still unknowns in this line of work, but we are of a unified mind that we are on the right track. - -### `Engineering` - -At Nomos, there are some needs that could be covered by Vac. To be more precise: understanding on what Vac provides that could be helpful, understanding what is required for Vac to start on that support, a plan/pipeline for both teams to interact. Some of the proposals: - -DST: - -- At the moment, the most prominent project is the analysis of the Nomos mixnet. -- This will serve as the first project interaction as it is also the highest priority. -- Ongoing conversations on what is needed are already in place. - -QA: - -- Nomos node is in high need of a testing plan. But no real bandwidth for it. -- Vac has specialized people with the experience and the workforce. -- Cryptarchia and NomosDA would be the focus. But this is gonna be delayed until seen how the mixnet collaboration goes. -- As part of this **specifications** will be reviewed by the Vac team so they can be improved. Eventually specifications will be forked and served as part of Vac too. - -## `Comms` - -##### `Key Market Trends / Research - -Privacy Concerns: - -- Building our case for privacy our protection and viability of the project. We need to define the terms of privacy and create that shield. Privacy is necessary for personal items to be possible, health, business, institutions.  - -Technical Narratives: - -- Litenodes. Rules without a ruler -- Data Availability Sampling -- Restaking - -Decentralisation  - -- We can be more decentralised than any other blockchain ever.  - -##### `Technical Milestones - -Product Development - -- 1st Milestone: Dark paper release, with a potential litepaper version. -- 2nd Milestone: Testnet - -##### `Growth Plan  - -Target Audience:  - -- Degens: Refine for those who care and believers. -- Institutions: Long term -- Developers/Contributors -- Node Operators: Long term. - -Movement Building (Community) - Educational Initiatives:  - -- Roles for incentivising culture, memes. -- Ambassador program -- Developer Outreach - -Incentive Programs  - -- Logos NFTs -- When we have zones we can get them to deploy during hackathons? \ No newline at end of file diff --git a/content/nomos/updates/index.md b/content/nomos/updates/index.md deleted file mode 100644 index 6b2251146..000000000 --- a/content/nomos/updates/index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Nomos Weekly Updates ---- -These are all the Nomos weekly updates that are reported to Logos Insight team. diff --git a/content/p2p/index.md b/content/p2p/index.md new file mode 100644 index 000000000..4a7bfa5db --- /dev/null +++ b/content/p2p/index.md @@ -0,0 +1,19 @@ +--- +title: P2P Service Unit +tags: +- p2p +- vac +--- + +## `vac:p2p:` + +--- + +### `ift:` + +The P2P Service unit develops `nim-libp2p` for various IFT projects. +nim-libp2p roadmap on [github](https://github.com/status-im/nim-libp2p/issues/777) + +Commitments definition TBD. + + diff --git a/content/qa/index.md b/content/qa/index.md new file mode 100644 index 000000000..1a14392b4 --- /dev/null +++ b/content/qa/index.md @@ -0,0 +1,24 @@ +--- +title: QA Service Unit +tags: +- qa +- vac +--- + +## `vac:qa:` +--- + +### `ift:` + +### `waku:` +* [[qa/waku/interop-testing-2024q4|interop-testing-2024q4 ]] + + +### `nomos:` + +### `codex:` + + +### archive + +* [[qa/archive/2024h1|2024h1]] diff --git a/content/qa/waku/interop-testing-2024q4.md b/content/qa/waku/interop-testing-2024q4.md new file mode 100644 index 000000000..a3341e6e2 --- /dev/null +++ b/content/qa/waku/interop-testing-2024q4.md @@ -0,0 +1,48 @@ +--- +title: Waku Interop Testing +tags: + - "2024q4" + - "qa" + - "waku" +draft: false +description: +--- + +`vac:qa:waku:interop-testing-2024q4` + +## Description + +TODO: more expressive description + +Add new coverage for the interop testing framework + + +* peer exchange +* discv5 +* peer & connection management +* edge cases +* more complex scenario +* create tests for known issues found by devs / node operators / integrators + +(explain alignment with narratives) + +## Task List + +### + +* fully qualified name: `vac:qa:waku:interop-testing-2024q4:` +* owner: +* status: +* start-date: +* end-date: + +#### Description + +Either an expressive description or a link to a github issue with an expressive description. + +#### Deliverables + +List (can consist of a single Deliverable) of planned Deliverables and links to completed Deliverables. + + + diff --git a/content/rfc/index.md b/content/rfc/index.md new file mode 100644 index 000000000..f14e6466a --- /dev/null +++ b/content/rfc/index.md @@ -0,0 +1,22 @@ +--- +title: RFC Specifications Service Unit +tags: +- rfc +- vac +--- + +## `vac:rfc:` +--- + +### `ift:` + +### `status:` + +### `nomos:` + + +### `codex:` +* [ ] [[rfc/nomos/specs-init|specs-init]] + +### `waku:` + diff --git a/content/sc/g/codex/contracts-formal-verification.md b/content/sc/g/codex/contracts-formal-verification.md new file mode 100644 index 000000000..8478698ec --- /dev/null +++ b/content/sc/g/codex/contracts-formal-verification.md @@ -0,0 +1,45 @@ +--- +title: "Contracts Formal Verification" +--- +## `vac:sc::codex:contracts-formal-verification` +--- + +```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 + Contracts Formal Verification: 2024-07-01, 2024-10-01 +``` + +- status: 0% +- CC: r4bbit, gravityblast + +### Description + +This milestone entails the formal verification of the Codex marketplace smart contracts. +This should be done together with the Codex team as well as with Certora. +Ideally, this will be done by regularly meeting with Certora and reviewing the rules that have been implemented by the Smart Contracts team. + +### Justification + +Codex is planning to launch a first version of their network by the end of 2024. +To ensure their marketplace system is secure they need to have their code audited and formally verified. + +### Deliverables + +- Application Properties for the marketplace smart contracts +- Implementation of properties in CVL rules diff --git a/content/sc/g/codex/review-codex-contracts.md b/content/sc/g/codex/review-codex-contracts.md new file mode 100644 index 000000000..6682c6687 --- /dev/null +++ b/content/sc/g/codex/review-codex-contracts.md @@ -0,0 +1,42 @@ +--- +title: "Review Codex Contracts" +--- +## `vac:sc::codex:review-codex-contracts` +--- + +```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 + Review Codex Contracts: 2023-09-15, 2023-10-31 +``` + +- status: 100% +- CC: r4bbit + +### Description + +Review the codex smartcontract and give feedback: https://github.com/codex-storage/codex-contracts-eth +More info: https://github.com/codex-storage/nim-codex/blob/master/codex/contracts/Readme.md + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/finance/access-control-safe-support.md b/content/sc/g/finance/access-control-safe-support.md new file mode 100644 index 000000000..c6419fa60 --- /dev/null +++ b/content/sc/g/finance/access-control-safe-support.md @@ -0,0 +1,42 @@ +--- +title: "Access Control Safe Support" +--- +## `vac:sc::finance:access-control-safe-support` +--- + +```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 + Contracts Formal Verification: 2024-06-01, 2024-12-31 +``` + +- status: 0% +- CC: r4bbit + +### Description + +The finance team deploys various Safe multisig wallets for different finance strategies to generate yield. +These Safes follow a strict access control architecture by leveraging the Zodiac roles modifier module by Gnosis Guild. + +The Smart Contracts team helps deploying these contracts as well as auditing any changes done to the deployment scripts. + +### Justification +### Deliverables + + + diff --git a/content/sc/g/status/community-contracts-ERC20.md b/content/sc/g/status/community-contracts-ERC20.md new file mode 100644 index 000000000..64e790c4e --- /dev/null +++ b/content/sc/g/status/community-contracts-ERC20.md @@ -0,0 +1,47 @@ +--- +title: "Community Contracts ERC20" +--- +## `vac:sc:rlnp2p:status:community-contracts-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 + Community Contracts ERC20: 2023-08-01, 2023-11-31 +``` + +- status: 100% +- CC: Andrea + +### Description + +* https://github.com/status-im/communities-contracts/issues/13 + +#### Info + +This milestone comprises what the SC has to deliver towards the completion of Status No3 prio: + +`3) work on the Status Community ownership tokenisation smart contracts is the third priority` + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/status/community-contracts-ERC721.md b/content/sc/g/status/community-contracts-ERC721.md new file mode 100644 index 000000000..ceccb087c --- /dev/null +++ b/content/sc/g/status/community-contracts-ERC721.md @@ -0,0 +1,40 @@ +--- +title: "Community Contracts ERC721" +--- +## `vac:sc::status:community-contracts-erc721` +--- + +```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 + Community Contracts ERC721: done, 2023-01-20, 2023-08-31 +``` + +- status: 100% +- CC: Andrea + +### Description + + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/status/community-contracts-batch-tx-ext.md b/content/sc/g/status/community-contracts-batch-tx-ext.md new file mode 100644 index 000000000..78fae2834 --- /dev/null +++ b/content/sc/g/status/community-contracts-batch-tx-ext.md @@ -0,0 +1,61 @@ +--- +title: "Community Contracts CollectibleV1 Batch transaction Extension" +--- +## `vac:sc::status:community-contracts-batch-tx-ext` +--- + +```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 + Community Contracts CollectibleV1 Batch transaction Extension: 2024-02-19, 2024-03-21 +``` + +- status: 100% +- CC: r4bbit + +**This milestone is updated on weekly basis. For a more up-to-date status head over to the [milestone on GitHub](https://github.com/status-im/communities-contracts/milestone/4). + +### Description + +This milestone extends the available token contracts that Status communities use to implement things like token gated permissions. + +At the time of creating this milestone, two types of token contracts existed: + +- `CommunityERC20` +- `CollectibleV1` + +These are essentially ERC20 and ERC721 respectively, with some additional functionality, required by Status. + +In this milestone, we're adding support for batch transacting tokens of the `BaseToken` which `CollectibleV1` is derived from. + +### Justification + +Status Desktop needs to allow community owners to first deploy and mint a certain amount of their own token and then batch transact them to other accounts later on. + +Right now the only way to do this is to either use the contract's `mintTo()` function, which mints to a list of accounts right away, or to perform multiple transactions for every token to be sent. + +### Deliverables + +- `BaseToken/CollectibleV1` batch transfer functions +- Tests +- Documentation +- Application properties +- Formal verification + + + diff --git a/content/sc/g/status/community-contracts-curation-dapp-contracts.md b/content/sc/g/status/community-contracts-curation-dapp-contracts.md new file mode 100644 index 000000000..35bd90099 --- /dev/null +++ b/content/sc/g/status/community-contracts-curation-dapp-contracts.md @@ -0,0 +1,54 @@ +--- +title: "Community Curation dapp Contracts" +description: "description" +--- +## `vac:sc::status:community-curation-dapp-contracts` +--- + +```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: 2023-09-15, 2023-10-21 +``` + +- status: 100% +- CC: Ricardo + +### Description + +Depends on finishing [[ vac/sc/g/status/snt-optimism-bridge | SNT-optimism-bridge ]] + +The milestone has to be completed (can be a mitigation / preliminary fix): + +* https://github.com/status-im/community-dapp/issues/64 +* https://github.com/status-im/community-dapp/issues/65 + +#### Info + +This milestone comprises what the SC has to deliver towards the completion of Status No2 prio: + +`2) if any further work needs to be done on the Community Directory Curation dApp for the initial launch this is second priority` + + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/status/community-contracts-deployer.md b/content/sc/g/status/community-contracts-deployer.md new file mode 100644 index 000000000..f191d83df --- /dev/null +++ b/content/sc/g/status/community-contracts-deployer.md @@ -0,0 +1,53 @@ +--- +title: "Community Contracts Deployer" +--- +## `vac:sc::status:community-contracts-deployer` +--- + +```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 + Community Contracts Deployer: 2023-09-01, 2023-09-30 +``` + +- status: 100% +- CC: r4bbit + +### Description + + +### Justification + + +### Deliverables + +* https://github.com/status-im/communities-contracts/commit/e7d799b761e87166ecee4efaaede0b7a6cc367ad + +* https://goerli-optimism.etherscan.io/address/0xfFa8A255D905c909379859eA45B959D090DDC2d4 + +Test-net addresses: + +``` +CommunityTokenDeployer 0xfFa8A255D905c909379859eA45B959D090DDC2d4 +CommunityOwnerTokenRegistry 0x99F0Eeb7E9F1Da6CA9DDf77dD7810B665FD85750 +CommunityOwnerTokenFactory 0x76d0E484e7c3398922636960Ab33bDe6E9936D81 +CommunityMasterTokenFactory 0x420BE6568c6E09782CEAE1575495Cd6C1c7EA04D +``` + + + diff --git a/content/sc/g/status/community-contracts-maintenance.md b/content/sc/g/status/community-contracts-maintenance.md new file mode 100644 index 000000000..0c3aa9f06 --- /dev/null +++ b/content/sc/g/status/community-contracts-maintenance.md @@ -0,0 +1,19 @@ +--- +title: "Community Contracts Maintenance" +--- +## `vac:sc::status:community-contracts-maintenance` +--- + +- status: ongoing +- CC: Andrea + +### Description + + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/status/community-contracts-token-import.md b/content/sc/g/status/community-contracts-token-import.md new file mode 100644 index 000000000..93b47145a --- /dev/null +++ b/content/sc/g/status/community-contracts-token-import.md @@ -0,0 +1,59 @@ +--- +title: "Community Contracts Token Import" +description: "token import" +--- +## `:sc:g:status:communty-contracts-token-import` +--- + +```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: 16% +- CC: Andrea + +**This milestone is updated on weekly basis. For a more up-to-date status head over to the [milestone on GitHub](https://github.com/status-im/communities-contracts/milestone/1). + +### Description + +This milestone is part of the effort to create "Community Vaults". +Community Vaults allow Status users to create communities that maintain their own token balances and later on allow for airdropping their tokens to other Status users or retail them. + +This milestone focusses on the "token import". +The naming is a bit misleading, but the basic idea is that users: + +- create Status communities and deploy a "vault" contract +- the vault contract acts as a wallet for the community +- any user can send ERC20 and ERC721 tokens to the vault + +### Justification + + +### Deliverables + +- `CommunityVault` smart contract implementation +- Migration/upgrade strategy for vaults +- Ability for users to deposit/import tokens to vault +- Tests +- Documentation +- Formal verification + + + diff --git a/content/sc/g/status/community-contracts-vault-token-airdrop.md b/content/sc/g/status/community-contracts-vault-token-airdrop.md new file mode 100644 index 000000000..7d64c042e --- /dev/null +++ b/content/sc/g/status/community-contracts-vault-token-airdrop.md @@ -0,0 +1,53 @@ +--- +title: "Community Vaults - Token Airdrop" +description: "Community Vaults - Token Aidrop" +--- +## `:sc:g:status:community-contracts-vault-token-airdrop` +--- + +```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: Andrea + +**This milestone is updated on weekly basis. For a more up-to-date status head over to the [milestone on GitHub](https://github.com/status-im/communities-contracts/milestone/2). + +### Description + +This milestone focuses on the airdrop functionality of community vaults. +The general idea is that community owners and token masters can airdrop tokens that live in the community vault to other accounts and community members. + +Part of this milestone is to figure out which airdrop strategy makes most sense and then implementing it. + +### Justification + + +### Deliverables + +* Airdrop functionality in existing vault contracts +* Documentation +* Tests +* Formal verification + + + + diff --git a/content/sc/g/status/ens-usernames-maintenance.md b/content/sc/g/status/ens-usernames-maintenance.md new file mode 100644 index 000000000..f81ab4a7d --- /dev/null +++ b/content/sc/g/status/ens-usernames-maintenance.md @@ -0,0 +1,38 @@ +--- +title: "ENS Usernames contracts maintenance" +--- +## `vac:sc::status:ens-usernames-maintenance` +--- + +```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 + Contracts Formal Verification: 2024-06-01, 2024-12-31 +``` + +- status: 0% +- CC: Ricardo, r4bbit + +### Description + +Maintaining and deploying the [ens-usernames smart contracts](https://github.com/status-im/ens-usernames), as well as ensuring their code is up to date. + +### Justification +### Deliverables + + diff --git a/content/sc/g/status/governance-contract-mvp.md b/content/sc/g/status/governance-contract-mvp.md new file mode 100644 index 000000000..1c6b23eba --- /dev/null +++ b/content/sc/g/status/governance-contract-mvp.md @@ -0,0 +1,43 @@ +--- +title: "Governance Contract MVP" +--- +## `vac:sc::status:governance-contract-mvp` +--- + +```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 + Governance Contract MVP: 2023-08-01, 2023-09-30 +``` + +- status: 20% +- CC: Ricardo + +### Description + +* voting within communities +* replace the current community-dapp voting contracts https://github.com/status-im/community-dapp/tree/master/packages/contracts/contracts +* testing is out of scope for that milestone + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/status/minime-token-enhancement.md b/content/sc/g/status/minime-token-enhancement.md new file mode 100644 index 000000000..c50d6aa55 --- /dev/null +++ b/content/sc/g/status/minime-token-enhancement.md @@ -0,0 +1,43 @@ +--- +title: "MiniMe Token Enhancements" +description: "Enhancements of the MiniMe Token after Optimism Deployment" +--- +## `vac:sc::status:minime-token-enhancement` +--- + +```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 + SNT Optimism Bridge: +``` + +- status: 100% +- CC: Ricardo + +### Description + +This is future work. Not pressing atm. + +* https://github.com/vacp2p/minime/issues/6 + - low hanging fruit regarding gas savings + - will setup a follow up milestone for further improvements + +### Justification + +### Deliverables + diff --git a/content/sc/g/status/minime-token-maintenance.md b/content/sc/g/status/minime-token-maintenance.md new file mode 100644 index 000000000..cac9490e9 --- /dev/null +++ b/content/sc/g/status/minime-token-maintenance.md @@ -0,0 +1,20 @@ +--- +title: "MiniMe Token Maintenance" +description: "Maintenance of the MiniMe Token" +--- +## `vac:sc::status:minime-token-maintenance` +--- + +- status: ongoing +- CC: Ricardo + +### Description + + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/status/snt-optimism-bridge.md b/content/sc/g/status/snt-optimism-bridge.md new file mode 100644 index 000000000..fb368509e --- /dev/null +++ b/content/sc/g/status/snt-optimism-bridge.md @@ -0,0 +1,67 @@ +--- +title: "SNT Optimism Bridge" +description: "Finalizig work necessary to bridge SNT to Optimism" +--- +## `vac:sc::status:snt-optimism-bridge` +--- + +```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 + SNT Optimism Bridge: 2023-09-01, 2023-09-30 +``` + +- status: 100% +- CC: Ricardo + +### Description + +This milestone comprises issues that have to be completed to bridge SNT to Optimism. +These issues are part of enhancing the MimiMe token. + +* https://github.com/vacp2p/minime/issues/19 +* https://github.com/vacp2p/minime/issues/17 +* https://github.com/vacp2p/minime/issues/7 +* https://github.com/vacp2p/minime/issues/5 +* https://github.com/vacp2p/minime/issues/31 + +Following enhancments to the MimiMe token (future work) are tracked in: +[[ vac/sc/g/status/mimime-token-enhancement | mimime-token-enhancement ]] + +This milestone also contains: +* a listing of issues identified in the 1st Certora audit, which we addressed +* a listing of issues that are now out of scope because we forked the MimiMe repo, and removed parts we do not need +* Certora checking + +#### Info + +This milestone comprises what the SC has to deliver towards the completion of Status No1 prio: + +`the SNT contract for deployment on Optimism is top priority` + +Note: This milestone includes deployment on Goerli and "manual" testing. +Integration tests for this milestone is out of scope for this milestone. +If integration tests are desired, we would track and address this in a future milestone. + +### Justification + + +### Deliverables + + + diff --git a/content/sc/g/status/staking-contract-maintenance.md b/content/sc/g/status/staking-contract-maintenance.md new file mode 100644 index 000000000..394b85791 --- /dev/null +++ b/content/sc/g/status/staking-contract-maintenance.md @@ -0,0 +1,31 @@ +--- +title: "Status Staking Contract Maintenance Details" +--- + +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + dateFormat YYYY-MM-DD + section Status + Staking contract maintenance :, 2023-01-20, 2023-08-31 +``` +- due date: 2023/08/31 +- status: 100% + +### Description +Status staking contract MVP maintenance + +### Deliverable +TBD \ No newline at end of file diff --git a/content/sc/g/status/staking-contract-mvp.md b/content/sc/g/status/staking-contract-mvp.md new file mode 100644 index 000000000..5a210351d --- /dev/null +++ b/content/sc/g/status/staking-contract-mvp.md @@ -0,0 +1,33 @@ +--- +title: Status Staking Contract MVP +--- +## `vac:sc::status:staking-contract-mvp` +--- + +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + dateFormat YYYY-MM-DD + section Status + Staking Contract :, 2023-01-20, 2023-08-31 +``` +- due date: +- status: 100% + +### Description +MVP for the Status staking contract + +### Deliverable +TBD diff --git a/content/sc/g/status/staking-contract-v1.md b/content/sc/g/status/staking-contract-v1.md new file mode 100644 index 000000000..d47084786 --- /dev/null +++ b/content/sc/g/status/staking-contract-v1.md @@ -0,0 +1,36 @@ +--- +title: "Status Staking Contract V1" +--- +## `vac:sc::status:staking-contract-v1` + + +- status: 52% +- CC: Ricardo + +### Description + +**This milestone is updated on weekly basis. For a more up-to-date status head over to the [milestone on GitHub](https://github.com/logos-co/staking/milestone/1). + +This milestone focusses on the core functionality of the staking protocol. +Meaning, any protocol characteristics and features that are needed for the protocol to function need to be properly implemented and tested. + +This includes: + +- Staking SNT and generating multiplier points +- Collecting and claiming rewards +- Unstaking funds +- Migration / upgrade to newer stake vaults + +The milestone is considered done when the above is implemented, tested, documented and formally verified. + +### Justification + + +### Deliverables + +- Smart contracts implementation +- Migration strategy of vaults and stake managers +- Tests +- Documentation +- Formal verification + diff --git a/content/sc/g/status/swap-aggregator.md b/content/sc/g/status/swap-aggregator.md new file mode 100644 index 000000000..c0573f812 --- /dev/null +++ b/content/sc/g/status/swap-aggregator.md @@ -0,0 +1,24 @@ +--- +title: "Status Swap Aggregator" +--- +## `vac:sc::status:swap-aggregator` + + +- status: 0% +- CC: TBD + +### Description + +The exact details of this milestone are yet to be discussed. However, the general idea is to research if we could build a swap aggregator similar to MetaMask Swap and Rainbow Swap for Status. + +Research has to be done in what existing system exist, how they work and how they capture revenue. Ideally we find a model that works for Status as well. + +### Justification + +Both, MetaMask and Rainbow Wallet are making most of their revenue with their Swap protocols. With enough users, a small percentage of every trade could accumulate a significant amount of reoccuring revenue. + +### Deliverables + +TBD + + diff --git a/content/sc/g/vac/rln-contract-support.md b/content/sc/g/vac/rln-contract-support.md new file mode 100644 index 000000000..45edb2d57 --- /dev/null +++ b/content/sc/g/vac/rln-contract-support.md @@ -0,0 +1,27 @@ +--- +title: Vac RLN Contract Support Details +--- +```mermaid +%%{ + init: { + 'theme': 'base', + 'themeVariables': { + 'primaryColor': '#BB2528', + 'primaryTextColor': '#fff', + 'primaryBorderColor': '#7C0000', + 'lineColor': '#F8B229', + 'secondaryColor': '#006100', + 'tertiaryColor': '#fff' + } + } +}%% +gantt + dateFormat YYYY-MM-DD + section Vac + RLN Contract Support :, 2023-01-20, 2023-09-15 +``` +- due date: 2023/09/15 +- status: 10% + +### Description +Kick-off task for the Vac SC Unit diff --git a/content/sc/g/vac/secureum-upskilling.md b/content/sc/g/vac/secureum-upskilling.md new file mode 100644 index 000000000..c56b1f4e4 --- /dev/null +++ b/content/sc/g/vac/secureum-upskilling.md @@ -0,0 +1,40 @@ +--- +title: "Secureum Upskilling" +--- +## `vac:sc::vac:secureum-upskilling` +--- + +```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 + Secureum Upskilling: 2023-08-15, 2023-10-15 +``` + +- status: 100% +- CC: team + +### Description + + +### Justification + + +### Deliverables + + + diff --git a/content/sc/index.md b/content/sc/index.md new file mode 100644 index 000000000..56389f1c0 --- /dev/null +++ b/content/sc/index.md @@ -0,0 +1,41 @@ +--- +title: Smart Contracts Service Unit +tags: +- sc +- vac +date: 2023-08-25 +lastmod: 2023-09-21 +--- + +## `vac:sc::` +--- + +### `status:` +* [x] [[ vac/sc/g/status/community-contracts-ERC721 | community-contracts-ERC721 ]] +* [x] [[ vac/sc/g/status/community-contracts-ERC20 | community-contracts-ERC20 ]] +* [x] [[ vac/sc/g/status/community-contracts-deployer | community-contracts-deployer ]] +* [[ vac/sc/g/status/community-contracts-token-import | community-contracts-token-import ]] +* [[ vac/sc/g/status/community-contracts-maintenance | community-contracts-maintenance ]] +* [x] [[ vac/sc/g/status/community-contracts-curation-dapp-contracts | community-contracts-curation-dapp-contracts ]] +* [[ vac/sc/g/status/community-contracts-vault-token-airdrop | community-contracts-vault-token-airdrop ]] +* [x] [[ vac/sc/g/status/community-contracts-batch-tx-ext | community-contracts-batch-tx-ext ]] +* [x] [[ vac/sc/g/status/snt-optimism-bridge | SNT-optimism-bridge ]] +* [x] [[ vac/sc/g/status/minime-token-enhancement | minime-token-enhancement ]] +* [[ vac/sc/g/status/minime-token-maintenance | minime-token-maintenance ]] +* [[ vac/sc/g/status/governance-contract-mvp | governance-contract-mvp ]] +* [x] [[ vac/sc/g/status/staking-contract-mvp | staking-contract-mvp ]] +* [[ vac/sc/g/status/staking-contract-v1 | staking-contract-v1 ]] +* [[ vac/sc/g/status/staking-contract-maintenance | staking-contract-maintenance ]] +* [[ vac/sc/g/status/swap-aggregator | swap-aggregator ]] +* [[ vac/sc/g/status/ens-usernames-maintenance | ens-usernames-maintenance ]] + +### `codex:` +* [x] [[ vac/sc/g/codex/review-codex-contracts | review-codex-contracts ]] +* [[ vac/sc/g/codex/contracts-formal-verification | contracts-formal-verification ]] + +### `vac:` +* [x] [[ vac/sc/g/vac/secureum-upskilling | secureum-upskilling ]] +* [[ vac/sc/g/vac/rln-contract-support | rln-contract-support ]] + +### `finance:` +* [[ vac/sc/g/finance/access-control-safe-support | access-control-safe-support ]] diff --git a/content/templates/commitment-template.md b/content/templates/commitment-template.md new file mode 100644 index 000000000..7eac531a5 --- /dev/null +++ b/content/templates/commitment-template.md @@ -0,0 +1,36 @@ +--- +title: +tags: + - "" + - "" + - "" +draft: false +description: +--- + +<`fully qualified commitment name`> + +## Description + +(explain alignment with narratives) + +## Task List + +### + +* fully qualified name: <> +* owner: +* status: +* start-date: +* end-date: + +#### Description + +Either an expressive description or a link to a github issue with an expressive description. + +#### Deliverables + +List (can consist of a single Deliverable) of planned Deliverables and links to completed Deliverables. + + + diff --git a/content/tke/index.md b/content/tke/index.md new file mode 100644 index 000000000..1b518fb8e --- /dev/null +++ b/content/tke/index.md @@ -0,0 +1,25 @@ +--- +title: Token Engineering Service Unit +tags: +- p2p +- vac +--- + +## `vac:tke:` +--- + + +### `status:` +* [[tke/status/snt-litepaper|snt-lightpaper]] + +### `codex:` +* [[tke/codex/economic-analysis|economic-analysis]] + +### `nomos:` + + +### `waku:` + + +### `finance:` + diff --git a/content/updates/2023-07-10.md b/content/updates/2023-07-10.md new file mode 100644 index 000000000..549d77ac1 --- /dev/null +++ b/content/updates/2023-07-10.md @@ -0,0 +1,35 @@ +--- +title: "2023-07-10 Vac Weekly" +tags: +- "vac-updates" +date: 2023-07-10 +lastmod: 2023-07-16 +--- +- *vc::Deep Research* + - refined deep research roadmaps https://github.com/vacp2p/research/issues/190, https://github.com/vacp2p/research/issues/192 + - working on comprehensive current/related work study on Validator Privacy + - working on PoC of Tor push in Nimbus + - working towards comprehensive current/related work study on gossipsub scaling +- *vsu::P2P* + - Prepared Paris talks + - Implemented perf protocol to compare the performances with other libp2ps https://github.com/status-im/nim-libp2p/pull/925 +- *vsu::Tokenomics* + - Fixing bugs on the SNT staking contract; + - Definition of the first formal verification tests for the SNT staking contract; + - Slides for the Paris off-site +- *vsu::Distributed Systems Testing* + - Replicated message rate issue (still on it) + - First mockup of offline data + - Nomos consensus test working +- *vip::zkVM* + - hiring + - onboarding new researcher + - presentation on ECC during Logos Research Call (incl. preparation) + - more research on nova, considering additional options + - Identified 3 research questions to be taken into consideration for the ZKVM and the publication + - Researched Poseidon implementation for Nova, Nova-Scotia, Circom +- *vip::RLNP2P* + - finished rln contract for waku product - https://github.com/waku-org/rln-contract + - fixed homebrew issue that prevented zerokit from building - https://github.com/vacp2p/zerokit/commit/8a365f0c9e5c4a744f70c5dd4904ce8d8f926c34 + - rln-relay: verify proofs based upon bandwidth usage - https://github.com/waku-org/nwaku/commit/3fe4522a7e9e48a3196c10973975d924269d872a + - RLN contract audit cont' https://hackmd.io/@blockdev/B195lgIth diff --git a/content/updates/2023-07-17.md b/content/updates/2023-07-17.md new file mode 100644 index 000000000..429b82aa5 --- /dev/null +++ b/content/updates/2023-07-17.md @@ -0,0 +1,71 @@ +--- +title: "2023-07-17 Vac weekly" +tags: + - "vac-updates" +date: 2023-07-17 +lastmod: 2023-08-03 +draft: false +--- + +**Last week** +- *vc* + - Vac day in Paris (13th) +- *vc::Deep Research* + - working on comprehensive current/related work study on Validator Privacy + - working on PoC of Tor push in Nimbus: setting up goerli nim-eth2 node + - working towards comprehensive current/related work study on gossipsub scaling +- *vsu::P2P* + - Paris offsite Paris (all CCs) +- *vsu::Tokenomics* + - Bugs found and solved in the SNT staking contract + - attend events in Paris +- *vsu::Distributed Systems Testing* + - Events in Paris + - QoS on all four infras + - Continue work on theoretical gossipsub analysis (varying regular graph sizes) + - Peer extraction using WLS (almost finished) + - Discv5 testing + - Wakurtosis CI improvements + - Provide offline data +- *vip::zkVM* + - onboarding new researcher + - Prepared and presented ZKVM work during VAC offsite + - Deep research on Nova vs Stark in terms of performance and related open questions + - researching Sangria + - Worked on NEscience document (https://www.notion.so/Nescience-WIP-0645c738eb7a40869d5650ae1d5a4f4e) + - zerokit: + - worked on PR for arc-circom +- *vip::RLNP2P* + - offsite Paris + +**This week** +- *vc* +- *vc::Deep Research* + - working on comprehensive current/related work study on Validator Privacy + - working on PoC of Tor push in Nimbus + - working towards comprehensive current/related work study on gossipsub scaling +- *vsu::P2P* + - EthCC & Logos event Paris (all CCs) +- *vsu::Tokenomics* + - Attend EthCC and side events in Paris + - Integrate staking contracts with radCAD model + - Work on a new approach for Codex collateral problem +- *vsu::Distributed Systems Testing* + - Events in Paris + - Finish peer extraction, plot the peer connections; script/runs for the analysis, and add data to the Tech Report + - Restructure the Analysis script and start modelling Status control messages + - Split Wakurtosis analysis module into separate repository (delayed) + - Deliver simulation results (incl fixing discv5 error with new Kurtosis version) + - Second iteration Nomos CI +- *vip::zkVM* + - Continue researching on Nova open questions and Sangria + - Draft the benchmark document (by the end of the week) + - research hardware for benchmarks + - research Halo2 cont' + - zerokit: + - merge a PR for deployment of arc-circom + - deal with arc-circom master fail +- *vip::RLNP2P* + - offsite paris +- *blockers* + - *vip::zkVM:zerokit*: ark-circom deployment to crates io; contact to ark-circom team \ No newline at end of file diff --git a/content/updates/2023-07-24.md b/content/updates/2023-07-24.md new file mode 100644 index 000000000..25def57f1 --- /dev/null +++ b/content/updates/2023-07-24.md @@ -0,0 +1,112 @@ +--- +title: "2023-08-03 Vac weekly" +tags: + - "vac-updates" +date: 2023-08-03 +lastmod: 2023-08-03 +draft: false +--- + +NOTE: This is a first experimental version moving towards the new reporting structure: + +**Last week** +- *vc* +- *vc::Deep Research* + - milestone (15%, 2023/11/30) paper on gossipsub improvements ready for submission + - related work section + - milestone (15%, 2023/08/31) Nimbus Tor-push PoC + - basic torpush encode/decode ( https://github.com/vacp2p/nim-libp2p-experimental/pull/1 ) + - milestone (15%, 2023/11/30) paper on Tor push validator privacy + - (focus on Tor-push PoC) +- *vsu::P2P* + - admin/misc + - EthCC (all CCs) +- *vsu::Tokenomics* + - admin/misc + - Attended EthCC and side events in Paris + - milestone (30%, 2023/09/30) Codex economic analysis, Codex token utility, Codex collateral management + - Kicked off a new approach for Codex collateral problem + - milestone (50%, 2023/08/30) SNT staking smart contract + - Integrated SNT staking contracts with Python + - milestone (50%, 2023/07/14) SNT litepaper + - (delayed) + - milestone(30%, 2023/09/29) Nomos Token: requirements and constraints +- *vsu::Distributed Systems Testing* + - milestone (95%, 2023/07/31) Wakurtosis Waku Report + - Add timout to injection async call in WLS to avoid further issues (PR #139 https://github.com/vacp2p/wakurtosis/pull/139) + - Plotting & analyse 100 msg/s off line Prometehus data + - milestone (90%, 2023/07/31) Nomos CI testing + - fixed errors in Nomos consensus simulation + - milestone (30%, ...) gossipsub model analysis + - add config options to script, allowing to load configs that can be directly compared to Wakurtosis results + - added support for small world networks + - admin/misc + - Interviews & reports for SE and STA positions + - EthCC (1 CC) +- *vip::zkVM* + - milestone(50%, 2023/08/31) background/research on existing proof systems (nova, sangria...) + - (write ups will be available here: https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451) + - Solved the open questions on Nova adn completed the document (will update the page) + - Reviewed Nescience and working on a document + - Reviewed partly the write up on FHE + - writeup for Nova and Sangria; research on super nova + - reading a new paper revisiting Nova (https://eprint.iacr.org/2023/969) + - milestone (50%, 2023/08/31) new fair benchmarks + recursive implementations + - zkvm + - Researching Nova to understand the folding technique for ZKVM adaptation + - zerokit + - Rostyslav became circom-compat maintainer +- *vip::RLNP2P* + - milestone (100%, 2023/07/31) rln-relay testnet 3 completed and retro + - completed + - milestone (95%, 2023/07/31) RLN-Relay Waku production readiness + - admin/misc + - EthCC + offsite + +**This week** +- *vc* +- *vc::Deep Research* + - milestone (15%, 2023/11/30) paper on gossipsub improvements ready for submission + - working on contributions section, based on https://hackmd.io/X1DoBHtYTtuGqYg0qK4zJw + - milestone (15%, 2023/08/31) Nimbus Tor-push PoC + - working on establishing a connection via nim-libp2p tor-transport + - setting up goerli test node (cont') + - milestone (15%, 2023/11/30) paper on Tor push validator privacy + - continue working on paper +- *vsu::P2P* + - milestone (...) + - Implement ChokeMessage for GossipSub + - Continue "limited flood publishing" (https://github.com/status-im/nim-libp2p/pull/911) +- *vsu::Tokenomics* + - admin/misc: + - (3 CC days off) + - Catch up with EthCC talks that we couldn't attend (schedule conflicts) + - milestone (50%, 2023/07/14) SNT litepaper + - Start building the SNT agent-based simulation +- *vsu::Distributed Systems Testing* + - milestone (100%, 2023/07/31) Wakurtosis Waku Report + - finalize simulations + - finalize report + - milestone (100%, 2023/07/31) Nomos CI testing + - finalize milestone + - milestone (30%, ...) gossipsub model analysis + - Incorporate Status control messages + - admin/misc + - Interviews & reports for SE and STA positions + - EthCC (1 CC) +- *vip::zkVM* + - milestone(50%, 2023/08/31) background/research on existing proof systems (nova, sangria...) + - Refine the Nescience WIP and FHE documents + - research HyperNova + - milestone (50%, 2023/08/31) new fair benchmarks + recursive implementations + - Continue exploring Nova and other ZKPs and start technical writing on Nova benchmarks + - zkvm + - zerokit + - circom: reach an agreement with other maintainers on master branch situation +- *vip::RLNP2P* + - maintenance + - investigate why docker builds of nwaku are failing [zerokit dependency related] + - documentation on how to use rln for projects interested (https://discord.com/channels/864066763682218004/1131734908474236968/1131735766163267695)(https://ci.infra.status.im/job/nim-waku/job/manual/45/console) + - milestone (95%, 2023/07/31) RLN-Relay Waku production readiness + - revert rln bandwidth reduction based on offsite discussion, move to different validator +- *blockers* \ No newline at end of file diff --git a/content/updates/2023-07-31.md b/content/updates/2023-07-31.md new file mode 100644 index 000000000..f7fc3e9ec --- /dev/null +++ b/content/updates/2023-07-31.md @@ -0,0 +1,60 @@ +--- +title: "2023-07-31 Vac weekly" +tags: + - "vac-updates" +date: 2023-07-31 +lastmod: 2023-08-03 +draft: false +--- + +- *vc::Deep Research* + - milestone (20%, 2023/11/30) paper on gossipsub improvements ready for submission + - proposed solution section + - milestone (15%, 2023/08/31) Nimbus Tor-push PoC + - establishing torswitch and testing code + - milestone (15%, 2023/11/30) paper on Tor push validator privacy + - addressed feedback on current version of paper +- *vsu::P2P* + - nim-libp2p: (100%, 2023/07/31) GossipSub optimizations for ETH's EIP-4844 + - Merged IDontWant (https://github.com/status-im/nim-libp2p/pull/934) & Limit flood publishing (https://github.com/status-im/nim-libp2p/pull/911) 𝕏 + - This wraps up the "mandatory" optimizations for 4844. We will continue working on stagger sending and other optimizations + - nim-libp2p: (70%, 2023/07/31) WebRTC transport +- *vsu::Tokenomics* + - admin/misc + - 2 CCs off for the week + - milestone (30%, 2023/09/30) Codex economic analysis, Codex token utility, Codex collateral management + - milestone (50%, 2023/08/30) SNT staking smart contract + - milestone (50%, 2023/07/14) SNT litepaper + - milestone (30%, 2023/09/29) Nomos Token: requirements and constraints +- *vsu::Distributed Systems Testing* + - admin/misc + - Analysis module extracted from wakurtosis repo (https://github.com/vacp2p/wakurtosis/pull/142, https://github.com/vacp2p/DST-Analysis) + - hiring + - milestone (99%, 2023/07/31) Wakurtosis Waku Report + - Re-run simulations + - merge Discv5 PR (https://github.com/vacp2p/wakurtosis/pull/129). + - finalize Wakurtosis Tech Report v2 + - milestone (100%, 2023/07/31) Nomos CI testing + - delivered first version of Nomos CI integration (https://github.com/vacp2p/wakurtosis/pull/141) + - milestone (30%, 2023/08/31 gossipsub model: Status control messages + - Waku model is updated to model topics/content-topics +- *vip::zkVM* + - milestone(50%, 2023/08/31) background/research on existing proof systems (nova, sangria...) + - achievment :: nova questions answered (see document in Project: https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451) + - Nescience WIP done (to be delivered next week, priority) + - FHE review (lower prio) + - milestone (50%, 2023/08/31) new fair benchmarks + recursive implementations + - Working on discoveries about other benchmarks done on plonky2, starky, and halo2 + - zkvm + - zerokit + - fixed ark-circom master + - achievment :: publish ark-circom https://crates.io/crates/ark-circom + - achievment :: publish zerokit_utils https://crates.io/crates/zerokit_utils + - achievment :: publish rln https://crates.io/crates/rln (𝕏 jointly with RLNP2P) +- *vip::RLNP2P* + - milestone (100%, 2023/07/31) RLN-Relay Waku production readiness + - Updated rln-contract to be more modular - and downstreamed to waku fork of rln-contract - https://github.com/vacp2p/rln-contract and http://github.com/waku-org/waku-rln-contract + - Deployed to sepolia + - Fixed rln enabled docker image building in nwaku - https://github.com/waku-org/nwaku/pull/1853 + - zerokit: + - achievement :: zerokit v0.3.0 release done - https://github.com/vacp2p/zerokit/releases/tag/v0.3.0 (𝕏 jointly with zkVM) diff --git a/content/updates/2023-08-07.md b/content/updates/2023-08-07.md new file mode 100644 index 000000000..46a50604f --- /dev/null +++ b/content/updates/2023-08-07.md @@ -0,0 +1,71 @@ +--- +title: "2023-08-07 Vac weekly" +tags: + - "vac-updates" +date: 2023-08-07 +lastmod: 2023-08-07 +draft: false +--- + + +More info on Vac Milestones, including due date and progress (currently working on this, some milestones do not have the new format yet, first version planned for this week): +https://www.notion.so/Vac-Roadmap-907df7eeac464143b00c6f49a20bb632 + +**Vac week 32** August 7th +- *vsu::P2P* + - `vac:p2p:nim-libp2p:vac:maintenance` + - Improve gossipsub DDoS resistance https://github.com/status-im/nim-libp2p/pull/920 + - `vac:p2p:nim-chronos:vac:maintenance` + - Remove hard-coded ports from test https://github.com/status-im/nim-chronos/pull/429 + - Investigate flaky test using REUSE_PORT +- *vsu::Tokenomics* + - (...) +- *vsu::Distributed Systems Testing* + - `vac:dst:wakurtosis:waku:techreport` + - delivered: Wakurtosis Tech Report v2 (https://docs.google.com/document/d/1U3bzlbk_Z3ZxN9tPAnORfYdPRWyskMuShXbdxCj4xOM/edit?usp=sharing) + - `vac:dst:wakurtosis:vac:rlog` + - working on research log post on Waku Wakurtosis simulations + - `vac:dst:gsub-model:status:control-messages` + - delivered: the analytical model can now handle Status messages; status analysis now has a separate cli and config; handles top 5 message types (by expected bandwidth consumption) + - `vac:dst:gsub-model:vac:refactoring` + - Refactoring and bug fixes + - introduced and tested 2 new analytical models + - `vac:dst:wakurtosis:waku:topology-analysis` + - delivered: extracted into separate module, independent of wls message + - `vac:dst:wakurtosis:nomos:ci-integration_02` + - planning + - `vac:dst:10ksim:vac:10ksim-bandwidth-test` + - planning; check usage of new codex simulator tool (https://github.com/codex-storage/cs-codex-dist-tests) +- *vip::zkVM* + - `vac:zkvm::vac:research-existing-proof-systems` + - 90% Nescience WIP done – to be reviewed carefully since no other follow up documents were giiven to me + - 50% FHE review - needs to be refined and summarized + - finished SuperNova writeup ( https://www.notion.so/SuperNova-research-document-8deab397f8fe413fa3a1ef3aa5669f37 ) + - researched starky + - 80% Halo2 notes ( https://www.notion.so/halo2-fb8d7d0b857f43af9eb9f01c44e76fb9 ) + - `vac:zkvm::vac:proof-system-benchmarks` + - More discoveries on benchmarks done on ZK-snarks and ZK-starks but all are high level + - Viewed some circuits on Nova and Poseidon + - Read through Halo2 code (and Poseidon code) from Axiom +- *vip::RLNP2P* + - `vac:acz:rlnp2p:waku:production-readiness` + - 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 + - `vac:acz:zerokit:vac:maintenance` + - Fixed atomic_operation ffi edge case error - https://github.com/vacp2p/zerokit/pull/195 + - docs cleanup - https://github.com/vacp2p/zerokit/pull/196 + - fixed version tags - https://github.com/vacp2p/zerokit/pull/194 + - released zerokit v0.3.1 - https://github.com/vacp2p/zerokit/pull/198 + - marked all functions as virtual in rln-contract for inheritors - https://github.com/vacp2p/rln-contract/commit/a092b934a6293203abbd4b9e3412db23ff59877e + - make nwaku use zerokit v0.3.1 - https://github.com/waku-org/nwaku/pull/1886 + - rlnp2p implementers draft - https://hackmd.io/@rymnc/rln-impl-w-waku + - `vac:acz:zerokit:vac:zerokit-v0.4` + - zerokit v0.4.0 release planning - https://github.com/vacp2p/zerokit/issues/197 +- *vc::Deep Research* + - `vac:dr:valpriv:vac:tor-push-poc` + - redesigned the torpush integration in nimbus https://github.com/vacp2p/nimbus-eth2-experimental/pull/2 + - `vac:dr:valpriv:vac:tor-push-relwork` + - Addressed further comments in paper, improved intro, added source level variation approach + - `vac:dr:gsub-scaling:vac:gossipsub-improvements-tech-report` + - cont' work on the document \ No newline at end of file diff --git a/content/updates/2023-08-14.md b/content/updates/2023-08-14.md new file mode 100644 index 000000000..2817d56e6 --- /dev/null +++ b/content/updates/2023-08-14.md @@ -0,0 +1,97 @@ +--- +title: "2023-08-17 Vac weekly" +tags: + - "vac-updates" +date: 2023-08-14 +lastmod: 2023-08-17 +draft: false +--- + + +Vac Milestones: https://www.notion.so/Vac-Roadmap-907df7eeac464143b00c6f49a20bb632 + +# Vac week 33 August 14th + +--- +## *vsu::P2P* +### `vac:p2p:nim-libp2p:vac:maintenance` +- Improve gossipsub DDoS resistance https://github.com/status-im/nim-libp2p/pull/920 +- delivered: Perf protocol https://github.com/status-im/nim-libp2p/pull/925 +- delivered: Test-plans for the perf protocol https://github.com/lchenut/test-plans/tree/perf-nim +- Bandwidth estimate as a parameter (waiting for final review) https://github.com/status-im/nim-libp2p/pull/941 +### `vac:p2p:nim-chronos:vac:maintenance` +- delivered: Remove hard-coded ports from test https://github.com/status-im/nim-chronos/pull/429 +- delivered: fixed flaky test using REUSE_PORT https://github.com/status-im/nim-chronos/pull/438 + +--- +## *vsu::Tokenomics* + - admin/misc: + - (5 CC days off) +### `vac:tke::codex:economic-analysis` +- Filecoin economic structure and Codex token requirements +### `vac:tke::status:SNT-staking` +- tests with the contracts +### `vac:tke::nomos:economic-analysis` +- resume discussions with Nomos team + +--- +## *vsu::Distributed Systems Testing (DST)* +### `vac:dst:wakurtosis:waku:techreport` +- 1st Draft of Wakurtosis Research Blog (https://github.com/vacp2p/vac.dev/pull/123) +- Data Process / Analysis of Non-Discv5 K13 Simulations (Wakurtosis Tech Report v2.5) +### `vac:dst:shadow:vac:basic-shadow-simulation` +- Basic Shadow Simulation of a gossipsub node (Setup, 5nodes) +### `vac:dst:10ksim:vac:10ksim-bandwidth-test` +- Try and plan on how to refactor/generalize testing tool from Codex. +- Learn more about Kubernetes +### `vac:dst:wakurtosis:nomos:ci-integration_02` +- Enable subnetworks +- Plan how to use wakurtosis with fixed version +### `vac:dst:eng:vac:bundle-simulation-data` +- Run requested simulations + +--- +## *vsu:Smart Contracts (SC)* +### `vac:sc::vac:secureum-upskilling` + - Learned about + - cold vs warm storage reads and their gas implications + - UTXO vs account models + - `DELEGATECALL` vs `CALLCODE` opcodes, `CREATE` vs `CREATE2` opcodes; Yul Assembly + - Unstructured proxies https://eips.ethereum.org/EIPS/eip-1967 + - C3 Linearization https://forum.openzeppelin.com/t/solidity-diamond-inheritance/2694) (Diamond inheritance and resolution) + - Uniswap deep dive + - Finished Secureum slot 2 and 3 +### `vac:sc::vac:maintainance/misc` + - Introduced Vac's own `foundry-template` for smart contract projects + - Goal is to have the same project structure across projects + - Github repository: https://github.com/vacp2p/foundry-template + +--- +## *vsu:Applied Cryptogarphy & ZK (ACZ)* + - `vac:acz:zerokit:vac:maintenance` + - PR reviews https://github.com/vacp2p/zerokit/pull/200, https://github.com/vacp2p/zerokit/pull/201 + +--- +## *vip::zkVM* +### `vac:zkvm::vac:research-existing-proof-systems` +- delivered Nescience WIP doc +- delivered FHE review +- delivered Nova vs Sangria done - Some discussions during the meeting +- started HyperNova writeup +- started writing a trimmed version of FHE writeup +- researched CCS (for HyperNova) +- Research Protogalaxy https://eprint.iacr.org/2023/1106 and Protostar https://eprint.iacr.org/2023/620. +### `vac:zkvm::vac:proof-system-benchmarks` +- More work on benchmarks is ongoing +- Putting down a document that explains the differences + +--- +## *vc::Deep Research* +### `vac:dr:valpriv:vac:tor-push-poc` +- revised the code for PR +### `vac:dr:valpriv:vac:tor-push-relwork` +- added section for mixnet, non-Tor/non-onion routing-based anonymity network +### `vac:dr:gsub-scaling:vac:gossipsub-simulation` +- Used shadow simulator to run first GossibSub simulation +### `vac:dr:gsub-scaling:vac:gossipsub-improvements-tech-report` +- Finalized 1st draft of the GossipSub scaling article \ No newline at end of file diff --git a/content/updates/2023-08-21.md b/content/updates/2023-08-21.md new file mode 100644 index 000000000..2fdd72661 --- /dev/null +++ b/content/updates/2023-08-21.md @@ -0,0 +1,106 @@ +--- +title: "2023-08-21 Vac weekly" +tags: + - "vac-updates" +date: 2023-08-21 +lastmod: 2023-08-21 +draft: false +--- + + +Vac Milestones: https://www.notion.so/Vac-Roadmap-907df7eeac464143b00c6f49a20bb632 +Vac Github Repos: https://www.notion.so/Vac-Repositories-75f7feb3861048f897f0fe95ead08b06 + +# **Vac week 34** August 21th +## *vsu::P2P* + - `vac:p2p:nim-libp2p:vac:maintenance` + - Test-plans for the perf protocol (99%: need to find why the executable doesn't work) https://github.com/libp2p/test-plans/pull/262 + - WebRTC: Merge all protocols (60%: slowed down by some complications and bad planning with Mbed-TLS) https://github.com/status-im/nim-webrtc/pull/3 + - WebRTC: DataChannel (25%) +## *vsu::Tokenomics* + - admin/misc: + - (3 CC days off) + - `vac:tke::codex:economic-analysis` + - Call w/ Codex on token incentives, business analysis of Filecoin + - `vac:tke::status:SNT-staking` + - Bug fixes for tests for the contracts + - `vac:tke::nomos:economic-analysis` + - Narrowed focus to: 1) quantifying bribery attacks, 2) assessing how to min risks and max privacy of delegated staking + - `vac:tke::waku:economic-analysis` + - Caught up w/ Waku team on RLN, adopting a proactive effort to pitch them solutions +## *vsu::Distributed Systems Testing (DST)* + - `vac:dst:wakurtosis:vac:rlog` + - Pushed second draft and figures (https://github.com/vacp2p/vac.dev/tree/DST-Wakurtosis) + - `vac:dst:shadow:vac:basic-shadow-simulation` + - Run 10K simulation of basic gossipsub node + - `vac:dst:gsub-model:status:control-messages` + - Got access to status superset + - `vac:dst:analysis:nomos:nomos-simulation-analysis` + - Basic CLI done, json to csv, can handle 10k nodes + - `vac:dst:wakurtosis:waku:topology-analysis` + - Collection + analysis: now supports all waku protocols, along with relay + - Cannot get gossip-sub peerage from waku or prometheus (working on getting info from gossipsub layer) + - `vac:dst:wakurtosis:waku:techreport_02` + - Merged 4 pending PRs; master now supports regular graphs + - `vac:dst:eng:vac:bundle-simulation-data` + - Run 1 and 10 rate simulations. 100 still being run + - `vac:dst:10ksim:vac:10ksim-bandwidth-test` + - Working on split the structure of codex tool; Working on diagrams also +## *vsu:Smart Contracts (SC)* + - `vac:sc::status:community-contracts-ERC721` + - delivered (will need maintenance and adding features as requested in the future) + - `vac:sc::status:community-contracts-ERC20` + - started working on ERC20 contracts + - `vac:sc::vac:secureum-upskilling` + - Secureum: Finished Epoch 0, Slot 4 and 5 + - Deep dive on First Depositor/Inflation attacks + - Learned about Minimal Proxy Contract pattern + - More Uniswap V2 protocol reading + - `vac:sc::vac:maintainance/misc` + - Worked on moving community dapp contracts to new foundry-template +## *vsu:Applied Cryptogarphy & ZK (ACZ)* + - `vac:acz:rlnp2p:waku:rln-relay-enhancments` + - rpc handler for waku rln relay - https://github.com/waku-org/nwaku/pull/1852 + - fixed ganache's 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 + - `vac:acz:zerokit:vac:maintenance` + - exposed `seq_atomic_operation` ffi api to allow users to make use of the current index without making multiple ffi calls - https://github.com/vacp2p/zerokit/pull/206 + - use pmtree instead of vacp2p_pmtree now that changes have been upstreamed - https://github.com/vacp2p/zerokit/pull/203 + - Prepared a PR to fix a stopgap introduces by PR 201 https://github.com/vacp2p/zerokit/pull/207 + - PR review https://github.com/vacp2p/zerokit/pull/202, https://github.com/vacp2p/zerokit/pull/206 + - `vac:acz:zerokit:vac:zerokit-v0.4` + - 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 + - misc research while ooo: + - stealth commitment scheme inspired by erc-5564 - https://github.com/rymnc/erc-5564-bn254, associated circuit - https://github.com/rymnc/circom-rln-erc5564 (very heavy on the constraints) +## *vip::zkVM* +- `vac:zkvm::vac:research-existing-proof-systems` + - Updated the Nova questions document (https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451 -> Projects -> Nova_Research_Answers.pdf) + - Researched ProtoStar and Nova aleternatives +- `vac:zkvm::vac:proof-system-benchmarks` + - Drafted the Nova Benchamarks document (https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451 -> Projects -> Benchmarks.pdf) + - Researched hash functions + - Researched benchmarks +## *vc::Deep Research* + - `vac:dr:valpriv:vac:tor-push-poc` + - Reimplemented torpush without any gossip sharing + - Added discovering peers for torpush in every epoch/10 minutes + - torswitch directly pushes messages to separately identified peers + - `vac:dr:valpriv:vac:tor-push-relwork` + - added quantified measures related to privacy in the paper section + - `vac:dr:gsub-scaling:vac:gossipsub-improvements-tech-report` + - Explored different unstructured p2p application architectuture + - Studied literature on better bandwidth utilization in unstructured p2p networks. + - `vac:dr:gsub-scaling:vac:gossipsub-simulation` + - Worked on GossibSup simulation in shadow simulator. Tried understanding different libp2p functions + - Created short awk scripts for analyzing results. + - `vac:dr:consensus:nomos:carnot-bribery-article` + - Continue work on the article on bribery attacks, PoS and Carnot + - Completed presentation about the bribery attacks and Carnot + - `vac:dr:consensus:nomos:carnot-paper` + - Discussed Carnot tests and results with Nomos team. Some adjustment to the parameters needed to be made to accurate results. \ No newline at end of file diff --git a/content/updates/2023-08-28.md b/content/updates/2023-08-28.md new file mode 100644 index 000000000..543d39a86 --- /dev/null +++ b/content/updates/2023-08-28.md @@ -0,0 +1,131 @@ +--- +title: "2023-08-28 Vac weekly" +tags: + - "vac-updates" +date: 2023-08-28 +lastmod: 2023-08-28 +draft: false +--- + +## Vac week 35 + +* Vac Milestones: https://www.notion.so/Vac-Roadmap-907df7eeac464143b00c6f49a20bb632 +* Vac Github Repos: https://www.notion.so/Vac-Repositories-75f7feb3861048f897f0fe95ead08b06 + +### vsu::P2P + +- `vac:p2p:nim-libp2p:vac:maintenance` + - Becaming a Validator in the Nimbus Consensus client (95%) + - IWANT replies can be bigger than the pubsub message limit (100%, on review) https://github.com/status-im/nim-libp2p/issues/887 + - Improve gossipsub DDoS resistance (98%) https://github.com/status-im/nim-libp2p/pull/920 + +### vsu::Tokenomics + +- admin/misc: +- `vac:tke::codex:economic-analysis` + - Timeline of Filecoin vs competitors, IPFS vs Filecoin usage, Filip: miners perspective +- `vac:tke::status:SNT-staking` + - Further debugging, verify Multiplier Points calculation (especially gas fee optimization, how GMX implements) +- `vac:tke::nomos:economic-analysis` + - Book seperate calls w/ Moh and Marcin to discuss helping them w/ their relative points of focus +- `vac:tke::waku:economic-analysis` + - Call w/ Aaryamann on RLN, condense our thoughts to a "proposal" for Waku + +### vsu::Distributed Systems Testing (DST) + + - `vac:dst:analysis:nomos:nomos-simulation-analysis` + - Analysis done, scales to million nodes + - Exploratory sets of runs done + - Decided on the parameter set for the final runs + - `vac:dst:software-testing:waku:test-plans` + - get familiar with specs for some of the Waku protocols + - `vac:dst:software-testing:waku:test-automation-js-waku` + - Setup local env + - Investigated how the existing tests are running and how the code is structured + - `admin/misc`: + - 2 CCs ooo + +### vsu:Smart Contracts (SC) + +- `vac:sc::vac:secureum-upskilling` + - Finished Secureum Slot 6 + - Read a bit into Upgradable contract patterns +- `vac:sc::status:community-contracts-maintenance` + - Moved `communities-contracts` repo to our Foundry template https://github.com/status-im/communities-contracts/pull/1 + - Also implemented additional tests +- `vac:sc::vac:maintainance/misc` + - Finished up moving `community-dapp/contracts` to foundry template +- `vac:sc::status:community-contracts-deployer` + - Brainstormed and discussed desired deployer contract with desktop team; Discussion: https://github.com/status-im/status-desktop/issues/11954#issuecomment-1694591812 + - updating ERC2470 https://eips.ethereum.org/EIPS/eip-2470 +- `vac:sc::status:snt-staking-contract-maintenance` + - discussing issue with order of processAccount giving advantages on first callers + +### vsu:Applied Cryptogarphy & ZK (ACZ) + +- `vac:acz:rlnp2p:waku:membership-management` + - 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 +- `vac:acz:rlnp2p:waku:rln-relay-enhancments` + - 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 +- `vac:acz:zerokit:vac:maintenance` + - prevent tree db from being recreated if it exists - https://github.com/vacp2p/zerokit/pull/209 + - released zerokit v0.3.2 - https://github.com/vacp2p/zerokit/releases/tag/v0.3.2 + - merged PR to fix a stopgap introduced by PR 201 https://github.com/vacp2p/zerokit/pull/207 +- `vac:acz:zerokit:vac:zerokit-v0.4` + - Prepared a PR to deal with `message_id` range check https://github.com/vacp2p/zerokit/pull/210 + - Researched needed changes to `rln-cli` + +### vip::zkVM + +- `vac:zkvm::vac:research-existing-proof-systems` + - 40% update of the blog is done, working on finding smoother ways to explain findings and alternatives (focusing on a blog structure rather than a document) +- `vac:zkvm::vac:proof-system-benchmarks` + - Added a summary table for different performances +- `vac:zkvm::vac:research-existing-proof-systems` + - Finished Plonky2 research document https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#01301b98f3af4157b932112ed998cff2 + - Write notes on Protostar +- `vac:zkvm::vac:proof-system-benchmarks` + - minor fixes plonky2 PR https://github.com/vacp2p/zk-explorations/pull/5 + - README's to make zk-explorations repo public https://github.com/vacp2p/zk-explorations/pull/4 + - merged and closed needed PRs for zk-explorations repo + - work on Halo2 benchmark + +### vc::Deep Research + +- `vac:dr:valpriv:vac:tor-push-poc` + - dev: fixed bugs related to initialization, changed to building async tor connections, adding direct peers, triaging/debugging issues https://github.com/vacp2p/nimbus-eth2-experimental/pull/2/commits/431a76014b3f584573329993b167fe1118eca6b3 + - test: readied setup o beacon node(s) with validator keys, test attestation transmission over tor. Planning for measuring delays +- `vac:dr:valpriv:vac:tor-push-relwork` + - solution section refined with several updates including adding a figure for the Tor-push method. + - dedicated section on "Theoretical Analysis" + - four different possible scenarios for the attacker to break the anonymity of the Tor network +- `vac:dr:gsub-scaling:vac:gossipsub-improvements-tech-report` + - Literature study related to scalability, overlay design, efficient message propagation in unstructured p2p networks + - Started writing a survey report on efficient broadcast in large scale p2p networks. +- `vac:dr:gsub-scaling:vac:gossipsub-simulation` + - Executed different gossipsub simulations in shadow simulator + - can now collect different metrics like packet delivery ratio, data overhead, control overhead, network bandwidth utilization, average latency & standard deviations +- `vac:dr:consensus:nomos:carnot-bribery-article` + - Continue work on the article on bribery attacks, PoS and Carnot. Different examples including one based on game theory were presented to show that bribery attacks are economic attacks and cannot be addressed alone in the consensus layer. Economy based solutions have to be considered at the PoS layer. +- `vac:dr:consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Begin work on Carnot variant that aggregates the majority of votes. + - Designing the algorithm. +- `vac:dr:consensus:nomos:carnot-paper` + - Analyzing and discussing Carnot tests. There were variance in the latency results. We think it is due to the geographical distribution of nodes. Hence, Gusto was asked to use a single geographic zone to acheive a smooth curve while verifying that the variance is due to the latency cause by geographical distribution of nodes. + +### vc::RFC + +- `vac:rfc:rfc:status:port-status-specs` + - Updated RFC spec for Community History Archive protocol according to PR feedback + - https://github.com/vacp2p/rfc/pull/610 + - This has been reviewed more and those additional comments need to be addressed as well +- Started porting `/spec/6/PAYLOADS` to Vac + + diff --git a/content/updates/2023-09-04.md b/content/updates/2023-09-04.md new file mode 100644 index 000000000..9b0a27678 --- /dev/null +++ b/content/updates/2023-09-04.md @@ -0,0 +1,139 @@ +--- +title: "2023-09-04 Vac weekly" +tags: + - "vac-updates" +date: 2023-09-04 +lastmod: 2023-09-04 +draft: false +--- + +## Vac 2023/09/04 + +* [Vac Milestones](https://www.notion.so/Vac-Roadmap-907df7eeac464143b00c6f49a20bb632) +* [Vac Github Repos](https://www.notion.so/Vac-Repositories-75f7feb3861048f897f0fe95ead08b06) + +### vac:p2p: + +- `nimlibp2p:vac:gossipsub-ddos-mitigation` + - Opened upstream discussion about gossipsub peer exchange (which is a DDoS vector) https://github.com/libp2p/specs/issues/570 +- `nimlibp2p:vac:webrtc-transport` + - Hitting roadblocks on DTLS + +### vac:tke:: + +- `codex:economic-analysis` + - Presenting Filecoin findings to Codex team + - Litepaper: assumptions on collateral +- `status:SNT-staking` + - Highlighted multiple design requirements not met by SC implementation for SC team [notion doc](https://www.notion.so/Implementing-SNT-Staking-Contract-Issues-Differences-2de74e7c19124e78b1c9490300a84422) + - Open questions w/ John, epoch duration + - Staking governance proposal for when John returns Sep 12 +- `nomos:economic-analysis` + - Delegated staking specifications w/Marcin, update for privacy constraints + - Bribery attacks analysis, Moh asked to followup early/mid Sep +- `waku:economic-analysis` + - Formalized RLN thoughts shared w/ Aaryamann, will push for additional feedback once Martin returns + +### vac:dst: + +- `analysis:nomos:nomos-simulation-analysis` + - Took over data generation on Tuesday + - Found a bug in simulations, working around it + - The comparison runs are now fully automated + - got the first full set of comparison plots: everything appears to be explainable for a fixed probability + - Tree runs now scale to 15k nodes +- `wakurtosis:vac:retrospective-rlog` + - Gather info and wrote summary of why we decided to stop using Kurtosis. +- `10ksim:vac:10ksim-bandwidth-test` + - Code diagrams + structurization + - Chats with Ben (Codex) +- `wakurtosis:nomos:ci-integration_02` + - (hold for now, since we drop Kurtosis; will continue in November once we have the new 10k simulator tool) +- `software-testing:waku:test-plans` + - Added test plans for filter, lightpush and store: https://www.notion.so/Test-Plans-09c8c7b7f6784c459fb774792665e37c +- `software-testing:waku:test-automation-js-waku` + - Made it possible to choose the nwaku version in the js waku github actions workflow by using workflow_dispatch inputs. [PR Link](https://github.com/waku-org/js-waku/pull/1510) + +### vac:sc:: + +- `vac:secureum-upskilling` + - No progress; busy with `CommunityTokenDeployer` contract +- `status:community-contracts-maintenance` + - Gas optimizations in token contracts + - Custom errors vs require string messages [PR](https://github.com/status-im/communities-contracts/pull/3) + - Usage of `immutable` properties [PR](https://github.com/status-im/communities-contracts/pull/5) +- `status:community-contracts-deployer` + - Implemented `CommunityTokenDeployer` + - Includes tests and docs + - [Pull requests](https://github.com/status-im/communities-contracts/pull/2) + - Ran into a contract size issue; Context [comment](https://github.com/status-im/communities-contracts/pull/2#issuecomment-1705063304) + - Added docs for commuity token deployer contract + - [Pull Request](https://github.com/status-im/communities-contracts/pull/4) +- `status:governance-contract-mvp` + - ERC2470 ressurection + - Updated to latest solidity + - Implemented error checking for "already deployed" (saves gas in case of user error) + - Implemented error checking for "successful deploy" (forces gas estimation to successful deploy scenario) + - In progress upgrade on solidity compiler new outputs (from 0.5.11=>0.8.x) + - Research on delegation vs staking contract + +### vac:acz: + +- `rlnp2p:waku:membership-management` + - 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 +- `rlnp2p:waku:rln-relay-enhancments` + - 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` +- `zerokit:vac:zerokit-v0.4` + - Merged a PR to deal with `message_id` range check https://github.com/vacp2p/zerokit/pull/210 + - researched `tree_size` issue for the 0.4 release + - researched `idCommitment/rateCommitment` issue for the 0.4 release + +### vac:zkvm: + +- `proofsystems:vac:research-existing-proof-systems` + - [blog post] (https://vac.dev/rlog/Nescience-A-zkVM-leveraging-hiding-properties) + - Researched ways to achieve Goal2 and Goal3 for Nescience. + - Integrated different techniques for Goal4 and Goal5 for Nescience. + - prepared Nova-implementation writeup (https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#cce2cc365a384126b2a5041900bd3ce9) + - Continued Lasso research (https://a16zcrypto.com/posts/article/introducing-lasso-and-jolt/) + - [Notes for Protogalaxy; 100%](https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#31b80e44529e4f3c80991e4a67afed3c) + - Notes for Protostar +- `proofsystems:vac:proof-system-benchmarks` + - Added an introductory section for Benchmark in zk-explorations repo: https://github.com/vacp2p/zk-explorations/pull/10 + +### vac:dr: + +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Completed literature study. Covered article related to overlay design (single tier, multi-tier, hybrid overlays) + - peer selection methodologies, rumor/gossiping protocols, push/pull based publishing approaches, message encoding, probablistic forwarding, overlay optimization, and peer heterogeneity/capacity based roles (super nodes and similar roles) + - Still need to review 1-2 D-regular graph based approaches. Only selected articles are added in zotero (under vacp2p) +- `valpriv:vac:tor-push-poc` + - Debugged various appraoches(tcp, gossip, tor). Triaged why attestations not working +- `valpriv:vac:tor-push-relwork` + - completed related work all +- `consensus:nomos:carnot-paper` + - Publishing the Carnot paper (Done) https://arxiv.org/pdf/2308.16016.pdf + - Begin work on writing up Carnot's specification in RFC format +- `consensus:nomos:carnot-bribery-article` + - Finishing (describing research directions and their pros and cons, polishing the article) and publishing the article (Done) https://www.notion.so/WIP-Bribery-Attacks-in-Consensus-Protocols-Challenges-and-Solutions-e4e108c17dba421abe83de49076c8f25 +- `consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Completing the initial design and work on presentation slides. The plan will be to present the initial design on September 6 research call + +### vac:rfc:rfc: + +- `status:port-status-specs` + - Started porting `6/PAYLOAD` to vac RFCs + - Work-in-progress PR is pending [here](https://github.com/vacp2p/rfc/pull/612) + - This RFC specifically needs a lot of work as it misses a lot of the current payload types + - Updated `61/STATUS-community-history-archives` according to feedback comments and landed it + - Merged PR is [here](https://github.com/vacp2p/rfc/pull/610) + - started porting 16/keycard-usage to Vac (looking into status-go) + diff --git a/content/updates/2023-09-11.md b/content/updates/2023-09-11.md new file mode 100644 index 000000000..7ce773184 --- /dev/null +++ b/content/updates/2023-09-11.md @@ -0,0 +1,115 @@ +--- +title: "2023-09-11 Vac weekly" +tags: + - "vac-updates" +date: 2023-09-11 +lastmod: 2023-09-11 +draft: false +--- + +### vac:p2p: +- `nim-libp2p:vac:maintenance`: + - [IWANT splitting](https://github.com/status-im/nim-libp2p/pull/944) now ready for review +- `nimlibp2p:vac:gossipsub-ddos-mitigation` + - [Traffic scoring](https://github.com/status-im/nim-libp2p/pull/920) now ready for review + - Pursuing [upstream discussions](https://github.com/libp2p/specs/issues/570) about gossipsub Peer Exchange +- `nim-chronos:vac:maintenance`: + - Continued https://github.com/status-im/nim-chronos/pull/418 + +### vac:tke: +- `vac:tke::status:SNT-staking` + - Write first draft of staking governance proposal + - standby to hear SC team questions +- `vac:tke::nomos:economic-analysis` + - Analysis of rewards for delegation vs validation + +### vac:dst: +- `wakurtosis:vac:rlog` + - Address PR feedback (https://github.com/vacp2p/vac.dev/pull/123) +- `wakurtosis:waku:techreport_03` + - batch of simulation data with 0 msg/s rate. +- `wakurtosis:vac:retrospective-rlog` + - Started draft/planning of document +- `eng-10ktool:vac:bandwidth-test` + - Working on adding an intermediate layer between services (Codex) and framework. +- `wakurtosis:waku:techreport_02` +- `software-testing:waku:test-plans` + - Minor tweaks/updates on the filter test plan +- `software-testing:waku:test-automation-js-waku` + - Created draft PR with ~60 new tests + refactoring for Filter protocol (https://github.com/waku-org/js-waku/pull/1552) + - Worked with Vaclav to run js-waku tests automatically in the nwaku CI. + - Tests will run against the nwaku node built for the PR that triggers the CI + jswaku from master (nwaku PR: https://github.com/waku-org/nwaku/pull/2006) (js-waku PR: https://github.com/waku-org/js-waku/pull/1541) +- `software-testing:waku:test-automation-nwaku` + - Get acquainted with codebase, tests, rfcs, and nim. + - start implementing first set of tests (`Filter/SUBSCRIBER_PING`). +- `vac:dst:analysis:nomos:nomos-simulation-analysis` + - Done first set of runs for different probabilities; a run takes 2+ days + - The tree simulation now scales to 30k nodes! + - Branch runs are now fully automated +- `vac:dst:wakurtosis:waku:topology-analysis` + - tried json RPC under shadow (worked as expected); the RPC appears a bit faster compared to wakurtosis + - Waku network collection PR done : https://github.com/vacp2p/wakurtosis/pull/143 + +### vac:acz: +* `rlnp2p:waku:rln-relay-enhancments` + - 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 +* `zerokit:vac:zerokit-v0.4` + - fetched artifacts from trusted setup completion, generated verfication keys and circuit's wasm files + - for some reason, the proof verification always results in `false`, needs further investigation. working branch - https://github.com/vacp2p/zerokit/pull/211 + - Created and merged a PR to fix test failings https://github.com/vacp2p/zerokit/pull/212 + - Reaserched test failures with new artifacts + +### vac:sc: +- `status:snt-staking-contract-maintenance` + - Prepared a pull request that migrates the code base to our foundry template: [Pull Request #6](https://github.com/logos-co/staking/pull/6) +- `status:community-contracts-deployer` + - Refactored `CommunityTokenDeployer` contract to make use of token factory contracts: [Pull Request #2](https://github.com/status-im/communities-contracts/pull/2) + - Updated documentation and visuals according to code changes: [Pull Request #4](https://github.com/status-im/communities-contracts/pull/4) +- `vac:maintainance/misc` + - Added support for codecoverage analysis in our foundry template: PR: https://github.com/vacp2p/foundry-template/pull/6 + - Added basic deployment config to our template: PR: https://github.com/vacp2p/foundry-template/pull/5 + - Added slither support: PR: https://github.com/vacp2p/foundry-template/pull/4 + - added a new resource to the Smart Contract notion section about gas optimizations + +### vac:zkvm: +* `proofsystems:vac:research-existing-proof-systems` + - Addressed some questions regarding Nescience. + - Worked on compressing informations in Nescience for a future publication. + - Continued research on Jolt + - Continued writing a paper on Lasso (https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#025f586e7e4c46818a0e0a1ab9a79c20) + - Attended webinars for Open Talk: Zero Knowledge [(recorded talks)](https://www.youtube.com/watch?v=cgw18zbTUHA) + - Update [Halo2 notes](https://file.notion.so/f/f/1518abd9-c08f-4989-93c1-96525e62bce5/ae9b5bf8-f5ff-4436-bc7b-e3f7eccf030c/Notes___Halo2.pdf?id=406e5fef-e565-4625-bbc4-e5242354f5f7&table=block&spaceId=1518abd9-c08f-4989-93c1-96525e62bce5&expirationTimestamp=1694563200000&signature=7AD-ydeIweC9m2w6yxgKHFatWVI_2mvuSupIDaCPH64&downloadName=Notes+-+Halo2+%28WIP%29.pdf) +* `proofsystems:vac:benchmarks` + - Published a complete section on Github regarding Benchmarks (https://github.com/vacp2p/zk-explorations/blob/main/benchmarks.md). + - work on [Halo2 benchmark implementation](https://github.com/vacp2p/zk-explorations/tree/origin/halo2-bench) + - Nova Circom: done, Nova-Scotia: there is a part left + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Completed the tor based gossipsub instance broadcas; the first working POC. Overcame, triaged several issues https://github.com/vacp2p/nimbus-eth2-experimental/issues/1 + - [first running tor-push nimbus validator](https://goerli.beaconcha.in/validator/86f53cc0e56ae0c6fbe3113a290a52a76cf056339d91f9e166ddbf15a35373d3c455cc387c8ab70db7b3d024113e394d) +- `valpriv:vac:tor-push-paper` + - changes to introduction, solution section, removed not in scope papers +- `gsub-scaling:vac:gossipsub-simulation` + - Worked on adding staggered sending suppoort in Gossipsub (still working on it) + - Formalized and improved simulation scripts for GossipSub behavior against large messages. +- `consensus:nomos:carnot-paper` + - Work on writing up Carnot's specification in RFC format (https://github.com/logos-co/nomos-specs/blob/RFC/carnot/spec.md) +- `consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Work on presentation slides for Sep. 6 research call. (slides can be found at: https://www.notion.so/Roadmap-Deep-Research-DR-561a864c890549c3861bf52ab979d7ab?pvs=4#d1d3033792b443f39e47955721f9db52) + - Begin to write down the high level protocol.(https://www.notion.so/High-Level-Algorithm-6535ac0363df4629ad2c40dff4bc62cd) + +### vc::rfc: +* `status:port-status-specs` + - Kicked off discussion with "stakeholders" about `6/PAYLOAD` spec and how it should be ported/maintained + - started porting parts of `6/PAYLOAD` + - Ported 16/keycard-usage to 63/status-keycard-usage - https://github.com/vacp2p/rfc/pull/615 + diff --git a/content/updates/2023-09-18.md b/content/updates/2023-09-18.md new file mode 100644 index 000000000..34db528c3 --- /dev/null +++ b/content/updates/2023-09-18.md @@ -0,0 +1,107 @@ +--- +title: "2023-09-18 Vac weekly" +tags: + - "vac-updates" +date: 2023-09-18 +lastmod: 2023-09-18 +draft: false +--- + +### vac:p2p: +- `nim-libp2p:vac:maintenance`: + - [Fixed](https://github.com/status-im/nimbus-eth2/pull/5427) gossipsub Direct Peers + - Continued cross-libp2p [perf implementation](https://github.com/libp2p/test-plans/pull/262) +- `nimlibp2p:vac:gossipsub-ddos-mitigation` + - Open eth specs [issue](https://github.com/ethereum/consensus-specs/issues/3500) about disabling gossipsub Peer Exchange +- `nimlibp2p:vac:webrtc-transport` + - Fixed the blocking DTLS issue, continuing vertical implementation + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Review litepaper feedback w/ Codex and identify steps to finalize Codex tokenomics +- `vac:tke::status:SNT-staking` + - Review staking governance proposal w/John in Status call +- `vac:tke::nomos:economic-analysis` + - Analysis of rewards for delegation vs validation + - Researching ETH 2.0 emission decision rationales + +### vac:dst: +- `wakurtosis:waku:techreport_03` & `wakurtosis:vac:rlog` + - Analysis of the non-load simulations (0msgs to isolate discv5 effects) + - Recaculated efficiencies taking into account message counts instead of expectation + - Generated new efficiency plots; Re-written discussion to account for the latter +- `eng-10ktool:vac:bandwidth-test` + - Created new repo for Python tool (https://github.com/vacp2p/10ksim) + - Kubernetes configuration and documentation (https://github.com/vacp2p/10ksim/issues/1) +- `software-testing:waku:test-automation-js-waku` + - Addressed comments and merged the Filter protocol tests PR (https://github.com/waku-org/js-waku/pull/1552) + - Created new PR with ~40 new lightpush tests (https://github.com/waku-org/js-waku/pull/1571) + - Extract the testing parts of js-waku CI into reusable workflows that can be easily called cross-repo (https://github.com/waku-org/js-waku/pull/1566) + - Improved the retry-on-fail mechanism of the js-waku tests (https://github.com/waku-org/js-waku/pull/1573) +- `software-testing:waku:test-automation-nwaku` + - Finished implementing waku filter ping tests; [PR](https://github.com/waku-org/nwaku/pull/2023) + - Implemented waku filter subscribe tests; Found first two wrong/unclear behaviours due to tests; [PR 1](https://github.com/waku-org/nwaku/pull/2034); [PR 2](https://github.com/waku-org/nwaku/pull/2035) + - Checking existing tests and removing legacy/duplicated. + - Began implementing waku filter client error tests + +### vac:acz: +- `zerokit:vac:zerokit-v0.4` + - Prepared a PR to fix `test_recover_id_secret` test due to incorrect serialization https://github.com/vacp2p/zerokit/pull/217 + - Fixed serialization in other tests +- `secure-channels:waku:ethereum-chat` + - Getting familiar with some of the protocols, namely: X3DH, Double Ratchet, XEdDSA and Noise. + - Start defining the requirements of the secure chat protocol. +- `rlnp2p:waku:rln-relay-enhancments` + - updated submodule, fixed metric - https://github.com/waku-org/nwaku/pull/2024 +- `rlnp2p:waku:rln-doc-and-outreach` + - updated nwaku pre-requisites docs for rln - https://github.com/waku-org/docs.waku.org/pull/115 +- `zerokit:vac:maintenance` + - exposed leaves_set api to count the number of insertions into the tree - https://github.com/vacp2p/zerokit/pull/213 + - optimized the batch insert to reduce insertion times - https://github.com/vacp2p/zerokit/pull/215 +- `zerokit:vac:zerokit-v0.4` + - still continuing to investigate proof verification failures. headway made, the root that the proof has is != the tree root produced by zerokit. + +### vac:sc:: +- `status:SNT-optimism-bridge` + - Workin on porting legacy MiniMe token to our foundry template + - Also update its code and tests; Ultimately this becomes a dependency of other projects (staking, governance etc) + - [Updated to solidity 0.8.19](https://github.com/vacp2p/minime/pull/1) + - [Fixed linting 1](https://github.com/vacp2p/minime/pull/10) , [2](https://github.com/vacp2p/minime/pull/12) + - [Upgraded error-strings to error-codes](https://github.com/vacp2p/minime/pull/13) + - Started fixing auditor errors: [variables->immutables](https://github.com/vacp2p/minime/pull/23), [uint128 castings](https://github.com/vacp2p/minime/pull/22), [check-effects-interactions](https://github.com/vacp2p/minime/pull/24) + - other minor improvements ([erc20](https://github.com/vacp2p/minime/pull/14), [separate contracts](https://github.com/vacp2p/minime/pull/16)) +- `vac:misc`: + - Visited blockchain week in Berlin + +### vac:zkvm: +- `proofsystems:vac:research-existing-proof-systems` + - Worked on the motivation of Goal 1: Why separate state is more beneficial (Document next week) + - Started a somehow scientific article format for Nescience + - Finished a writeup on Lasso https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#e563de6778b04479a7936e2c5664c9ec + - Started writing a writeup on Jolt + - Update Logos slides for presentation on 9/20. (link pending) + - Begin research [recproof](https://uploads-ssl.webflow.com/6460ebf2b6ff254688bebf1c/64e4dd54d9198fde8d58ef44_main.pdf) +- `proofsystems:vac:benchmarks` + - Finished Nova benchmark that uses Nova-Scotia https://github.com/vacp2p/zk-explorations/pull/13 + - Started working on Nova benchmark that uses bellman (original/default way to do things in Nova) + - Worked on [Halo2 benchmarks](https://github.com/vacp2p/zk-explorations/pull/11) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Extraced latency of attestations sent from gossip_sub debug level logs + - Collected around 150 or more latencies of attestations, both for normal and tor switch + - Validated tor-circuit formation on validator machine +- `valpriv:vac:tor-push-paper` + - Revised the structure of paper, added mathematical definition +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - The first draft of survey is ready for review +- `gossipsub-improvements-paper` + - Incorporated changes to the first draft of the improvement paper. Still a work in process. +-`consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Writing the psuedocode (https://github.com/logos-co/nomos-specs/blob/Carnot-vote-aggregation/carnot/carnot-vote-aggregation.py). + - Added discussion and committee merging algorithm to the high level protocol document(https://www.notion.so/High-Level-Algorithm-6535ac0363df4629ad2c40dff4bc62cd) + +### vac:rfc: +- `status:port-status-specs` + - continued discussion of the `PAYLOAD` RFC; continue working on updating the RFC + diff --git a/content/updates/2023-09-25.md b/content/updates/2023-09-25.md new file mode 100644 index 000000000..10b776ae4 --- /dev/null +++ b/content/updates/2023-09-25.md @@ -0,0 +1,119 @@ +--- +title: "2023-09-25 Vac weekly" +tags: + - "vac-updates" +date: 2023-09-25 +lastmod: 2023-09-25 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:gossipsub-ddos-mitigation` + - Merged GossipSub Traffic Scoring https://github.com/status-im/nim-libp2p/pull/920 +- `nimlibp2p:vac:gossipsub-stagger-send` + - Continued simulations +- `nim-libp2p:vac:maintenance` + - Tried to integrate HP in nwaku, but rendezvous isn't integrated [yet](https://github.com/waku-org/nwaku/pull/1766#issuecomment-1731030691) +- `nimlibp2p:vac:webrtc-transport` + - Continued vertical integration of protocols + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Meeting with Codex on Tuesday, get in sync on timeline and steps for final delivery +- `vac:tke::status:SNT-staking` + - Review goverance process itself, governance proposal template, staking gov proposal w/ John +- `vac:tke::nomos:economic-analysis` + - Analysis of rewards for delegation vs validation + - Alvaro shared further docs to review on Private Addressing incentives and two-tiered staking +- `vac:tke::waku:economic-analysis` + - Reading WAKU papers and onboarding Sergei, establishing recurring cadence + +### vac:dst: +- `wakurtosis:waku:techreport_03` + - Delivered (pending discussion with Waku team) +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - Run 20K simulation (resources test) +- `eng-10ktool:vac:bandwidth-test` + - Check with Slava K8s configuration, to run nodes in master aswell (K3s) + - Code first multi-node deployment + - Dockerized DST node +- `software-testing:waku:test-plans` + - Started working at the Relay test plan +- `software-testing:waku:test-automation-js-waku` + - Addressed all comments from last week PRs and merged them + - Fixed the nwaku CI part that invokes js-waku: https://github.com/waku-org/nwaku/pull/2061 + - Bumped nwaku version in js-waku CI: https://github.com/waku-org/js-waku/pull/1591 + - Helped investigating nwaku issues caught by the js-waku tests + - Investigated some flaky tests and tried to fix them: https://github.com/waku-org/js-waku/pull/1592 + - Started working on adding new tests for the static sharding functionality for js-waku + - Added a bug report found during testing and a feature request for test reporting +- `software-testing:waku:test-automation-nwaku` + - Implement service to service waku filter tests: [PR](https://github.com/waku-org/nwaku/pull/2057) + - Implement coverage for nwaku: [PR](https://github.com/waku-org/nwaku/pull/2067) + - Rebase all test branches from master, fixing numerous git mishaps. + - Update PRs with comments. + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancments` + - fixed a segfault issue - https://github.com/waku-org/nwaku/pull/2047 +- `zerokit:vac:zerokit-v0.4` + - still investigating the proof verification failures using the new artifacts. can confirm that the inputs for proof generation are valid, and are verified by using snarkjs. +- Removed private `message_id` from `compute_id_secret` agruments + - Fix `RLNProofValues` +- `secure-channels:waku:ethereum-chat` + - WiP Notion doc on the specifications of the protocol + +### vac:sc:: +- `status:community-contracts-deployer` + - Merged all pending PRs. This milestone is now done + - Deployed a version of token deployer contracts to optimism goerli +- `status:community-curation-contracts` + - Discussed and started implementing necessary changes for beta release + - Foundry deployment script + - batch processing of votes in finalization phase +- `status:SNT-optimism-bridge` + - Sync call with Certora on audit report and next audit planning + - created tests for onTransfer reentrancy case https://github.com/vacp2p/minime/pull/29 + - fixed reentrancy https://github.com/vacp2p/minime/pull/24 + - rised coverage from 54.62% to 67.23% https://github.com/vacp2p/minime/pull/33 + - Alter Minime to allow being extended to specialized tokens (such as OptimismMintableERC20) https://github.com/vacp2p/minime/pull/32 + - create script for detailed gas-report https://github.com/vacp2p/minime/pull/25 + - locally optimized gas usage + +### vac:zkvm: +- `proofsystems:vac:research-existing-proof-systems` + - Written a document for [State Separation](https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#0fcbf60bda2049d387334e5f5dd91547) motivation for Nescience + - Readings to justify Goal 3 + - Considered some scientific paper format for Nescience + - Worked on Jolt writeup draft (https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#fae64ac478004b749f7b211a9542f2d2) + - Started research on Poseidon paper (https://eprint.iacr.org/2019/458.pdf) and is implementations + - Logos research call presentation. + - Notes on Recproof (WIP) and zkTree [(same document)](https://file.notion.so/f/f/1518abd9-c08f-4989-93c1-96525e62bce5/a9097bd6-371d-4408-9302-57dbb114f5ea/Recproof___Notes_(1).pdf?id=b6e0cccd-2aa9-4b7f-b340-6293e7c783e0&table=block&spaceId=1518abd9-c08f-4989-93c1-96525e62bce5&expirationTimestamp=1695513600000&signature=SbII5tn2mPT2yNloyJtnWw2bxzZQFFkjz-vyKqcPxtk&downloadName=Notes+-+Recproofs+and+zkTrees+%28WIP%29.pdf). + - Notes on Poseidon2 (WIP) + +- `proofsystems:vac:benchmarks` + - Added an explanation for [Plonky2 circuit](https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#6c98b04e92d0480c8d3ee24fab967f9b) [To add to GitHub] + - Started reading Nova circuit to provide an explanation of what the circuit is doing + - finish up Nova bellman benchmark https://github.com/vacp2p/zk-explorations/pull/14 + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Investigated the issue with failing attestation, Fixed the exclusion of connected peer + - Debugged the latency script evaluation/ Recalculated stats. +- `valpriv:vac:tor-push-paper` + - Updated the structure of the paper and added tentative contributions to the paper. + - Added sections on latency and security analysis in the results section along with the potential limitations of the proposed method. +- `gossipsub-improvements-paper` + - Research log post for GossipSub improvements is ready for review + - Incorporated changes to the Introduction, and Related work. Results part is still a work in process. +- `consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Writing the pseudocode (https://github.com/logos-co/nomos-specs/blob/Carnot-vote-aggregation/carnot/carnot-vote-aggregation.py). + - Adding discussion to the high level protocol document(https://www.notion.so/High-Level-Algorithm-6535ac0363df4629ad2c40dff4bc62cd) +- `:nomos:review` + - Reviewing https://www.notion.so/Data-Availability-Specification-c3961b681eba4ccdab2be9181e4207b4#3df2088e8a9b4c048310e51ff8e577a8 + +### vac:rfc: +- `status:port-status-specs` + - porting 2/ACCOUNTS to vac rfcs (RFC 65); in review process + - 63/STATUS-Keycard-Usage merged https://rfc.vac.dev/spec/63/ + diff --git a/content/updates/2023-10-02.md b/content/updates/2023-10-02.md new file mode 100644 index 000000000..56cc722a3 --- /dev/null +++ b/content/updates/2023-10-02.md @@ -0,0 +1,132 @@ +--- +title: "2023-10-02 Vac weekly" +tags: + - "vac-updates" +date: 2023-10-02 +lastmod: 2023-10-02 +draft: false +--- + +### vac:p2p: +- `nim-chronos:vac:maintenance` + - Opened alternative [fix](https://github.com/status-im/nim-chronos/pull/449) for closure completion issue +- `nimlibp2p:vac:gossipsub-stagger-send` + - Continued simulations +- `nimlibp2p:vac:webrtc-transport` + - Continued vertical integration of protocols +- `nim-libp2p:vac:maintenance` + - Merged gossipsub IWANT [fix](https://github.com/status-im/nim-libp2p/pull/944) + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Codex pushed meeting back again, reviewing this week to get in sync on timeline and steps for final delivery +- `vac:tke::status:SNT-staking` + - John has reviewed goverance process itself, governance proposal template, staking gov proposal, finalize details with him this week + - Complete anonymous user matching proposal draft + - Still some differences between design and implementation in SC, Martin working on these items in order to hand off + - Rewards should not be claim order dependent + - Restaking mechanism, same vault vs create new vault + - Rewards can be claimed retroactively vs GMX style model of needing to claim in real-time +- `vac:tke::nomos:economic-analysis` + - Frederico in regular communication with Alvaro, continuing on Private Addressing research +- `vac:tke::waku:economic-analysis` + - Martin follow up with Sergei on collaboration ideas and feedback on WAKU so far + +### vac:dst: +- `wakurtosis:vac:retrospective-rlog` + - Delivered for first round of reviews (https://github.com/vacp2p/vac.dev/pull/131) +- `wakurtosis:vac:rlog` + - Taken care of review comments, still issues with results (injection loss) +- `eng-10ktool:vac:bandwidth-test` + - Changed dst-node code to fit a K8s environment + - Put dst-node in dockerhub + - Run as many nodes as possible on two machines with plain Kubernetes +- `software-testing:waku:test-plans` + - Finished the Relay test plan: https://www.notion.so/Relay-c91b6df8d96a4527b5d2d599bf8dd54e +- `software-testing:waku:test-automation-js-waku` + - Added new tests for **static sharding** feature (phase 1) to cover filter, lighPush, store and relay protocol. Also changed existing methods and tests to support multiple pubSubTopics. Awaiting review: https://github.com/waku-org/js-waku/pull/1624 + - Started refactoring and adding new tests for **store** protocol. Draft PR: https://github.com/waku-org/js-waku/pull/1627 + - Helped investigating a change in nwaku that caused issues in the js-waku lightPush tests +- `software-testing:waku:test-automation-nwaku` + - Merge coverage https://github.com/waku-org/nwaku/pull/2067 + - Update open Filter PRs + - Implement waku filter tests (Unsubscribe, payloads, security and privacy) + - [Unsubscribe PR](https://github.com/waku-org/nwaku/pull/2085) + - [Unsubscribe All, Payloads, and Privacy and Security PR](https://github.com/waku-org/nwaku/pull/2095) + - [Node Privacy and Security PR](https://github.com/waku-org/nwaku/pull/2096) + - Implement returning error on "unsubscribing from non-subscribed server" (Change inside `Unsubscribe PR`) +- `software-testing:waku:test-automation-go-waku` + - Ran Go's coverage report to see about unit tests + - Built and played with Waku v2 Filter example, docker image locally + - Wrote Dockerfile and test container image build workflow + - go-waku's test docker registry @quay.io is in preparation with jakubgs + +### vac:acz: +- `zerokit:vac:zerokit-v0.4` + - unblocked rln-v2 proof verification, pending rln-wasm bug fix +- `secure-channels:waku:ethereum-chat` + - Completed a first version of the WiP including an extension to group chats. + - Completed a first approach to using Noise nomenclature for X3DH and the DH ratchet in the double ratchet. + - Studied how to approach Signal's PQXDH in terms of Noise. + +### vac:sc:: +- `status:community-contracts-deployer` + - Code clean up https://github.com/status-im/communities-contracts/pull/17 + - Custom token events https://github.com/status-im/communities-contracts/pull/18 +- `status:community-curation-contracts` + - Finish moving to foundry template https://github.com/status-im/community-dapp/pull/69 + - Add foundry deployment script https://github.com/status-im/community-dapp/pull/70 + - Introduce evaluation limit and use minime token https://github.com/status-im/community-dapp/pull/72 + - Smaller additional PRs + - Remove safeMath/save gas https://github.com/status-im/community-dapp/pull/71 + - Use OZs Ownable https://github.com/status-im/community-dapp/pull/73 + - Production parameters https://github.com/status-im/community-dapp/pull/74 +- `status:SNT-optimism-bridge` + - Move repository to foundry template + - Add modern minime as dependency https://github.com/logos-co/optimism-bridge-snt/pull/9 +- `status:community-contracts-ERC20` + - Added Owners and Master tokens to Community ERC20 contract +- `status:SNT-optimism-bridge` + - [report for certora](https://notes.status.im/_dVHPVA9TZe-ORa_SNkmJg#) + - [implement ERC2612](https://github.com/vacp2p/minime/pull/36) + - [improve code and gas cost](https://github.com/vacp2p/minime/pull/39) + - [coverage to almost 100%](https://github.com/vacp2p/minime/pull/33) + - [improve abstraction of MiniMeBase](https://github.com/vacp2p/minime/pull/34) + - work on SNTPlaceHolder issues + - [add claimTokens](https://github.com/logos-co/optimism-bridge-snt/pull/11) + - [remove safemath](https://github.com/logos-co/optimism-bridge-snt/pull/10) + +### vac:zkvm: +- `proofsystems:vac:research-existing-proof-systems` + - Written a document for Proof Creation and Verification (Goal 3 for Nescience) - WIP 70% + - Started a first draft for research article for Nescience + - Started readings on bulding secure zkVMs + - Researched on Poseidon paper (https://eprint.iacr.org/2019/458.pdf) and is implementations + - Finished Jolt writeup (https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#43de765557544ec59efa038a2d39c98b) +- `proofsystems:vac:benchmarks` + - added ducumentation to plonky2 code (https://github.com/vacp2p/zk-explorations/pull/15) + - Work on [Halo2-benchmark](https://github.com/vacp2p/zk-explorations/pull/11) + + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Reducing attestation miss rate, separating peerpool/conn table for torswitch +- `valpriv:vac:tor-push-paper` + - paper updated +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Incorporated suggested changes GossipSub improvements research log post (https://github.com/vacp2p/vac.dev/pull/130). Currently doing proofreads, and readjusting citations. +- `gsub-scaling:vac:gossipsub-simulation` + - Pull request created for GossipSub shadow simulation. +- `consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Writing the psuedocode (https://github.com/logos-co/nomos-specs/blob/Carnot-vote-aggregation/carnot/carnot-vote-aggregation.py). + - Adding discussion to the high level protocol document(https://www.notion.so/High-Level-Algorithm-6535ac0363df4629ad2c40dff4bc62cd) +- `:nomos:review` + - Reviewing https://www.notion.so/Data-Availability-Specification-c3961b681eba4ccdab2be9181e4207b4#3df2088e8a9b4c048310e51ff8e577a8 +- `zk:codex:storage-proofs-open-problems-review` + - sync with Codex on the issues + +### vac:rfc: +- `status:port-status-specs` + - clean up 65/status-accounts spec, draft of test vectors which were omitted + - Continue and finish porting a version of the PAYLOADS spec https://github.com/vacp2p/rfc/pull/612 + diff --git a/content/updates/2023-10-09.md b/content/updates/2023-10-09.md new file mode 100644 index 000000000..a323c721c --- /dev/null +++ b/content/updates/2023-10-09.md @@ -0,0 +1,130 @@ +--- +title: "2023-10-09 Vac weekly" +tags: + - "vac-updates" +date: 2023-10-09 +lastmod: 2023-10-09 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Continued vertical integration of protocols + - Started DataChannel [implementation](https://github.com/status-im/nim-webrtc/pull/4) (last protocol in the stack) +- `nimlibp2p:vac:gossipsub-ddos-mitigation`: + - Merged [last part](https://github.com/status-im/nim-libp2p/pull/954) of the ddos mitigation. End of this milestone, next step is to enable in nimbus + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Codex meeting confirmed for Tuesday, reviewing this week to get in sync on timeline and steps for final delivery (@Matty) +- `vac:tke::status:SNT-staking` + - Discuss anonymous user matching proposal with John (@Matty) + - Complete all edits of all 3 proposals based on John's feedback (@Matty) + - Improvements to smart contract implementation (claim order dependency), and refactoring, actively working with SC team (@Martin) + - Finance (Matt Nemer and Adam) asked for refresh of the economic model/projections this month (@Matty) +- `vac:tke::nomos:economic-analysis` + - Frederico remains in regular communication with Alvaro and Marcin, continuing on Private Addressing research (@Frederico) + +### vac:dst: +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - Bandwidth analysis with 'plot-shadow' (https://github.com/shadow/shadow/blob/main/src/tools/plot-shadow.py) + - Temporal graph extraction / analysis of gossipsub node +- `wakurtosis:vac:rlog` + - Running new batch of simulations +- `analysis:nomos:simulation-analysis` + - work on additional set of analysis and ways to resolve the tree/branch discrepancy; analysis/data collection is priority + - Adding "realistic" network delays to the simulations is an immense memory hog and DST machine crashed repatedly for days together; + - special thanks for Jakub for promptly resetting the machine, but it still took days to figure usable parameters + - Took all week *and* weekend to get just one run for 10k nodes +- `wakurtosis:waku:gossipsub-topology-analysis` + - The CollectNet PR (https://github.com/vacp2p/wakurtosis/pull/143) +- `eng-10ktool:vac:bandwidth-test` + - K8s configurations https://github.com/vacp2p/10ksim/issues/1 + - POD limites per node (point 4) + - Available IPs per node (point 4) + - Parallelize StatefulSets (point 5) + - Set second machine as Schedulable +- `software-testing:waku:test-automation-js-waku` + - Finished adding new [tests](https://github.com/waku-org/js-waku/pull/1627) for **store** protocol. + - Increased coverage from 9 tests to ~60. + - Discovered several issues/discrepancies that I've raised with the Waku teams. + - Added small [fix](https://github.com/waku-org/js-waku/pull/1628) for some flaky tests + - [Updated](https://github.com/waku-org/js-waku/pull/1632) docker hub org from where the tests fetch nwaku/gowaku images +- `software-testing:waku:test-automation-nwaku` + - Begin Relay subscribe tests + - Message id (https://github.com/waku-org/nwaku/pull/2101) + - Subscribe WIP (No PR yet) + - Investigate possible missbehaviours, diving into libp2p code. + - Open relay subscription bug issue: https://github.com/waku-org/nwaku/issues/2114 +- `software-testing:waku:test-automation-go-waku` + - Go-waku's test docker registry @quay.io is working well + - Dockerfile and test container image build workflow tested & merged https://github.com/waku-org/go-waku/pull/792 + - Wrote first test and found first bug - fixed by devs already https://github.com/waku-org/go-waku/commit/d900a6c81457cdb9bd264867d61064fc923a4d30 https://github.com/waku-org/go-waku/pull/794 + +### vac:acz: +- `zerokit:vac:zerokit-v0.4` + - Merged PR https://github.com/vacp2p/zerokit/pull/217 + - Fixed ffi tests + - completed release, milestone complete - https://github.com/vacp2p/zerokit/releases/tag/v0.4.1 +- `rlnp2p:waku:multi-epoch-constraint` + - Start working on a more concise solution for the problem +- `secure-channels:waku:ethereum-chat` + - Increase the level of detail in the description of the WiP towards the creation of an RFC + +### vac:sc:: +- `status:SNT-optimism-bridge` + - [Update bridge repo to latest `vacp2p/minime` dependency](https://github.com/logos-co/optimism-bridge-snt/pull/14) + - [Implemented foundry deploy script](https://github.com/logos-co/optimism-bridge-snt/pull/17) + - [Custom errors over string messages](https://github.com/logos-co/optimism-bridge-snt/pull/18) + - [Token controller rename](https://github.com/logos-co/optimism-bridge-snt/pull/19) +- `status:community-contracts-ERC20` + - [Helped with adding owner/token-master access control](https://github.com/status-im/communities-contracts/pull/19) +- `status:community-curation-contracts` + - [Deployed contracts on goerli](https://github.com/status-im/community-dapp/pull/77) +- `status:community-contracts-maintenance` + - [Landed custom minting events](https://github.com/status-im/communities-contracts/pull/18) + - update the erc20 contract to have owner/master tokens + - added CommunityOwnable contract with base auth + - Fix and update failing tests and deploy erc20 implementation to testnet + - PR: https://github.com/status-im/communities-contracts/pull/19 + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Researching techniques for state separation + - Started a new document about how to implement state separation +- `proofsystems:vac:research-existing-proof-systems` + - Finished the document about [Proof Creation and Verification] (Goal 3 for Nescience) - To share soon + - Still doing some research on how to make Nescience compact for an article + - Several readings on bulding secure zkVMs + - Prepared a draft on Starky (https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4e5bc7f510c042609139bffd5534e69b) +- `proofsystems:vac:benchmarks` + - Added an explanation for [Nova-Scotia circuit](https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#371accf979444502844fcad6738789fc) + - Prepared poseidon-starky circuit generation part + - Begin code review for [Nova benchmark](https://github.com/vacp2p/zk-explorations/pull/13) + - Continue working on [Halo2 benchmark](https://github.com/vacp2p/zk-explorations/pull/11) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Separating tor context from normal and implemented new [PR](https://github.com/vacp2p/nimbus-eth2-experimental/pull/4) + - For over 4 days, monitored attestation success with near zero attestation drop rate, effectiveness varies + - with opt incl distance, but automatically recovers to 86% on average +- `valpriv:vac:tor-push-paper` + - more updates to the paper +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - pushed the recommended changes for GossipSub improvement blogpost for approval + - studied different proximity estimation, bandwidth estimation techniques for GossipSub improvements +- `gsub-scaling:vac:gossipsub-simulation` + - Upgraded my system to execute relatively larger networks. Executed relatively larger simulations (upto 9000 nodes) to analyze the impact of D on message spread and the number of messages. +- `consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Writing the psuedocode (https://github.com/logos-co/nomos-specs/blob/Carnot-vote-aggregation/carnot/carnot-vote-aggregation.py). + - Adding discussion to the high level protocol document(https://www.notion.so/High-Level-Algorithm-6535ac0363df4629ad2c40dff4bc62cd) +- `zk:codex:storage-proofs-open-problems-review` + - Getting up to speed on Codex documents: [Balazs' sampling](https://github.com/codex-storage/zk-research-artifacts/blob/master/sampling/sampling.pdf) + - shared minor math error in Discord, [Codex's EC requirements](https://hackmd.io/D7-DWiodSp-GD7YAIgQ06Q), [Preventing data loss](https://docs.google.com/document/d/1f01MOr-jKE4q24B9COlRaT0wOgxhbCwLjSN68H2-lC0/edit#heading=h.nvinp7wmkq2o), [Block placement](https://github.com/orgs/codex-storage/discussions/119), [Compact Proofs of Retrievability](https://eprint.iacr.org/2008/073.pdf), [Codex storage proofs rationale](https://hackmd.io/tzgIJ2j9SECq2e4zBIbCXg) + +### vac:rfc: +- `status:port-status-specs` + - merged rfc 65 + - reviewed waku-usage rfc, unclear if the old rfc can be ported as it is no longer relevant + - PAYLOADs almost done, addressing review comments + diff --git a/content/updates/2023-10-16.md b/content/updates/2023-10-16.md new file mode 100644 index 000000000..e0429be2a --- /dev/null +++ b/content/updates/2023-10-16.md @@ -0,0 +1,136 @@ +--- +title: "2023-10-16 Vac weekly" +tags: + - "vac-updates" +date: 2023-10-16 +lastmod: 2023-10-16 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Started to implement DataChannel in WebRTC: https://github.com/status-im/nim-webrtc/pull/4 + - Started to implement the WebRTC transport in libp2p: https://github.com/status-im/nim-libp2p/pull/ + - rework of UDP / Stun / Dtls / Sctp https://github.com/status-im/nim-webrtc/pull/ +- `nimlibp2p:vac:gossipsub-ddos-mitigation` + - https://github.com/libp2p/jvm-libp2p/pull/336 + +### vac:tke: + - `vac:tke::codex:economic-analysis` + - Met w/ Codex and reviewed the marketplace workflows, identified many updates for litepaper (@Matty) + - Will update litepaper incorporating feedback, and update Codex modeling, reconnect after their offsite + - `vac:tke::status:SNT-staking` + - Update notion docs with links to all latest governance proposals + - Assigning issues in Github to SC team, and submit pull reqs, primarily on dependency the claims, and how restaking works (@Martin) + - Continuing revamp of economic model/projections, review early approach w/John (@Matty) +- `vac:tke::nomos:economic-analysis` + - Frederico remains in regular communication with Alvaro and Marcin, continuing on Private Addressing research (@Frederico) + - Reviewing similar challenges ETH is also considering, changes to economic model for adding native delegation +- `vac:tke::waku:economic-analysis` + - Had a call with Aaryamann and Sergei last week, they had followup questions on fleshing out pros/cons of various design approaches to RLN stake (@Martin) + +### vac:dst: +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - Fixed timestamp bug + - Updated traffic injection to continuous operation + - Created IPFS mesh slices of arbitrary time length +- `analysis:nomos:simulation-analysis` + - Finally zero'd in on the tree/branch bug. The pre and post-analysis are fine, the bug is in the Carnot sim. + - The view installation time distribution with network delays is now done +- `dr-support:vac:carnot-2-3rds-python-impl` + - investigate Carnot sim code +- `eng-10ktool:vac:bandwidth-test` + - Finish exporting metrics (delayed) + - Make sure new CIDR configuration supports 10k PODs +- `wakurtosis:vac:rlog` + - finish simulations +- `software-testing:waku:test-automation-js-waku` + - New tests: + - [Relay[WIP]](https://github.com/waku-org/js-waku/pull/1649) + - Improvements: + - Speed up execution from 12m to 3.5m for 250 tests through [parallelization](https://github.com/waku-org/js-waku/pull/1655)(Significant refactoring needed to achieve this) + - Follow up [fix](https://github.com/waku-org/js-waku/pull/1662) to only allow paralellization in CI env + - Fixes: + - Updated [tests](https://github.com/waku-org/js-waku/pull/1661) after gowaku store fixes + - Updated [tests](https://github.com/waku-org/js-waku/pull/1645) after remote peer rejected error +- `software-testing:waku:test-automation-nwaku` + - Relay and message id tests + - [PR](https://github.com/waku-org/nwaku/pull/2101) + - Merge filter subscribe PRs; Pending unsubscribe, missing one review. + - Heavily investigate issues shown on tests + - Max 1MB message size, no graceful handle. + - After stopping and restarting a relay node, can't reconnect it with `connectRelay`. + - Can't stop a relay node and send a message: Inconsistent with filter push behaviour. + - Publishing multiple messages in a row triggers the same SEGFAULT as when refreshing a subscription. +- `software-testing:waku:test-automation-go-waku` + - Wrote five tests - were added to the branch https://github.com/waku-org/go-waku/tree/chore(filterV2)-test-updates + - Reported issue "Messages won't get through with multiple pubsub topics" https://github.com/waku-org/go-waku/issues/804 + - Tracking coverage as notes so far -> will change to tabular form. Notion has API, we could possibly update docs during test execution? https://www.notion.so/Filter-Test-Coverage-42fc15b503ec4621980a7757d85089db?pvs=4 + +### vac:acz: +- `rlnp2p:waku:rln-doc-and-outreach` + - worked on the rln rlog - https://github.com/vacp2p/vac.dev/pull/132 +- `misc` + - explored next iteration of rln, which includes message sizes within the proof +- `rlnp2p:waku:multi-epoch-constraint` + - Keep working on a solution for the problem. (https://www.notion.so/WiP-Multi-epoch-Constraints-a5b648b98c46461187563d6c1e094468) +- `secure-channels:waku:ethereum-chat` + - Keep improving the level of detail in the description of the WiP towards the creation of an RFC. (https://www.notion.so/WiP-Secure-Ethereum-Chat-f69ff155456c4fdeb719aba96fd7a8ab) + +### vac:sc:: +- `status:snt-staking-contract-maintenance` + - Added additional tests + - https://github.com/logos-co/staking/pull/27 + - https://github.com/logos-co/staking/pull/36 + - Use custom errors over error strings + - https://github.com/logos-co/staking/pull/28 + - https://github.com/logos-co/staking/pull/29 + - https://github.com/logos-co/staking/pull/30 + - https://github.com/logos-co/staking/pull/35 + - Some cleanup + - https://github.com/logos-co/staking/pull/26 + - https://github.com/logos-co/staking/pull/25 + - Introduced `VaultFactory` + - https://github.com/logos-co/staking/pull/38 +- `status:community-contracts-maintenance` + - Deployed community token deployer contracts to Sepolia + - https://github.com/status-im/communities-contracts/pull/20 +- `codex:review-codex-contracts` + - Did a first quick review of the code, notes can be found here + - https://www.notion.so/Codex-Marketplace-Contracts-337a2e38fa574a2d8ffb589f4f599 + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Finished and shared a new document about [state separation techniques](https://www.notion.so/zkVM-cd358fe429b14fa2ab38ca42835a8451?pvs=4#ef4efe76c6244c37974cb4355bb1fcd8) + - Keep researching and adding updates +- `proofsystems:vac:research-existing-proof-systems` + - Still working on *Proof Creation and Verification* (Goal 3 for Nescience), specifically trying to identify novel techniques + - Considering article for Nescience + - Continuous readings on bulding secure zkVMs + - discussion on Sona proof system (from Lasso paper) and alternatives (Hyrax, KZG, FRI) + - Reserched the connection between plonky2 and starky +- `proofsystems:vac:benchmarks` + - Starting a draft for an article (overleaf) + - working on Halo2 [benchmark](https://github.com/vacp2p/zk-explorations/pull/11) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Getting fleet nimbus node measurements. + - For [PR](https://github.com/vacp2p/nimbus-eth2-experimental/pull/4), over 11 days, monitored attestation success with near zero attestation drop rate, effectiveness 89% + - Investigating why opt. incl distance degrades occassionally +- `valpriv:vac:tor-push-paper` + - Added changes in https://www.overleaf.com/project/6499e467346d9f56b2971ca +- `gsub-scaling:vac:gossipsub-simulation` + - Digged deeper into the gossipsub implementation in nim-lib-p2p. + - Modified handling of large messages in the existing implementation. Modified message relaying behavior + - We relay the large messages to only d_low peers and other peer are sent an IDONTWANT message. + - Unreceived large messages are requested using IWANT message. + - We save approximately 40% bandwidth, on cost of approximately 2 RTTs to the opverall message latency +- `consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Writing the psuedocode (https://github.com/logos-co/nomos-specs/blob/Carnot-vote-aggregation/carnot/carnot-vote-aggregation.py). + - Adding discussion to the high level protocol document(https://www.notion.so/High-Level-Algorithm-6535ac0363df4629ad2c40dff4bc62cd) + +### vac:rfc: +* `status:port-status-specs` + - reviewed waku usage of status, draft of rfc + diff --git a/content/updates/2023-10-23.md b/content/updates/2023-10-23.md new file mode 100644 index 000000000..2581f31cc --- /dev/null +++ b/content/updates/2023-10-23.md @@ -0,0 +1,138 @@ +--- +title: "2023-10-23 Vac weekly" +tags: + - "vac-updates" +date: 2023-10-23 +lastmod: 2023-10-23 +draft: false +--- + +### vac:p2p: +- `admin` + - restructure +- `nimlibp2p:vac:maintenance` + - Find a fix for https://github.com/waku-org/nwaku/issues/2140 + - PR: `Test: Remove workflow for Nim Devel from "Daily"` https://github.com/status-im/nim-libp2p/pull/968 + - nim devel test will still be run daily, but in a separate CI workflow +- `nimlibp2p:vac:webrtc-transport` + - Successfully compile the full stack and start debugging. +- `nimlibp2p:vac:gossipsub-ddos-mitigation` + - https://github.com/status-im/nim-libp2p/pull/965 +- `nimlibp2p:vac:maintenance` + - Add arm64 support when running HP tests locally + - https://github.com/libp2p/test-plans/pull/311 and https://github.com/libp2p/rust-libp2p/pull/4687. (This is a blocker for: Add Hole Punching to libp2p test-plans - https://github.com/status-im/nim-libp2p/issues) + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Updating Codex "growth model" and migrating litepaper to notion w/ Codex feedback (@Matty) + - Providing fundraise (Matt Nemer) w/ high level summary of financials and token design (@Matty) +- `vac:tke::status:SNT-staking` + - Helping John with final preparation for website launch, setting up Snapshot space (@Martin) + - Ongoing w/ SC team for staking contract implementation (@Martin) + - Discussed "growth model" (economic projections) w/ John, Chandler, and finance, aligning w/ Chandlers model (@Matty) +- `vac:tke::nomos:economic-analysis` + - Finished drafting high level proposals on Private Addressing research, reviewing w/ Marcin (@Frederico) + - Returning to native delegated staking research, based on recent developments in ETH and Lido (@Fredico) +- `vac:tke::waku:economic-analysis` + - Joining Waku Reseach Sync calls going forward to stay up to date on progress w/ Sergei (@Martin) + - Reviewing Sergei's notes so far on waku-org/research, and completing followup requests from Aaryaman and Sergei + +### vac:dst: +- `wakurtosis:vac:rlog` + - Pushed changes with new results (https://github.com/vacp2p/vac.dev/commit/c67ea09ac17a6049529983ef325ae4d9c6c24e2d) +- `analysis-shadow:waku:shadow-waku-relay-analysis` + - Investigating best approach for large scale (new wakunode2 with traffic vs external RPC calls) +- `eng-10ktool:vac:bandwidth-test` + - Fix problem in multicloud-cluster: + - https://github.com/status-im/infra-misc/issues/184 + - https://github.com/k3s-io/k3s/discussions/8657 + - Check Prometheus metrics +- `software-testing:waku:test-automation-js-waku` + - New tests: + - [Relay](https://github.com/waku-org/js-waku/pull/1649) - awaiting review + - Improvements: + - Test report dashboard. [PR](https://github.com/waku-org/js-waku/pull/1668) and [deployment](https://waku-org.github.io/allure-jswaku/5700/#) - awaiting review + - Issues found: + - Nwaku [regression](https://github.com/waku-org/nwaku/issues/2147) around store cursor + - JS-waku possible issue around duplicate messages +- `software-testing:waku:test-automation-nwaku` + - Issues + - Resubscription SEGFAULT + - Reinvestigated and found it was a test case error, a `futures` issue. + - Closed [Ticket](https://github.com/waku-org/nwaku/issues/2114) + - Publishing multiple messages in a row triggers the same SEGFAULT as when refreshing a subscription. + - Same as above + - Max message sizes don't match RFC + - Reinvesitgated because some sizes weren't correct. + - Opened [Ticket](https://github.com/waku-org/nwaku/issues/2146) + - After stopping and restarting a relay node, it can't reconnect with connectRelay. + - Reinvestigated because a comment by Aaryamann. + - Opened [Ticket](https://github.com/waku-org/nwaku/issues/2145) + - Began implementing Store tests. + - Got a working GDB for NIM with VSCode integration. Not great, but it's something. + - Cleaned up Filter and Relay tests, and added missing payload size tests. + - [PR](https://github.com/waku-org/nwaku/pull/2138 +- `software-testing:waku:test-automation-go-waku` + - Wrote five tests - were added to the branch https://github.com/waku-org/go-waku/tree/chore(filterV2)-test-updates + - Reported issue "Subscription with empty contentTopic should fail" https://github.com/waku-org/go-waku/issues/810 + - Retested issues #804 and #810 - learned a lot from Prem Prathi + +### vac:acz: +- `rlnp2p:waku:rln-doc-and-outreach` + - continued work on rlog, improvements + - progcrypto sync with pse, presentation work - https://hackmd.io/wS2MAfSvSK-tnxzcriah9A +- `admin/misc` + - supporting DST, working on waku relay segfault, resolved +- `secure-channels:waku:ethereum-chat` + - Include some considerations on the extension to group chat revolving around asynchronous ratcheting trees. + - Start writing the raw version of the RFC. + - https://www.notion.so/WiP-Secure-Ethereum-Chat-f69ff155456c4fdeb719aba96fd7a +- `zerokit:vac:maintenance` + - prepared refactoring PR (https://github.com/vacp2p/zerokit/pull/219) + +### vac:sc:: +- `status:community-curation-contracts` + - Adjusted deploy script to mint mock SNT token on local node (this was needed for testing purposes) + - PR: https://github.com/status-im/community-dapp/pull/80 + - Fixed deployment script to ensure directory contracts are set in voting contracts + - https://github.com/status-im/community-dapp/pull/81 + - Fixed deployment that ensures `Multicall2` is available on local nodes as well as references for production networks + - PR: https://github.com/status-im/community-dapp/pull/82 +- `vac:sc::status:snt-staking-contract_02` + - Implement missing checks for staking lockup period + - PR: https://github.com/logos-co/staking/pull/39 + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Researching techniques for state separation and how to integrate different models. + - Researched and [posted a document](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#d75a43599f3f45d6a838527a403d9c39) on Verkle tree. + - Began research on ring signatures ([DualRing](https://eprint.iacr.org/2021/1213.pdf) and [DualDory](https://eprint.iacr.org/2023/1177)) (doc pending) +- `proofsystems:vac:research-existing-proof-systems` + - Published a new document about [Proof Creation and Verification](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#02b7fdf29dac4dc18b3f15b756c7da57) +- `proofsystems:vac:benchmarks` + - Started a draft for an article (overleaf) + - applied feedback for the Nova-Scotia PR + - Wrote the halo2 aggregation circuit (issues with testing, need more CPU power, will use DST server) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Scaled up execution of TEN multiple simultanesous torpush-validators with near zero attestation misses + - Gathering measurements from other fleet nodes (blocked at) +- `valpriv:vac:tor-push-paper` + - Added more graphs, completed abstract, comparisons in the paper. + - Still reviewing new paper to incorporate https://www.research.ed.ac.uk/en/publications/on-the-anonymity-guarantees-of-anonymous-proof-of-stake-protocols +- `gsub-scaling:vac:gossipsub-simulation` + - Modified large message handling mechanism (outlined below) for GossipSub. + - Now we send large message to randomly selected (dlow-1) peers. + - Remaining peers get idontwant message + - Missed out nodes use iwant message to pull the missing large message + - Approximately 20-25% overall message reduction achieved and 1/2 RTT latency increased for approximately 5% nodes +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Started following discussions for current gossipsub improvement direcetions +- Writing the pseudocode and addressed comments from Nomos team (https://github.com/logos-co/nomos-specs/blob/Carnot-vote-aggregation/carnot/carnot-vote-aggregation.py). + - Responded to questions raised in the high level protocol document (https://www.notion.so/High-Level-Algorithm-6535ac0363df4629ad2c40dff4bc62cd) by the nomos team. + +### vac:rfc: +- `status:port-status-specs` + - waku usage rfc - https://github.com/vacp2p/rfc/pull/627 + diff --git a/content/updates/2023-10-30.md b/content/updates/2023-10-30.md new file mode 100644 index 000000000..f5a7b488a --- /dev/null +++ b/content/updates/2023-10-30.md @@ -0,0 +1,133 @@ +--- +title: "2023-10-30 Vac weekly" +tags: + - "vac-updates" +date: 2023-10-30 +lastmod: 2023-10-30 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Debug a various problems and trying to make the E2E works. +- `nimlibp2p:vac:gossipsub-ddos-mitigation` + - https://github.com/status-im/nim-libp2p/pull/965 +- `nimlibp2p:vac:maintenance` + - Add arm64 support when running HP tests locally https://github.com/libp2p/test-plans/pull/311 and https://github.com/libp2p/rust-libp2p/pull/4687 + - Add Hole Punching to libp2p test-plans https://github.com/status-im/nim-libp2p/issues/966 + - Isolated failing tests from "Daily workflow"; Full matrix is passing now, but a lot of work on failing tests ahead + - https://github.com/status-im/nim-libp2p/issues/972 + - https://github.com/status-im/nim-libp2p/actions/runs/6663282955 + - fixed code duplicity: https://github.com/status-im/nim-libp2p/pull/968 + - Further problems identified: + - Deprecated compiler options and code usages + - No support for macos-arm64 + - Outdated go-libp2p-daemon + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Finish the Codex growth model and updated litepaper (@Matty) +- `vac:tke::status:SNT-staking` + - Following up with recent code changes SC has made (@Martin) + - Coordinating setup of Snapshot space w/ Corey who is the owner (@Martin) +- `vac:tke::nomos:economic-analysis` + - Researching rewards for validators and delegators, evaluating new private PoS (0 or 1 stake weight design) w/ Marcin (@Frederico) +- `vac:tke::waku:economic-analysis` + - Martin participating in Waku calls, follows ups on "ENS" type approach to Waku stake (@Martin) + +### vac:dst: +- `wakurtosis:vac:rlog` + - Review changes of last commits + - Built NWaku image to run new 600 nodes with no load simulations (https://ci.infra.status.im/job/nim-waku/job/docker-manual/69/) +- `analysis-shadow:waku:shadow-waku-relay-analysis` + - Worked in basic simulation with 10K Waku nodes (Pub/Sub Node) +- `analysis:nomos:simulation-analysis` + - The analysis is stable/automated, the machine runs are stable/automated, but the simulation bug(s) still effect results. (The nomos team is working on it) + - simulation runs cont' +- `eng-10ktool:vac:bandwidth-test`: + - Push as many gossipsub nodes as deliver and deliver metrics, either by + - Multiple gossipsub nodes per POD + - Pushing further number of PODs per node + - Clean up how to run it in a single bash script +- `admin/misc` + - Run simulations for zkvm team +- `software-testing:waku:test-plans` + - Added Interop tests section to all existing test plans. Ex: for [filter](https://www.notion.so/Filter-663516b5c89f47c7912ce1cb04ec2ef9?pvs=4#a0acf21ec55a40fc87fc0efa8c9f41dc) +- `software-testing:waku:test-automation-js-waku` + - Addressed and merged all open PRs + - Fixed CI [logs](https://github.com/waku-org/js-waku/pull/1687) + - Helped reproduce, investigate and retest store cursor [regression](https://github.com/waku-org/nwaku/issues/2147) +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Started building the framework for nwaku <-> gowaku interop testing +- `software-testing:waku:test-automation-nwaku` + - Store tests +- `software-testing:waku:test-automation-go-waku` + - Wrote 2 tests - were added to the branch chore(filterV2)-test-updates + - Refactored first batch of tests and closed related PR https://github.com/waku-org/go-waku/pull/811 + +### vac:acz: +- `rlnp2p:waku:rln-doc-and-outreach` + - finished progcrypto presentation - https://docs.google.com/presentation/d/1ZkiFVJ3jBalFwAzQVaYbWU9BiRb22-2k5xGIRd2jXvU/edit?usp=sharing +- `admin/misc`: + - start implementation plan on reinforced concrete hash function for zkhack +- `secure-channels:waku:ethereum-chat` + - work on RFC cont' +- `zerokit:vac:maintenance` + - fixed linting (https://github.com/vacp2p/zerokit/pull/219), merged PR + +### vac:sc:: +- `vac:maintainance/misc` + - Set up multisig for our team + - https://www.notion.so/Smart-Contract-Dev-Multisig-Wallet-bdf448b8e1424e13a463e1268b2ec294 + - Created a bunch of screencasts + - https://www.notion.so/f24bc8154bfd4757989216dde0f50af0?v=eb8f6f301de94f4889ee6179d16eaf47 +- `codex:review-codex-contracts` + - Had a call with the codex team to discuss their marketplace system + - Recording: https://drive.google.com/file/d/16QfFpgucYjIvfq0CYVGuIjJ3p5fR5rD5/view +- `status:SNT-optimism-bridge` + - Deployed SNT on Optimism + - https://optimistic.etherscan.io/address/0x650AF3C15AF43dcB218406d30784416D64Cfb6B2 + - Sent a PR to add SNT to optimism's superchain token list (and bridge) + - https://github.com/ethereum-optimism/ethereum-optimism.github.io/pull/559 +- `status:community-curation-contracts` + - Fixed a bug with how active voting rooms are being determined + - PR: https://github.com/status-im/community-dapp/pull/89 + - Add ownership capabilities to `Directory` contract + - https://github.com/status-im/community-dapp/pull/90 + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Researched techniques for harmonizing UTXO and based-account model for state separation. (Goal 1) +- `proofsystems:vac:research-existing-proof-systems` + - Researched techniques for proof creation and verification for Nova. (Goal 3) + - Readings on zkVM and how to build from scratch + - Updated Zotero with some papers and blog posts + - Preparing for Zk hack + - look into [KiloNova](https://eprint.iacr.org/2023/1579) + - drafting document comparing theoretical complexities of proof schemes we've examined (part of Nescience's Goal 3). +- `proofsystems:vac:benchmarks` + - Updated [Nova Cricuit document](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#f7b11c4ba781486f818d43af56f5240e) + - Merged the Nova-Scotia PR + - Generated srs for 28 and 27 + - Reduced the number of columns in the halo2 circut + - Continued testing of aggregation circuit + - Code Review for [Nova-Bellman](https://github.com/vacp2p/zk-explorations/pull/14) + - Finish Code Review for [Poseidon-Starky](https://github.com/vacp2p/zk-explorations/pull/16) + - Provide rough calculations for Halo2 SRS generations in discord. + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Share the internal release of tor-push validators with team for buddy testing/aspre-alpha. + - compared attestation misses of normal and torpush validators +- `valpriv:vac:tor-push-paper` + - Fixed abstract, intro, identified needed improvements for stats. +- `gsub-scaling:vac:gossipsub-simulation` + - Added staggered message sending in GossipSub implementation. + - Carried out performance evaluations for staggered sending, reduced sending https://github.com/status-im/nim-libp2p/pull/969 +- `consensus:nomos:carnot-vote-2-3rds-vote-aggregation` + - Writing the unit tests and addressed comments from Nomos team(https://github.com/logos-co/nomos-specs/blob/Carnot-vote-aggregation/carnot/test_carnot_vote_aggregation.py). + +### vac:rfc: +- `status:port-status-specs` + - added discovery usage to status-wakuv2-usage rfc - https://github.com/vacp2p/rfc/pull/627 + diff --git a/content/updates/2023-11-06.md b/content/updates/2023-11-06.md new file mode 100644 index 000000000..eb6e3dc40 --- /dev/null +++ b/content/updates/2023-11-06.md @@ -0,0 +1,146 @@ +--- +title: "2023-11-06 Vac weekly" +tags: + - "vac-updates" +date: 2023-11-06 +lastmod: 2023-11-06 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - cont. fixed segfault. +- `nimlibp2p:vac:maintenance` + - Revert https://github.com/status-im/nim-libp2p/issues/868 + - for Nimbus. A new libp2p branch was create for that https://github.com/status-im/nim-libp2p/tree/b2eac7e-and-revert-c6aa085 - https://github.com/status-im/nimbus-eth2/pull/5549 + - new Issue #975: CI workflow is failing frequently, https://github.com/status-im/nim-libp2p/issues/975, https://github.com/status-im/nim-libp2p/tree/fix/ci-workflow-stability + - in progress: PR #968: fix: move workflows for Nim Devel and legacy i386 from "Daily" + - new workflows "Daily - Devel" and "Daily - Legacy Platforms" https://github.com/status-im/nim-libp2p/pull/968 + - Issue #972: Daily workflow could fail randomly with [OSError] https://github.com/status-im/nim-libp2p/issues/972 + +### vac:tke: + - admin/misc: (7 CC conference days) + - `vac:tke::status:SNT-staking` + - Finalizing the setup & shape of Snapshot space (@Martin) + - `vac:tke::nomos:economic-analysis` + - Researching properties of rewards functions (@Frederico) + - `vac:tke::waku:economic-analysis` + - Preparing an overview of possible revenue models (@Martin) + - Monitoring Sergei's research (@Martin) + +### vac:dst: +- `wakurtosis:vac:retrospective-rlog` + - Reviewed comments; soon to publish +- `wakurtosis:vac:rlog` + - Analysis of new Wakurtosis simulations regarding the 600 nodes anomaly + - Analysis of K8 simulations regarding the 600 nodes anomaly +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - worked on Topology slices + - (added more RAM to the server) +- `analysis-shadow:waku:shadow-waku-relay-analysis` + - Run 600 nodes NWaku Shadow simulations with and without load +- `analysis:nomos:simulation-analysis` + - The network delay/bandwidth tuning, readjusting the probabilities, none of them helped. The bug(s) cannot be side-steped in any meaningful way. + - New issue: for > 10 views, the disk usage blows up. *1.7 TERABYTES*; and the output is just text files! This was quite unexpected; we now have yet another scalability issue with the nomos sim. + - spent couple of days on the Rust code and worked on adjustments. None of them helped with the bug. +- `analysis-gsub-model:vac:refactoring` + - Tuned/cleanedup to the control messages code +- `eng-10ktool:vac:bandwidth-test`: + - Machines are no longer blocked + - Added Kubernetes network policies to void having machines blocked. + - 600 node simulations with Kubernetes to try to replicate 0 rate anomaly + - Started an aproximation of waku-simulator with Kurtosis + - Meeting with Slava to investigate prometheus dropping container labeling information +- `software-testing:waku:test-automation-js-waku` + - Helped Danish with implementing the testing part of a Static Sharding [PR](https://github.com/waku-org/js-waku/pull/1697/commits/762bc5ad6ecad1d41a4aa6ca9bd6e2832a4779ee) +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - First [PR](https://github.com/waku-org/waku-interop-tests/pull/1#pullrequestreview-1714207334): + - start/stop waku docker nodes and connect them in a network + - send RPC or REST API calls and validate that messages are reaching the peers + - setup ci runs (on pr, on demand and nightly) via github actions + - allure [reports](https://waku-org.github.io/waku-interop-tests/4/) via github pages that contain test and docker log attachments for failing tests + - automated linting and code formatting + - 2 basic tests for now but will extend after the initial set of reviews +- `software-testing:waku:test-automation-nwaku` + - Moved most of the PRs, missing one. + - Implement some store tests. + - Found (and fixed) issue with default values encoding/decoding for HistoryQuery. + - bug: `assert false` SEGFAULT. + - It only triggers on some files, and imports don't seem to be related. + - bug: Stopped filter node can receive messages + - It's actually expected behaviour. + - [Issue](https://github.com/waku-org/nwaku/issues/2178) + - bug: Filter doesn't receive messages after subscribing and restarting + - [Issue](https://github.com/waku-org/nwaku/issues/2175) +- `software-testing:waku:test-automation-go-waku` + - Wrote 4 tests related to filter unsubscribe and closed the PR https://github.com/waku-org/go-waku/pull/855 + +### vac:acz: +- `rlnp2p:waku:rln-doc-and-outreach` + - Make changes as per review on rlog +- `admin/misc` + - Study the research paper on the Reinforced Concrete hash function. + - Implemented Reinforced concrete in huff - https://github.com/rymnc/reinforced-concrete-huff + - tl;dr: lesser gas consumed than poseidon (2 inputs) + - RC hash writeup on vacp2p/research - https://github.com/vacp2p/research/pull/196 +- `secure-channels:waku:ethereum-chat` + - Keep working on the comments from the team and finish the raw RFC. + - https://github.com/vacp2p/rfc/pull/626 + +### vac:sc:: +- `status:community-curation-contracts` + - Adjusted import remappings + - https://github.com/status-im/community-dapp/pull/95 + - Added Goerli OP deployment config + - https://github.com/status-im/community-dapp/pull/96 + - Deployed contracts on Goerli OP + - Verified contracts on OP Mainnet +- `vac:maintainance/misc` + - Deployed OP SNT on Goerli OP + - Created a few screen casts on deployment + - https://www.notion.so/f24bc8154bfd4757989216dde0f50af0?v=eb8f6f301de94f4889ee6179d16eaf47 + - Implemented SNT V2 which will be used to make SNT available on Sepolia + - https://github.com/status-im/status-network-token-v2/pull/1 +- `codex:review-codex-contracts` + - finished watching the call recording + - reviewed the code again based on the knoledge from call + - sent PRs based on our review + - https://github.com/codex-storage/codex-contracts-eth/pull/73 + - https://github.com/codex-storage/codex-contracts-eth/pull/74 + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Keep researching techniques for harmonizing UTXO and based-account model for state separation -> Model to model adapter (Goal 1) + - Privacy-enhancing: Prepare document comparing Dory and IPA polynomial commitment schemes. + - Research ring signatures that use Dory and IPA. +- `proofsystems:vac:research-existing-proof-systems` + - Researching techniques for proof creation and verification for Nova. (Goal 3) + - More readings on zkVM and how to build from scratch + - Preparing for Zk hack + - Done slides for ProgCrypto + - Preparing a summary of a [zk-Benchmark paper](https://eprint.iacr.org/2023/1503.pdf) +- `proofsystems:vac:benchmarks` + - Reviewed Starky implementation + - Reviewed Nova implementation + - Merged the Nova-Bellman PR (https://github.com/vacp2p/zk-explorations/pull/14) + - Merged the posiedon-starky PR (https://github.com/vacp2p/zk-explorations/pull/16) + - Reduced the number of columns in the halo2 circut + - Successfully ran shplonk implementation of poseidon halo2 circuit + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Investigated, drove measurements from other fleet nodes for latency + - Got testbed results with 10 validators, comparing and adding +- `valpriv:vac:tor-push-paper` + - Adding scaled up execution results, revise discussion + - revised [presentation](https://docs.google.com/presentation/d/10icRYX3qh_B7B1bOzDSxX6QVOLru7QsCAO8K3RXLpyg/edit?usp=sharing) +- `gsub-scaling:vac:gossipsub-simulation` + - Completed small-scale simulations for large message handling + - Created an updated PR for shadow simulation scripts https://github.com/vacp2p/dst-gossipsub-test-node/pull/3 +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Compiled things, revisited documents, and worked on presentation for logos research call on GossipSub Improvements + +### vac:rfc: +- `status:port-status-specs` + - Added the pull request for 71/STATUS-Push-Notification-Server https://github.com/vacp2p/rfc/pull/629/files (still WiP) + diff --git a/content/updates/2023-11-13.md b/content/updates/2023-11-13.md new file mode 100644 index 000000000..5c7934cea --- /dev/null +++ b/content/updates/2023-11-13.md @@ -0,0 +1,152 @@ +--- +title: "2023-11-13 Vac weekly" +tags: + - "vac-updates" +date: 2023-11-13 +lastmod: 2023-11-13 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - Dive into the Yamux/Relayv2 problem - https://github.com/status-im/nim-libp2p/pull/979 +- `nimlibp2p:vac:maintenance` + - Add Hole Punching to libp2p test-plans https://github.com/status-im/nim-libp2p/issues/966 and https://github.com/libp2p/test-plans/pull/322 + - Yamux doesn't work in a Relayv2 connection https://github.com/status-im/nim-libp2p/pull/ + - Single-board computer (SBC) support https://github.com/status-im/nim-libp2p/issues/978 + - ARM64/aarch64 support https://github.com/status-im/nim-libp2p/issues/980 + - Test Plans repo fork updated and resources to run tests requested https://github.com/status-im/libp2p-test-plans + - Implementing Nimble lock file functionality https://github.com/status-im/nim-libp2p/issues/975 https://github.com/status-im/nim-libp2p/tree/fix/ci-workflow-stability + - fix: move workflows for Nim Devel and legacy i386 from "Daily" -> workflows renamed to "Nim Devel" and "Legacy Platforms" https://github.com/status-im/nim-libp2p/pull/968 + - Daily workflow could fail randomly with [OSError] https://github.com/status-im/nim-libp2p/issues/972 +- `nimlibp2p:vac:webrtc-transport` + - Fix read/write on the DTLS + - Retrieve the remote certificate + - Start creating a way to log packets behind the DTLS encryption into pcap file in order to make it readable with wireshark + - WebRTC is done. WebRTC for libp2p isn't: + - chrome://webrtc-internals/ show no errors, neither wireshark. + - But libp2p spec requires a weird handshake that I haven't finished yet + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Meeting with Codex on token allocation (@Matty) + - Review Codex modeling and litepaper with Codex (all) + - One-pager draft requested by Matt Nemer for fundraising purposes (@Matty) +- `vac:tke::status:SNT-staking` + - Managing snaphot for Status go-live this week (@Martin) + - Reviewing and updating Cyprien's governance proposal draft (all) + - Status growth modeling followup discussion (@Matty) +- `vac:tke::nomos:economic-analysis` + - Continuing research of PoS economics and token distributions (@Frederico) +- `vac:tke::waku:economic-analysis` + - Monitoring Sergei's research (@Martin) + - Waku growth monitoring (@Martin) + +### vac:dst: +- `wakurtosis:waku:gossipsub-topology-analysis` + - Generated shadow simulation topology slices +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - Run 35K nodes simulation in shadow with low traffic + - Implemented constant traffic in the node +- `analysis:nomos:simulation-analysis` + - sync with Moh and Nomos + - Nomos sim team now has eveything to reproduce and fix the bug: exact configs and access to full runs + - Suggested improvements to the data output that will reduce both the memory and disk overload of nomos simulation by orders of magnitude. Moh and Gusto agree that this will work. + - Wrapped up the nomos analysis for now: waiting for the sims team to finish fixing the bugs +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - Wrote an analysis script that can read graphs generated by Shadow runs +- `analysis-gsub-model:status:control-messages` + - started write up on old and new Waku-models +- `eng-10ktool:vac:bandwidth-test`: + - Add publishing waku messages with Kubernetes + - Tried to fix Prometheus labeling + - Keep investigating 0 rate anomaly with Kubernetes + - Meet with Florin to talk about tool repositories + - Ran 4.5k waku nodes with no traffic +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Merged 1st [PR](https://github.com/waku-org/waku-interop-tests/pull/1) + - Draft 2nd [PR](https://github.com/waku-org/waku-interop-tests/pull/2): + - add more tests (17 ATOW) + - framework improvements and adjustments as the number of tests increase + - gowaku issues found: + - failures with relay [get-messages](https://github.com/waku-org/go-waku/pull/878) API + - response message contains extra [redundant fields](https://github.com/waku-org/go-waku/pull/888) compared with what is published + - REST API HTTP 500 [Internal Server Error](https://github.com/waku-org/go-waku/pull/880) when publishing messages + - Docker DEBUG logs [floaded](https://github.com/waku-org/go-waku/pull/881) in certain conditions + - nwaku issue found : container [crashes](https://github.com/waku-org/nwaku/issues/2198) when a message is published with malformed timestamp + - rest-api-specs issue found: [missing fields](https://github.com/waku-org/waku-rest-api/pull/2) in the REST API schema +- `software-testing:waku:test-automation-nwaku` + - Updated last PR, missing reviewer responses. + - Investigating `assert false`: Ivan took charge of that task; found it doesn't happen anymore (will write notes on the issue to resume investigation later) + - Picking up pace with store tests. + - Investigate a `PEER_DIAL_FAILURE` error in `store`; Happens when `archive` isn't mounted (unexpected); Not yet reported. +- `software-testing:waku:test-automation-go-waku` + - Wrote 2 tests related to filter unsubscribe all https://github.com/waku-org/go-waku/pull/875 + - Wrote string generator functions for tests with variable data https://github.com/waku-org/go-waku/pull/879 + +### vac:acz: +- `admin/misc` + - @ devconnect, **participated in zk-hack, submitted https://devfolio.co/projects/reinforced-concrete-implementations-e82e, won a bounty from polygon** + - updated rln to use RC, significantly lower constraints, we can potentially bring down proof generation ti +- `rlnp2p:waku:rln-doc-and-outreach` + - **vac blog post: https://vac.dev/rlog/rln-anonymous-dos-prevention/** +- `secure-channels:waku:ethereum-chat` + - Improving the raw RFC by writing it in terms of Noise, including: X3DH. XEdDSA. Double Ratchet. ADKG. https://github.com/vacp2p/rfc/tree/ethsecpm_improvements +- `rlnp2p:waku:multi-epoch-constraints` + - Keep working on the multi-constrained epoch project. +- `zerokit:vac:maintenance` + - merged PR 220 + +### vac:sc:: +- `vac:maintainance/misc` + - Recorded new screen casts + - Started working on presentation for Research Call + - mostly working in the Discover bug + - contacted dapp deployer + - started a postmortem that I'm updating + - just exported a full list of dapps and contact +- `status:governance-contract-mvp` + - reseach and development; proposal types + - implemented delegation + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Still researching techniques for harmonizing UTXO and based-account model for state separation (delays due to Istanbul trip) + - Research for privacy enhancing (from state separation document): ring signatures (Dory, IPA) assuming Nova. + - For Flexibility Operation: researching Verkle trees implementation in other blockchains. + - Drafting document for privacy enhancing. +- `proofsystems:vac:research-existing-proof-systems` + - Researching techniques for proof creation and verification for Nova. (Goal 3) + - Preparing for Zk hack + - Preparing for ProgCrypto +- `proofsystems:vac:benchmarks` + - Wrote a GWC implementation of poseidon circuit for halo2 + - Successfully ran GWC implementation of poseidon halo2 circuit + - Researched GPU halo2 enhancement for our own possible use (https://github.com/kroma-network/tachyon/tree/main/vendors/halo2) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Got separate measurements for aggregate vs attestation, Pushed all duties' broadcasts on tor. + - Managed to get libp2p logs from other nimbus fleet machine. Large files, need to process them +- `valpriv:vac:tor-push-paper` + - Ready to share the paper. Finishing adding new results + - Updating presentations, simplifying the slides. +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - revisited documents, and worked on presentation for logos research call on GossipSub Improvements. + - Based on the feedback from the logos research call, revisited nim-libp2p documentation, codebase etc. +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Started revisiting the GossipSub improvement paper to reflect current work and finalize writeup (Still work in progress. will need 1-2 more days to reflect in overleaf document). + - Requested the DST team for initial simulation. I intend to use the outcomes to finalize test patterns. + - **published Vac blog post: https://vac.dev/rlog/GossipSub%20Improvements/** +- `zk:codex:storage-proofs-open-problems-review` + - Review [Groth16](https://github.com/codex-storage/zk-research-artifacts/blob/master/notes/groth16/groth16-notes.pdf) notes for Codex + +### vac:rfc: +- `status:port-status-specs` + - Removed mailserver from 71/STATUS-PUSH-NOTIFICATION RFC https://github.com/vacp2p/rfc/pull/629 + - Added references to 71/STATUS-PUSH-NOTIFICATION RFC https://github.com/vacp2p/rfc/pull/629 + - Did first read of 10/WAKU-USAGE looking for improvements +- `waku:waku-keystore` + - Created outline + - Created draft pull request - https://github.com/vacp2p/rfc/pull/631 + diff --git a/content/updates/2023-11-20.md b/content/updates/2023-11-20.md new file mode 100644 index 000000000..fafd9ffa9 --- /dev/null +++ b/content/updates/2023-11-20.md @@ -0,0 +1,123 @@ +--- +title: "2023-11-20 Vac weekly" +tags: + - "vac-updates" +date: 2023-11-20 +lastmod: 2023-11-20 +draft: false +decription: "Publicly Engaging Highlights: presentations @ Progcrypto https://progcrypto.org/ on RLN; Validator Privacy; Nescience" +--- + +### Publicly Engaging Highlights +- **presentations @ Progcrypto https://progcrypto.org/** on + - RLN + - Validator Privacy + - Nescience + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - Add Hole Punching to libp2p test-plans - https://github.com/status-im/nim-libp2p/issues/966 and https://github.com/libp2p/test-plans/pull/322 + - fix: remove unittest2 range - https://github.com/status-im/nim-libp2p/pull/986 + - fix: doc workflow - https://github.com/status-im/nim-libp2p/pull/985 + - fix(dcutr): make the dcutr client inbound and the server outbound - https://github.com/status-im/nim-libp2p/pull/983 + - fix(interop-tests): don't hardcode x86_64 for native - https://github.com/libp2p/rust-libp2p/pull/4862 + - conflicting dependency resolution - https://github.com/nim-lang/nimble/issues/116 + - implementing Yamux update window: https://github.com/status-im/nim-libp2p/pull/987 + - Research VM hosting providers - to execute perf tests https://docs.google.com/spreadsheets/d/1VL6QpDdBgYC1Ld0Nr-cpNv9bRht3nQkBQUF1pNerBDs/edit?usp=sharing + - working on several CI issues + - Testing Nimble lock file - deps download consistent across platforms; https://github.com/status-im/nim-libp2p/issues/975 + - fix: move workflows for Nim Devel and legacy i386 from "Daily" -> workflows renamed to "Nim Devel" and "Legacy Platforms" https://github.com/status-im/nim-libp2p/pull/968 + - Daily workflow could fail randomly with [OSError] https://github.com/status-im/nim-libp2p/issues/972 +- `nimlibp2p:vac:webrtc-transport` + - Log decyphered packet + - Failing to directly write a pcap file (it's far more complicated than it looks) + - Failing to use the SSLKEYLOGFILE interaction between browser & wireshark + - Start writing a self-made logger to understand where it fails + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Finish litepaper edits from Frederico and Martin review + - Ping Codex on litepaper, followup discussion (@Matty) +- `vac:tke::status:SNT-staking` + - Confirm with Agata on responses to the governance forum posts (@Matty) + - Meet w/ John to plan out next steps post-website launch +- `vac:tke::nomos:economic-analysis` + - Continuing research of PoS economics and token distributions, participating in Nomos offsite discussions (@Frederico) +- `vac:tke::waku:economic-analysis` + - DevConnect and Waku offsite (@Martin) + - Researching EigenTrust use for Waku reputation system (@Matty) + +### vac:dst: +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - cont' with various simulation runs; does not scale to larger message sizes because of RAM limit (a burst of nine 500KB msgs, 500 nodes was too much for 256GB RAM) +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Addressed review comments and merged 2nd [PR](https://github.com/waku-org/waku-interop-tests/pull/2) to reach 27 tests for relay publish + - Draft 3rd [PR](https://github.com/waku-org/waku-interop-tests/pull/4): + - make framework support dynamic number of nodes + - add multi-node tests (that work on any number of nodes) + - Multiple issues found: + - gowaku: + - 2 regressions (container sometimes crashes + log spam) on lastest [master](https://github.com/waku-org/go-waku/pull/907) + - REST API error handling [discrepancies](https://github.com/waku-org/go-waku/issues/914) + - nwaku: + - REST API request [fails](https://github.com/waku-org/nwaku/issues/2214) if request contains meta or rate_limit_proof fields + - rest-api-specs: [missing fields](https://github.com/waku-org/waku-rest-api/pull/2#discussion_r1392515237) in the REST API schema +- `software-testing:waku:test-automation-js-waku` + - Add summary with link to report to the js-waku CI test [job](https://github.com/waku-org/js-waku/pull/1724) +- `software-testing:waku:test-automation-nwaku` + - PR Train Merged + - [PR 2085](https://github.com/waku-org/nwaku/pull/2085) + - [PR 2095](https://github.com/waku-org/nwaku/pull/2095) + - [PR 2096](https://github.com/waku-org/nwaku/pull/2096) + - [PR 2101](https://github.com/waku-org/nwaku/pull/2101) + - [PR 2138](https://github.com/waku-org/nwaku/pull/2138) + - Fix compilation and tests failing after PR train + - [PR 2222](https://github.com/waku-org/nwaku/pull/2222) + - [PR 2224](https://github.com/waku-org/nwaku/pull/2224) + - Implementing store tests +- `software-testing:waku:test-automation-go-waku` + - Wrote 7 tests related to filter push - valid data https://github.com/waku-org/go-waku/pull/904 + - Test fixes to extend message timeout https://github.com/waku-org/go-waku/pull/911 + +### vac:acz: +- `rlnp2p:waku:rln-doc-and-outreach` + - **presented RLN @ Progcrypto** +- `secure-channels:waku:ethereum-chat` + - Worked towards moving the algorithms involved in the Ethereum chat to Noise terms. In particular: XEdDSA and DR. + - Start working on ADKG. https://www.notion.so/WiP-ADKG-e83e24612abc41a7bf292e96660ab833 +- `zerokit:vac:maintenance` + - fixed nightly zerokit build failure + - merged PR 223 (https://github.com/vacp2p/zerokit/pull/223) + +### vac:sc:: +- `vac:maintainance/misc` + - Review Certora PR for OP SNT repository +- `status:community-contracts-maintenance` + - Redeployed contracts to Goerli for updated version https://github.com/status-im/communities-contracts/pull/23 + - Deployed contracts to Arbitrum Goerli and Arbitrum Sepolia + - Verified contracts on Sepolia +- `status:token-import` + - started working on the Vault contract + +### vac:nescience: +- `proofsystems:vac:benchmarks` + - **present Nescience @ progcrypto** + - Prepared a PR for a GWC implementation of poseidon circuit for halo2 https://github.com/vacp2p/zk-explorations/pull/17 + - Prepared a PR for a SHPLONK implementation of poseidon circuit for halo2 https://github.com/vacp2p/zk-explorations/pull/18 +- `state-separation:vac:state-separation-doc` + - Research mimblewimble (part of enhanced privacy) + - Research verkle trees specific to kzg and ipa (part of flexibility in operations, and joint with Codex's future needs) + +### vac:dr: +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Completed the GossipSub improvements paper, with the exception of the results and discussion part. Reflected the feedback and current works as well. +- `valpriv:vac:tor-push-poc` + - **talk @progcrypto** + +### vac:rfc: +- `status:port-status-specs` + - Updated 71/STATUS-PUSH-NOTIFICATION RFC https://github.com/vacp2p/rfc/pull/629 +- `waku:waku-keystore` + - Updated draft - https://github.com/vacp2p/rfc/pull/631 + + diff --git a/content/updates/2023-11-27.md b/content/updates/2023-11-27.md new file mode 100644 index 000000000..42c805cc8 --- /dev/null +++ b/content/updates/2023-11-27.md @@ -0,0 +1,123 @@ +--- +title: "2023-11-27 Vac weekly" +tags: + - "vac-updates" +date: 2023-11-27 +lastmod: 2023-11-27 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Dig into the secure/noise part of libp2p + - Write a prologue with the client and server certificates in the noise protocol +- `nimlibp2p:vac:maintenance` + - Yamux window size configurable + - Fix yamux / relay interaction; Add Hole Punching to libp2p test-plans https://github.com/status-im/nim-libp2p/issues/966 and https://github.com/libp2p/test-plans/pull/322 + - fix(yamux): yamux uses wrong direction during dcutr https://github.com/status-im/nim-libp2p/pull/992 + - fix(multiaddress): add quic-v1 multiaddress support https://github.com/status-im/nim-libp2p/pull/988 + - fix(dcutr): handle tcp/p2p addresses https://github.com/status-im/nim-libp2p/pull/989 + - fix(identify): do not add p2p and relayed addrs to observed addr manager https://github.com/status-im/nim-libp2p/pull/990 +- `nimlibp2p:vac:maintenance` + - new issue: Cannot run tests on Apple M1 MacOS https://github.com/status-im/nim-libp2p/issues/993 + - Research VM hosting providers - Akash Network added https://docs.google.com/spreadsheets/d/1VL6QpDdBgYC1Ld0Nr-cpNv9bRht3nQkBQUF1pNerBDs/edit?usp=sharing + - CI workflow is failing frequently Testing Nimble lock file - resolving Nimble install issues on Windows + - https://github.com/status-im/nim-libp2p/issues/975 + - https://github.com/status-im/nim-libp2p/tree/fix/ci-workflow-stability + - https://discord.com/channels/864066763682218004/1172153963559260231 + - fix: move workflows for Nim Devel and legacy i386 from "Daily" -> comments about to be resolved + - should the version be pinned?: https://github.com/status-im/nim-libp2p/pull/968 + +### vac:tke: +- `vac:tke::nomos:economic-analysis` + - Frederico has been joining in remotely to relevant talks at Nomos offsite + - Continuing research of PoS economics and token distributions, posted some initial simulation results, evolving further (@Frederico) +- `vac:tke::waku:economic-analysis` + - Martin returning from DevConnect and Waku offsite, will formulate followups for next steps + - Share EigenTrust python implementation w/ Sergei, and adapt for client-server type systems (@Matty) + +### vac:dst: +- `analysis-shadow:vac:shadow-gossipsub-analysis` + - cont' simulations (500kb msgs, 4 chunks, 250 nodes) +- `eng-10ktool:vac:bandwidth-test`: + - Write experiments in notion + - Investigate CPU bottleneck in 3rd machine + - Changed waku deployment to work in batches + - Syncronized gossipsub nodes injection for better comparisons with waku + - Run 1k simulation for comparison and gather data +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Implemented and merged [3rd](https://github.com/waku-org/waku-interop-tests/pull/4) and [4th](https://github.com/waku-org/waku-interop-tests/pull/5) PRs : + - make framework support dynamic number of nodes + - add multi-node tests (that work on any number of nodes) + - subscribe / unsubscribe tests + - reached [43 tests](https://waku-org.github.io/waku-interop-tests/63/) + - Issues reported: + - re-subscribe to previously unsubscribed topic [fails](https://github.com/waku-org/go-waku/issues/922) + - logs are [floaded](https://github.com/waku-org/go-waku/issues/923) + - started writing document on Waku implementations [diffs](https://www.notion.so/Nwaku-vs-Gowaku-vs-Jswaku-diffs-b3e0e8f1e6cd4c6d9855b0c3c4634bc5) +- `software-testing:waku:test-automation-nwaku` + - Remove duplicated code + - [PR](https://github.com/waku-org/nwaku/pull/2234) + - Finish implementing store tests + - [PR 1](https://github.com/waku-org/nwaku/pull/2235) + - [PR 2](https://github.com/waku-org/nwaku/pull/2240) + - Sqlite Bug: Not saving `WakuMessage.ephemeral` + - [Issue](https://github.com/waku-org/nwaku/issues/2241) +- `software-testing:waku:test-automation-go-waku` + - wrote 5 tests related to filter push and relay - invalid data https://github.com/waku-org/go-waku/pull/916 + +### vac:acz: +- `secure-channels:waku:ethereum-chat` + - Getting familiar with treekem as a possible solution for the group chat scenario. + - Write a document on TreeKEM vs ADKG +- `admin/misc` + - Started a comparison between Waku specifications https://www.notion.so/Comparison-Waku-35-Waku-37-5ee9aac6cc72466a95d624865a561da6 +- `zerokit:vac:maintenance` + - worked on a PR to update multiplier (https://github.com/vacp2p/zerokit/pull/224) + +### vac:sc:: +- `vac:maintainance/misc` + - Worked on getting the Cetora CI integration into mergable state and landed it https://github.com/vacp2p/minime/pull/43 + - Added Certora CI integration to our foundry template https://github.com/vacp2p/foundry-template/pull/10 + - Working through the Certora tutorials to learn CVL +- `status:communites-contracts-maintenance` + - Added Certora CI integration and reactivate old formal verification rules https://github.com/status-im/communities-contracts/pull/24 + - finished testing CommunityVault https://github.com/status-im/communities-contracts/pull/22 +- `status:status-network-token-v2` + - Refactored token controller and added `destroyTokens` API https://github.com/status-im/status-network-token-v2/pull/1 +- `status:governance-contract-mvp` + - implement Proposal.sol contract + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Working on a review of all L2 and Zk Rollups that are trying to do "state separation" + - Researching how to build a UTXO to Account based adapter and viceversa + - Compiled documents on research topics: Verkle trees, enhanced privacy + - studied about dual architecture L2 from its docs; created a report about it; includes some questions +- `proofsystems:vac:benchmarks` + - Fixed comments on a PR for a GWC implementation of poseidon circuit for halo2 https://github.com/vacp2p/zk-explorations/pull/17 + - Research PoC ProtoGalaxy implementation (https://github.com/arnaucube/protogalaxy-poc) + - Reviewed [Halo2-GWC PR](https://github.com/vacp2p/zk-explorations/pull/18). + - Reviewed [Halo2-SHPLONK PR](https://github.com/vacp2p/zk-explorations/pull/17). +- `proofsystems:vac:research-existing-proof-systems` + - Started researching BaseFold (https://eprint.iacr.org/2023/1705.pdf) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - Results for different machines were not found for given signatures for latency. Probably the logs are processed in different timewindow; investigating +- `valpriv:vac:tor-push-paper` + - Finalizing and updating changes, better figures +- `gsub-scaling:vac:gossipsub-improvements-paper` + - worked on different performance evaluation metrics, and finalized their implementation in simulation scripts. The details are reflected in 'Results and Discussion' section + - Finalized simulation scenarios, and corresponding theoratical estimates. The details are reflected in 'Results and Discussion' section + +### vac:rfc: +- `status:port-status-specs` + - Updated photo names and location in 71/STATUS-PUSH-NOTIFICATION RFC https://github.com/vacp2p/rfc/pull/629 + - apply feedback + - whisper mailserver - https://github.com/jimstir/rfc/blob/mailserver1/content/docs/rfcs/mailserver.md https://github.com/jimstir/rfc/blob/mailserver1/content/docs/rfcs/whipser-mailserver.md +- `waku:waku-keystore` + - Fixed Draft, ready for review - https://github.com/vacp2p/rfc/pull/631 +- `admin/misc` + - looked for improvements for COSS - https://github.com/jimstir/rfc/tree/1/COSS-Improvements/content/docs/rfcs/1 + diff --git a/content/updates/2023-12-04.md b/content/updates/2023-12-04.md new file mode 100644 index 000000000..e8d2bc72b --- /dev/null +++ b/content/updates/2023-12-04.md @@ -0,0 +1,130 @@ +--- +title: "2023-12-04 Vac weekly" +tags: + - "vac-updates" +date: 2023-12-04 +lastmod: 2023-12-04 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Trying to make the last handshake work: + - Re-write the webrtc-transport + - Re-write datachannel to understand why the webrtc doesn't connect + - Spend some time on the noise protocol + - It appears the problem comes from SCTP +- `nimlibp2p:vac:maintenance` + - Add Hole Punching to libp2p test-plans https://github.com/status-im/nim-libp2p/issues/966 and https://github.com/libp2p/test-plans/pull/322 + - fix(dcutr): update the DCUtR initiator transport direction to Inbound https://github.com/status-im/nim-libp2p/pull/ +- `nimlibp2p:vac:maintenance` + - fix: remove forgotten "matrix-prep" job https://github.com/status-im/nim-libp2p/pull/997 + - VM hosting providers updated https://www.notion.so/991bb915e4634248a764832e56f53160?v=24979d84f52f4df2b779bf5eb24ec3c5&pvs=4 + - Project requirements for P2P CI added https://www.notion.so/782270f71b72438e963e0e5ef73358d9?v=5560c9000535403c9f72862eb9775ff9&pvs=4 + - CI workflow is failing frequently; Testing Nimble lock file - Installed Windows 2019 - resolving Nimble install issues on Windows + - https://github.com/status-im/nim-libp2p/issues/975 + - https://github.com/status-im/nim-libp2p/tree/fix/ci-workflow-stability + -https://discord.com/channels/864066763682218004/1172153963559260231 + - fix: move workflows for Nim Devel and legacy i386 from "Daily" -> comments resolved, commits resubmited with GPG signature https://github.com/status-im/nim-libp2p/pull/968 + - Investigate flaky tests issue [PR](https://github.com/status-im/nim-libp2p/pull/995) [Ongoing discussion] + +### vac:tke: +- `vac:tke::codex:economic-analysis` + - Still waiting for further Codex feedback on next steps for litepaper +- `vac:tke::status:SNT-staking` + - This week followup with SC team on staking contract implementation (may be delayed due to Martin out with covid) +- `vac:tke::nomos:economic-analysis` + - Offsite documents will be released this week, Frederico will review and participate in their planning meeting for next steps on week and month +- `vac:tke::waku:economic-analysis` + - Discussed EigenTrust reputation with Sergei, deprioritzed to first design simpler system + - Martin still out, when back will sync w/ Waku team for offsite debrief and identify next steps + - For now, TE team is actively commenting on Sergei's github issues to formalize Waku specs + +### vac:dst: +- `analysis-gsub-model:vac:refactoring` + - The different cases and runs can now be partly automated +- `eng-10ktool:vac:bandwidth-test`: + - Run more simulations, do more in depth analysis + - Update repositories with latest changes + - Update notion information regarding Kubernetes cluster + - Created plots and put everything in notion (https://www.notion.so/Results-dec50e8dc3e5426ab4f34c712de0b4f +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Filter subscribe [PR](https://github.com/waku-org/waku-interop-tests/pull/6): + - covers subscribe creation and update + - reached [67 tests](https://waku-org.github.io/waku-interop-tests/67/) + - Issue reported gowaku: encoding/hex: odd length hex string [error when subscribing](https://github.com/waku-org/go-waku/issues/928) + - Issue reported nwaku: pubsubTopic not required as described in the [specs](https://github.com/waku-org/nwaku/issues/22) +- `software-testing:waku:test-automation-nwaku` + - Begin lightpush tests [PR - WIP](https://github.com/waku-org/nwaku/pull/2269) + - Found a Lightpush.publish attribute type bug [Issue](https://github.com/waku-org/nwaku/issues/2253) + - `direction` attribute related functionality + - [PR](https://github.com/waku-org/nwaku/pull/2263) + - Refactor from `ascending` to `direction` for consistency + - `HistoryQuery.direction` Default value fix + - `direction` attribute from `bool` to `enum` + - Merged [PR](https://github.com/waku-org/nwaku/pull/2234) +- `software-testing:waku:test-automation-go-waku` + - Wrote 5 tests related to filter - coverage improvement https://github.com/waku-org/go-waku/pull/931 + - Opened & got fixed issue "unsubscribe all with unrelated peer" https://github.com/waku-org/go-waku/issues/933 + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancments` + - work on retry strategy for rpc calls in rln-relay: https://github.com/waku-org/nwaku/issues/2217 +- `secure-channels:waku:ethereum-chat` + - Completion of the group chat approach using UPKE. + - Inclusion of an elliptic-curve variation of UPKE. + - Improvements on the RFC and solving questions from Waku team. + - created a document about comparison treeKEM and ADKG in terms of security, complexity, and additional features. [(WIP)](https://www.notion.so/WiP-The-differences-between-TreeKEM-3-and-ADKG-2-39fb053c53c1450d907e8345a8f7308e?pvs=4) +- `zerokit:vac:maintenance` + - researched issue https://github.com/vacp2p/zerokit/issues/78 +- `admin/misc` + - investigate having the membership tree onchain: https://github.com/waku-org/research/issues/56 + - worked with waku to have the membership tree onchain, successfully integrated in https://github.com/vacp2p/rln-contract/pull/31, moved to foundry template as well (will sync with SC unit) + +### vac:sc:: +- `status:status-network-token-v2` + - Some cleanup https://github.com/status-im/status-network-token-v2/pull/2 + - Added certora integration for CI https://github.com/status-im/status-network-token-v2/pull/3 + - Added sepolia deployment config https://github.com/status-im/status-network-token-v2/pull/4 + - Deployed SNTV2 on Sepolia + - https://sepolia.etherscan.io/address/0xE452027cdEF746c7Cd3DB31CB700428b16cD8E51 + - https://github.com/status-im/status-network-token-v2/pull/6 +- `vac:maintenance:misc` + - Added certora integration for CI to `governance` https://github.com/vacp2p/governance/pull/3 + - Researched SAT and SMT solvers to get a better understanding of how Certora works + - Deployed OP SNT to OP Sepolia + - PR for bridge UI https://github.com/ethereum-optimism/ethereum-optimism.github.io/pull/591 + - PR for addresses and sepolia config https://github.com/logos-co/optimism-bridge-snt/pull/29 + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Worked on different L2 and Rollups focusing on privacy (Az, Pol, Zc) + - Looking on UTXO - Account based traslation (Car) + - Verkle tree document [(WIP)](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#d75a43599f3f45d6a838527a403d9c39) + - Begin to survey newer PCSs to see if any may yield better results than KZG. [1](https://eprint.iacr.org/2022/420.pdf), [2](https://eprint.iacr.org/2023/917), [3](https://eprint.iacr.org/2021/1043.pdf) + - Begin reading [VM SMT](https://eprint.iacr.org/2023/1762.pdf) + - Delved into the L2 protocol and understood how they use hybrid states and UTXO based execution. And extract some insight from the architecture. + - Documented L2 protocol and its hybrid execution [(WIP)](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#30af77482f38414f8436f81d3b5e59af) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - aggregation, block proposal time, tor diagnostic to consider and add. +- `valpriv:vac:tor-push-paper` + - Finalizing, adding discussion, revising figures +- `gsub-scaling:vac:gossipsub-improvements-paper` + - carried out experiments on shadow simulator for GissipSub improvements paper. The experiments check the performance of proposed schemes against increasing network size, increasing message sizes and increasing publishers. + - Most of the simulations are done successfully. Some large simulations may take 1-2 more days + +### vac:rfc: +- `status:port-status-specs` + - Created short summaries, added some new abstracts, added references - https://github.com/vacp2p/rfc/pull/640 + - https://github.com/vacp2p/rfc/pull/639 + - https://github.com/vacp2p/rfc/pull/638 + - https://github.com/vacp2p/rfc/pull/637 + - https://github.com/vacp2p/rfc/pull/636 + - https://github.com/vacp2p/rfc/pull/635 + - https://github.com/vacp2p/rfc/pull/634 + - https://github.com/vacp2p/rfc/pull/633 +- `waku:waku-usage` + - Updated waku2 usage - https://github.com/vacp2p/rfc/pull/6 + diff --git a/content/updates/2023-12-11.md b/content/updates/2023-12-11.md new file mode 100644 index 000000000..670d7d1bc --- /dev/null +++ b/content/updates/2023-12-11.md @@ -0,0 +1,109 @@ +--- +title: "2023-12-11 Vac weekly" +tags: + - "vac-updates" +date: 2023-12-11 +lastmod: 2023-12-11 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Debugging SCTP +- `nimlibp2p:vac:maintenance` + - Yamux + - Re-write misleading parts (eg sendQueueSize) + - Start writing explanations/comments + - cont' https://github.com/status-im/nim-libp2p/pull/987 + - added the hp tests to nim-libp2p (they run with every PR) + - working on the nim-libp2p releases + +### vac:tke: +- `vac:tke::status:SNT-staking` + - Resuming conversation with SC team on staking contract and Certora training + - starting to discuss with Pablo on Waku sharding to support decentralized scaling of Status +- `vac:tke::nomos:economic-analysis` + - Incorporating changes in consensus from Carnot to Ouroboros + - Research how delegation is used in comps of Cardano, Polkadot, and EigenLayer, compared against privacy restrictions given Nomos objectives +- `vac:tke::waku:economic-analysis` + - Sharding discussion w/ Pablo on Waku + - Continuing GitHub issue feedback on Waku incentives and reputation (bottom up approach) + - Also start a business model analysis and implications for next steps with the protocol (top down approach) + +### vac:dst: +- `analysis:nomos:simulation-analysis` + - The goals and the responsibilities for the paper reaffirmed + - Analysis correctly and switfly found parameter issues in the small-tree simulations (which follow a different control path); met with Gusto and it is fixed now +- `analysis-gsub-model:vac:refactoring` + - 95% done, barring minor stylistics and input re-structuring branch(https://github.com/vacp2p/research/tree/0xFugue-waku-scaling-rewrite) +- `analysis-gsub-model:status:control-messages` + - The blog post is one 20% done: the overall design of Waku explained and modelling focus defined draft(https://github.com/vacp2p/vac.dev/tree/0xFugue-waku-model) +- `eng-10ktool:vac:bandwidth-test`: + - Test new kernel parameters + - Investigame uptimes for ram on simulations + - Investigate packets drop + - Solve issues with libp2p versions (https://www.notion.so/Notes-423c72646a0944d1bd7889d7dec30bb4) +- `software-testing:waku:test-automation-nwaku` + - Continued implementing lightpush tests + - Decided on way forward with `direction` refactor PR: Merge. + - Lightpush SEGFAULT on publishing message over size limit; [Issue](https://github.com/waku-org/nwaku/issues/2271) + +### vac:acz: +- `admin/misc` + - participate @ waku hackerhouse, ethindia +- `rlnp2p:waku:rln-relay-enhancments` + - assist in benchmarking rln tree onchain, report: https://github.com/waku-org/research/issues/72 +- `secure-channels:waku:ethereum-chat` + - Familiarization with RFC9420 and RFC9180. + - Confection of several comparisons to get to SoA: + - TreeKEM vs ART. + - HPKE vs UPKE. + - Work on using Ethereum as Authentication Service. + - Created a document about Farcaster's Async Triple-Ratchet Protocol [(WIP)](https://www.notion.so/WiP-Farcaster-s-Async-Triple-Ratchet-Protocol-ATR-a940e4f944fd40a8a8e039a47431bb9b?pvs=4) + - Researching about Triple-Ratchet protocol from literature. +- `zerokit:vac:maintenance` + - researched issue https://github.com/vacp2p/zerokit/issues/115 + +### vac:sc:: +- `vac:maintainance/misc` + - Continued researching Certora and formal verification + - reviewed old Certora specs + - Exploring Requirements for Smart Contracts in a Privacy-preserving Environment (for logos research call) + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Researched different L2 and Rollups focusing on privacy (Az, Pol, Zc, Nmd, Ada) + - Reviewed Az Ugur's doc + - Discussed on Zc for a proposal model + - Produced a full doc on [Pol architecture](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#3bd6854511f04c46804e9c465e76230c) + - Continue with Verkle tree document for complexity estimates for various cases. + - Wrote brief survey on (newer PCSs) (Pending upload): [1](https://eprint.iacr.org/2022/420.pdf), [2](https://eprint.iacr.org/2023/917), [3](https://eprint.iacr.org/2021/1043.pdf) + - Continued reading [VM SMT](https://eprint.iacr.org/2023/1762.pdf) + - Began reading [towers over binary fields](https://eprint.iacr.org/2023/1784) + - researched how to update the public state by a private execution + - Worked on a proposal about a public state that we can update by a private TX + - Read about how Zcash update their public state + - Check a [paper about Zcash-like execution on Ethereum](https://arxiv.org/pdf/1904.00905.pdf) +- `proofsystems:vac:benchmarks` + - Fixed comment for a PR for GWC implementation of poseidon circuit for halo2 https://github.com/vacp2p/zk-explorations/pull/17 + - Fixed comment for a PR for SHPLONK implementation of poseidon circuit for halo2 https://github.com/vacp2p/zk-explorations/pull/18 + - Fixed github issues on zk-explorations repo +- `proofsystems:vac:research-existing-proof-systems` + - Writing BaseFold writeup (https://eprint.iacr.org/2023/1705.pdf) + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - separate measurement for aggregation from attestation, block proposal, sync committee. +- `valpriv:vac:tor-push-paper` + - Shared to-be-submitted arxiv version +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Completed simulations for relatively large network (upto 6000 nodes with 50KB and upto 1000 nodes with 1MB messages), on DST test server + - Result analysis is complete. Looking into one anomaly (increased latency seen for approximately 1% nodes in Reduced Sending method) + - Finalizing graphs and results presentation + +### vac:rfc: +- `waku:waku-usage` + - updated waku-usage - https://github.com/vacp2p/rfc/pull/627 +- `waku:waku-keystore` + - Updated waku-keystore, ready for feedback - https://github.com/vacp2p/rfc/pull/631 + diff --git a/content/updates/2023-12-18.md b/content/updates/2023-12-18.md new file mode 100644 index 000000000..462e3f0d8 --- /dev/null +++ b/content/updates/2023-12-18.md @@ -0,0 +1,136 @@ +--- +title: "2023-12-18 Vac weekly" +tags: + - "vac-updates" +date: 2023-12-18 +lastmod: 2023-12-18 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - SCTP: + - fix: the receive callback is now correctly setup + - fix: remove the send delay (using the nagle protocol) + - getting stuck on a weird message received from the JS-libp2p + - DataChannel: + - fix: move readloop from accept to new + - Trying to changes multiple things in order to change the behaviour of JS-libp2p: + - reversing the initiators + - delaying the noise handshake + - removing the open stream + - all relevant nim-webrtc changes are here : https://github.com/status-im/nim-webrtc/pull/4 +- `nimlibp2p:vac:maintenance` + - improvement(ci): improve ci daily workflows - https://github.com/status-im/nim-libp2p/pull/1002 + - Merge unstable into master - https://github.com/status-im/nim-libp2p/pull/1003 + - Reading about Zero Copy feature and looking for it on Chronos and Libp2p + - Update nim-libp2p version in Nimbus - https://github.com/status-im/nimbus-eth2/pull/5667 + - Flood publishing - https://github.com/sigp/lighthouse/pull/4383 and https://github.com/libp2p/rust-libp2p/pull/ + - chore: improve CI workflow stability https://github.com/status-im/nim-libp2p/pull/1004 + - fix: make matrix include customizable for daily workflows https://github.com/status-im/nim-libp2p/pull/1000 + - CI workflow is failing frequently PR 1004 is ready for review - Nimble lock for different Nim versions + - Test Case: `FloodSub message size validation 2` + - Managed to reproduce failure on computer when running isolated. + - Dove into code, and pursued a couple possible threads. + +### vac:tke: + - `vac:tke::codex:economic-analysis` + - Codex confirmed not able to followup on litepaper until 2024 + - General research of how comparable testnets run incentives for their net + - `vac:tke::status:SNT-staking` + - Staking contract depriortized by SC team + - Update John on initial findings on Waku sharding, sync on next steps roadmap discussion with Waku + - No other priorities for SNT team at this time + - `vac:tke::nomos:economic-analysis` + - Researching leader selection and finality, impact on wealth concentration + - Adding statistical framework to define validator rewards (optimization function) + - `vac:tke::waku:economic-analysis` + - Call w/ Waku on incentives and revenue sources + - Modeling the various proposed approaches to RLN + - Reading and responding to Sergei's latest incentivization documents + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test`: + - Keep investigating packets drop (https://www.notion.so/Results-2-eac3e52d512e469db57dc145aa65e603) + - Check bandwidth per node with same rate and load (Correct) + - Strange behavior with 20MB/s on network. +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Implemented filter unsubscribe [tests](https://github.com/waku-org/waku-interop-tests/pull/7) + - covers unsubscribe and unsubscribe-all APIs + - reached [92 interop tests](https://waku-org.github.io/waku-interop-tests/84/) + - Issues reported: + - gowaku: Strage [error ](https://github.com/waku-org/go-waku/issues/960) when retrieving messages + - gowaku: Reopened and closed again the log flood [issue](https://github.com/waku-org/go-waku/issues/923) + - nwaku: Wrong response format to [filter/v2/subscriptions](https://github.com/waku-org/nwaku/issues/2286) + - nwaku: Relay publish [regression](https://github.com/waku-org/nwaku/issues/2299) + - Investigated and figured out how to automate tests requested by the waku team +- `software-testing:waku:test-automation-nwaku` + - Finished lightpush tests + - `PagingDirection` Refactor [PR](https://github.com/waku-org/nwaku/pull/2263) + - Found one failing test when running `test_all` + - `WakuNode2 - Validators::Spam protected topic accepts signed messages` + - Only happens when running literally all of them, not one specific. +- `software-testing:waku:test-automation-go-waku` + - Wrote 5 tests related to lightpush - coverage improvement https://github.com/waku-org/go-waku/pull/957 + - Got clarity on bug: unequal rules enforcement for contentTopic syntax https://github.com/waku-org/go-waku/issues/958 + +### vac:acz: +- `secure-channels:waku:ethereum-chat` + - Included all materials related to MLS in the RFC + - Improved several aspects of the RFC (improve organization, delete some parts, etc) + - Discuss difference of ADKG+DR and Asycn Triple-Ratchet algorithm from Farcaster. + - Read about repudiation term in messaging protocols and create a [note](https://www.notion.so/WiP-Repudiation-term-in-Message-Protocols-9af43ce8bf9146a1b99a740e731405b4?pvs=4) about it. + - Check the MLS report in [Notion](https://www.notion.so/WiP-Notes-on-the-MLS-protocol-cccc3faad97b4c00ae88bdec40f58e1e?pvs=4) + +### vac:sc:: +- `status:community-contracts-maintenance` + - Deployed `CommunityTokenDeployer` contracts on production networks + - Mainnet, Arbitrum, Optimism + - Deployment addresses + - https://www.notion.so/Contract-Deployment-Addresses-d6dd98b1b4f6461d82eec6ab18b852c8 + - PR: https://github.com/status-im/communities-contracts/pull/25 + - Investigated a bug in foundry that prevented us from signing transactions on ledger + - https://github.com/foundry-rs/foundry/issues/6516 + - Use version mentioend in this issue for deployments via ledger for now + - started docs on new specs https://notes.status.im/JsEoWi8rSaqa-s3b2LCF5A?view + - started implementing the first new specs + - review deployer contract properties doc https://notes.status.im/s/291mb-8nA +- `vac:maintainance/misc` + - Created a multisig wallet for out team on Arbitrum (similar to the one on OP) +- `codex-token-tmp-milestone` + - meeting + adding ideas to https://docs.google.com/document/d/1lH6dPSuSzGIFmbJeaXNmx8cIU7dveI9KxE1rxdoKagQ/edit#heading=h.f8xnzmojer6t + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Readings on privacy-focused models (Az, Nmd, Zc, Ada, Ola) + - Brief [notes](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#021ad496e95b4f9ca1cccc990c9a2c7a) on [Hyperproofs](https://eprint.iacr.org/2021/599) + - Notes on [Ring Signatures](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2b2a9ce4e6c44ca78248282c0df16065) + - Read paper on [security for UTXO](https://eprint.iacr.org/2023/1902.pdf) based on DAGs; notes after meeting. + - Research miblewimble (goal 1) + - Reviewed Halo2 PR's [GWC](https://github.com/vacp2p/zk-explorations/pull/22) and [SHPLONK](https://github.com/vacp2p/zk-explorations/pull/21) + - [Note](https://docs.google.com/document/d/1Cc2Eh72gDUQIb_M1wx_alIXf5qob4wusqpyXse9q7-I/edit) about the similarities and differences Az and Pol + - Read about Zcash from its [whitepaper](https://whitepaper.io/document/645/zcash-whitepaper) section 3.4 Transactions and Treestates, and investigate how a shielded address can generate a public balance. +- `proofsystems:vac:research-existing-proof-systems` + - finished BaseFold writeup + - started researching Arecibo (https://blog.lurk-lang.org/posts/arecibo-supernova/) +- `proofsystems:vac:benchmarks` + - Started a refactoring for halo2 PRs https://github.com/vacp2p/zk-explorations/pull/22 https://github.com/vacp2p/zk-explorations/pull/21 + +### vac:dr: +- `valpriv:vac:tor-push-poc` + - tested sync role success, gathered aggregated message latency, tested alltorbroadcast for all validator messages +- `valpriv:vac:tor-push-paper` + - Revised graphs with std dev/mean, added inclusion difference +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Completed simulations and results and analysis/presentation for all test scenarios. + - Article writeup is almost complete (will be concluded by today) + +### vac:rfc: +- `admin/misc` + - Created pr for a few 1/COSS changes + - Proposal for description - https://github.com/vacp2p/rfc/pull/645 + - Proposal for adding github names - https://github.com/vacp2p/rfc/pull/644 + - Proposale for draft delete - https://github.com/vacp2p/rfc/pull/654 + - Updated store link and formats - https://github.com/vacp2p/rfc/pull/653 + - Updated usage - https://github.com/vacp2p/rfc/pull/627 + diff --git a/content/updates/2023-12-25.md b/content/updates/2023-12-25.md new file mode 100644 index 000000000..b5944f4b2 --- /dev/null +++ b/content/updates/2023-12-25.md @@ -0,0 +1,92 @@ +--- +title: "2023-12-25 Vac weekly" +tags: + - "vac-updates" +date: 2023-12-25 +lastmod: 2023-12-25 +draft: false +--- + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - Fixing bumper jobs - https://github.com/status-im/nim-libp2p/issues/1005 + - Remove rules related to Nim 1.2 jobs from master branch on github settings + - Reading and Understanding + - Disable flood publishing https://github.com/sigp/lighthouse/pull/4383 + - More lenient flood publishing https://github.com/libp2p/rust-libp2p/pull/3666 + - Testing latency on different flood publish strategies https://github.com/sigp/gossipsub-testground/pull/15 + - testing gossipsub(flood publish) with quic https://github.com/ackintosh/gossipsub-testground/p + - Case `'FloodSub message size validation 2'`: + - Issue: Combination between message size and timeout; Big message size takes a big time, and sometimes exceeds timeout + - Still begs the question: "Why it passed when running the full suite instead of the isolated test + +### vac:tke: + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test:` + - Keep investigating packets drop (https://www.notion.so/Results-3-43142115f7764d3ca9954490f232b242) + - Created same test node with Rust (borrowed some time from Alex)(https://github.com/vacp2p/dst-gossipsub-test-node-rust/tree/master) + - Got some preliminary results (https://www.notion.so/Results-Rust-011fb77dea4b482ba8283f1adb762c9c) + - sync with p2p team regarding weird behavior + - Use iperf to create artificial bandwidth and keep investigating (Done, no package drop). +- `admin/misc` + - hiring +- `vac:dst:software-testing:waku:test-automation-js-waku` + - Investigated and helped fixing js-waku tests that failed with latest nwaku +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Implemented the idle subscription tests requested by the nwaku team + multi-node filter tests: [PR](https://github.com/waku-org/waku-interop-tests/pull/8) + - Issues reported: + - https://github.com/waku-org/go-waku/issues/967 + - https://github.com/waku-org/go-waku/issues/968 + - https://github.com/waku-org/go-waku/issues/969 + - https://github.com/waku-org/go-waku/issues/970 + - https://github.com/waku-org/go-waku/issues/971 + - https://github.com/waku-org/go-waku/issues/972 + - https://github.com/waku-org/nwaku/issues/2315 +- `software-testing:waku:test-automation-nwaku` + - Test failure + - Investigate + - [Issue](https://github.com/waku-org/nwaku/issues/2304) + - Merge + - Direction refactor + - [PR](https://github.com/waku-org/nwaku/pull/2263) + - Store Tests + - [PR1](https://github.com/waku-org/nwaku/pull/2235) + - [PR2](https://github.com/waku-org/nwaku/pull/2240) + - Lightpush Tests + - [PR](https://github.com/waku-org/nwaku/pull/2269) + - Implemented autoshard tests + - Missing one. Asked about how to mock. + +### vac:acz: +- `secure-channels:waku:ethereum-chat` + - Worked on Ethereum as Authentication Service. (https://www.notion.so/WiP-Ethereum-based-Authentication-cb7b0ff07ba74886847ec8e23e8a7a62) + - Specification for the MLS in our setting. (https://github.com/vacp2p/rfc/blob/master/content/docs/rfcs/70/README.md) + - RFC updates: ADKG + DR removed and replaced with MLS. + + +### vac:sc:: + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Finished researching Az, Pol, Ola + - Continue readings on privacy-focused models (Nmd, Zc) + - Looking at privacy related questions for UTXO + - Continue with [binary towers paper](https://eprint.iacr.org/2023/1784) + - Continued research on mimblewimble. + - Read [HEX-Bloom](https://eprint.iacr.org/2021/773) + - Read [NOTRY](https://eprint.iacr.org/2023/1926); this paper deals with messaging, but has an interesting property in their scheme called avowal and proof of non-knowledge. + - Work on propsal about the private execution that affects public state and start to write it. + - Read a [paper](https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-kappos.pdf) about the proposal + +### vac:dr: +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Completed article writeup for GossipSub scaling for large messages + +### vac:rfc: +- `waku:waku-keystore` + - Made changes based on feedback for waku-RLN-keystore - https://github.com/vacp2p/rfc/pull/631 +- `admin/misc` + - Read waku2 specs, message, filter, store, payload - https://rfc.vac.dev/spec/10/ + - read libp2p docs to prepare for excutable specs of waku2 node + diff --git a/content/updates/2024-01-01.md b/content/updates/2024-01-01.md new file mode 100644 index 000000000..ecf7e690f --- /dev/null +++ b/content/updates/2024-01-01.md @@ -0,0 +1,70 @@ +--- +title: "2024-01-01 Vac weekly" +tags: + - "vac-updates" +date: 2024-01-01 +lastmod: 2024-01-01 +draft: false +--- + +## Vac 2024/01/01 + +### vac:p2p: +- `nimlibp2p:vac:maintenance`: + - Case `'FloodSub message size validation 2'`: + - Run tests in different mac envs: VM: Failure; M2: Success + - The previous tests support the hypothesis this is timeout/cpu-power related + - Other flaky tests? + - Either the previous VM or M2 didn't find any other failing tests (just one attempt, though): + - `testpubsub`: Only `'FloodSub message size validation 2'` fails. + - `testdaemon`: Stuck after a couple logs regarding IPs. + - `testnative`: Success + +### vac:tke: + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test:` + - Fixed behavior issues in Rust node (https://github.com/vacp2p/dst-gossipsub-test-node-rust) + - Simulation results (https://www.notion.so/Results-Rust-011fb77dea4b482ba8283f1adb762c9c) + - Python libp2p is not stable (https://libp2p.io/implementations/), and with no changes from the last 6 months. Not using for comparisons. +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Implemented the filter push/get messages and filter ping tests: [PR](https://github.com/waku-org/waku-interop-tests/pull/9) + - Issues reported: + - https://github.com/waku-org/nwaku/issues/2319 + - https://github.com/waku-org/nwaku/issues/2320 + - https://github.com/waku-org/nwaku/issues/2322 +- `software-testing:waku:test-automation-nwaku` + - Create Autosharding Tests PR + - [PR](https://github.com/waku-org/nwaku/pull/2318) + - Investigate and add simple mocking mechanism + - Begin working in Connection Peer Management Tests + - [PR](https://github.com/waku-org/nwaku/pull/2321) + - Done: Migrations, PeerStorage + - In Progress: Protobuf Serialisation, WakuPeerStorag + +### vac:acz: + +### vac:sc:: + +### vac:nescience: +- `proofsystems:vac:research-existing-proof-systems` + - conitinued researching Arecibo (https://blog.lurk-lang.org/posts/arecibo-supernova/) + - Started reading CycleFold (https://eprint.iacr.org/2023/1192.pdf) +- `proofsystems:vac:benchmarks` + - prepared Halo2 common PR (https://github.com/vacp2p/zk-explorations/pull/23) + - Worked on a refactoring for halo2 PRs https://github.com/vacp2p/zk-explorations/pull/22 https://github.com/vacp2p/zk-explorations/pull/21 +- `state-separation:vac:state-separation-doc` + - Continue with mimblewimble + - Research [Ugur's idea](https://discord.com/channels/864066763682218004/1184929429290500167/1187686785929724004) + - Read about private and public kernel circuits from Az. + - Finish the research about how we can update public state with a private execution. + - Update the proposal because last version is not applicable. + +### vac:dr: + +### vac:rfc: +- `waku:waku-keystore` + - Updated keystore to be more descriptive for some sections. Ready for feedback - https://github.com/vacp2p/rfc/pull/631 +- `admin/misc` + - Worked on implementing 14/WAKU2-MESSAGE for excutable spec + diff --git a/content/updates/2024-01-08.md b/content/updates/2024-01-08.md new file mode 100644 index 000000000..26598f21a --- /dev/null +++ b/content/updates/2024-01-08.md @@ -0,0 +1,103 @@ +--- +title: "2024-01-08 Vac weekly" +tags: + - "vac-updates" +date: 2024-01-08 +lastmod: 2024-01-08 +draft: false +--- + +## Vac 2024/01/08 + +### vac:p2p: +- `nimlibp2p:vac:maintenance`: + - flaky tests: trying out a hypothesis about runners specs + +### vac:tke: + - `vac:tke::codex:economic-analysis` + - Update Notion and Tokenomics Design Canvas (TDC) for Codex (@Matty) + - Add new Collateral Insurer role to litepaper + - Follow up with Codex on litepaper feedback and next steps for testnet incentive design and token allocation + - `vac:tke::status:SNT-staking` + - Update Notion and TDC for SNT (@Matty) + - Follow up with John on Wednesday call for 2024 Status plan + - `vac:tke::nomos:economic-analysis` + - Clean up Nomos Notion and update TDC (@Frederico) + - Finish agent based simulations on wealth concentration impacted by leader selection + - Read darkpaper when Nomos team has finished incorporating team comments and can share (expect it this week) + - `vac:tke::waku:economic-analysis` + - Clean up Waku Notion, and create a best thinking draft of TDC (@Martin) + - Finalize and share L2 overview with Waku business model meeting Tue + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test:` + - Gather all data from Kubernetes and create document with plots (https://www.notion.so/Nim-Rust-comparison-9dc4e4c3c0914773971608e8af911943) + - Compare nim, rust and waku bandwidth, packet and times. + - End of the week got stucked because some Kubernetes issues. They are fixed now + - Ran some gowaku simulations. Results differ a lot from nwaku (half bandwidth, no packet loss). +- `vac:dst:software-testing:waku:test-automation-interop-testing` + - Retested some fixes + - Fixed tests related to 1MB [message](https://github.com/waku-org/waku-interop-tests/pull/10) + - Removed deprecated RPC protocol and cleaned up the [code](https://github.com/waku-org/waku-interop-tests/pull/11) + - Investigated with Prem some node connection [issues/regression](https://github.com/waku-org/go-waku/issues/988) +- `software-testing:waku:test-automation-nwaku` + - clarified testing priorities with Waku: + 1. RLN + 2. Peer Exchange + 3. Discv5 + 4. Peer Connection Management + - Open Issue [bug: SqliteDriver WakuMessage attribute saving] + - After further investigation with Ivan we decided it behaves as expected + - [Issue](https://github.com/waku-org/nwaku/issues/2241) + - Lightpush + - Updated PR with comments [PR](https://github.com/waku-org/nwaku/pull/2269) + - Blocked until SEGFAULT solved + - Autosharding + - Implemented and merged tests [PR](https://github.com/waku-org/nwaku/pull/2318) + - Requested help for overloaded function mock test case [PR](https://github.com/waku-org/nwaku/pull/2334); [Nim Forum](https://forum.nim-lang.org/t/10854) + - Peer Connection Management + - Implemented and merged tests [PR](https://github.com/waku-org/nwaku/pull/2321) + - Thorough investigation on module types and base58 +- `software-testing:waku:test-automation-go-waku` + - Wrote 10 test to improve store tests coverage https://github.com/waku-org/go-waku/pull/993 + - Go-Waku node operations on Pi 4 (hobby activity) + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancments` + - continue work on proof of concept for state transition proof for onchain roots in rln: https://github.com/vacp2p/rln-contract/issues/32 +- `secure-channels:waku:ethereum-chat` + - Created a 4-step approach for Ethereum as Authentication Service [article](https://www.notion.so/WiP-Ethereum-based-Authentication-cb7b0ff07ba74886847ec8e23e8a7a62?pvs=4) + +### vac:sc:: +- `codex:codex-airdrop-contract-exploration` + - add possible token airdrop solutions https://docs.google.com/document/d/1lH6dPSuSzGIFmbJeaXNmx8cIU7dveI9KxE1rxdoKagQ/edit#heading=h.f8xnzmojer6t +- `status:community-contracts-maintenance` + - start implementing the first new specs based on https://notes.status.im/JsEoWi8rSaqa-s3b2LCF5A?view + - review deployer contract properties doc https://notes.status.im/s/291mb-8nA + +### vac:nescience: +- `proofsystems:vac:research-existing-proof-systems` + - Finished researching Arecibo (https://blog.lurk-lang.org/posts/arecibo-supernova/) + - Started writing CycleFold writeup (https://eprint.iacr.org/2023/1192.pdf) +- `proofsystems:vac:benchmarks` + - Continued working on a refactoring for halo2 PRs https://github.com/vacp2p/zk-explorations/pull/22 https://github.com/vacp2p/zk-explorations/pull/21 + - Reviewed [halo2-common PR](https://github.com/vacp2p/zk-explorations/pull/23) +- `state-separation:vac:state-separation-doc` + - Discuss UTXO/Merkle on discord + - Reviewd literature concerning pruning Merkle trees in Bitcoin and other UTXO systems; mentioned in the original white paper but never implemented due to issues with history. + - Discuss recursiveness of Nova + - Work on notes for mimblewimble (pending upload) + - Finish the first version of the report about how we can update public state with a private execution, here is the [report](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#9be231d72df9440984c3a1e7d03c0ecd). + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Investigated the latency spikes issue with floodpublish for large messages. The problem was small TCP cwnd at start of connection, same is the case with floodpublish peers, and latencies accumulate for multi-hop paths + - Sending dummy data immidiately after connection setup resolves the problem. + - However, this can make peers vulnerable to buffer overflow attacks + +### vac:rfc: +- `misc` + - Created 14/WAKU2-MESSAGE update pr - https://github.com/vacp2p/rfc/pull/655 + - Started waku excutables spec document - https://github.com/vacp2p/rfc/blob/waku2-excutables/content/docs/rfcs/11/executable/README.md + - draft pr for content topics clarity, this may not be necessary - https://github.com/vacp2p/rfc/pull/656 + diff --git a/content/updates/2024-01-15.md b/content/updates/2024-01-15.md new file mode 100644 index 000000000..854a18f1a --- /dev/null +++ b/content/updates/2024-01-15.md @@ -0,0 +1,117 @@ +--- +title: "2024-01-15 Vac weekly" +tags: + - "vac-updates" +date: 2024-01-15 +lastmod: 2024-01-15 +draft: false +--- + +## Vac 2024/01/15 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Datachannel + - Investigate on why the js-datachannel handshake work, but not the channel creation + - SCTP + - Find an issue with `sctp_recv` + - We didn't get `sctp_recvinfo` mandatory for the datachannel + - Could be a similar cause on why js-datachannel doesn't receive our data + - Create an SCTP message decoder +- `nimlibp2p:vac:maintenance` + - Add comments to Yamux https://github.com/status-im/nim-libp2p/pull/1006 + - Tried timeout hypothesis for tests + - Tests didn't fail, but given they're flaky, is not evidence enough; Merge and see how that impacts builds. +- `nimlibp2p:vac:gossipsub-stagger-send` + - Reading https://github.com/libp2p/rust-libp2p/pull/4914, https://github.com/libp2p/rust-libp2p/issues/4667 + - Trying to understand their implementation and how we can implemente something similar in nim-libp2p + - Reading about TCP slow start and initial window +- `misc/admin` + - Help with nim-unittest2 https://github.com/status-im/nim-unittest2/pull/35 + +### vac:tke: + - `vac:tke::codex:economic-analysis` + - on hold until Matty is back form holidays + - `vac:tke::status:SNT-staking` + - Update Notion and TDC for SNT (@Martin) + - Follow up with John on Tuesday call for 2024 Status plan + - Staking contract revision due to rework from Pascal (@Martin) + - `vac:tke::nomos:economic-analysis` + - Clean up Nomos Notion and update TDC (@Frederico) + - Finish agent based simulations on wealth concentration impacted by leader selection (@Frederico) + - Read darkpaper when Nomos team has finished incorporating team comments and can share (expect it this week) + - `vac:tke::waku:economic-analysis` + - focus research on sustainability, compare different models (@Martin) + - prepare for meeting with Matt Nemmer (@Martin) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test:` + - Add 3rd machine to simulations and get more plots. + - Investigate weird results + - Investigate if results from go-waku are correct. + - Create a simple node with go-libp2p + +### vac:qa: +- `software-testing:waku:test-automation-interop-testing` + - Bugfix testing and fixed tests related to [maximum subscription count](https://github.com/waku-org/waku-interop-tests/pull/12)(@Florin) +- `software-testing:waku:test-plans` + - Peer & connection management [test plan](https://www.notion.so/Peer-and-connection-management-64baef05d47f43d6b739bdf7bf9f70ce)(@Florin) +- `software-testing:waku:test-automation-nwaku` + - Started working on RLN test coverage(@Alex) +- `software-testing:waku:test-automation-go-waku` + - RLN tests [coverage](https://github.com/waku-org/go-waku/pull/1003)(@Roman) + - Fixed minor [bug](https://github.com/waku-org/go-waku/pull/1003#issuecomment-1887134291)(@Roman) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - Patched rln-contract with foundry template - https://github.com/vacp2p/rln-contract/pull/34 + - rln-v2 branch on rln-contract - https://github.com/vacp2p/rln-contract/pull/35 (deployed to sepolia and polygon zkevm testnet) + - Planning for rln-v2 in nwaku - https://github.com/waku-org/nwaku/issues/2345 +- `rlnp2p:waku:rln-doc-and-outreach` + - Prepare presentation for logos research call +- `secure-channels:waku:ethereum-chat` + - Improving parts of the RFC. (https://github.com/vacp2p/rfc/blob/master/content/docs/rfcs/70/README.md) + - Study of SIWE (EIP-4361) as an authentication solution. (https://www.notion.so/WiP-Ethereum-based-Authentication-cb7b0ff07ba74886847ec8e23e8a7a62) + - Kept working on Quarantined TreeKEM. +- `secure-channels:waku:ethereum-chat` + - Read about SIWE and extracting some questions about the usage of it. + +- `misc` + - Added FFI bindings to stealth commitment implementation in rust - https://github.com/rymnc/erc-5564-bn254/commit/9ecb6cf53ce49e638ce0de2e50d06a5e2ed2c487 + +### vac:sc:: +- `status:community-contracts-maintenance` + - Implemented Certora rules as preparation for the upcoming Certora training + - Introduced script to run multiple certora specs + - Added implemented rules to `PROPERTIES.md` + - https://github.com/status-im/communities-contracts/pull/26 +- `status:snt-staking-contract-maintenance` + - Fixed a bug that prevents unstaking from actually working + - https://github.com/logos-co/staking/pull/41 + - Added tests for some basic staking functionality, ensuring multiplier points are minted and point correctly + - https://github.com/logos-co/staking/pull/42 + - https://github.com/logos-co/staking/pull/43 +- `maintenance/misc` + - Sepolia SNT now bridgable to OP Sepolia + - https://github.com/ethereum-optimism/ethereum-optimism.github.io/pull/591#event-11423844729 + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Extensive research on privacy-focused models (@Moudy) and existing techniques (@Marvin) + - General research on how to handle order of execution and calling to integrate in the proposal + - Updated Notion with [Explication Notes](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#af3b7c0e8fbc482e9194cbee08bf250e) @Moudy and [State Update](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#9be231d72df9440984c3a1e7d03c0ecd) @Ugur + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Worked on revised results for GossipSub Improvements paper. Completed for TCP cwn and IDONTWant (Still to do for staggered sending) + - Worked on latency spikes issue for FloodPublish + +### vac:rfc: +- `misc` + - Started working on new RFC for stealth commitments - https://github.com/vacp2p/rfc/pull/658 + - Merged - https://github.com/vacp2p/rfc/pull/653 + - Fixed last week's blocker, trouble running py-libp2p +- `waku:waku-keystore` + - Made changes based on feedback - https://github.com/vacp2p/rfc/pull/6 + + diff --git a/content/updates/2024-01-22.md b/content/updates/2024-01-22.md new file mode 100644 index 000000000..a52d5f69e --- /dev/null +++ b/content/updates/2024-01-22.md @@ -0,0 +1,118 @@ +--- +title: "2024-01-22 Vac weekly" +tags: + - "vac-updates" +date: 2024-01-22 +lastmod: 2024-01-22 +draft: false +--- + +## Vac 2024/01/22 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Find/investigate a bug with usrsctp not sending the correct messages. +- `nimlibp2p:vac:quic` + - Investigate what we need to implement: mainly wrap DTLS 1.3 +- `nimlibp2p:vac:gossipsub-stagger-send` + - make forward (relay) messages non priority - https://github.com/status-im/nim-libp2p/pull/100 +- `nimlibp2p:vac:maintenance`: + - "Timeout increase" approach to fix some of the flaky timeout tests + +### vac:tke: + - `vac:tke::codex:economic-analysis` + - add insurer role to the litepaper (@Matty) + - make sure litepaper is up-to-date (address comments, etc.) (@Matty) + - `vac:tke::status:SNT-staking` + - get general plan from John on Tuesday (@Martin) + - review litepaper and TDC (@Matty) + - `vac:tke::nomos:economic-analysis` + - Clean up Nomos Notion and update TDC (@Frederico) + - Finish agent based simulations on wealth concentration impacted by leader selection (@Frederico) + - Read darkpaper when Nomos team has finished incorporating team comments and can share (expect next week) + - `vac:tke::waku:economic-analysis` + - prepare for meeting with Matt Nemmer (@Martin) + - research around sustainability model following Franck post (@Martin) + - work on L2 discussion with Cyprien (@Martin) + - review litepaper and TDC (@Matty) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test:` + - Investigate 3 machine results + - Finish go-libp2p node and get simulation results + - https://www.notion.so/Nim-Rust-Go-comparison-9dc4e4c3c0914773971608e8af911943 + +### vac:qa: +- `vac:qa:software-testing:waku:test-automation-js-waku` + - Fixed tests related to content topic limit update [PR1](https://github.com/waku-org/js-waku/pull/1791) and [PR2](https://github.com/waku-org/js-waku/pull/1803)(@Florin) +- `vac:qa:software-testing:waku:test-plans` + - [Discv5](https://www.notion.so/Discv5-67950519b8b9405d9fa0282b1ec7fb04)(@Florin) + - [Peer exchange](https://www.notion.so/Peer-Exchange-43fd1ea7d7bd4b03a3d100a1b848e570)(@Florin) +- `vac:qa:software-testing:waku:interop-testing` + - [Nightly `go` and `nim`](https://github.com/waku-org/waku-interop-tests/pull/13) interop workflows reporting to [WAKU/DEV/test-reports](https://discord.com/channels/1110799176264056863/1196933819614363678) discord channel(@Roman) + - [Adjusted tests](https://github.com/waku-org/waku-interop-tests/pull/14) and marked known failures with xfail so the nightly reports look better(@Florin) +- `vac:qa:software-testing:waku:test-automation-nwaku` + - Improved RLN tests: [Node and Group Manager](https://github.com/waku-org/nwaku/pull/2356)(@Alex) +- `vac:qa:software-testing:waku:test-automation-go-waku` + - Improved RLN [unit tests coverage](https://github.com/waku-org/go-waku/pull/1009)(@Roman) + +### vac:acz: +- `rlnp2p:waku:rln-doc-and-outreach` + - Present rln-v2 and v3 at logos research call +- `zerokit:vac:maintenance` + - Attempted integrating [circom-witness-rs](https://github.com/philsippl/circom-witness-rs?tab=readme-ov-file) into zerokit for faster witness generation, realized that a few operations, bitand and shr are not implemented. +- `misc` + - rln-v3 proposal doc - https://hackmd.io/@rymnc/rln-v3-proposal (linked in notion as well - https://www.notion.so/RLNP2P-e2865a91b50d4928b2e8d14916adb586) +- `secure-channels:waku:ethereum-chat` + - Inclusion of SIWE in the RFC (deprecation of the NIZK approach). + - Preparation of internal notes on Quarantined TreeKEM. + - Check the subprotocol and algorithms of RFC for the implementable of the RFC in [notion](https://www.notion.so/Implementability-of-the-RFC-76fb0f9658844cb89bb16cb47a1b6390?pvs=4) +- `zerokit:vac:maintenance` + - worked on a workaround for https://github.com/vacp2p/zerokit/pull/224 + +### vac:sc:: +- `status:snt-staking-contract-maintenance` + - Analyzed application properties for formal verification together with Tokenomics team + - Notes https://notes.status.im/rA5eYiLlSYWDDLnaXRfPdg?both + - Merged pending bugfix a test PRs + - https://github.com/logos-co/staking/pull/41 + - https://github.com/logos-co/staking/pull/42 + - https://github.com/logos-co/staking/pull/43 + - https://github.com/logos-co/staking/pull/44 +- `status:community-curation-contracts` + - Deployed community curation dapp contracts on Optimism Sepolia + - PR with deployment config + - https://github.com/status-im/community-dapp/pull/107 + +### vac:nescience: +- `vac:nes:state-separation:vac:state-separation-doc` + - Finished researching Privacy-focused models and Update notion with two different documentations: [Ola](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#1a17d22e9df94730a4a44e9116cf28aa) and [Namada](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#14532efad9344d12b97b79898c050fff) + - Reviewed and researched the Private State Update proposal and Update notion with an extended [document](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#0ca483b59b7d4f3f8c10d07bf215505f) for requirements + - Made a decision for milestones and how to achieve them (Add link), more info will be in the [milestone document](https://www.notion.so/Roadmap-zkVM-59cb588bd2404e659633e008101310b5) + - Finish up loose ends for Mimblewimble, Verkle tree notes (additions/deletions) + - Begin research on signature verification (Shielded) + - Added a report about The Functions’ Order of Calling and Execution(WIP) in [notion](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#32b6efddb9e44ce19ec973c212a7510d) + - Explored the complexity side of the shielded-deshielded execution arhitecture +- `vac:nes:proofsystems:vac:research-existing-proof-systems` + - Continued writing CycleFold writeup (https://eprint.iacr.org/2023/1192.pdf) +- `vac:nes:proofsystems:vac:benchmarks` + - Experimented with Arecibo + - Fixed comments on refactoring PR + - Made a decision for milestones, more info will be in the [milestone document](https://www.notion.so/Roadmap-zkVM-59cb588bd2404e659633e008101310b5) + +### vac:dr: +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Worked on staggered message sending issue (Used the newly implemented message queuing support). + - Testing and finalizing the code. Will finish by tommorrow. +- `zk:codex:storage-proofs-open-problems-review` + - Begin going through [list of needs](https://discord.com/channels/895609329053474826/1131713469553578074/1196843650601197598) in terms of [current design](https://github.com/codex-storage/codex-storage-proofs-circuits) and [design document](https://github.com/codex-storage/zk-research-artifacts/blob/master/proof_systems/aggregation/iop-aggregation.pdf) + +### vac:rfc: +- `misc` + - Worked on stealth commitments RFC, communicated with Aaryamann - https://github.com/vacp2p/rfc/pull/658 + - Worked on Waku2 message update - https://github.com/vacp2p/rfc/pull/655 + - revisited website checked changes, looks ready +- `waku:waku-keystore` + - Was approved by Aaryamann - https://github.com/vacp2p/rfc/pull/631 + + diff --git a/content/updates/2024-01-29.md b/content/updates/2024-01-29.md new file mode 100644 index 000000000..07ebdeed2 --- /dev/null +++ b/content/updates/2024-01-29.md @@ -0,0 +1,113 @@ +--- +title: "2024-01-29 Vac weekly" +tags: + - "vac-updates" +date: 2024-01-29 +lastmod: 2024-01-29 +draft: false +--- + +## Vac 2024/01/29 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Fix some bugs related to our way of debugging + - Deep dive into JS js libp2p for interop testing + - working on figuring out why the noise handshake is blocked by the JS +- `nimlibp2p:vac:maintenance` + - Help Waku with a websocket issue +- `nimlibp2p:vac:gossipsub-stagger-send` + - cont' work on making forward messages non priority - https://github.com/status-im/nim-libp2p/pull/1009 + +### vac:tke: +- `codex:economic-analysis` + - add insurer role to the litepaper (@Matty) + - make sure litepaper is up-to-date (address comments, etc.) (@Matty) +- `status:SNT-staking` + - get general plan from John on Tuesday (@Martin) + - review litepaper and TDC (@Matty) +- `nomos:economic-analysis` + - Clean up Nomos Notion and update TDC (@Frederico) + - Finish agent based simulations on wealth concentration impacted by leader selection (@Frederico) + - Read darkpaper when Nomos team has finished incorporating team comments and can share (expect next week) +- `waku:economic-analysis` + - prepare for meeting with Matt Nemmer (@Martin) + - research around sustainability model following Franck post (@Martin) + - work on L2 discussion with Cyprien (@Martin) + - review litepaper and TDC (@Matty) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test:` + - Talk with p2p team about control messages; Found error in compilation + - Add queue metrics data to Prometheus/Grafana + - Do simulations and check this metric + - Metrics are scrapped but building is failing + - Pushed go-waku in kubernetes + - "Reached" 2k nodes, but there is a huge packet loss and latency times. Didn't try more because it was consuming 1Gig of Bandwidth, and didn't want to get the servers blocked again. +- `admin/misc` + - Prepare onboarding new team member + +### vac:qa: +- `software-testing:waku:test-plans` + - RLN [test plan](https://www.notion.so/RLN-Relay-9dd36da3029847aa86dda2cb4ccbc145)(@Florin) + - RLN issues found: + - Spam messages not [dropped](https://github.com/waku-org/nwaku/issues/2371)(@Florin) + - Postgres error [regression](https://github.com/waku-org/nwaku/issues/2372)(@Florin) + - Relayed messages are not [stored](https://github.com/waku-org/nwaku/issues/2380)(@Florin) + - KEYSTORE_PASSWORD env variable [issue](https://github.com/waku-org/nwaku/issues/2374)(@Roman) + - RLN [meeting discussion](https://www.notion.so/Notes-from-17-WAKU2-RLN-RELAY-86349c0f9d3f4172ac7226892bf42398?pvs=4)(@QA_Team) +- `software-testing:waku:test-automation-go-waku` + - Remove dependency on hardcoded private keys for Ganache(@Roman) +- `software-testing:waku:test-automation-nwaku` + - Prepared local dev enviroment(@Roman) + - RLN + - Implemented more RLN tests [PR](https://github.com/waku-org/nwaku/pull/2356)(@Alex) + - Found [unintended behaviour](https://github.com/waku-org/nwaku/issues/2365) where RLN wasn't enabled for all intended topics(@Alex) + - Autosharding + - Review and discard mock-related [PR](https://github.com/waku-org/nwaku/pull/2334)(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - downstreamed rln-v2 to waku-rln-contract: https://github.com/waku-org/waku-rln-contract/pull/11, with full test coverage + - removed websocket dependence from waku-rln-relay: https://github.com/waku-org/nwaku/pull/2364 (improves robustness, pre-requisite for rln-v2 integration) +- `secure-channels:waku:ethereum-chat` + - Completion of the internal notes on Quarantined TreeKEM + (https://www.notion.so/WiP-Notes-on-the-MLS-protocol-cccc3faad97b4c00ae88bdec40f58e1e) + - Improvements on the RFC. RFC ready (review required). (https://github.com/vacp2p/rfc/blob/master/content/docs/rfcs/70/README.md) + - Detect two possible gaps against the implementation one is xed448 in and Quarantined TreeKEM in Rust +- `zerokit:vac:maintenance` + - fixed some infallible conversions: https://github.com/vacp2p/zerokit/pull/229 + - stumbled upon rayon issue here https://github.com/vacp2p/zerokit/issues/55, read rayon docs, trying to find a solution + +### vac:sc:: +- `admin/misc` + - on-site Certora training + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Defined the new [Roadmap](https://github.com/vacp2p/research/issues/193) including different tasks and deadlines + - Researched signature verification and [Adress hiding](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#9ab4ba4d92914ba0a5f66235446de5d1) in (Shielded and Deshielded) executions (Marvin) + - Researched Deshielded and Shielded execution vs. different approaches to define and expand the proposal (Moudy) + - Identified security issues on the combination of SE and DE and proposed possible salt mechanism as a possible solution to the issue (WIP)(Uugur) +- `proofsystems:vac:research-existing-proof-systems` + - Finished writing [CycleFold writeup](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#ff43c4908a9d487fb8305090ed65effa) (Rostyslav) +- `proofsystems:vac:benchmarks` + - Explored Arecibo and started updating the [documentation](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#3763c2a7ce794875978a1af2ae418a12) (Moudy) + - Explored the 2 different Halo2 implementation variants and started updating the [documentation](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#d015c95ca971483c805e21c584de818b) (Moudy) + - Researched adn explored how recursion works in different ZKP we are benchmarking (Moudy) + - Finished working on a refactoring for [halo2 PRs](https://github.com/vacp2p/zk-explorations/pull/22 https://github.com/vacp2p/zk-explorations/pull/21) (Rostyslav) + - Got refactoring [halo2 PRs](https://github.com/vacp2p/zk-explorations/pull/22 https://github.com/vacp2p/zk-explorations/pull/21) merged (Rostyslav) + - Started working on arecibo benchmark (Rostyslav) + +### vac:dr: +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Used newly implemented queues (with event fire) to form weighted queues. But event fire mechanism results in much higher delays + - Trying to enable weighted queue forwarding to support message staggering + +### vac:rfc: +- `misc` + - Worked on new RFC index repo - https://github.com/vacp2p/rfc-index/pull/1 + - Waku message update ready for review - https://github.com/vacp2p/rfc/pull/655 + - Started waku v2 (spec 10) update - https://github.com/vacp2p/rfc/pull/661 + + diff --git a/content/updates/2024-02-05.md b/content/updates/2024-02-05.md new file mode 100644 index 000000000..a336226d1 --- /dev/null +++ b/content/updates/2024-02-05.md @@ -0,0 +1,128 @@ +--- +title: "2024-02-05 Vac weekly" +tags: + - "vac-updates" +date: 2024-02-05 +lastmod: 2024-02-05 +draft: false +--- + +## Vac 2024/02/05 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Fix a bug in `Datachannel.read` (reading the last message received instead of the first one) + - Fix a bug due to an Sctp delay (set it to 0ms was the solution) + - Find a bug in the conception of WebRTCStream. ReadOnce should be Length-prefixed. + - try to fix it by re-writing ReadOnce, but due to the nature of this proc (inheritance issue) it doesn't work + - write a RawWebRTCStream to make the length readable without issue + - Fix a bug with the endianness of the datachannel protocol id + - E2E Done! +- `nimlibp2p:vac:gossipsub-stagger-send` + - feat: make relayed messages non priority (don't use an explicit queue for priority msgs) - https://github.com/status-im/nim-libp2p/pull/1015 + - feat: drop msgs to be relayed waiting for too long in the queue - https://github.com/status-im/nim-libp2p/pull/1015 +- `nimlibp2p:vac:maintenance` + - Investigate dependencies issues + - Found possible problem/s + - Lack of versioning + - No major version clamping + - Using #head + - Temporary workaround: Clamp/Pin (to git hash) libp2p dependencies' versions + - [PR](https://github.com/status-im/nim-libp2p/pull/1020) + - Improve documentation [In Progress] + - Building go-libp2p-daemon + - Getting Started + - [PR](https://github.com/status-im/nim-libp2p/pull/1021) + - Merge timeout increase + - Improved `checkExpiring` + - Now it'll outpout an error message when it fails due to timeout + - Not the most visible message + +### vac:tke: +- `admin/misc`: + - Matty Handoff document finished and share with team on Wed (@Matty) + - Team Lead Evaluation Criteria finished and share with team on Wed (@Matty) + - Strengths and development areas for Frederico and Martin, shared with Corey, Daniel, and Jarrad (@Matty) +- `codex:economic-analysis` + - finalize all Codex notion including Dragan's comments to litepaper (@Matty) + - Wednesday call with Codex team get in sync on next steps +- `status:SNT-staking` + - staking contract implementation becoming a priority, refresh latest progress with SC team (@Martin) +- `nomos:economic-analysis` + - Reading whitepaper and updating TDC (@Frederico) + - Porting wealth concentration simulation code to GPU to decrease runtimes (@Frederico) +- `waku:economic-analysis` + - Continue Waku Network of Networks design discussion with Franck, concerns around forking (@Martin) + - Research similar abstract p2p validation protocols (e.g. former Keep Network) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Try to get a stable nim-libp2p version for simulations. Investigated with Alex about building issues with nimble. + - Analized libp2p metrics, everything normal so far + - call with p2p team + - Scale testing for 10K project + - setup go-waku experiment at scale + - Successfully simulated a 2,150 node simulation and gathered some basic metrics + - Modified Kubernetes to allow for more pods to allow for (in theory) scaling to 10k+ + - Failed simulations at 10000 and 5000 nodes - current limits seem to be around ~4800 or so + - Prometheus is a definite bottleneck - need to switch to a scaled/sharded Prometheus/***Thanos*** setup + - Attempting one last simulation over the weekend at 4200 nodes + - Diagnosing 10K project bottlenecks + - Identified a major potential bottleneck in the form of control plane traffic going over Wireguard / large packet load over WG causing swarm collapse + - will test the new theory later by re-deploying on Vac Kubernetes with a local control plane + local traffic (while still complying with infra team requirements) + +### vac:qa: +- `software-testing:waku:test-plans` + - Sharding [test plan](https://www.notion.so/Sharding-fc4b21238cde41f3bed8c9aab016bd58)(@Florin) +- `software-testing:waku:interop-testing` + - Relayed messages reach recently started peer with a big [delay](https://github.com/waku-org/nwaku/issues/2388)(@Florin) + - RLN registration [support and tests](https://github.com/waku-org/waku-interop-tests/pull/16)(@Roman) +- `software-testing:waku:test-automation-go-waku` + - Reviewed remaining work and added [summary](https://www.notion.so/57c29e9604ed400baadf5f76a8c57ea3?v=485765aa457a4961b163e94bd37b8063&pvs=4) and [approach](https://www.notion.so/Go-Waku-Unit-Testing-cfc028caf8374d8681f2005cc54a5fb5?pvs=4)(@Roman) +- `software-testing:waku:test-automation-nwaku` + - Clean and work with Gabriel to verify [fix](https://github.com/waku-org/nwaku/pull/2356)(@Alex) + - Review lighpush fixes and [adjust unit tests](https://github.com/waku-org/nwaku/pull/2269)(@Alex) + - Learned how to generate coverage report for NWaku and prepared small PR to have a [shortcut](https://github.com/waku-org/nwaku/pull/2382)(@Roman) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - rln-v1 to v2 commitment migrator: https://github.com/waku-org/waku-rln-contract/pull/11/commits/886891b57ae54e439563023dd50161fec5ee29f1 + - use rln-v2 contract in nwaku: https://github.com/waku-org/nwaku/pull/2381 + - update c ffi bindings and serde in nwaku: https://github.com/waku-org/nwaku/pull/2385 (issues: https://github.com/waku-org/nwaku/issues/2378 and https://github.com/waku-org/nwaku/issues/2377) + - use rln-v2 in registration and membership insertion mechanism: https://github.com/waku-org/nwaku/pull/2392 (wip) +- `secure-channels:waku:ethereum-chat` + - RFC updating, following comments and suggestions. + - Discussion of use cases for the secure messaging protocol + - Search and investigate existing secure messaging apps +- `zerokit:vac:maintenance` + - worked on a workaround for this issue https://github.com/vacp2p/zerokit/issues/55 + +### vac:sc:: +- `status:snt-staking-contract-maintenance` + - Review Certora work + PR https://github.com/logos-co/staking/pull/47 + - Working on solutions for Staking Contact issues https://notes.status.im/lNd8kcVmQEWcDYEldpl26Q + +### vac:nescience: +- `state-separation:vac:state-separation-doc` + - Completed research on SE and DE focusing on security issues while combining both models (Moudy) + - Rewrote a [full version](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#f47efa2d1f704414b6284c4bd261228d) of state update proposal for security and privacy threats (Moudy) + - Researched address hiding and signature verification and wrote a proposal for [address hiding and signature verification](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#9ab4ba4d92914ba0a5f66235446de5d1) (Marvin) + - Added a [report](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#ff43eca4e39b4a4ea171743c691469de) about the security issue and a possible solution(salt mechanism) and investigated about the security of the SE/DE (Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - Started looking at [Reverie whitepaper](https://eprint.iacr.org/2023/1888.pdf)and [BaseFold implementation](https://github.com/hadasz/plonkish_basefold) (Rostyslav) +- `proofsystems:vac:benchmarks` + - Finished working on arecibo benchmark (Rostyslav) + +### vac:dr: +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Completed message staggering in the form of weighted message queues + - Its showing 10% better result than priority queuing, but Async Queue overhead still requires some work +- `zk:codex:storage-proofs-open-problems-review` + - Begin reviewing [Range Proof example](https://github.com/codex-storage/zk-research-artifacts/blob/master/notes/range-check/range_check.pdf) + +### vac:rfc: +- `rfc-process-restructuring` + - worked on rfc-index adding rest of rfc, fixing links, and chaging headers - https://github.com/vacp2p/rfc-index/pull/1 + - worked on waku/specs adding rfcs - https://github.com/waku-org/specs/tree/waku-RFC + diff --git a/content/updates/2024-02-12.md b/content/updates/2024-02-12.md new file mode 100644 index 000000000..5305afbc3 --- /dev/null +++ b/content/updates/2024-02-12.md @@ -0,0 +1,107 @@ +--- +title: "2024-02-12 Vac weekly" +tags: + - "vac-updates" +date: 2024-02-12 +lastmod: 2024-02-12 +draft: false +--- + +## Vac 2024/02/12 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Cleaning / commenting + - Implementing the client side of SCTP + - Implementing the closing part of SCTP / DataChannel +- `nimlibp2p:vac:gossipsub-stagger-send` + - Making it ready to be merged - https://github.com/status-im/nim-libp2p/pull/1015 (feat: message prioritization with immediate peer-published dispatch and queuing for other msgs) +- `nimlibp2p:vac:maintenance` + - improvement: enhanced checkExpiring macro with custom timeout - https://github.com/status-im/nim-libp2p/pull/1023 + - Log `checkExpiring` failure + - [PR](https://github.com/status-im/nim-libp2p/pull/1018) + - Merged + - Added suggestions to building documentation + - [PR](https://github.com/status-im/nim-libp2p/pull/1021) + - Gathered all dependencies modifications in the same PR + - [PR](https://github.com/status-im/nim-libp2p/pull/1020) + +### vac:tke: +- `nomos:economic-analysis` + - tested a new data layout for the PoS-GPU code (to allow a large number of blocks per epoch); + - implemented a CPU-only code that outperformed the GPU (thanks to a trick given by David and Alexander); + - ran simulations about wealth concentration and observed leader election on Cryptarchia. +- `codex:economic-analysis` + - reviewed comparables tokenomics (Filecoin); + - reviewed the state of CDX token, inc. insurance model. +- `waku:economic-analysis` + - reviewed Martin's work on RLN pricing + - 2x Waku RLN calls (Tokenomics, L2 for RLN) and follow-ups +- `status:SNT-staking` + - continuing work on Status DeFi analysis + - continuing work on Status staking contract + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Talk again with p2p team about versioning + - Done simulations for Yamux + - Re-do simulations without using Wireguard. Packet loss is the same if not even higher (?) + - Plan how to structure the 10k tool framework + - Optimized publisher and added a debug flag to get DNS resolve times. + - Briefly ran a full 10K scale simulation, as well as other simulations at 7.5K, 8K, 5K and 0.1K + - Scaled metrics up by sharding it then adding Thanos (via `bitnami` charts) Query and Thanos Query Frontend to aggregate the metrics + - Dealing with various scaling issues as they come up + - Added latency delay to pods, allowing us to do arbitrary amounts of latency in Waku nodes + +### vac:qa: +- `waku:interop-testing` + - RLN registration [support and tests](https://github.com/waku-org/waku-interop-tests/pull/16)(@Roman + @Florin) + - Automatically notify nwaku developes when nightly interop tests [fail](https://github.com/waku-org/waku-interop-tests/pull/15)(@Florin) +- `waku:test-automation-js-waku` + - Connection and peer management [new tests and refactoring](https://github.com/waku-org/js-waku/pull/1836)(@Florin) +- `waku:test-automation-nwaku` + - Lighpush [fixes](https://github.com/waku-org/nwaku/pull/2269)(@Alex) + - Peer Exchange tests(@Alex) + - Update QA milestones(@Florin) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - use rln-v2 in registration and membership insertion mechanism: https://github.com/waku-org/nwaku/pull/2392 + - rln-v2 nonce manager: https://github.com/waku-org/nwaku/issues/2415 +- `secure-channels:waku:ethereum-chat` + - Keep working in the updates of the RFC. + - Start writing the blog article about the SMP, with the use cases and the main features in mind. + - Creation of an Overleaf project on secure channel setup with Ethereum. + - Check two SoK papers for comparison security mechanism; [paper1](https://teamusec.de/pdf/conf-sp-UngerDBFPG015.pdf) [paper2](https://dl.acm.org/doi/pdf/10.1145/3558482.3581773) + - Study the security mechanisms of dm3, Tor Messenger and Briar. + - Start an internal report comparing different messaging protocols. +- `zerokit:vac:maintenance` + - researched this issue https://github.com/vacp2p/zerokit/issues/21 +- `misc` + - Opened PRs to implement bitand & shr in circom-witness-rs: https://github.com/philsippl/circom-witness-rs/pull/14 & https://github.com/philsippl/circom-witness-rs/pull/13 + +### vac:sc:: + +### vac:rfc: +- `misc` + - Worked waku/specs repo - https://github.com/waku-org/specs/pull/1 + - Worked on vac rfc repo - https://github.com/vacp2p/rfc-index + +### vac:dr: +- `valpriv:vac:val-priv-net` + - Comparing mixnet Nym to figure out new design/proposal + - Reviewing Nym paper and design + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Researched the Transaction Directed Acyclic Graph (TDAG) framework to aggregate in SE and DE and produced a [documentation](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#960d3e31c9da4e3b8b2f316801763a65) about it (Moudy) + - Started reading about the Privacy Directed Acyclic Graph (PDAG) framework (Moudy) + - Made progress on the integration of Cryptographic primitives in SE and DE (Ugur) + - Made progress on adress hiding and signature verification [document](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#9ab4ba4d92914ba0a5f66235446de5d1) (Marvin) + - Started producing notes about Field Merkle Trees (Marvin) + - Started creating the one-tier low-level framework for SE and DE kernel circuits by adding public and private data (Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - Continued looking at [Reverie whitepaper](https://eprint.iacr.org/2023/1888.pdf) and [Binius implementation](https://github.com/recmo/binius) (Rostyslav) +- `proofsystems:vac:benchmarks` + - Fixed PR#24 comments and merged Arecibo benchmark implementation(Rostyslav) + diff --git a/content/updates/2024-02-19.md b/content/updates/2024-02-19.md new file mode 100644 index 000000000..271923c03 --- /dev/null +++ b/content/updates/2024-02-19.md @@ -0,0 +1,159 @@ +--- +title: "2024-02-19 Vac weekly" +tags: + - "vac-updates" +date: 2024-02-19 +lastmod: 2024-02-19 +draft: false +--- + +## Vac 2024/02/19 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - https://github.com/status-im/nim-libp2p/pull/960 + - Testing made it clear that the WebRtcMuxer wasn't finished + - Fix an oversight regarding datachannel incoming streams + - Get the streamId from SCTP to WebRtcTransport (missing a SCTP flag) + - Fix a bug with binary-serialization (missing a compilation flag) + - Fix a possible infinite loop that could occur while closing a stream + - Fix WebRtcMuxer.new() (missing the connection field) +- `nimlibp2p:vac:gossipsub-stagger-send` + - More improvements, now merged - https://github.com/status-im/nim-libp2p/pull/1015 (feat: message prioritization with immediate peer-published dispatch and queuing for other msgs) + - Making it ready to be merged - https://github.com/status-im/nim-libp2p/pull/1017 (feat: drop msgs to be relayed waiting for too long in the queue) + - Writing https://www.notion.so/Gossipsub-latency-improvements-9748092d135643ffb092939d9460fed0 + - Planning on how to check the IDONTWANT info before relaying a msg + +### vac:tke: +- `nomos:cryptarchia-wealth-concentration-estimated-stake` + - implemented one more metric about wealth concentration (@Frederico) + - prepared the Figures that go into the report about Nomos wealth concentration (@Frederico) + - review Frederico's work on wealth concentration (Martin) +- `codex:cdx` + - designed a diagram with Codex interactions (@Frederico) + - created a copy of the original Codex litepaper on GitHub (@Frederico) + - catch up on latest developments to prepare for the call on Fr. (@Martin) +- `waku:economic-analysis` + - catch up on Sergei's ongoing work (@Martin) + - analyze the proposed store v3 protocol from a token economics perspective (@Martin) + - proceed with defining RLN pricing properties and suggest suitable mechanisms (@Martin) +- `status:SNT-staking` + - reviewing Ricardo's new implementation of the staking contract (resolving the accounting issue) (@Martin) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Using framework to get Thanos metrics + - First draft PR (https://github.com/vacp2p/10ksim/pull/3) + - Started plotting module aswell (https://github.com/vacp2p/10ksim/tree/plotter) +- `eng-10ktool:vac:bandwidth-test` + - Spun up a new test tracking page + - Ran a few (~3-4) simulations trying to test new metric scale + - Fixed a major issue with a node which improved our bandwidth by ~1/3rd + - This also dropped packet loss to under 100 pps even under massive loads + - Brought distributed storage (CubeFS) properly online + - Re-ran simulations with Nwaku - stable swarms up to about 2000 peers, we were unable to see connections above that + - VLAN migrations continue + +### vac:qa: +- `waku:test-automation-js-waku` + - Refactor and handle mocha hooks timeouts [gracefully](https://github.com/waku-org/js-waku/pull/1841)(@Florin) + - Adjust tests regarding latest failures on [nwaku latest](https://github.com/waku-org/js-waku/pull/1844)(@Florin) + - Issues reported: + - https://github.com/waku-org/js-waku/issues/1845 + - https://github.com/waku-org/js-waku/issues/1835 + - https://github.com/waku-org/js-waku/issues/1848 +- `waku:interop-testing` + - Adjust tests regarding latest [failures](https://github.com/waku-org/waku-interop-tests/pull/17)(@Florin) + - Issues reported: + - https://github.com/waku-org/go-waku/issues/1034 + - https://github.com/waku-org/nwaku/issues/2436 + - https://github.com/waku-org/nwaku/issues/2437 + - RLN support and [tests added](https://github.com/waku-org/waku-interop-tests/pull/16)(@Roman) + - Issues reported: + - message not delivered during [interop test](https://github.com/waku-org/nwaku/issues/2369) + - health check [endpoint needed](https://github.com/waku-org/docs.waku.org/issues/165) +- `waku:test-automation-go-waku` + - Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman) +- `waku:test-automation-nwaku` + - Finish investigating peer exchange and extend negative cases(@Alex) +- `admin/misc` + - [Yamux PR](https://github.com/waku-org/nwaku/pull/2417)(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - serde tests for rln-v2 in nwaku: https://github.com/waku-org/nwaku/pull/2421 + - solved previously known issue of waku-rln-relay continuing to run when the tree is in a bad state. now, whenever the node detects something wrong with the eth rpc endpoint, it disconnects and crashes: https://github.com/waku-org/nwaku/pull/2429 +- `rlnp2p:waku:rln-relay-enhancements` + - improved node setup with TWN config is set: https://github.com/waku-org/nwaku/pull/2423 + - deprecate wss/ws support from nwaku for eth rpc endpoint: https://github.com/waku-org/nwaku/pull/2442 & follow up: https://github.com/waku-org/nwaku/pull/2444 + - updated `waku.test` fleet config with http url instead of ws: https://github.com/status-im/infra-waku/pull/11 +- `rlnp2p:waku:rln-doc-and-outreach` + - updated docs for rln-relay in nwaku-compose: https://github.com/waku-org/nwaku-compose/pull/52 +- `secure-channels:waku:ethereum-chat` + - Completed a first draft of the following sections of the paper: Introduction; Related work; MLS and SIWE. + - Finished the doc about comparion of the security mechanisms of Tor Messenger, Briar and update the existing doc in [notion.](https://www.notion.so/Comparison-between-secure-channel-protocols-3226a0f71c3f42748756d6bec3f33575) + - Study about the stealth addresses for anonymous secure chat. +- `zerokit:vac:maintenance` + - started working on a serde implementation of issue https://github.com/vacp2p/zerokit/issues/21 + +### vac:sc:: +- `status:community-contracts-maintemance` + - fix certora specs in github PRs (upgrade certoraRun) + - add rule for setMaxSupply + - clean up spec + - import config from r4bbit's PR +- `status:community-contracts-token-import` + - started working on (Allow for community vaults to keep track of deposited tokens) https://github.com/status-im/communities-contracts/issues/31 +- `status:staking-contracts-v1` + - Multiplier points estimation issue + - https://github.com/logos-co/staking/issues/48 + - Refactor MP logic and fix bugs https://github.com/logos-co/staking/issues/51 + - https://github.com/logos-co/staking/pull/52 + - Updated existing tasks based on latest discussions + - Added new tasks to plan milestone +- `status:community-contracts-multitoken` + - Created new milestone and tasks for upcoming effort to implement a new token contract for the desktop team + - https://github.com/status-im/communities-contracts/milestone/4 +- `vac:maintainance/misc` + - Add deployment address to sticker market repo + - https://github.com/status-im/sticker-market/pull/15 + - Added project board automation to relevant repos + - https://github.com/status-im/communities-contracts/pull/37 + - https://github.com/status-im/communities-contracts/pull/39 + - https://github.com/vacp2p/foundry-template/pull/15 + - https://github.com/logos-co/staking/pull/50 + +### vac:rfc: +- `rfc-process-restructuring` + - Worked on Waku specs, should be ready for first merge - https://github.com/waku-org/specs/pull/1 + - Started updating COSS, not ready for feedback - https://github.com/vacp2p/rfc-index/tree/1-COSS + - Worked on Vac RFC Index, updated some files and updated readme - https://github.com/vacp2p/rfc-index/pull/2 +- `waku:core-rfc-updates` + - Worked on updating 10/Waku2 based on feedback - https://github.com/vacp2p/rfc/pull/661 + +### vac:dr: +- `valpriv:vac:val-priv-net` + - added new design ideas (https://docs.google.com/document/d/15X4vJTK_Hr3g3K01XF77R3KCqLI8LIm3/edit?usp=sharing&ouid=109850114495777070500&rtpof=true&sd=true) +- `valpriv:vac:tor-push-poc` + - merging torpush changes in the latest nimbus-eth2 stable release +- `valpriv:vac:tor-push-paper` + - revised last comments about structure +- `gsub-scaling:vac:gossipsub-simulation` + - Created a PR to minimize the relay peers set based on idontwant/receieved messages. https://github.com/status-im/nim-libp2p/pull/1027 + - showing small bandwidth and latency improvement with the increasing message sizes (still to test on very large messages) +- `zk:codex:storage-proofs-open-problems-review` + - Provide feedback on [Range Proof example](https://github.com/codex-storage/zk-research-artifacts/blob/master/notes/range-check/range_check.pdf) + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Researched the Privacy Directed Acyclic Graph (PDAG) framework for privacy guarantees (Moudy) + - Made progress on the integration of Cryptographic primitives in SE and DE (Ugur + Moudy) + - Made progress on adress hiding and signature verification focusing on RingCT (Marvin) + - Finished the report about SE and DE kernel circuits in [notion.](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#140df768f8964eb5ac9fc1b09617cf5b) (Ugur) + - Studied about a problem about nullifying randomization of notes (Ugur) +- `proofsystems:vac:benchmarks` + - Finished updating [Arecibo](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#3763c2a7ce794875978a1af2ae418a12) document (Moudy) + - Finished updating [halo2](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#d015c95ca971483c805e21c584de818b) document (Moudy) + - Updated the main Benchmarks [document](https://github.com/vacp2p/zk-explorations/blob/main/benchmarks.md) (Moudy) + - Begin theoretical complexities for various proof systems (Rostyslav + Moudy + Marvin) + diff --git a/content/updates/2024-02-26.md b/content/updates/2024-02-26.md new file mode 100644 index 000000000..ef47d3ecd --- /dev/null +++ b/content/updates/2024-02-26.md @@ -0,0 +1,216 @@ +--- +title: "2024-02-26 Vac weekly" +tags: + - "vac-updates" +date: 2024-02-26 +lastmod: 2024-02-26 +draft: false +--- + +## Vac 2024/02/26 + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - Yamux simulations https://github.com/status-im/nim-libp2p/pull/1029 + - Debug the stairs showed with the metrics + - It was due to a couple of error / bug: + - On nwaku a ping connection opened wasn't closed + - On yamux the timeout wasn't implemented + - The implementation + testing of the implementation showed a sneaky bug (fixed) +- `nimlibp2p:vac:webrtc-transport` + - Merged the DataChannel giant PR https://github.com/status-im/nim-webrtc/pull/4 + - Maintenance on nim-mbedtls https://github.com/status-im/nim-mbedtls/ + - Debugging some issues with the interaction between the clients parts of dtls and sctp https://github.com/status-im/nim-webrtc/pull/5 +- `nimlibp2p:vac:gossipsub-stagger-send` + - Tested and found issues with PR and possibly more that already exist - https://github.com/status-im/nim-libp2p/pull/1015 (feat: message prioritization with immediate peer-published dispatch and queuing for other msgs) + - Experimental PR - https://github.com/status-im/nimbus-eth2/pull/5911 - to test fixes for the above. It has been deployed to https://metrics.status.im/d/pgeNfj2Wz23/nimbus-fleet-testnets?orgId=1&from=now-6h&to=now&var-instance=erigon-10.ih-eu-mda1.nimbus.holesky&var-container=beacon-node-holesky-libp2p&refresh=5s + - Check nimbus/libp2p discord channel for more info on the above. +- `nimlibp2p:vac:maintenance` + - Briefly investigate interop failing tests; Flaky: Added them to [flaky tests doc](https://www.notion.so/Flaky-Tests-0ca86939142949af8f23f8b06fb4e3c4) + +### vac:tke: +- `nomos:cryptarchia-wealth-concentration-estimated-stake` + - finalizing the report about wealth concentration on Nomos (@Frederico) + - caught up with Frederico's work on wealth concentration (@Martin) +- `nomos:tdc-objectives` + - continued reading the whitepaper and filling the TDC (@Frederico) +- `codex:cdx` + - appended the CDX token interactions with the feedback from the Codex team (@Frederico) + - reviewed Codex team suggestions about data retrievability on other protocols (@Frederico) +- `waku:rln-membership:` + - caught up with Martin's work on RLN pricing (@Frederico) + - prepare for and lead the discussion on RLN pricing, follow-ups (@Martin) +- `status:SNT-staking` + - helped Martin with questions about radCAD model (@Frederico) + - reviewing Ricardo's new implementation of the staking contract (resolving the accounting issue) (@Martin) + - explore concepts and architecture for the staking module (role of relayer, vault factory) (@Martin) + - updated the radCad model to reflect latest thinking on MPs (@Martin) +- `waku:general-incentives` + - read papers suggested by Jarrad (@Martin) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Set up cluster without K3s (with Wings's help) and test P2P PR 1045 + - Keep working on Thanos metrics scrapping: PR: https://github.com/vacp2p/10ksim/pull/3 + - Gathered detailed metrics for paper on Waku scaling + - Ran 4 simulations + - Various metrics tuning on Emerald k8s + - Completely rebuilt the Kubernetes cluster (and about 80% of the lab) + - New cluster is called Opal, the sequel to Emerald + - Uses Cilium (on top of the Multus metaplugin) for much higher network performance + - Entirely bare metal, currently 3 nodes (pending 4th node returning, happening by EOW) + - Uses the new VLAN structure, clean credentials + - Fixed an issue with Metrics still using Longhorn + - Figured out how to use the backup and restore tool Velero + - Added KubeVirt for virtual machine hosting and management inside Kubernetes + - Will make it easier for us to provision machines for other teams + - Backed by Rook-Ceph + - Many tweaks to Kubernetes, Cilium, metrics, and more - see https://www.notion.so/Opal-Kubernetes-Cluster-Lab-Rebuild-4c8472546b0d47f5b05debacf9c7ac29 + - Fixed multiple major networking issues with the lab (again) + - Added the ability to multi-home k8s pods through Multus (ie: attach them to multiple networks) + - Debugged and fixed a huge issue with TLS certificate issuance through Let's Encrypt - turned out to be Cloudflare's fault (Universal SSL basically broke my LE DNS-01 challenges, hard) + - Scaled up Redis to 18 nodes (6 master, 12 replicas) for additional safety under heavy load + +### vac:qa: +- `waku:test-automation-js-waku` + - Peer exchange [tests](https://github.com/waku-org/js-waku/pull/1859)(@Florin) + - Issues reported: + - https://github.com/waku-org/js-waku/issues/1858 + - https://github.com/waku-org/js-waku/issues/1860 + - Upgrade and test CI with [nwaku v0.25.0](https://github.com/waku-org/js-waku/pull/1861)(@Florin) +- `waku:interop-testing` + - Remove [deprecated flag](https://github.com/waku-org/waku-interop-tests/pull/18)(@Florin) + - Fixed RLN_CREDENTIALS - Waku moved to use HTTP instead of WebSocket(@Roman) + - Waku node health/reliability(@Roman) + - Keep collecting info for issues: + - https://github.com/waku-org/nwaku/issues/2369 + - https://github.com/waku-org/docs.waku.org/issues/165 +- `waku:test-automation-go-waku` + - Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman) + - Issues reported: + - https://github.com/waku-org/go-waku/issues/1044 +- `waku:test-automation-nwaku` + - Finished Implementing Peer Exchange [tests](https://github.com/waku-org/nwaku/pull/2464)(@Alex) + - Unittest Library - [Added Feature Request for nested suites](https://github.com/status-im/nim-unittest2/issues/41)(@Alex) + - Fix imports and test related to [missing imports](https://github.com/waku-org/nwaku/pull/2467)(@Alex) + - Brief look on Connection & Peer Management(@Alex) + - Start working on Discv5 tests(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - included a PoC for small trees < 255 leaves where the root can be included onchain trustlessly via a view call - https://github.com/vacp2p/rln-contract/pul +- `admin/misc` + - assisting waku research team with waku papers +- `secure-channels:waku:ethereum-chat` + - Completed a first version of the paper, including the detection a possible mitigation of lost messages. + - Update the internal Notion page. + - Prepare presentation for the Logos Research Call + - Finished the research about integration of ERC-5564 and EIP-4361(SIWE). + - Start to study about the anonymous chatting with stealth addresses. + +### vac:sc:: +- `status:community-contracts-token-import` + - implemented Vault.depositERC20 + - https://github.com/status-im/communities-contracts/pull/53 +- `status:staking-contract-v1` + - review + - fix: StakeManager migration fixes and certora rules + - [Refactor and fixes for StakeManager](https://github.com/logos-co/staking/pull/63) + - refactor(StakeManager): refactor multiplier points logic + - fix(StakeManager): properly init accs and checks init + - fix(StakeManager): check for valid migration address + - fix(StakeManager): use a correct MP formula + - [refactor(StakeManager): change MIN_LOCKUP_PERIOD to 2 weeks](https://github.com/logos-co/staking/pull/65) + - [Research and fix for division precision loss](https://github.com/logos-co/staking/pull/66) + - chore: add gas-report for all contracts + - chore(StakeManager): add test for process account and unstake + - fix(StakeManager): use OpenZeppelin Math to avoid precision loss in int divisions +- `vac:maintainance/misc` + - Foundry Template + - [implemented gas-report](https://github.com/vacp2p/foundry-template/pull/18) + - [implemented command to prepare for commits](https://github.com/vacp2p/foundry-template/pull/23) + - [research on EOL error in prettier for .json files](https://github.com/vacp2p/foundry-template/issues/21) + - Sticker Market + - [Published Sticker Types from Mainnet in Sepolia](https://github.com/status-im/sticker-market/issues/17) + - Investigated issue of ENS not working on Sepolia in Status Desktop + - https://github.com/status-im/status-desktop/issues/13697#issuecomment-1960877592 +- `status:community-contracts-maintenance` + - Deployed communities contracts on OP Sepolia + - `CommunityTokenDeployer` + - https://sepolia-optimism.etherscan.io/address/0xcE2A896eEA2F585BC0C3753DC8116BbE2AbaE541#code + - `CommunityOwnerTokenRegistry` + - https://sepolia-optimism.etherscan.io/address/0xfFa8A255D905c909379859eA45B959D090DDC2d4#code + - `CommunityOwnerTokenFactory` + - https://sepolia-optimism.etherscan.io/address/0x420be6568c6e09782ceae1575495cd6c1c7ea04d#code + - `CommunityMasterTokenFactory` + - https://sepolia-optimism.etherscan.io/address/0x99F0Eeb7E9F1Da6CA9DDf77dD7810B665FD85750 + - PR adding addresses to project README + - https://github.com/status-im/communities-contracts/pull/52 + - Investigated Certora rule issues for `CollectiblveV1` token + - https://github.com/status-im/communities-contracts/pull/48 + - `CollectibleV1` is now `CommunityERC721` + - https://github.com/status-im/communities-contracts/pull/51 +- `status:community-contracts-batch-tx-ext` + - Implemented `safeBatchTransferFrom` capabilities in `BaseToken` + - https://github.com/status-im/communities-contracts/pull/45 + +### vac:rfc: +- `rfc-process-restructuring` + - Merge Waku specs after Hanno feedback - https://github.com/waku-org/specs/pull/1 + - Worked on COSS, still in draft - https://github.com/vacp2p/rfc-index/pull/4 +- `waku:core-rfc-updates` + - Worked on updating 17/WAKU-RLN-RELAY - https://github.com/vacp2p/rfc/pull/667 + +### vac:dr: +- `valpriv:vac:val-priv-net` + - Still refining suggested ideas. slow this week. +- `valpriv:vac:tor-push-poc` + - Merged the branch torpush and rebased but encountered several conflicts. Still testing and in progress on boarding for holesky +- `valpriv:vac:tor-push-paper` + - addressed the feedback +- `gsub-scaling:vac:gossipsub-simulation` + - Conducted tests on [[PR-1015](https://github.com/status-im/nim-libp2p/pull/1015)], [[PR-1017](https://github.com/status-im/nim-libp2p/pull/1017)], [[PR-1027](https://github.com/status-im/nim-libp2p/pull/1027)], [[PR-1028](https://github.com/status-im/nim-libp2p/pull/1028)] against different scenarios + - added notion page on large message transmissions for GossipSub https://www.notion.so/GossipSub-Improvements-Impact-of-Flood-Publishing-on-Large-Messages-9c6f15a6f1364adeade91d674ecdcb55 +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Worked on better message forwarding. Sorting on TxTime showed slightly improved results. Now Limiting senders to further saturate bandwidth for senders +- `zk:codex:storage-proofs-open-problems-review` + - Begin examining [Reverie](https://eprint.iacr.org/2023/1888) in terms of idea mentioned in the Discord feedback thread +- `admin/misc` + - Study RLN code for stateless proofs; this provides additional insight on how Merkle trees/Verkle trees can and should be coded better which is beneficial for Nescience notes in the long run. + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Finished researching the Privacy Directed Acyclic Graph (PDAG) framework for privacy guarantees + - Started looking at monitoring issues + - Started looking at Nullifier issues to avoid linkeability + - Research joinsplit and optimistic rollups for monitoring + - Begin documents on joinsplit and monitoring +- `proofsystems:vac:benchmarks` + - Written a first expanded draft for Benchmarks research paper + - Research for table comparison +- `proofsystems:vac:benchmarks` + - prepared explanation for Halo2 GWC and SHPlonk implementations (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a and https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce) + - prepared explanation for Arecibo implementation (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1) + - Fixed various PRs comments + - Added verify benchmark for Nova Circom + number of constraints (https://github.com/vacp2p/zk-explorations/pull/25) + - Added verify benchmark for Nova Bellman + number of constraints (https://github.com/vacp2p/zk-explorations/pull/30) + - Added verify benchmark for Arecibo + number of constraints (https://github.com/vacp2p/zk-explorations/pull/29) + - Added verify benchmark for Plonky2 + number of constraints (https://github.com/vacp2p/zk-explorations/pull/26) + - Researched- `state-separation:vac:state-separation-doc` + - Finished researching the Privacy Directed Acyclic Graph (PDAG) framework for privacy guarantees + - Started looking at monitoring issues + - Started looking at Nullifier issues to avoid linkeability + - Research joinsplit and optimistic rollups for monitoring + - Begin documents on joinsplit and monitoring +- `proofsystems:vac:benchmarks` + - Written a first expanded draft for Benchmarks research paper + - Research for table comparison +- `proofsystems:vac:benchmarks` + - prepared explanation for Halo2 GWC and SHPlonk implementations (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a and https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce) + - prepared explanation for Arecibo implementation (https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1) + - Fixed various PRs comments + - Added verify benchmark for Nova Circom + number of constraints (https://github.com/vacp2p/zk-explorations/pull/25) + - Added verify benchmark for Nova Bellman + number of constraints (https://github.com/vacp2p/zk-explorations/pull/30) + - Added verify benchmark for Arecibo + number of constraints (https://github.com/vacp2p/zk-explorations/pull/29) + - Added verify benchmark for Plonky2 + number of constraints (https://github.com/vacp2p/zk-explorations/pull/26) + - Researched ways to calculate halo2 constrain ways to calculate halo2 constrain diff --git a/content/updates/2024-03-04.md b/content/updates/2024-03-04.md new file mode 100644 index 000000000..2d0750e48 --- /dev/null +++ b/content/updates/2024-03-04.md @@ -0,0 +1,158 @@ +--- +title: "2024-03-04 Vac weekly" +tags: + - "vac-updates" +date: 2024-03-04 +lastmod: 2024-03-04 +draft: false +--- + +## Vac 2024/03/04 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Sctp and Dtls client done: https://github.com/status-im/nim-webrtc/pull/5 + - Adds a lot of comments some refactoring to improve (I hope) the readability https://github.com/status-im/nim-webrtc/pull/6 + - Closing the streams/connections: starts to test and think about it to make it bulletproof +- `nimlibp2p:vac:maintenance` + - Investigating issues related to https://github.com/status-im/nim-libp2p/pull/1032 + +### vac:tke: +- `nomos:tdc-objectives` + - expanded the objectives & requirements part of the TDC (@Frederico) +- `codex:cdx` + - incorporated into Codex Litepaper all material about Codex on GitHub (@Frederico) + - reviewed the causal loop diagragam for Codex (@Frederico) + - reviewed the stock and flow diagram for Codex (@Frederico) +- `waku:rln-membership:` + - Prepare a summary of the RLN membership model including user journey mapping (@Martin) + - Review the pricing of Farcaster, etc. (@Martin) +- `waku:general-incentives` + - Follow up with general research into Waku strategy based on the IFT strategy call. (@Martin) +- `status:SNT-staking` + - Continue the review of the staking contract (@Martin) + - Understand the severity of precision loss (due to Solidity constraints) and resulting discrepancy between the contract logic and radCad simulations (@Martin) + - Assist the SC team in further checks and definition of testing scenarios (@Martin) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Work on plotting module in the Kubernetes framework + - Modified main yaml to add plotting options + - Created plotter class to group there all functionalities + - Structured plotter to be able to group several experiments in same plot in an automatic manner + - Lots of calls with Wings to test the lab, launch simulations, discuss about problems and so on. +- Deployed iBGP for Calico + - Which got the IP addresses wrong at first, fixed by editing Node annotations + - Later removed BGP due to numerous issues with it +- Numerous, numerous Kubernetes tests and improvements + - Tried Cilium briefly + - Switched from Cilium to Calico + - Reinstalled entire cluster as Calico transition broke things (due to CNI switch without reinstall being a bad idea) +- Scale testing revealed that Linux has limits per node that prevent us from scaling beyond about ~1400 waku nodes per physical host when running on bare metal +- Created a new architecture for running tests + - Hybrid between bare metal and virtualised Kubernetes + - Rook-Ceph (Storage) and Prometheus-Thanos (Metrics) stacks run on bare metal, as does all management + - The rest runs in a KubeVirt based deployment system. + - We deploy what we're calling "opal fragments" (fractions of the Opal Kubernetes cluster) - Kubernetes workers dedicated solely to running nwaku deployments. + - Can deploy 5000 nodes in < 8 minutes, with stable mesh forming around 25 minutes into deployment +- Experimented with various opal fragment deployments - 56x nodes seems to be the most stable configuration + - Much higher than this (especially with poor allocation of cores) causes instability in the CNI (Calico) + - Which causes monitoring issues as nodes drop out of Prometheus monitoring + - And can mess with the mesh + - Instability is lower with lower # of connections +- Debugging CoreDNS issues - believe we've found a bug in CoreDNS and its interactions with HeadlessServices, returning NXDOMAIN even for valid hostnames about 1 in 5.5 to 6 queries. +- Ran repeated simulations to get a stable simulation for testing. +- Built a new "accelerated bootstrap" mode for simulations + +### vac:qa: +- `waku:test-automation-js-waku` + - Fix flaky [tests](https://github.com/waku-org/js-waku/pull/1869)(@Florin) + - Close [milestone](https://github.com/logos-co/roadmap/pull/39)(@Florin) +- `waku:test-automation-sharding` + - Improve static sharding and autosharding tests coverage for js-waku(@Florin) + - Issue reported:(@Florin) + - https://github.com/waku-org/js-waku/issues/1874 +- `waku:interop-testing` + - Waku node health/reliability(@Roman) + - Issue updated: + - https://github.com/waku-org/go-waku/issues/1014) +- `waku:test-automation-go-waku` + - Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman) + - Issue updated: + - https://github.com/waku-org/go-waku/issues/1044 +- `waku:test-automation-nwaku` + - Peer Exchange(@Alex) + - [Resultify fetchPeerExchangePeers](https://github.com/waku-org/nwaku/pull/2486) + - Discv5(@Alex) + - Implement tests and simplify and [reduce code](https://github.com/waku-org/nwaku/pull/2487) + - Peer & Communication Management(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - improved testing for rln-v2 onchain mode: https://github.com/waku-org/nwaku/pull/2482 + - improved testing for rln-v2 static/offchain mode: https://github.com/waku-org/nwaku/pull/2484 (pending review) +- `secure-channels:waku:ethereum-chat` + - Finish the presentation for the Logos Research Call. + - Improve the research paper. + - Considering replacing MLS with another protocol. + - Add an overview on anonymity and SIWE integration in [notion.](https://www.notion.so/Overview-of-the-ERC-5564-Stealth-Addresses-ca3c16fbd9344d32933bf09791180f17?pvs=4) + - Study on hierarchical deterministic wallets for anonymous login. + - Study the openmls [crate](https://crates.io/crates/openmls) for demo implementation. +- `zerokit:vac:maintenance` + - taken a look on this issue https://github.com/vacp2p/zerokit/issues/47 +- `admin/misc` + - assist with waku research paper + - stealth commitment protocol over waku PoC: https://github.com/waku-org/nwaku/pull/24 + +### vac:sc:: +- `status:community-contracts-token-import` + - finished PR erc20/erc721 deposit PR + - implemented withdraw function for tokens sent directly to the contract https://github.com/status-im/communities-contracts/pull/59 +- `status:staking-contracts-v1` + - Reviewed and merged PRs + - Continue work on coverage + - Implemented additional deployment script for new `StakeManager`s + - https://github.com/logos-co/staking/pull/72 + - Worked on fixing certora specs + - https://github.com/logos-co/staking/pull/73 + - https://github.com/logos-co/staking/pull/74 + - https://github.com/logos-co/staking/pull/75 + - Fixed a bug that allows `StakeManager`s to reset another one's `Stakemanager`s epoch while it's in migration + - https://github.com/logos-co/staking/pull/76 +- `status:community-contracts-maintenance` + - Release version 1.0.0 of communities contracts + - Changelog: https://github.com/status-im/communities-contracts/blob/main/CHANGELOG.md#100-2024-02-28 +- `vac:maintainance/misc` + - Worked on Logos Research call presentation + +### vac:rfc: +- `rfc-process-restructuring` + - worked rfc process - https://github.com/vacp2p/rfc-index/pull/8 + - worked on pull request for rfc-index - https://github.com/vacp2p/rfc-index/pulls + +### vac:dr: +- `valpriv:vac:val-priv-net` + - Refined and working on https://docs.google.com/document/d/15X4vJTK_Hr3g3K01XF77R3KCqLI8LIm3/edit +- `valpriv:vac:tor-push-poc` + - Successfully merged , built the torpush while rebasing from stable nimbus. +- `valpriv:vac:tor-push-paper` + - Improved and revised the draft. like citing tor related attacks with relevance for tor push while making many other minor points and clarification https://www.overleaf.com/project/6499e467346d9f56b2971caa + - Created a notion page on findings on large message handling: https://www.notion.so/Performance-Evaluation-of-Different-Pull-Requests-for-Large-Message-Handling-4d47672820114732b9f248f6bf18946e + - Merged [PR-1027](https://github.com/status-im/nim-libp2p/pull/1027), [PR-1028](https://github.com/status-im/nim-libp2p/pull/1028) and used TxTime sorting on SendPeerList. Additionally used semaphors to limit simultaneous transmissions. Improves results in some cases and shows large fluctuations in other messages + - Configured shadow simulation for variable latency and bandwidths. Trying to build some automated scripts (requires adding edges among all peers, and adding all nodes with variable latency/bandwidth). NetworkX package in python can help writing network in gml format + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Researched and discussed about monitoring issues and how to adapt solutions to our proposal (Moudy + Marvin) + - Researched and discussed about nullifeir problems and how to solve them (Moudy + Ugur) + - Studied untraceability and unlinkability features of PDAGs to create our version of PDAGs (Ugur) + - Stared working on reward mechanisms for monitoring (Marvin) +- `proofsystems:vac:research-existing-proof-systems` + - Finished writing Reverie writeup (Rostyslav) +- `proofsystems:vac:benchmarks` + - Worked on refining the Benchmark paper and drafted a full version (Moudy) + - Went through the Benchmarks paper and discussed about modifications to make and general output (Moudy + Rostyslav) + - Modified Halo2 SHPLONK, Halo2 GWC and Plonky2 circuits (Rostyslav) + - Prepared a paragraph on Nova vs SuperNova difference and Nova vs Halo2 recursion (Rostyslav) + + diff --git a/content/updates/2024-03-11.md b/content/updates/2024-03-11.md new file mode 100644 index 000000000..55d11c9c4 --- /dev/null +++ b/content/updates/2024-03-11.md @@ -0,0 +1,179 @@ +--- +title: "2024-03-11 Vac weekly" +tags: + - "vac-updates" +date: 2024-03-11 +lastmod: 2024-03-11 +draft: false +--- + +## Vac 2024/03/11 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Finish commenting and refactoring Sctp and DataChannel https://github.com/status-im/nim-webrtc/pull/6 (merged) + - Try to implement CI and make it work on differents OS (it fails) https://github.com/status-im/nim-webrtc/pull/1 + - Move usrsctp from nim-webrtc to its own repository: https://github.com/status-im/nim-usrsctp + - Clean nim-webrtc for the review + - UDP: https://github.com/status-im/nim-webrtc/pull/8 + - Stun: https://github.com/status-im/nim-webrtc/pull/9 + - DTLS: https://github.com/status-im/nim-webrtc/pull/10 + - SCTP: https://github.com/status-im/nim-webrtc/pull/11 + - DataChannel: https://github.com/status-im/nim-webrtc/pull/12 +- `nimlibp2p:vac:gossipsub-stagger-send` + - Reviewing and discussing https://github.com/status-im/nim-libp2p/pull/1051. It's related to prio queues in GossipSub. +- `nimlibp2p:vac:maintenance` + - Creating questions for interview. + - Trying to run interop tests with chronos 3 - https://github.com/status-im/nim-libp2p/pull/1055 + - various PR reviews +- `nimlibp2p:vac:maintenance` + - proto3 repeated uint32 handling + - [Issue](https://github.com/status-im/nim-libp2p/issues/1035) + - Double check jacek's answer: All good. + - single topic in rpc message + - [Issue](https://github.com/status-im/nim-libp2p/issues/1052) + - Implement fix [PR](https://github.com/status-im/nim-libp2p/pull/1061) + - graceful shutdown + - [Issue](https://github.com/status-im/nim-libp2p/issues/1007) Investigated and requested more info + +### vac:tke: +- `waku:rln-membership:` + - Prepare a summary of the RLN membership model including user journey mapping (need to discuss with Waku team further) (Martin) + - Prepare and iterate on the token economy suggestions for Waku (Martin) + - Follow-ups from the Tokenomics call (Martin) +- `status:SNT-staking` + - Continue to monitor development and give feedback for the staking contract (Martin) + - Assist the SC team in further checks and definition of testing scenarios (Martin) + - Follow-ups from the Status Chain IFT Strategy call (Martin) +- `nomos:tdc-objectives` + - finalized the objectives & requirements part of the TDC (inc. mixnet nodes below) (Frederico) +- `nomos:mixnet-incentives` + - understood the mixnet incentivization problem (Frederico) + - read Nym reward sharing scheme for mixnets (a comparable) (Frederico) + - analysed the differences between single vs. multi-staking approaches (Frederico) +- `waku:general-incentives` + - caught up with Martin's tokenomics proposal (Frederico) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Main thing is to retrieve waku simulations Data and plot them + - Prepare deliverable for Waku + - Finish running several simulations with different sizes and message rates + - Extract data + - Prepare and clean plots + - Discuss again with Wings what we should explain in the deliverable + - Add tests to plotter module + - Scrapping PR aproved by Alex: https://github.com/vacp2p/10ksim/pull/3 + - Deliverable for Waku simulations + - Discussions with some friends about how to scale further + - Noted that there was at least *8* layers for every packet to pass through with current setup + - Network restructuring - OVS + Mellanox OFED + asap2 attempts + - Added Proxmox to Vaxis and Nia (converting them) + - Added Mellanox OFED drivers + - Updated firwmare + - Moved to OpenvSwitch networking + - Deployed Kubernetes onto the new machines +- `:vac:lab` + - Preparing for power upgrades + - Added Vaxis, Nia, new 64 core nodes + - Added new 25G switch + +### vac:qa: +- `waku:interop-testing` + - Use fixed versions for [dependecies](https://github.com/waku-org/waku-interop-tests/pull/19)(@Florin) + - [Adjustments and improvements](https://github.com/waku-org/waku-interop-tests/pull/20)(@Florin) + - Tried to reproduce the disconnecting light clients issue and found a similar [issue](https://github.com/waku-org/nwaku/issues/2512)(@Florin) +- `waku:test-automation-sharding` + - Unit and interop [tests](https://github.com/waku-org/js-waku/pull/1883)(@Florin) + - Discovered autosharding is hardcoded for [cluster ID 1](https://github.com/waku-org/nwaku/pull/2505)(@Florin) + - Help js-waku devs to improve CI [error handling](https://github.com/waku-org/js-waku/issues/1884)(@Florin) + - Raised [issue](https://github.com/waku-org/js-waku/issues/1899) for flaky CI test(@Florin) +- `waku:test-automation-go-waku` + - Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman) + - Closed triggerDiscovery [issue](https://github.com/waku-org/go-waku/issues/1044)(@Roman) + - Improve unit test coverage for [peer exchange](https://github.com/waku-org/go-waku/pull/1046)(@Roman) +- `waku:test-automation-nwaku` + - `KEYSTORE_PASSWORD` env variable is not effective - [resolved](https://github.com/waku-org/nwaku/issues/2374)(@Roman) + - Trying to reproduce, fix and add new test case for [metadata protocol disconnecting light clients issue](https://github.com/waku-org/nwaku/issues/2491)(@Alex) + - Solved some issues related to metadata connection between two nodes.(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancments` + - Optimized the Nullifier Table usage to O(1) reads to detect double signaling: https://github.com/waku-org/nwaku/pull/2508 + - Fixed execution error when trying to fetch metadata from a freshly created tree (nwaku side): https://github.com/waku-org/nwaku/pull/2516 +- `rlnp2p:waku:rln-relay-v2` + - Wrap up tests for rln-relay-v2: https://github.com/waku-org/nwaku/pull/2501 (pending review) +- `zerokit:vac:maintenance` + - Fix execution error when trying to fetch metadata from a freshly created tree (zerokit side): https://github.com/vacp2p/zerokit/pull/231 (rln-v1) & https://github.com/vacp2p/zerokit/pull/232 (rln-v2) +- `secure-channels:waku:ethereum-chat` + - Explore a proposal on decentralized CGKA by Weidner et al. as a replacement for the MLS protocol. +- `secure-channels:waku:ethereum-chat` + - Check the literature for related the papers [CoCoA](https://eprint.iacr.org/2022/251.pdf), [2](https://eprint.iacr.org/2023/1123.pdf), [3](https://eprint.iacr.org/2023/386.pdf), and [DCGKA](https://eprint.iacr.org/2020/1281.pdf) + - Quickly check the literature to see if there are any improvements in MLS and its problems. + - Started to focus on [DCGKA](https://eprint.iacr.org/2020/1281.pdf) by reading [Ramses' note](https://www.notion.so/Weidner-et-al-DCGKA-5a0b67a3ce674ae3a5220b560015cd2c?pvs=4) +- `zerokit:vac:maintenance` + - researched Rust for Android for issue #47 +- `admin/misc` + - Fixed compilation without the postgres feature in nwaku: https://github.com/waku-org/nwaku/pull/2500 + - waku research paper + +### vac:sc:: +- `status:community-contracts-token-import` + - finished withdrawal PR + - added tests for erc20 withdrawal https://github.com/status-im/communities-contracts/pull/60 + - started a POC for Vault migration to discuss about https://github.com/status-im/communities-contracts/issues/32 +- `status:staking-contracts-v1` + - Continue work on coverage + - Fixed broken certora rule to get CI green again + - https://github.com/logos-co/staking/pull/78 + - Added invariant to ensure Vault accounting preserves ERC20 balances + - https://github.com/logos-co/staking/pull/56 + - Worked on pending Certora rule to get them pass on CI + - https://github.com/logos-co/staking/pull/58 + - https://github.com/logos-co/staking/pull/57 + - https://github.com/logos-co/staking/pull/81 +- `vac:maintainance/misc` + - Analysis of SNT impact on ethereum state + - Research on Market Makers of other wallets + - Logos Research call preparation and presentation + - Slides: https://docs.google.com/presentation/d/1pdW3JZxqh7t_Aqd-cfIi1_JP4_8gyCk5XDBeY3nsrrE/edit?usp=sharing + - Video: https://drive.google.com/file/d/1NGZWkEAWMoeHMQXpIi2fStyzQYqbfSKG/view?pli=1 + +### vac:rfc: +- `rfc-process-restructuring` + - added markdown-lint workflow to rfc-index- https://github.com/vacp2p/rfc-index/pull/24 + - finished moving final open waku specs from vac/rfc - https://github.com/vacp2p/rfc/pulls +- `misc` + - worked on pr for 64/WAKU2-NETWORK - https://github.com/vacp2p/rfc-index/pull/5 + +### vac:dr: +- `valpriv:vac:val-priv-net` + - Moved the content to notion https://www.notion.so/privacy-preserving-validator-network-e92ab3e563074a538bb0e13e5c9321e6 +- `valpriv:vac:tor-push-poc` + - Running holesky validators, getting over sync/deposit issue +- `valpriv:vac:tor-push-paper` + - Improved the draft https://www.overleaf.com/project/6499e467346d9f56b2971caa +- `gsub-scaling:vac:gossipsub-simulation` + - Completed topology generation scripts for shadow simulator. [PR4](https://github.com/vacp2p/dst-gossipsub-test-node/pull/4) now supports running simulations with variable latency, bandwidth, packet loss ratio, and also allows adjusting network/message size, fragmentation and publisher settings + - Created a [notion page](https://www.notion.so/Message-Prioritization-Forwarding-in-Other-Libp2p-Implementations-15a23ab9c0034734865d369266228dca) on message forwarding/queuing in other libp2p implementations (go-libp2p): + - Created a [vac forum post](https://forum.vac.dev/t/large-message-handling-idontwant-imreceiving/281) on large message handling +- `admin/misc` + - Reviewed Waku-RLN paper + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Researched accumulators and how to combine them to Homomorphic encryption + prepared a document about it (Moudy) + - Researched how to make salt approach dynamic and will prepare a document about it (Moudy) + - Began reading portions of [Nexus VM](https://www.nexus.xyz/whitepaper.pdf) and [GKR-based VM](https://eprint.iacr.org/2024/387) (Marvin) + - Read various papers concerning reward mechanisms for miners/observers. [1](https://www.econstor.eu/bitstream/10419/197887/1/1027810829.pdf), [2](https://www.nber.org/system/files/working_papers/w25407/w25407.pdf), [3](https://wiki.polkadot.network/docs/learn-staking), [4](https://arxiv.org/pdf/2312.14038.pdf), [5](https://electriccoin.co/blog/proof-of-stake.-research-overview-1/) (Marvin) + - Almost completed report about SE/DE in PDAGs (Ugur) + - Read accumulators about Zerocoin nullifier mechanism in this [paper](https://zerocoin.org/media/pdf/ZerocoinOakland.pdf) (Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - took a look at [Nexus VM](https://github.com/nexus-xyz/nexus-zkvm) and [LatticeFold](https://eprint.iacr.org/2024/257.pdf) (Rostyslav) +- `proofsystems:vac:benchmarks` + - Worked on abstract, tables for paper (Moudy) + - Worked on researching Nova vs. Supernova (Moudy) + - Started Nova vs. Halo2 recursion vs. aggregation (Moudy) + - Prepared explanation for Nova Bellman implementation (Rostyslav) + - Conducted local benchmark testing (Rostyslav) + diff --git a/content/updates/2024-03-18.md b/content/updates/2024-03-18.md new file mode 100644 index 000000000..d2cd49256 --- /dev/null +++ b/content/updates/2024-03-18.md @@ -0,0 +1,153 @@ +--- +title: "2024-03-18 Vac weekly" +tags: + - "vac-updates" +date: 2024-03-18 +lastmod: 2024-03-18 +draft: false +--- + +## Vac 2024/03/18 + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - preparing interview + - reviewing PRs + - [Graceful Shutdown (1007)](https://github.com/status-im/nim-libp2p/issues/1007) Fix + - [PR](https://github.com/status-im/nim-libp2p/pull/1065) + - [Single topic for RPC Message (1052)](https://github.com/vacp2p/nim-libp2p/issues/1052) + - [PR](https://github.com/vacp2p/nim-libp2p/pull/1061) Update PR with suggestions + +### vac:tke: +- `admin/misc` + - reviewed CVs (Frederico) + - Interviews with candidates (Martin) +- `nomos:mixnet-incentives` + - developed a pricing model for packets routed through the mixnet (Frederico) + - modified Nym reward allocation mechanism to Nomos constraints (Frederico) +- `codex:cdx` + - designed the CDX insurance model (Frederico) +- `status:L2-deployment` + - kicked off a list of L2 comparables, focused on business models and ecosystem incentivization (Frederico) + - Kicking off work on incentives for L2 (Martin) +- `waku:rln-membership:` + - Proposing new RLN membership structures to the team - other than price per membership (Martin) + - Follow-ups to Franck's response to our material we presented last week (Martin) +- `status:SNT-staking` + - Continue to monitor development and give feedback for the staking contract (Martin) + - Assist the SC team in further checks and definition of testing scenarios (Martin) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Finish plotter module tests and prepare PR (ongoing) + - Improve framework scraping interval (https://github.com/vacp2p/10ksim/issues/8) + - Try kubernetes API portforwading again + - Simulations: + - Updated waku to 0.26 + - Changed some parameters (flags, memory available, etc) + - Results with 3k matches perfectly with 1K in terms of bandwidth. + - Bootstrap now doens't crash. Caused by OOM previously. +- `eng-10ktool:vac:bandwidth-test` + - Various simulations, gathering additional data + - Calls with @Alberto, helping fix scraping + - Attempted to get hardware offloading working on existing ConnectX-4 LX adapters + - Conclusion was it's not possible (NVIDIA deprecated the offloading for CX4LX) but we're now in a good place to try offloading on the new CX6s once they arrive + - CX6s are at the post office waiting for pickup -> installation +- `admin/misc` + - Met with Codex team re: helping with Codex testnet + +### vac:qa: +- `waku:test-automation-sharding` + - Finished js-waku sharding tests and prepared [PR for review](https://github.com/waku-org/js-waku/pull/1883)(@Florin) + - Issues found:(@Florin) + - Allow subscribeToContentTopic to use other [cluster IDs](https://github.com/waku-org/js-waku/issues/1900) + - ApplicationInfo to PubsubTopic doesn't take clusterId into [consideration](https://github.com/waku-org/js-waku/issues/1902) +- `waku:interop-testing` + - Created [scripts](https://github.com/waku-org/waku-interop-tests/pull/23) to help reproduce bugs [2512](https://github.com/waku-org/nwaku/issues/2512) and [1034](https://github.com/waku-org/go-waku/issues/1034)(@Florin) + - Improve logs for [manual debug](https://github.com/waku-org/waku-interop-tests/pull/21)(@Florin) + - Found go-waku [regression/issue](https://github.com/waku-org/go-waku/issues/1054)(@Florin) + - Waku node health/reliability [Issue 2369 - updated](https://github.com/waku-org/nwaku/issues/2369) and [Issue 165 - updated](https://github.com/waku-org/docs.waku.org/issues/165)(@Roman) +- `waku:test-automation-go-waku` + - Improve unit test coverage for [peermanager](https://github.com/waku-org/go-waku/pull/1035)(@Roman) + - Issues found:(@Roman) + - Metadata might not always be [available](https://github.com/waku-org/go-waku/issues/1055) + - Describe topic event transition between libp2p and [peer manager level](https://github.com/waku-org/go-waku/issues/1053) + - Improve unit test coverage for [peer exchange](https://github.com/waku-org/go-waku/pull/1046)(@Roman) + - Improve unit test coverage for [Discv5](https://github.com/waku-org/go-waku/pull/1051)(@Roman) +- `waku:test-automation-nwaku` + - [Resultify fetchPeerExchangePeers](https://github.com/waku-org/nwaku/pull/2486)(@Alex) + - [Simplify imports](https://github.com/waku-org/nwaku/pull/2467)(@Alex) + - [Fix and add test cases](https://github.com/waku-org/nwaku/pull/2533) for Metadata protocol disconnecting light clients [2491](https://github.com/waku-org/nwaku/issues/2491)(@Alex) + - Merge Peer Exchange [Tests PR](https://github.com/waku-org/nwaku/pull/2464)(@Alex) + - Merge [Discv5 PR](https://github.com/waku-org/nwaku/pull/2487)(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-v2` + - rln-relay v2 integrated into nwaku: https://github.com/waku-org/nwaku/issues/2345 +- `secure-channels:waku:ethereum-chat` + - Prepare a Notion page containing a specification for the DCGKA algorithm. + - Think and propose solutions to some the DCGKA limitations. + - https://www.notion.so/DCGKA-Specification-5a0b67a3ce674ae3a5220b560015cd2c#8f9f17014e5a479788da2544d64a993e + - Study Ramses' notes in [Notion](https://www.notion.so/DCGKA-Specification-5a0b67a3ce674ae3a5220b560015cd2c?pvs=4) + - Read about Jitsi in this [paper](https://eprint.iacr.org/2023/1118.pdf) + - Read about difficulties on decentralization of MLS section 8.5 of [paper](https://eprint.iacr.org/2019/1189.pdf) +- `misc` + - gnark-rln implementation: https://github.com/vacp2p/gnark-rln + - added multiple curves to rust stealth address repo: https://github.com/vacp2p/erc-5564-rs + - assist with deploying waku-rln-contract to waku-simulator + +### vac:sc:: +- `status:staking-contracts-v1` + - Merged coverage improvements + - Finished ironing out all pending certora rules + - https://github.com/logos-co/staking/pull/81 + - https://github.com/logos-co/staking/pull/82 + - https://github.com/logos-co/staking/pull/85 + - https://github.com/logos-co/staking/pull/86 + - https://github.com/logos-co/staking/pull/57 +- - `status:community-contracts-token-import` + - Reviewed/discussed migration options for community vaults + - https://github.com/status-im/communities-contracts/issues/32#issuecomment-1997000297 +- `vac:maintainance/misc` + - Research on ENS Usernames to change release delay + +### vac:rfc: +- `rfc-process-restructuring` + - Markdown lint does not lint files, proposed fix- https://github.com/vacp2p/rfc-index/pull/25 + - Open the proposal to COSS changes - https://github.com/vacp2p/rfc-index/pull/4 +- `misc` + - create website repo - https://github.com/vacp2p/rfc-website + +### vac:dr: +- `valpriv:vac:val-priv-net` + - Finalized and share the related proposal() + https://www.notion.so/privacy-preserving-validator-network-e92ab3e563074a538bb0e13e5c9321e6 +- `valpriv:vac:tor-push-poc` + - holesky validators registration and execution +- `valpriv:vac:tor-push-paper` + - https://www.overleaf.com/project/6499e467346d9f56b2971caa +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Implemented IMReceiving message for use with IDontWant message to improve GossipSub performance against v. large message. [Experimental PR](https://github.com/vacp2p/nim-libp2p/pull/1070) is available for review/discussion. + - This is just a prototype experiment showing 40% bandwidth reduction and more than 10% latency reduction for 1MB messages. + - Requires feedback, as it needs new message inclusion +- `gsub-scaling:vac:gossipsub-simulation` + - Conducted results for different IDontWant/IMReceiving message use cases. The results are available in [VAC forum post](https://forum.vac.dev/t/idontwant-message-impact/283). +- `zk:codex:storage-proofs-open-problems-review` + - Began examining [current version of Codex system's description](https://github.com/codex-storage/codex-storage-proofs-circuit) + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Drafted document about privacy improvements for state separation (Moudy) + - Continue work on monitoring (Marvin) + - Defined new milstones (Moudy) + - Completed report about SE/DE in PDAGs see in [Notion](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4a32272ca966467d8cd46833bedaafd0) (Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - checked out this [Hypernova implementation](https://github.com/microsoft/Nova/pull/175) and continued reading [LatticeFold](https://eprint.iacr.org/2024/257.pdf) (Rostyslav) + - Defined new milstones (Moudy) +- `proofsystems:vac:benchmarks` + - Overlooked at the paper and continued researching Nova vs. Supernova/ Nova vs. Halo2 recursion vs. aggregation (Moudy) + - Defined new milstones (Moudy) + - Worked on enhancing Nova-Scotia performance (Rostyslav) +- `virtual-machine-creation:vac:vm-foundations` + - Defined new milestones (Moudy) + diff --git a/content/updates/2024-03-25.md b/content/updates/2024-03-25.md new file mode 100644 index 000000000..1427418f8 --- /dev/null +++ b/content/updates/2024-03-25.md @@ -0,0 +1,149 @@ +--- +title: "2024-03-25 Vac weekly" +tags: + - "vac-updates" +date: 2024-03-25 +lastmod: 2024-03-25 +draft: false +--- + +## Vac 2024/03/25 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Stun protocol: Trying to understand how to implement the ICE lite protocol without breaking everything done so far https://github.com/status-im/nim-webrtc/pull/9 + - Sctp protocol: Unregister address after closing https://github.com/status-im/nim-webrtc/pull/11 + - nim-libp2p: Add comments https://github.com/vacp2p/nim-libp2p/pull/960 + - DataChannel: First draft on closing stream https://github.com/status-im/nim-webrtc/pull/12 + - UDP/Dtls: small fixes +- `nimlibp2p:vac:gossipsub-stagger-send` + - feat: add max number of elements to non-prio queue - https://github.com/vacp2p/nim-libp2p/pull/1077j +- `nimlibp2p:vac:maintenance` + - various PR reviews + - preparing for hiring interviews and interviewing + +### vac:tke: +- `waku:general-incentives` + - Continuing the discussion with the Waku team on the marketplace idea (Martin) + - reviewed the discussion about Waku marketplace (Frederico) +- `waku:rln-membership:` + - Scoping out and working on the deliverables for RLN design (Martin) +- `status:SNT-staking` + - Full review of the MP logic within the smart contract (Martin) + - Supporting the SC team ad hoc (Martin) +- `status:L2-deployment` + - Reviewing airdrop strategies of existing L2s (Martin) + - listed business models and ecosystem incentivization of L2 comparables (Frederico) +- `codex:cdx` + - Revisiting fundraising docs and starting a closer cooperation with Matt (Martin) + - designed the CDX insurance model as a liquidity pool (Frederico) + - evaluated token allocation and initial distribution of comparables (Frederico) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Finish plotter module tests and prepare PR (ongoing) + - Thanos PR merged (https://github.com/vacp2p/10ksim/pull/15) + - Create class to manage data (https://github.com/vacp2p/10ksim/pull/16). + - hardware offloaded for Waku testing + - Built 24 new Kubernetes workers, configured them with static IPs and all tuning + - Got new CX6 cards updated, configured, installed and working + - Achieved hardware offloading; but: + - Running a Waku workload, two interesting things happened + - When we started the publisher, the load increased until the physical nodes become so unusably slow that they needed IPMI intervention to come back to life + - Checking the offloadeded flows during the test (prior to publishing) showed no offloaded routes or flows. + - We need to figure out how to get our workload offloaded correctly. + +### vac:qa: +- `waku:test-automation-sharding` + - Merged js-waku sharding tests [PR](https://github.com/waku-org/js-waku/pull/1883)(@Florin) + - Add [repro scripts folder](https://github.com/waku-org/waku-interop-tests/pull/23)(@Florin) + - Interop sharding [tests draft PR](https://github.com/waku-org/waku-interop-tests/pull/24)(@Florin) + - Rechecked [some fixes for older bugs](https://github.com/waku-org/waku-interop-tests/pull/26)(@Florin) + - Go-waku sharding [tests pr](https://github.com/waku-org/go-waku/pull/1060)(@Roman) + - Issues found: + - autosharding resolves content topics to wrong [shard](https://github.com/waku-org/nwaku/issues/2538)(@Florin) + - dont harcode clusterid for autosharding in [go-waku](https://github.com/waku-org/go-waku/issues/1061)(@Florin) + - subscription not found when node is started with --pubsub-topic [flag](https://github.com/waku-org/go-waku/issues/1064)(@Florin) + - only receive messages if someone subscribes explicitly via REST API to a [pubsubTopic](https://github.com/waku-org/nwaku/issues/2546)(@Florin) + - ephemeral field is [ignored](https://github.com/waku-org/go-waku/issues/1068)(@Florin) + - data race occurs when publishing to [unsubscribed pubSubTopic](https://github.com/waku-org/go-waku/issues/1070)(@Roman) +- `waku:test-automation-go-waku` + - Improve unit test coverage for peermanager [PR 1062 - merged](https://github.com/waku-org/go-waku/pull/1062)(@Roman) + - Improve unit test coverage for Discv5 [PR 1051 - pending on 1059](https://github.com/waku-org/go-waku/pull/1051)(@Roman) + - Issues found: + - race condition while setting boot nodes for [Discv5](https://github.com/waku-org/go-waku/issues/1059)(@Roman) +- `waku:test-automation-nwaku` + - [Metadata protocol disconnecting light clients](https://github.com/waku-org/nwaku/issues/2491)(@Alex) + - Merged [PR](https://github.com/waku-org/nwaku/pull/2533) + - Peer & Communication Management(@Alex) + - Continue implementing tests + - Fix minor bug, peerId duplicated when adding to PeerStore +- `waku/maintenance-nwaku` + - [Fix macos tests](https://github.com/waku-org/nwaku/pull/2539)(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancments` + - investigate and improve robustness of rln-relay, still in progress - https://github.com/waku-org/nwaku/pull/2537, https://github.com/waku-org/nwaku/pull/2545 +- `secure-channels:waku:ethereum-chat` + - Created a PR with a first version of the RFC on the proposal for the decentralized communication protocol. + https://github.com/vacp2p/rfc-index/blob/ETH-SECPM-DEC/vac/raw/Decentralized%20messaging%20Ethereum.md + - Started exploring UPKE as a potential tool for the decentralized protocol. + - Discussed with Ugur some aspects of DCGKA around causal order. +- `secure-channels:waku:ethereum-chat` + - Attached some comments on DCGKA specification in [notion](https://www.notion.so/DCGKA-Specification-5a0b67a3ce674ae3a5220b560015cd2c?pvs=4) + - Research about causal ordering and create a small doc about it in [notion](https://www.notion.so/Applied-Cryptography-ZK-870520f131954b90b1837ec4749f890f?pvs=4#b9849886e7f947d5be4b087f44e2ce41) + - Quickly check the paper that compares and analyzes DCGKA (https://eprint.iacr.org/2022/1531.pdf) + - Discuss with Ramses about decent SIWE, complexity and causal ordering. + - Started to examine DCGKA implementation to understand which causal ordering is used in [this repo](https://github.com/trvedata/key-agreement) + +### vac:sc:: +- `status:community-contracts-token-import` + - started Vault migration PR https://github.com/status-im/communities-contracts/pull/62 + - `vac:maintainance/misc` + - Research overview on DEX aggegators +- `status:staking-contracts-v1` + - Worked on deposit cooldown period implementation + - Bunch of questions came up + - Discussion: https://github.com/logos-co/staking/issues/14#issuecomment-2007432214 + - WIP branch: https://github.com/logos-co/staking/commit/8c5dd440404d6184937fa65deec67e00b24e159b#diff-b710313a5571054e746fc0e0d1332e5894fc76a55ffb035711d912c00bf8f826 + +### vac:rfc: +Last week: +- `misc` + - Opened waku-metadata to move to draft - https://github.com/vacp2p/rfc-index/pull/6 + - Worked on workflow to sync rfc website - https://github.com/vacp2p/rfc-index/pull/27 + - Created workflow fix for markdown lint - https://github.com/vacp2p/rfc-index/pull/25 + - Fixed broken links - https://github.com/vacp2p/rfc-index/pull/26 + +### vac:dr: +- `valpriv:vac:val-priv-net` + - Feedback waiting competing/ proposal (https://docs.google.com/document/d/1UNOJfA-4f6tco3ozuiyLIbfDkf70Mh_6OqEfB8vmblE/edit?usp=sharing) +- `valpriv:vac:tor-push-poc` + - could not launch holesky validators yet this week. +- `valpriv:vac:tor-push-paper` + - Finished changes as per feedback; next feedback round +- `gsub-scaling:vac:gossipsub-simulation` + - Played with IDontWant messags with different arrangements. Mainly investigated reduced message sending with/without hello messages. + Reduced sending shows nearly 5-10% latency and 20-25% bandwidth reduction when message sizes reach beyond 600 KB. + The findings are available as [notion page](https://www.notion.so/Limited-Forwarding-Can-Reduce-Latency-for-Large-Messages-a1d7797313694f0c856b0330bec77ae0#70563bd453944337b92e87674d5e2055) + - Interestingly {Reduced sending + IDontWant} without IHAVE messages shows similar performance to {Reduced sending + IDontWant + IHAVE} +- `zk:codex:storage-proofs-open-problems-review` + - Finish examining [current version of Codex system's description](https://github.com/codex-storage/codex-storage-proofs-circuits) + - Read Balazs' notes on [Plonk](https://github.com/codex-storage/zk-research-artifacts/blob/master/notes/plonk/plonk-notes.pdf) + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Worked on Defining state separation's SE and DE using PDAGs (Moudy) + - Looked at nullifiers and their role in the architecture (Moudy) + - Worked on different components for State Separation Architecture (Moudy) + - Researched accumulators and trying to study how to integrate them (Moudy) + - Updated report according to the meeting with Moudy about [SE/DE in PDAGs](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4a32272ca966467d8cd46833bedaafd0) (Ugur) + - Reading on scalable privacy [NC](https://neptune.cash/whitepaper/) + state of art [accumulation](https://eprint.iacr.org/2024/474) (Ugur) + - Continued with [monitoring](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26df10f045fb4c6683cbce362095a303) (Marvin) +- `proofsystems:vac:research-existing-proof-systems` + - checked out [PNova implementation](https://github.com/PayneJoe/PNova) + finished reading [LatticeFold](https://eprint.iacr.org/2024/257.pdf) (Rostyslav) + - Began reading [Mangrove](https://eprint.iacr.org/2024/416) (Marvin) +- `proofsystems:vac:benchmarks` + - Still working on the paper since new findings are arising (i.e. Nova Scotia not using Groth16) (will focus on that this week) (Moudy) + - Dealt with server issues + prepared paragraph on difference in Nova-Scotia and Nova-Bellman (Rostyslav) + diff --git a/content/updates/2024-04-02.md b/content/updates/2024-04-02.md new file mode 100644 index 000000000..ac1d4453a --- /dev/null +++ b/content/updates/2024-04-02.md @@ -0,0 +1,122 @@ +--- +title: "2024-04-02 Vac weekly" +tags: + - "vac-updates" +date: 2024-04-02 +lastmod: 2024-04-02 +draft: false +--- + +## Vac 2024/04/02 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Fix the WebRTC CI on Windows/MacOS + - Mbed-TLS: improve installation/code generation + - Address all the comments on UDP +- `nimlibp2p:vac:gossipsub-stagger-send` + - Bump libp2p and fix compilation issue - https://github.com/status-im/nimbus-eth2/pull/6132 + - Bump libp2p and use new gossipsup constructor - https://github.com/status-im/nimbus-eth2/pull/6148 +- `nimlibp2p:vac:maintenance` + - Reviewing PRs + +### vac:tke: +- `waku:general-incentives` + - Possibly continuing marketplace discussion with Waku (Martin) +- `waku:rln-membership:` + - Working on the proposal for RLN design (Martin) +- `status:SNT-staking` + - Supporting the SC team ad hoc (Martin) + - Discussing using the staking contract at the org level (Martin) +- `status:L2-deployment` + - Further research into airdrop and incentive strategies of existing L2s (Martin) +- `nomos:mixnet-incentives` + - adjusted pricing function to account for measurement costs (Frederico) + - verified that the modifications of the reward split scheme are correct (Frederico) +- `nomos:cryptarchia-wealth-concentration-estimated-stake` + - reviewed blog posts (Frederico) +- `codex:cdx` + - reviewed latest marketplace proposal (Fred + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Delayed simulations. + - Finished plotter module tests ready to review (https://github.com/vacp2p/10ksim/pull/19) + - Finished data class, related PR already merged (https://github.com/vacp2p/10ksim/pull/16) + - Improvements for scrapping, related and merged PRs (https://github.com/vacp2p/10ksim/pull/17 and https://github.com/vacp2p/10ksim/pull/18) + - Investigate attacknet (https://twitter.com/ethPandaOps/status/1769773689979974006) +- `eng-10ktool:vac:bandwidth-test` + - Many many fixes to get Kubernetes with OpenvSwitch + offloading + VMs working + - Reinstalled 3 nodes with new Debian + Proxmox flavour + - Installed Mellanox OFED drivers + - Experimented with VirtIO network, managed to eventually get SR-IOV and Virtual Functions working + - Waku - Benchmarked 1-worker (one worker as one eighth of a 64 core node) cluster + - Indications are we can scale to ~14k nodes if scaling is linear, vs CPU usage observed on 1-worker + - Had 243 Waku nodes, including publishing, running on the worker or 1/8th node with headroom to spare + - Network offloading appears to about 2x as efficient CPU wise when running Waku + - Further fixes for offloading setup once SR-IOV was working + - Waku - Reinstalled 24 workers, then wiped them all and reinstalled 8 of them :( + - Diagnosed incredibly complicated packet loss issues (which turned out to be caused by cloned VMs - note to self - clean up /etc/machine-id next time!) + - Waku - Benchmarked 8-worker cluster (1 physical 64-core), scaled to 1200 nodes, hit major issue with Calico + - Documented here - https://github.com/projectcalico/calico/issues/8676 + - Added caching to Harbor, further investigated removing Harbor rate limits + - Discovered that adding multiple jobservice workers to Harbor makes rate limits higher + - Deployed 6 jobservice workers in Harbor + - Removed Vaxis and Nia from Kubernetes to help with CPU accounting since they host worker VMs + +### vac:qa: +- `waku:test-automation-sharding` + - Sharding [interop tests](https://github.com/waku-org/waku-interop-tests/pull/24)(@Florin) + - Added around 70 new tests so far + - Issues found: + - node crashes when there are many flags to the docker [start command](https://github.com/waku-org/nwaku/issues/2550)(@Florin) + - node can be started on [multiple clusters](https://github.com/waku-org/nwaku/issues/2552)(@Florin) + - all REST API calls return 200 with [empty response](https://github.com/waku-org/go-waku/issues/1074)(@Florin) + - Sharding [tests update](https://github.com/waku-org/go-waku/pull/1060)(@Roman) + - Closed issue: [data race occurs when publishing to unsubscribed pubSubTopic](https://github.com/waku-org/go-waku/issues/1070)(@Roman) +- `waku:test-automation-go-waku` + - Merged Discv5 [PR](https://github.com/waku-org/go-waku/pull/1051)(@Roman) + - Closed issue: [race condition while setting boot nodes for Discv5](https://github.com/waku-org/go-waku/issues/1059)(@Roman) +- `waku:test-automation-nwaku` + - Peer & Communication Management(@Alex) + - Continue implementing tests + - Found a couple weird behaviours + +### vac:acz: +- `secure-channels:waku:ethereum-chat` + - Finish the examination DCGKA ref implementation [repo](https://github.com/trvedata/key-agreement) + - Started to write a report about the examination of vector clocks used in DCGKA ref implementation + - Checked that there is the motivation why we chose DCGKA in [rfc](https://github.com/vacp2p/rfc-index/blob/ETH-SECPM-DEC/vac/raw/Decentralized%20messaging%20Ethereum.md) +- `zerokit:vac:maintenance` + - github removed semaphore commit we used, was fixing CI issue + +### vac:sc:: + +### vac:rfc: +- - `vac:rfc-process-update` + - Worked on workflow to sync rfc website - https://github.com/vacp2p/rfc-index/pull/29 + - Added some format changes to eth-secpm-dec - https://github.com/vacp2p/rfc-index/pull/28 + - Rfc-website is ready - https://github.com/vacp2p/rfc-website/tree/mas + +### vac:dr: +- `unstructured-p2p-improvements-survey` + - Looked into different aspects of libp2p specifications (including gossipsub versions and corresponding discussions). Also looked into the corresponding nim-libp2p works. + - Followed discussions/PRs on libp2p specs and libp2p implementations + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Refined the State Separation PDAGs doc and add changes together with Ugur (Moudy + Ugur) + - Worked on gathering important components for state separation (Moudy) + - Researched and identified accumulators/nullifiers to integrate (Moudy) + - Discussed monitoring with Moudy, and continued with [monitoring](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26df10f045fb4c6683cbce362095a303) (Marvin + Moudy) + - Discussed with Moudy about [PDAG report](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4a32272ca966467d8cd46833bedaafd0) and next version of proposal on state-separation (Ugur + Moudy) + - Started to write a draft of the next version of proposal on state-separation (Ugur) + - Read about mutator set including Merkle Mountain Range and Bloom filters (Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - check out [Sirius docs](https://github.com/snarkify/sirius) (Rostyslav) + - started writing [LatticeFold writeup](https://eprint.iacr.org/2024/257.pdf) (Rostyslav) + - Work on write up for [Mangrove](https://eprint.iacr.org/2024/416) (Marvin) +- `proofsystems:vac:benchmarks` + - Kept working on the paper since new findings are arising (i.e. Nova Scotia not using Groth16) (Moudy) + - Conducted server testing (Rostyslav) + diff --git a/content/updates/2024-04-08.md b/content/updates/2024-04-08.md new file mode 100644 index 000000000..6dbcdd2b8 --- /dev/null +++ b/content/updates/2024-04-08.md @@ -0,0 +1,108 @@ +--- +title: "2024-04-08 Vac weekly" +tags: + - "vac-updates" +date: 2024-04-08 +lastmod: 2024-04-08 +draft: false +--- + +## Vac 2024/04/08 + +### general + +* Logos offsite Athens: many Vac CCs are attending + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Merge UPD https://github.com/status-im/nim-webrtc/pull/8 + - Rework Stun https://github.com/status-im/nim-webrtc/pull/9 + - Mandatory for browser to browser +- `nimlibp2p:vac:maintenance` + - Find and fix a (nasty) bug in both valueOr/withValue templates + - PR: https://github.com/vacp2p/nim-libp2p/pull/1079 +- `nimlibp2p:vac:gossipsub-stagger-send` + - fix: remove explicit param from GossipSubParams constructor - https://github.com/vacp2p/nim-libp2p/pull/1080 + - Reviewing PRs + - Working on using gossipsub score to penalize peers when their non-prio queue reaches the limit. No PR yet, only local tests. + +### vac:tke: +- `admin/misc` + - travelled to All-hands in Athens (Frederico, Martin) +- `nomos:mixnet-incentives` + - understodd the parameter that controls the loss of competitiveness experienced by a Sybil attacker (Frederico) +- `codex:cdx` + - reviewed materials about Codex in view of next week's offsite (Frederico) + - Review open questions and provide input (Martin) +- `waku:general-incentives` + - Looking at Swarm city +- `waku:rln-membership:` + - Present and collect feedback on the RLN Proposal (draft, Martin) + - Start a structured discussion and follow-ups based on this document in Athens (Martin) +- `status:SNT-staking` + - Meeting the SC team in Athens (Frederico, Martin) + - Following-up on the org fundraising talks with Carl in Athens (Martin) +- `status:L2-deployment` + - Further brainstorming for product differentiation in Athens (Frederico, Martin) + +### vac:dst: +- `eng-10ktool:vac:bandwidth-test` + - Restart simulations (delayed) + - Improve scrapping tests (https://github.com/vacp2p/10ksim/pull/20https://github.com/vacp2p/10ksim/pull/20) + - Add option to download node logs (https://github.com/vacp2p/10ksim/pull/21 after 20 is merged) + - Finished rebuild of Kubernetes nodes, optimisations + - Ran various simulations at a few different scales + +### vac:qa: +- `waku:test-automation-sharding` + - Merged sharding [tests PR part 1](https://github.com/waku-org/waku-interop-tests/pull/24)(@Florin) + - Sharding tests update [PR 1060 - in progress](https://github.com/waku-org/go-waku/pull/1060)(@Roman) + - Issue found: subscription to many static sharding topics [hangs](https://github.com/waku-org/go-waku/issues/1077)(@Roman) +- `waku:interop-testing` + - Fix broken allure history [links](https://github.com/waku-org/waku-interop-tests/pull/28)(@Florin) + - Light push [tests in progress](https://github.com/waku-org/waku-interop-tests/pull/27)(@Florin) + - Issues found:(@Florin) + - strange errors when light pushing messages with payload >= 300 kb for both [nwaku](https://github.com/waku-org/nwaku/issues/2565) and [go-waku](https://github.com/waku-org/go-waku/issues/1076) + - lightpush on non subscribed pubsub topic [hangs](https://github.com/waku-org/go-waku/issues/1078) + - lightpush fails with Failed to request a message push: dial_failure after the peer node [restarts](https://github.com/waku-org/nwaku/issues/2567) + - missing RequestId field error when lightpush has unexpected payload of [content topic](https://github.com/waku-org/go-waku/issues/1079) +- `waku:test-automation-nwaku`: + - Peer & Conn Mgmt testing. Almost finished, need to sort out some issues in a meeting with some waku person.(@Alex) + +### vac:acz: +- `secure-channels:waku:ethereum-chat` + - Update the [report](https://www.notion.so/Applied-Cryptography-ZK-870520f131954b90b1837ec4749f890f#183350a64a9e4b558984a348e9853968) about vector clocks in [reference impplementation](https://github.com/trvedata/key-agreement) of DCGKA. +- `zerokit:vac:maintenance` + - continued fixing semaphore related issues + +### vac:sc:: +- `admin/misc` + - offsite + +### vac:rfc: +- `admin/misc` + - offsite + +### vac:dr: +- `gossipsub-improvements-paper` + - Looked into different program control aspects in nim (semaphores, Futures, Queues, Async framework), needed for message staggering + - Looked into the possible changes required for message staggering (still a work in process) + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Worked on the draft of the State Separation PDAGs doc (Moudy) + - Continued research about accumulators and mutator sets (Moudy) + - Met with Ugur for PDAGs + Accumulators (Moudy) + - Drafted list of components (Moudy) + - Finish the first draft of Mutator set in [Notion](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#c268e5d7c0004b3caba0f740fcf98954) (Ugur) + - Checked the page about MMRs and Mutator set that Moudy [notion page](https://www.notion.so/Illustrated-guide-to-Mutator-Sets-and-their-Application-to-Scalable-Privacy-17236ccd86994a03b8a4541ea0341a6d?pvs=4) (Moudy + Ugur) + - Started to write reports about the candidates of nullifiers for our state separation (Ugur) + - Update the all-in-one document for state separation and share with Moudy (Ugur + Moudy) +- `proofsystems:vac:research-existing-proof-systems` + - checked out [Sirius code](https://github.com/snarkify/sirius) (Rostyslav) + - continue writing [LatticeFold writeup](https://eprint.iacr.org/2024/257.pdf) (Rostyslav) +- `proofsystems:vac:benchmarks` + - continued working on [Mangrove](https://eprint.iacr.org/2024/416) (Marvin) + - continued conducting server testing, got prelimenary results (Rostysla + + diff --git a/content/updates/2024-04-15.md b/content/updates/2024-04-15.md new file mode 100644 index 000000000..e556795f1 --- /dev/null +++ b/content/updates/2024-04-15.md @@ -0,0 +1,136 @@ +--- +title: "2024-04-15 Vac weekly" +tags: + - "vac-updates" +date: 2024-04-15 +lastmod: 2024-04-15 +draft: false +--- + +## Vac 2024/04/15 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Huge rework on Stun protocol https://github.com/status-im/nim-webrtc/pull/9 (ready for review) + - Rework Dtls protocol to take account of the Stun rework https://github.com/status-im/nim-webrtc/pull/10 (ready for review aswell) + +### vac:tke: +- `admin/misc` + - attended the All-hands presentations and discussions (Frederico, Martin) + - traveled back from Athens (Frederico, Martin) +- `nomos:mixnet-incentives` + - presented the current state of the mixnet incentives to the Nomos team (Frederico) +- `codex:cdx` + - discussed the missing parts of the Tokenomics model in the Codex offsite (Frederico) + - discussed Codex L2 use case with Cyprian (Frederico) + - discussed Codex tokenomics with Finance team (Frederico) + - Review open questions and provide input ahead of the Codex offsite (Martin) +- `status:SNT-staking` + - discussed staking and aggregation with the SC team (Frederico, Martin) +- `waku:general-incentives` + - Analyzing the new ideas discovered in Athens - RLN ID and utilization of the payment mechanism for the RLN purchase (Martin) +- `waku:rln-membership:` + - follow-ups based on the discussion in Athens (Martin) +- `status:L2-deployment` + - Meeting and brainstorming with Cyprian in Athens (Martin, Frederico) + +### vac:dst: +- `admin/misc` + - Various contributors @ Athens for Logos Offsite + - Collaborations with Codex + - node designs (incl. pricing) + - collateral scaling mechanisms ("dynamic collateral") + - Talked with Nomos about testing mixnet and graph visualisation + - Discussed Nomos testing and DST service needs + - Met with Yiannis from Probe Lab + - Exploring areas to collab; focus was on partnerships, what areas DST can help with, "low/zero cost" knowledge exchange + - Team: Discussed future directions, next few weeks to months worth of work +- `eng-10ktool:vac:bandwidth-test` + - Investiage the usage of kustomize for deployment + - Update scrapper test and utils merged https://github.com/vacp2p/10ksim/pull/20 Pod log downloader to be merged now https://github.com/vacp2p/10ksim/pull/21 + - Multiple attempted runs towards 10K + - First successful 10K run 2024-04-15 10:30am in Athens at 10,847 nodes + - Improvements: + - enable NUMA support in VMs for better scale + - all nodes now boot automatically as lab comes up + - Implemented critical improvements to large scale simulations [per Calico team](https://github.com/projectcalico/calico/issues/8676#issuecomment-2049248770). + - Meetings with Waku team + - Talked about next deliverables and checked their paper about Waku + - Discussed Nwaku vs go-waku CPU usage and scalability, needs; potential waku network sharding strategy (dynamic sharding); current Waku testing results, future needs + - Discussed need for Waku tracing - need to be able to output a simple Received message ID: messageID message from Waku to stdout.Met with Ivan (Waku) +- `:vac:lab` + - Scaling improvements, added 3 hosts, improved power distribution, migrated all hosts to OVS, Codex preparation work, NVMe install + debug. + +### vac:qa: +- `waku:interop-testing` + - Light push [tests merged](https://github.com/waku-org/waku-interop-tests/pull/27)(@Florin) + - Store [draft pr](https://github.com/waku-org/waku-interop-tests/pull/31)(@Florin) + - Issues found: + - contentTopic naming not consistent in the store response where is's [content_topic](https://github.com/waku-org/nwaku/issues/2582)(@Florin) + - node doesn't store messages if [relay is disabled](https://github.com/waku-org/nwaku/issues/2586)(@Florin) + - failed to negotiate protocol: protocols not supported: [/vac/waku/store/2.0.0-beta4] when the peer node has [store disabled](https://github.com/waku-org/go-waku/issues/1087)(@Florin) +- `waku:test-automation-sharding` + - Sharding [tests update](https://github.com/waku-org/go-waku/pull/1060)(@Roman) + - Closed subscription to many static sharding topics [hangs](https://github.com/waku-org/go-waku/issues/1077)(@Roman) + - Issue found: message won't be sent over from node1 to node2 with [sharded topic subscription](https://github.com/waku-org/go-waku/issues/1086)(@Roman) +- `waku:maintenance-nwaku` + - Add ARM64 Docker support for [Linux/MacOS](https://github.com/waku-org/nwaku/pull/2580)(@Roman) +- `waku:test-automation-rln` + - RLN relay tests draft [PR](https://github.com/waku-org/waku-interop-tests/pull/30)(@Roman) +- `admin/misc` + - Offsite(@Alex) + +### vac:acz: +Last week: +- `zerokit:vac:zerokit-v0.5` + - [planning issue](https://github.com/vacp2p/zerokit/issues/237) for zerokit v0.5.0 + - wip: remove [tree height 32 resources](https://github.com/vacp2p/zerokit/issues/237) +- `rlnp2p:waku:rln-relay-enhancements` + - brought down tree sync time by [parallelizing rpc calls](https://github.com/waku-org/nwaku/pull/2577) +- `secure-channels:waku:ethereum-chat` + - Planning for [Secure channels with Ethereum](https://notes.status.im/y06gC9QRRxCfg_DGRrMikg?view#Action-Points) + - Research on [possible solutions]( https://www.notion.so/DCGKA-Specification-5a0b67a3ce674ae3a5220b560015cd2c?pvs=4#f8c2ac58347c483b9b451be3ad69cda6) to metadata management in DCGKA (use of UPKE and stealth addresses) + - Idea: [zk-MLS](https://www.notion.so/zk-MLS-c8c8e0fc115645bd906d530b04dcc22b?pvs=4) +- `admin/misc` + - Discussions at Logos All hands offsite with various projects on how the ACZ team plugs into their research & engineering + - First Vac ACZ offsite, [meeting notes](https://notes.status.im/y06gC9QRRxCfg_DGRrMikg?view#Action-Points). Planning for Secure channels with Ethereum done. + - most CCs ooo after travel from All hands offsit + +### vac:sc:: +- `vac:maintainance/misc` + - Logos All-Hands Offsite + - See notes: https://notes.status.im/et-wl6KFTYW4bjtKUpM5tw?view#SC1 + - Swap Aggregator Research + - Airswap Research notes + - https://notes.status.im/fJ2YoaiBS4qd94RtK2zHJA?view + +### vac:rfc: +- `waku:core-rfc-updates` + - Worked on rln relay and waku executables for waku-rln-relay, will be creating a new pr next week +- `misc` + - reviewed rfc-website, found new problems and open web development tickets with acid-in +- `nimlibp2p:vac:gossipsub-stagger-send` + - feat: behaviour penalty when non-priority queue reaches maxNumElementsInNonPriorityQueue https://github.com/vacp2p/nim-libp2p/pull/1083 +- `nimlibp2p:vac:maintenance` + - update libp2p branch when unstable changes https://github.com/status-im/nimbus-eth2/pull/6202 + - Openend issue peer doesn't respect backingOff https://github.com/vacp2p/nim-libp2p/issues/1084 + - Coding interview + - Reviewing PRs + +### vac:dr: +- `unstructured-p2p-improvements-survey` + - Looked into the gossip issue regarding large number of small messages in farcaster network + - Looked into different gossipsub specifications/discussions etc. +- `gsub-scaling:vac:gossipsub-simulation` + - Worked on message forwarding from priority/non-priority queues for possible performance improvements and message staggering. Still a work in progress. Expected to complete in this weak. + +### vac:nes: +- `admin/misc` + - Moudy + Marvin all week @ All hands offsite + - Ugur 2 days off + 1 day @ACZ offsite +- `state-separation:vac:state-separation-doc` + - Created a draft about the possible usages of Mutator sets in our nullifier systems [in notion](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#68f6838591304d7397a01e8cdc8aa877) (Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - checked out [Sirius code](https://github.com/snarkify/sirius) (Rostyslav) + - continue writing [LatticeFold writeup](https://eprint.iacr.org/2024/257.pdf) (Rostyslav) + diff --git a/content/updates/2024-04-22.md b/content/updates/2024-04-22.md new file mode 100644 index 000000000..ce80c6c0a --- /dev/null +++ b/content/updates/2024-04-22.md @@ -0,0 +1,130 @@ +--- +title: "2024-04-22 Vac weekly" +tags: + - "vac-updates" +date: 2024-04-22 +lastmod: 2024-04-22 +draft: false +--- + +## Vac 2024/04/22 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - review stun pr + - Address comments on STUN protocol + - Research on ICE protocol + - Start implementing ICE protocol +- `nimlibp2p:vac:maintenance` + - use a mock rng in tests https://github.com/vacp2p/nim-libp2p/pull/1085 + - debug ping interop test + +### vac:tke: +- `codex:cdx` + - reviewed Codex priority list and document outcomes (Frederico) + - read the whitepaper (Frederico) + - caught up with Wings' proposal for collateral incentive model (Frederico) + - Reviewing Codex offsite outcomes and reading the whitepaper (Martin) +- `nomos:mixnet-incentives` + - caught up with the current state with Marcin (Frederico) + - concluded analysis of parameter to control competitiveness loss of sybil attackers +- `status:L2-deployment` + - joined discussions with Cyp (Frederico) + - Starting work on L2 profiling and attempting to narrow down key narratives/features (Martin) +- `waku:general-incentives` + - Reviewing protocol design decisions and changes made in Athens, mapping out implications for the incentive design (Martin) +- `waku:rln-membership:` + - Reviewing the RLN decisions and changes made in Athens, mapping out implications for the RLN design (Martin) +- `status:SNT-staking` + - Research into swap feature in cooperation with the SC team (Martin) + +### vac:dst: +- `admin/misc` + - Meetings with Codex, prep for Codex testnet +- `eng-10ktool:vac:bandwidth-test` + - Began implementing message reliability measurement using message ID logs + - Message tracking code + - Visualisation code + - Ran several simulation attempts, ran into network issues believed related to the power event. Found several things misbehaving + - Read Waku paper + - Control plane improvements, Kubernetes and Ceph cleanup, replacement parts for control plane + - Network weirdness, still sorting + +### vac:qa: +- `waku:interop-testing` + - Merged store [tests part 1](https://github.com/waku-org/waku-interop-tests/pull/31)(@Florin) + - Update tests based on [fixes](https://github.com/waku-org/waku-interop-tests/pull/32)(@Florin) + - Issue [reopened](https://github.com/waku-org/go-waku/issues/1076)(@Florin) +- `waku:test-automation-sharding` + - Go-waku sharding tests [update](https://github.com/waku-org/go-waku/pull/1060)(@Roman) + - Nim sharding [tests](https://github.com/waku-org/nwaku/pull/2603)(@Alex) + - Issue found: [message won't be sent over from node1 to node2 with sharded topic subscription](https://github.com/waku-org/go-waku/issues/1086) - would need to be separated from PR1060(@Roman) +- `waku:test-automation-rln` + - RLN relay [tests](https://github.com/waku-org/waku-interop-tests/pull/30)(@Roman) + - Issue found: RLN in on-chain dynamic mode [not working](https://github.com/waku-org/nwaku/issues/2606) +- `waku:test-automation-nwaku` + - Peer & Connection Management [tests](https://github.com/waku-org/nwaku/pull/2566)(@Alex) + - Issues found:(@Alex) + - [PeerInfo instance affects listed protocols](https://github.com/waku-org/nwaku/issues/2590) + - [Some PeerStore metadata is not filled in](https://github.com/waku-org/nwaku/issues/2591) + - [Peer Reconnection not working?](https://github.com/waku-org/nwaku/issues/2592) + - [ENR shouldn't be used for pruning](https://github.com/waku-org/nwaku/issues/2594) +- `admin/misc` + - Started to read the nomos docs and begin to familiarize myself with nomos(@Florin) + - Tried to build and run nomos node and nomos specs(@Florin) + - Conducted interview with Sandarv on Thursday(@Roman) + - OOO one day (@Florin) + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancements` + - resultify and clean up rln-relay [code](https://github.com/waku-org/nwaku/pull/2607) +- `rlnp2p:waku:rln-doc-and-outreach` + - Blog post/RFC on [Light RLN verifiers](https://github.com/vacp2p/vac.dev/pull/136) +- `zerokit:vac:zerokit-v0.5` + - [QoL traits](https://github.com/vacp2p/zerokit/pull/238) to the Hasher assoc.Type + - [Removed tree height 32 from rln](https://github.com/vacp2p/zerokit/pull/239) +- `secure-channels:waku:ethereum-chat` + - Generation of [flow diagrams](https://github.com/vacp2p/de-mls/issues/1) for several MLS procedures + - Research on improving the privacy in DCGKA +- `admin/misc` + - reduced availability since one CC is off (Ugur) + +### vac:sc:: + +### vac:rfc: +- `waku:core-rfc-updates` + - created rln-relay update pr, opened discussion for more to stable - https://github.com/vacp2p/rfc-index/pull/32 + - merged WAKU-METADATA move to draft - https://github.com/vacp2p/rfc-index/pull/6 +- `misc` + - found new problems with rfc-website, in contact Jhino to fix + - started reading Codex spec marketplace - https://github.com/codex-storage/codex-research/blob/master/design/marketplace.md + +### vac:dr: +- `unstructured-p2p-improvements-survey` + - Studied/investigated different techniques/works targetted on perfromance improvements against message sizes and counts + - Looked for funding opportunities in the Ethereum eco-system that align with our research directions +- `zk:codex:storage-proofs-open-problems-review` + - Discussed with Codex their specific needs in terms of documents, as well as received their list of papers and three problems in full detail. [Discord thread](https://discord.com/channels/895609329053474826/1230908611727720599) and [List](https://hackmd.io/@bkomuves/SJGyefxZR) +- `admin/misc` + - Work on notes concerning BloomFilter, MMR, and Field Merkle. + - Began working on a document on [tangibles](https://notes.status.im/ju6WUNg6RbSUa39h2DS0Lw) +- `vac:dr:anon:vac:waku-anonymity-analysis` + - Read [Waku Adversarial Models](https://vac.dev/rlog/wakuv2-relay-anon/) and [Tor Push](https://github.com/vacp2p/rfc-index/blob/main/vac/46/gossipsub-tor-push.md). + - Started documenting [Waku Anonymity Analysis](https://www.notion.so/Anonymity-Layer-cbcbcd6067b347bb812041bce9c110ce) - WiP. + +### vac:nes: +- `admin/misc` + - Ugur from 15 to 23 April + - Marvin from 15 to 17 April +- `state-separation:vac:state-separation-doc` + - Worked on defining and identifying State Separation Components (Moudy) + - Read Ugur's notes on Mutators [1](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#c268e5d7c0004b3caba0f740fcf98954) and [2](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#68f6838591304d7397a01e8cdc8aa877) (Marvin) + - Work on notes for MMR, Bloom Filters (potentially more useful for DR) (Marvin) +- `proofsystems:vac:benchmarks` + - Almost finished the draft of the Benchmarks paper (still some details to add) (Moudy) + - conducted conducting server testing and got 6 PRs merged (Rostyslav) +- `virtual-machine-creation:vac:vm-foundations` + - Started looking at existing ZkVms in order to use them to add privacy on top (Moudy) +- `proofsystems:vac:research-existing-proof-systems` + - Finished writing [LatticeFold writeup](https://eprint.iacr.org/2024/257.pdf) + diff --git a/content/updates/2024-04-29.md b/content/updates/2024-04-29.md new file mode 100644 index 000000000..d0b0a9472 --- /dev/null +++ b/content/updates/2024-04-29.md @@ -0,0 +1,150 @@ +--- +title: "2024-04-29 Vac weekly" +tags: + - "vac-updates" +date: 2024-04-29 +lastmod: 2024-04-29 +draft: false +--- + +## Vac 2024/04/29 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Yet another rework on Stun protocol: https://github.com/status-im/nim-webrtc/pull/9 + - Better error management + - Implement a Lite (and server sided) version of the ICE protocol. + - rewrite tests & stunMessageHandler + - Implement BindingRequest +- `nimlibp2p:vac:maintenance` + - debug ping interop test - https://github.com/vacp2p/nim-libp2p/pull/1086 + - opened issue about potential js-libp2p bug - https://github.com/libp2p/js-libp2p/issues/2505 + - libp2p dev process + +### vac:tke: +- `admin/misc` + - prepared an onboarding doc for new hire (Frederico) + - updated TKE landing page (Frederico) +- `codex:cdx` + - updated the TKE litepaper with offsite discussion and whitepaper (Frederico) + - Reviewing Codex offsite outcomes and reading the whitepaper (Martin) +- `nomos:mixnet-incentives` + - read the new mixing gadget proposal (Frederico) + - adapted the Mixnet incentivization work with new proposal (Frederico) +- `status:L2-deployment` + - joined discussions with Cyp (Frederico) +- `waku:general-incentives` + - Reviewing protocol design decisions and changes made in Athens, mapping out implications for the incentive design (Martin) +- `waku:rln-membership:` + - Reviewing the RLN decisions and changes made in Athens, mapping out implications for the RLN design (Martin) +- `status:SNT-staking` + - Research into swap feature in cooperation with the SC team (Martin) +- `status:L2-deployment` + - Starting work on L2 profiling and attempting to narrow down key narratives/features (Martin) + +### vac:dst: +- `admin/misc` + - Deployed 250TB(x2) volume for Codex, created VacLab + Kubernetes access for Codex staff +- `eng-10ktool:vac:bandwidth-test` + - First version of message tracking + data dumping done + - Ran various simulations - fixed issues blocking sims, fixed issue with new bootstrap sim + - Found weird Yamux behaviour still exists + - No bootstrap bias found + - Kubernetes cleanup, instability fixes, performance fixes + - Deployed iBGP between all Kubernetes hosts and migrated LoadBalancers into MetalLB BGP + +### vac:qa: +- `waku:interop-testing` + - Refactoring PR that adds common steps and [removes flakyness](https://github.com/waku-org/waku-interop-tests/pull/33)(@Florin) + - Reviewed and commented on Roman's PR(@Florin) + - Reopened: contentTopic naming not consistent in the store response [bug](https://github.com/waku-org/nwaku/issues/2582)(@Florin) +- `waku:maintenance-js-waku` + - use [nwaku:v0.27.0 and adjust tests](https://github.com/waku-org/js-waku/pull/1975) for it(@Florin) + - unskip fixed [test](https://github.com/waku-org/js-waku/pull/1978)(@Florin) +- `nomos:test-automation-cryptarchia` + - Meeting with Nomos devs(@Florin) + - Read more of Nomos specs and start working at a test plan(@Florin) +- `waku:test-automation-sharding` + - Sharding tests [update](https://github.com/waku-org/go-waku/pull/1060)(@Roman) + - Reviewed [PR](https://github.com/waku-org/nwaku/pull/2603)(@Alex) + - [Store Issue](https://github.com/waku-org/nwaku/issues/2616)(@Alex) +- `waku:test-automation-nwaku` + - Peer & Connection Management Reviewed [PR](https://github.com/waku-org/nwaku/pull/2566)(@Alex) +- `waku:test-automation-rln` + - RLN relay tests [in progress](https://github.com/waku-org/waku-interop-tests/pull/30)(@Roman) + - bug: RLN in on-chain dynamic mode not working [closed](https://github.com/waku-org/nwaku/issues/2606)(@Roman) + - Begin implementing tests. [Draft PR](https://github.com/waku-org/nwaku/pull/2639)(@Alex) +- `admin/misc` + - Interviewing and reviewing code challenges for QA candidates(@Florin and @Roman) + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancements` + - [improved ci](https://github.com/waku-org/nwaku/pull/2613) for rln-relay enabled images + - discussed with nwaku team and increased recovery time for rln-relay failure to [1 minute](https://github.com/waku-org/nwaku/pull/2614) + - [improved error handling/exception raising](https://github.com/waku-org/nwaku/pull/2622) + - [LazyIMT approach partially downstreamed](https://github.com/vacp2p/rln-contract/pull/38) to waku-rln-contract and deployed on [cardona zkevm-testnet](0x520434D97e5eeD39a1F44C1f41A8024cB6138772) + - enhanced rln-db-inspector capabilities by [detecting empty leaves](https://github.com/waku-org/nwaku/pull/2617) + - [resultify rln-relay](https://github.com/waku-org/nwaku/pull/2617) 1/n reviews addressed and merged +- `rlnp2p:waku:rln-doc-and-outreach` + - presented rln: zero to hero to nwaku+chatsdk team @ status all hands, explained all versions of rln and their trade-offs + - updates to [blog post/RFC on Light RLN verifiers](https://github.com/vacp2p/vac.dev/pull/136) +- `secure-channels:waku:ethereum-chat` + - Updated the DCGKA's Notion with aspects [concerning privacy](https://www.notion.so/DCGKA-Specification-5a0b67a3ce674ae3a5220b560015cd2c) + - Updated flow diagrams for [MLS](https://github.com/vacp2p/de-mls/issues/1) + - Start working on flow diagrams for the DCGKA. + - Research on the best approach to UPKE. +- `admin/misc` + - Daniel + Aaryamann @ [status all hands: agenda](https://notes.status.im/iAWCD2AjTTyhp92YozVnkQ?view) + - [presented stealth address scheme](https://drive.google.com/drive/folders/1WrbWUH7mREz_N0N4xG6x9hijKJBHAo7c?usp=sharing) over Waku to waku + status team + - reduced availability for a few CCs + +### vac:sc:: +- `vac:maintainance/misc` + - Swap Aggregator Research + - Researched CoW Protocol and Cow Swap + - Notes (WIP): https://notes.status.im/5q0HiAKORf6V1fQgong31Q?both + - Researched Metamask Swap + - Notes on the Metamask Swap research https://notes.status.im/5yw7WvqRQqaREdJ0hbyWoQ?view + - Zodiac Modules + - Reviewed code of SAFE and zodiac modules to get a better understanding of the system + - https://github.com/gnosisguild/zodiac-modifier-roles/tree/main + +### vac:rfc: +- `misc` + - Created an open issue to use rfc-website repo, but some problems are still being worked on. - https://github.com/status-im/infra-misc/issues/271 + - Read Nomos docs on Notion, suggesting a raw rfc for Block format for base layer. Opened disussion if good for first rfc. + - Read codex docs in codex-research repo. Started Codex Marketplace raw rfc, not complete, should be able to complete a draft next week and try to get feedback from Codex - https://github.com/vacp2p/rfc-index/blob/codex-marketplace/codex/marketplace.md + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Completed staggered message sending mechanism, for large messages (making some fixes: getting LPStreamClosedError in some runs) + - Worked on resetting the build environment for shadow. chronos/chronicles upgrade was causing some compilation errors +- `zk:codex:storage-proofs-open-problems-review` + - Began reading [WARPfold](https://eprint.iacr.org/2024/354), [Beyond Circuit](https://eprint.iacr.org/2024/265.pdf) +- `vac:dr:anon:vac:waku-anonymity-analysis` + - Continued working on [Waku Anonymity Analysis](https://www.notion.so/Anonymity-Layer-cbcbcd6067b347bb812041bce9c110ce) - WiP. + - Read about libp2p and GossipSub and started documenting - WiP + - Looked into options that could lower the latency for Tor Push + - Other anonymity networks and mixnet options such as I2P, Loopix, etc. + - Some P2P options as well (but they are not as widely used as Tor) + - looking into [Dandellion++](https://github.com/rairyx/raven) and its [Comparison to Tor Push](https://ethresear.ch/t/a-tor-based-validator-anonymity-approach-incl-comparison-to-dandelion/14134). + +### vac:nes: +- `admin/misc` + - Ugur ooo from 15 to 23 April +- `state-separation:vac:state-separation-doc` + - Conducted some research on what is needed to have all the essential components of the state separation (transaction types, cryptography behind it, trees, filters, etc) (Moudy) + - Worked on monitoring document (Marvin) + - Started to work on trees in state-separation (Ugur) + - Crated a doc about privacy in executions [note](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#9cac7b28ba4d4205977eac8d4b247fd7) (Ugur) +- `proofsystems:vac:benchmarks` + - Decided to rewrite the benchmarks paper as a detailed blogpost (need to conduct and update some pieces of research) (Moudy) + - Investigate Halo2 high iterations bug (Rostyslav) + - Prepared paragraph on [Halo2 bug](https://docs.google.com/document/d/1PxQeKqkzJDldiitRWn6YooCNCWGNnnOEf9SQngFMTSE/edit?usp=sharing) (Rostyslav) +- `virtual-machine-creation:vac:vm-foundations` + - Had a high level look at existing ZkVms (Moudy) +- `proofsystems:vac:research-existing-proof-systems` + - Started reading about Greco zk proofs (Rostyslav) + - Check out Jolt implementation (Rostyslav) + + diff --git a/content/updates/2024-05-06.md b/content/updates/2024-05-06.md new file mode 100644 index 000000000..af2d1fe15 --- /dev/null +++ b/content/updates/2024-05-06.md @@ -0,0 +1,148 @@ +--- +title: "2024-05-06 Vac weekly" +tags: + - "vac-updates" +date: 2024-05-06 +lastmod: 2024-05-06 +draft: false +--- + +## Vac 2024/05/06 + +### vac:p2p: +- `admin/misc` + - CCs ooo +- `nimlibp2p:vac:webrtc-transport` + - Address comments on Stun protocol https://github.com/status-im/nim-webrtc/pull/9 + +### vac:tke: +- `admin/misc` + - onboarded our new team member (Frederico, Martin) + - Getting familiar with protocols (Juan) + - Few introductory meetings (Juan) +- `codex:cdx` + - reviewed and complemented the TKE part of Codex litepaper (Frederico) + - Reviewing Frederico's changes to the litepaper (Martin) + - Provided some feedback into Codex (Juan) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - reviewed and restructured of the previous work (Frederico) +- `waku:general-incentives` + - Following internal debates and docs mapping progress from Athens (Martin) +- `status:SNT-staking` + - Research into swap feature in cooperation with the SC team, chats with potential partners (Martin) +- `status:L2-deployment` + - Further work on L2 economic model, focusing on fundametal questions and constraints (Martin) + +### vac:dst: +- `admin/misc` + - Meetings to discuss milestones + - Finished deploying CubeFS for the Codex team (for accessing storage) +- `eng-10ktool:vac:bandwidth-test` + - Adjusted Kubernetes workers to the new network structure + - Alberto ran into deployment issues which we solved + - Ran two attempts at a 10K Waku sim and a 2k sim @ 10 msg/sec + - Redo simulations with versions 0.26 and 0.27 + - Use waku 0.27 and ensure yamux still works ok + - Doesn't work ok, neither with 0.26 and 0.27 + - Initially delayed by lab issues, solved by end of week + - Extract more information regarding discv5 (mem/cpu) + - Not finished before of lab issues with Prometheus monitoring + - Refactored message tracking code + +### vac:qa: +- `waku:interop-testing` + - Add mandatory [shard flag](https://github.com/waku-org/waku-interop-tests/pull/34)(@Florin) + - Issue [found](https://github.com/waku-org/nwaku/issues/2644)(@Florin) + - Reopened [again](https://github.com/waku-org/nwaku/issues/2582)(@Florin) +- `nomos:test-automation-cryptarchia` + - [Test plan](https://www.notion.so/Cryptarchia-Test-Plan-9c3c48cc12994446bb02eed24f63c326)(@Florin) +- `waku:test-automation-sharding` + - Sharding tests update. [PR 1060 - merged](https://github.com/waku-org/go-waku/pull/1060)(@Roman) + - bug: message won't be sent over from node1 to node2 with sharded topic subscription. [Issue 1086 - in progress](https://github.com/waku-org/go-waku/issues/1086)(@Roman) +- `waku:test-automation-rln` + - RLN relay tests. [PR 30 - in progress](https://github.com/waku-org/waku-interop-tests/pull/30)(@Roman) + bug: node won't start with RLN in on-chain dynamic mode. [Issue 2662 - open](https://github.com/waku-org/nwaku/issues/2662)(@Roman) +- `waku:test-automation-sharding` + - Updated Sharding PR with comments(@Alex) +- `waku:test-automation-rln` + - Various testing code improvements and utilities(@Alex) + - Finally unblocked onchain "invalid contract" tests(@Alex) +- `admin/misc` + - 2CCs OOO Wednesday -> Friday + - 1CC OOO on Monday/Wednesday + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancements` + - investigated and testing [missed leaves solution](https://github.com/waku-org/nwaku/pull/2649) + - fix waku keystore [segfault](https://github.com/waku-org/nwaku/pull/2654) on incorrect appInfo + - fixed [logging](https://github.com/waku-org/nwaku/pull/2665) for debug logs in nwaku + - integrated [lazyIMT](https://github.com/vacp2p/rln-contract/pull/39) into rln-v2 for gas estimates for waku research +- `rlnp2p:waku:rln-doc-and-outreach` + - merged in [rln light verifiers rlog](https://vac.dev/rlog/rln-light-verifiers), cross-posted to [vac forum](https://forum.vac.dev/t/light-rln-verifiers-using-a-tiered-commitment-tree/290) pending crosspost to ethresearch. +- `zerokit:vac:maintenance` + - addressed some issues in installing [dependencies](https://github.com/vacp2p/zerokit/pull/240) + - removed rln-wasm from the [benchmarks](https://github.com/vacp2p/zerokit/pull/241) (there are none) +- `zerokit:vac:zerokit-v0.5` + - created pr [add ark-zkey support](https://github.com/vacp2p/zerokit/pull/242) + - started to work on tests and benches review regarding [release v0.5](https://github.com/vacp2p/zerokit/issues/237) + - [remove tree_height_32](https://github.com/vacp2p/zerokit/pull/239) merged +- `secure-channels:waku:ethereum-chat` + - Work on the role of the AS in the RFC architecture. + - Work on the role of the SIWE approach. + - Examine the reference implementation of DCGKA and updated distributed group membership part of the notion [note](https://www.notion.so/Applied-Cryptography-ZK-870520f131954b90b1837ec4749f890f?pvs=4#183350a64a9e4b558984a348e9853968). + - Study on the SIWE-like approach from the updated RFC as related to [issue #4](https://github.com/vacp2p/de-mls/issues/4). +- `admin/misc` + - synced with pse and waku research team, pse will start work on the next version of RLN, using the same primitives from semaphore v4. We have disagreed with their approach since it adds unnecessary complexity. we may use a fork of it if they continue making it like semaphore v4. + - updated [pending milestones](https://github.com/logos-co/roadmap/pull/59) on roadmap + - 1 CC onboarding + - 1 CC ooo on May day + +### vac:sc:: +- `status:swap-aggregator` + - finished research on metamask swap adapters + - Continued research on CoW Protocol + - Continued working on notes and slides + - 1inch swap router research +- `vac:maintenance/misc` + - Smart contract security research + - Particularly inflation attacks + +### vac:rfc: +- `codex:specs-init` + - Created pr for Codex marketplace raw RFC, got feedback - https://github.com/vacp2p/rfc-index/pull/36 + - Had a sync meeting with Codex marketplace team on Thursday, for questions +- `nomos:specs-init` + - Started Nomos Data Availablity RFC, not complete, should complete next week for feedback + + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Worked on staggered message sending, [draft PR is ready for review](https://github.com/vacp2p/nim-libp2p/pull/1093). Still need to add adaptive behavior in terms of wait-time, number of simultaneous-transmissions (WIP). + - Completed tests from the above PR. Analyzing results (Looking for rationale for one anamoly: idontwant message is not showing good results in a network with dissimilar bandwidth/latencies) +- `zk:codex:zk-consulting` + - Continued conversation with Codex team on [feedback](https://discord.com/channels/864066763682218004/1234441272484429875). + - Continued work on notes for [Beyond Circuit](https://eprint.iacr.org/2024/265.pdf) and [WarpFold](https://eprint.iacr.org/2024/354). +- `vac:dr:anon:vac:gossipsub-anonymity` + - Discussed [Waku Anonymity Analysis](https://www.notion.so/Anonymity-Layer-cbcbcd6067b347bb812041bce9c110ce) and completed documenting. + - Started documenting initial discussions on designing a base [Anonymity Layer](https://www.notion.so/Anonymity-Layer-Wip-cbcbcd6067b347bb812041bce9c110ce) - WiP. + - Read Tor Push and Dandellion++ solutions - WiP + - Looked into Nym mixnet - WiP. +- `misc` + - Began rough drafts on blogs; [Verkle Trees](https://github.com/vacp2p/vac.dev/tree/dr-rlog-verkle) + +### vac:nes: +- `state-separation:vac:state-separation-doc` + - Worked on State Separation Components and discussed with Ugur on how to proceed with the first part of the architecture (Moudy + Ugur) + - Examine the needs for state separation in terms of trees (Ugur) + - Started to write a prototype about the overview of an end-to-end execution (Ugur + Moudy) +- `proofsystems:vac:benchmarks` + - Had a slight look on what is going regarding other benchmarks done by others (Moudy) + - Continued server testing (Rostyslav) + - Opened up aggregator issue (Rostyslav) +- `virtual-machine-creation:vac:vm-foundations` + - Had a high level look at existing ZkVms (Moudy) +- `proofsystems:vac:research-existing-proof-systems` + - Continued reading about Greco zk proofs (Rostyslav) + - Started checking out Ligetron (Rostyslav) + + diff --git a/content/updates/2024-05-13.md b/content/updates/2024-05-13.md new file mode 100644 index 000000000..e28b4de37 --- /dev/null +++ b/content/updates/2024-05-13.md @@ -0,0 +1,147 @@ +--- +title: "2024-05-13 Vac weekly" +tags: + - "vac-updates" +date: 2024-05-13 +lastmod: 2024-05-13 +draft: false +--- + +## Vac 2024/05/13 + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - fix(CI): rename branch from unstable to master in bumper workflow https://github.com/vacp2p/nim-libp2p/pull/1097 + - fix(yamux): set EoF when remote peer half closes the stream in yamux https://github.com/vacp2p/nim-libp2p/pull/1086 + - reviewing PRs + +### vac:tke: +- `codex:cdx` + - reviewed and extended Codex' Value Capture Mechanisms (Frederico) + - reviewed and discussed the new Slot Reservation proposal with Codex team (Frederico) + - Reviewed, commented, and discussed the tokenomics part of the whitepaper (Juan) + - Read on slot reservation proposals (Juan) + - Provided feedback on *codex's market validation respose document* (Juan) + - Catching up on the discussion around marketplace mechanisms (Martin) +- `status:L2-Deployment` + - Further work on L2 economic model, focusing on fundametal questions and constraints (Martin) + - Started working towards a swap aggregator model (Juan) +- `waku:general-incentives` + - Reviewing protocols mentioned by Franck (Martin) + - Identifying key actionable items (Martin) +- `status:SNT-staking` + - Sync with SC team on the swap feature, chats with potential partners (Martin) + - Identifying implications of L2 economic model on SNT staking and its current design (Mart + +### vac:dst: +- `admin:misc` + - Meetings re: milestones, ad hoc discussions +- `vac:dst:deployment-and-analysis:waku:midscale` + - Blocked due to Kubernetes issues in lab + - Issues resolved now, deployments resume on Tuesday evening (14th/15th of May) +- `vac:dst:deployment-and-analysis:waku:10k` + - First 10k simulation with metrics + - Deployment - https://asciinema.org/a/ZzyqtVrcJW6cVwTI0CJDsBWC5 + - k9s - https://asciinema.org/a/4gmnHckrQgYgtwx85ItixRlY0 + - Deployed new Ruby cluster for better DNS + control plane stability + - Manages 10K simulations - reliably! + -API becomes unstable at that scale, which is solvable +- `vac:dst:tooling:vac:visualiser-tool`: + - PR to be merged regarding code structure and first waku message tracking functionality: [PR](https://github.com/vacp2p/10ksim/pull/24) +- `vac:dst:deployment-and-analysis:codex:testnet` + - Debugging issues with distributed storage system used to support Codex nodes + - Setup access for Codex team +- `vac:dst:deployment-and-analysis:nomos:mixnet` + - Continue to follow up with Nomos team + +### vac:qa: +- `waku:test-automation-sharding` + - bug: [message won't be sent over from node1 to node2 with sharded topic subscription](https://github.com/waku-org/go-waku/issues/1086) - some new info from debbuging(@Roman) +- `waku:test-automation-rln` + - RLN relay tests [merged](https://github.com/waku-org/waku-interop-tests/pull/30)(@Roman) + - bug: node won't start with RLN in on-chain dynamic mode + [Issue 2662 - open](https://github.com/waku-org/nwaku/issues/2662) - retested with [PR 2664](https://github.com/waku-org/nwaku/pull/2664) without better outcome(@Roman) + - Node readiness with [/health check](https://github.com/waku-org/waku-interop-tests/pull/35)(@Roman) + - Skip health check for [go-waku](https://github.com/waku-org/waku-interop-tests/pull/36)(@Roman) + - Continue testing for RLN, Call with Aaryamann. Made some advancements(@Alex) +- `admin/misc` + - OOO All week(@Florin) + - OOO From Monday until Wednesday(@Alex) + +### vac:acz: +- `rlnp2p:waku:rln-relay-enhancements` + - use arkzkey variant of zerokit libs in [nwaku](https://github.com/waku-org/nwaku/pull/2681) + - window of roots should be accepted as [valid health status of rln-relay](https://github.com/waku-org/nwaku/pull/2664) + - dedicated timebox to help QA setup rln-relay +- `rlnp2p:waku:rln-doc-and-outreach` + - draft of [rln-v3 rlog](https://github.com/vacp2p/vac.dev/pull/137) +- `zerokit:vac:zerokit-v0.5` + - include arkzkey libs in [nightly releases](https://github.com/vacp2p/zerokit/pull/244) + - merged PR [add ark-zkey support](https://github.com/vacp2p/zerokit/pull/242) + - published zerokit v0.4.4 release with arkzkey support [release v0.4.4](https://github.com/vacp2p/zerokit/releases/tag/v0.4.4) + - finished test and benches refactoring [chore(rln): tests and benchmarks review](https://github.com/vacp2p/zerokit/pull/243) + - updated docs for rln-v2 to include new serde format [chore(rln): updating docs](https://github.com/vacp2p/zerokit/pull/245) + - created new task in release v0.5 and merged it [fix(rln): Remove resources folder, update missed docs](https://github.com/vacp2p/zerokit/pull/246) +- `secure-channels:waku:ethereum-chat` + - Study on the necessity of SIWE-like protocol related to [issue #4](https://github.com/vacp2p/de-mls/issues/4) + - Check [ERC-725](https://github.com/ERC725Alliance/ERC725/blob/main/docs/ERC-725.md) and [ERC-735](https://github.com/ethereum/EIPs/issues/735) and a [KeyManager Repository](https://github.com/lukso-network/LIPs/blob/main/LSPs/LSP-6-KeyManager.md) for some insight instead of SIWE-like authentication systems. +- `admin/misc` + - roadmap [updated](https://github.com/logos-co/roadmap/pull/66) + +### vac:sc:: +- `status:swap-aggregator` + - prepared presentation on metamask swap + - [1 inch aggregator research](https://notes.status.im/FwanemwsQOKuTMikXGcscg) + - user privacy on Paraswap integration + - Finished preparing CoW protocol preso + - Met with TKE and StatusChain team to discuss plans + - Unfortunately things are still blurry and being brainstormed +- `vac:maintainance/misc` + - ENS usernames release delay update + - Fine-tuned job description for Solidity engineer + - Created onboarding guide for new hires + +### vac:nim: +- `tooling:nimble` + - Working on passing all tests when SAT on. + +### vac:rfc: +- `codex:specs-init` + - Updated CODEX-MARKETPLACE rfc, will ask for second round of feedback next week - https://github.com/vacp2p/rfc-index/pull/36 + - Started node dispersal rfc, will ask for feedback next week +- `nomos:specs-init` + - Started data availibility rfc, should be able to complete first draft next week and ask for feedback - https://github.com/vacp2p/rfc-index/blob/nomos-da/nomos/data-availability.md + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Looked in to previous [staggered message sending approach](https://github.com/vacp2p/nim-libp2p/commit/9b11fa733220910359a38876f8afb9d7ff029641). Require manualy resetting nim/nimble to match the branch dates. The performance evaluation results are available [here](https://www.notion.so/Performance-Evaluation-of-Old-Staggered-Sending-Approach-b458ebafbd744182846c3ad0f7ea3d08) + - As no gains are seen, looking for other possible improvements (delayed elimination of peers from queues on receiving idontwants), adapting stagger delays to peer speeds/scores. still a WIP +- `vac:admin` + - Work on blog drafts for Verkle Trees, KZG, and BloomFilters. +- `zk:codex:zk-consulting` + - Provided feedback on bkomuves' [notes](https://hackmd.io/@bkomuves/SyPHG0PfR) on Codex tracking proofs. + - Began report on Groth16 as final compression layer, and current state of pairing-based recursion proof systems. +- `vac:dr:anon:vac:gossipsub-anonymity` + - Continued working on [Anonymity Layer](https://www.notion.so/Anonymity-Layer-Wip-cbcbcd6067b347bb812041bce9c110ce) - WiP. + - Read Tor Push and Dandelion++ solutions + - Still can't figure out the actual advantage of using onion encryption. + - In the pub-sub model, adding delays and/or relaying through an anonymity/mix overlay network should offer the desired level of protection. + - However, such an overlay network will be similar to Dandellion++ only. + - Still trying to figure out how to overcome the shortcomings in Dandellion++. + +### vac:nes: +- `state-separation:vac:state-separation-doc-01` + - Synced on monitoring (Marvin) +- `state-separation:vac:state-separation-architecture-01` + - Worked extensively on the architecuture of state separation and made some improvements (Ugur + Moudy) + - Finished the 5-page doc for the framework of the prototype with some charts related to the type of executions (Ugur) + - Enriched the prototype with the details for the first draft (Moudy + Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - Continued reading about Greco zk proofs (Rostyslav) + - Finished checking out Ligetron (Rostyslav) + - Wrote a small summary paragraph on LatticeFold (Rostyslav) +- `proofsystems:vac:benchmarks` + - Started the writings and wrapped up some parts to reflect main differences between the major analyzed proof systems (especially regarding proofs agg vs recursion) (Moudy) +- `virtual-machine-creation:vac:vm-foundations` + - Prepared requirements to look into existing ZkVms and what are the important keys we need to assess (Moudy) + diff --git a/content/updates/2024-05-21.md b/content/updates/2024-05-21.md new file mode 100644 index 000000000..570b8acfb --- /dev/null +++ b/content/updates/2024-05-21.md @@ -0,0 +1,148 @@ +--- +title: "2024-05-21 Vac weekly" +tags: + - "vac-updates" +date: 2024-05-21 +lastmod: 2024-05-21 +draft: false +--- + +## Vac 2024/05/21 + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - check use outside test definition https://github.com/status-im/nim-unittest2/issues/43 + - feat(service): add wildcard address resolver https://github.com/vacp2p/nim-libp2p/pull/1099 + +### vac:tke: +- `admin`` + - 1.5 CC day off +- `codex:cdx` + - read Codex business related docs (Frederico) + - reviewed and extended Codex' Incentive Mechanisms (Frederico) + - Reviewing internal and external materials (Martin) + - Commented on Codex tokenomics and on investor strategy docs (Juan) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - continued the restructure of the previous work under a newly defined strategy (Frederico) +- `status:L2-deployment` + - caught up with the current state (Frederico) + - Looking into further L2 economic models, internal discussions (Martin) + - Discussion with LiFi team (Juan) + - Finished writeup on swap aggregator (Juan) +- `waku:general-incentives` + - caught up with the current state (Frederico) + - Sync with the Waku team and mapping out potential for TKE support after reprioritization (Martin) + - Updating Waku Tokenomics Notion (Martin) +- `status:SNT-staking` + - Chats with potential partners for the swap product; analysis of the industry (Martin) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Repeated deployments with waku v0.26 + - 1 to 3K nodes, with 1 msg per 1, 5, 10 seconds +- `vac:dst:deployment-and-analysis:waku:10k` + - Ran 10K deployments to test noise levels post-insulation + - Continued work on metrics + DNS stability +- `vac:dst:tooling:vac:visualiser-tool`: + - Finished implementing the visualization part as a Jupyter notebook + - Still remaining: Evaluate how to propperly visualize thousands of nodes +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Analyzed Yamux issue + - Looks like keep-alive flag was the root of the cause (at waku level). +- `vac:dst:deployment-and-analysis:codex:testnet` + - Migrated Codex VacLab storage to SeaweedFS + - Re-created Codex Kubernetes access + +### vac:qa: +- `waku:interop-testing` + - store content topic [fix](https://github.com/waku-org/waku-interop-tests/pull/37)(@Florin) + - store v3 [PR](https://github.com/waku-org/waku-interop-tests/pull/38)(@Florin) + - worked with SP to translate the store v3 message hashing mechanism from nim to python (@Florin) + - investigated with Richard some interop store v3 issues(@Florin) + - [update lightpush tests with big payloads](https://github.com/waku-org/waku-interop-tests/pull/39) based on latest nwaku fix(@Florin) +- `waku:test-automation-sharding` + - Merge Nwaku PR and closed the milestone(@Alex) +- `waku:test-automation-nwaku` + - Merge Peer & Connection Management PR and closed the milestone(@Alex) +- `waku:test-automation-rln` + - Finally get node to node onchain test working(@Alex) + - Briefly investigate alternative methods. Didn't manage to get it working, left for later, worth investigating: Improve developer experience and discard potential bugs.(@Alex) +- `nomos:test-automation-cryptarchia` + - Read Nomos documentation and related papers(@Alex) +- `admin/misc` + - Catch up with things that I missed while on vacation(@Florin) + - OOO All week(@Roman) + +### vac:acz: +- `secure-channels:waku:fd-design` + - Improvements on the [DCGKA-based approach](https://github.com/vacp2p/rfc-index/pull/28) + - Document the [UPKE scheme](https://www.notion.so/UPKE-proposal-d24a774a46214ed19916dbdcb18a3ae3) + - Created a small doc about ERC [ERC-725](https://github.com/ERC725Alliance/ERC725/blob/main/docs/ERC-725.md) and [ERC-735](https://github.com/ethereum/EIPs/issues/735) in [Notion](https://www.notion.so/Applied-Cryptography-ZK-870520f131954b90b1837ec4749f890f?pvs=4#955055a1f97b4d3593fedbdc111d268e) + - Study on a proposal authentication protocol based on SIWE + AS together. + - Read Ramses' [UPKE notes](https://www.notion.so/UPKE-proposal-d24a774a46214ed19916dbdcb18a3ae3?pvs=4) +- `secure-channels:waku:mls-design` + - Started preparing the talk for Brussels. +- `zerokit:vac:zerokit-v0.5` + - merged PR about getting subtree root: [subtree root PR](https://github.com/vacp2p/zerokit/pull/247) + - found bugs in tree behavior: [Incorrect behavior of trees in override_range function](https://github.com/vacp2p/zerokit/issues/248) + - merged PR about checking and storing zero leaves indices: [zero leaves PR](https://github.com/vacp2p/zerokit/pull/249) + - in part of [zero leaves PR](https://github.com/vacp2p/zerokit/pull/249): started to research better implementation for leaves storage (done with the idea of using bloom filter and its improvements - both had worse performance) +- `rlnp2p:waku:rln-doc-and-outreach` + - wrapped up and published [rln-v3 rlog](https://vac.dev/rlog/rln-v3) +- `secure-channels:waku:ethereum-chat` + - started implementing design of de-MLS [smart contracts](https://github.com/vacp2p/de-mls/issues/1) +- `rlnp2p:waku:rlnv2-e2e` + - new milestone discussion and agreement with waku research + - started converting [waku-rln-contract](https://github.com/waku-org/waku-rln-contract) to standalone repo since their requirements are more specific now +- `stealth-address-kit:vac:research` + - presented stealth address kit to the EIP Discussions call with the SC t + +### vac:sc:: + +### vac:nim: +- `tooling:vac:compiler` + - Updates nimble https://github.com/nim-lang/Nim/pull/23601 After it gets merged it needs to be backported. + - Backport: https://github.com/nim-lang/Nim/pull/23600 https://github.com/nim-lang/Nim/pull/23599 +- `tooling:vac:editor` + - Auto updates lsp when the local lsp is used (https://github.com/nim-lang/vscode-nim/commit/1b542e337095b74260b94e5f9ede5715035eafc5) + - Upload the artifacts from the last release so user can get the extension without using the marketplace: https://github.com/nim-lang/vscode-nim/releases/tag/v0.9.0 + +### vac:rfc: +- `codex:specs-init` + - Updated CODEX-MARKETPLACE rfc, ready for another round of feedback - https://github.com/vacp2p/rfc-index/pull/36 + - Created new dispersal rfc, still in draft - https://github.com/vacp2p/rfc-index/pull/39 +- `nomos:specs-init` + - Worked on data availibility rfc, work still in progess +- `vac:rfc-index` + - moved vac raw specs to raw folder - https://github.com/vacp2p/rfc-index/pull/37 + - created pr to move rln-v1 to draft, still in draft - https://github.com/vacp2p/rfc-index/pull/40 + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Completed staggered message sending approach for current (priority queues). The branch is available as [draft PR](https://github.com/vacp2p/nim-libp2p/pull/1100) for discussions. + - The implementation shows upto 5% latency gains on most of the test runs, and significant bandwidth saving is achieved. +- `zk:codex:zk-consulting` + - Worked on [questions](https://discord.com/channels/864066763682218004/1234441272484429875/1235625113718751282) that Codex raised concerning Beyond the Circuit that they have. + - Began reviewing [proposed proof algorithm draft](https://hackmd.io/@bkomuves/SyPHG0PfR) + - Provided feedback on notes [1](https://hackmd.io/@bkomuves/BkBm9X0zC) and [2](https://hackmd.io/@bkomuves/rJ-bGisfC). +- `vac:admin` + - Worked on BloomFilter, KZG, and Verkle Trees blogs and presentation for LOGOS research call. + - Provided feedback on Akshaya's notes as requested [1](https://www.notion.so/Nym-network-WiP-e27772d4ab654126a315ad78d82cd4dc), [2](https://www.notion.so/GossipSub-WiP-f65fd757564348c2b55e9efa7dd30257), [3](https://www.notion.so/Waku-v2-Relay-Anonymity-Analysis-337bf3a59dd147b1b1defc7a84494934), [4](https://www.notion.so/Dandelion-WiP-ef2a87cc988f443293d94282787755b8). +- `vac:dr:anon:vac:gossipsub-anonymity` + - Synced with Daniel on current progress and milestone. + - Researched onion encryption for anonymous routing in GossipSub (WiP) and other mixnet solutions for comparison. + - Began reading [On the Anonymity of Peer-To-Peer Network Anonymity Schemes Used by Cryptocurrencies](http://arxiv.org/pdf/2201.11860) to understand the attack on Dandelion better + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Reviewed and discussed the architecuture of state separation and took some decisions regarding the smart contracts types (Ugur + Moudy) + - Improved the prototype by adding private-only and public-only smart contracts (Ugur) + - Created examples of executions consist of two functions for end-to-end execution (Moudy + Ugur) +- `proofsystems:vac:research-existing-proof-systems` + - Started working on a writeup about Greco zk proofs (Rostyslav) +- `proofsystems:vac:benchmarks` + - Did further review on what should be included in the blogpost (was put on hold to finish the zkvms research list etc) (Moudy) +- `virtual-machine-creation:vac:vm-foundations` + - Published a detailed issue including the [list of the Zkvms](https://github.com/vacp2p/zk-explorations/issues/40) that we need to look into and all the requirements to cover (Moudy) + - Started researching existing zkVM's (Team) + diff --git a/content/updates/2024-05-27.md b/content/updates/2024-05-27.md new file mode 100644 index 000000000..e87435c91 --- /dev/null +++ b/content/updates/2024-05-27.md @@ -0,0 +1,164 @@ +--- +title: "2024-05-27 Vac weekly" +tags: + - "vac-updates" +date: 2024-05-27 +lastmod: 2024-05-27 +draft: false +--- + +## Vac 2024/05/27 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Stun protocol: merged :tada: https://github.com/status-im/nim-webrtc/pull/9 + - Rework getAttribute + - Add callbacks for username & password + - Address Diego's comments +- `nimlibp2p:vac:maintenance` + - add wildcard address resolver PR review https://github.com/vacp2p/nim-libp2p/pull/1099 + - set EoF when remote peer half closes the stream in yamux review https://github.com/vacp2p/nim-libp2p/pull/1086 + - finished and merged https://github.com/vacp2p/nim-libp2p/pull/1086 + - improved https://github.com/vacp2p/nim-libp2p/pull/1099 + - PR reviews + +### vac:tke: +- `admin` + - 1 CC day off +- `codex:cdx` + - finalized the TKE part of Whitepaper (Frederico) + - Improved code for Codex ABM, now at a better state, ready to start testing (Juan) + - initial steps towards experimental design to simulate CDX security<>demand/supply & price (Juan) + - Quick reviewed Filecoin report (Juan) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - continued the restructure of the previous work under a newly defined strategy (Frederico) +- `status:L2-deployment` + - reviewed the SN economy proposal (Frederico) + - Drafting first docs on the economic model and identifying missing pieces, iterating on this with Cyp (Martin) +- `waku:rln-membership` + - Reviewing existing research into RLN and compatibility with the new design (Martin) + - Reviewed RLN documents. (Juan) +- `status:SNT-staking` + - reviewed the swap aggregator work (Frederico) + - Reviewing Juan's work on swaps (Martin) + - Finished document on swap aggregator (Juan) + - performed additional experiment on time window vs fulfilment (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Repeat simulations with waku v0.27 + - Found, documented potential Waku regression + - Created bandwidth plots with weird results + - Changes to publisher + - PR https://github.com/vacp2p/10ksim/pull/30 + - Re-doing requested deployments +- `vac:dst:tooling:vac:visualiser-tool` + - Some PRs: + - [First visualizer simple PR](https://github.com/vacp2p/10ksim/pull/25) + - Found issue where simulation data is stored incorrectly. + - [PR](https://github.com/vacp2p/10ksim/pull/26) to check for this + - [PR](https://github.com/vacp2p/10ksim/pull/27): Improved querying to get multiple simulation times at once + - [PR](https://github.com/vacp2p/10ksim/pull/28): Add parameter for selecting how many datapoints we want in the plots + - [PR](https://github.com/vacp2p/10ksim/pull/29): Rebase Wings deploy yamls into master + +### vac:qa: +- `waku:interop-testing` + - store v3 - [added 70 tests so far](https://github.com/waku-org/waku-interop-tests/pull/38)(@Florin) + - 9 store v3 issues found:(@Florin) + - store v3 returns error [waku message hash parsing error: Incorrect base64 string](https://github.com/waku-org/nwaku/issues/2715) for some cursors + - passing a cursor that doesn't correspond to any message in the store will [return all messages](https://github.com/waku-org/nwaku/issues/2716) + - nwaku crashes for a store v3 request with [invalid cursor format](https://github.com/waku-org/nwaku/issues/2717) + - store v3 local queries [time out](https://github.com/waku-org/go-waku/issues/1106) + - store v3 response [format issues](https://github.com/waku-org/nwaku/issues/2719) + - standardize store types by using camel case instead of [snake case]7(https://github.com/waku-org/go-waku/issues/1107) + - pubsubTopic and contentTopics are required for store v3 [requests](https://github.com/waku-org/go-waku/issues/1108) + - store v3 returns error [illegal base64 data at input byte](https://github.com/waku-org/go-waku/issues/1109) + - store v3 - passing a cursor that doesn't correspond to any message in the store will [return all messages](https://github.com/waku-org/go-waku/issues/1110) + - update all response fields to be [camelCase](https://github.com/waku-org/waku-interop-tests/pull/40)(@Florin) + - small fix for ligh push [dial fail error](https://github.com/waku-org/waku-interop-tests/pull/43)(@Florin) +- `nomos:test-automation-cryptarchia` + - Read Nomos ocumentation and related papers(@Alex) + - Delve into codebase to understand structure(@Alex) + - Working in fixing coverage(@Alex) + - [PR](https://github.com/logos-co/nomos-node/pull/653) + - [Helper PR](https://github.com/logos-co/nomos-node/pull/654) +- `admin/misc` + - Interview and reviewed QA Candidate code challenge(@Florin) + - 1CC OOO All week + +### vac:acz: +- `secure-channels:waku:mls-design` + - Created authentication and login document for MLS design in [notion](https://www.notion.so/A-Proposal-on-Decentralized-Authentication-and-Login-Mechanism-for-mls-poc-ea5337c383a341a5a796dad85284a1dd?pvs=4) +- `zerokit:vac:zerokit-v0.5` + - Fix json serialization and update tests [PR](https://github.com/vacp2p/zerokit/pull/253) + - Published [release v0.5 on github](https://github.com/vacp2p/zerokit/releases/tag/v0.5.0) + - [released on crates.io](https://crates.io/crates/rln) +- `rlnp2p:waku:rlnv2-e2e` + - Deprecated [waku-rln-contract](https://github.com/waku-org/waku-rlnv1-contract) in favour of [waku-rlnv2-contract](https://github.com/waku-org/waku-rlnv2-contract) which uses vacp2p/foundry template directly instead of inheriting from vacp2p/rln-contract due to evolving business case and divergence from base offering of vacp2p/rln-contract + - [Reduced gas usage for waku-rlnv2-contract](https://github.com/waku-org/waku-rlnv2-contract/pull/4) with onchain root from 250k gas to 104k gas for most insertions, some insertions vary depending on the leaf index due to recalculation of the merkle tree cache (anywhere between 150k-230k). still acceptable. + - [Added test vectors](https://github.com/waku-org/waku-rlnv2-contract/pull/5) with kats from zerokit + - Deployed on [sepolia](https://sepolia.etherscan.io/address/0x06500e81d88b9a6b7dcd0b4ee9fed4f581b4bb0d) for accurate gas measurements +- `stealth-address-kit:vac:maintenance` + - [feat(curves): integrate bw6_761](https://github.com/vacp2p/stealth-address-kit/pull/9) + - [chore(curves): simplify integration of new curves](https://github.com/vacp2p/stealth-address-kit/pull/8) + - [chore(StealthAddressOnCurve): refactor common utilities and traits](https://github.com/vacp2p/stealth-address-kit/pull/7) + - [feat(curves): add pallas & vesta](https://github.com/vacp2p/stealth-address-kit/pull/6) + - [chore(release): v0.1.0](https://github.com/vacp2p/stealth-address-kit/releases/tag/v0.1.0) and released on [crates.io](https://crates.io/crates/stealth_address_kit) + - [feat(curves): add secp256r1](https://github.com/vacp2p/stealth-address-kit/pull/4) + - [feat(curves): add secp256k1](https://github.com/vacp2p/stealth-address-kit/pull/3) + +### vac:sc:: +- `vac:maintenance/misc` + - Updated ENS Usernames to allow custom release delay on deploy https://github.com/status-im/ens-usernames/pull/128 + - Migrated ENS Usernames in Sepolia with 600 seconds of release delay on 0x3174DceF2649Ef7D3585cFC52d45586cF0d0dC90 + - WIP: ENS usernames migrate to forge + - research on Zodiac contracts and Safe modules + - Researched proxy patterns + - Transparent proxies + - UUPSUpgradables + - Interviewed first candidate + +### vac:nim: +- `tooling:vac:nimble` + - Add supports for nimDir flag. See the comment in the PR https://github.com/nim-lang/nimble/pull/1221 + - Fixed an issue where nim bin was wrongly constructed on win +- `tooling:vac:lsp` + - use `nimDir` when available https://github.com/nim-lang/langserver/pull/200 + - `tooling:vac:compiler` + - nimcheck issue on win (https://github.com/nim-lang/Nim/issues/23624) Fix needs to be reworked + - Backport nimble sat to 2.0 and 1.6 https://github.com/nim-lang/Nim/pull/23643 https://github.com/nim-lang/Nim/pull/23644 + +### vac:rfc: +- `codex:specs-init` + - Had sync meeting with marketplace team on Thursday + - Updated marketplace rfc, need to make changes based on feedback - https://github.com/vacp2p/rfc-index/pull/36 +- `nomos:specs-init` + - Worked on data availibility rfc, need more time to finish rough draft +- `admin/misc` + - Opened discussion for rln-v1 move to draft, and recieved feedback - https://github.com/vacp2p/rfc-index/pull/40 + - created pr on waku/specs to end move to draft update for WAKU/METADATA and WAKU/NETWORK - https://github.com/waku-org/specs/pull/15; https://github.com/waku-org/specs/pull/16 + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Conducted simulations results/code analysis for [staggered message sending PR](https://github.com/vacp2p/nim-libp2p/pull/1100) + - Identified one [potential issue](https://github.com/vacp2p/nim-libp2p/issues/1101) related to IHAVE/IWANT messages. + - Looked into GossipSub specifications and other libp2p (go and rust) implementations for IHAVE/IWANT message flows +- `vac:admin` + - Finished presentation for Logos Research call + - Finished BloomFilter [blog draft](https://hackmd.io/@-CvgMMUrRhC2aJOVst_GAw/r1yTju9GR). + - Focus on Nescience +- `vac:dr:anon:vac:gossipsub-anonymity` + - Addressed Marvin's comments on anonymity layer notes. + - Worked [Anonymity Layer](https://www.notion.so/Anonymity-Layer-Wip-cbcbcd6067b347bb812041bce9c110ce) - WiP. + - Met with Youngjoon to understand the practical considerations in designing anonymous communication for Nomos. + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Additional reviews of the architecuture of state separation. (Moudy) + - Work on the input and outputs in the aggregation circuit for the state-separation prototype. (Ugur)[ACZ] +- `virtual-machine-creation:vac:vm-foundations` + - Worked on the list of ZkVMs. Mainly covered: ZkMove, ZkWasm, PiecrustVM. (Moudy) + - Worked on zkVM list. Covered: NovaNet, zkLLVM, Lurk. (Rostyslav) + - Worked on zkVM list. Mainly covered: Ceno, Ola, Valida, RISC-0.(Marvin)[DR] + - Worked on zkVM list. Mainly covered: SP1, Powdr, Miden, and zkOS. (Ugur)[ACZ] + diff --git a/content/updates/2024-06-03.md b/content/updates/2024-06-03.md new file mode 100644 index 000000000..20f99a9f8 --- /dev/null +++ b/content/updates/2024-06-03.md @@ -0,0 +1,150 @@ +--- +title: "2024-06-03 Vac weekly" +tags: + - "vac-updates" +date: 2024-06-03 +lastmod: 2024-06-03 +draft: false +--- + +## Vac 2024/06/03 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - DTLS protocol https://github.com/status-im/nim-webrtc/pull/10 + - Adds comments & improve PR presentation + - Solve some problems appearing with the merge of Stun protocol + - Trying to solve the CI with prerequisites installation in nim-mbedtls + - Chore PR (renaming) +- `nimlibp2p:vac:maintenance` + - review and finalize various chore PRs + +### vac:tke: +- `admin` + - reviewed and updated TKE milestones (Frederico) +- `codex:cdx` + - reviewed research reports about competitors (Frederico) + - structureed and started developing Codex agent-based model (Frederico) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - produced better comparisons between the fork-choice rules (Frederico) + - finalized the single Jupyter notebook that replicates all computations (Frederico) + - continued the restructure of the previous work under a newly defined strategy (Frederico) +- `waku:general-incentives` + - caught up with the current state (Frederico) +- `waku:rln-membership` + - Reviewed existing research into RLN and compatibility with the new design (Martin) +- `status:SNT-staking` + - Reviewed Juan's work on swaps (Martin) +- `status:L2-deployment` + - Drafted first docs on the economic model and identifying missing pieces, iterating on this with Cyp (Martin + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Deploy additional Ruby control plane nodes for better stability. + - Partially deployed, being finished today + - Investigate Waku regression + - [PR](https://github.com/vacp2p/10ksim/pull/30): New Publisher merged. Tested with 3K Nodes. + - Fixed data retrieval issues with Pushprox that affected simulations. + - [Changed Waku parameters](https://discord.com/channels/864066763682218004/1242882943580377179/1244643456174002277) to better test waku v0.27 +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Async meetings with libp2p team to inform testing + - [PR](https://github.com/vacp2p/10ksim/pull/31): Added deployment files in 10k repo for nim-libp2p. + - Changed [DST-node branch](https://github.com/vacp2p/dst-gossipsub-test-node/commits/dockerized/) to use nimbus build system. + - Deployed 1K nimlibp2p nodes and gathered data +- `vac:dst:tooling:vac:visualiser-tool` + - New weekly Monday meeting with Waku team about reliability + - Waku is interested in using the visualiser tool in their test fleet. Got an SSH tunnel for Elastic access. + +### vac:qa: +- `waku:interop-testing` + - Merged store v3 - [added 70 tests](https://github.com/waku-org/waku-interop-tests/pull/38)(@Florin) + - Spent 1 day investigating potential reliability issues that turned out to be misconfigs(@Florin) +- `waku:test-automation-status-go-cli` + - Call with Pablo regarding requirements and deliverables(@Florin) + - Started creating a test framework around the status go cli tool(@Florin) +- `waku:test-automation-rln` + - Fix: occasional failure to check published message for [RLN tests](https://github.com/waku-org/waku-interop-tests/pull/44)(@Roman) +- `nomos:test-automation-cryptarchia` + - Chore: cryptarchia unit tests update [in progress](https://github.com/logos-co/nomos-node/pull/657)(@Roman) + - Example how coverage changes in the report: [Before](https://app.codecov.io/gh/logos-co/nomos-node/tree/master/consensus%2Fcryptarchia-engine) -> [After](https://app.codecov.io/gh/romanzac/nomos-node/tree/chore-cryptarchia-unit-tests-update/consensus%2Fcryptarchia-engine) (@Roman) + +### vac:acz: +- `rlnp2p:waku:rlnv2-e2e` + - [chore(tests): add kats test for merkle proof](https://github.com/waku-org/waku-rlnv2-contract/pull/7) + - [chore: integrate uups proxy](https://github.com/waku-org/waku-rlnv2-contract/pull/8) + - [chore: scaffold deployments](https://github.com/waku-org/waku-rlnv2-contract/pull/6) + - merged [tests PR](https://github.com/waku-org/waku-rlnv2-contract/pull/5/files) after addressing reviews +- `stealth-address-kit:vac:maintenance` + - [chore: refactor into 2 crates, example and sdk](https://github.com/vacp2p/stealth-address-kit/pull/10) + - [chore: v0.2.0-beta release](https://github.com/vacp2p/stealth-address-kit/pull/11) + - [chore: refactor deps, make lib lighter](https://github.com/vacp2p/stealth-address-kit/pull/12) +- `validator-privacy:nimbus:productionize-tor-push` + - reviewed codebase and paper +- `secure-channels:waku:mls-design` + - Study on login and authentication options for MLS design in terms of decentralization, adding a conclusion to [doc](https://www.notion.so/A-Proposal-on-Decentralized-Authentication-and-Login-Mechanism-for-mls-poc-ea5337c383a341a5a796dad85284a1dd?pvs=4) + - Examine login mechanism of a self-hosted messaging app based on matrix named [element](https://app.element.io/#/welcome) see in [github](https://github.com/element-hq/element-web) + - Finished the (first version) of the [presentation](https://docs.google.com/presentation/d/1XxHiah4vQd0uEXr0glSiqHaiTShDBsJiNhAZhL7kjbM/edit?pli=1#slide=id.g157ea0519b8_0_104) for the EthCC Brussels. +- `secure-channels:waku:mls-poc` + - tried to implement poc using openmls and centralised DS -> not finished, found that using decentralised approach is better + - started to investigate how to use waku as DS +- `consulting:codex:proxy-re-encryption` + - attended kick-off call, [meeting notes](https://notes.status.im/5QweMmx4QXurti8_5kWijQ?view) with action points for next steps +- `admin/misc` + - added codex proxy re-encryption to roadmap [pr](https://github.com/logos-co/roadmap/pull/66) and merged + +### vac:sc:: +- `vac:maintenance/misc` + - initial Certora setup for codex contracts https://github.com/codex-storage/codex-contracts-eth/pull/113 + - WIP: ENS usernames to latest solidity + - WIP: ENS usernames migrate to forge + - ENS Usernames to new ENS registry + - Proxies and Upgradeable contracts research + - Presented proxy patterns in EIP discussions call + +### vac:nim: +-`tooling:vac:compiler` + - nimcheck rework previous solution: https://github.com/nim-lang/Nim/pull/23625 +-`tooling:vac:nimble` + - change it to dump (https://github.com/nim-lang/nimble/pull/1221) +-`tooling:vac:lsp` + - change it to use dump (https://github.com/nim-lang/langserver/pull/200) + - unify nimble dump calls and extract type https://github.com/nim-lang/langserver/pull/201 + - speed up dump by caching calls (https://github.com/nim-lang/langserver/pull/202) +-`tooling:vac:editor` + - use nimble dump when available to retrieve the nimDir for run and debug (https://github.com/nim-lang/vscode-nim/pull/64) and https://github.com/nim-lang/vscode-nim/pull/65 + - fixes compilation issue with latest version 2.0 https://github.com/nim-lang/vscode-nim/compare/main...jmgomez:fixcompilationissuever20?expand=1 + +### vac:rfc: +- `codex:specs-init` + - Updated marketplace rfc, made changes based on feedback - https://github.com/vacp2p/rfc-index/pull/36 +- `nomos:specs-init` + - Worked on data availibility rfc, created pr still in draft - https://github.com/vacp2p/rfc-index/pull/ + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Experimented with different optimizations for minimizing the impact of IWant messages. Additionally, we can skip sending IWant if we have received multiple IDontWants for the same msgID; implemented this in [PR](https://github.com/vacp2p/nim-libp2p/pull/1109) that shows reasonable improvement. +- `vac:admin` + - Logos Research call presentation + - Met with Aaryamann concerning blog formatting. +- `zk:codex:zk-consulting` + - Began [document](https://www.notion.so/Notes-on-Codex-Proposal-WIP-efba941dbdb444b783d4bdf6f415e801?pvs=4#1cab02c0904b4143ba6a60b7b45e4ab6) on [proposed proof algorithm draft](https://hackmd.io/@bkomuves/SyPHG0PfR), and began [notes](https://www.notion.so/Groth16-as-a-Final-Wrapper-WIP-cca33b52cfbb489ea4c5be65e4631584) on Groth16 as a wrapper. + - Began reading [Circle STARK](https://eprint.iacr.org/2024/278), [ECFFT1](https://epubs.siam.org/doi/10.1137/1.9781611977554.ch30) and [ECFFT2](https://www.math.toronto.edu/swastik/ECFFT2.pdf) to focus on variations of FFT optimizations. +- `vac:dr:anon:vac:gossipsub-anonymity` + - Reading [Nym Network](https://nymtech.net/nym-whitepaper.pdf) white paper. This addresses several open questions we had: strong adversarial model, reputation system that ensures reliability and mitigates Sybil attacks, uses verifiable random functions for node selection, maintains list of active nodes, prevent long-term correlation attacks by rotating active nodes every hour, rewards for nodes. + - Began investigating an open source [libp2p-nym](https://github.com/ChainSafe/rust-libp2p-nym) implementation in Rust + +### vac:nes: +- `virtual-machine-creation:vac:vm-foundations` + - work on [list of ZkVMs](https://github.com/vacp2p/zk-explorations/issues/40) + - Continued entering data on Nexus, Jolt, o1VM. + - Found new benchmarks for SP1, Jolt and Valida + - Ola and snarkOS. [DR] + - Compiled information for Valida, Ola, snarkOS, RISC0 and Valida into the [zkVM table](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg). [DR] + - compiled information for P1, Powdr, Miden, zkOS, Aleo(snarkVM), and zkMIPS in [zkVM table](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg?view) [ACZ] +- `proofsystems:vac:research-existing-proof-systems` + - continue working on a writeup about Greco zk proofs + + + + + diff --git a/content/updates/2024-06-10.md b/content/updates/2024-06-10.md new file mode 100644 index 000000000..17c4c0bdb --- /dev/null +++ b/content/updates/2024-06-10.md @@ -0,0 +1,146 @@ +--- +title: "2024-06-10 Vac weekly" +tags: + - "vac-updates" +date: 2024-06-10 +lastmod: 2024-06-10 +draft: false +--- + +## Vac 2024/06/10 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - mbedtls: Try differents way to fix the installation on windows due to CI errors + - Update the version of MbedTLS (a bit too overkill) + - Change pip / python version + - Use pip requirement file + - Change the packages constraints. + - mbedtls: Work on MacOS CI failing. +- `nimlibp2p:vac:maintenance` + - released v1.3.0 + - gossipsub 1.2 https://github.com/vacp2p/nim-libp2p/pull/1106 + - fix(services): setup services before peerinfo is updated https://github.com/vacp2p/nim-libp2p/pull/1120 + - fix(multicodec): remove unnecessary "!=" operator https://github.com/vacp2p/nim-libp2p/pull/1112 + - Formatting https://github.com/vacp2p/nim-libp2p/pull/1118 + - fix(gossipsub): pubsubpeer is created with wrong gossipsub version https://github.com/vacp2p/nim-libp2p/pull/1116 + - Investigate flaky tests: Couldn't replicate + - CI cleanup and streamlining + - [PR](https://github.com/vacp2p/nim-libp2p/pull/1117) + - Missing: Converting `Daily` to `minver-maxver`, and consider changing `coverage` from full workflow to step after tests. + +### vac:tke: +- `admin` + - 5 (Martin) + 4 (Frederico) days off + - updated the TKE milestones (Frederico) +- `codex:cdx` + - reviewed the latest modifications in the Whitepaper (Frederico) + - Worked on improving code for simulations (efficiency, refactoring etc.) -> This efficiency is needed for MC simulations (Juan) + - Researched Filecoin government models for Agatha after discussion (Juan) +- `status:SNT-staking` + - Started reading Cyp's blogpost on SNT (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:10k` + - Continue attempts at "10k with metrics", further optimisations + - Bring back missing nodes +- `vac:dst:deployment-and-analysis:waku:midscale` + - 9x simulations with waku v0.27. + - Investigate v0.26/v0.28 mesh stability issues https://github.com/waku-org/nwaku/issues/2780 + - Fixed error in our LivenessProbe deployment yaml, met with Ivan from Waku about this + - Grafana Loki briefly installed and configured and setup; removed due to issues it caused +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Rebased the nimbus build system code to a new branch: https://github.com/vacp2p/dst-gossipsub-test-node/tree/dockerized-nimbus-bs + - Found error with nimble and 1.2.0 version of Nimlip2p (https://discord.com/channels/864066763682218004/1247474261996867684) + - Simulations with 1.2, 1.2.1 and 1.3.0. + - Yamux and mplex + - https://www.notion.so/Nim-libp2p-report-May-2024-7b1c6a06e667440894b554d77f7c7886 +- `vac:dst:tooling:vac:deployer-tool` + - PR for ignoring bootstrap-midstrap nodes during plotting https://github.com/vacp2p/10ksim/pull/32 +- `vac:dst:tooling:vac:visualiser-tool` + - Started working on dynamic configuration for visualiz + +### vac:qa: +- `waku:test-automation-status-go-cli` + - initial PR reviewed and merged with one to one messages [functionality](https://github.com/status-im/status-cli-tests/pull/1)(@Florin) + - reviewed and tested subsequent [improvement PR from Pablo](https://github.com/status-im/status-cli-tests/pull/2)(@Florin) + - discussed results and future work on the [ticket](https://github.com/status-im/status-go/issues/5144)(@Florin) +- `waku:interop-testing-02` + - started looking at discv5 tests(@Florin) + - Test/peer connection management [PR 45 - in progress](https://github.com/waku-org/waku-interop-tests/pull/45)(@Roman) +- `nomos:test-automation-cryptarchia` + - chore: cryptarchia unit tests update [PR 657 - on hold till 17th June](https://github.com/logos-co/nomos-node/pull/657) (@Roman) +- `waku:test-automation-rln` + - Create issues (@Alex) + - [Member doesn't exist after registration](https://github.com/waku-org/nwaku/issues/2764) + - [Improve RLN experience](https://github.com/waku-org/nwaku/issues/2762) + - [RLN Flags issues](https://github.com/waku-org/nwaku/issues/2763) + - RLN v2(@Alex) + - Introductory meeting + - Checkout docs and have a look at the tooling +- `vac:test-automation-nim-libp2p` + - Investigate flaky tests: Couldn't replicate(@Alex) + - CI cleanup and streamlining(@Alex) + - [PR](https://github.com/vacp2p/nim-libp2p/pull/1117) + - Missing: Converting `Daily` to `minver-maxver`, and consider changing `coverage` from full workflow to step after tests. + +### vac:acz: +- `secure-channels:waku:mls-design` + - Finished the EthCC presentation. + - Study on onchain parts of mls-design +- `consulting:codex:proxy-re-encryption` + - Worked in the PRE report. + - Performed research in alternatives to PRE. ABE might be a plausible alternative. +- `secure-channels:waku:mls-poc` + - re-design general idea of decentirlized architecture: Delivery Service is represented by Waku Node and doesn't require additional service + - went through example of using Waku rust bindings in other project + - started to figure out what data we need to store/get on-chain + +### vac:sc:: +- `vac:maintainance/misc` + - setup certora on the codex repo + - https://github.com/codex-storage/codex-contracts-eth/pull/113 + - [ENS usernames to latest solidity](https://github.com/status-im/ens-usernames/commit/4782d00c95506d639e084b0f03862dd59eb9c15c) + - [ENS usernames migrate basic tests to forge](https://github.com/status-im/ens-usernames/commit/2436e3fcbfa7d700f7ae585a57182ee57f8ca59e) + - soft audited codex contracts + +### vac:nim: +- `tooling:vac:compiler` + - C++ Issue (https://github.com/nim-lang/Nim/issues/23657) fix: https://github.com/nim-lang/Nim/pull/23666 + - C++ Issue research https://github.com/nim-lang/Nim/issues/23656 + - NimSuggest should handle not known files [WIP] +- `tooling:vac:lsp` + - Issue research https://github.com/nim-lang/langserver/issues/203 + - Fixes an issue where wrong project was auto guessed and Test to cover it. (https://github.com/nim-lang/langserver/pull/206) + - Add Tests to CI: https://github.com/nim-lang/langserver/pull/205 https://github.com/nim-lang/langserver/pull/205 + +### vac:rfc: +- `nomos:specs-init` + - Worked on data availibility rfc, still in draft - https://github.com/vacp2p/rfc-index/pull/41 +- `admin/misc` + - added changes based on feedback for rln-v1 - https://github.com/vacp2p/rfc-index/pull/40 + +### vac:dr: +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Began work on research blog post for gossipsub improvements for large messages. Specifically, looked into the outcomes/rationales of previous performance experiments conducted for large messages, revisited posts/discussions on large messages handling for compiling work +- `zk:codex:zk-consulting` + - Continued document on [proposed proof algorithm draft](https://hackmd.io/@bkomuves/SyPHG0PfR). + - Continued reading [Circle STARK](https://eprint.iacr.org/2024/278), [ECFFT1](https://epubs.siam.org/doi/10.1137/1.9781611977554.ch30) and [ECFFT2](https://www.math.toronto.edu/swastik/ECFFT2.pdf) with the emphasis to produce notes on CFFT and ECFFT. +- `vac:dr:anon:vac:gossipsub-anonymity` + - Examine [libp2p-nym](https://github.com/ChainSafe/rust-libp2p-nym) + - Read GossipSub specs. + - Began work on an initial proposed model. Performed calculations for the probability of deanonymization with a high fraction of malicious nodes (35-40%) for random mixed nodes. Results similar to top 5 AS-level adversaries. + +### vac:nes: +- `virtual-machine-creation:vac:vm-foundations` + - work on [list of ZkVMs](https://github.com/vacp2p/zk-explorations/issues/40) + - Finished entering data on Nexus, Jolt, o1VM. + - Started going through codebases ov zkVMs. + - Covered and fulfilled the table for Stellar and Cairo in [zkVM table](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg?view).[ACZ] + - Sanity checked RISC0 and Valida from Marvin, Nexus and Jolt from Rostyslav, Cairo and Stellar from Moudy.[ACZ] +- `proofsystems:vac:research-existing-proof-systems` + - Continue working on a writeup about Greco zk proofs. +- `state-separation:vac:state-separation-architecture-01` + - Study on the racing conditions for state-separation prototype. [ACZ] + + diff --git a/content/updates/2024-06-17.md b/content/updates/2024-06-17.md new file mode 100644 index 000000000..95ff5739f --- /dev/null +++ b/content/updates/2024-06-17.md @@ -0,0 +1,169 @@ +--- +title: "2024-06-17 Vac weekly" +tags: + - "vac-updates" +date: 2024-06-17 +lastmod: 2024-06-17 +draft: false +--- + +## Vac 2024/06/17 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Fix nim-mbedtls MacOS installation + - Merge small chore PR https://github.com/vacp2p/nim-webrtc/pull/13 + - DTLS ready to review https://github.com/vacp2p/nim-webrtc/pull/10 +- `nimlibp2p:vac:maintenance` + - https://github.com/vacp2p/nim-libp2p/pull/843 + - Older PR about races conditions; Find/implement solutions to fix it + - fix(CI): rebuild website job https://github.com/vacp2p/nim-libp2p/pull/1125 + - fix(readme): update links https://github.com/vacp2p/nim-libp2p/pull/1126 + - fix(CI): generate website job https://github.com/vacp2p/nim-libp2p/pull/1124 + - fix(tests): testautorelay https://github.com/vacp2p/nim-libp2p/pull/1121 + - fix(tests): flaky testdaemon https://github.com/vacp2p/nim-libp2p/pull/1123 + - chore(formatting): format the whole codebase using nph 0.5.1 https://github.com/vacp2p/nim-libp2p/pull/1118 + - fix(gossipsub): pubsubpeer is created with wrong gossipsub version https://github.com/vacp2p/nim-libp2p/pull/1116 + +### vac:tke: +- `admin` + - 2 (Frederico) + 5 (Martin) days off + - changed the TKE milestones after getting feedback (Frederico) + - analysis of Risk Quant Lead candidate task (Frederico) + - Met with Martin to discuss hand-off (Juan) +- `codex:cdx` + - cleaned up Litepaper (Frederico) + - Kept working on simulations code, greatly improved efficiency (Juan) + - Wrote piece on Filecoin government (Juan) +- `codex:testnet-incentive` + - caught up the current thinking of the Codex team (Frederico) +- `status:SNT-staking` + - Commented Cyp's blogpost (Juan) + - Discussed further directions on the swap aggregator (Juan) +- `status:L2-deployment` + - Started work on catsfishing (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:codex:testnet` + - Meeting with Codex team members comparing DSNs and offering a competive analysis +- `vac:dst:deployment-and-analysis:waku:10k` + - Running attempts at "10k with metrics", new tests with noise dampening + - Brought back missing nodes +- `vac:dst:deployment-and-analysis:waku:midscale` + - Continued debugging [waku regression](https://github.com/waku-org/nwaku/issues/2780) + - Repeated deployments with 0.28, and compared with 0.27. + - Gave feedback to Gabriel@Waku about [change in Waku logging](https://github.com/waku-org/nwaku/pull/2800#issuecomment-2165558380) + - 0.28 deployment for Ivan/Hanno, plotting message time distribution to all peers. + - Ivan specifically requested different sizes and latencies- `vac:dst:deployment-and-analysis:waku:midscale` +- `vac:dst:tooling:vac:visualiser-tool` + - Continue work on injecting elastic information in visualiser +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Tried to repeat simulations with different message size and latency witn 1.2.0 and 1.3.0 + - Couldn't obtain data, still trying to figure out why + +### vac:qa: +- `waku:test-automation-status-go-cli` + - contact request [tests](https://github.com/status-im/status-cli-tests/pull/3) - merged(@Florin) + - private groups [tests](https://github.com/status-im/status-cli-tests/pull/4) - in progress(@Florin) + - reviewed Pablos's PR where he fixed and added new functionality to status-cli(@Florin) +- `waku:interop-testing-02` + - Test/peer connection management [in progress](https://github.com/waku-org/waku-interop-tests/pull/45)(@Roman) +- `nomos:test-automation-cryptarchia` + - chore: cryptarchia unit tests update [on hold till 17th June](https://github.com/logos-co/nomos-node/pull/657)(@Roman) + - chore: cryptarchia ledger unit tests update [in progress](https://github.com/logos-co/nomos-node/pull/660)(@Roman) +- `waku:test-automation-rln` + - Investigate and fix waku-simulator issues with docker/podman on windows and fedora(@Alex) + - Began running tests(@Alex) +- `waku:maintenance-nwaku` + - Answer open issues(@Alex) + +### vac:acz: +- `rlnp2p:waku:rlnv2-e2e` + - [chore(tests): add kats test for merkle proof](https://github.com/waku-org/waku-rlnv2-contract/pull/7) + - [chore: integrate uups proxy](https://github.com/waku-org/waku-rlnv2-contract/pull/8) + - [chore: scaffold deployments](https://github.com/waku-org/waku-rlnv2-contract/pull/6) + - merged [tests PR](https://github.com/waku-org/waku-rlnv2-contract/pull/5/files) after addressing reviews +- `stealth-address-kit:vac:maintenance` + - [chore: refactor into 2 crates, example and sdk](https://github.com/vacp2p/stealth-address-kit/pull/10) + - [chore: v0.2.0-beta release](https://github.com/vacp2p/stealth-address-kit/pull/11) + - [chore: refactor deps, make lib lighter](https://github.com/vacp2p/stealth-address-kit/pull/12) +- `validator-privacy:nimbus:productionize-tor-push` + - reviewed codebase and paper +- `secure-channels:waku:mls-design` + - Study on login and authentication options for MLS design in terms of decentralization, adding a conclusion to [doc](https://www.notion.so/A-Proposal-on-Decentralized-Authentication-and-Login-Mechanism-for-mls-poc-ea5337c383a341a5a796dad85284a1dd?pvs=4) + - Examine login mechanism of a self-hosted messaging app based on matrix named [element](https://app.element.io/#/welcome) see in [github](https://github.com/element-hq/element-web) + - Finished the (first version) of the [presentation](https://docs.google.com/presentation/d/1XxHiah4vQd0uEXr0glSiqHaiTShDBsJiNhAZhL7kjbM/edit?pli=1#slide=id.g157ea0519b8_0_104) for the EthCC Brussels. +- `secure-channels:waku:mls-poc` + - tried to implement poc using openmls and centralised DS -> not finished, found that using decentralised approach is better + - started to investigate how to use waku as DS +- `consulting:codex:proxy-re-encryption` + - attended kick-off call, [meeting notes](https://notes.status.im/5QweMmx4QXurti8_5kWijQ?view) with action points for next steps +- `admin/misc` + - added codex proxy re-encryption to roadmap [pr](https://github.com/logos-co/roadmap/pull/66) and merged + +### vac:sc:: +- `vac:maintenance/misc` + - Setting up first certora rules in Codex repo + - ENS usernames migrate remaining tests to forge + - ENS usernames forge + - https://github.com/status-im/ens-usernames/issues/129 + - https://github.com/status-im/ens-usernames/tree/foundry-template-test + - Researched EIP4626 tokenized vaults and security vulnerabilities + - Presented research to team + - Meeting with Finance and Security to discuss plans with Zodiac modules + - Finance will set up deploy script to create a SAFE with multisig and zodiac roles modifier + scope guard + - SC team and Security team will review deploy scripts + - SC team will deploy contracts on behalf of finance + - Rebased Ricardos work on ENS username repo refactor + - Branch: https://github.com/status-im/ens-usernames/commits/foundry-template/ + - Also had session with him about ironing out some processes + + +### vac:nim: +- `tooling:vac:compiler` + - Fix an issue in nimsuggest where unknown files werent being handled: https://github.com/nim-lang/Nim/pull/23696 + - Backports: https://github.com/nim-lang/Nim/pull/23702 and https://github.com/nim-lang/Nim/pull/23701 + - Fix: "#23695: On Linux, "nimsuggest" crashes if Nim is installed in /usr/bin and the library in /usr/lib/nim" https://github.com/nim-lang/Nim/pull/23697 +- `tooling:vac:lsp` + - Implements the `extension/status` endpoint (https://github.com/nim-lang/langserver/commit/3879966eed20f04ce4254b67c5c6496c06358b79) + It's useful for asserting in tests in a reliable way as it exposes the langserver and nimsuggest instances current status (i.e. main file, known files, etc.) It can also be useful to create a specific window in extension to quickly inspect the current status for a given project +- `tooling:vac:editor` + - Implements Show NimLangServer Status command. (https://github.com/nim-lang/vscode-nim/pull/67) + Right now is just outputing into the output window. In the near future we are going to build a separate window to inspect it. + +### vac:rfc: +- `nomos:specs-init` + - Worked on data availability rfc, not ready for feedback, still in draft - https://github.com/vacp2p/rfc-index/pull/41 +- `admin/misc` + - Closed and moved issues from rfc old repo; archived old repo (https://github.com/vacp2p/rfc) + - Updated readme on rfc-website - https://github.com/vacp2p/rfc.vac.dev/pull/2 + +### vac:dr: +- `vac:admin` + - Team synced outside of standup for additional feedback. + - (Marvin) Began investigating gossipsub lazy message [issue](https://github.com/vacp2p/nim-libp2p/issues/850) as prep for testing. +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Began work on research blog post for gossipsub improvements for large messages: [WIP draft](https://github.com/vacp2p/vac.dev/pull/144) +- `zk:codex:zk-consulting` + - Wrote [notes](https://www.notion.so/Notes-on-Codex-Proposal-WIP-efba941dbdb444b783d4bdf6f415e801?pvs=4#17279e7a85cc465b82418cbc6478c0a6) on a binding issue in Codex proposal notes along with a solution. + - Wrote brief [notes](https://www.notion.so/Notes-on-Codex-Proposal-WIP-efba941dbdb444b783d4bdf6f415e801?pvs=4#c77f71993e174df3bb86a71a3d6b9c7a) for [PolyMath](https://eprint.iacr.org/2024/916). +- `vac:dr:anon:vac:gossipsub-anonymity` + - Started writing [Anonymized GossipSub Transport Protocol (AGTP)](https://www.notion.so/Anonymized-GossipSub-Transport-Protocol-AGTP-Wip-cbcbcd6067b347bb812041bce9c110ce) specification -WiP. + - (AGTP will be renamed as the name is not fitting; just WiP atm) + - Researched ways to prevent adversarial senders from abusing the mixnet to DoS single exit nodes; current issue: this could potentially lead to honest exit nodes being penalized and ignored. + - Investigated mining techniques; selected proof of work for now. + +### vac:nes: +- `virtual-machine-creation:vac:vm-foundations` + - work on [list of ZkVMs](https://github.com/vacp2p/zk-explorations/issues/40) + - Finished entering data on missing Zkvms info. [Moudy] + - Started going through codebases ov zkVMs. [Rostyslav] + - Updated and integrated additional information on [Github](https://github.com/vacp2p/zk-explorations/issues/40) and [Table](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg) lists. [Moudy] + - Started discussions about the selection of Zkvms and how to add privacy requirements.[Team] +- `state-separation:vac:state-separation-architecture-01` + - Reviewed the state separation architecture prototype. [Moudy] + - Started defining important traces and working through a first draft. [Moudy] + - Reviewed the prototype and extracted the rest of possible topics to obtain the scope of the blogpost. [UGUR] [ACZ] + - Work on a demo example of state separation execution for the prototype for each kind of TX. [UGUR + MOUDY] [ACZ] + - Examine the private execution project named [sarma](https://github.com/jordan-public/evm-private-execution) + diff --git a/content/updates/2024-06-24.md b/content/updates/2024-06-24.md new file mode 100644 index 000000000..55b31ab18 --- /dev/null +++ b/content/updates/2024-06-24.md @@ -0,0 +1,174 @@ +--- +title: "2024-06-24 Vac weekly" +tags: + - "vac-updates" +date: 2024-06-24 +lastmod: 2024-06-24 +draft: false +--- + +## Vac 2024/06/24 + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - Merged new PeerEvent https://github.com/vacp2p/nim-libp2p/pull/843/ + - Merged Yamux: change a Future into a AsyncEvent because it makes more sense https://github.com/vacp2p/nim-libp2p/pull/1133/ + - feat: add maxSize to TimedCache https://github.com/vacp2p/nim-libp2p/pull/1132 + - chore: add .git-blame-ignore-revs https://github.com/vacp2p/nim-libp2p/pull/1130 + - chore: delete branch folders from gh-pages https://github.com/vacp2p/nim-libp2p/pull/1127 +- `nimlibp2p:vac:webrtc-transport` + - DTLS https://github.com/vacp2p/nim-webrtc/pull/10 + - Adds testing + - Some refactorization (remove useless code/change names/comments/splitting files etc.. +- `nimlibp2p:vac:gossipsub-perf-improvements` + - Improvements related to Gossipsub 1.2 https://github.com/vacp2p/nim-libp2p/issues/1131 + +### vac:tke: +- `admin` + - 2 CC days-off +- `nomos:cryptarchia-wealth-concentration-known-stake` + - performed statistical analysis of simulation results (Frederico) + - read paper about StakeSure (Frederico) + - Discussed statistical analysis of simulation results w/Frederico (Juan) +- `codex:cdx` + - finalized the Litepaper (Frederico) + - prepared a "Codex in one slide" doc (Frederico, Juan) + - worked on simulations (Juan) +- `codex:testnet-incentive` + - kicked off the testnet incentives report (Frederico) +- `status:L2-deployment` + - reviewed all docs (Frederico, Juan) + - Meeting with Swiss legal councel for status (Frederico, Juan) + - Worked on CowSwap comparison (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:10k` + - Various (1-10k) 0.27 deployments with full hardware, measurements + - "Right on the edge" with Prometheus + - Will be backing up Prometheus and replacing with VictoriaMetrics +- `vac:dst:deployment-and-analysis:waku:midscale` + - Repeat multiple simulations for Gabriel(Waku) until found the [issue](https://github.com/waku-org/nwaku/issues/2780) + - Simulations for version v0.29 +- `vac:dst:tooling:vac:visualiser-tool` + - Call and chat with Zoltan. Helped him analyze some waku-simulator results with visualizer. + - Started cleaning/creating more utilities for Zoltan so he can use it on his own. + - Deployed VictoriaLogs to replace Loki and finally get logs from each container + - Prep work for switching to VictoriaMetrics for better telemetry +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Do simulations, gather data and perform analysis for nimlibp2p + - Analysis with 50KB and 500KB, 1.2 and 1.3 versions, with mplex and yamux + +### vac:qa: +- `waku:test-automation-status-go-cli`(@Florin) + - private groups [tests](https://github.com/status-im/status-cli-tests/pull/4) - merged + - community actions [tests](https://github.com/status-im/status-cli-tests/pull/5) - in progress +- `waku:interop-testing-02`(@Roman) + - Test/peer connection management + [PR 45 - merged](https://github.com/waku-org/waku-interop-tests/pull/45) <- [issues processed](https://www.notion.so/Peer-connection-management-issues-58936713529c4062a638421d38a16d7a) + - bug: could not register RLN + [Issue 2837 - open](https://github.com/waku-org/nwaku/issues/2837) - new implementation TBD +- `nomos:test-automation-cryptarchia`(@Roman) + - chore: cryptarchia unit tests update + [PR 657 - in progress](https://github.com/logos-co/nomos-node/pull/657) + - chore: cryptarchia ledger unit tests update + [PR 660 - in progress](https://github.com/logos-co/nomos-node/pull/660) - one last state not simulated +- `vac:test-automation-nim-tooling`(@Roman) + - test: use Nimble to manage Nim + [PR 71](https://github.com/status-im/nimbus-build-system/pull/71) and [PR 222](https://github.com/status-im/nim-stew/pull/222) +- `waku:test-automation-rln`(@Alex) + - RLN v2 Testing + - Run tests both in old and new (`waku:v0.30.0-rc.0`) nwaku image + - Various fixes and two helper scripts - [PR](https://github.com/waku-org/waku-simulator/pull/72) + - Found Issues: + - [RLN_RELAY_MSG_LIMIT error handling](https://github.com/waku-org/nwaku/issues/2822) + - [Restarting node containers don't load keystore](https://github.com/waku-org/waku-simulator/issues/70) + - Excessive memory usage on nodes with big message sizes + +### vac:acz: +- `secure-channels:waku:mls-poc` + - Create [PR](https://github.com/vacp2p/de-mls/pull/7) with de-MLS PoC + - Fixed most of comments after first review + - Started to work with applying redis pub-sub approach +- `secure-channels:waku:mls-design` + - Preparation of the [talk](https://docs.google.com/presentation/d/1XxHiah4vQd0uEXr0glSiqHaiTShDBsJiNhAZhL7kjbM/edit?pli=1#slide=id.g157ea0519b8_0_104) for EthCC Brussels. +- `consulting:codex:proxy-re-encryption` + - Research on alternative approaches to PRE. + - Creation of [report](https://www.notion.so/On-plausible-deniability-PRE-ABE-IBE-and-RABE-87c6fef92df946fcbc1327d51d936ce1) on research. +- `admin/misc` + - 1 CC was ooo 18th, 19th and 20th (public holiday) +- `rlnp2p:waku:rlnv2-e2e` + - rlnv2 fork fully merged into [nwaku](https://github.com/waku-org/nwaku/pull/2828) + - [chore(zerokit): bump submodule](https://github.com/waku-org/nwaku/pull/2830) + - [fix(rln-relay): clear nullifier log only if length is over max epoch gap](https://github.com/waku-org/nwaku/pull/2836) + - assist with waku-simulator testing +- `stealth-address-kit:vac:maintenance` + - [chore(StealthAddressOnCurve): reuse scalar field from Projective](https://github.com/vacp2p/stealth-address-kit/pull/20) + - [fix: gitattributes, github pages deployment](https://github.com/vacp2p/stealth-address-kit/pull/19) + - [chore: add benchmarks](https://github.com/vacp2p/stealth-address-kit/pull/18) + - [chore(release): v0.2.0](https://crates.io/crates/stealth_address_kit) + - various documentation added, [1](https://github.com/vacp2p/stealth-address-kit/pull/16), [2](https://github.com/vacp2p/stealth-address-kit/pull/15) and [3](https://github.com/vacp2p/stealth-address-kit/pull/14), visible on [docsrs](https://docs.rs/stealth_address_kit/0.2.0/stealth_address_kit/) +- `zerokit:vac:maintenance` + - [chore(rln): further refactoring of interface](https://github.com/vacp2p/zerokit/pull/261) + - [chore(release): v0.5.1](https://github.com/vacp2p/zerokit/pull/262) released to crates.io now that confirmed compatibility with nwaku + +### vac:sc:: +- `status::ens-usernames-maintenance` + - Finshed the migration to foundry + - https://github.com/status-im/ens-usernames/pull/130 +- `finance::access-control-safes-support` + - Met with finance and went through deployment scripts for access control safes +- `status:staking-contracts-v1` + - Refactored staking contract functions to be more descriptive + - https://github.com/logos-co/staking/pull/93 + - Fixed a bug that `lock()` increases `account.initialMP` + - https://github.com/logos-co/staking/pull/94 + +### vac:nim: + - `tooling:vac:editor` + - Implements a panel to inspect the lsp status so we can easily debug it https://github.com/nim-lang/vscode-nim/pull/68 + - `tooling:vac:lsp` + - wip project setup. Improves status, better handling on unknown files #209 https://github.com/nim-lang/langserver/pull/209 + - Reuses nimsuggests instances in kwnon files (https://github.com/nim-lang/langserver/pull/211) + - Implements entryPoint (https://github.com/nim-lang/langserver/pull/212) + - WIP Project Setup pending PR + +### vac:rfc: +- `nomos:specs-init` + - Continued work on data availability rfc, still in draft. Currently believe all sections are included but all sections are not to elaborate. - https://github.com/vacp2p/rfc-index/pull/41 +- `codex:specs-init` + - Moved marketplace spec to codex org repo, and made some changes based on feedback - https://github.com/codex-storage/codex-spec/pull/1 + - reading for vaildator role rfc + +### vac:dr: +- `vac:admin` + - Read Nomos' notes on [Proof of Equivalence](https://www.notion.so/Proof-of-Equivalance-601026c1662d4c6d8d532829d67495b0) + - Began writing [Fiat-Shamir blog](https://github.com/vacp2p/vac.dev/tree/dr-rlog-fiatshamir) +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Worked on [blog post](https://github.com/vacp2p/vac.dev/pull/145) for gossipsub improvements for large messages. Still a WiP, need to add summary and references. (ready for review) +- `zk:codex:zk-consulting` + - Met with Balazs to discuss IPA and binding. + - Began reading Blazas' [most recent proposal](https://hackmd.io/M6uwhb0eQh2bIh5_O6AX7Q) +- `vac:dr:anon:vac:gossipsub-anonymity` + - Continue documenting [Anonymized GossipSub Protocol (AGP)](https://www.notion.so/Anonymized-GossipSub-Transport-Protocol-AGTP-Wip-cbcbcd6067b347bb812041bce9c110ce) specification. + - Finished PoW section + - Investigate issues related to wrapping published messages into Sphinx Packet Format + +### vac:nes: +- `virtual-machine-creation:vac:vm-foundations` + - work on [list of ZkVMs](https://github.com/vacp2p/zk-explorations/issues/40) + - Sanity check of the entire list of Zkvms.[Moudy] + - Updated and integrated additional information on [Github](https://github.com/vacp2p/zk-explorations/issues/40) and [Table](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg) lists.[Moudy] + - Added a new table with score for Zkvm implementation.[Moudy] + - Prepared a document with a list of [primitives and privacy requirements](https://hackmd.io/@-CvgMMUrRhC2aJOVst_GAw/HyK0H9ZLC) needed to implement on top of existing Zkvms.[Moudy + Marvin] + [DR] + - Provided data on why zkLLVM, Lurk, Novanet, Ola, SnarkOS are not zkVMs. [Rostyslav] + - Sanity checks Cairo and Piecrust. [Rostyslav] + - Added missing data on zkVMs. [Rostyslav] + - Scored SP1, JOLT, Nexus, RISC0, Valida, O1VM. [Rostyslav] + - Provided information why SP1, zkMIPS, Miden, and Aleo(SnarkVM) are zkVM and why zkOS, Powdr are not. [Ugur][ACZ] + - Provide why (or why not zkVM) zkVM for Valida, Nexus, Jolt, Ceno and RISC0. [Marvin][DR] +- `state-separation:vac:state-separation-architecture-01` + - Worked on defining and answering several questions about Nesceince. [Moudy] + - Reviewed part of the prototype. [Moudy] + - Started to answering some questions related to blogpost for state separation. [Ugur][ACZ] + + diff --git a/content/updates/2024-07-01.md b/content/updates/2024-07-01.md new file mode 100644 index 000000000..61309c8b8 --- /dev/null +++ b/content/updates/2024-07-01.md @@ -0,0 +1,172 @@ +--- +title: "2024-07-01 Vac weekly" +tags: + - "vac-updates" +date: 2024-07-01 +lastmod: 2024-07-01 +draft: false +--- + +## Vac 2024/07/01 + +### vac:p2p: +- `nimlibp2p:vac:maintenance` + - removing asyncspawn on yamux + - Issue: https://github.com/vacp2p/nim-libp2p/issues/1134 + - PR: https://github.com/vacp2p/nim-libp2p/pull/1140 + - fix: spamming peer is disconnected and seen cache doesn't grow indefinitely https://github.com/vacp2p/nim-libp2p/pull/1139 +- `nimlibp2p:vac:webrtc-transport` + - Trying to fix the linking issue on Windows/MBed-TLS + - Fix of the trackers (opening / closing connections and transports) +- `nimlibp2p:vac:quic` + - Quic Transport https://github.com/vacp2p/nim-libp2p/pull/725 +- `nimlibp2p:vac:gossipsub-perf-improvements` + - feat: iDontWant is sent only for gossipsub 1.2 or higher https://github.com/vacp2p/nim-libp2p/pull/1135 + +### vac:tke: +- `nomos:cryptarchia-wealth-concentration-known-stake` + - continued the statistical analysis of simulation results (Frederico) + - prepared and ran more simulations (Frederico) +- `codex:testnet-incentive` + - continued developing the testnet incentives report (Frederico) +- `codex:cdx` + - light work on simulations, will retake this week (Juan) +- `waku:general-incentives` + - reviewed the latest incentivization proposal (Frederico) +- `status:L2-deployment` + - reviewed the catsfishing project (Frederico) + - reviewed the past work on GMX and veSNT (Frederico) + - worked CowSwap comparison, caught a few bugs. Mostly focused on this (Juan) + - reviewed and provided coments on the past work on GMX and veSNT (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Ran version 1.1 deployments @ 500KB + - https://www.notion.so/Nim-libp2p-report-June-2024-7e6fa14c829d4660be6739817e07956f +- `vac:dst:tooling:vac:visualizer-tool` + - Worked with Zoltan, handed over some new utils/features + - Tweaked VictoriaLogs deployment to enable new visualiser + - Created new [experimental realtime visualiser](https://github.com/vacp2p/nodejs-visualiser) (separate codebase for now) + - Uses VictoriaLogs to scrape + - Will look at crossover/integration down the track +- `vac:dst:deployment-and-analysis:waku:midscale` + - Ran [Waku v0.29 deployments](https://www.notion.so/2036-4bf142edb56e43dfa26e117a6f9b0415) to measure Waku without peer discovery and get a baseline idea of DiscV5's performance (in terms of mesh behaviour) and bandwidth usage. + - Ran into scaling issues, could not go beyond low (~40-80) number of well connected peers in a 1000 node cluster + - Repeated attempts with same results consistently + - Will repeat with new parameters + +### vac:qa: +- `waku:interop-testing-02` + - chore: refactor setup relay node for sharding (@Roman) + [PR 48 - in progress](https://github.com/waku-org/waku-interop-tests/pull/48)(@Roman) +- `nomos:test-automation-cryptarchia` + - chore: cryptarchia unit tests update(@Roman) + [PR 657 - merged](https://github.com/logos-co/nomos-node/pull/657) + - chore: cryptarchia ledger unit tests update (@Roman) + [PR 660 - merged](https://github.com/logos-co/nomos-node/pull/660) +- `vac:test-automation-nim-tooling` + - test: use Nimble to manage Nim (@Roman) + [PR 222](https://github.com/status-im/nim-stew/pull/222) - [report created](https://www.notion.so/Nim-Tooling-Test-Reports-7b25687860ae41afaa2d4f22af8d07f1) +- `waku:test-automation-rln` + - Run more simulations(@Alex) + - Found two possible issues with waku simulator that need some investigating:(@Alex) + - Nodes don't receive all messages + - Not all nodes are sending messages + - Post issue mentioned in past weekly: [Memory usage issue](https://github.com/waku-org/waku-simulator/issues/76)(@Alex) + +### vac:acz: +- `rlnp2p:waku:rlnv2-e2e` + - [chore(rln-relay): add chain-id flag to wakunode and restrict usage if mismatches rpc provider](https://github.com/waku-org/nwaku/pull/2858) + - [deployed waku-rlnv2-contract to linea sepolia](https://github.com/waku-org/waku-rlnv2-contract/commit/28a8cc00b5a25a111add03ea36aeb64a30e8387b) + - [redeployed waku-rlnv2-contract to linea sepolia & polygon zkevm testnet (cardona) with new params decided by Waku team](https://github.com/waku-org/waku-rlnv2-contract/commit/64df4593c6a14e43b8b0e9b396d2f4772bb08b34) + - created linea sepolia [testnet faucet](https://faucet.rymnc.com) to bootstrap new operators for Waku + - assist with [waku-simulator testing](https://github.com/waku-org/pm/issues/168) of rln-relay-v2 +- `stealth-address-kit:vac:maintenance` + - [maintenance release v0.3.1](https://github.com/vacp2p/stealth-address-kit/pull/22) + - [updated benchmarks with clean testing bench](https://github.com/vacp2p/stealth-address-kit/commit/e93df1e53cda495a505d2c4b69afff4084f9d292) +- `secure-channels:waku:mls-design` + - Preparation of the [talk](https://docs.google.com/presentation/d/1XxHiah4vQd0uEXr0glSiqHaiTShDBsJiNhAZhL7kjbM/edit?pli=1#slide=id.g157ea0519b8_0_104) for EthCC Brussels. +- `secure-channels:waku:mls-poc` + - updated interface regarding smart contract integration in this [PR](https://github.com/vacp2p/de-mls/pull/7) and merged it into main + - changed delivery service provider to redis in [redis-approach PR](https://github.com/vacp2p/de-mls/pull/11) + - [feat(sc_keystore): initialize smart contract template](https://github.com/vacp2p/de-mls/pull/8) + - [chore(sc_keystore): add interface of smart contract](https://github.com/vacp2p/de-mls/commit/c14b0a1a9ff29c357c7d35da3a78a1153b3f9464) + - [chore(sc_keystore): initial implementation](https://github.com/vacp2p/de-mls/pull/10) +- `consulting:codex:proxy-re-encryption` + - Finish the PRE [report](https://www.notion.so/On-plausible-deniability-PRE-ABE-IBE-and-RABE-87c6fef92df946fcbc1327d51d936ce1). +- `admin/misc` + - CCs getting ready for ethcc Brussels + - 1 CC day OOO + +### vac:sc:: +- `codex::contracts-formal-verification` + finished base certora setup and first specs but blocked on a few errors +- `status:staking-contracts-v1` + - Reseach on MP estimation + - Meeting with Tokeneconimcs + - Paired with Ricardo to clarify misunderstanding of the semantics of `initialMultiplierPoints` and `currentMultiplierPoints` + - Ended up making changes to these so that they match the semantics + - https://github.com/logos-co/staking/pull/95#event-13284131380 + - Rebased pending work on cooldown period implementations + - https://github.com/logos-co/staking/pull/92 +- `finance::access-control-safes-support` + - Finished reviewing the deployment scripts of the access control safes + - Deployed the access control safes together with finances team + - Repository + - https://github.com/logos-co/access-control-safes + - Recording (private, can be requested) + +### vac:nim: +- `tooling:vac:lsp` + - Completes projectsetup (Note tests are missing but will add them after the chronos refactor) + - Trim Nimsuggest instances, improve heuristics: https://github.com/nim-lang/langserver/commit/fe0d9edff537f2dd653e011963c1b56ee95b9536 + - Introduces extension/statusChanged #215 (https://github.com/nim-lang/langserver/pull/215) + - Test it works in multiple combinations of Nim/Nimble versions +- `tooling:vac:editor` + - Hooks into the nimlangserver statusChanged notification https://github.com/nim-lang/vscode-nim/pull/69 +- `tooling:vac:compiler` + - bump nimble https://github.com/nim-lang/Nim/pull/23766 +- `tooling:vac:nimble` + - Automatically adds binaries to entryPoints #1230 https://github.com/nim-lang/nimble/pull/1230 + +### vac:rfc: +- `nomos:specs-init` + - Opened pr for first draft of data availability rfc for feedback - https://github.com/vacp2p/rfc-index/pull/41 +- `codex:specs-init` + - Did some reading of proof of storage codex articles for validator rfc + +### vac:dr: +- `vac:admin` + - Finished draft for [Bloom filters blog](https://github.com/vacp2p/vac.dev/pull/146); ready for review. + - Worked on draft for [Fiat-Shamir blog](https://github.com/vacp2p/vac.dev/pull/147); almost ready for review. +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Completed [blog post for gossipsub improvements for large messages](https://github.com/vacp2p/vac.dev/pull/145). +- `gsub-scaling:vac:gossipsub-simulation` + - Learned about shadow simulator. + - Started learning testground simulator. Done with installation and basic reads. + - Currently going through other [gossipsub](https://github.com/sigp/gossipsub-testground) and [gossipsub hardening](https://github.com/libp2p/gossipsub-hardening) repos for testground to learn about making/running testplans +- `vac:dr:anon:vac:gossipsub-anonymity` + - Continued working on [Anonymized GossipSub Transport Protocol (AGP)](https://www.notion.so/Anonymized-GossipSub-Transport-Protocol-AGTP-Wip-cbcbcd6067b347bb812041bce9c110ce) specification. Specifically, worked on the mix context and sphinx packet creation section, corrected deanonymization probability, and addressed feedback. +- `zk:codex:zk-consulting` + - Provided feedback on Blazas' [most recent proposal](https://hackmd.io/M6uwhb0eQh2bIh5_O6AX7Q) + - Continued research on foreign arithmetic. + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Work on the [document of Execution Types](https://notes.status.im/s/5NsmY46LB) as part of our Q2 Milestones: + - Worked on the document [Ugur][ACZ] + - Reviewed and integrated the document for publication [Moudy] + - Work on the [document of Cryptographic Infrastructure and Nullification Strategy](https://notes.status.im/s/p9UuEzVpr) as part of our Q2 Milestones: + - Worked on the document [Ugur][ACZ] + - Reviewed and integrated the document for publication [Moudy] + - Revisit the type of authenticated data storage such as SMT, Mutator Sets for blogpost. [Ugur][ACZ] + - Study about the "Nescience state-separation as an add-on for the Dapps". [Ugur][ACZ] + - Answered questions related to Nescience (needs some polishing). [Moudy][Ugur][ACZ] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Reviewed Cairo and Piecrust [Rostyslav] + - Finished Scoring zkVMs [Rostyslav] + - Staring going through materials on ring signatures provided by Marvin [Rostyslav] + - Provide Rostyslav with a [list of resources](https://discord.com/channels/864066763682218004/1243517921683177575/1256218203655376916) for ring signatures [Marvin][DR] + - Begin compiling a list comparing privacy zkVMs from the list to Nescience. [Marvin][DR] + diff --git a/content/updates/2024-07-08.md b/content/updates/2024-07-08.md new file mode 100644 index 000000000..717810ef1 --- /dev/null +++ b/content/updates/2024-07-08.md @@ -0,0 +1,156 @@ +--- +title: "2024-07-08 Vac weekly" +tags: + - "vac-updates" +date: 2024-07-08 +lastmod: 2024-07-08 +draft: false +--- + +## Vac 2024/07/08 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - add proper tracker management: https://github.com/vacp2p/nim-webrtc/pull/17 + - fix the DTLS windows compilation bug +- `misc/admin` + - reviewing stuff + - fix old unittest2 issue: https://github.com/status-im/nim-unittest2/pull/44 +- `nimlibp2p:vac:quic` + - fix: make the tests pass https://github.com/status-im/nim-quic/pull/41 + - chore: add initial logging https://github.com/status-im/nim-quic/pull/42 + - chore: upgrade ngtcp2 to 1.6.0 https://github.com/status-im/nim-ngtcp2/pull/6 + +### vac:tke: +- `admin` + - 2 + 5 + 1 CC days off +- `nomos:cryptarchia-wealth-concentration-known-stake` + - ran simulations and analyze results related to the wealth concentration (Frederico) +- `status:L2-deployment` + - analysed the SNT token utility (Frederico) + - started rewriting the GMX/veSNT model with the newest constraints (Frederico) + - continued research on cow swap, finally cor enough data and context to tell a story (Juan) + - Met with Agata to discuss legal aspect of swap aggregator; need to discuss paraswap with broader team (Juan) + - light catch up on catsfishing (Juan) + +### vac:dst: +- `admin/misc` + - 2 + 4 CC days off + - catch up last week conversations +- `vac:dst:deployment-and-analysis:waku:midscale` + - Started discv5 analysis and simulations +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Run and test nimlibp2p v1.4.0 +- `vac:dst:tooling:vac:visualizer-tool` + - New "DST Visualiser"/NodeJS Visualiser tool for realtime visualisation + - used for Waku marketing + +### vac:qa: +- `waku:interop-testing-02` + - retested bug fixes and removed xfailed tests for [fixed bugs](https://github.com/waku-org/waku-interop-tests/pull/49)(@Florin) + - fix connection error [message](https://github.com/waku-org/waku-interop-tests/pull/50)(@Florin) + - add peer store capacity to go-waku start [flags](https://github.com/waku-org/waku-interop-tests/pull/52)(@Florin) + - chore: refactor setup relay node for sharding(@Roman) + [PR 48 - merged](https://github.com/waku-org/waku-interop-tests/pull/48) + - Test/peer exchange(@Roman) + [PR 51 - in progress](https://github.com/waku-org/waku-interop-tests/pull/51) +- `waku:test-automation-status-go-cli` + - discussions on the community actions [PR](https://github.com/status-im/status-cli-tests/pull/5) regarding how to make the tests create less data(@Florin) +- `vac:test-automation-nim-libp2p` + - start creating test plan for YAMUX(@Florin) +- `waku:test-automation-rln` + - Run simulations(@Alex) + - Debugged a missmatch between expected sent messages vs actual received messages(@Alex) + - Root cause: Injection script (Simulation tool). Explains a lot of issues I had. + - [Issue](https://github.com/waku-org/waku-simulator/issues/82): Reported by Tanya a couple days prior without me knowing +- `admin/misc` + - OOO 1 + 1 CC Day + +### vac:acz: +- `rlnp2p:waku:rlnv2-e2e` + - [test(rln-relay): aggressive polling for networks with short block times](https://github.com/waku-org/nwaku/pull/2871) + - [fix(rln_keystore_generator): improve error handling for unrecoverable failure](https://github.com/waku-org/nwaku/pull/2881) + - assistance with deploying rlnv2 fork on `waku.test` fleet +- `stealth-address-kit:vac:maintenance` + - [chore: deduplicate ffi types generated per elliptic curve by using a prelude for the ffi module](https://github.com/vacp2p/stealth-address-kit/commit/fc7e9cf51090069a4c3eee295583945e09bfb400) + - [chore: add Makefile targets to generate bindings for foreign languages (C, Nim)](https://github.com/vacp2p/stealth-address-kit/blob/fc7e9cf51090069a4c3eee295583945e09bfb400/Makefile), some other trivial Makefile changes +- `secure-channels:waku:mls-poc` + - Integrated smart contract into project [PR](https://github.com/vacp2p/de-mls/pull/14) + - Started to work with CLI interface for demo: [open PR](https://github.com/vacp2p/de-mls/pull/17) + - [feat: initial implementation of smart contract for de-mls](https://github.com/vacp2p/de-mls/pull/10) + - [chore: add anvil to de-mls for prototyping](https://github.com/vacp2p/de-mls/pull/12) + - [chore: deploy contracts with broadcast modifier](https://github.com/vacp2p/de-mls/pull/13) + - [chore: add Makefile target to run full example e2e](https://github.com/vacp2p/de-mls/pull/15) + - general debugging + - review of the repo before demo @ ethcc +- `admin/misc` + - [updated acz milestones](https://github.com/logos-co/roadmap/pull/80) + - admin work for CCs traveling to brussels (ethcc). + - First review cycle retro with Ekaterina + +### vac:sc:: +- `codex::contracts-formal-verification` + - talked with the Certora team and we found a bug in their prover and they are fixing it + - they also helped with some changes in the setup and we are waiting for a PR from them + - PRs updating our foundry template + - https://github.com/vacp2p/foundry-template/pull/29 + - https://github.com/vacp2p/foundry-template/pull/30 +- `status:staking-contracts-v1` + - Research & dev on MP estimation + +### vac:nim: +- `tooling:vac:nimble` + - Improves nim installation by using csources (same as atlas) + (https://github.com/nim-lang/nimble/pull/1233) + - Issues: + - Remove nimble from nim compilation Fixes #1175 (above) + - nimble -v may bootstrap Nim compiler from sources #1232 + (https://github.com/nim-lang/nimble/issues/1232) + - help should not download package list on a clean setup #1227 + (https://github.com/nim-lang/nimble/issues/1227) + - Fix https://github.com/nim-lang/nimble/pull/1234 + - Adds a test that verifies that the required Nim is the one used by nimble when compiling and running the package + https://github.com/nim-lang/nimble/pull/1235 + +### vac:rfc: +- `codex:specs-init` + - reading for codex vaildator rfc, started first draft +- `admin/misc` + - changes to 1/COSS - https://github.com/vacp2p/rfc-index/pull/4 + +### vac:dr: +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Looked into blogposts from probelabs: [duplicates in gossipsub](https://ethresear.ch/t/number-duplicate-messages-in-ethereums-gossipsub-network/19921) and [mesh dynamicity](https://ethresear.ch/t/gossipsub-network-dynamicity-through-grafts-and-prunes/19750) + - Followed libp2p spec meeting, and tried following [open PR related to gossipsub 1.3](https://github.com/libp2p/specs/pull/617). +- `gsub-scaling:vac:gossipsub-simulation` + - Worked on understanding testground simulator; required learning docker. + - Found a [ping test plan for nim-libp2p](https://github.com/libp2p/test-plans/pull/70). +- `vac:dr:anon:vac:gossipsub-anonymity` + - Continued work on [Anonymized GossipSub Transport Protocol (AGP)](https://www.notion.so/Anonymized-GossipSub-Transport-Protocol-AGTP-Wip-cbcbcd6067b347bb812041bce9c110ce) specification. Specifically, mixnode setup section, finished peer ID and key generation, key management, key rotation and libp2p host configuration for a dedicated mix context, and completed outline for the mixnet protocol. + - Worked on a peer discovery mechanism using Discv5. + - Examined Sphinx packet construction and a Golang implementation. +- `zk:codex:zk-consulting` + - Work on a [document](https://hackmd.io/ZJCNKmIaTQSRTW6_4wA9mw?view) that provides more details to Codex's [Dynamic Storage Proposal](https://hackmd.io/M6uwhb0eQh2bIh5_O6AX7Q?view) + - Worked on updatable rows proof, and considered repeated data issue. + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Work on the [document of Execution Types](https://notes.status.im/s/5NsmY46LB) as part of our Q2 Milestones: + - Handeled Marvin's questions and feedback about [state separation](https://notes.status.im/s/NTGXdz9NM) [Moudy] + - Work on the [document of Cryptographic Infrastructure and Nullification Strategy](https://notes.status.im/s/p9UuEzVpr) as part of our Q2 Milestones: + - Reviewed and added some specific topics [Moudy] + - Worked on the missing components and started prioritizing some of them [Moudy] + - Prepare [document](https://hackmd.io/6xI-oIyIR1KpT0XAwufvgw?view) comparing Nescience to other privacy zkVMs [Marvin] [DR] + - Reviewed and provided [feedback](https://discord.com/channels/864066763682218004/1257792986482348212) on Execution Types [document](https://notes.status.im/s/5NsmY46LB) [Marvin] [DR] + - Extracting the missing components for State-separation and add them into a [notion page](https://www.notion.so/Missing-Components-for-State-Separation-bcbcb0fe80de499c93ba30e03fd9671d) [Ugur] [ACZ] + - Discussed with Moudy and choose the two bullets from the missing components list namely, key management & addresses and Nullifiers [Ugur] [ACZ] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Went through materials on ring signatures provided by Marvin and through CCS repos [Rostyslav] + - Started going through MPC materials prepared by Marvin [Rostyslav] + - Staring going through materials on ring signatures provided by Marvin [Rostyslav] + - Provided Rostyslav some [additional information](https://discord.com/channels/864066763682218004/1243517921683177575/1258812512338575402) on MPCs [Marvin][DR] + - Reviewed SP1, Nexus, Risc0 and zkMIPS for scoring [Oleksandr] + - Reviewed the list of comparison between existing ZkVMs and Nescience and added some specific details [Moudy] + - Discussed with Rostyslav and Oleksandr about how to proceed for implementing primitives and what to focus on for scoring [Moudy] + diff --git a/content/updates/2024-07-15.md b/content/updates/2024-07-15.md new file mode 100644 index 000000000..6df8d9304 --- /dev/null +++ b/content/updates/2024-07-15.md @@ -0,0 +1,134 @@ +--- +title: "2024-07-15 Vac weekly" +tags: + - "vac-updates" +date: 2024-07-15 +lastmod: 2024-07-15 +draft: false +--- + +## Vac 2024/07/15 + +### vac:p2p: +Last week: +- `nimlibp2p:vac:maintenance` + - [chore: enable Nim 2.0.x and fix compilation issues](https://github.com/vacp2p/nim-libp2p/pull/1146) + - [fix: support ipv6 dual stack](https://github.com/vacp2p/nim-libp2p/pull/1148) + - [chore: update os images on ci](https://github.com/vacp2p/nim-libp2p/pull/1148) + - [gcc 14 support](https://github.com/vacp2p/nim-libp2p/pull/1151) +- `nimlibp2p:vac:quic` + - [Quic Transport](https://github.com/vacp2p/nim-libp2p/pull/725) + +### vac:tke: +- `admin`: + - ETHcc (Juan) + - 5 CC days off +- `nomos:cryptarchia-wealth-concentration-known-stake` + - fixed a bug in the wealth concentration code (Frederico) + - ran again all simulations and analyze all results related to the wealth concentration (Frederico) + - started developing the code to analyse the selfish behavior when choosing the fork rule (Frederico) +- `waku:general-incentives` + - analysed the current RLN incentivization proposal (Frederico) +- `status:L2-deployment` + - analysed and expanded the SNT token utility (Frederico) + - continued rewriting the GMX/veSNT model with the newest constraints (Frederico) + - discussed the current demands of the cats fishing project (Frederico & Juan) + - Finalised analysis on CoWSwap (Juan) +- `codex:testnet-incentive` + - discussed the testnet incentives with the Codex team (Frederico & Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:10k` + - Install and configure VictoriaMetrics + - 3x 10k simulations + - Still running into OOM issues + - Got to 9000 nodes at one point accounted for + - Still needs tuning +- `vac:dst:deployment-and-analysis:waku:midscale` + - Analyse behaviour and bandwidth usage of discv5 when establishing/stabilising mesh + - [Discussed discv5 logging](https://github.com/waku-org/nwaku/pull/2899) with Gabriel + - [Measure time-to-stable-mesh](https://www.notion.so/Discv5-only-analysis-c8697b3128e84fe187479e1ecc109cc8) with different numbers of nodes. + - Found an [issue with relay connections](https://github.com/waku-org/nwaku/issues/2892). + - Lots of simulations and deployments to get VictoriaMetrics implemented and stable + +### vac:qa: +- `waku:interop-testing-02` + - investigated interop [failures](https://github.com/waku-org/nwaku/issues/2896)(@Florin) + - update interop tests to use [cluster_id != 0](https://github.com/waku-org/waku-interop-tests/pull/55)(@Florin) + - Test/peer exchange - [PR 51 - merged](https://github.com/waku-org/waku-interop-tests/pull/51)(@Roman) + - fix: cluster_id 0 for peer store related tests - [PR 56 - in progress](https://github.com/waku-org/waku-interop-tests/pull/56)(@Roman) +- `waku:test-automation-status-go-cli` + - implement community reuse and merge [PR](https://github.com/status-im/status-cli-tests/pull/5)(@Florin) +- `vac:test-automation-nim-libp2p` + - created test plan for [YAMUX](https://www.notion.so/Yamux-7a25902e41944daaa45ae95cb79bd51d)(@Florin) + - Got familiar with existing tests(@Roman) + - Generated actual coverage [report](https://app.codecov.io/gh/romanzac/nim-libp2p/blob/test-coverage/libp2p%2Fmuxers%2Fyamux%2Fyamux.nim) for Yamux(@Roman) + - Test 2.0.6 compilation fixes(@Alex) + - Finish Cleanup CI [PR](https://github.com/vacp2p/nim-libp2p/pull/1117)(@Alex) +- `waku:test-automation-rln` + - Meeting with Tanya to solve reproducibility issues(@Alex) + - Ran simulations to debug Tanya's found bugs(@Alex) + - Found behaviour differs between computers. + - [Metrics bug](https://github.com/waku-org/nwaku/issues/2901) + - Ran simulations to try to isolate Tanya's bug's variables(@Alex) +- `admin/misc` + - review challenges and interview QA Candidates(@Florin) + - start creating slides for QA presentation(@Florin) + - OOO 1 CC Day + +### vac:acz: +- `admin/misc` + - 3 CCs at ethcc + - 1 CC ooo full week + +### vac:sc:: +- `admin/misc` + - 5 CC days ooo +- `codex::contracts-formal-verification` + - integrated changes from the Certora team + - fixed foundry template PRs +- `status:staking-contracts-v1` + - cont' reseach on MP estimation + +### vac:nim: + - `tooling:vac:editor` + - Implement notification panel in the extension: https://github.com/nim-lang/vscode-nim/pull/72 + - Prepare release (to be sync up with Nims) https://github.com/nim-lang/vscode-nim/pull/73 + - `tooling:vac:nimble` + - Fix an issue with the CI and win https://github.com/nim-lang/nimble/pull/1 + +### vac:rfc: +- `admin/misc` + - @ ethcc + +### vac:dr: +- `admin/misc` + - Finish rlog for [Bloom filters and Cuckoo filters](https://github.com/vacp2p/vac.dev/pull/146) +- `vac:dr:anon:vac:gossipsub-anonymity` + - Continued work on [Anonymized GossipSub Protocol (AGP)](https://www.notion.so/Anonymized-GossipSub-Protocol-AGP-Wip-cbcbcd6067b347bb812041bce9c110ce) specification. Specifically, details of the custom mixnet protocol [WiP], and encode next hop and delays into beta. + - Looked into the [Sphinx](https://github.com/nymtech/nym-mixnet/blob/develop/sphinx/sphinx.go) implementation in Go. + - Looked into the overall implementation and algorithm design choices. +- `gsub-scaling:vac:gossipsub-simulation` + - Looked into testground documentation and example test plans in more detail. Currently, issues with extended delays and occasional failure reports the test ground daemon. +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Provide feedback on [gossipsub rlog](https://github.com/vacp2p/vac.dev/pull/145) +- `zk:codex:zk-consulting` + - Examined [proof of replication](https://hackmd.io/prAbwLpUReqR4OaDLfeeMg), and [discussion](https://discord.com/channels/864066763682218004/1234441272484429875) whether this is relevant for software level. + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Worked on execution types and completed private and shielded executions. [Moudy] + - Gave a structure to the blogpost. [Moudy] + - Selected some components to focus on. [Moudy] + - Reviewed and added some specific topics to the [document of Cryptographic Infrastructure and Nullification Strategy](https://notes.status.im/s/iN82QzydC) as part of our Q2 Milestones. [Moudy] + - Provided [feedback](https://discord.com/channels/864066763682218004/1261528251143032885) on [Cryptographic Infrastructure and Nullifications document](https://notes.status.im/s/iN82QzydC). [Marvin][DR] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Went through MPC materials [Rostyslav] + - Reviewed scuttlebutt repo [Rostyslav] + - Read about Power of Tau ceremony paper [Rostyslav] + - Reviewed powersoftau repo [Rostyslav] + - Reviewed all of the zkVM's in the list [Oleksandr] + - Provide Rostyslav with partial homomorphic resources. [Marvin][DR] + - Add supplemental resources for primitives to [Primitives Document](https://notes.status.im/s/AFBtW3Prj). [Marvin][DR] + diff --git a/content/updates/2024-07-22.md b/content/updates/2024-07-22.md new file mode 100644 index 000000000..302e7d201 --- /dev/null +++ b/content/updates/2024-07-22.md @@ -0,0 +1,179 @@ +--- +title: "2024-07-22 Vac weekly" +tags: + - "vac-updates" +date: 2024-07-22 +lastmod: 2024-07-22 +draft: false +--- + +## Vac 2024/07/22 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - ready to review: https://github.com/vacp2p/nim-webrtc/pull/10 + - PR for testing + fixing: https://github.com/vacp2p/nim-webrtc/pull/16 + - mbedtls : fix missing import (only on windows) + - fix windows library linking + - fix nim-devel error on the stack (value not stored) + - fix macos error with asynchronous closing stun +- `nimlibp2p:vac:maintenance` + - gcc 14 support - https://github.com/status-im/nim-bearssl/pull/62 + - add ubuntu 24 and gcc 14 - https://github.com/status-im/nim-chronos/pull/553 + +### vac:tke: +- `admin` + - Working towards ETHcc report (Juan) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - understood the cryptoeconomic perspective of PoW for Executors (Frederico) + - continued developing the code to analyse the selfish behavior when choosing the fork rule (Frederico) +- `status:L2-deployment` + - reviewed the work about CoW swap (Frederico) + - understood how fishs are modeled in the Cats Fishing project (Frederico) + - Finalised CoWSwap comparisson work and simulations (Juan) + - Wrote a presentation for the CowSwap comparison (Juan) + - Discussed legal aspects of sucha model (Juan) + - Worked on CatsFishing (Juan) + - catch up on current state (Martin) +- `codex:testnet-incentive` + - reviewed discussion with Codex team and mapped out next steps (Frederico) +- `waku:general-incentives` + - catch up on current state (Martin) +- `codex:cdx` + - Minor work on simulations (J + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Discussions with Hanno about what to check in DiscV5 + - Add parsing code for [VictoriaMetrics compatibility](https://github.com/vacp2p/10ksim/tree/Alberto/victoriametrics-reliability) + - While measuring reliability, found three separate issues: + - Problems with logging. Missing messages were not logging because of REST (fixed) + - Problem with duplicated hash messages (TODO) + - Problem with [missing messages](https://github.com/waku-org/nwaku/issues/2921) + - Run simulations for Waku v0.31 + - https://www.notion.so/2039-78aeac4f220a49ea97e780b7bb60c412 + - Issue still present: https://github.com/waku-org/nwaku/issues/2892 + - [Comments can be found here](https://github.com/waku-org/nwaku/issues/2909) + - Investigated network issues reported that affected even very small deployments + - Unable to reproduce, but switches were rebooted between report and tests +- `vac:dst:deployment-and-analysis:waku:10k` + - Continue metrics scaling + VictoriaMetrics fixes + - 10K report - multiple simulations to prepare for it + - 10k being reliably reached, metrics still choking +- `vac:dst:tooling:vac:visualiser-tool` + - Meeting (Alberto x Wings) to discuss Visualiser split and show each other the tools created + - "DST Visualiser" (nodejs/react) to be used for live analysis + - "Debug Visualiser" (python3) to be for more extensive post-simulation analysis/"playback" + - Testing visualiser on a 10K swarm + +### vac:qa: +- `waku:interop-testing-02` + - fix light push [failures](https://github.com/waku-org/waku-interop-tests/pull/57)(@Florin) + - adjust tests to new [rate limits](https://github.com/waku-org/waku-interop-tests/pull/59)(@Florin) + - fix: cluster_id 0 for peer store related tests.[PR 56 - merged](https://github.com/waku-org/waku-interop-tests/pull/56)(@Roman) +- `vac:test-automation-nim-libp2p` + - started creating test plan for [Gossipsub](https://www.notion.so/Gossipsub-651e02d4d7894bb2ac1e4edb55f3192d)(@Florin) +- `waku:test-automation-status-go-cli` + - discussions with waku and status team regarding future work(@Florin) +- `nomos:test-automation-cryptarchia` + - chore: Da full replication unit tests update + [PR 675 - in review](https://github.com/logos-co/nomos-node/pull/675)(@Roman) + - chore: Da kzgrs unit tests update + [PR 676 - in progress](https://github.com/logos-co/nomos-node/pull/676)(@Roman) +- `vac:test-automation-nim-libp2p` + - Update CI Cleanup PR with suggestions(@Alex) +- `waku:test-automation-rln` + - Fix coverage and run(@Alex) + - Run simulations to give more data for these issues(@Alex) + - [bug: restarting compose fails loading keystore](https://github.com/waku-org/waku-simulator/issues/70) + - [Possible memory consumption issue](https://github.com/waku-org/waku-simulator/issues/76) + - Update MAX_MESSAGE_LIMIT README [PR](https://github.com/waku-org/waku-simulator/pull/71)(@Alex) +- `admin/misc` + - created slides for [QA presentation](https://docs.google.com/presentation/d/1_FYKN-o5kqzlDVub1bpJ22WvMdTcsrsFQbH8jN3Yqg0/edit#slide=id.g2ea55cde533_0_23)(@Florin) + +### vac:acz: +- `rlnp2p:waku:rlnv2-e2e` + - Investigated and found root cause of [invalid messages in nwaku](https://github.com/waku-org/nwaku/issues/2870) & [spam messages in nwaku](https://github.com/waku-org/nwaku/issues/2879), discussing with team for mitigation +- `secure-channels:waku:mls-poc` + - Preparing the inclusion of the on-chain component in the RFC: reading the repos and figuring out the architecture. + - Research on finality times on different L2s for onchain component. + - Finished work with CLI integration and merged [PR](https://github.com/vacp2p/de-mls/pull/17) + - Merged small fix regarding getting own message [PR](https://github.com/vacp2p/de-mls/pull/19) + - Created a demo of using cli [video link](https://drive.google.com/file/d/1Cq_QTWYdDPL1PuKlX5eIppQZUYebZWoE/view?usp=drive_link) + - Started fixing the functionality regarding the smart contract and local cache - adding multiple keys during registration, remove unused functionality [open PR](https://github.com/vacp2p/de-mls/pull/20) +- `zerokit:vac:maintenance` + - started a discussion about improving zkey processing time by switching to preprocessing (more details in discord [thread](https://discord.com/channels/864066763682218004/1263433969089646593)) +- `admin/misc` + - Submission of proposal for delivering a talk in Devcon Bangkok. Same presentation as for [EthCC Brussels](https://docs.google.com/presentation/d/1XxHiah4vQd0uEXr0glSiqHaiTShDBsJiNhAZhL7kjbM/edit#slide=id.g2bac4500eab_0_5) but including latest advances. + - CCs getting tickets for devcon + - Update the ethcc [notes](https://notes.status.im/GsmZledHTZaFnr_Ut4Yqrw) (for full doc in [notion](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#0c8780be794243b2b51003117b92e90c)) + +### vac:sc:: +- `codex::contracts-formal-verification` + - merge certora PR + cleanup and rebase to make PR ready + - https://github.com/codex-storage/codex-contracts-eth/pull/113 + - Had kick-off meeting with Certora and Codex to get Marketplace contracts formally verified + - Waiting for certora to provide first properties to work on + - Next session we'll discuss list of properties to work on after that +- `status:staking-contracts-v1` + - Had a couple of pair programming sessions with Ricardo to tackle MP estimation + - Few problems we ran into: + - Precision loss results in wrong calculation + - Epochs beyond limit epoch generate wrong pending MP estimations + - Created a fuzz test that demos the issue + - https://github.com/logos-co/staking/commit/60d80bf4b2cf0fd14e9de70bc39c31c42b0a4e34#diff-2561530a5f24910605d8693b034e64a26a98817f46fd17ae12004dab5c943bfdR688-R718 + - Would like to learn how to turn that fuzz test into a Certora rule + - Meeting with Status Chain and TKE + - Discussed high level goals + - Some details about staking protocol still unclear + - Considering moving MP calculation out of staking entirely and do it offchain (as XP) + +### vac:nim: +- `tooling:vac:lsp` + - Research the correct approach to refactor the lsp so changes as small as possible. + Most things are figured but we still need to find the best way to support stdio. + - Small changes needed to json_rpc so we can use it for the lsp + https://github.com/status-im/nim-json-rpc/pull/222 + - Bump lsp so it can be released + https://github.com/nim-lang/langserver/pull/219 +- `tooling:vac:nimble` + - Fixed a regression introduced by wrongly taggin a Nim release: https://github.com/nim-lang/nimble/pull/1245 + - Improve test on Nim versioning https://github.com/nim-lang/nimble/pull/1235 +- `tooling:vac:editor` + - Fix Nim version and improve coloring of the notifications: + https://github.com/nim-lang/vscode-nim/pull/75 + +### vac:rfc: +- `nomos:specs-init` + - Made some changes to DA rfc, still need to revisit - https://github.com/vacp2p/rfc-index/pull/41 +- `codex:specs-init` + - was able to work on Codex validator rfc, still in draft - https://github.com/vacp2p/rfc-index/pull/83 + +### vac:dr: +- `vac/admin` + - Added section on filters in RLN to the [Bloom Filter rlog](https://github.com/vacp2p/vac.dev/pull/146); rlog posted. + - Worked on [Fiat-Shamir rlog](https://github.com/vacp2p/vac.dev/pull/147). +- `gsub-scaling:vac:gossipsub-simulation` + - Continued worked on testground simulator. Specifically, developed understanding about writing test plans, and run/play with different example test plans (from other libp2p implementations). +- `vac:dr:anon:vac:gossipsub-anonymity` + - Continued working on [Anonymized GossipSub Protocol (AGP)](https://www.notion.so/Anonymized-GossipSub-Protocol-AGP-Wip-cbcbcd6067b347bb812041bce9c110ce) specification. Specifically, completed the implementation details of the custom mixnet protocol, extend Sphinx to support address + destination of combined size $tk$, recommend appropriate cryptographic algorithms, made some changes to the approach followed in [Sphinx Go](https://github.com/nymtech/nym-mixnet/tree/develop/sphinx) implementation, to improve performance. + - Begin to implement Sphinx library in Go. +- `zk:codex:zk-consulting` + - Began [notes](https://hackmd.io/Z64w2bcTTAmxPEnF62SE6g?view) on [Testudo](https://eprint.iacr.org/2023/961). + - Provide feedback on [proof of replication](https://hackmd.io/prAbwLpUReqR4OaDLfeeMg) + - Continued work on [document](https://hackmd.io/ZJCNKmIaTQSRTW6_4wA9mw?view) for Codex's storage proof. + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Finished working on execution types covering the 3 different types (Private, Shielded, Deshielded) [Moudy] + - Worked on different components for the state separation Blogpost. [Moudy] + - Reviewed key management and lists of primitives from Ugur and Marvin. [Moudy] + - Create a doc for cryptographic primitives inside and ouside of the kernel circuits in [notion](https://www.notion.so/Cryptographic-Primitives-for-Kernel-Circuits-8281a120a7224793b8e18f913c762497?pvs=4). [Ugur + Moudy][ACZ] + - Expand the missing components for State-Separation file in [notion](https://www.notion.so/Missing-Components-for-State-Separation-bcbcb0fe80de499c93ba30e03fd9671d?pvs=4). [Ugur + Moudy][ACZ] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Continued going through partial homomorphic encryption schemes' materials [Rostyslav] + - Reviewed elgamal-encryption, rsa-algorithm repo [Rostyslav] + - Investingated workaround to use Rust code for Valida [Oleksandr] + - Work on cryptographic primitives list needed to be added for zkVMs. [Marvin][DR] + diff --git a/content/updates/2024-07-29.md b/content/updates/2024-07-29.md new file mode 100644 index 000000000..72eebe61b --- /dev/null +++ b/content/updates/2024-07-29.md @@ -0,0 +1,168 @@ +--- +title: "2024-07-29 Vac weekly" +tags: + - "vac-updates" +date: 2024-07-29 +lastmod: 2024-07-29 +draft: false +--- + + +## Vac 2024/07/29 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - https://github.com/vacp2p/nim-webrtc/pull/11 + - Change files architecture similarly to others WebRTC PRs + - Make different changes in anticipation of Diego's future comments + - Solve TODOs + - Adapt SCTP closing to DTLS change + - Fix examples +- `nimlibp2p:vac:maintenance` + - Finish CI Cleanup [PR](https://github.com/vacp2p/nim-libp2p/pull/1117) + - Double check gcc14 support + - Check failing Windows test, locally it passes + - Check failing interop test + +### vac:tke: +- `admin`: + - 1 CC day off (Frederico) + - Worked on ETHcc report (Juan) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - advanced reports of studies 1 and 2 of the wealth concentration (Frederico) + - reviewed the state of the whole Nomos project (Frederico) +- `status:L2-deployment` + - reviewed the state of the SN (Frederico) + - reviewed the state of Cats Fishing project (Frederico) + - assisting defining the incentive structures (Martin) + - working towards a minimal economy formalization for cats fishing (Martin) + - working towards a minimal economy formalization for cats fishing (Juan) + - Document on monetisation for the game + - Recorded swap agregator status document (Juan) +- `status:SNT-staking` + - identifying functional overlap with the need of the L2 incentive structure (Martin) +- `codex:cdx` + - reviewed the simulation code (Frederico) + - working on simulation code (Juan) +- `codex:testnet-incentive` + - reviewing latest progress, identifying missing pieces (Martin) +- `waku:general-incentives` + + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale`: + - Continue work with Gabriel re: [stuck node bug](https://github.com/waku-org/nwaku/issues/2921) + - ~150 simulations performed with different versions to hunt down bug + - Was able to reproduce the bug + - All signs point to nim-chronos/chronicles. + - Found issue with publisher + - Redeployed VictoriaLogs to fix issues with Midscale logging +- `vac:dst:deployment-and-analysis:waku:10k` + - Redeployed and tuned VictoriaMetrics for 10K simulation scale + - About 7 changes discovered, primarily to do with resource allocation + - Various 10K simulations to gather data/test stability +- `vac:dst:deployment-and-analysis:codex:testnet` + - Call with Ben from Codex to ensure testnet deployment works + - Still hitting permissions bugs +- `admin/misc` + - Provided TKE team with a dedicated fileshare + password protected frontend + +### vac:qa: +- `waku:test-automation-status-go-cli` + - added hybernate [tests](https://github.com/status-im/status-cli-tests/pull/6)(@Florin) + - fixed management of big log files(@Florin) + - make tests more stable(@Florin) +- `waku:interop-testing-02` + - adjust [store propagation delay](https://github.com/waku-org/waku-interop-tests/pull/61)(@Florin) + - [Issue 2837 - closed](https://github.com/waku-org/nwaku/issues/2837) - RLNv2 registration works(@Roman) +- `vac:test-automation-nim-libp2p` + - started creating test plan for PubSub(@Florin) + - Finish CI Cleanup [PR](https://github.com/vacp2p/nim-libp2p/pull/1117)(@Alex) + - Double check gcc14 support(@Alex) + - Check failing Windows test, locally it passes(@Alex) + - Check failing interop test(@Alex) +- `nomos:test-automation-data-availability` + - chore: Da full replication unit tests update(@Roman) + [PR 675 - merged](https://github.com/logos-co/nomos-node/pull/675) + - chore: Da kzgrs unit tests update(@Roman) + [PR 676 - in progress](https://github.com/logos-co/nomos-node/pull/676) ~70% +- `waku:test-automation-rln` + - Fix gcc14 support, but gabriel beat me to the PR (@Alex) + - Bring RLN [PR](https://github.com/waku-org/nwaku/pull/2639) up to date and fix tests(@Alex) + - Found couple flaky tests, I think, need further checking + +### vac:acz: +- `rlnp2p:waku:rlnv2-e2e` + - Fixed an issue in an nwaku [PR](https://github.com/waku-org/nwaku/pull/2867) to validate user message limit + - [attempted](https://github.com/waku-org/nwaku/issues/2924) to finish deprecating the tree sync strategy, discovered a blocker in upstream library +- `secure-channels:waku:mls-poc` + - Preparation of [notes](https://www.notion.so/Decentralized-MLS-notes-3d77fc8744054a5e9f8c59a3d2241f1d) regarding the onchain component of the RFC. + - Review of [smart contract](https://github.com/vacp2p/de-mls/blob/main/contracts/src/ScKeystore.sol) + - Merged [PR](https://github.com/vacp2p/de-mls/pull/20) about fixing the functionality regarding the smart contract and local cache - adding multiple keys during registration, remove unused functionality. + - Discussion on discord about on-chain component + - Started integration new on-chain api with current code (will open PR on this week) + - [chore(sc_keystore): add Ownable to the contracts for access control](https://github.com/vacp2p/de-mls/pull/21) + - [fix(makefile): account for change in run function signature](https://github.com/vacp2p/de-mls/pull/22) + - [chore(bindings): regenerate contract bindings](https://github.com/vacp2p/de-mls/pull/23) + - [chore(contract): remove keypackage refs, regen bindings](https://github.com/vacp2p/de-mls/pull/24) +- `zerokit:vac:maintenance` + - Analysed current code in case of data serialization [result in discord](https://discord.com/channels/864066763682218004/1263433969089646593/1265953519232487484) + - Add small benchmark for different solution: [benchmarks](https://github.com/vacp2p/zerokit/blob/serde_benchmark/rln/benches/serialize_benchmark.rs) +- `consulting:codex:proxy-re-encryption` + - Review of a [proposal](https://eprint.iacr.org/2019/1275.pdf) by Balasz with potential interest. +- `admin/misc` + - scoped out next release of zerokit, [v0.6.0](https://github.com/vacp2p/zerokit/issues/263) + +### vac:sc:: +- `status:staking-contracts-v1` + - Created explainer videos about staking protocol, it's implementation and challenges we're solving + - Met with Status Chain + TKE to discuss path forward + - Considering dropping XP/MP compounding in staking protocol and simplifying it + - XP program and next staking version still to be finalized +- `codex::contracts-formal-verification` + - Had a call with certora to discuss first application properties for us to implement + - Document can be found here + - https://www.notion.so/Certora-Application-Properties-V2-b93f70fbaa0744a785460413f37afa6a + +### vac:nim: +- `tooling:vac:nimble` + - Bump and auto detect version: https://github.com/nim-lang/nimble/pull/1247 + - Troubleshooting release issues + - Release: https://github.com/nim-lang/nimble/releases/tag/v0.16.0 +- `tooling:vac:editor` + - Release https://github.com/nim-lang/vscode-nim/releases/tag/v1.0.0 + - Troubleshooting release issues +- `tooling:vac:lsp` + - Refactor in preparation to chronos migration: https://github.com/nim-lang/langserver/pull/222 + - Troubleshooting release issues + +### vac:rfc: + - `admin/misc` + - ooo + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Was able to compile nim-testground-sdk and run basic ping tests. Some manually selected commit dependencies to avoid compilation failures of newest commits. + - Was able to integrate simulation script with sdk, and install nim-libp2p (commit dating to staggered sending) along with other dependencies (manually). Still facing a few compilation errors (expecting to fix these errors in a couple of days). +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Looked into the possibility of handling large message counts in gossipsub. Required looking into some abstract details about farcaster network. +- `zk:codex:zk-consulting` + - Finished [notes](https://hackmd.io/Z64w2bcTTAmxPEnF62SE6g?view) on [Testudo](https://eprint.iacr.org/2023/961). + - Continued work on [document](https://hackmd.io/ZJCNKmIaTQSRTW6_4wA9mw?view) for Codex's storage proof. +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - - Worked and expanded different components of state separation (executions, addresses, keys, nullification) [Moudy] + - Make progress with the blogpost [Moudy] + - Assisted with [keys and addresses](https://www.notion.so/Nescience-Keys-and-Addresses-653bbf46ba7e439384bf79169530f1c6). [Moudy + Marvin + Ugur] [DR][ACZ] + - Examine how Ola/zcash keys system works: [Ola1](https://hackmd.io/@sin7y/rkxFXLkgs), [Ola2](https://hackmd.io/@sin7y/S16RyFzZn#1-Why-was-Tornado-Cash-banned), and [zcash technical specs](https://zips.z.cash/protocol/protocol.pdf). + - Discussed potential modifications to streamline this approach for Nescience, and possible concrete choices to be made. + - Assisted with [lifecycles of UTXOs](https://www.notion.so/Nescience-UTXO-Lifecycles-8896e5e1bb4445c981dfbc7a695520d3); provided answers to various questions. [Moudy + Marvin + Ugur] [DR][ACZ] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Went through partial homomorphic encryption schemes' materials. [Rostyslav] + - Set up SP1, RISC0. [Rostyslav] + - Continue looking for suitable repos + testing the base case. [Rostyslav] + - Read RISC0's Poseidon254 implementation. [Oleksandr] + - Read Reinforced Concrete whitepaper. [Oleksandr] + - Set up Valida, zkMIPS, zkWASM. [Oleksandr] + diff --git a/content/updates/2024-08-05.md b/content/updates/2024-08-05.md new file mode 100644 index 000000000..d21422330 --- /dev/null +++ b/content/updates/2024-08-05.md @@ -0,0 +1,161 @@ +--- +title: "2024-08-05 Vac weekly" +tags: + - "vac-updates" +date: 2024-08-05 +lastmod: 2024-08-05 +draft: false +--- + +## Vac 2024/08/05 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - DTLS: address Diego's comments https://github.com/vacp2p/nim-webrtc/pull/10 +- `nimlibp2p:vac:maintenance` + - Discuss with Ivan about https://github.com/vacp2p/nim-libp2p/pull/1155 + - Review PRs +- `nimlibp2p:vac:maintenance` + - [fix: add gcc 14 support](https://github.com/vacp2p/nim-libp2p/pull/1151) + - [fix(ci): windows-amd64 (Nim version-1-6)](https://github.com/vacp2p/nim-libp2p/pull/1160) + - [fix(test): interop transport](https://github.com/vacp2p/nim-libp2p/pull/1159) + - reviewing PRs + - CI Cleanup - [PR](https://github.com/vacp2p/nim-libp2p/pull/1117) + - Update with windows fix, now tests pass (except interop, which is not yet merged, but currently not required) + - Rollback ubuntu-24.04 on i386, errors out + - Discovered another flaky - [Logs](https://github.com/vacp2p/nim-libp2p/actions/runs/10202820164/job/28227784700?pr=1117) + - Fix windows issue - [PR](https://github.com/vacp2p/nim-libp2p/pull/1160) + - Investigate thoroughly. Quite sure it's a Nimble issue, later today I'll post an issue on their github. +- `nimlibp2p:vac:quic` + - evaluating quic implementations - https://github.com/cloudflare/quiche + +### vac:tke: +- `admin`: + - 1 CC day off (Frederico) + - Finalized first draft of strategy doc (Juan) + - updated the TKE milestones (Status Network, Frederico) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - continued writing the reports of studies 1 and 2 of the wealth concentration (Frederico) + - Reviewed and provided feedback to Frederico's work here (Juan) +- `status:L2-deployment` + - modeled the location of fishes (Frederico) + - assisting defining the incentive structures, revising new proposed XP system (Martin) + - working towards a minimal economy formalization for cats fishing based on feedback from Ned (Martin) + - Meeting with Ned, worked towards monetization document (Juan) + - Finished work on NPV analysis for swap aggregator (Juan) +- `status:SNT-staking` + - identifying functional overlap with the need of the L2 incentive structure - again with the new XP proposal (Martin) +- `waku:general-incentives` + - preparing for the call next week, identifying discussion points and actionable items (Martin) +- `codex:cdx` + - cleaned up code (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:codex:testnet` + - Attempt to fix Codex Kubernetes access +- `vac:dst:deployment-and-analysis:waku:10k` + - Test runs of 10K on latest Waku + - Continued metrics instability around 10k +- `vac:dst:deployment-and-analysis:waku:midscale`: + - Refactor log analysis code for Waku to use with Waku Simulator + - Get extended logs regarding future logging + - Potential bug in nimlibp2p's yamux protocol + - mplex looks more promising + - Extended libp2p report + - Add 1.1 results with other sizes than 500KB + - https://www.notion.so/Nim-libp2p-v1-3-0-regression-testing-June-2024-7e6fa14c829d4660be6739817e07956f +- `admin/misc` + - Prepare DST presentation for Waku team + +### vac:qa: +- `waku:interop-testing-02` + - update CI to use images from [docker hub](https://github.com/waku-org/waku-interop-tests/pull/63)(@Florin) + - chore: RLNv2 tests update(@Roman) + [PR 62 - in progress](https://github.com/waku-org/waku-interop-tests/pull/62) - Lightpush remaining to test + - [Issue 2946 - open](https://github.com/waku-org/nwaku/issues/2946) + - [Issue 2949 - open](https://github.com/waku-org/nwaku/issues/2949) +- `vac:test-automation-nim-libp2p` + - created test plan for [PubSub](https://www.notion.so/Pubsub-8047dd1a73b9414b801d27dccb737cd6?pvs=25)(@Florin) + - created test plan for [FloodSub](https://www.notion.so/Floodsub-e1916186f9a64e5b9fd4a74d633ca2bd)(@Florin) + - CI Cleanup - [PR](https://github.com/vacp2p/nim-libp2p/pull/1117)(@Alex) + - Update with windows fix, now tests pass (except interop, which is not yet merged, but currently not required) + - Rollback ubuntu-24.04 on i386, errors out + - Discovered another flaky - [Logs](https://github.com/vacp2p/nim-libp2p/actions/runs/10202820164/job/28227784700?pr=1117) + - Fix windows issue - [PR](https://github.com/vacp2p/nim-libp2p/pull/1160)(@Alex) + - Investigate thoroughly. Quite sure it's a Nimble issue, later today I'll post an issue on their github. + - Begin checking interop issue(@Alex) +- `nomos:test-automation-data-availability` + - chore: DA kzgrs unit tests update(@Roman) + [PR 676 - in review](https://github.com/logos-co/nomos-node/pull/676) - kzgrs-backend will undergo rewrite for the next 2 weeks +- `waku:test-automation-rln` + - Merge RLN [PR](https://github.com/waku-org/nwaku/pull/2639)(@Alex) + + +### vac:acz: +- `rlnp2p:waku:rlnv2-e2e` + - Assisted qa team in debugging nwaku tests + - [chore(keystore): verbose error message when credential is not found](https://github.com/waku-org/nwaku/pull/2943) +- `secure-channels:waku:mls-poc` + - Improve the [notes](https://www.notion.so/Decentralized-MLS-notes-3d77fc8744054a5e9f8c59a3d2241f1d) on the onchain component of the [RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-onchain/vac/raw/eth-secpm.md). + - Sync with team on payloads and ordering of the involved steps in adding members to groups. + - Integration with new on-chain api [branch](https://github.com/vacp2p/de-mls/tree/on-chain-integration) + - [fix(contract): convert to acl](https://github.com/vacp2p/de-mls/pull/25) +- `consulting:codex:proxy-re-encryption` + - Finish reading the [proposal](https://eprint.iacr.org/2019/1275.pdf). +- `anon:vac:gossipsub-anonymity` + - Team reviewed [rfc](https://github.com/vacp2p/rfc-index/pull/85) and relevant protocols + +### vac:sc:: +- `status:staking-contracts-v1` + - fixed estimation of multiplier points (still needs tests) + - Still have to keep in mind that Status Chain decides against such a path + - https://github.com/logos-co/staking/commit/c1f283876cb47408d4e0db3b253ad1662004ecfa + - Reviewed CovNFT from Optimism to see if we can take ideas from it + - https://github.com/GovNFT/contracts/blob/b7ce6ad869a8136a36f8130577ec7d21b2f785e4/src/GovNFT.sol + - Upgraded certora-cli on CI + - https://github.com/logos-co/staking/pull/96 +- `codex::contracts-formal-verification` + - Worked on implementing CVL rule described in https://github.com/codex-storage/codex-contracts-eth/issues/132 + - Together with Certora we've concluded that it's likely not worth it anymore because those fields aren't used for anything (they used to be used for fuzz tests it seems) +- `status:community-contracts-maintenance` + - Upgraded certora-cli on CI + - https://github.com/status-im/communities-contracts/pull/63 + +### vac:nim: +- `tooling:vac:nimble` + - Returns the nim directory prioritising the one used by the project instead of the one in the installed pkg list dir: https://github.com/nim-lang/nimble/pull/1250 +- `tooling:vac:lsp` + - should not crash when the projectMapping fileRegex is set to a non existing file fixes #221 (https://github.com/nim-lang/langserver/pull/223) + - Fixes https://github.com/nim-lang/langserver/issues/221 + - Migration to LSP + - Complete preparation refactor https://github.com/nim-lang/langserver/pull/222 + - Research best way to combine stdio and socket +- `tooling:vac:editor` + - Issue: New version of the plugin does not work on Windows https://github.com/nim-lang/vscode-nim/issues/78 +- `tooling:vac:compiler` + - bump nimble https://github.com/nim-lang/Nim/pull/23918 + +### vac:rfc: +- `codex:specs-init` + - Worked on codex validator, reading updated docs. Still in draft - https://github.com/vacp2p/rfc-index/pull/83 + - Had a sync meeting with codex marketplace + +### vac:dr: +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Worked on [large message handling blogpost](https://github.com/vacp2p/vac.dev/pull/145). All comments are addressed; still WIP. + - Looked into IHAVE/IWANT message processing, small messages and peer scoring function for libp2p specs meeting +- `zk:codex:zk-consulting` + - Began [notes](https://hackmd.io/PpoIyPt2StyaexcIfdpEQg?view) on [Spartan](https://eprint.iacr.org/2019/550). + - Read [optimization of sumcheck](https://eprint.iacr.org/2024/1210) for use in Spartan improvements. + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Mainly worked on the blogpost [Moudy] + - Worked on making keys and addresses concrete and riefly reviewed Aztec keys and addresses scheme. [Marvin][DR] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Continued going through primitives and looking for suitable repos. [Rostyslav] + - Prepared testing for the base case for SP1 and RISC0. [Rostyslav] + - Wrote simple arithmetic tests for Valida, zkMIPS, zkWASM. [Oleksandr] + - Started working on blogpost. [Moudy] + diff --git a/content/updates/2024-08-12.md b/content/updates/2024-08-12.md new file mode 100644 index 000000000..62aa024ad --- /dev/null +++ b/content/updates/2024-08-12.md @@ -0,0 +1,180 @@ +--- +title: "2024-08-12 Vac weekly" +tags: + - "vac-updates" +date: 2024-08-12 +lastmod: 2024-08-12 +draft: false +--- + +## Vac 2024/08/12 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - DTLS: lot of fixes / changes + - https://github.com/vacp2p/nim-webrtc/pull/10 + - add trackers + - remove asyncspawn + - a lot of fields are no longer exposed + - improve comments +- `nimlibp2p:vac:maintenance` + - Yamux Future leaks + - https://github.com/vacp2p/nim-libp2p/pull/1171 + - https://discord.com/channels/864066763682218004/1270398374293667950 + - Find a fix to the leak + - Start looking at the async exception tracking + - https://github.com/vacp2p/nim-libp2p/pull/1172 + - [fix: infinite loop when connection is aborted before being accepted](https://github.com/vacp2p/nim-libp2p/pull/1164) + - [fix(transport): tcp accept fixes](https://github.com/vacp2p/nim-libp2p/pull/1170) + - Investigate interop status and begin working towards solution + - Begin test plans: Implement gossipsub's peer discovery test cases, some utility code and small refactor + - [Draft PR](https://github.com/vacp2p/nim-libp2p/pull/1168) + - Deeply investigate "unsub-sub backoff" test case, seemingly weird behaviour + - Issues: Rendezvous: Unsubscribed peers may be discovered - [Issue](https://github.com/vacp2p/nim-libp2p/issues/1169) + - Prepare interview and interview candidat +- `nimlibp2p:vac:quic` + - [create a nim wrapper for cloudflare quiche](https://github.com/vacp2p/nim-libp2p/issues/1167) + +### vac:tke: +- `admin`: + - assisted the Finance team with interviews (Frederico) +- `misc` + - met with Matt to discuss ordinals project (Juan) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - finalized reports of studies 1 and 2 of the wealth concentration (Frederico) + - reviewed the Nomos project in view of the discussion with the team next week (Frederico) + - Worked on statistical analysis (Juan) +- `status:L2-deployment` + - reviewed the docs about incentives and monetization (Cats Fishing) (Frederico) + - following up with Cyp on a coherent model (Martin) + - identifying suitable token mechanisms for cats fishing to offset inflation (Martin) + - reviewed the docs about incentives and probabilities (Cats Fishing) (Juan) + - Worked towards XP modeling doc (Juan) +- `waku:general-incentives` + - preparing discussion points and actionable items for the call to be presented by Frederico (Martin) + - met with the team to discuss open questions (Frederico) +- `codex:testnet-incentive` + - proposed a simple incentive structure (Frederico) +- `codex:cdx` + - review Frederico's work on incentivized testnet (Martin) + - prepared presentation for the IFT Research Call next week (Frederico) + - reviewed the simulation code (Frederico) + - Pushed update to code (Juan) +- `status:SNT-staking` + - reviewing Ricardo's edits (Martin) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Finish [log analysis PR](https://github.com/vacp2p/10ksim/pull/35) (ready for review) + - Help Gabriel with mplex Future logging investigation + - Revisit message hash duplication issue +- `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` + - Performed [regression analysis](https://www.notion.so/Nim-libp2p-v1-5-0-regression-testing-August-2024-25edba733c704ccaa411919555c5db1a) for nim libp2p 1.5: + - Repeated 100-bytes results with version `1.2` + - Initial `1.5` tests + - After Diego's loop fix: https://github.com/vacp2p/nim-libp2p/pull/1166 +- `admin/misc` + - Wings OOO last week + - Helping Jakub remove old DST-DeepResearch infra + - Still in progress + - DST Presentation for Status/Waku + +### vac:qa: +- `waku:interop-testing-02` + - check lighpush errors and report [issue](https://github.com/waku-org/nwaku/issues/2955)(@Florin) + - adjust tests based on the latest [lightpush changes](https://github.com/waku-org/waku-interop-tests/pull/64)(@Florin) + - start looking at e2e tests(@Florin) + - chore: RLNv2 tests update(@Roman) + [PR 62 - merged](https://github.com/waku-org/waku-interop-tests/pull/62) +- `nomos:test-automation-data-availability` + - Test plan for [Data Availability](https://www.notion.so/DA-Test-Plan-cc5ff67ad5e94b94b70df46ad67516c2)(@Florin) + - chore: Da kzgrs unit tests update(@Roman) + [PR 676 - merged](https://github.com/logos-co/nomos-node/pull/676) +- `vac:test-automation-nim-libp2p` + - Post nimbledeps issue - [Issue](https://github.com/nim-lang/nimble/issues/1255)(@Alex) + - Investigate interop status and begin working towards solution(@Alex) + - Begin test plans: Implement gossipsub's peer discovery test cases, some utility code and small refactor.(@Alex) + - [Draft PR](https://github.com/vacp2p/nim-libp2p/pull/1168) + - Issues(@Alex) + - Rendezvous: Unsubscribed peers may be discovered - [Issue](https://github.com/vacp2p/nim-libp2p/issues/1169) + - Deeply investigate "unsub-sub backoff" test case, seemingly weird behaviour(@Alex) + - Prepare interview and interview candidate(@Alex) + +### vac:acz: +- `secure-channels:waku:mls-poc` + - Finished a new version of the onchain component in the [RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-onchain/vac/raw/eth-secpm.md) + - Reviewed and left comments onchain component doc [in notion](https://www.notion.so/Decentralized-MLS-notes-3d77fc8744054a5e9f8c59a3d2241f1d) + - Finished new flow for adding members to the group, update api regarding new smart contract: [PR](https://github.com/vacp2p/de-mls/pull/26) +- `consulting:codex:proxy-re-encryption` + - Included a review of the [proposal](https://eprint.iacr.org/2019/1275.pdf) to Codex's Notion [document](https://www.notion.so/Approaches-to-plausible-deniability-87c6fef92df946fcbc1327d51d936ce1) on plausible deniability. +- `rlnp2p:waku:rlnv2-e2e` + - wip implementation of [new rln contract spec](https://github.com/waku-org/specs/pull/30) +- `anon:vac:gossipsub-anonymity` + - Continued implementing the [Mix protocol PoC](https://github.com/vacp2p/mix) in Nim + - Implemented manual serialization, Proof of Work (PoW), tag manager, and Sphinx packet wrapping. +- `admin/misc` + - Started considering a new organization for the [ACZ Notion page](https://www.notion.so/Applied-Cryptography-ZK-870520f131954b90b1837ec4749f890f). The idea of the new organization is to highlight the cryptographic research done (and forthcoming) in ACZ. + - 1 cc ooo one day + +### vac:sc:: +- `status:staking-contracts-v1` + - Reviewed Status chain team work, [written suggestions](https://notes.status.im/jaEWLq3xSh2MZyhVL9gF4w) for the project + - Meeting with Status chain + - Once again talked about desired features + - Concluded that we'll **keep** MP within the staking protocol as internal measurement unit + - Stake SNT -> gain MP -> get XP + - Reviewed work on MP estimation + - Fixed Estimation of MPs when staking on middle of epoch (normal user case) + - Found and fixed bugs: staking too low amounts (less than 53), doubled totalStaked on estimation + - Debugged the whole estimation and MP generation code on many different cases (see debug code [here](https://github.com/logos-co/staking/tree/mp-estimate-console-log)) + - Also discussed outstanding things to be done for estimation + - Created PR as base for discussion + - https://github.com/logos-co/staking/pull/97 +- `codex::contracts-formal-verification` + - Meeting with Certora + - Clarified some open questions about Codex + - Discussed open questions about CVL + - Found a bug in the prover that will be fixed by certora + - Implemented certora rules + - Request state changes + - https://github.com/codex-storage/codex-contracts-eth/pull/142 + - Total supply == sumOfBalances + - https://github.com/codex-storage/codex-contracts-eth/pull/146 + - Total sent <= total received + - https://github.com/codex-storage/codex-contracts-eth/pull/147 + - Proof can't be missing when in period + - https://github.com/codex-storage/codex-contracts-eth/pull/148 + +### vac:nim: +- `tooling:vac:lsp` + - Chronos migration WIP: https://github.com/nim-lang/langserver/pull/225 +- `tooling:vac:editor` + - Fixes parameters for running nimlangserver.cmd on Windows fixes #80 #84 + - https://github.com/nim-lang/vscode-nim/pull/84 + - Release https://github.com/nim-lang/vscode-nim/pull/85 https://github.com/nim-lang/vscode-nim/releases/tag/v1.0.1 +- `tooling:vac:compiler` + - Bump `nimble` https://github.com/nim-lang/Nim/pull/23918 +- `misc` + - Troubleshoot issues, review PRs + +### vac:rfc: +- `codex:specs-init` + - Worked on codex validator rfc, after discussion will be added to marketplace rfc + - Made some changes to marketplace rfc - https://github.com/codex-storage/codex-spec/pull/1 + +### vac:dr: +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Finalized [large message handling blogpost](https://github.com/vacp2p/vac.dev/pull/145). The revised version is ready for review + - Participated in libp2p specs meeting. Had to go through some potential suggestions regaring IHAVE/IWANT message handling. +- `gsub-scaling:vac:gossipsub-simulation` + - Finally able to compile and run staggered message sending simulation in test ground. Had to play with nimble/sdk files to get it compiled. + - Still facing issues regarding network reachability. But that can be resolved (looking into other testground SDKs for network connectivity) + - Still need to be able to parse and analyze output files. +- `zk:codex:zk-consulting` + - Read [Mova](https://eprint.iacr.org/2024/1220) and began [notes](https://hackmd.io/PdbAwf64SrCF4Ous3_uy1w) + - Continued [notes](https://hackmd.io/PpoIyPt2StyaexcIfdpEQg) on Spartan + - Worked on in-node aggregation + + +### vac:nes: + diff --git a/content/updates/2024-08-19.md b/content/updates/2024-08-19.md new file mode 100644 index 000000000..b68be8fb0 --- /dev/null +++ b/content/updates/2024-08-19.md @@ -0,0 +1,168 @@ +--- +title: "2024-08-19 Vac weekly" +tags: + - "vac-updates" +date: 2024-08-19 +lastmod: 2024-08-19 +draft: false +--- + +## Vac 2024/08/19 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - DTLS: https://github.com/vacp2p/nim-webrtc/pull/10 + - addressed the last comments + - merging the PR +- `nimlibp2p:vac:maintenance` + - Yamux Leak Fixed + - Work locally on rendezvous sub/unsub strange behavior + - PR: https://github.com/vacp2p/nim-libp2p/pull/1178 +- `nimlibp2p:vac:quic` + - [chore: upgrade ngtcp2 to 1.6.0](https://github.com/vacp2p/nim-ngtcp2/pull/6) + - [chore: add initial logging](https://github.com/vacp2p/nim-quic/pull/42) + - [chore(deps): remove upraises](https://github.com/vacp2p/nim-quic/pull/44) + +### vac:tke: +- `admin`: + - met with Nomos to decide next steps (Frederico) + - updated the TKE milestones for Nomos (Frederico) + - OOO on Monday (Juan) +- `nomos:cryptarchia-wealth-concentration-known-stake` + - Finished V1 of the statistical analysis & discussed with team (Juan) +- `nomos:selfish-behavior` + - developed most of the code required for this study (Frederico) +- `codex:cdx` + - presented the project at the IFT Research Call (Frederico) +- `status:L2-deployment` + - analysis and discussion with Ned on minimizing inflation impact (cats fishing) (Martin) + - worked on catsfishing XP program (Juan) +- `status:SNT-staking` + - following latest edits (Martin) +- `waku:general-incentives` + - following up on the credits system and analyzing compatibility with other exisiting ideas (Martin) +- `others` + - initial analysis of the distribution platform and its properties (Martin) + - helping and feedback to Matt for the ordinals strategy (Martin) + - exploring project ideas for EthOnline (Martin) + - Meeting with Matt on ordinals (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Review milestone progress and reporting + - Created `zorlin/perf` branch in 10ktool + - Uses `perf record` to create perf logs for Waku + - Added privileged container options + - Created SeaweedFS direct mounts for use with `hostPath`, bypassing CSI + - Resolved full disk issues with Kubernetes PVs for VictoriaLogs and VictoriaMetrics + - Continue working on Futures issue + - Unable to proceed yet due to issues with `perf record`. + - Analyse previous waku simulations + - Investigated duplicate message hashes + - Began optimizing VictoriaLogs log retrieval to reduce data sizes for large/fast simulations + - VictoraLogs PR merged: + - https://github.com/vacp2p/10ksim/pull/35#event-13879472790 + +### vac:qa: +- `waku:interop-testing-02` + - start implementing at e2e tests(@Florin) + - Debate with conclusion: [Product strategy X quality](https://github.com/waku-org/nwaku/issues/2949#issuecomment-2288485864)(@Roman) + [NWaku Issue 2949 - closed](https://github.com/waku-org/nwaku/issues/2949) + Could Waku-interop-tests suite aid for OWN builders as reference? +- `nomos:test-automation-data-availability` + - Review test plan comments for [Data Availability](https://www.notion.so/DA-Test-Plan-cc5ff67ad5e94b94b70df46ad67516c2)(@Florin) + - Going through code/tests, write new unit tests when appropriate(@Roman) + - Code base not ready for high level integrations tests yet(@Roman) + [Test run1 for Nomos/Da](https://www.notion.so/DA-Test-Plan-Run1-084243a3256c47ae9eee1cfd46fd469b) +- `vac:test-automation-nim-libp2p` + - Conditional SAT solving(@Alex) + - [Ready for review PR](https://github.com/vacp2p/nim-libp2p/pull/1177) + - Remove duplicate msg key in logs(@Alex) + - [Merged PR](https://github.com/vacp2p/nim-libp2p/pull/1180) + - Windows fix for multihash poseidon PR(@Alex) + - Investigate. Can't replicate on local Windows. + - [Draft PR](https://github.com/vacp2p/nim-libp2p/pull/1179) + - [QA] Gossipsub - Peer discovery(@Alex) + - Fix "frequent sub/unsub" tests thanks to Ludovic's investigation. + - [Draft PR](https://github.com/vacp2p/nim-libp2p/pull/1168) + +### vac:acz: +- `secure-channels:waku:mls-poc` + - Merged [PR](https://github.com/vacp2p/de-mls/pull/26) about updating flow for add members +- `zerokit:vac:maintenance` + - Started work with [stateless feature](https://github.com/vacp2p/zerokit/pull/265) + - Picked up a [PR](https://github.com/vacp2p/zerokit/pull/264) about a build for wasm +- `anon:vac:gossipsub-anonymity` + - Finished [implementing Sphinx packet processing](https://github.com/vacp2p/mix/commit/2d99aebe265cb1c386db0a96208b97ca47c5eab0) and associated tests. + - Found an issue with beta computation in our spec - fixed the issue, updated the [Notion page](https://www.notion.so/Anonymized-GossipSub-Protocol-AGP-Wip-cbcbcd6067b347bb812041bce9c110ce?pvs=4), and also commited the changes to the [PR](https://github.com/vacp2p/rfc-index/pull/85/commits/7dfd46e8eeeccb0f5748bebd750784cde3108bcc). + - [Sphinx packet](https://github.com/vacp2p/mix/commit/2d99aebe265cb1c386db0a96208b97ca47c5eab0) unwrappin works correctly for one layer. + - Started to review the [mixnet specs PR](https://github.com/vacp2p/rfc-index/pull/85/files) +- `rlnp2p:waku:rlnv2-e2e` + - Started to review the [rlnv2 contract spec](https://github.com/waku-org/specs/pull/30) +- `secure-channels:waku:mls-poc` + - Added a issue about the [batch user insertion](https://github.com/vacp2p/de-mls/issues/27) +- `admin/misc` + - [updated acz milestones](https://github.com/logos-co/roadmap/pull/106) + - 1 cc was ooo whole week + + +### vac:sc:: +- `codex::contracts-formal-verification` + - Rules review session with Certora team and codex + - Implemented rule to verify slotstate and requeststate changes count + - https://github.com/codex-storage/codex-contracts-eth/pull/152 + - Noticed a bunch of rules are not actually passing due to bug in config + - https://github.com/codex-storage/codex-contracts-eth/pull/158 + - Worked on getting rules pass with updated config + - WIP branch: https://github.com/codex-storage/codex-contracts-eth/commit/e45724f825807e902cf065cbecb10da058d91f6d + - added spec on slot's missed periods count https://github.com/codex-storage/codex-contracts-eth/pull/155 + - updated Certora config https://github.com/codex-storage/codex-contracts-eth/pull/158 + - WIP work on slot state transition to Failed https://github.com/codex-storage/codex-contracts-eth/commit/ba42fb342839df3a35d397b32398cdcfa9f4875f + - Started looking at a new issue "a host can't receive a payment twice" https://github.com/codex-storage/codex-contracts-eth/issues/126 +- `status:staking-contracts-v1` + - MP estimation algorithm adjustments to account for proper max boost limit amount + +### vac:nim: +- `tooling:vac:lsp` + - Chronos migration WIP: https://github.com/nim-lang/langserver/pull/225 + Basics working in stdio. Troubleshooting socket transport. There are multiple issues still to be fixed and refactors needs to be done +- `tooling:vac:editor` + - Release 1.0.2: https://github.com/nim-lang/vscode-nim/releases +- `tooling:vac:compiler` + - Fixes #23962 resetLocdoenst produce any cgen code in importcpp types #23964 https://github.com/nim-lang/Nim/pull/23964 + - Fixes an issue where two types can collide in the cgen #23937 (WIP) https://github.com/nim-lang/Nim/pull/23937 + +### vac:rfc: +- `codex:specs-init` + - Added feedback to marketplace rfc, a rework by member of marketplace team - https://github.com/codex-storage/codex-spec/pull/2 + - Had sync meeting with marketplace team Thursday +- `nomos:specs-init` + - Continued reading Nomos DA docs, made some changes, not ready for second round of feedback - https://github.com/vacp2p/rfc-index/pull/41 + +### vac:dr: +- `gsub-scaling:vac:gossipsub-simulation` + - Completed testground simulation for nim-libp2p gossipsub commits bac754e2a and 9b11fa733 +- `zk:codex:zk-consulting` + - Continued [notes](https://hackmd.io/PdbAwf64SrCF4Ous3_uy1w) on Mova, and [notes](https://hackmd.io/PpoIyPt2StyaexcIfdpEQg) on Spartan. + - Read [Pari](https://eprint.iacr.org/2024/1245.pdf) and began [notes](https://hackmd.io/BQaJafq2SKeMKTRloKa4SA). + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Reviewed and researched keys, ephemeral keys, UTXO commitment, UTXO lifecycle, and small aspects about several components [Moudy] + - Integrated and polished the blogpost [Moudy] + - Worked on keys and addresses [Moudy] + - Worked on ephemeral keys and UTXOs [Moudy] + - Update on [Pedersen commitments](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#32fcdd6730f34ed6998a1af370b3622e)[Marvin][DR] + - Reviewed the Marvin's update on [Pedersen commitments](https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#32fcdd6730f34ed6998a1af370b3622e) [Ugur][ACZ] + - Reviewed the structure topic doc in case there is something missing so I started work on one of the topics about Usage Areas of state separation [Ugur][ACZ] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Researched profiling tools for zkVMs [Rostyslav] + - Testing for different sharding values for SP1 and RISC0 basic tests [Rostyslav] + - Testing on local machine [Rostyslav] + - Wrote setup scripts to simplify and speed up testing [Oleksandr] + - Tested new Rust based proving capabilities of Valida [Oleksandr] + - Wrote simple arithmetic test for Valida in Rust [Oleksandr] + - Started writing memory allocation tests [Oleksandr] + - Started working on blogpost. [Moudy] + diff --git a/content/updates/2024-08-26.md b/content/updates/2024-08-26.md new file mode 100644 index 000000000..656e73f4d --- /dev/null +++ b/content/updates/2024-08-26.md @@ -0,0 +1,176 @@ +--- +title: "2024-08-26 Vac weekly" +tags: + - "vac-updates" +date: 2024-08-26 +lastmod: 2024-08-26 +draft: false +--- + +## Vac 2024/08/26 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - [Sctp Protocol](https://github.com/vacp2p/nim-webrtc/pull/11) + - Fix some issues after the merge of DTLS + - Add async exception tracking & tracker counter + - Prune some useless part + - Add tests + - Try to fix CI issues on [window](https://github.com/vacp2p/nim-webrtc/actions/runs/10524542688/job/29161498589) and [macos](https://github.com/vacp2p/nim-webrtc/actions/runs/10524542688/job/29161498114) +- `nimlibp2p:vac:quic` + - [upgrade ngtcp2](https://github.com/vacp2p/nim-quic/pull/45) +- `nimlibp2p:vac:maintenance` + - Fix workflow name issue + - [PR](https://github.com/vacp2p/nim-libp2p/pull/1182) + - Interop Caching + - Investigate caching mechanisms: GHA action based vs script based + - Post current state on [Discord](https://discord.com/channels/864066763682218004/1275460455732875408/1276218932822540430). + - Test windows-2019 (diegos's suggestion) for multihash-poseidon; for far no result + +### vac:tke: +- `nomos:cryptarchia-wealth-concentration-known-stake` + - reviewed the statistical analyses (Frederico) + - Merged statistical analyses into main doc (Juan) +- `nomos:selfish-behavior` + - continued developing the code required for this study (Frederico) +- `codex:cdx` + - further reviewed the simulation code (Frederico) + - met Codex to discuss current state and next steps (Frederico) + - defined next tasks (Frederico) + - further improved the simulation code (Juan) + - met Codex to discuss current state and next steps (Juan) + - defined next tasks (Juan) +- `status:L2-deployment` + - reviewed the work on swap aggregator (Frederico) + - caught up with the XP program discussion (Frederico) + - following up with Cyp and discussing cooldown periods (didn't take place last week) (Martin) + - detailed suggestions for cats fishing reward scheme (Martin) + - caught up with catsfishing docs (Juan) +- `waku:general-incentives` + - reviewed RLN specs PR (Frederico) + - discussing the credits system with the team and analyzing tokenomic potential and bottlenecks (Martin) +- `status:SNT-staking` + - following latest edits (Martin) +- `others` + - research and a call with the distribution platform devs on bonding curve design (Martin) + - suggesting a points system for ordinals (Martin) + - exploring project ideas for ETHOnline (Martin) + - research and a call with the distribution platform devs on bonding curve design (Juan) + - reviewed/discussed points system for ordinals (Juan) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale`: + - Creating a [new branch](https://github.com/vacp2p/10ksim/commits/Alberto/victoria_optimization/) for concurrent log analysis + - Continued simulations with `perf` analysis for Gabriel + - Meeting with Zoltan + Ivan re: message duplication + - Consistently happens in TWN + - We should try multiple different versions +- `admin/misc` + - Finished backups for DST-DeepResearch machine teardown + - brainstorming around understanding and measuring distributed systems and their properties + +### vac:qa: +- `waku:interop-testing-02` + - fix timeout [issue](https://github.com/waku-org/waku-interop-tests/pull/66)(@Florin) + - added more complex e2e [tests](https://github.com/waku-org/waku-interop-tests/pull/65)(@Florin) +- `waku:test-automation-status-go-cli-2` + - investigate community failures(@Florin) + - recreate deleted [communities](https://github.com/status-im/status-cli-tests/pull/7)(@Florin) + - communitiy test fixes and job that [automatically recreates cummunities each month](https://github.com/status-im/status-cli-tests/pull/9)(@Florin) +- `nomos:test-automation-data-availability` + - [Test run1 for Nomos/Da - in progress](https://www.notion.so/DA-Test-Plan-Run1-084243a3256c47ae9eee1cfd46fd469b) (@Roman) + - chore: Da kzgrs-backend unit tests update(@Roman) + [PR 700 - in progress](https://github.com/logos-co/nomos-node/pull/700) + [Issue 692 - open](https://github.com/logos-co/nomos-node/issues/692) +- `vac:test-automation-nim-tooling` + - test: use Nimble to manage Nim(@Roman) + [PR 222 - in progress](https://github.com/status-im/nim-stew/pull/222) - not sure if we could find less occupied reviewer? +- `vac:test-automation-nim-libp2p` + - Gossipsub - Peer discovery(@Alex) + - Investigate existing `resub after unsub` test: It's wrong. + - [Draft PR](https://github.com/vacp2p/nim-libp2p/pull/1168) + +### vac:acz: +- `zerokit:vac:maintenance` + - Finished stateless feature. Now [PR](https://github.com/vacp2p/zerokit/pull/265) ready fo review + - Fixed bug with no running test in this [PR](https://github.com/vacp2p/zerokit/pull/264) + - Started working on issue with adding timestamp into signal. Based on this [issue](https://github.com/waku-org/nwaku/issues/2972) in waku +- `secure-channels:waku:mls-poc` + - Discuss the necessity and features of benchmarks with Ekaterina. + - Discuss the content of de-mls testnet with Ekaterina. + - Fixed linter error from smart contract [PR](https://github.com/vacp2p/de-mls/pull/28) + - Created new [demo](https://drive.google.com/file/d/1Nr1HcDu3PxJHYjkrpSeoPpauoKW-xdxu/view?usp=sharing) + - Review of latest [PRs](https://github.com/vacp2p/rfc-index/pull/84/files). + - Started theoretical analysis of deMLS. +- `anon:vac:gossipsub-anonymity` + - Review of latest [PRs](https://github.com/vacp2p/rfc-index/pull/85/files). + - Found an issue with filler and beta computation in our [spec](https://github.com/vacp2p/rfc-index/pull/85/commits/c1c9303b37e1fb1596a6996a59101bb79042f296) - fixed the issue, updated the [implementation](https://github.com/vacp2p/mix/commit/ef4eb8b28b1df0cce1e4b16e073cae00bd38fce9). + - Sphinx packet wrapping and unwrapping works correctly as in [test_sphinx.nim](https://github.com/vacp2p/mix/blob/main/tests/test_sphinx.nim). +- `admin/misc` + - Finished the new organization of the [ACZ Page](https://www.notion.so/Applied-Cryptography-ZK-870520f131954b90b1837ec4749f890f). + - Review of the [Marlin proposal](https://eprint.iacr.org/2019/1047) for a prospective [code review](https://crates.io/crates/ark-poly-commit). +- `consulting:codex:proxy-re-encryption` + - Creation of draft for a [forum post](https://www.notion.so/Forum-post-on-Plausible-Deniability-9f6b1216b44546da853fb2bc0fd59be6) on Codex research. + - Started research on the cryptographic components of Codex. + +### vac:sc:: +- `codex::contracts-formal-verification` + - Fixed bug that requesting storage can be done with insufficient slot count + - https://github.com/codex-storage/codex-contracts-eth/pull/163 + - Worked on making existing CVL rules pass, as they broke after we've corrected our Certora config + - Issue: https://github.com/codex-storage/codex-contracts-eth/issues/161 + - PR: https://github.com/codex-storage/codex-contracts-eth/pull/162 + - started working on rules for `The contract has enough funds to pay back everything` + - https://github.com/codex-storage/codex-contracts-eth/issues/127 +- `vac:maintainance/misc` + - Researched merkle tree and merkle proof generation for efficient airdrops + - Also bitmap optimzation for storage efficiency when maintaining claim data + - Slides: https://docs.google.com/presentation/d/1w799Pb6V1sPU7uCjMoTMSYD8xpxj9--SDMJ7RmbVQ1Y/edit?usp=sh + +### vac:nim: +- `tooling:vac:lsp` + - Continue chronos migration + https://github.com/nim-lang/langserver/pull/225 +- `tooling:vac:nimble` + - Fixes an issue where the wrong csources was downloaded #1262 https://github.com/nim-lang/nimble/pull/1262 + - Fix CI #1261 +https://github.com/nim-lang/nimble/pull/1261 + - Removes unnecessary dep satisfied logging. Fixes an issue where the cache wasnt being properly set. Dont re-download packages if they already exists. https://github.com/nim-lang/nimble/pull/1260 + +### vac:rfc: +- `nomos:specs-init` + - Continued working on Da rfc, still needs work - https://github.com/vacp2p/rfc-index/pull/41 +- `admin/misc` + - Started update files within rfc-index to adhere to linting workflow + - 1 CC day ooo + +### vac:dr: +- `admin/misc` + - Provided feedback on [Nomos Pairing notes](https://www.notion.so/Pairing-Details-b18f5eca8dea4f26ab80698214cafdd7) + - Begin work organizing [zk notions](https://www.notion.so/Zero-Knowledge-Proofs-7fe978ddebb3458895e9887c67ec11fd) +- `gsub-scaling:vac:unstructured-p2p-improvements-survey` + - Studied different articles/blogs regarding p2p protocols' performance/improvements. Added relevant works to zotero (under VacP2P/P2P) +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Started working on [large message improvements article](https://www.overleaf.com/project/65c91200e9dbfb3cafb6edaf) on overleaf (still a WIP, in early phase) +- `zk:codex:zk-consulting` + - Finished notes on Spartan and Pari + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Published the blogpost [Moudy] + - Started looking into different components in specific. [Moudy] + - Worked on UTXOs Lifecycle [Moudy] + - Worked on ephemeral keys and UTXOs [Moudy] + - Work on public key setup, and key agreement (for private/shielded executions) [Marvin][DR] + - Study details of key specification [Ugur][ACZ] + - Discuss and create a topic list with Marvin for detailed architecture. [Ugur][ACZ] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Getting access and setting up SP1 and RISC0 zkVMs, issues [Rostyslav] + - Started working on memory testing for SP1, RISC0 [Rostyslav] + - Implemented memory allocation tests for zkWASM, zkMIPS [Oleksandr] + - Started implementation of memory allocation test for Valida [Oleksandr] + - Setted up working environment to operate with zkWASM, zkMIPS and Valida on remote server [Oleksandr] + - Published the blogpost. [Moudy] + + diff --git a/content/updates/2024-09-02.md b/content/updates/2024-09-02.md new file mode 100644 index 000000000..71e68c324 --- /dev/null +++ b/content/updates/2024-09-02.md @@ -0,0 +1,176 @@ +--- +title: "2024-09-02 Vac weekly" +tags: + - "vac-updates" +date: 2024-09-02 +lastmod: 2024-09-02 +draft: false +--- + +## Vac 2024/09/02 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Try to fix CI issues on [window](https://github.com/vacp2p/nim-webrtc/actions/runs/10631262844/job/29471793407) and [macos](https://github.com/vacp2p/nim-webrtc/actions/runs/10631262844/job/29471792877) + - [Find and fix a bugs while disconnecting/reconnecting](https://github.com/vacp2p/nim-webrtc/pull/22) + - Closing Sctp/Dtls connection didn't close all the stack + - Closing StunConn didn't work properly + - Rework on how the closing work to avoid potential race conditions +- `nimchronos:vac:maintenance` + - [make SomeFuture public](https://github.com/status-im/nim-chronos/pull/556) +- `nimlibp2p:vac:maintenance` + - Reviewing PRs + - [fix: create raceAndCancelPending proc](https://github.com/vacp2p/nim-libp2p/pull/1175) + - Interop solutions conversations/investigation: S3, GH registry + - Github Pro: Nothing to leverage + - Daily SAT Solver test + - Fix minor issues + - [Ready for Merge](https://github.com/vacp2p/nim-libp2p/pull/1177) +- `nimlibp2p:vac:quic` + - [chore: update nim-ngtcp2 to latest version](https://github.com/vacp2p/nim-quic/pull/45) + - [feat(transport): add QUIC Transport](https://github.com/vacp2p/nim-libp2p/pull/7) + +### vac:tke: +- `nomos:selfish-behavior` + - continued the required coding for this study (Frederico) + - reviewed Bernoulli and Poisson random processes to define the validator utility function (Frederico) + - Small adjustments/additions on the analysis (Juan) +- `codex:cdx` + - mapped out the missing aspects of the CDX token (Frederico) + - reviewed Codex latest developments on L2 pricing (Frederico) + - To Collab with Frederico's tasks (Juan) + - To keep working on code, making it more granular etc. (Juan) +- `status:L2-deployment` + - waiting for Cyp to describe the incentive framework to provide feedback (Martin) + - detailed suggestions for cats fishing reward scheme - researching further dual token model (Martin) + - To staart unifying docs on catsFishing (Juan) + - Prepare meeting with Ned for after Sept. 1 (Juan) +- `waku:general-incentives` + - getting familiar with and following the discussion around the RLN Solidity contract (Martin) +- `others` + - reviewing the points system for ordinals, additional feedback (Martin) + - hacking solo at ETHOnline hackathon (Martin) + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Finish new concurrent analysis branch + - PR open at https://github.com/vacp2p/10ksim/pull/36 + - Additional enhancement work at https://github.com/vacp2p/10ksim/pull/37 + - Attempted new simulations with `perf record` to give to Gabriel + - Still no results as pods refusing to gracefully terminate `perf` + - Continue to investigate message duplication issues + - Re-analysed Zoltan's results + - Documented discoveries in [Message hash duplication (ONGOING)](https://www.notion.so/Message-hash-duplication-ONGOING-d59f6133a2e341398064562d7a4c74f2?pvs=21) + - Waku simulations for 0.32-rc-2 + - [Waku regression testing - v0.32 (ongoing)](https://www.notion.so/Waku-regression-testing-v0-32-ongoing-bd02464a483d402bac92ba4c7086e232?pvs=21) + - Argo Workflow research + - Solution will be a combination of ArgoCD, Argo Workflows, git repos + - Deployed ArgoCD and Argo Workflows + - Debugging perf record issues + - Primary issue is we can't seem to kill the pods gracefully, a number of fixes tried so far + +### vac:qa: +- `waku:interop-testing-02` + - added metrics [tests](https://github.com/waku-org/waku-interop-tests/pull/68)(@Florin) + - added log checks at the end of all [tests](https://github.com/waku-org/waku-interop-tests/pull/67)(@Florin) + - discusses with Hanno and SP about Store-Sync, started playing with that(@Florin) +- `nomos:test-automation-data-availability` + - [Test run1 for Nomos/Da - in progress](https://www.notion.so/DA-Test-Plan-Run1-084243a3256c47ae9eee1cfd46fd469b)(@Roman) + - chore: Da kzgrs-backend unit tests update(@Roman) + [PR 700 - in review](https://github.com/logos-co/nomos-node/pull/700) +- `vac:test-automation-nim-libp2p` + - Gossipsub - Peer discovery(@Alex) + - [Ready for review](https://github.com/vacp2p/nim-libp2p/pull/1168) + - Gossipsub - Message propagation(@Alex) + - [WIP](https://github.com/vacp2p/nim-libp2p/pull/1184) + - Having issues with asserting some parts + - While testing found issue on file that relates to [this old PR](https://github.com/vacp2p/nim-libp2p/pull/1145). + +### vac:acz: +- `secure-channels:waku:mls-poc` + - Completed theoretical analysis of deMLS. [First draft](https://www.notion.so/WIP-Theoretical-model-for-deMLS-88db0b0f4f7c42db80dff8a02b3bb096). + - Meeting with Ugur about the status of the [RFC](https://github.com/vacp2p/rfc-index/pull/84/files). + - Completed correction of linting errors in the [RFC](https://github.com/vacp2p/rfc-index/pull/84) and merged the branch. + - 2 cc reviewed de-mls RFC latest version from this [PR](https://github.com/vacp2p/rfc-index/pull/84) + - Start to work on determining the new milestone for de-mls testnet [poc](https://github.com/vacp2p/de-mls) +- `zerokit:vac:maintenance` + - Merged [PR](https://github.com/vacp2p/zerokit/pull/265) about stateless feature + - Started working on integration stateless feature into rln-wasm: [PR](https://github.com/vacp2p/zerokit/commit/0d5642492a2c31c7c286e581626771395aae5cff) +- `consulting:codex:proxy-re-encryption` + - Finished [forum post](https://www.notion.so/Forum-post-on-Plausible-Deniability-9f6b1216b44546da853fb2bc0fd59be6) (Yet to be published). + - Finished a first approach to Codex's cryptographic components. Includes the preparation of an [internal report](https://www.notion.so/WiP-Cryptographic-components-analysis-16ce76839323476ca879923fb39c0f22). +- `anon:vac:gossipsub-anonymity` + - Sphinx packet wrapping tests are complete and functioning [end-to-end](https://github.com/vacp2p/mix/commit/bc2e6ea8bdf93052f8483b7524b5b2a36492beb9). + - [Pow computation and verification](https://github.com/vacp2p/mix/commit/32b0ccd1522e53e93292d196d2908b45ef829bee) have been added. + - Started integration with libp2p in two commits: [1](https://github.com/vacp2p/mix/commit/707fabffa31eaabb6e86f77c3937cefb1361ac21), [2](https://github.com/vacp2p/mix/commit/c77abc9873d8cd73f4a618a362107c1a1e480a80) + - Separated networking functionalities for better modularity. + - Encountering an error with the json_serialization package. + - Working on the Mix handler. + - Start to the mixnet milestone from DR to ACZ and enhance the related [milestone](https://roadmap.logos.co/vac/dr/anon/vac/gossipsub-anonymity). +- `admin/misc` + - Reading of the paper about [Marlin](https://eprint.iacr.org/2019/1047). Decision of aptitude for a [code review](https://crates.io/crates/ark-poly-commit). + - Reading about KZG commitment scheme. Short discussion with Roman. + +### vac:sc:: +- `status:staking-contracts-v1` + - Started Cleanup zombie code and outdated behavior + - [removed restake ability](https://github.com/logos-co/staking/commit/5d204fee27bc2d15ea2234127982afd59a017062#diff-7c9d8f98d816b0c54f20f2c5790ef649167479fd4f527d3f4bf4b0c6c220f028) + - Research on [ERC-4626: Tokenized Vaults](https://ethereum.org/en/developers/docs/standards/tokens/erc-4626/) to create a user friendly standarized methods to stake and unstake through a intermediary contract [VaultManager](https://github.com/logos-co/staking/blob/vault-manager/contracts/VaultManager.sol) + - Worked on getting `mp-estimate` branch in mergeable state + - Fixed certora rules -> had to apply a dispatcher resolution hack to get around the issue with contract instantiation inside constructors + - Cleaning up code and tests + - Stuck with one test that still failing +- `vac:maintainance/misc` + - Research on [EIP-1271 dependents](https://notes.status.im/xKtEzQYWTc6NDGprzsPp9g#) +- `codex::contracts-formal-verification` + - worked on `The contract has enough funds to pay back everything` https://github.com/codex-storage/codex-contracts-eth/pull/169 + - blocked after talking with the Certora team. It looks like there's no simple way to verify it and they are going to find other ways to do it. + - worked on rules about possible slot transitions https://github.com/codex-storage/codex-contracts-eth/pull/171 + - continue with https://github.com/codex-storage/codex-contracts-eth/issues/126 + - Implemented ghost variables for slots field and request contexts within CVL rules + - PR: https://github.com/codex-storage/codex-contracts-eth/pull/167 + - Fixed CI issue that prover runs would not exit with error code, causing CI task to be green + - PR: https://github.com/codex-storage/codex-contracts-eth/pull/1 + +### vac:nim: +- `tooling:vac:nimble` + - Fixes broken symlink + https://github.com/nim-lang/nimble/pull/1264 +- `tooling:vac:editor` + - Adds support for optional socket transport #94 + https://github.com/nim-lang/vscode-nim/pull/94 +- `tooling:vac:lsp` + - Chronos migration WIP: https://github.com/nim-lang/langserver/pull/225 + (Fixes multiple preexisting issues, complete socket integration, etc.) + +### vac:rfc: +- `admin/misc` + - Worked on fix workflow linting - https://github.com/vacp2p/rfc-index/pull/90 +- `codex:specs-init` + - Started first draft of Codex manifest RFC - https://github.com/codex-storage/codex-spec/pull + +### vac:dr: +- `admin/misc` + - Continued organizing [notions page](https://www.notion.so/Zero-Knowledge-Proofs-7fe978ddebb3458895e9887c67ec11fd) +- `gsub-scaling:vac:gossipsub-improvements-paper` + - Worked on [large message improvements article](https://www.overleaf.com/project/65c91200e9dbfb3cafb6edaf) on overleaf (still a WIP, likely to finish in next 2-3 days) +- `zk:codex:zk-consulting` + - Worked on node aggregation + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Worked on breaking down architecture components [Moudy] + - Started working on node requirements [Moudy] + - Worked on ephemeral keys and UTXOs [Moudy] + - Met with Team for node specs [Team] + - Posted notes on [key exchange](https://hackmd.io/4gGjdvMITaWuhbCTdSGNxA?view), [public key and address](https://hackmd.io/mJmc5xTtTNiycQf5hb2vKQ?view) [Marvin][DR] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Finished writing memory test for SP1 and RISC0 [Rostyslav] + - Started working on memory testing for Nexus [Rostyslav] + - Written memory allocation test for Valida [Oleksandr] + - Debugged Valida guest programs compilation with non-trivial dependencies [Oleksandr] + - Written general purpose benchmark scripts [Oleksandr] + - Run benchmark tests on remote machine for zkMIPS and zkWASM [Oleksandr] + - Met with Engineers regarding Zkvm decision + Node specs [Team] + diff --git a/content/updates/2024-09-09.md b/content/updates/2024-09-09.md new file mode 100644 index 000000000..156ef8a65 --- /dev/null +++ b/content/updates/2024-09-09.md @@ -0,0 +1,161 @@ +--- +title: "2024-09-09 Vac weekly" +tags: + - "vac-updates" +date: 2024-09-09 +lastmod: 2024-09-09 +draft: false +--- + +## Vac 2024/09/09 + +### vac:p2p: +- `nimlibp2p:vac:quic` + - Added support for nim 2 (diego) + - Added experimental (feature flagged) support for quic in nim-libp2p (diego) + - TLS not yet included, so interop not yet possible. + - can test against itself by exchanging peer ids out of band +- `nimlibp2p:vac:maintenance` + - Investigation into issue causing negative yamux stream metrics in grafana (Ludovic) + - Investigate issue with SAT solver not running (Alex) + - Follow up on issue with interop test artifact caching (Alex) +- `misc/admin` + - Assorted onboarding & research (Yusef) + +### vac:tke: +- `admin`: + - 5 CC days off (Juan) +- `nomos:selfish-behavior` + - studied Markov chains to define the validator utility function (Frederico) + - studied the selfish mining problem in PoW and PoS (Frederico) + - implemented the leader selection algorithm using GPU (Frederico) +- `codex:cdx` + - defined the missing aspects of the CDX token (Frederico) + - reviewed the simulation code (Frederico) +- `status:L2-deployment` + - waiting for Cyp to confirm the incentive framework design to plan out next step (Martin) +- `waku:general-incentives` + - researching micropayments (Martin) + - meeting and discussion with the team (Mart + +### vac:dst: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Fixed issue with perf logs not generating correctly + - Changes to 10ksim to account for this - basically SIGINT Waku then wait 150s + - Gave perf logs to Gabriel + - But: it appears perf is not giving the needed information. + - Worked with Zoltan on keep analyzing his sims + - [Message hash duplication (ONGOING)](https://www.notion.so/Message-hash-duplication-ONGOING-d59f6133a2e341398064562d7a4c74f2?pvs=21) + - Prepared working deployment of Waku Store + - Added a check that checks whether Store is working + - https://github.com/vacp2p/10ksim/pull/39 + - [PR for improving data preparation](https://github.com/vacp2p/10ksim/pull/37) - better folder management + - [Go-waku IDONTWANT discussion/request](https://discord.com/channels/1110799176264056863/1276567145785987195) + - Store sync discussion with Ivan + - Prepare documentation for CC OOO + - Argo Workflows deployment and tweaking + - ArgoCD is done, has Authentik integration, persistent storage +- `admin:misc` + - Roadmap update + - Done, ready for review + - https://github.com/logos-co/roadmap/pull/120 +- `:vac:lab` + - Restored dead node, improved monitoring and status pages, numerous internal infrastructure fixes + - https://status.vaclab.org + +### vac:qa:- `tooling:vac:lsp` + - Troubleshot win 10 issues https://github.com/nim-lang/vscode-nim/issues/93 + - Finish chronos migration https://github.com/nim-lang/langserver/pull/225 +- `tooling:vac:editor` + - Fixes an issue where the extension crashes if there is no workspace + https://github.com/nim-lang/vscode-nim/commit/273dea0d52858c5d1a8346d9207a0af6ebb415f9 +- `waku:interop-testing-02` + - store sync [tests draft PR](https://github.com/waku-org/waku-interop-tests/pull/69)(@Florin) + - test logs [template](https://github.com/waku-org/waku-interop-tests/pull/70)(@Florin) +- `nomos:test-automation-data-availability` + - [Test run1 for Nomos/Da - in progress](https://www.notion.so/DA-Test-Plan-Run1-084243a3256c47ae9eee1cfd46fd469b)(@Roman) + - chore: Da kzgrs-backend unit tests update(@Roman) + [PR 700 - merged](https://github.com/logos-co/nomos-node/pull/700) + - chore: Da dispersal unit tests update(@Roman) + [PR 720 - in progress](https://github.com/logos-co/nomos-node/pull/720) - not easy to keep up with devs + - Enhancements proposed:(@Roman) + - [Byte limits for DaBlob <> Bincode serde](https://github.com/logos-co/nomos-node/issues/714) + - [Remove unused DaBlob::column_id](https://github.com/logos-co/nomos-node/issues/707) + - KZG10 library & Nomos KZG review is in progress by Ramses(@Roman) +- `vac:test-automation-nim-libp2p` + - Gossipsub - Peer discovery(@Alex) + - [On Review](https://github.com/vacp2p/nim-libp2p/pull/1168) + - Gossipsub - Message propagation(@Alex) + - [Ready for review](https://github.com/vacp2p/nim-libp2p/pull/1184) + - Gossipsub - Control Messages(@Alex) + - Begun, no PR yet. +- `admin/misc` + - onboarding with Sam(@Florin and @Sam) + +### vac:acz: +- `secure-channels:waku:mls-poc` + - Creation of [eth-secpm-splitted branch RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-splitted/vac/raw/eth-secure-channel.md) containing 1-to-1 channel specification. + - Creation of [eth-secpm-splitted RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-splitted/vac/raw/eth-demls.md) containing the MLS and the deMLS specifications. + - Correction of linting errors in the [eth-secpm-splitted RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-splitted/vac/raw/decentralized-messaging-ethereum.md) on the ADKG approach. + - Finished [Notion report](https://www.notion.so/WiP-Theoretical-model-for-deMLS-88db0b0f4f7c42db80dff8a02b3bb096) on the theoretical study of deMLS. + - [Notes](https://www.notion.so/Study-of-KZG-and-Marlin-ba1513220e9f42b180f5c02000c3ad10) on KZG for prospective code review. + - Discord conversation with Roman and Daniel (Netwave) about the code review. + - Review splited de-mls rfc [PR](https://github.com/vacp2p/rfc-index/pull/91) + - Review the de-MLS performance [report](https://www.notion.so/WiP-Theoretical-model-for-deMLS-88db0b0f4f7c42db80dff8a02b3bb096) + - Discuss the [authentication mechanism of RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-splitted/vac/raw/decentralized-messaging-ethereum.md) on [discord](https://discord.com/channels/864066763682218004/1280793399091265619/1280793425842540608) +- `consulting:codex:proxy-re-encryption` + - Publication of forum [post](https://forum.vac.dev/t/plausible-deniability-in-distributed-storage-networks/321). +- `zerokit:vac:maintenance` + - Ready for review integration stateless feature for rln-wasm: [PR](https://github.com/vacp2p/zerokit/pull/266) + - Start working with arkzkey: compare circuit loading performance of a compressed arkzkey vs uncompressed arkzkey that is the fist task in the [release 0.6.0](https://github.com/vacp2p/zerokit/issues/263) +- `anon:vac:gossipsub-anonymity` + - Implementing the Mix handler + - Encountering a persistent error with the json_serialization package, which is a [dependency of libp2p](https://github.com/vacp2p/mix/commit/707fabffa31eaabb6e86f77c3937cefb1361ac21). + - Issue faced with all libp2p imports. + - Attempted various approaches to resolve this issue. + - Seems to be an issue within the json_serialization package. + +### vac:sc:: +- `codex::contracts-formal-verification` + - continued with unit test on testing that a host cannot be paid more than once + - https://github.com/codex-storage/codex-contracts-eth/issues/126 + - EIP-4337 research and presentation + - https://www.notion.so/EIP-Discussions-20c25b03a896413c928c4d4ec1fde651?p=0a52c4a419824776a4c0764d8b453c17&pm=s +- `status:staking-contracts-v1` + - Worked on getting `mp-estimate` branch ready for merge + - https://github.com/logos-co/staking/pull/97 + - This was working and green on CI until we've introduced an optimization in + - https://github.com/logos-co/staking/pull/97/commits/9f3d8ff427c13364f006b736485faa75c841f105 + - Investigated the problem, still waiting for a reply from Certora + - Will move optimization into new PR and have it resolve there + - Worked on certora rule `pendingToBeMintedLessEqualThanTotalSupplyBalance` + +### vac:nim: +- `tooling:vac:lsp` + - Troubleshot win 10 issues https://github.com/nim-lang/vscode-nim/issues/93 + - Finish chronos migration https://github.com/nim-lang/langserver/pull/225 +- `tooling:vac:editor` + - Fixes an issue where the extension crashes if there is no workspace + https://github.com/nim-lang/vscode-nim/commit/273dea0d52858c5d1a8346d9207a0af6ebb415f9 + +### vac:rfc: +- `admin/misc` + - Workflow linting - https://github.com/vacp2p/rfc-index/pull/90 + +### vac:dr: +- `admin/misc` + - ooo + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Read about nodes and components (not a lot of info are available). [Moudy] + - Defined and detailed [NSSA node specs](https://hackmd.io/@Moudy/HJ_e1pB2R): Full node components and Sandbox node components. [Moudy] + - Started to write VM and zkVM collab for NSSA. [Ugur][ACZ] +- `zkvm:vac:vm-foundations` + - Work on the [lits of ZkVMs](https://notes.status.im/ugF2lAAKTuG_t5PcdWwuwg): + - Reading node specifications. [Rostyslav] + - Report on zkVM testing. [Rostyslav] + - Research for concrete Rust dependencies for zkMIPS. [Oleksandr] + - Reading node specifications. [Oleksandr] + - Met with Engineers about drafting Zkvms testing results. [Moudy + Team] + diff --git a/content/updates/2024-09-16.md b/content/updates/2024-09-16.md new file mode 100644 index 000000000..cfed7d117 --- /dev/null +++ b/content/updates/2024-09-16.md @@ -0,0 +1,181 @@ +--- +title: "2024-09-16 Vac weekly" +tags: + - "vac-updates" +date: 2024-09-16 +lastmod: 2024-09-16 +draft: false +--- + +## Vac 2024/09/16 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - Reviewable now + - last update comment + - rework closing + - syntactic sugar + - Still some issues on windows/macos, related to nim-usrsctp +- `nimlibp2p:vac:quic` + - [feat(transport): add experimental QUIC Transport (not production ready)](https://github.com/vacp2p/nim-libp2p/pull/725) + - [chore: add support for i386](https://github.com/vacp2p/nim-quic/pull/52) + - [chore: add support for Nim 2](https://github.com/vacp2p/nim-quic/pull/51) + - Researching about [libp2p tls handshake](https://github.com/libp2p/specs/blob/master/tls/tls.md) and the best way to implement it in nim-libp2p +- `nimlibp2p:vac:maintenance` + - Interop Caching; Fix; [PR](https://github.com/vacp2p/nim-libp2p/pull/1193) +- `gossipsub:vac:gossipsub-perf-improvements` + - Worked on [large message improvements article](https://www.overleaf.com/project/65c91200e9dbfb3cafb6edaf) on overleaf. Done with the basic writeup (Results/Discussions section left). + +### vac:tke: +- `admin/misc` + - read paper from shared by Frederico (Juan) +- `nomos:selfish-behavior` + - started studying the selfish proposing problem in PoS (Frederico) +- `codex:cdx` + - researched details to be solved before launching the Codex token (Frederico) + - Read/commented on whitepaper (Juan) + - worked on refining sims code (Juan) +- `status:L2-deployment` + - discussed with Cats Fishing the probability of a fish biting the hook (Frederico) + - analyze successfull campaigns and strategies of competing L2s (Martin) + - discussion around the reward scheme in Cats Fishing (Martin) + - Mostly worked on catsfishing modeling namely: price dynamics, fish population as a function of players, token distribution (Juan) + - Planned meeting with Ned (Juan) +- `status:SNT-staking` + - catching up on SC's work on the staking contract (Martin) +- `waku:general-incentives` + - further researching micropayments (Martin) + - updating TDC (Martin) + - reviewing Sergei's work (Martin) +- `codex:testnet-incentive` + - reviewing docs (Martin) + +### vac:dst: +- `admin:misc` + - Submitted PR for revising milestones for DST and a few other tweaks in logos roadmap + - Two CCs OOO + - Alberto from 10th to 20th of September + - Wings from 13th to 20th of September + - Prepare documentation for OOO of each CC + - Alberto prepared notes and materials on how to do IDONTWANT testing and other + - Wings prepared to deliver reports on Monday +- `vac:dst:deployment-and-analysis:waku:midscale` + - IDONTWANT testing/report + - [Manifests built and tweaked](https://github.com/vacp2p/10ksim/commits/zorlin/heterogenous-idontwant) for spawning heterogenous Waku deployments + - [Test simulation was run to test those manifests](https://www.notion.so/IDONTWANT-Testing-go-waku-nwaku-heterogenous-networks-measuring-the-impact-of-IDONTWANT-1038f96fb65c80c38dd0e834775a6650https://www.notion.so/IDONTWANT-Testing-go-waku-nwaku-heterogenous-networks-measuring-the-impact-of-IDONTWANT-1038f96fb65c80c38dd0e834775a6650) + - Nwaku worked, go-waku has a different binary path and needs a slightly different set of commands, so the simulation didn't fully work. + - Learning about plotting using Alberto's tools. +- `vac:dst:deployment-and-analysis:codex:testnet` + - Discussions with Codex team re: testnet needs + - 50 Codex nodes carving up 500TB of storage + - Discussion with Jesse about Codex needs + - Preparing for Codex storage deployment + - SeaweedFS maintenance + - Reviewing documentation for Codex + - Reading Discord chatter about Codex deployment and how it'll work + - Discussion of Helm/Kubernetes charts for Codex + +### vac:qa: +- `waku:interop-testing-02` + - store sync [merged the PR](https://github.com/waku-org/waku-interop-tests/pull/69)(@Florin) + - fixed the lightpush errors caused by recent nwaku [changes](https://github.com/waku-org/waku-interop-tests/pull/71)(@Florin) + - fixes sharding tests related to recent nwaku [changes](https://github.com/waku-org/waku-interop-tests/pull/72)(@Florin) + - Clone the main repo: [Waku Interop Tests](https://github.com/waku-org/waku-interop-tests)(@Sam) + - Set up the project by installing all dependencies as specified in the repository documentation(@Sam) + - Run a few existing tests to familiarize yourself with the codebase(@Sam) + - Framework understanding and execution of existing test cases locally(@Sam) + - understanding waku existing APIs and flows(@Sam) +- `waku:test-automation-status-go-cli-2` + - added reruns for flaky tests and other adjustments for [status-cli tests](https://github.com/status-im/status-cli-tests/pull/10)(@Florin) +- `nomos:test-automation-data-availability` + - [Test run1 for Nomos/Da - in progress](https://www.notion.so/DA-Test-Plan-Run1-084243a3256c47ae9eee1cfd46fd469b)(@Roman) + - chore: Da dispersal [unit tests update](https://github.com/logos-co/nomos-node/pull/720)(@Roman) +- `vac:test-automation-nim-libp2p` + - Talk to Florin on Testplans: Untestable cases + Speed(@Alex) + - Update Gossipsub - [Peer discovery](https://github.com/vacp2p/nim-libp2p/pull/1168)(@Alex) + - Gossipsub - Control Messages [Draft PR](https://github.com/vacp2p/nim-libp2p/pull/1191)(@Alex) + - Begin Nim Quickstart Guide(@Alex) + +### vac:acz: +- `secure-channels:waku:mls-poc` + - Review [RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-splitted/vac/raw/eth-demls.md) with KSR's comments in mind. Linter and sembr errors, and on-chain components ammended. + - Preparation of forum post about [RFC](https://github.com/vacp2p/zerokit/pull/268). + - Code review for Waku. [Notion document](https://www.notion.so/Code-review-KZG-Commitment-1e4eb54ffda747519ae8a330a90981a7). + - [Discussions](https://forum.vac.dev/t/plausible-deniability-in-distributed-storage-networks/321/2) in Vac's forum on plausible deniability. +- `zerokit:vac:maintenance` + - Merged [PR](https://github.com/vacp2p/zerokit/pull/266) with stateless rln-wasm + - Merged [CI bug](https://github.com/vacp2p/zerokit/pull/267) regarding building rln-cli + - Fixed CI actions version [bug](https://github.com/vacp2p/zerokit/pull/268) - ready for review now + - Created [benchmarks](https://github.com/vacp2p/zerokit/pull/269) for different compression type of arkzkey. Add all result into [release issue](https://github.com/vacp2p/zerokit/issues/263#issuecomment-2348730752) +- `anon:vac:gossipsub-anonymity` + - Update on the Mix protocol [PR](https://github.com/vacp2p/rfc-index/pull/97). Firstly, PoW has been moved to the appendix and other minor comments in the PR have been addressed. + - Merged [PR](https://github.com/vacp2p/rfc-index/pull/97) the first PR of Mixnet RFC + - Drafted the [blog post](https://www.notion.so/Introducing-the-Mix-Protocol-Enhancing-Privacy-Across-libp2p-Networks-1018f96fb65c80f48753e838fa1112a2) on custom Mix Protocol for the VAC forum. + - Review the [mix repo](https://github.com/vacp2p/mix) and related issue. + - Crate a draft milestone for mixnet and discuss with Akshaya + - Read [mixnet blog post](https://www.notion.so/Introducing-the-Mix-Protocol-Enhancing-Privacy-Across-libp2p-Networks-1018f96fb65c80f48753e838fa1112a2) from Akshaya. +- `admin/misc` + - 1 cc take rest on Wednesday(11th September) and Thursday(12th September) because of illness. + +### vac:sc:: +- `status:staking-contracts-v1` + - implemented a more scalable staking contract with a PoC streaming rewards instead of having epochs. (still without multiplier points) https://github.com/gravityblast/staking-rewards-streamer + - Investigated issue related to failing rule that `pendingRewards != sumOfEpochRewards` + - Turns out this was a bug in the staking contract + - https://github.com/logos-co/staking/issues/110 + - Fixed with https://github.com/logos-co/staking/pull/112 + - Meeting: doing a walk-through of staking protocol + - Meeting with team to discuss alternative staking algorithm to calculate rewards and multiplier points + - https://github.com/gravityblast/staking-rewards-streamer/commits/main/ + - Looks promising, will try to integrate into existing protocol and test + - Meet with Status Network ppl to discuss NFT/XP requirements + +### vac:nim: +- `tooling:vac:lsp` + - fixes ci + https://github.com/nim-lang/langserver/commit/883935707f762ce135c27d40b4ef2baf9e85fd86 + - Implements restart nimsuggest extension + https://github.com/nim-lang/langserver/commit/f526163e315d4d6e3cf6fd99cf7b19049d0a0100 + - Adds extension capabilities to status. Fixes a raise condition in checkFile + https://github.com/nim-lang/langserver/commit/caf576ceb08820c817cdca7abb73694624e1083f + - Improves the way ns processes are spawn. Dont need to use threads anymore. + https://github.com/nim-lang/langserver/commit/737eea06b97abbdfb7361626ef189c06fcb5ed6e +- `tooling:vac:editor` + - Troubleshoot user issues + - Retrieves extension capabilities from status instead of fetching it + https://github.com/nim-lang/vscode-nim/pull/100 + - Adds a restart nimsuggest button per nimsuggest instance + https://github.com/nim-lang/vscode-nim/pull/99 + - Retrieves the lsp extension capabilities from the server when available (server >= 1.5.2) + https://github.com/nim-lang/vscode-nim/pull/98 +- `tooling:vac:compiler` + - bumps nimble to 0.16.1 #24102 https://github.com/nim-lang/Nim/pull/24102 +- `tooling:vac:nimble` + - bump version 0.16.1 #1265 https://github.com/nim-lang/nimble/pull/1265 + - release 0.16.1 + +### vac:rfc: +- `codex:specs-init` + - updated Codex specs readme - https://github.com/codex-storage/codex-spec/pull/6 + - started reviewing codex marketplace rfc for another round of feedback +- `admin/misc` + - Finished workflow linting, applied feedback from felicio - https://github.com/vacp2p/rfc-index/pull/90 + +### vac:dr: +- `admin/misc` + - Finished [Fiat-Shamir blog](https://github.com/vacp2p/vac.dev/pull/147) draft; requested reviews. +- `zk:codex:zk-consulting` + - Began investigating Plonk wrappers for final step. + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Prepared a list of answers for engineers regarding Sandbox implementation. [Moudy + Team] + - Finished drafting different case scenarios for different types of executions to be used for testing. [Moudy] + - Researching existing node implementation projects. [Moudy] + - Began working on missing component for membership proof and non-membership proofs for nullifiers and committed UTXO trees. [Marvin][DR] + - Refine the VM & zkVM collab docs. [Ugur][ACZ] + - Discuss a third way to execute SE\DE with Marvin. [Ugur][ACZ] + [Marvin][DR] +- `zkvm:vac:vm-foundations` + - Finished reading node specifications + prepared questions [Rostyslav + Oleksandr] + - Started writing a follow-up blogpost with Zkvms testing results and conclusion. [Mo + diff --git a/content/updates/2024-09-23.md b/content/updates/2024-09-23.md new file mode 100644 index 000000000..17d35dbb4 --- /dev/null +++ b/content/updates/2024-09-23.md @@ -0,0 +1,196 @@ +--- +title: "2024-09-23 Vac weekly" +tags: + - "vac-updates" +date: 2024-09-23 +lastmod: 2024-09-23 +draft: false +--- + +## Vac 2024/09/23 + +### vac:p2p: +- `nimlibp2p:vac:webrtc-transport` + - [Test/Find error PR](https://github.com/vacp2p/nim-webrtc/pull/23) + - [SCTP PR](https://github.com/vacp2p/nim-webrtc/pull/11) + - [Usrsctp repository](https://github.com/status-im/nim-usrsctp) + - Fix the macos problem + - First try using DockerOS (joke on them, they received a [DMCA from Apple](https://github.com/sickcodes/Docker-OSX/issues/799#issuecomment-2320096128) two weeks ago) + - Find the issue using some tricks on the CI. + - `Sockaddr` is not defined in the same way in linux and macos + - Investigate Windows issue + - Using the same CI tricks to try to understand what's the issue +- `nimlibp2p:vac:maintenance` + - review https://github.com/vacp2p/nim-libp2p/pull/1183. Should be good now. + - check the oldest opened PR on nim-libp2p https://github.com/vacp2p/nim-libp2p/pull/664 + - [chore: fix devel compilation issues](https://github.com/vacp2p/nim-libp2p/pull/1195) + - code review +- `nimlibp2p:vac:quic` + - Libp2p TLS handshake + `gossipsub:vac:gossipsub-perf-improvements` + - Worked on identifying performance evaluation methodology/metrics for large message handling article. + - Worked on shadow simulator for updated environments (had to fix a few issues). Still need to update some previous work with current master. + +### vac:tke: +- `nomos:selfish-behavior` + - continued studying the selfish proposing problem in PoS (Frederico) +- `nomos:base-layer` + - analysed the token design of chains similar to Nomos (Frederico) +- `status:L2-deployment` + - developed an implementation for the "fish biting the hook" problem (Frederico) + - Worked on CatsFishing writeup on price dynamics, fish population as a function of players, token distribution (Juan) + - Met with Ned (Juan) + - Met with Based team and helped them with a request request (Juan) + - providing feedback as the XP program details are finalized (Martin) + - continuing the discussion around the reward scheme in Cats Fishing (Martin) + - drafting initial reward structure (Martin) +- `status:SNT-staking` + - monitoring progress of the two branches of staking contract development (Martin) +- `waku:general-incentives` + - meeting the team and discussing RLN and overall Waku economy (Martin) + - monitoring ongoing discussions around Sergei's work and Alvaro's proposal (Martin) +- `admin/misc` + - researching inclusion lists for this week's EIP Discussion series (Martin) +- `codex:cdx` + - reviewed token supply mechanics of similar protocols (Frederico) + - met with the team and discussed the outcome of their offsite (Frederico) + - Met team on Friday to discuss (Juan) + +### vac:dst: +- `admin:misc` + - Two CCs OOO +- `vac:dst:deployment-and-analysis:waku:midscale` + - Ran two heterogenous simulations with Waku, blending IDONTWANT-capable and non-capable nodes. +- `vac:dst:deployment-and-analysis:codex:testnet` + - Researching best method for deploying Codex in VacLab + Riff Labs London, final storage checks +This week: +- `vac:dst:deployment-and-analysis:waku:midscale` + - Action go-waku IDONTWANT discussion/request: + - https://discord.com/channels/1110799176264056863/1276567145785987195 + - Create a report template for results of Store testing + - Start using shards in deployments + - Check with Zoltan/Gabriel if there are updates with duplicated msg/block issues. + - Compile report from simulation data + - Reconnect with Alberto on next steps for deployments +- `vac:dst:deployment-and-analysis:waku:10k` + - Run deployment, check results (using nwaku v0.32-curl) +- `vac:dst:deployment-and-analysis:codex:testnet` + - Deploy at least 100TB worth of Codex nodes, aiming for 500TB and then 1PB of nodes +- `vac:dst:tooling:vac:deployer-tool` + - Progress ArgoCD autodeploy + +### vac:qa: +- `waku:test-automation-status-go-cli-2` + - Discussed with Igor about the future of status testing and how we can help.(@Florin) + - He wants us to use a different tool [statusd](https://github.com/status-im/status-go/tree/develop/cmd/statusd) that will offer greater support for testing. + - When the tool is ready we need to replace status-cli with that one for the existing tests. + - Talk with status QAs on what tests to automate next. + - Get code/line coverage reports when running the tests. +- `vac:test-automation-nim-libp2p` + - Removed Rendezvous part of the Gossipsub test plan and created a [new test plan](https://www.notion.so/Rendezvous-e4c7045ad8f1474c879f30e742666a72)(@Florin) + - [Nim Quickstart Guide](https://www.notion.so/Nim-Quickstart-Guide-1038f96fb65c805783e0cfbc79710dc8)(@Alex) +- `nomos:test-automation-data-availability` + - [Test run1 for Nomos/Da - in progress](https://www.notion.so/DA-Test-Plan-Run1-084243a3256c47ae9eee1cfd46fd469b)(@Roman) + - chore: Da dispersal unit tests update [in progress](https://github.com/logos-co/nomos-node/pull/720) - pair coding session requested(@Roman) + - chore: Improve coverage workflow [merged](https://github.com/logos-co/nomos-node/pull/738)(@Roman) +- `waku:interop-testing-02` + - Raised PR for part 1 for the negative test case of v3 with cursor with 5 test cases. [Part 1]( https://github.com/waku-org/waku-interop-tests/pull/73)(@Sam) + - Raised PR for part 2 for the negative test case of v3 with hashes and other invalid query params with 7 test cases. PR [Part 2](https://github.com/waku-org/waku-interop-tests/pull/74)(@Sam) +- `admin/misc` + - OOO 2 days(@Florin) + - OOO 3 days(@Alex) + - Discussed with Aya, setup meetings and created [first task for her](https://www.notion.so/Aya-First-Task-1068f96fb65c80fe9c9bf617b6cf0427)(@Florin) + - Had few debugging wrt repo permission and raising PR as part of setup for waku-interop-tests(@Sam) + + +### vac:acz: +- `secure-channels:waku:mls-poc` + - Create [Decentralized nonce generation page](https://www.notion.so/WiP-Decentralized-nonce-generation-1048f96fb65c80cdb7b1df1b861ce71e) for Decentralized usage of SIWE for the [RFC](https://github.com/vacp2p/rfc-index/blob/eth-secpm-splitted/vac/raw/eth-demls.md). + - Discuss [KZG code review](https://www.notion.so/Code-review-KZG-Commitment-1e4eb54ffda747519ae8a330a90981a7) from [discord](https://discord.com/channels/864066763682218004/1286267535297351772/1286267539579736106) + - Study on decentralized authentication based on this [discord message](https://discord.com/channels/864066763682218004/1242042888926396436/1285519000414982186) + - Started to review Ramses' [decentralized nonce gen](https://www.notion.so/WiP-Decentralized-nonce-generation-1048f96fb65c80cdb7b1df1b861ce71e) doc + - Review the [prism](https://github.com/deltadevsde/prism) based on the Frank message from discord. +- `zerokit:vac:maintenance` + - Merged [PR](https://github.com/vacp2p/zerokit/pull/268) about fixing CI + - Tried defining the zkey in the code, but it turned out to be unprofitable. Finished working with arkzkey - change to uncomressed key. [PR](https://github.com/vacp2p/zerokit/pull/269) now is ready for review + - Improve CI regarding new features - check that all tests and benchmarks are run for all features. [PR](https://github.com/vacp2p/zerokit/pull/270) now is ready for review + - Started working on PoC with [circom-witness-rs](https://github.com/philsippl/circom-witness-rs ) instead of using the zkey. +- `anon:vac:gossipsub-anonymity` + - [Made tag manager](https://github.com/vacp2p/mix/commit/2f2f4dabda6ae89d0871385825afb3d3783c2dcd) and related [usage GC-safe](https://github.com/vacp2p/mix/commit/88f7a1ad6da5d55824d9d37b0f59dc94c4d5bce4). + - Implementing mix libp2p protocol [handler server side](https://github.com/vacp2p/mix/commit/eb75cce4841b87bc73760c605ee92baa4ff15a29#diff-e743d8212dfb234be83190b34e4c192f6f2494ae2b253c5a98e2fd31451c1894R10) (WIP). Finished intermediary nodes, exit still remaining. + - Finished generic network manager implementation. May need to adapt it to our mix handler implementation. + +### vac:sc:: +- `status:staking-contracts-v1` + - implemented multiplier points in the rewards streaming contract https://github.com/vacp2p/staking-reward-streamer + - more research on rewards algorithms based on discussions with Token Economics team + - remove mintBonusMP internal function + - https://github.com/logos-co/staking/pull/130 + - improve execute functions + - https://github.com/logos-co/staking/pull/129 + - fix finalizeEpoch to use last epoch epochEnd + - https://github.com/logos-co/staking/pull/127 + - fix CI taking too long + - https://github.com/logos-co/staking/pull/126 + - Introduced shared spec functions to reuse across certora spec file + - PR: https://github.com/logos-co/staking/pull/117 + - Added tests to staking rewards streamer contract + - PR: https://github.com/vacp2p/staking-reward-streamer/pull/2 + - Worked on more tests, taking lockup time into account + - Worked on MP calculation correctness rule in certora +- `vac:maintainance/misc` + - merged pre-commit hook to run adorno + - smallfix on pre-commit hook + - https://github.com/vacp2p/foundry-template/pull/37 + +### vac:nim: +- `tooling:vac:lsp` + - Allows to restart nimsuggest per file basis + https://github.com/nim-lang/langserver/pull/235 + - Expands how cancellable requests work #236 + https://github.com/nim-lang/langserver/pull/236 + - adds a tick function and adds more information into PendingRequests #237 + https://github.com/nim-lang/langserver/pull/237 + - Refactor so it doesnt pass around Future[NimSuggest] around but Project. #238 + https://github.com/nim-lang/langserver/pull/238 + - Adds ProjectErrors into Status so the extension can show nimsuggest crashes in the extension panel #240 + https://github.com/nim-lang/langserver/pull/240 + - Adds formatting support when nph is in path #241 + https://github.com/nim-lang/langserver/pull/241 +- `tooling:vac:editor` + - Allows to restart nimsuggest per file basis + https://github.com/nim-lang/vscode-nim/pull/102 + - Implements the pending requests panel + https://github.com/nim-lang/vscode-nim/pull/10 + +### vac:rfc: +- `codex:specs-init` + - worked on codex erasue coding rfc, still work in progress (Jimmy) + - Reviewed marketplace rfc to provide feedback, work still in progress (jimmy) + +### vac:dr: +- `admin/misc` + - continue work on ZK notions page + - Made requested changes to [Fiat-Shamir blog](https://github.com/vacp2p/vac.dev/pull/147) + - Work on document outlining Codex tasks for new ACZ zk engineer. +- `zk:codex:zk-consulting` + - Began reading [Epistle](https://eprint.iacr.org/2024/872.pdf): elastic version of Plon + +### vac:nes: +- `state-separation:vac:state-separation-architecture-01` + - Added different [case scenarios](https://www.notion.so/NSSA-Sandbox-scenarios-to-test-10a8f96fb65c8041ac99ce028ea0494f) for different types of executions to be used for testing. [Moudy] + - Looked into different components mostly interaction between VM and ZKVM. [Moudy] + - Researched existing node implementation projects. [Moudy] + - Study on the private kernel circuit specs. [Ugur][ACZ] + - Finish [document](https://hackmd.io/wUzyA2yGSBeeuhVzLqK5Ww?view) on membership/non-membership proofs for sparse Merkle trees. [Marvin][DR] + - Began studying recursive circuit. [Marvin][DR] +- `zkvm:vac:vm-foundations` + - Meeting with Oleksandr on node components. [Rostyslav + Oleksandr] + - Checked on recursiveness requirements on zkVMs. [Rostyslav] + - Looked through dependencies from the architecture and node architecture doc. [Rostyslav + Oleksandr] + - Checked appropriate data structures for storage. [Oleksandr] + - Checked serialization methods. [Oleksandr] + - Defined processes distribution of components. [Oleksandr] + - Worked of finishing follow-up blogpost with Zkvms testing results and conclusion. [Moudy] + + diff --git a/content/waku/2023-milestones.md b/content/waku/2023-milestones.md deleted file mode 100644 index 6f7a527f9..000000000 --- a/content/waku/2023-milestones.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: 2023 Milestones -date: 2023-08-07 -lastmod: 2024-03-07 -draft: false ---- -### Milestone: Waku Network can Support 1 Million Users -Link: https://github.com/waku-org/pm/milestone/4 -Due by: 2023-11-30 - -Epic: Cater for professional operators (Status Communities) -- Link: https://github.com/waku-org/pm/issues/92 -- Issues in Epic: - - https://github.com/waku-org/nwaku/issues/1929 - - https://github.com/fryorcraken/milestone-update/ - -Epic: Simulation with 10k nodes -- Link: https://github.com/waku-org/pm/issues/85 -- Issues in Epic: -- https://github.com/vacp2p/research/issues/191 - -Epic: PostgreSQL in service node: Further optimisations -- Link: https://github.com/waku-org/pm/issues/84 -- Issues in Epic: -- https://github.com/waku-org/nwaku/issues/1894 -- https://github.com/waku-org/nwaku/issues/1893 -- https://github.com/waku-org/nwaku/issues/1888 -- https://github.com/waku-org/nwaku/issues/1885 -- https://github.com/waku-org/nwaku/issues/1842 -- https://github.com/waku-org/nwaku/issues/1841 -- https://github.com/waku-org/nwaku/issues/1840 -- https://github.com/waku-org/nwaku/issues/1604 - -### Milestone: Waku Network Gen 0 -Link: https://github.com/waku-org/pm/milestone/1 -Due by: 2023-12-01 - -Epic: 3.4: Production and memberships on mainnet -- Link: https://github.com/waku-org/pm/issues/87 - -Epic: 3.4: Further memberships -- Link: https://github.com/waku-org/pm/issues/72 - -Epic: 3.3: Membership for Status Communities -- Link: https://github.com/waku-org/pm/issues/71 - -Epic: 3.2: Basic DoS protection in production -- Link: https://github.com/waku-org/pm/issues/70 -- Issues in Epic: - - https://github.com/waku-org/go-waku/issues/732 - - https://github.com/waku-org/go-waku/issues/731 - - https://github.com/waku-org/go-waku/issues/655 - -Epic: 1.5: Launch and dogfood integrated public Waku Network MVP -- Link: https://github.com/waku-org/pm/issues/68 -- Issues in Epic: - - https://github.com/waku-org/research/issues/1 - -Epic: 1.4: Sharded peer management and discovery -- Link: https://github.com/waku-org/pm/issues/67 -- Issues in Epic: - - https://github.com/waku-org/nwaku/issues/1941 - - https://github.com/waku-org/nwaku/issues/1940 - - https://github.com/waku-org/js-waku/issues/1505 - - https://github.com/waku-org/js-waku/issues/1504 - - https://github.com/waku-org/go-waku/issues/727 - - https://github.com/waku-org/go-waku/issues/680 - - https://github.com/waku-org/go-waku/issues/679 - - https://github.com/waku-org/go-waku/issues/678 - -Epic: 1.3: Node bandwidth management mechanism -- Link: https://github.com/waku-org/pm/issues/66 -- Issues in Epic: - - https://github.com/waku-org/nwaku/issues/1947 - - https://github.com/waku-org/nwaku/issues/1946 - - https://github.com/waku-org/nwaku/issues/1945 - - https://github.com/waku-org/nwaku/issues/1938 - - https://github.com/waku-org/js-waku/issues/1503 - - https://github.com/waku-org/go-waku/issues/677 - -Epic: 1.2: Autosharding for autoscaling -- Link: https://github.com/waku-org/pm/issues/65 -- No issues in Epic description. - -Epic: 2.3: Basic distributed Store services -- Link: https://github.com/waku-org/pm/issues/64 - - -Epic: 2.2: Sharded capability discovery for light protocols -- Link: https://github.com/waku-org/pm/issues/63 -- Issues in Epic: - - https://github.com/waku-org/js-waku/issues/1506 - -Epic: 2.1: Production testing of existing protocols -- Link: https://github.com/waku-org/pm/issues/49 -- Issues in Epic: - - https://github.com/waku-org/nwaku/issues/1950 - - https://github.com/waku-org/nwaku/issues/1948 - - https://github.com/waku-org/nwaku/issues/1888 - - https://github.com/waku-org/js-waku/issues/1463 - - https://github.com/waku-org/js-waku/issues/914 - -Epic: Dogfood RLN in production -- Link: https://github.com/waku-org/pm/issues/51 -- No issues in Epic description. - -Epic: Open membership mechanism -- Link: https://github.com/waku-org/pm/issues/52 - -Epic: RLN validation in production -- Link: https://github.com/waku-org/pm/issues/55 - -Epic: Autosharding - dogfooding -- Link: https://github.com/waku-org/pm/issues/58 -### Milestone: Quality Assurance processes are in place --Link: https://github.com/waku-org/pm/milestone/3 -Due by: 2024-03-31 - - Epic: Comprehensive Dev Testing -- Link: https://github.com/waku-org/pm/issues/90 -- Issues in Epic: - - https://github.com/fryorcraken/milestone-update/ - - https://github.com/waku-org/js-waku/issues/1589 - - https://github.com/waku-org/js-waku/issues/1435 - - https://github.com/waku-org/js-waku/issues/337 - - https://github.com/waku-org/js-waku/issues/1595 - - https://github.com/waku-org/js-waku/issues/1597 - -Epic: Automated Release processes -- Link: https://github.com/waku-org/pm/issues/86 -- Issues in Epic: - - https://github.com/waku-org/nwaku/issues/1889 - - https://github.com/waku-org/js-waku/issues/1543 - - https://github.com/waku-org/waku-rust-bindings/issues/67 - -Epic: End-to-end testing -- Link: https://github.com/waku-org/pm/issues/34 -- Issues in Epic: - - https://notes.status.im/s/iylE6wdli# - - https://github.com/waku-org/go-waku/issues/608 -### Milestone: Support Many Platforms -Link: https://github.com/waku-org/pm/milestone/2 -Due by: 2024-04-30 - -Epic: Ship RLN as part of non-native SDKs -- Link: https://github.com/waku-org/pm/issues/88 -- Issues in Epic: - - https://github.com/waku-org/go-zerokit-rln/issues/5 - - https://github.com/waku-org/go-waku/issues/732 - - https://github.com/waku-org/nwaku/issues/2033 - - https://github.com/fryorcraken/milestone-update/ - -Epic: REST API service node -- Link: https://github.com/waku-org/pm/issues/82 -- Issues in Epic: - - https://github.com/waku-org/nwaku/issues/1988 - - https://github.com/waku-org/nwaku/issues/1985 - - https://github.com/waku-org/nwaku/issues/1910 - - https://github.com/waku-org/nwaku/issues/1909 - - https://github.com/waku-org/nwaku/issues/1872 - - https://github.com/waku-org/nwaku/issues/1652 - - https://github.com/waku-org/nwaku/issues/1214 - - https://github.com/waku-org/nwaku/issues/1076 - - https://github.com/waku-org/nwaku/issues/938 - - https://github.com/waku-org/go-waku/issues/264 - -Epic: NodeJS Library -- Link: https://github.com/waku-org/pm/issues/81 -- Issues in Epic: - - https://github.com/waku-org/nwaku/issues/1332 \ No newline at end of file diff --git a/content/waku/2024-gantt.md b/content/waku/2024-gantt.md deleted file mode 100644 index c211f4240..000000000 --- a/content/waku/2024-gantt.md +++ /dev/null @@ -1,159 +0,0 @@ -# Waku Roadmap 2024 Gantt Chart - -Status short term work only: - -- reliability for 1:1 chat and communities -- up to 100 communities - -Colour legend: - -- **Red**: engineering work to deliver the feature. -- Other: test and telemetry work to ensure quality - -Prefix legend: -- `TBC`: Yet to be scheduled or estimation needs to be locked in. - -Completion dates are delivery of the code + **dogfooding**. - -If too hard to read, try to see this file in [GitHub](https://github.com/logos-co/roadmap/blob/v4/content/waku/2024-gantt.md). - -```mermaid -gantt - dateFormat YYYY-MM-DD - axisFormat %d-%b - weekday monday - -%% Team legend: -%% task name: team (accountable person) -%% - r-*: research (jm-clius) -%% - t-*: telemetry (fryorcraken) -%% - n-*: nwaku (ivansete) -%% - j-*: js-waku (weboko) -%% - c-*: chat (plopezlpz) -%% - g-*: go-waku (fryorcraken) -%% - bd-*: BD (pedro) -%% - se-*: Solution Engineer (vpavlin) - -%% Milestones overview with deliverables - section Store Service Upgrade - Store v3 (sync): crit, milestone, after r-storev3sync n-storev3sync, 0 - DoS protection for req-res protocols: crit, milestone, after n-dosreqres g-dosreqres, 0 - PostgreSQL maintenance: crit, milestone, after n-pgsql-m, 0 - section Direct Message Reliability - (telemetry) direct message reliability: milestone, after t-d-msg-rel-1 t-d-msg-rel-2, 0 - Reliability Protocol for Resource-Restricted Clients: crit, milestone, after j-rel-reqres-1 j-rel-reqres-2, 0 - Review MVDS usage and fail path: crit, milestone, after c-mvds, 0 - PostgreSQL optimisation - phase 1: milestone, after n-pgsql-opt-1, 0 - section E2e reliability protocol - E2e reliability protocol PoC: milestone, crit, after r-e2e-rel, 0 - E2e reliability protocol Status integration: milestone, crit, after r-e2e-rel-status c-e2e-rel-status, 0 - section Static Sharding - dedicated shards - (telemetry) Measure Bandwidth: milestone, after t-bandwidth, 0 - (telemetry) Sharding: milestone, after t-sharding, 0 - Sharding peer mgmt and discovery hardening: crit, milestone, after n-shard-peer-mgmt g-shard-peer-mgmt, 0 - (testing) Custom shard impl of Communities: milestone, after c-test-custom-shard, 0 - PostgreSQL optimisation - phase 2: milestone, after n-pgsql-opt-2, 0 - Setup Waku Community on dedicated shard with pre-shared key dos protection: milestone, after waku-com, 0 - section Bandwidth optimisation and Communities protocol review - %% For now same person scheduled to do both research and implementation - Minimal Community Specification and Implementation: milestone, after r-min-com-spec c-min-com-spec, 0 - Review usage of content topics in Status Communities protocol: milestone, after r-cont-topic, 0 - Specify de-MLS over Waku: milestone, after r-demls-spec, 0 - %% TODO: schedule - TBC Telemetry review: milestone, after r-telem-review, 0 - TBC Minimal solution for greedy messages: milestone, after r-min-sol-com, 0 - TBC Define long-term solution: milestone, after r-define-com-sol, 0 - section Nwaku in Status Desktop (Relay mode) - Nwaku on Windows: milestone, after n-nwaku-windows, 0 - Nwaku in Status Desktop: milestone, after n-nwaku-status-desktop, 0 - section RLN Mainnet - Implement RLN smart contract for paid, multilevel memberships: milestone, after r-rln-sc n-rln-sc j-rln-sc, 0 - Public dogfooding RLNaaS web app: milestone, after j-pub-dogfood-web-app-1 j-pub-dogfood-web-app-2, 0 - section Scale up number of Communities - Usage of rendezvous: milestone, after r-rendezvous, 0 - section Incentivise running a Waku infrastructure node - RLN Relay Incentivisation: milestone, after r-rln-relay-incent, 0 - Service Incentivisation: milestone, after r-svc-incent, 0 - section Demonstrate product market-fit - Define cost (self-host): milestone, after bd-define-cost, 0 - Define potential USPs: milestone, after bd-define-usps, 0 - Define target customers: milestone, after bd-define-custs, 0 - Customer interviews: milestone, after cust-int, 0 - Co-design sessions: milestone, after bd-codesign se-codesign, 0 - Review Waku MVP: milestone, 2025-01-15, 0 - -%% Tasks - section Chat.plopezlpz - (testing) Custom shard impl of Communities: c-test-custom-shard, 2024-08-26, 2024-09-30 - Setup Waku Community on dedicated shard with pre-shared key dos protection: waku-com, after c-test-custom-shard, 2w - section Chat.kaichaosun - Review MVDS usage and fail path: crit, c-mvds, 2024-08-01, 2024-09-30 - Minimal Community Specification and Implementation: c-min-com-spec, after c-mvds, 12w - section Go.richard-ramos - Implement RLN smart contract for paid, multilevel memberships: r-rln-sc, 2024-09-01, 6w - Nwaku in Status Desktop: n-nwaku-status-desktop, after n-rln-sc, 2025-01-31 - Status Support: status-support-rr, 2024-09-01, 2024-12-31 - section Go.chaitanyaprem - DoS Protection for Req-Res Protocols: crit, g-dosreqres, 2024-08-01, 2024-09-15 - Sharding peer mgmt and discovery hardening: crit, g-shard-peer-mgmt, 2024-08-26, 2024-09-12 - Review usage of content topics in Status Communities protocol: r-cont-topic, after g-shard-peer-mgmt, 10w - section EcoDev.vpavlin - (telemetry) direct message reliability: t-d-msg-rel-1, 2024-08-26, 2024-09-25 - (telemetry) Measure Bandwidth: t-bandwidth, after t-d-msg-rel-1, 8w - %% TODO: do bandwidth telemetry? - E2e reliability protocol Status integration: crit, c-e2e-rel-status, after r-e2e-rel, 6w - %% TODO: fit that properly - Specify de-MLS over Waku: r-demls-spec, 2024-10-01, 4w - Co-design sessions: bd-codesign, after cust-int, 2024-11-15 - section Go.adklempner - (telemetry) direct message reliability: t-d-msg-rel-2, 2024-08-01, 2024-09-25 - (telemetry) sharding: t-sharding, after t-d-msg-rel-2, 4w - section Test.stubbsta - (simulation) Functionality and stress test store v3: sim-storev3, 2024-07-08, 8w - (simulation) Functionality and stress test store v3 sync: sim-storesync, 2024-09-01, 10w - (simulation) Reliability performance impact: sim-rel, after sim-storesync, 10w - section Res.shash256 - E2e reliability protocol - PoC: crit, r-e2e-rel, 2024-08-01, 2024-09-06 - E2e reliability protocol Status integration: r-e2e-rel-status, after r-e2e-rel, 10w - section Res.sionois - %% Only dogfooding remaining - Store v3 (sync): crit, r-storev3sync, 2024-08-01, 2024-09-20 - Store v3 - follow-up: after storev3-r, 8w - Peer mgmt - follow-up: after storev3-r, 8w - Usage of rendezvous: r-rendezvous, after r-storev3sync, 8w - section Res.alrevuelta - RLN Relay Incentivisation: r-rln-relay-incent, 2024-09-01, 2024-12-31 - section Res.s-tikhomirov - Implement RLN smart contract for paid, multilevel memberships: rln-sc-d, 2024-09-01, 6w - Service Incentivisation: r-svc-incent, 2024-09-01, 2024-12-31 - section Nim.Ivansete - Store v3 (sync): crit, n-storev3sync, 2024-08-15, 2024-09-20 - PostgreSQL Maintenance: crit, n-pgsql-m, 2024-08-01, 2024-09-18 - %% TODO review date/estimate - PostgreSQL Optimisation - phase 1: n-pgsql-opt-1, after n-pgsql-m, 6w - PostgreSQL Optimisation - phase 2: n-pgsql-opt-2, after n-pgsql-opt-1, 8w - Nwaku in Status Desktop: n-nwaku-status-desktop-2, after n-pgsql-opt-1, 6w - section Nim.NagyZoltanPeter - DoS Protection for Req-Res Protocols: crit, n-dosreqres, 2024-08-01, 2024-09-15 - %% TODO review - TBC Store v3-beta + v3 (nwaku hardening): crit, storev3-n, after storev3-df dosreqresn, 3w - Nwaku in Status Desktop: n-nwaku-status-desktop-n, after storev3-n, 12w - section Nim.gabrielmer - Sharding peer mgmt and discovery hardening: crit, n-shard-peer-mgmt, 2024-08-01, 2024-09-12 - section Nim.darshankabariya - %% TODO: review estimate - Nwaku on Windows: n-nwaku-windows, 2024-08-15, 6w - section Js.weboko - Reliability Protocol for Resource-Restricted Clients: crit, j-rel-reqres-1, 2024-08-01, 2024-09-13 - Public dogfooding RLNaaS web app: j-pub-dogfood-web-app-1, after j-rel-reqres-1, 8w - Implement RLN smart contract (js-waku): j-rln-sc, after j-pub-dogfood-web-app-1, 10w - section Js.danisharora099 - Reliability Protocol for Resource-Restricted Clients: crit, j-rel-reqres-2, 2024-08-01, 2024-09-13 - Public dogfooding RLNaaS web app: j-pub-dogfood-web-app-2, after j-rel-reqres-2, 8w - section BD.pedro - Define cost (self-host): bd-define-cost, 2024-08-01, 2024-11-30 - Define potential USPs: bd-define-usps, 2024-09-01, 2024-11-30 - Define target customers: bd-define-custs, 2024-09-01, 2024-09-30 - Customer interviews: cust-int, after bd-define-custs, 2024-10-31 - Co-design sessions: bd-codesign, after cust-int, 2024-11-15 -``` diff --git a/content/waku/2024-milestones.md b/content/waku/2024-milestones.md deleted file mode 100644 index f7c670547..000000000 --- a/content/waku/2024-milestones.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: 2024 Milestones -date: 2024-06-04 ---- - -- [Store Service Upgrade](waku/milestones/2024-bandwidth-optimization-and-protocol-review.md) -- [Direct Message Reliability](waku/milestones/2024-direct-msg-reliability.md) -- [End-to-end reliability protocol](waku/milestones/2024-e2e-reliability-protocol.md) -- [Static Sharding - dedicated shards](waku/milestones/2024-static-sharding-dedicated-shards.md) -- [Bandwidth optimization and protocol review](waku/milestones/2024-bandwidth-optimization-and-protocol-review.md) -- [Scale up number of Communities](waku/milestones/2024-scale-one-to-one-chat-poc.md) -- [Nwaku in Status Desktop (Relay, *nix)](waku/milestones/2024-nwaku-in-status-desktop.md) -- [Scale 1:1 chat messages PoC](waku/milestones/2024-scale-one-to-one-chat-poc.md) diff --git a/content/waku/collaboration/guidelines-for-collaboration.md b/content/waku/collaboration/guidelines-for-collaboration.md deleted file mode 100644 index d656dcee1..000000000 --- a/content/waku/collaboration/guidelines-for-collaboration.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Guidelines for Collaboration -tags: - - Waku - - collaboration -date: 2024-07-18 -lastmod: 2024-07-18 ---- - -# Guidelines for Collaboration - -## Visibility Into Work and Productivity - -- **Daily Standup** The `stand-up` channel on the Waku Discord server is where core contributors share their daily stand up summarizing their daily planned tasks. -- **Weekly Report**: Every Friday, all team members must add a comment to the *Epic* GH issue they own and worked on the past week or planned to work on next week. See [Waku project management](https://github.com/waku-org/pm#readme) for more. -- **Track your work with Github issues**: Make sure to always have an open Github issue corresponding to your current task. Follow the following post for some [insights on how to write good Github issues](https://wiredcraft.com/blog/how-we-write-our-github-issues/). -- **Quality Github pull requests**: Github issues are (typically) followed by one or multiple Github pull requests (PR) to address the task(s) set out in the issue. PRs should be of *reasonable size* and with *proper documentation*. All commits within the PR [should be signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits). Do not forget to [request PR review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review) from your peers when your PR is ready. Before merging an open PR, all commits should be rebased on master and squashed into a single commit with a [semantic commit message](https://www.conventionalcommits.org/en/v1.0.0/). Use the following guides on how to make a good PR - - [Anatomy of a perfect pull request](https://opensource.com/article/18/6/anatomy-perfect-pull-request) - - [How to write a perfect pull request](https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/). This post expands on good PR documentation and communication. -- **PR Reviews:** Spend a portion (10-20%) of your daily work reviewing other team members’ Pull requests. This will allow a swift and smooth development process. -- **Seek feedback** Do not hesitate to seek feedback from the senior members of the team, especially those who work closely with you. -- **Communicate effectively:** Know the team members that are relevant to your project and get their feedback and comments on your project when need be. - -## Communication media - -- **Basic principle:** Waku is an open-source protocols and software. We are part of a wider community. As such, your first instinct should be to communicate *as openly as possible* in the forum/channel most suited to your query. That said, we have channels for team-internal communications that relate to project management, team travel or other more personal conversations. -- **Discord server:** it takes a while to get used to the bewildering number of channels on the Waku Discord server. Here are some guidelines to help you get started: - - `#intros`: a good place to introduce yourself to the community once you’ve joined - - `#gm`: a quick “good morning” when you start your day adds to a friendly environment and shows other community members that you’re online - - `#stand-up`: daily one-liners indicating what your focus will be for the day - - `#support`: general support questions related to Waku protocols or the organisation - - `#nwaku-contribute`, `#go-waku-contribute`, `#js-waku-contribute`: discussions related to the nim, go and JavaScript Waku v2 clients respectively - - `#team-pm-private`: team-internal discussions related to Waku Product project management. - - We maintain various team-internal channels, including `#afk`, `#watercooler`, `#events`, and more, which facilitate sharing while we work -- **Examples:** - - *You’re getting started and have a question related to the nwaku codebase:* ask away in the open `#nwaku-contribute` channel. Feel free to tag specific people that you think may help, but don’t be too surprised if other community members jump in with an answer. - - *While reading a Waku RFC you have a suggestion on how to improve the protocol:* ping the team on the open `#support` channel for general question about protocols, or `#rfc` if it is about phrasing or clarity in the RFC. You could also create a GH issue in the [vacp2p/rfc](https://github.com/vacp2p/rfc) repository. - - *You want to inform the team that you’re off sick:* use the team-internal `#afk` channel. - -## Autonomy and Motivation - -- **Alignment with principles**: Waku follows a set of principles as described in https://status.im/about/, a good understanding of those is vital to making a meaningful contribution to the team. Should you have any questions regarding the principles, do not hesitate to reach out to your team members for more insights and explanations. -- **Familiarize yourself with relevant tools and tech** Your work involves knowledge of the basics of Git and [Github](https://docs.github.com/) e.g., creating issues, pull requests (PRs), branches, merging, rebasing, etc. Spend some time and familiarize yourself with these concepts. diff --git a/content/waku/collaboration/nwaku-release-process.md b/content/waku/collaboration/nwaku-release-process.md deleted file mode 100644 index 7ff26fda7..000000000 --- a/content/waku/collaboration/nwaku-release-process.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: nwaku Release Process -tags: - - Waku - - collaboration - - nwaku -date: 2024-07-22 -lastmod: 2024-07-22 ---- - -## Testing week - -On each release, we establish a testing period of one week, when we lock the `waku.test` fleet so that it only runs the target version. During that period, we need to continuously stress that fleet from the sandbox machine, for example. - -It is important to make sure the `waku-simulator` works as expected and the nodes can establish connections among themselves. - -During that week, the release owner needs to check the *Kibana* logs from the previous month (since the last release was deployed) looking for possible crashes or errors in `waku.test` & `waku.sandbox`. These are the most relevant logs to check: - -- `(fleet: "waku.test" OR fleet: "waku.sandbox") AND message: "SIGSEGV"` - -Make sure that Status client works properly when connected to a fleet running on the release candidate version. For it, please follow its corresponding [guide](waku/collaboration/test-nwaku-on-status.md). - -## Release Calendar - -| Name | Date | Release Owner | nwaku-version | -|------------|------------|------------|------------| -| wakuv2.test deployment | 2024-01-15 | SP | 0.24.0 | -| wakuv2.prod deployment | 2024-01-22 | SP | 0.24.x | -| wakuv2.test deployment | 2024-02-12 | Zoltan | 0.25.0 | -| wakuv2.prod deployment | 2024-02-19 | Zoltan | 0.25.x | -| waku.test deployment | 2024-03-11 | Zoltan | 0.26.0 | -| waku.sandbox deployment | 2024-03-18 | Zoltan | 0.26.x | -| waku.test deployment | 2024-04-15 | Gabriel | 0.27.0 | -| waku.sandbox deployment | 2024-04-22 | Gabriel | 0.27.x | -| waku.test deployment | 2024-05-13 | Gabriel | 0.28.0 | -| waku.sandbox deployment | 2024-05-20 | Gabriel | 0.28.x | -| waku.test deployment | 2024-06-10 | Ivan | 0.29.0 | -| waku.sandbox deployment | 2024-06-17 | Ivan | 0.29.x | -| waku.test deployment | 2024-06-24 | Ivan | 0.30.0 | -| waku.sandbox deployment | 2024-06-26 | Ivan | 0.30.x | -| waku.test deployment | 2024-07-22 | Ivan | 0.31.0 | -| waku.sandbox deployment | 2024-07-24 | Ivan | 0.31.x | -| waku.test deployment | 2024-08-26 | Zoltan | 0.32.0 | -| waku.sandbox deployment | 2024-08-28 | Zoltan | 0.32.x | -| waku.test deployment | 2024-09-23 | Zoltan | 0.33.0 | -| waku.sandbox deployment | 2024-09-25 | Zoltan | 0.33.x | -| waku.test deployment | 2024-10-28 | Gabriel | 0.34.0 | -| waku.sandbox deployment | 2024-10-30 | Gabriel | 0.34.x | diff --git a/content/waku/collaboration/onboarding-guide.md b/content/waku/collaboration/onboarding-guide.md deleted file mode 100644 index 5e252b307..000000000 --- a/content/waku/collaboration/onboarding-guide.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Onboarding Guide -tags: - - Waku - - collaboration -date: 2024-07-18 -lastmod: 2024-07-18 ---- - -# Onboarding guide - -Welcome to Waku! There’s quite a lot to learn so take your time. Here are a few links and some things to start with. - -## Vac & Waku - -Vac is a wide team that builds public good protocols for the decentralized web - [vac](https://vac.dev/). - -Waku originated as an incubation project within Vac with the goal of defining and implementing decentralized communication protocols. We have since evolved into a standalone team, while maintaining close collaboration with Vac, which continues to facilitate the RFC process - [waku](https://waku.org/). - -At Waku, each team member may split their working hours between research and sw development, depending on the team goals and personal interests. - -- Research: describe protocols in a formal/scientific way - https://github.com/waku-org/research. -- SW development: materialization of the protocols into software components - https://github.com/waku-org. - -## Collaboration Guideline - -Have a read at our [Collaboration Guidelines](https://www.notion.so/Guidelines-for-Collaboration-59cf0b0b6c43419fb2467ca5ac36fed1?pvs=21) to acquaint yourself with our collaboration best practices. - -## Starter tasks - -- Complete the BambooHR [tasks](https://statusim.bamboohr.com/inbox/onboarding/) (can be followed in parallel with other tasks.). -- Try out the [Status app](http://status.im/) -- Get familiar with Nim. -Recommendations: - - [Status Nim Style Guide](https://status-im.github.io/nim-style-guide/) - - [Nim Language](https://nim-lang.org/) - - “Nim in Action” book (Dominik Picheta) - - “Mastering Nim” book (Andreas Rumpf) - - [Exercism course on Nim](https://exercism.org/tracks/nim/) - - “[Computer Programming with the Nim Programming Language](https://ssalewski.de/nimprogramming.html)” book (Stefan Salewski) -- Meet the Waku specification -Waku is a communication layer for Web3. -There are three main Waku-client implementations: - - [nwaku](https://github.com/waku-org/nwaku): Nim implementation aimed to be used by the infrastructure nodes. - - [go-waku](https://github.com/waku-org/go-waku): Golang implementation aimed to be used by the Desktop app. - - [js-waku](https://github.com/waku-org/js-waku): JavaScript implementation designed to be run by web browsers. - - Aside from the Waku project, Vac also gives a big contribution in the next ones: - - - Logos, a Blockchain protocol whose clients would be built in Nim and Rust - [Logos](https://logos.co/). - - Codex, a decentralized storage protocol (IPFS) - [code-research](https://github.com/status-im/codex-research), [nim-codex](https://github.com/status-im/nim-codex). -- Build [nwaku](https://www.notion.so/2fd36c23256d4850b22535b8623bd6e5?pvs=21). We encourage all core contributors to run a long-lived nwaku node as an operator. More details [here](https://www.notion.so/a78faaa8e76d44fd963415999408ed11?pvs=21). -Useful resources: - - [Examples](https://github.com/waku-org/nwaku/tree/master/examples/) - - [Docs](https://github.com/waku-org/nwaku/tree/master/docs) -- Skim specs (primarily Vac, but also Status) and try to get a picture of how things fit together. You do not have to read all the specifications all at once (it may get a bit confusing). We suggest start reading them in the following order, it is just a suggestion, feel free to do it the way you want!:). - -While reading RFCs note that there are two versions of WAKU namely WAKU1 and WAKU2. Vac RFCs related to WAKU2 are WAKU2 prefixed whereas other ones are prefixed by WAKU or WAKU1. For example, 8/WAKU-MAIL and 13/WAKU2-STORE are RFCs for WAKU1 and WAKU2, respectively. - - 1/COSS - - 10/WAKU2 - - 16/WAKU2-RPC - - 11/WAKU2-RELAY | 14/WAKU2-MESSAGE | 23/WAKU2-TOPICS | 26/WAKU2-PAYLOAD - - 12/WAKU2-FILTER - - 19/WAKU2-LIGHTPUSH - - 13/WAKU2-STORE - - 18/WAKU2-SWAP - - 27/WAKU2-PEERS - - 15/WAKU2-BRIDGE -- Join the [Vac](https://discord.gg/zRKyr8ve92), [Waku](https://discord.gg/KT2gBKv2ma), and [Nimbus](https://discord.gg/XRxWahP) Discord servers and say hi! -- Recommended: go through the list of existing open issues in the project repo (nwaku, go-waku or js-waku) you’ll mostly be working on and familiarise yourself with the current state of the project. This may take a while, but is an excellent exercise to get acquainted with some important conversations and project history. We encourage new contributors to ask questions in the comment sections of any past issues. You could even self-assign some issues that’s currently unassigned which you’d like to tackle! For this, the `good-first-issue` tag on Github may come in as a handy filter. - -## Resources - -### Vac - -- [Vac overview](https://hackmd.io/@vac/main/https%3A%2F%2Fhackmd.io%2Fz-YmYxhXTSqNVZjnbWYHxw) -- [Vac.dev writeups](https://vac.dev/) -- [Vac RFCs/Specs](https://rfc.vac.dev/) -- [COSS process](https://rfc.vac.dev/spec/1/) -- [10/WAKU2 main spec](https://rfc.vac.dev/spec/10/) -- [Vac forum](https://forum.vac.dev/) -- [Vac 2021 Q3 priorities](https://forum.vac.dev/t/vac-teams-priorities-for-q3-2021/86) -- [Waku v2 training session](https://drive.google.com/file/d/19P3oDNXGBDClfcS6Sgp0t9LYr3UbIFGt/view) -- [Vac Sustainability and business workshop](https://forum.vac.dev/t/vac-sustainability-and-business-workshop/116) - -### Status - -- [Status whitepaper](https://status.im/files/whitepaper.pdf) -- [Status principles](https://status.im/about/) -- [Status main client spec](https://specs.status.im/spec/1) -- [Status specs](https://specs.status.im/) -- [Status Discuss](https://discuss.status.im/) -- [Nimbus team](https://nimbus.team/) -- [nim-libp2p](https://github.com/status-im/nim-libp2p) - -### Ecosystem - -- [Ethereum](https://ethereum.org/en/) -- [libp2p](https://libp2p.io/) -- [libp2p specs](https://github.com/libp2p/specs/) \ No newline at end of file diff --git a/content/waku/collaboration/test-nwaku-on-status.md b/content/waku/collaboration/test-nwaku-on-status.md deleted file mode 100644 index 162dd796f..000000000 --- a/content/waku/collaboration/test-nwaku-on-status.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Test nwaku on Status -tags: - - Waku - - Status - - collaboration - - nwaku -date: 2024-07-22 -lastmod: 2024-07-22 ---- - -This document is based on the following [recorded session](https://drive.google.com/file/d/16ZJB5n2aazf9LfGZPKHPTGJy9zZJ6nIH/view) - -In order to test Nwaku on Status, you need to first deploy your release candidate to the `shards.staging` fleet. You will also need to build status-desktop by following the instructions [here](https://www.notion.so/Building-ca1db4fb3baf4f15bab8da717832b743?pvs=21). - -Once we are able to run status-desktop locally, run - -```bash -make run ARGS="--enable-fleet-selection --datadir=./datadir1" -``` - -This will open Status Desktop. Create a new account, and once logged in go to `Settings->Advanced->Fleet` and select `shards.staging` - -![](images/test-nwaku-status/1.png) - -After selecting the fleet, Status Desktop will close and you will need to run again - -```bash -make run ARGS="--enable-fleet-selection --datadir=./datadir1" -``` - -Log in with the password you set previously, and check that`shards.staging` is configured - -![](images/test-nwaku-status/2.png) - -In the Advanced section again, please enable the following options: - -- Full developer mode -- Debug -- Node Management -- Enable creation of sharded communities -- Enable Community Creation - -Some of these options might also close your Status Desktop window. If so, run again Status Desktop with the same command as before and check that all the above configurations are enabled. - -Now, open a new terminal and run a new instance of Status Desktop using a different directory for its database. For example - -```bash -make run ARGS="--enable-fleet-selection --datadir=./datadir2" -``` - -Follow the same steps as with the other Status Desktop instance, only changing the `datadir` flag - -With the previous step completed, enter the `Node Management` section and check that both instances are connected to peers - - -![](images/test-nwaku-status/3.png) - -In one of the accounts, copy the link to its profile - -![](images/test-nwaku-status/4.png) - -And then, in the other account, send it a contact request - -![](images/test-nwaku-status/5.png) - -Make sure you get a notification for it in your other window and accept the contact request - -![](images/test-nwaku-status/6.png) - -Chat between both accounts and check that messages get delivered properly - -![](images/test-nwaku-status/7.png) - -Finally, test that the Store nodes work properly. - -For it, close one of the windows and from the open window send messages to it. - -Re-run the Status Desktop instance you just closed and check that you receive the messages sent to you when you were offline. - -Some extra operations that we can run to double check everything is ok are: - -- In `Node Management` run the RPC method `{"method":"settings_nodeConfig"}` and check in the output that you are connected to the right fleet -- Similarly, you can run the RPC method `{"method":"wakuext_peers"}` to get the list of peers -- Check in `Settings→Advanced→History nodes` the history nodes we are connected to - -To do: define how to test Status Communities \ No newline at end of file diff --git a/content/waku/index.md b/content/waku/index.md deleted file mode 100644 index 8a42ae1ab..000000000 --- a/content/waku/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Waku Roadmap -tags: - - Waku - - Roadmap - - overview -date: 2023-08-22 -lastmod: 2024-07-18 ---- -## Roadmap Overview -To learn more about Waku please visit the [website](https://waku.org), [github](https://github.com/waku-org), and [docs](https://docs.waku.org). -- [2024 Milestones](waku/2024-milestones.md) -- [Weekly updates](tags/waku-updates) -- [Process](waku/process.md) -- [Reports](waku/reports.md) -- [Collaboration](waku/collaboration) -- [2023 Milestones](waku/2023-milestones.md) diff --git a/content/waku/milestones/2024-bandwidth-optimization-and-protocol-review.md b/content/waku/milestones/2024-bandwidth-optimization-and-protocol-review.md deleted file mode 100644 index 6c650de01..000000000 --- a/content/waku/milestones/2024-bandwidth-optimization-and-protocol-review.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Bandwidth optimization and protocol review -tags: - - waku-milestone -date: 2024-09-07 ---- - -[Milestone Bandwidth optimization and protocol review](https://github.com/waku-org/pm/milestone/31) - -Due Date: TBD - -Bandwidth measurement from the previous milestone may lead to improvement that should be tackled with this milestone. This should be done in tandem with tackling low-hanging/high value items of the [Status Community protocols potential scaling problems](https://github.com/vacp2p/research/issues/177). - -Finally, usage of content topics should be reviewed to align with Waku’s recommendation, clear migration strategy, caveat and benefits should be outlined, such as future usage of auto-sharding and reduction of topics used by a single user for more efficient use of services. - -### Deliverable: [Status Communities protocol scaling/bandwidth optimization recommendation](https://github.com/waku-org/pm/issues/197) - -Some of the [Status Communities protocols potential scaling problems](https://github.com/vacp2p/research/issues/177) have already been mitigated. However, further work may be needed and identified from simulations and telemetry. - -The output of this deliverable is to compile a list of recommendations, for both Waku and Status Communities protocol. This should include potential benefits of changes and enable scheduling the work between Status and Waku teams. -Decision on the work to be done and planning it should be part of the output of this milestone. - -This could include review of discv5 implementation in go-waku and nwaku if bandwidth usage is excessive. - -### Deliverable: [Review usage of content topics in Status Chat and Communities protocol](https://github.com/waku-org/pm/issues/198) - -The usage of content topics in Status is aligned with Wakuv1. Waku v2 comes with a new recommended format that enables auto-sharding. -Moreover, single Status users currently use a high number of content topics, which may have an impact on performance of req-res protocols such as store and filter. -Such impact is to be measured in a previous milestone by Vac DST. - -The output of this deliverable should be an RFC update on how content topics should be used, backed with simulations when performance improvement is expected. -It should include migration strategy and potential impact on the product. diff --git a/content/waku/milestones/2024-direct-msg-reliability.md b/content/waku/milestones/2024-direct-msg-reliability.md deleted file mode 100644 index dc9bb2cd3..000000000 --- a/content/waku/milestones/2024-direct-msg-reliability.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Direct Message Reliability -tags: - - waku-milestone -date: 2024-09-07 ---- -[Milestone Direct Message Reliability](https://github.com/waku-org/pm/milestone/28) - -Due Date: 2024-09-02 - -With this milestone, connectivity issues in Status Mobile and Desktop are solved and tested. -Usage of store v3-beta casts a wide net on potential message loss, at the cost of bandwidth overhead (but still lower than current usage of storev2). - -Review of MVDS usage for all direct messages is done to ensure that critical messages (request to join, contact request, 1:1 messages, private group) are delivered. - -### Deliverable: [Enable testing of direct messages](https://github.com/waku-org/pm/issues/176) - -Produce a CLI that enables black-box testing of the Waku integration in status-go. Focus should be on direct messages, including peer management and strategies when network connectivity is lost. This is to enable (1) of the Vac/QA dependencies. Note the CLI should sit under the Status Communities logic layer and focus on message delivery. - -Direct messages are used for critical chat features: contact request, community join request and response, 1:1 chat and private group. -Currently, if the connection is dropped, the recovery strategies implemented in status-go often fail. - -The Waku team would provide a set of binaries to enable Vac/QA team to setup non-regression functional test (black box/e2e) as well as Vac/DST to run simulations in unreliable environments (latency, connection drop) to ascertain the reliability of the software, before it is touched by Status QA team. - -The API of such binaries would be defined based on the needs from the Vac/QA-DST team. - -Vac QA team is not expected to proceed with an extensive testing of the Communities functionality, but instead proceed with testing of direct message sending/reception considering various potential network faults. - -### Deliverable: [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - -Review disconnection and peer management in status-go and go-waku for both relay and light client protocols. -Ensure that broken scenarios from dogfooding and Vac/QA testing are covered. Including but not limited to desktop sleep/hibernate and failure to send messages after current backoff strategy. -This includes moving peer management logic from status-go to go-waku for better separation of concerns. - -### Deliverable: [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - -Implement a testing telemetry tool, a.k.a. lite-protocol-tester, that can measure the reliability of light push and filter from nwaku PoV. That tool should enable injecting messages, and produce the right logging. DST’s log tracing tool can then be used to create reports. This will help us to measure the current estate and evolution of the upcoming enhancements. - -### Deliverable: [Telemetry: fleet logging](https://github.com/waku-org/pm/issues/180) - -Ensure that nwaku nodes in the status fleet log messages to enable traceability on both relay and filter/light push. Also ensure that sync (store v3) does highlight missed messages and related time to enable investigation on why 2 nodes were not synced. - -### Deliverable: [Telemetry: direct message reliability](https://github.com/waku-org/pm/issues/182) - -Review and ensure the telemetry service can provide accurate statistics on message reliability with a mix of online presence report, message sending and receiving. -The measurement should be specific to direct messages to ensure that deliverables above do improve reliability in real usage. -This should include content topic data, to be used for later optimization. -For both Desktop and Mobile. Telemetry service should also be updated to ensure it covers the disconnection scenario for itself. -Note that from Status’ team experience, the telemetry statistics have usually been more optimistic than reality, especially when there is a full network drop (ie, no messages going out). - -### Deliverable: [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - -Define a protocol that leverages store v3-beta, to improve reliability when using Waku Relay, for both delivery and reception of messages. - -This enables a local node to ensure it has the same view of the network as its peers. -Deciding on how store v3-beta queries should be triggered and how often should be part of the protocol specifications. - -Note this does not provide end-to-end delivery as it only permits a local node to verify that its view of the network is similar to connected peers (and not peers further away in the network). - -**The reference implementation will be done in nwaku**: The API should be simple and remove the need for protocol knowledge by the developer (e.g. send/receive verbs). -This should also be used by the light push and filter service (as service nodes). -A similar logic should be implemented in Golang and used in status-go. RFC and collaboration with the nwaku team is expected to ensure similar implementation in both languages. - -### Deliverable: [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - -Define and implement a protocol that improves reliability in web and mobile environments. -In this particular instance, **js-waku will be the reference implementation** of the designed protocol to enable focus of the js-waku team on resource-restricted environment and of the nwaku team on relay and service node matters/usage. -This deliverable includes the implementation of this protocol in go-waku (nwaku excluded). Work should be done in parallel and feed from each other. -The intent is to compose light push, filter and store v3-beta in combination. - -### Deliverable: [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - -Note: new deliverable, stemmed from discussion with js-waku team who have been working on resource-restricted reliability since earlier this year. Yet to be estimated and planned. - -**Justification**: testing and simulations have limitations in the context of heterogeneous network behaviour. The best testing comes from the real world/network environment, with real users. -It is expected that not all users will enable opt-in telemetry and that there will be a delay between library improvements and roll out. - -### Deliverable: [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/177) - -Review MVDS usage for direct messages and ensure that the fail path is handled correctly with either feedback on the UI or automated retries. -MVDS protocol is already in use for some direct messages. Ensure it is the case for contact requests, join requests, 1:1 chat and private groups. -Also review the fail path for MVDS (are messages retried later or is there feedback/retry on the UI)? -**The output of this is likely to include GUI change recommendations** to add retry buttons or just simply retry indefinitely (for contact requests etc) in addition to some logic change (e.g. ensure the retry happens after reconnection). \ No newline at end of file diff --git a/content/waku/milestones/2024-e2e-reliability-protocol.md b/content/waku/milestones/2024-e2e-reliability-protocol.md deleted file mode 100644 index 26e76cd00..000000000 --- a/content/waku/milestones/2024-e2e-reliability-protocol.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: End-to-end reliability protocol -tags: - - waku-milestone -date: 2024-09-07 ---- - -[Milestone End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/29) - -Due Date: 2024-09-02 - -To solve reliability is to solve two problems: - -1. High heuristic that messages are received and sent -2. Ability to know whether messages are received or sent - -Problem (1) can never be 100% reliable in a network environment. The previous milestones focused on it. - -To solve (2), is to create an end-to-end protocol, sender to recipient, that enables the ability to know whether recipient(s) have received messages. - -With this milestone, we design and deliver a first PoC for an end-to-end reliability protocol. -This protocol will be specified and implemented in the Status app for Status Communities chat rooms. - -### Deliverable: [Telemetry: multicast message reliability](https://github.com/waku-org/pm/issues/192) - -Review and ensure the telemetry service can provide accurate statistics on message reliability with a mix of online presence report, message sending and receiving. -The measurement should be specific to multicast messages to ensure that deliverables above do improve reliability in real usage. -This should include content topic data, to be used for later optimization. -For both Desktop and Mobile. -Note that from Status’ team experience, the telemetry statistics have usually been more optimistic than reality, especially when there is a full network drop (ie, no messages going out). - -### Deliverable: [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - -Design a protocol that enables end-to-end reliability for Status Communities channels. - -The output is an agnostic RFC and a reference implementation in Golang (similar to MVDS library). However, it should take in account the context of Status Communities and leverage related properties (e.g. mostly online community owner nodes). - -This deliverable does not include the integration in status-go, but it should provide enough information to then review with the Status app team how this protocol should be used in Status Communities. Parameters such as bandwidth usage and reliability level (e.g. N% of users acks) can then be discussed with the app team before implementation, as well as the type of messages that need such functionality (e.g. status update vs chat message in channel). - -### Deliverable: [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194) - -Integrate the previously designed protocol in status-go with parameters agreed with the Status product team. Provide the right REST API (if needed) to ensure this is tested by Vac/QA. -Harden the library as needed. \ No newline at end of file diff --git a/content/waku/milestones/2024-nwaku-in-status-desktop.md b/content/waku/milestones/2024-nwaku-in-status-desktop.md deleted file mode 100644 index 37129f251..000000000 --- a/content/waku/milestones/2024-nwaku-in-status-desktop.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Milestone Nwaku in Status Desktop -tags: - - waku-milestone -date: 2024-09-07 ---- - -[Milestone Nwaku in Status Desktop (Relay, *nix)](https://github.com/waku-org/pm/milestone/33) - -Due Date: TBD - -With this milestone, Status Desktop builds on Linux and Mac can use nwaku instead of go-waku. -Go-waku will still be used for Windows (Desktop) and Status Mobile. - -### Deliverable: [Nwaku in Golang desktop](https://github.com/waku-org/pm/issues/201) - -Provide a Golang library that uses the nwaku bindings (relay+store API) in a desktop environment. The bindings must be usable without RLN for the context of Status Desktop application. - -### Deliverable: [Nwaku in Golang: Relay](https://github.com/waku-org/pm/issues/202) - -Expose and demonstrate the usage of relay protocols/API usef on go-waku by status-go in the Golang nwaku bindings. -Build on the previous by adding the APIs used by status-go in relay mode. Proceed with dogfooding of said APIs in PoC app to confirm their behaviour in Golang Desktop environment. -This includes work to ensure that the relay reliability protocol implemented in nwaku is used and other libp2p protocols such as autonat, circuit-relay client and hole-punching. - -Light client protocols are out of scope. - -### Deliverable: [Nwaku in Status Desktop (Relay, *nix)](https://github.com/waku-org/pm/issues/203) - -Use nwaku instead of go-waku in Status Desktop and produce a working and distributable special (no light client) build for Linux and Mac OS environments. -“Light client” mode should be disabled for this build as only relay protocols are implemented. -Windows builds are also out of scope. - -This includes an abstraction layer to enable the other builds to still use go-waku: -- Desktop Windows -- Desktop “prod” (with both light client and relay modes, via go-waku) -- Mobile - -CLIs created for Vac/QA should also be produced with nwaku to enable QA and DST to run tests/simulations. \ No newline at end of file diff --git a/content/waku/milestones/2024-scale-number-of-communities.md b/content/waku/milestones/2024-scale-number-of-communities.md deleted file mode 100644 index 49044fa5e..000000000 --- a/content/waku/milestones/2024-scale-number-of-communities.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Scale up number of Communities -tags: - - waku-milestone -date: 2024-09-07 ---- - -[Milestone Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - -Due Date: TBD - -Proceed with next steps to scale up the number of communities with a focus on testing and configure rendezvous which would enable a large number of communities on their own shard, with the caveat of a more federated global topology. -The rendezvous nodes of a community would be a centralised infra to a community. - -Also proceed with enhancing of the current decentralised discovery protocol to pave the way towards less centralised topology. - -### Deliverable: [Usage of rendezvous](https://github.com/waku-org/pm/issues/199) - -Test libp2p rendezvous in nwaku (server) and go-waku (client) to have it ready as a replacement of discv5 to enable over 100 communities. -This should mainly be around configuration, testing and potential bug fixing. -Rendezvous discovery is federated-like and non-private. It is an existing libp2p protocol. - -### Deliverable: [DoS protection for req-res protocols and metrics (go-waku as service node)](https://github.com/waku-org/pm/issues/200) - -Replicate the DoS protection (local rate limit) logic from nwaku to go-waku as Status Desktop do serve filter and light push node. -If Desktop nodes get DoS via light push/filter service, then it can be disabled, however this may compromise scalability of mobile and would involve deploying more fleet. -As the desktop/mobile ratio is uncertain, best to have this implemented. \ No newline at end of file diff --git a/content/waku/milestones/2024-scale-one-to-one-chat-poc.md b/content/waku/milestones/2024-scale-one-to-one-chat-poc.md deleted file mode 100644 index 6b47fe793..000000000 --- a/content/waku/milestones/2024-scale-one-to-one-chat-poc.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Scale 1 to 1 chat messages PoC -tags: - - waku-milestone -date: 2024-09-07 ---- - -[Milestone Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -Due Date: 2024-11-30 - -Improved flexibility of the rate limit (from 1 msg/epoch to N msg/epoch), providing better dimensioning for bandwidth capping. - -Moving from RLNv1 to RLNv2 to allow better bandwidth dimensioning in the network. This will allow a message allocation per hour or day per registered publisher, providing better statistical guarantees for network bandwidth usage. - -### Deliverable: [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - -Improved flexibility of the rate limit (from 1 msg/epoch to N msg/epoch), providing better dimensioning for bandwidth capping. -Moving from RLNv1 to RLNv2 to allow better bandwidth dimensioning in the network. This will allow a message allocation per hour or day per registered publisher, providing better statistical guarantees for network bandwidth usage. -Note this only concerns native libraries using nwaku. - -### Deliverable: [Maturing RLN variables/parameters revision (staking, contract/chain, token) - roadmap](https://github.com/waku-org/pm/issues/205) - -*A review of RLN security parameters and functionality in preparation for mainnet deployment.* -Analyse RLN deployment in the Waku proto-network and evaluate its DoS protection performance as well as review with the Status app team the potential cost mode of RLN: -- Should staking be introduced, especially to improve resilience against adversarial membership registrations? -- Should slashing be introduced or does the existing gossipsub scoring method provide enough protection? -- Which chain or L2 should we target for memberships? -- What token should be used? -- Do we need a combination of msg/sec and msg allocation/day rate limiting? \ No newline at end of file diff --git a/content/waku/milestones/2024-static-sharding-dedicated-shards.md b/content/waku/milestones/2024-static-sharding-dedicated-shards.md deleted file mode 100644 index 92b038169..000000000 --- a/content/waku/milestones/2024-static-sharding-dedicated-shards.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Static Sharding - dedicated shards -tags: - - waku-milestone -date: 2024-09-07 ---- - -[Milestone Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/30) - -Due Date: 2024-09-30 - -Creating a new community on its dedicated shard would be tested and working, including assigning a pre-shared key for opt-in message signing (weak DoS protection). - -Community creation on a default shard (32) to remain (up to app team to hide button or not) to enable mass creation of communities on shared shard for QA testing purposes. - -Vac QA and DST are asked to look at Status Communities behaviour, whereas previously the focus was on direct messages reliability (one layer lower). - -Finally, telemetry service will be updated to include bandwidth usage statistics, with a fine breakdown to understand top bandwidth consumers (control msg, chat msg, etc). Additionally, the DST team is asked to run simulations with a focus on bandwidth usage. - -### Deliverable: [Telemetry: Measure Bandwidth](https://github.com/waku-org/pm/issues/195) - -Add bandwidth measurements to the self-report (opt-in) telemetry service, including a message type breakdown (ctrl, chat, etc) when possible as well as other protocols such as discovery. -Usage of non-waku bandwidth should also be considered (bittorrent, RPC) to have a full picture in case of report of high bandwidth usage by users. - -### Deliverable: [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - -Further testing and improvement of peer management in the context of sharding in all Waku implementations. The aim is to ensure that nodes are connected to other nodes of interested shards. As the number of shards (several communities) increase, some improvement on the logic should be needed. - -(1) nwaku and go-waku need to follow the same pattern here in terms of relay peer management. For Relay peer management: -- remove named sharding to simplify peer management -- review per-shard peer management metrics (e.g. mesh health per subscribed shard) -- monitor and adapt peer management strategy across both go-waku and nwaku for various shard subscription scenarios (e.g. up to 100 pubsub topic subscriptions) in an integrated deployment - -(2) go-waku and nwaku should also follow the same patterns in terms of managing filter/ligh tpush clients (i.e. always keep a predictable amount of open slots for clients) with similar steps to the above to harden the strategy -(3) go-waku and js-waku should follow the same patterns in terms of managing service peers within clients. -(4) Capture recommendations in an RFC and use it as a discussion and decision medium across implementations. - -### Deliverable: [Enable testing of custom shard implementation for Communities](https://github.com/waku-org/pm/issues/196) - -Create/update CLI with REST API to enable creation and usage of static communities on own dedicated shard for Vac/QA to proceed with testing of various scenarios. -This CLI should also enable running simulations of bandwidth usage by communities, including ctrl messages. -This includes the setup of a pre-shared key to protect the shard and fixing any bug reported. - -Note that the ability to create communities on a custom shard and assign a pre-shared key for DoS protection is already implemented in status-go. - -Note that telemetry service should include shard specific reports. \ No newline at end of file diff --git a/content/waku/milestones/2024-store-service-upgrade.md b/content/waku/milestones/2024-store-service-upgrade.md deleted file mode 100644 index de7132642..000000000 --- a/content/waku/milestones/2024-store-service-upgrade.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Store Service Upgrade -tags: - - waku-milestone -date: 2024-09-07 ---- -[Milestone Store Service Upgrade](https://github.com/waku-org/pm/milestone/27) - -Due Date: 2024-09-20 - -With this milestone, the store protocol becomes more easily usable for reliability purposes. -Moreover, nwaku PostgreSQL implementation will enable better disk space management and enable operators to hard cap the used disk space. - -### Deliverable: [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - -Enable the Waku Network to provide distributed and synchronised store services. -An improved version of the Store protocol, marking a crucial increment towards a synchronisation protocol: -- introduces the concept of deterministic message hashes to index messages -- considers the Store as a key-value store -- allows for querying a list of keys (message hashes) from the Store -- allows for querying for the full message content (values) of a set of keys from the Store -- keeps all previous value-based filtering (e.g. content topic, timestamp) in place - -### Deliverable: [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - -Upgrade the Store service capability in the network from a collection of local, unsynchronised, -semi-centralised (trusted) service nodes to a decentralised service capability in the network with inter-node synchronisation. -Building on Store v3-beta, this version of Store includes basic synchronisation between nodes. This will probably include: -- a protocol/heuristic to resume store services after an offline period -- a protocol/heuristic to periodically compare local key-value store with other nodes and find missing keys -- a protocol/heuristic to periodically download the messages (values) for missing keys from other store nodes - -### Deliverable: [DoS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - -Add local DoS protection service nodes by applying request rate limitation on non relay protocols, including store. -- Apply some limited bandwidth limitation on service protocols -- Provide failsafe mechanisms to third party apps / client side help for request rejection mechanisms - -### Deliverable: [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - -Provide a solution on how to best handle PostgreSQL database growth and pruning, so that node operators can predict database size and avoid disruptions due to full disk space. - -### Deliverable: [Metric: Count store messages](https://github.com/waku-org/pm/issues/167) - -[Message-finder](https://github.com/waku-org/message-finder) is used to compare the number of Status messages across Status nodes to understand the potential discrepancies and odd behaviour of messages being inserted in the past in a given channel. - -This deliverable captures the message count on all Waku fleets to use as a metrics of the efficacy of store sync. \ No newline at end of file diff --git a/content/waku/monthly-reports/2023-aug.md b/content/waku/monthly-reports/2023-aug.md deleted file mode 100644 index 7837cd84a..000000000 --- a/content/waku/monthly-reports/2023-aug.md +++ /dev/null @@ -1,81 +0,0 @@ -# Waku Monthly Report - August 2023 - -## Epics and Milestones - -1. **Waku Network Can Support 10K Users** - - PostgreSQL integration for improved performance - - Setting up a staging fleet for Status to try static sharding - - Stress testing and performance comparisons between SQLite and PostgreSQL - -2. **Light Protocols and Status MVP** - - Light push and filter protocols available in Status Mobile and Desktop - - Peer Exchange supported and used by default in js-waku - - Some light dogfooding has started - -3. **1 Million Users / Public Waku Network** - - Completed Autosharding v1 for nwaku - - Task breakdown and assignment for the epic - - Started work on Waku Network RFC - -4. **Quality Assurance and Maintenance** - - Improved release processes for nwaku - - Enhanced test coverage for go-waku - - Maintenance work on js-waku, including dependency upgrades - -5. **RLN (Rate Limiting Nullifier) Improvements** - - Post-Testnet3 improvements in go-waku - - RLN enabled by default in go-waku - -6. **Peer Management** - - Introduced peer management in go-waku - - Implemented sharded peer management and discovery in nwaku - -## Client Updates - -### nwaku - -- Completed Autosharding v1 implementation -- Progress on PostgreSQL integration and stress testing -- Improvements in HTTP REST API support -- Enhancements in C-bindings and thread safety -- Setting up static sharding fleet for Status - -### js-waku - -- Peer Exchange supported and used by default -- Maintenance work, including dependency upgrades -- Improvements in developer experience -- Progress on covering multiple environments in testing - -### go-waku - -- RLN enabled by default and running on all configured topics -- Implemented core logic for Autosharding v1 -- Introduced and improved peer management -- Enhanced test coverage -- Maintenance work, including metrics refactoring - -## Research and Documentation - -- Breakdown and assignment of tasks for the 1 million users/public Waku Network epic -- Started work on Waku Network RFC -- Advanced documentation for js-waku, including debugging guides and NodeJS support - -## Ecosystem Development - -- Increased Twitter followers by 20% -- Participated in web3conf with talks, side events, and swag distribution -- Initiated migration of eco-dev elements from GitHub to Notion -- Planning for upcoming events like ETHRome hackathon - -## Challenges and Next Steps - -1. Continue refining and implementing the 1 million users/public Waku Network plan -2. Further stress testing and optimization of PostgreSQL integration -3. Dogfooding new peer management with Status -4. Expanding test coverage across all clients -5. Finalizing and deploying the static sharding fleet for Status -6. Advancing the Waku Network RFC -7. Continuing ecosystem growth through events and community engagement - -The Waku team has made significant progress across multiple fronts in August, with notable advancements in scalability, light protocols, and quality assurance. The focus on supporting 10K users and laying groundwork for 1 million users demonstrates the project's commitment to growth and adoption. \ No newline at end of file diff --git a/content/waku/monthly-reports/2023-oct.md b/content/waku/monthly-reports/2023-oct.md deleted file mode 100644 index c82b19d65..000000000 --- a/content/waku/monthly-reports/2023-oct.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 2023 - October Monthly Waku Report -draft: true -lastmod: 2023-10-03 ---- -## Personnel -- Offer submitted to David for Applied Distributed Systems Researcher -- \ No newline at end of file diff --git a/content/waku/monthly-reports/2023-sept.md b/content/waku/monthly-reports/2023-sept.md deleted file mode 100644 index 929765d02..000000000 --- a/content/waku/monthly-reports/2023-sept.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: 2023 September Monthly Waku Report -draft: false -lastmod: 2023-10-05 -tags: - - monthly-report - - Waku ---- -## Executive Summary -The month of September saw an agreement and solidification of the Waku roadmap which defines the process of launching the Waku Network as an independent piece of infrastructure the broader ecosystem can rely upon. Along with this, a revamp of the process in which work is labeled and tracked was performed which has an automated part and is generally more in line with the requests from the Insights team. - -Work continues in the scaling and productionization efforts across the clients. Work previously done to enables PostgreSQL engine for `WAKU-STORE` in nwaku is being locally stress tested, further stress test using dev fleet is expected to be finalized next month. A Waku static sharding strategy is being integrated into Status to accommodate the first growth milestones of the re-release and adaptive sharding research and implementation is close behind. -Local simulation of `RLN-RELAY` has enabled the discovery of minor bugs which are fixed in the latest release of zerokit and nwaku and the study of the affect of RLN on performance. - -Kurtosis as a platform was found to be insufficient for modeling a Waku network at the scale we wish, and the Vac team is pursuing an alternative strategy and writing up learnings from the boundaries were able to push. - -Quality Assurance practices are scheduled throughout the next year to keep all client implementations up to a threshold of continuous quality. - -The process to add native integration APIs to `nwaku` is underway such that the default native library moves from `go-waku` to `nwaku`. -## Key Updates - -### Personnel -- addition of - - Aaron as Project Manager - - Sergei as Researcher - - Gabriel as nwaku Engineer -- Several Jobs Descriptions have been reviewed this month to be opened shortly: - - Growth Lead/Marketing strategist to drive Waku's growth and liaise with Comms Hubs - - Business Development Lead, to further develop partnership with ecosystem projects - - Solution Engineer, to provide technical support to projects integrating Waku -- A core contributor to lead the Waku Chat SDK team has been secured, with start date in November. - -### Milestones -A lot of work has been put into coalescing and finalizing the development tracking process that is in line with the Insight Reporting requirements, and Aaron's addition to the team this month as pushed it over the edge to completion. Much of this has gone into automating the weekly reporting process via GitHub labels and comments on issues. - -For tracking Waku maintains these Milestones in the `waku-org/pm` repo. Within each milestone description, you'll find the corresponding Epics. Every Epic is distinctly labeled, and this label is affixed to each issue associated with that particular Epic. The labels are managed by the `labels.yaml` file located in the `waku-org/pm` repo. - -Given the expansive nature of Waku and its various repositories working towards the milestones, the labels established in the `labels.yaml` file are replicated across each respective `waku-org` repo. This structure allows for seamless navigation, starting from top-level milestones down to the most granular issues. - -Waku is broken out into the following four Milestones, with Epics associated with them: -- `Waku Network Gen0` -- `Waku Network Can Support 1MM Users` -- `Quality Assurace Processes in Place` -- `Support Many Platforms` - -More details on the structure and progress of all Waku work can be tracked in their PM repository, specifically [the milestone page](https://github.com/waku-org/pm/milestones). The following sections are highlighted updates on what happened this month. - -#### [Waku Network Gen0](https://github.com/waku-org/pm/issues/50) -The Waku Network RFC was created and [published on Vac](https://rfc.vac.dev/spec/64/) as RAW which details the ideas and architecture of the Waku Network. The next version of RLN was also [published on Vac](https://rfc.vac.dev/spec/58/) as RAW. - -A benchmark of RLN was conducted and [the results](https://github.com/waku-org/research/issues/23) were discussed in a [Logos Research Call presentation](https://minutes.logos.co/logos/logos-research-call-notes#september-27) (See [waku-org/research#23](https://github.com/waku-org/research/issues/23) for details). The tl;dr is copied here for convenience: - -> [!QUOTE] TLDR: -> -> ->- Proof generation is constant-ish. 0.15 second for each proof ->- Proof verification is constant-ish, 0.012 seconds. In a network with 10k nodes and D=6 this would add an overhead delay of 0.06 seconds. ->- Gossipsub scoring drops connections from spammer peers, which acts as the punishment (instead of slashing). Validated in the simulation. ->- RLN doesn't have any impact on memory consumption. - -Based on these two specification publications and other associated work, efforts have begun to launch the first dev-testnet in time for the DevConnect event in November 2023. - -All launch critical work for autosharding has been done in terms of RFC and nwaku. - -#### [Waku Network Can Support 1MM Users](https://github.com/waku-org/pm/issues/83) -Significant work was completed on the PostgreSQL integration and setup within `nwaku`, which supports the data retention and retrieval of Waku archival nodes. The implementation is currently being stress-tested to ensure production performance metrics are met. - -The efforts in simulating a Waku Network of 10k users within a single shard continues and is tracked within [[vac/dst/index|Vac DST Roadmap]]. The performance of Wakurtosis (Kurtosis backend) was found to be insufficient for our requirements for scaling simulations. The creation of a Kubernetes orchestration tool, written in Python, has begun construction. This tool is heavily architected to mimic what Codex has created. It was chosen to reproduce this tooling in Python in order to increase usability and ease of maintenance/contribution as C# is a less known language within the org. The reasoning for this development can be tracked in [[vac/dst/wakurtosis/vac/retrospective-rlog|retrospective-rlog]]. - -The effort to understand a "professional Waku node operator" has begun and initial notes can be tracked within this [minutes doc](https://notes.status.im/node-operators-meeting). - -A "static sharding" fleet was setup to test sharding and PostgreSQL by Waku team. -Setup of a similar fleet dedicated to Status Communities is in progress (the first fleet may be used in the interim). - -#### [Quality Assurance Processes in Place](https://github.com/waku-org/pm/issues/73) -This milestone was created to ensure preparedness for the upcoming production client needs (specifically Waku Network Gen0 and Status Communities). A list of required processes in place was constructed and tasked out so that all implementations of Waku go through a standardized production release cycle. - -This work is coordinating with the new [[vac/dst/index|Vac DST]] additions focused on testing rubrics for Logos Projects. This milestone is expected to be completed by Q1 2024. -Work has started to use the js-waku CI as an integration test suite for nwaku and go-waku. This test suite can now easily be run for either client as part of their release process. - -#### [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - -This is a large milestone created last month that tracks Waku's "integration landscape" and attempting to ensure any developer seamlessly is able to integrate Waku. - -It has started to list the work required for completion but more detail is needed to be fleshed out on prioritization and estimated resource needs. Currently, it is slotted for completion by April 2024. - -Much of the work this month was fleshing out the available REST APIs of `nwaku`. - -A [poll](https://discord.com/channels/1110799176264056863/1111568123007606855/1149298157306531890) was created to query what language priority we should have was gone. They'll be published on socials next month to boost engagement and feedback. This poll will assist with priorities for this milestone. - -## Perceived Changes in Project Risk -- Waku doing most integration of Waku into `status-go` consumes a lot of Go-related developer resources. - - a list of needed work is tracked [here](https://github.com/status-im/status-go/issues/4057) -- There effort to convert `nwaku` to the main native integration client requires a large effort in the implementations of C-bindings in Nim and has some unknowns associated with it. Furthermore this additional effort and uncertainty doesn't directly contribute to the current critical path of development. -- The first main application of the milestone reorganization within the project has made the milestones associated with it clear, thus allowing the Waku Network MVP target setup to be tracked well - -## Future Improvement Plans -### Insight -The insight team plans to further evaluate the value the reporting process implemented by Waku as it pertains to use within the other projects under Logos. It is expected that next month it will be finalized and ready for review by other teams to see if they'd like to adopt it. - -One side effect of the automated reporting process is that the associate issue labels are already compatible with our data lake ingestion that was initiated by the Status project. This will allow us to create more useful dashboards and monitoring that take into account accurate development activity. - -### Project -As the milestones continue to be fleshed out and detailed, the ability to show progress over time will improve. - -## Sources and Useful Links -Weekly Reports -- [[waku/updates/2023-09-04|2023-09-04]] -- [[waku/updates/2023-09-11|2023-09-11]] -- [[waku/updates/2023-09-18|2023-09-18]] -- [[waku/updates/2023-09-25|2023-09-25]] diff --git a/content/waku/process.md b/content/waku/process.md deleted file mode 100644 index 67592b40f..000000000 --- a/content/waku/process.md +++ /dev/null @@ -1,214 +0,0 @@ ---- -title: Process -tags: - - Waku -date: 2024-03-10 -lastmod: 2024-03-10 ---- -## Resources -- Waku Github: https://github.com/waku-org/ -- Engineering Processes: https://github.com/waku-org/pm/blob/master/PROCESS.md - -## Motivation and Goal - -Implement the following attribute when delivering: - -1. Clear tracking of work across the teams so that when we says that a milestone is delivered, then: - - it is usable by all types of users (operators, web devs, system devs). - - It is documented (docs, dev rel) - - It is of high quality (QA, Dogfooding) -2. Items (epic, milestones) can be easily be closed and marked as complete thanks to: - - Minimal external dependencies - - Minimal intra-team dependency - - Finite, well-define scope. -3. Each milestone and the effort needed to achieve it has a clear value thanks to a well-defined, value-driven, minimal, scope. - -## Terminology and Scope - -| Name | Number of | Timeframe | Team Scope | Owner | Description | -|--------------|-----------------------|------------------------------------------------|-------------------------------------------------|------------------------|-------------------------------------------------------| -| Milestone | ? | Pencilled for the year, planned for 2 quarters | Most subteams | Waku Lead | A, or cohesive set of, feature(s). | -| Epic | Several per milestone | Set for a milestone | Usually one subteam or external team (e.g. DST) | Subteam Lead or Member | Milestone work for a given subteam. | -| Task | Many per Epic | Set monthly-ish, delivered weekly | One subteam or individual | Team Member | May be one or several piece of work, client specific. | - -## Milestone Definition - -A *Milestone*: - -1. **Provides a tangible user benefit:** The milestone should aim to provide a distinct benefit or feature to the user, whether they are end users, operators or developers. In some case, a milestone may be a bundle of small features. The bundle of features should be cohesive and the benefit to the users should be easy to summarize. Most likely, a bundle milestone will be scoped to a given track. -2. **Minimal Scope:** The milestone should be trimmed to a minimal scope, encompassing only what is *just enough* to assess the potential impact of these features on the project's metrics (e.g. number of users, revenue). This means descoping any advanced features and aiming for a MVP-level delivery. -3. **Transversal:** While the vertical scope of a milestone should be minimal, the delivery should be complete in terms of research, engineering, QA, documentation and dev rel assets so that the feature can be pushed to users once the milestone is marked as complete. Feedback loops should be as small as possible to ensure the value of a milestone is measured in a timely manner. -4. **Attached Estimate:** An estimate should be associated with the milestone to facilitate the measurement of potential ROI. Additionally, tracking the estimate versus the actual progress is crucial for identifying any deviation and making informed decisions (e.g., deciding whether to continue if we learn the estimate is likely to be overrun). - -## Milestone scoping process flow - -Phase 1: Waku lead defines the scope within the Milestone. The scope is then discussed asynchronously in the comments of the GitHub issue by relevant subteams and stakeholders, scope of Epics and subtasks are defined. - -Phase 2: During a Waku PM call, the team reviews the Milestone to confirm scope or identify areas that require additional scoping. - -Phase 3: If the scope is agreed upon, the team can proceed to create Epics and schedule work for kickoff. - -## Epics and Workflow - -A *milestone* is divided in *Epics*. Each *epic* is assigned to a given subteam. - -Each Waku subteam lead (or selected member) is accountable for the delivery of their epic. - -Typically, each *milestone* will be divided in the following *epics*: - -| Epic Label Prefix | Owner Sub-team | Output | Description | -|-------------------|--------------------------|------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `E:research` | Waku Research | PoC, RFC, Protocol Simulations/Studies | Initial work done by the research team to create or change a protocol. Engineering-only Milestones may not have such epic | -| `E:nwaku` | nwaku | MVP quality software | Bring software to MVP level, proceed with re-architecture of PoC if needed, ensure functionality is usable, refine APIs, auto-generated/API documentation, ensure interoperability works | -| `E:js-waku` | js-waku | MVP quality software, including all supported env (e.g. React Native & Web) | Implement protocol in js-waku, same as nwaku. | -| `E:bindings` | nwaku | MVP quality software for supported bindings (WIP) | Expose new protocol/features on binding APIs. | -| `E:go-waku` | go-waku | MVP quality software, include all supported bindings (i.e. C and Rust) | Implement protocol in go-waku, only if needed by Status app. | -| `E:qa` | Vac/DST | RFC-based + functionality based tests, both unit and integration tests. | Test engineers take over and complete unit tests + add scenarios in integration test framework. In future, also add scenario to benchmark suite. | -| `E:dogfood` | js-waku, nwaku, bindings | Lab example updates, own nodes updated, etc. | Each dev team proceed by dogfooding the feature/API by using it themselves. Whether it is running their own node, or updating a selected number of examples. Go-waku can dogfood directly in status-go. | -| `E:docs` | Doc | Documentation (not auto-generated) | Document the new feature across all implementations, using the dogfooding output as handover material from engineering teams. This includes both coding guides but also a presentation ready visual documentation of the protocol behaviour. | -| `E:eco-dev` | Eco Dev | Dev Rel assets (examples, video tutorial, etc), comms plan (X threads, blog posts) | Dev Rel can now prepare assets to push the feature to developers, comms can prepare copies to communicate about it, BD can push it to projects and partners. | - -```mermaid -flowchart LR - subgraph milestone [Milestone] - scope[Define scope and estimate] - end - subgraph researchE [E:research] - scope-->research[RFC + Protocol Simulation + PoC] - end - subgraph nwakuE [E:nwaku] - research-- Handover -->nwaku[MVP, API, Code doc, unit test] - end - subgraph js-wakuE [E:js-waku] - research-- Handover -->js-waku[MVP, API, Code doc, unit test] - end - subgraph go-wakuE [E:go-waku] - research-- Handover -->go-waku[MVP, API, Code doc, unit test] - end - subgraph go-wakuE [E:bindings] - research-- Handover -->go-waku[API, Code doc, unit test] - end - subgraph qaE [E:qa] - nwaku--Handover-->QA[QA, extended, interop and RFC-based testing] - js-waku--Handover-->QA - go-waku--Handover-->QA - end - subgraph dogfoodE [E:dogfood] - nwaku-->Dogfooding[Developer use new software and API, interoperability] - js-waku-->Dogfooding - go-waku-->Dogfooding - end - subgraph docsE [E:docs] - Dogfooding-- Handover -->Docs[Update and create guides and protocol documentation] - end - subgraph ecodevE [E:eco-dev] - Dogfooding-- Handover -->Eco-Dev[Dev Rel and BD assets, plan Comms] - Docs-->Eco-Dev - end -``` - -### Engineering-Only Milestones - -Some milestones may not involve the Waku Research team. In this case, the flow still applies but `E:research` is skipped. - -### Chat SDK and other Special SDK Work - -The Chat SDK team is focusing on go-waku integration in status-go and follows Status' PM for issues and labelling. - -Once the team starts building an independent Chat (or other) SDK, the flow will be as above but with research handled by VAC/ACZ and only one dev team: - -| Epic Prefix | Owner Sub-team | Output | Description | -|--------------|----------------|----------------------------------------------------|------------------------------------------------------------| -| `E:acz` | Vac/ACZ | RFC | RFC describing a specific, likely agnostic protocol | -| `E:chat sdk` | Chat SDK | PoC and then MVP quality software, Application RFC | Implement the ACZ RFC, define API and application protocol | - -Handover to QA, Docs, Eco Dev with MVP quality software is still expected down the track but may be pending growing teams. - -### Accountability - -Each epic should have an owner per subteam. -Most epics will have a unique owner (e.g. a Waku Research team member owns a `E:research` epic). -For _Dogfood_ and _QA_ epics, one owner per client should be set. - -The epic owner is responsible for breaking down the work in smaller issues in the related repo. - -For research team, it is expected that most of the research work is done by the epic owner, which includes: -- Capturing problem statement -- Designing protocol/solution -- Implementing PoC in reference implementation -- Running tests/simulations to confirm behaviour (to be offloaded to test engineer) - -For development teams, it is expected that design/break down is done by the epic owner. -But actual work can be picked up by other team member. -Epic owner must: - -- Understand the change and its implications, -- Liaise with researcher for any doubt or questions or design issues related to specific client/use case, -- Create issues (_Tasks_) to break down work in client repo, include an _acceptance criteria_ in each issue to ensure that the objective/end goal/behaviour is clearly described. - -It is likely that the epic owner will do the core change or first change for a given epic. -However, subsequent/other changes may be picked up in parallel or sequentially by other team members. - -Hence: -- dependencies must be clearly stated in _Task_ issue description -- Team members must assign _Task_ issues to themselves when work starts -- Team members must update issues to track progress - -The program manager should ensure that epics are getting the right assignee in a timely fashion. -For example, when research work starts for a given milestone, epic owners from development team should be assigned, so they know to participate in discussions. -Program manager should also ensure that issues are being created in a timely fashion, -an is encouraged to use client PM call as a forum to check epics to be assigned, for example when a given epic is near completion. - -### Handovers - -The following handovers are defined: - -| Handover | Expectations when handing over | Expectations when accepting handover | -|-------------------------------|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------| -| Research to development teams | - RFC PR is merged
- PoC PR is merged | - RFC content and PoC are reviewed
- Own code and functionality
- Own minor RFC changes | -| Development teams to QA | - Happy path and selected error path tests exist
- APIs are implemented to enable interop testing | - Review RFC
- Review existing tests | -| Development teams to Docs | - Working usage of API is provided
- Auto-generated documentation for public API is present | - Review examples
- Understands functionality
| -| Docs to Eco Dev | - Docs PR is merged with functioning code | - Understands functionality
- Execute guides | - - -The group or person handing over is expected to initiate a sync (meeting) or async (chat or GitHub) discussion to go through the output and overview. - -Once the handover is accepted, the given epic can be closed. - -### GitHub Usage - -A _Milestone_: -- MUST have a matching GitHub issue in the https://github.com/waku-org/pm repo with `milestone` label assigned. -- MUST have a GitHub Milestone in https://github.com/waku-org/pm repo, to which relevant _Epics_ are added. -- The GitHub milestone MUST be used to track progress. - -An _Epic_: -- MUST have a matching GitHub issue in the https://github.com/waku-org/pm repo. -- MUST have a label with format `E: `. -- SHOULD be added to a GitHub Milestone. -- SHOULD have a `Planned Start` and `Due Date` set (these are GitHub projects fields you can find in the `Projects` section of the issue view sidebar). -- MAY list _Tasks_ present in other repos. -- MUST have assignee(s), who represent the epic owner (see [accountability](#accountability)) - -A _Task_: -- MAY be tracked as a todo item in a GitHub Issue (_Task_ or _Epic_), -- OR MAY be tracked as a single GH issue - - that MUST be labelled with related _Epic_ label (`E:...`), -- OR MAY be tracked as a GH Pull Request - - that MUST have a reference to the related GitHub _Task_ or _Epic_ issue -- MUST have an _acceptance criteria_ and/or a list of _tasks_ (that can be other GH issues). - -Finally, for _Tasks_ that do not belong to a given _Epic_ or _Milestone_: -- MUST have either labels: - - `bug`: This is a bug, likely reported by a user - - `enhancement`: This is an enhancement out of the scope of the technical roadmap, likely reported by a user - - Major enhancements should be carefully reviewed and prioritized. - - `documentation`: Documentation improvement or correction. - - `dependencies`: Upgrade dependencies in a timely manner to avoid time wasting when the dependency upgrade becomes critical. - - -Which means, in terms of _navigation_: - -- Work for a Milestone is described in the related GitHub issue and tracked in the GitHub milestone. -- In the GitHub milestone, we have a list of _Epics_ to be achieved, the _Epics_ are being closed as the work is done and handed over. -- To look at remaining work for an _Epic_, one need to look at all issues (_Tasks_) with the corresponding _Epic_ label (`E:...`) \ No newline at end of file diff --git a/content/waku/reports.md b/content/waku/reports.md deleted file mode 100644 index b96d81a59..000000000 --- a/content/waku/reports.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Waku Reporting -tags: - - WakuReporting -date: 2023-10-19 -lastmod: 2023-11-08 ---- -## Overview -- Daily standups are posted in the team [discord](https://discord.waku.org). -- Weekly progress reports are submitted as comments on open issues in any public waku-org [github repository](https://github.com/orgs/waku-org/repositories). A script compiles the relevant comments and prepares for publication. - - Weekly updates pertaining to progress made toward active Epics and Milestones can be found [here](https://roadmap.logos.co/tags/waku-updates). -- [Monday all-team PM meetings](https://minutes.logos.co/tags/waku-all-team-pm/) are held three times to accommodate all time zones. -- Waku client-team PM meetings are held throughout the week depending on the general timezone and schedules of the team. -- Weekly highlights are derived from the weekly dev updates and compiled for publication by the Comms team via the "Waku Wednesday" series on X. -![](images/reporting-meeting-flow.png) -## Monthly Reports -- [[waku/monthly-reports/2023-sept|2023 September]] -- [[waku/monthly-reports/2023-oct|2023 October]] \ No newline at end of file diff --git a/content/waku/templates/weekly-update-template.md b/content/waku/templates/weekly-update-template.md deleted file mode 100644 index 37b3d7d13..000000000 --- a/content/waku/templates/weekly-update-template.md +++ /dev/null @@ -1,276 +0,0 @@ ---- -title: TEMPLATE 2024-MM-DD Waku Weekly -tags: -# - waku-updates -# date: 2024-MM-DD ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - next: - - blockers: - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - next: - - blockers: - -- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - - achieved: - - next: - - blockers: - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - next: - - blockers: - -- [Metric: Count store messages](https://github.com/waku-org/pm/issues/167) - - achieved: - - next: - - blockers: - - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Enable testing of direct messages](https://github.com/waku-org/pm/issues/176) - - achieved: - - next: - - blockers: - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - next: - - blockers: - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - next: - - blockers: - -- [Telemetry: fleet logging](https://github.com/waku-org/pm/issues/180) - - achieved: - - next: - - blockers: - -- [Telemetry: direct message reliability](https://github.com/waku-org/pm/issues/182) - - achieved: - - next: - - blockers: - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - next: - - blockers: - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - next: - - blockers: - -- [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - - achieved: - - next: - - blockers: - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - next: - - blockers: - - - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [Telemetry: multicast message reliability](https://github.com/waku-org/pm/issues/192) - - achieved: - - next: - - blockers: - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - next: - - blockers: - -- [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194) - - achieved: - - next: - - blockers: - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Telemetry: Measure Bandwidth](https://github.com/waku-org/pm/issues/195) - - achieved: - - next: - - blockers: - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - next: - - blockers: - -- [Enable testing of custom shard implementation for Communities](https://github.com/waku-org/pm/issues/196) - - achieved: - - next: - - blockers: - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - - achieved: - - next: - - blockers: - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - next: - - blockers: - -- [Provision RLN for light push clients PoC](https://github.com/waku-org/pm/issues/206) - - achieved: - - next: - - blockers: - -- [Pay for RLN provision first PoC](https://github.com/waku-org/pm/issues/207) - - achieved: - - next: - - blockers: - -## [Milestone - Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - -- [Usage of Rendezvous](https://github.com/waku-org/pm/issues/199) - - achieved: - - next: - - blockers: - -- [DoS protection for req-res protocols and metrics (go-waku as service node)](https://github.com/waku-org/pm/issues/200) - - achieved: - - next: - - blockers: - -## [Milestone: Nwaku in Status Desktop](https://github.com/waku-org/pm/milestone/33) - -- [Nwaku in Golang: Desktop](https://github.com/waku-org/pm/issues/201) - - achieved: - - next: - - blockers: - -- [Nwaku in Golang: Relay](https://github.com/waku-org/pm/issues/202) - - achieved: - - next: - - blockers: - -- [Nwaku in Status Desktop](https://github.com/waku-org/pm/issues/203) - - achieved: - - next: - - blockers: - -- [Nwaku on Windows](https://github.com/waku-org/pm/issues/239) - - achieved: - - next: - - blockers: - -## [Milestone: Incentivise running a Waku infrastructure node](https://github.com/waku-org/pm/milestone/35) - -- [RLN Relay Incentivisation - Distribute RLN fees PoC](https://github.com/waku-org/pm/issues/243) - - achieved: - - next: - - blockers: - -- [RLN Relay Incentivisation - RLN fee sharing roadmap & spec](https://github.com/waku-org/pm/issues/244) - - achieved: - - next: - - blockers: - -- [Service Incentivisation - Pay for RLN provision PoC](https://github.com/waku-org/pm/issues/245) - - achieved: - - next: - - blockers: - -- [Service Incentivisation - Service incentivisation roadmap & spec](https://github.com/waku-org/pm/issues/246) - - achieved: - - next: - - blockers: - -## [Milestone: Bandwidth optimization and protocol review](https://github.com/waku-org/pm/milestone/31) - -- [Status usage of Waku scaling and bandwidth optimization recommendation](https://github.com/waku-org/pm/issues/197) - - achieved: - - next: - - blockers: - -- [Review usage of content topics in Status Chat and Communities protocol](https://github.com/waku-org/pm/issues/198) - - achieved: - - next: - - blockers: - -## Other Work - -### Enhancements - -- achieved: -- next: -- blockers: - -### Maintenance - -- achieved: -- next: -- blockers: - -### Bugs - -- achieved: -- next: -- blockers: - -### [Milestone: Demonstrate product-market fit](https://github.com/waku-org/pm/milestone/36) - -- [Define cost (self-host)](https://github.com/waku-org/pm/issues/247) - - achieved: - - next: - - blockers: - -- [The Waku Whitepaper](https://github.com/waku-org/pm/issues/248) - - achieved: - - next: - - blockers: - -- [Define potential USPs](https://github.com/waku-org/pm/issues/249) - - achieved: - - next: - - blockers: - -- [Define target customers](https://github.com/waku-org/pm/issues/250) - - achieved: - - next: - - blockers: - -- [Customer Interviews](https://github.com/waku-org/pm/issues/251) - - achieved: - - next: - - blockers: - -- [Co-design sessions](https://github.com/waku-org/pm/issues/252) - - achieved: - - next: - - blockers: - -- [Review Waku MVP](https://github.com/waku-org/pm/issues/253) - - achieved: - - next: - - blockers: - -### [Milestone: Acquire first 10 customers](https://github.com/waku-org/pm/milestone/37) - -- [5-10 Highly qualified leads](https://github.com/waku-org/pm/issues/254) - - achieved: - - next: - - blockers: - -- [Review current integrations](https://github.com/waku-org/pm/issues/255) - - achieved: - - next: - - blockers: diff --git a/content/waku/updates/2023-07-24.md b/content/waku/updates/2023-07-24.md deleted file mode 100644 index b80ecd534..000000000 --- a/content/waku/updates/2023-07-24.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -title: "2023-07-24 Waku weekly" -tags: - - "waku-updates" -date: "2023-07-24" -lastmod: "2023-08-04" -draft: false ---- - -Disclaimer: First attempt playing with the format. Incomplete as not everyone is back and we are still adjusting the milestones. - ---- - -## Docs - -### **Milestone**: Foundation for Waku docs (done) - -#### _achieved_: -- overall layout -- concept docs -- community/showcase pages - -### **Milestone**: Foundation for node operator docs (done) -#### _achieved_: -- nodes overview page -- guide for running nwaku (binaries, source, docker) -- peer discovery config guide -- reference docs for config methods and options - -### **Milestone**: Foundation for js-waku docs -#### _achieved_: -- js-waku overview + installation guide -- lightpush + filter guide -- store guide -- @waku/create-app guide - -#### _next:_ -- improve @waku/react guide - -#### _blocker:_ -- polyfills issue with [js-waku](https://github.com/waku-org/js-waku/issues/1415) - -### **Milestone**: Docs general improvement/incorporating feedback (continuous) -### **Milestone**: Running nwaku in the cloud -### **Milestone**: Add Waku guide to learnweb3.io -### **Milestone**: Encryption docs for js-waku -### **Milestone**: Advanced node operator doc (postgres, WSS, monitoring, common config) -### **Milestone**: Foundation for go-waku docs -### **Milestone**: Foundation for rust-waku-bindings docs -### **Milestone**: Waku architecture docs -### **Milestone**: Waku detailed roadmap and milestones -### **Milestone**: Explain RLN - ---- - -## Eco Dev (WIP) - -### **Milestone**: EthCC Logos side event organisation (done) -### **Milestone**: Community Growth -#### _achieved_: -- Wrote several bounties, improved template; setup onboarding flow in Discord. - -#### _next_: -- Review template, publish on GitHub - -### **Milestone**: Business Development (continuous) -#### _achieved_: -- Discussions with various leads in EthCC -#### _next_: -- Booking calls with said leads - -### **Milestone**: Setting Up Content Strategy for Waku - -#### _achieved_: -- Discussions with Comms Hubs re Waku Blog -- expressed needs and intent around future blog post and needed amplification -- discuss strategies to onboard/involve non-dev and potential CTAs. - -### **Milestone**: Web3Conf (dates) -### **Milestone**: DeCompute conf - ---- - -## Research (WIP) - -### **Milestone**: [Autosharding v1](https://github.com/waku-org/nwaku/issues/1846) -#### _achieved:_ -- rendezvous hashing -- weighting function -- updated LIGHTPUSH to handle autosharding - -#### _next:_ -- update FILTER & STORE for autosharding - ---- - -## nwaku (WIP) - -### **Milestone**: Postgres integration. -#### _achieved:_ -- nwaku can store messages in a Postgres database -- we started to perform stress tests - -#### _next:_ -- Analyse why some messages are not stored during stress tests happened in both sqlite and Postgres, so maybe the issue isn't directly related to _store_. - -### **Milestone**: nwaku as a library (C-bindings) -#### _achieved:_ -- The integration is in progress through N-API framework - -#### _next:_ -- Make the nodejs to properly work by running the _nwaku_ node in a separate thread. - ---- - -## go-waku (WIP) - - ---- - -## js-waku (WIP) - -### **Milestone**: [Peer management](https://github.com/waku-org/js-waku/issues/914) -#### _achieved: -- spec test for connection manager - -### **Milestone**: [Peer Exchange](https://github.com/waku-org/js-waku/issues/1429) -### **Milestone**: Static Sharding -#### _next_: -- start implementation of static sharding in js-waku - -### **Milestone**: Developer Experience -#### _achieved_: -- js-lip2p upgrade to remove usage of polyfills (draft PR) - -#### _next_: -- merge and release js-libp2p upgrade - -### **Milestone**: Waku Relay in the Browser - ---- \ No newline at end of file diff --git a/content/waku/updates/2023-07-31.md b/content/waku/updates/2023-07-31.md deleted file mode 100644 index 0e6761c76..000000000 --- a/content/waku/updates/2023-07-31.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: "2023-07-31 Waku weekly" -tags: - - "waku-updates" -date: "2023-07-31" -lastmod: "2023-08-04" -draft: false ---- - -## Docs - -### **Milestone**: Docs general improvement/incorporating feedback (continuous) -#### _next:_ -- rewrite docs in British English -### **Milestone**: Running nwaku in the cloud -#### _next:_ -- publish guides for Digital Ocean, Oracle, Fly.io - ---- -## Eco Dev (WIP) - ---- -## Research - -### **Milestone**: Detailed network requirements and task breakdown -#### _achieved:_ -- gathering rough network requirements -#### _next:_ -- detailed task breakdown per milestone and effort allocation - -### **Milestone**: [Autosharding v1](https://github.com/waku-org/nwaku/issues/1846) -#### _achieved:_ -- update FILTER & STORE for autosharding -#### _next:_ -- RFC review & updates -- code review & updates - ---- -## nwaku - -### **Milestone**: nwaku release process automation -#### _next_: -- setup automation to test/simulate current `master` to prevent/limit regressions -- expand target architectures and platforms for release artifacts (e.g. arm64, Win...) -### **Milestone**: HTTP Rest API for protocols -#### _next:_ -- Filter API added -- tests to complete. - ---- -## go-waku - -### **Milestone**: Increase Maintability Score. Refer to [CodeClimate report](https://codeclimate.com/github/waku-org/go-waku) -#### _next:_ -- define scope on which issues reported by CodeClimate should be fixed. Initially it should be limited to reduce code complexity and duplication. - -### **Milestone**: RLN updates, refer [issue](https://github.com/waku-org/go-waku/issues/608). -_achieved_: -- expose `set_tree`, `key_gen`, `seeded_key_gen`, `extended_seeded_keygen`, `recover_id_secret`, `set_leaf`, `init_tree_with_leaves`, `set_metadata`, `get_metadata` and `get_leaf` -- created an example on how to use RLN with go-waku -- service node can pass in index to keystore credentials and can verify proofs based on bandwidth usage -#### _next_: -- merkle tree batch operations (in progress) -- usage of persisted merkle tree db - -### **Milestone**: Improve test coverage for functional tests of all protocols. Refer to [CodeClimate report] -#### _next_: -- define scope on which code sections should be covered by tests - -### **Milestone**: C-Bindings -#### _next_: -- update API to match nwaku's (by using callbacks instead of strings that require freeing) - ---- -## js-waku - -### **Milestone**: [Peer management](https://github.com/waku-org/js-waku/issues/914) -#### _achieved_: -- extend ConnectionManager with EventEmitter and dispatch peers tagged with their discovery + make it public on the Waku interface -#### _next_: -- fallback improvement for peer connect rejection - -### **Milestone**: [Peer Exchange](https://github.com/waku-org/js-waku/issues/1429) -#### _next_: -- robusting support around peer-exchange for examples -### **Milestone**: Static Sharding -#### _achieved_: -- WIP implementation of static sharding in js-waku -#### _next_: -- investigation around gauging connection loss; - -### **Milestone**: Developer Experience -#### _achieved_: -- improve & update @waku/react -- merge and release js-libp2p upgrade - -#### _next:_ -- update examples to latest release + make sure no old/unused packages there - -### **Milestone**: Maintenance -#### _achieved_: -- update to libp2p@0.46.0 -#### _next_: -- suit of optional tests in pipeline - ---- \ No newline at end of file diff --git a/content/waku/updates/2023-08-06.md b/content/waku/updates/2023-08-06.md deleted file mode 100644 index b856ae922..000000000 --- a/content/waku/updates/2023-08-06.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: "2023-08-06 Waku weekly" -tags: - - "waku-updates" -date: 2023-08-08 -lastmod: 2023-08-08 -draft: false ---- - -Milestones for current works are created and used. Next steps are: -1) Refine scope of [research work](https://github.com/waku-org/research/issues/3) for rest of the year and create matching milestones for research and waku clients -2) Review work not coming from research and setting dates -Note that format matches the Notion page but can be changed easily as it's scripted - - -## nwaku - -**[Release Process Improvements](https://github.com/waku-org/nwaku/issues/1889)** {E:2023-qa} - -- _achieved_: fixed a bug in release CI workflow, enhanced the CI workflow to build and push a docker image on each PR to make simulations per PR more feasible -- _next_: document how to run PR built images in waku-simulator, adding Linux arm64 binaries and images -- _blocker_: - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2023-10k-users} - -- _achieved_: Docker compose with `nwaku` + `postgres` + `prometheus` + `grafana` + `postgres_exporter` https://github.com/alrevuelta/nwaku-compose/pull/3 -- _next_: Carry on with stress testing - -**[Autosharding v1](https://github.com/waku-org/nwaku/issues/1846)** {E:2023-1mil-users} - -- _achieved_: feedback/update cycles for FILTER & LIGHTPUSH -- _next_: New fleet, updating ENR from live subscriptions and merging -- _blocker_: Architecturally it seams difficult to send the info to Discv5 from JSONRPC for the Waku app. - -**[Move Waku v1 and Waku-Bridge to new repos](https://github.com/waku-org/nwaku/issues/1767)** {E:2023-qa} - -- _achieved_: Removed v1 and wakubridge code from nwaku repo -- _next_: Remove references to `v2` from nwaku directory structure and documents - -**[nwaku c-bindings](https://github.com/waku-org/nwaku/issues/1332)** {E:2023-many-platforms} - -- _achieved_: - - Moved the Waku execution into a secondary working thread. Essential for NodeJs. - - Adapted the NodeJs example to use the `libwaku` with the working-thread approach. The example had been receiving relay messages during a weekend. The memory was stable without crashing. -- _next_: start applying the thread-safety recommendations https://github.com/waku-org/nwaku/issues/1878 - -**[HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs](https://github.com/waku-org/nwaku/issues/1076)** {E:2023-many-platforms} - -- _achieved_: Legacy Filter - v1 - interface Rest Api support added. -- _next_: Extend Rest Api interface for new v2 filter. Get v2 filter service supported from node. - ---- -## js-waku - -**[Peer Exchange is supported and used by default](https://github.com/waku-org/js-waku/issues/1429)** {E:2023-light-protocols} - -- _achieved_: robustness around peer-exchange, and highlight discovery vs connections for PX on the web-chat example -- _next_: saving successfully connected PX peers to local storage for easier connections on reload - -**[Waku Relay scalability in the Browser](https://github.com/waku-org/js-waku/issues/905)** {NO EPIC} - -- _achieved_: draft of direct browser-browser RTC example https://github.com/waku-org/js-waku-examples/pull/260 -- _next_: improve the example (connection re-usage), work on contentTopic based RTC example - ---- -## go-waku - -**[C-Bindings Improvement: Callbacks and Duplications](https://github.com/waku-org/go-waku/issues/629)** {E:2023-many-platforms} - -- _achieved_: updated c-bindings to use callbacks -- _next_: refactor v1 encoding functions and update RFC - -**[Improve Test Coverage](https://github.com/waku-org/go-waku/issues/620)** {E:2023-qa} - -- _achieved_: Enabled -race flag and ran all unit tests to identify data races. -- _next_: Fix issues reported by the data race detector tool - -**[RLN: Post-Testnet3 Improvements](https://github.com/waku-org/go-waku/issues/605)** {E:2023-rln} - -- _achieved_: use zerokit batch insert/delete for members, exposed function to retrieve data from merkle tree, modified zerokit and go-zerokit-rln to pass merkle tree persistence configuration settings -- _next_: resume onchain sync from persisted tree db - -**[Introduce Peer Management](https://github.com/waku-org/go-waku/issues/594)** {E:2023-peer-mgmt} - -- _achieved_: Basic peer management to ensure standard in/out ratio for relay peers. -- _next_: add service slots to peer manager - ---- -## Eco Dev - -**[Aug 2023](https://github.com/waku-org/internal-waku-outreach/issues/103)** {E:2023-eco-growth} - -- _achieved_: production of swags and marketing collaterals for web3conf completed -- _next_: web3conf talk and side event production. various calls with commshub for preparing marketing collaterals. - ---- -## Docs - -**[Advanced docs for js-waku](https://github.com/waku-org/docs.waku.org/issues/104)** {E:2023-eco-growth} - -- _next_: create guide on `@waku/react` and debugging js-waku web apps - -**[Docs general improvement/incorporating feedback (2023)](https://github.com/waku-org/docs.waku.org/issues/102)** {E:2023-eco-growth} - -- _achieved_: rewrote the docs in UK English -- _next_: update docs terms, announce js-waku docs - -**[Foundation of js-waku docs](https://github.com/waku-org/docs.waku.org/issues/101)** {E:2023-eco-growth} - -_achieved_: added guide on js-waku bootstrapping - ---- -## Research - -**[1.1 Network requirements and task breakdown](https://github.com/waku-org/research/issues/6)** {E:2023-1mil-users} - -- _achieved_: Setup project management tools; determined number of shards to 8; some conversations on RLN memberships -- _next_: Breakdown and assign tasks under each milestone for the 1 million users/public Waku Network epic. - ---- \ No newline at end of file diff --git a/content/waku/updates/2023-08-14.md b/content/waku/updates/2023-08-14.md deleted file mode 100644 index a4238bd3c..000000000 --- a/content/waku/updates/2023-08-14.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: "2023-08-14 Waku weekly" -tags: - - "waku-updates" -date: 2023-08-14 -lastmod: 2023-08-17 -draft: false ---- - - -# 2023-08-14 Waku weekly ---- -## Epics - -**[Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12)** {E:2023-10k-users} - -All software has been delivered. Pending items are: -- Running stress testing on PostgreSQL to confirm performance gain https://github.com/waku-org/nwaku/issues/1894 -- Setting up a staging fleet for Status to try static sharding -- Running simulations for Store protocol: [Will confirm with Vac/DST on dates/commitment](https://github.com/vacp2p/research/issues/191#issuecomment-1672542165) and probably move this to [1mil epic](https://github.com/waku-org/pm/issues/31) - ---- -## Eco Dev - -**[Aug 2023](https://github.com/waku-org/internal-waku-outreach/issues/103)** {E:2023-eco-growth} - -- _achieved_: web3conf talk, swags, 2 side events, twitter promotions, requested for marketing collateral to commshub -- _next_: complete waku metrics, coordinate events with Lou, ethsafari planning, muchangmai planning -- _blocker_: was blocked on infra for hosting nextjs app for waku metrics but migrating to SSR and hosting on vercel - ---- -## Docs - -**[Advanced docs for js-waku](https://github.com/waku-org/docs.waku.org/issues/104)** - -- _next_: document notes/recommendations for NodeJS, begin docs on `js-waku` encryption - ---- -## nwaku - -**[Release Process Improvements](https://github.com/waku-org/nwaku/issues/1889)** {E:2023-qa} - -- _achieved_: minor CI fixes and improvements -- _next_: document how to run PR built images in waku-simulator, adding Linux arm64 binaries and images - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2023-10k-users} - -- _achieved_: Learned that the insertion rate is constrained by the `relay` protocol. i.e. the maximum insert rate is limited by `relay` so I couldn't push the "insert" operation to a limit from a _Postgres_ point of view. For example, if 25 clients publish messages concurrently, and each client publishes 300 msgs, all the messages are correctly stored. If repeating the same operation but with 50 clients, then many messages are lost because the _relay_ protocol doesn't process all of them. -- _next_: Carry on with stress testing. Analyze the performance differences between _Postgres_ and _SQLite_ regarding the _read_ operations. - -**[Autosharding v1](https://github.com/waku-org/nwaku/issues/1846)** {E:2023-1mil-users} - -- _achieved_: many feedback/update cycles for FILTER, LIGHTPUSH, STORE & RFC -- _next_: updating ENR for live subscriptions - -**[HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs](https://github.com/waku-org/nwaku/issues/1076)** {E:2023-many-platforms} - -- _achieved_: Legacy Filter - v1 - interface Rest Api support added. -- _next_: Extend Rest Api interface for new v2 filter. Get v2 filter service supported from node. Add more tests. - ---- -## js-waku - -**[Maintenance](https://github.com/waku-org/js-waku/issues/1455)** {E:2023-qa} - -- achieved: upgrade libp2p & chainsafe deps to libp2p 0.46.3 while removing deprecated libp2p standalone interface packages (new breaking change libp2p w/ other deps), add tsdoc for referenced types, setting up/fixing prettier/eslint conflict - -**[Developer Experience (2023)](https://github.com/waku-org/js-waku/issues/1453)** {E:2023-eco-growth} - -- _achieved_: non blocking pipeline step (https://github.com/waku-org/js-waku/issues/1411) - -**[Peer Exchange is supported and used by default](https://github.com/waku-org/js-waku/issues/1429)** {E:2023-light-protocols} - -- _achieved_: close the "fallback mechanism for peer rejections", refactor peer-exchange compliance test -- _next_: peer-exchange to be included with default discovery, action peer-exchange browser feedback - ---- -## go-waku - -**[Maintenance](https://github.com/waku-org/go-waku/issues/634)** {E:2023-qa} - -- _achieved_: improved keep alive logic for identifying if machine is waking up; added vacuum feature to sqlite and postgresql; made migrations optional; refactored db and migration code, extracted code to generate node key to its own separate subcommand - -**[C-Bindings Improvement: Callbacks and Duplications](https://github.com/waku-org/go-waku/issues/629)** {E:2023-many-platforms} - -- _achieved_: PR for updating the RFC to use callbacks, and refactored the encoding functions - -**[Improve Test Coverage](https://github.com/waku-org/go-waku/issues/620)** {E:2023-qa} - -- _achieved_: Fixed issues reported by the data race detector tool. -- _next_: identify areas where test coverage needs improvement. - -**[RLN: Post-Testnet3 Improvements](https://github.com/waku-org/go-waku/issues/605)** {E:2023-rln} - -- _achieved_: exposed merkle tree configuration, removed embedded resources from go-zerokit-rln, fixed nwaku / go-waku rlnKeystore compatibility, added merkle tree persistence and modified zerokit to print to stderr any error obtained while executing functions via FFI. -- _next_: interop with nwaku - -**[Introduce Peer Management](https://github.com/waku-org/go-waku/issues/594)** {E:2023-peer-mgmt} - -- _achieved_: add service slots to peer manager. -- _next_: implement relay connectivity loop, integrate gossipsub scoring for peer disconnections - ---- \ No newline at end of file diff --git a/content/waku/updates/2023-08-21.md b/content/waku/updates/2023-08-21.md deleted file mode 100644 index f2f3030f0..000000000 --- a/content/waku/updates/2023-08-21.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "2023-08-21 Waku weekly" -tags: - - "waku-updates" -date: 2023-08-21 -lastmod: 2023-08-22 -draft: false ---- - -# 2023-08-21 Waku weekly ---- -## Eco Dev - -**[Aug 2023](https://github.com/waku-org/internal-waku-outreach/issues/103)** {E:2023-eco-growth} - -- *achieved:* +20% increase on twitter followers and had a discussion with digital comms team regarding improving Waku's metrics on social handles. Migration of all ecodev elements from github to notion has also been initiated. -- *next:* publish the metrics dashboard after call with Vaclav and publish draft for advocates program. Also coordinate with Lou regarding ETHRome hackathon. -- *blocker:* none - ---- -## Docs - -**[Advanced docs for js-waku](https://github.com/waku-org/docs.waku.org/issues/104)** - -- _achieved_: added guide for `js-waku` debugging and running in NodeJS - [PR111](https://github.com/waku-org/docs.waku.org/pull/111) -- _next_: `js-waku` encryption guides - ---- -## Research - -**[1.1 Network requirements and task breakdown](https://github.com/waku-org/research/issues/6)** {E:2023-1mil-users} - -- _achieved_: Breakdown and assign tasks under each milestone for the 1 million users/public Waku Network epic. -- _next_: Refine/discuss task breakdown. Start working on Waku Network RFC. - ---- -## nwaku - -**[Sharded peer management and discovery](https://github.com/waku-org/nwaku/issues/1919)** {E:2023-peer-mgmt} - -- _achieved_: discv5 ENR update & filter predicate run-time updating -- _next_: PRs feedback updates - -**[Autosharding v1](https://github.com/waku-org/nwaku/issues/1846)** {E:2023-1mil-users} - -achieved: Complete! FILTER, LIGHTPUSH and RFC merged. - -**[HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs](https://github.com/waku-org/nwaku/issues/1076)** {E:2023-many-platforms} - -- _achieved_: Legacy Filter - v1 - interface Rest Api support added. V2 implementation done wait for PR review -- _next_: Testing and add even more tests for failure cases. - ---- -## js-waku - -**[Maintenance](https://github.com/waku-org/js-waku/issues/1455)** {E:2023-qa} - -- _achieved_: breaking change for `@noble/secp256k1` PR in progress, redo trailing commas PR - -**[Developer Experience (2023)](https://github.com/waku-org/js-waku/issues/1453)** {E:2023-eco-growth} - -- _achieved:_ set default fallback fro `NodeRequirements` - -**[Peer Exchange is supported and used by default](https://github.com/waku-org/js-waku/issues/1429)** {E:2023-light-protocols} - -- _achieved_: peer-exchange included by default (PR opened) -- _next_: tasks breakdown and followup from dogfooding feedback - ---- -## go-waku - -**[RLN enabled by default](https://github.com/waku-org/go-waku/issues/655)** {E:2023-rln} - -- _achieved_: removed registration capability from the wakunode and created a separate subcommand to do the registration -- _next_: run rln-relay on all configured pubsub topics and content topics - -**[Maintenance](https://github.com/waku-org/go-waku/issues/634)** {E:2023-qa} - -- _achieved_: refactored wakuv2 metrics to make each protocol responsible for registering and defining its own metrics - -**[RLN: Post-Testnet3 Improvements](https://github.com/waku-org/go-waku/issues/605)** {E:2023-rln} - - achieved: interop with nwaku. - -**[Introduce Peer Management](https://github.com/waku-org/go-waku/issues/594)** {E:2023-peer-mgmt} - -- _achieved_: implement relay connectivity loop, log reachability status reported with help of AutoNAT service, local testing using waku simulator and bug fixes -- _next_: work towards dogfooding new peer mgmt with Status - ---- diff --git a/content/waku/updates/2023-08-28.md b/content/waku/updates/2023-08-28.md deleted file mode 100644 index 3fe3bd3df..000000000 --- a/content/waku/updates/2023-08-28.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: 2023-08-28 Waku weekly -tags: - - waku-updates -date: 2023-08-28 -lastmod: 2023-08-28 -draft: false ---- - -## 2023-08-28 Waku weekly ---- -### Epics - -**[Status MVP: Status Core Contributors use Status Mobile](https://github.com/waku-org/pm/issues/8)** {E:2023-light-protocols} - -Light push and filter protocols are available in Status Mobile and Desktop. Some light dogfooding has started. - ---- -### Research - -**[1.1 Network requirements and task breakdown](https://github.com/waku-org/research/issues/6)** {E:2023-1mil-users} - -- _achieved_: Further task refinement and assigning ownership. Visibility and traceability via GH issues. -- _next_: Start working on Waku Network RFC. - ---- -### nwaku - -**[setting up static sharding fleet for Status](https://github.com/waku-org/nwaku/issues/1914)** {E:2023-10k-users} - -- _achieved_: final infra definition, including generated keys and shards, specified in infra-status issue -- _next_: ensure fleet gets deployed as specified - -**[Release Process Improvements](https://github.com/waku-org/nwaku/issues/1889)** {E:2023-qa} - -- _achieved_: added a CI job to notify on unexpected config option or DB schema changes -- _next_: document how to run PR built images in waku-simulator, adding Linux arm64 binaries and images - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2023-10k-users} - -- _achieved_: new _docker compose_ in `test-waku-query` that allows to quickly compare `insert` and `query` performance between _SQLite_ and _Postgres_. -- _next_: Carry on with stress testing & follow-up of the _Postgres_ addition to [wakuv2.shards](https://github.com/status-im/infra-nim-waku/blob/master/ansible/group_vars/wakuv2-shards.yml) by the _infra_ team. - -**[nwaku c-bindings](https://github.com/waku-org/nwaku/issues/1332)** {E:2023-many-platforms} - -- _achieved_: Started applying _thread-safe_ recommendations, making the _Waku Node_ instance to be created within the _Waku Thread_ itself. -- _next_: Carry on with the _thread-safety_ recommendations: avoid using [Channel](https://nim-lang.org/0.20.0/channels.html) to communicate main thread and the _Waku Thread_. - -**[HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs](https://github.com/waku-org/nwaku/issues/1076)** {E:2023-many-platforms} - -- _achieved_: Legacy Filter - v1 - interface Rest Api support added. V2 implementation done wait for PR review -- _next_: Finish rebase to master, manual adapt of autoshard feature into Filter v2. - ---- -### js-waku - -**[Maintenance](https://github.com/waku-org/js-waku/issues/1455)** {E:2023-qa} - -- _achieved_: store protocol refactor for readability - -**[Peer Exchange is supported and used by default](https://github.com/waku-org/js-waku/issues/1429)** {E:2023-light-protocols} - -- _achieved_: break down dogfooding into tasks for peer-exchange - -**[Cover Several Environments As Part of Testing](https://github.com/waku-org/js-waku/issues/52)** {E:2023-qa} - -- _achieved_: created front-end app to be run in a pipeline -- _next_: complete app and run in the pipeline, figure out next steps to run Firefox - ---- -### go-waku - -**[RLN enabled by default](https://github.com/waku-org/go-waku/issues/655)** {E:2023-rln} - -- _achieved_: run rln-relay on all configured pubsub topics and content topics, added metrics, made RLN database aware of chainID and contract address, refactored keystore. -- _next_: test keystore interop with nwaku, integrate waku rln registry, and restore valid roots from DB - -**[Auto-sharding v1](https://github.com/waku-org/go-waku/issues/623)** {E:2023-1mil-users} - -- _achieved_: Implemented core logic for autosharding -- _next_: API changes for autosharding - -**[Improve Test Coverage](https://github.com/waku-org/go-waku/issues/620)** {E:2023-qa} - -- _achieved_: Improved test coverage in utils. - -**[Introduce Peer Management](https://github.com/waku-org/go-waku/issues/594)** {E:2023-peer-mgmt} - -- _achieved_: Raised PR in status-go to use this version in order to dogfood. Local testing with status desktop -- _next_: Dogfood changes with Status desktop and mobile using Waku CC's - ---- \ No newline at end of file diff --git a/content/waku/updates/2023-09-04.md b/content/waku/updates/2023-09-04.md deleted file mode 100644 index 462a2e633..000000000 --- a/content/waku/updates/2023-09-04.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: 2023-09-04 Waku weekly -tags: - - waku-updates -date: 2023-09-04 -lastmod: 2023-09-04 -draft: false ---- - -## 2023-09-04 Waku weekly ---- -### Epics - -**[1.1 Network requirements and task breakdown](https://github.com/waku-org/pm/issues/62)** {E:2023-1mil-users} - -- _achieved_: Started working on Waku Network RFC. Visibility and traceability in GH improvements. -- _next_: Continue working on Waku Network RFC. - ---- -### nwaku - -**[setting up static sharding fleet for Status](https://github.com/waku-org/nwaku/issues/1914)** {E:2023-10k-users} - -- _achieved_: negotiation with infra to improve fleet definition, clarify postgresql deployment -- _next_: ensure fleet gets deployed as specified - -**[Release Process Improvements](https://github.com/waku-org/nwaku/issues/1889)** {E:2023-qa} - -- _achieved_: minor fixes in GH action workflows, building `experimental` (i.e. RLN enabled) image per-PR to simlify RLN testing/simulations -- _next_: document how to run PR built images in waku-simulator, adding Linux arm64 binaries and images - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2023-10k-users} - -- _achieved_: Download and start configuring `jmeter` to have a variable number of clients sending concurrent _Store_ requests. -- _next_: Carry on with stress testing & follow-up of the _Postgres_ addition to [wakuv2.shards](https://github.com/status-im/infra-nim-waku/blob/master/ansible/group_vars/wakuv2-shards.yml) by the _infra_ team. - -**[nwaku c-bindings](https://github.com/waku-org/nwaku/issues/1332)** {E:2023-many-platforms} - -- _achieved_: Merged PR that made the _Waku Node_ to be created within the _Waku Thread_. Submitted a PR that aims to make a safer the communication between the main thread and the _Waku Thread_. -- _next_: Merge the PR to enhance communication between threads and start extracting the thread context outside the library (comment: https://github.com/waku-org/nwaku/pull/1865#discussion_r1282722954). - -**[HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs](https://github.com/waku-org/nwaku/issues/1076)** {E:2023-many-platforms} - -- _achieved_: Legacy Filter - v1 - interface Rest Api support added. V2 implementation done wait for PR review -- _next_: Complete Filter v2 PR foundings fixes. -- _blocking_: PR review found a design flow, need a little redesign. - ---- -### js-waku - -**[Maintenance](https://github.com/waku-org/js-waku/issues/1455)** {E:2023-qa} - -- _achieved_: @chainsafe/libp2p-gossipsub is updated - -**[Developer Experience (2023)](https://github.com/waku-org/js-waku/issues/1453)** {E:2023-eco-growth} - -- _achieved_: pre-emptive stream creations for light protocols, using lowest latency peers for light protocols (WIP) -- _next_: merging lowest latency peer PR - -**[Waku Relay scalability in the Browser](https://github.com/waku-org/js-waku/issues/905)** - -- _achieved_: complete PoC of Waku Relay over WebRTC using circuit relay -- _next_: pause this to prioritize Waku Network milestone - -**[Cover Several Environments As Part of Testing](https://github.com/waku-org/js-waku/issues/52)** {E:2023-qa} - -- _achieved_: finishing testing against chrome and react; -- _next_: investigate other adding browsers; - ---- -### go-waku - -**[RLN enabled by default](https://github.com/waku-org/go-waku/issues/655)** {E:2023-rln} - -- _achieved_: test keystore interop with nwaku, integrate waku rln registry, and restore valid roots from DB -- _next_: ordered validator execution, bandwidth validation, upgrade zerokit - -**[Maintenance](https://github.com/waku-org/go-waku/issues/634)** {E:2023-qa} - -- _achieved_: allow mixing named and static shards, logs successful message pushes, concurrency fixes for filterv2 - -**[Auto-sharding v1](https://github.com/waku-org/go-waku/issues/623)** {E:2023-1mil-users} - -- _achieved_: Implemented new config for autosharding and ENR updates with shard info -- _next_: update various protocols to autoshard - ---- \ No newline at end of file diff --git a/content/waku/updates/2023-09-11.md b/content/waku/updates/2023-09-11.md deleted file mode 100644 index a44f8c3bf..000000000 --- a/content/waku/updates/2023-09-11.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: 2023-09-11 Waku weekly -tags: - - waku-updates -date: 2023-09-11 -lastmod: 2023-09-11 -draft: false ---- - -2023-09-11 Waku weekly ---- -### Research - -**[1.1 Network requirements and task breakdown](https://github.com/waku-org/pm/issues/62)** {E:1.1 Network requirements and task breakdown} - -- _achieved:_ Opened first raw version of Waku Network RFC for review. -- _next:_ Address any feedback on the Waku Network RFC and complete under-defined sections. - ---- -### Docs - -**[Review Usage and Metrics 2023 Q3](https://github.com/waku-org/docs.waku.org/issues/107)** {E:Define network and community metrics} - -- _achieved_: published the language/SDK poll on Discord -- _next_: publish the poll on socials for more visibility and responses - -**[Docs general improvement/incorporating feedback (2023)](https://github.com/waku-org/docs.waku.org/issues/102)** - -- _next_: refactor the layout of the docs to match the new designs - ---- -### nwaku - -**[feat(rest): Add /health endpoint to rest api](https://github.com/waku-org/nwaku/issues/1988)** {E:REST API service node} - -- _achieved_: Feature /health endpoint added. PR merged: https://github.com/waku-org/nwaku/pull/2011 - -**[feat: Autosharding API for (relay) subscriptions](https://github.com/waku-org/nwaku/issues/1936)** {E:1.2: Autosharding for autoscaling} - -- _achieved_: Refactored and simplified the core logic -- _next_: More PR feedback - -**[Release Process Improvements](https://github.com/waku-org/nwaku/issues/1889)** {E:Automated release processes} - -- _achieved_: execute js-waku tests from nwaku workflows against PRs, nightly and release candidates -- _next_: adding Linux arm64 binaries and images - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2.1: Production testing of existing protocols}, {E:PostgreSQL} - -- _achieved_: - - Created a `jmeter` test plan to stress _Store_ queries through REST _Store_. As a conclusion, the node with _Store_ _Postgres_ showed worse performance than the one with _SQLite_. - https://github.com/waku-org/test-waku-query/pull/5 - - Added reconnection feature. If the connection with _Postgres_ is lost, the `nwaku` node tries to reconnect again. https://github.com/waku-org/nwaku/pull/1997 - - The `wakuv2.shards` fleet had been de-prioritized in favor of the `status.shards` one. - https://github.com/status-im/infra-nim-waku/issues/74#issuecomment-1710514544 -- _next_: Optimize database so that the _Store_ requests behave better with _Postgres_. - -**[chore: do not advertise MAs with port 0](https://github.com/waku-org/nwaku/issues/1883)** {bug} - -- _next_: analyze and fix issue - -**[feat: HTTP REST API: Filter support v2](https://github.com/waku-org/nwaku/issues/1872)** {E:REST API service node} - -- _achieved_: PR tracking is https://github.com/waku-org/nwaku/pull/1890 - Review is done, various fixes upon applied -- _next_: Last, agreed interface change to be done to complete. - -**[chore: update resolved enr ip when using `dns4-domain-name` flag](https://github.com/waku-org/nwaku/issues/1576)** {enhancement} - -- _next_: analyze and fix issue - -**[bug: `0.0.0.0` included in `listenAddrs` of identify message](https://github.com/waku-org/nwaku/issues/1427)** {bug} - -- _achieved_: fixed bug, updated tests according to new fixes and raised PR - -**[nwaku c-bindings (NodeJS + Python)](https://github.com/waku-org/nwaku/issues/1332)** {E:NodeJS Library} - -- _achieved_: improved the thread safeness communication. - https://github.com/waku-org/nwaku/pull/1978 -- _next_: Once the above PR is merged, avoid the use of global variables, to enhance the thread-safeness ( see https://github.com/waku-org/nwaku/pull/1865#discussion_r1282722954 ) - -**[HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs](https://github.com/waku-org/nwaku/issues/1076)** {E:REST API service node} - -- _achieved_: Legacy Filter - v1 - interface Rest Api support added. V2 implementation done wait for PR review, /health rest api added to check (currently) RLN readiness -- _next_: Last round of Filter v2 PR review with finalized re-worked push handler part. -- _blocking_: /health endpoint come in and Filter v2 work was down prio till. - ---- -### js-waku - -**[Maintenance](https://github.com/waku-org/js-waku/issues/1455)** {E:2023-qa} - -- _achieved_: updated typescript + plugins to major versions, waiting to merge for release - -**[Developer Experience (2023)](https://github.com/waku-org/js-waku/issues/1453)** {E:2023-eco-growth} - -- _achieved_: - - investigation of `go-waku` interop test that is failing - ongoing, fixing next release - - protocols now use lowest latency peer instead of a random peer -- _next_: root cause `go-waku` interop test failure, release `next` tag on master merge - -**[Peer Exchange is supported and used by default](https://github.com/waku-org/js-waku/issues/1429)** {E:2023-light-protocols} - -- _achieved_: Peer Exchange is now merged included in `defaultBootstrap` -- _next_: followup on browser investigation and confirm if the EPIC can be safely closed - -**[Cover Several Environments As Part of Testing](https://github.com/waku-org/js-waku/issues/52)** {test}, {E:2023-qa} - -- _achieved_: browser testing is redone and opening for review -- _next_: integrate with release process - rather quick follow up, revisit current epic - ---- -### go-waku - -**[RLN enabled by default](https://github.com/waku-org/go-waku/issues/655)** {E:3.2: Basic DoS protection in production} - -- _achieved_: - - ordered validator execution, upgrade zerokit, append rln proofs when posting msgs in rest/rpc, clean up nullifier table, automatically use key from keystore if only a single credential is available, validate credential using onchain query - - rln membership registration logic refactoring and fixing bugs. Added test for membershipFetcher. Added code for mock_blockchain and mock_client to test membershipFetcher. -- _next_: bandwidth validation, rln isReady verif in /health endpoint, subcommand to list credentials - -**[Maintenance](https://github.com/waku-org/go-waku/issues/634)** {E:2023-qa} - -- _achieved_: - - fix panic observed in peer-manager, update filter protocol as per rfc. - - add tls/ws to address factory and log ENRs only after they have been setup - - refactoring and some bug fixes in peermanager and read rfcs and docs -- _next_: increase test coverage and read more code. - -**[Improve Test Coverage](https://github.com/waku-org/go-waku/issues/620)** {test} - -- _achieved_: build examples as part of CI to capture compile errors - ---- diff --git a/content/waku/updates/2023-09-18.md b/content/waku/updates/2023-09-18.md deleted file mode 100644 index 8e5a78495..000000000 --- a/content/waku/updates/2023-09-18.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: 2023-09-18 Waku weekly -tags: - - waku-updates -date: 2023-09-18 -lastmod: 2023-09-19 -draft: false ---- - -2023-09-18 Waku weekly - ---- -### Epics - -**[1.1 Network requirements and task breakdown](https://github.com/waku-org/pm/issues/62)** {E:1.1 Network requirements and task breakdown} - -- _achieved_: Further specifications added for RLN. Merged and published first version of RFC -- _next_: Define first launchable (sub)network for Devconnect. - ---- -### Docs - -**[Advanced docs for js-waku](https://github.com/waku-org/docs.waku.org/issues/104)** - -- _achieved_: added guide for local development with nwaku - -**[Node operator doc - cloud and advanced options](https://github.com/waku-org/docs.waku.org/issues/103)** - -- _achieved_: added guide on advanced nwaku and WebSocket configurations -- _next_: add guide for enabling node monitoring - ---- -### Research - -**[RLN Key Benchmarks](https://github.com/waku-org/research/issues/23)** {E:3.2: Basic DoS protection in production} - -* *achieved*: benchmark rln, see issue with report. - ---- -### nwaku - -**[feat: HTTP REST API: lightpush ](https://github.com/waku-org/nwaku/issues/2040)** {E:REST API service node} - -- _achieved_: -- _next_: LightPush REST endpoint will be implemented fully and put on PR review -- _blocking_: - -**[bug: wrong user_version in sqlite database that blocks the run of a Waku node](https://github.com/waku-org/nwaku/issues/2027)** {bug} - -- _achieved_: bug fix that prevented a _Store_ `nwaku` to start if the _SQLite_ db was created with versions [0.14.0 - 0.18.0] - -**[feat: Autosharding API for (relay) subscriptions](https://github.com/waku-org/nwaku/issues/1936)** {E:1.2: Autosharding for autoscaling} - -- _achieved_: many PR fixes, -- _blocker_: explicit subscriptions in js-waku tests - -**[chore(rln-relay): Requirements to consider RLN ready (non experimental)](https://github.com/waku-org/nwaku/issues/1906)** {E:3.1: DoS requirements and design} - -* *achieved*: waku rln is not an experimental feature anymore, and is part of nwaku code base. from now on experimental features are hidden behind a flag and not in different build - -**[chore: do not advertise multiaddr with port 0](https://github.com/waku-org/nwaku/issues/1883)** {bug} - -- _achieved_: tested two different solutions: updating the port with an addressMapper, and not allowing the user to use port 0. Analyzed and discussed technical implications of both solutions. Initially followed decision to proceed with 2nd solution for now, with intention of implementing the first solution in the future. - - Opened a draft PR and updated tests for the solution of not allowing the user to choose port 0. -- _next_: after further feedback received today, we have to complete the discussion of how to move forward and either review and proceed with current PR, or plan and implement solution that updates all the data structures consistently across the node - -**[feat: HTTP REST API: Filter support v2](https://github.com/waku-org/nwaku/issues/1872)** {E:REST API service node} - -- _achieved_: Filter v1 & v2 REST API endpoints merged to master -- _next_: LightPush REST endpoint - -**[chore: update resolved enr ip when using `dns4-domain-name` flag](https://github.com/waku-org/nwaku/issues/1576)** {enhancement} - -- _achieved_: implemented solution that does DNS IP resolution during node bringup when no external IP is found but a DNS address is provided. - - Validated and tested "happy paths" of the solution, raised draft PR and got feedback about the solution -- _next_: discuss and define the system's behavior on errors, implement error handling and adding tests for this feature. - ---- -### js-waku - -**[Maintenance](https://github.com/waku-org/js-waku/issues/1455)** {E:2023-qa} - -- _achieved_: added logs, investigated issues reported -- _next_: approach reported issues, add preventative measures - -**[Cover Several Environments As Part of Testing](https://github.com/waku-org/js-waku/issues/52)** {test}, {E:2023-qa} - -- _achieved_: got reviews on playwrights tests -- _next_: maybe add bounty, check Karma testing - ---- -### go-waku - -**[feat: discovery & peer management for static shards](https://github.com/waku-org/go-waku/issues/727)** {E:1.4: Sharded peer management and discovery} - -- _achieved_: Update WakuPeerStore to store pubSubTopics for a peer. -- _next_: Sharded Peer Management considering static sharding for Status communities. - -**[RLN enabled by default](https://github.com/waku-org/go-waku/issues/655)** {E:3.2: Basic DoS protection in production} - -- _achieved_: isReady verif in /health endpoint, make RLN available in service nodes and library usage by default, update docs and docker image, use zerokit 0.3.4, allow running service node with no RLN credentials -- _next_: bandwidth validation, subcommand to list credentials - -**[Maintenance](https://github.com/waku-org/go-waku/issues/634)** {E:2023-qa} - -- _achieved_: CommonService for embedding lifecycle operation in lightpush,discv5,filter,peerConnector etc. -- _next_: after discussion with richard prem, use create 2 different types of commonService. Change nameServer flag functionality in go-waku to nwaku. And work on newly created tasks. - -**[Improve Test Coverage](https://github.com/waku-org/go-waku/issues/620)** {test} - -- _achieved_: replace golint by revive, and add `make lint-full` target to run linting with many more rules enabled - ---- diff --git a/content/waku/updates/2023-09-25.md b/content/waku/updates/2023-09-25.md deleted file mode 100644 index 1773a5710..000000000 --- a/content/waku/updates/2023-09-25.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: 2023-09-25 Waku weekly -tags: - - waku-updates -date: 2023-09-25 -lastmod: 2023-09-26 -draft: false ---- - -### nwaku - -**[feat: RLN support for Nwaku-Compose](https://github.com/waku-org/nwaku/issues/2051)** {E:3.2: Basic DoS protection in production} - -- _achieved_: added RLN flags `run_node.sh` (including the optional ones), added RLN related environment variables to `docker-compose.yml`, added RLN metrics' visualizations to Grafana and updated the README to account for the new changes. Improved implementation based on feedback. -- _next_: test the use of optional parameters, get feedback for new version, and merge as soon as all the comments get addressed - -**[chore: bump vendor dependencies for 0.21.0](https://github.com/waku-org/nwaku/issues/2041)** {dependencies} - -- _achieved_: Bumped all dependencies and prepared to `0.21.0`. We will start doing this regularly after each release. - -**[feat: HTTP REST API: lightpush ](https://github.com/waku-org/nwaku/issues/2040)** {E:REST API service node} - -- _achieved_: Lightpush REST API endpoint merged to master -- _next_: Admin REST endpoint, extended health endpoint, Full swagger doc of nwaku rest API interface - -**[feat: Service peer selection on specific shards](https://github.com/waku-org/nwaku/issues/1941)** {E:1.4: Sharded peer management and discovery} - -- _achieved_: peer manager can filter peer by shard, filter discv5 bootstrap nodes by shard, external APIs moved out of node folder -- _next_: refactor APIs handlers to discover peers if none is found in peer manager with the required capability - -**[feat: Autosharding API for (relay) subscriptions](https://github.com/waku-org/nwaku/issues/1936)** {E:1.2: Autosharding for autoscaling} - -- _achieved_: fixed js-waku nwaku interop test -- _blocker_: js-waku PR not merged - -**[chore: update resolved enr ip when using `dns4-domain-name` flag](https://github.com/waku-org/nwaku/issues/1576)** {enhancement} - -- _achieved_: added error handling and tests, received new feedback and addressed the comments -- _next_: get the new version reviewed and merge if approved - -**[chore: update resolved enr ip when using `dns4-domain-name` flag](https://github.com/waku-org/nwaku/issues/1576)** {enhancement} - -- _achieved_: implemented solution that does DNS IP resolution during node bringup when no external IP is found but a DNS address is provided. -Validated and tested "happy paths" of the solution, raised draft PR and got feedback about the solution -- _next_: discuss and define the system's behavior on errors, implement error handling and adding tests for this feature. - -**[nwaku c-bindings (NodeJS + Python)](https://github.com/waku-org/nwaku/issues/1332)** {E:NodeJS Library} - -- _achieved_: Use of 'ThreadSignalPtr' instead of loop to handle req/resp. -https://github.com/waku-org/nwaku/pull/2045 -- _next_: Avoid the use of global variables, to enhance the thread-safeness ( see https://github.com/waku-org/nwaku/pull/1865#discussion_r1282722954 ) - ---- -### js-waku - -**[Peer Exchange is supported and used by default](https://github.com/waku-org/js-waku/issues/1429)** {E:2.1: Production testing of existing protocols} - -- _achieved_: The Peer Exchange Epic is now completed & closed - -**[Cover Several Environments As Part of Testing](https://github.com/waku-org/js-waku/issues/52)** {test}, {E:Comprehensive dev testing} - -- _achieved_: improved karma testing, added testing in browser - ---- -### go-waku - -**[feat: discovery & peer management for static shards](https://github.com/waku-org/go-waku/issues/727)** {E:1.4: Sharded peer management and discovery} - -- _achieved_: handle dynamic topic sub/unsub and update peerMetadata. -- _next_: relay peer mgmt for static/auto sharding - -**[feat: Autosharding API for req-resp protocols](https://github.com/waku-org/go-waku/issues/673)** {E:1.2: Autosharding for autoscaling} - -- _achieved_: Completed Filter API and lightClient changes for autosharding - -**[Add postgresql to the unit tests](https://github.com/waku-org/go-waku/issues/607)** {test} - -- _achieved_: Add test for store query creation functionality, and change store test to use postgres. Add tests for postgres module. - ---- diff --git a/content/waku/updates/2023-10-02.md b/content/waku/updates/2023-10-02.md deleted file mode 100644 index cd6fbf407..000000000 --- a/content/waku/updates/2023-10-02.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -title: 2023-10-03 Waku Weekly -tags: - - waku-updates -date: 2023-10-02 -lastmod: 2023-10-05 -draft: false ---- -### waku-rust-bindings - - - -**[feat: filterv2 support](https://github.com/waku-org/waku-rust-bindings/issues/71)** {E:RLN non-native SDKs} - - - -- _achieved_: added support for `unsubscribe`, `ping` and `unsubscribe_all` filterv2 functions of go-waku c-bindings - -- _next_: add support to `subscribe` - - - ---- - -### nwaku - - - -**[feat: Implement /admin Rest Api endpoint](https://github.com/waku-org/nwaku/issues/2075)** - - - -- _achieved_: - -- _next_: /admin rest endpoint feature is on PR review will be merged next week. Restructure openapi descriptions and producing swagger ui like live document of all rest interfaces. - -- _blocking_: There are two build issues. libwaku cannot build on Fedora (RedHat) distros. Second, Abhi reported a build issue with wakunode2 - nim compiler crash under some circumstances. - - - -**[feat: RLN support for Nwaku-Compose](https://github.com/waku-org/nwaku/issues/2051)** {E:3.2: Basic DoS protection in production} - - - -- _achieved_: finished addressing feedback - -- _next_: task is blocked until there's an easier method for users to register RLN credentials - - - -**[feat: Service peer selection on specific shards](https://github.com/waku-org/nwaku/issues/1941)** {E:1.4: Sharded peer management and discovery} - - - -- _achieved_: newly refactored STORE REST API handler that trigger discv5 peer search when needed. - -- _next_: refactor other APIs - - - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2.1: Production testing of existing protocols}, {E:PostgreSQL} - - - -- _achieved_: - -- Better `dburl` parse that accepts host names with dashes and dots. - -- Properly set the compilation flag `-d:postgres` so _Docker_ images are compiled with support to _Postgres_ (with `libpq5` dependency.) - -- During the stress testing, I discovered that the max throughput seems not to be directly related to _Postgres_. If I make the code to ignore _Postgres_ and return immediately a mocked response, then the throughput is even lower. - -- _next_: Carry on with "select" performance analysis and analyze it directly from a _Store_ client, rather than having `REST` <-> `Store_Client` <-> `Store_Server`. By ignoring the `REST` layer we will have a better insight into the actual _Store_ protocol, as @jm-clius recommended to me some time ago. - - - -**[chore: add retention policy with GB or MB limitation](https://github.com/waku-org/nwaku/issues/1885)** {enhancement}, {E:PostgreSQL} - - - -Added the new retention policy based on DB size. - -Users can provide the size such as ex. 30gb (which is also the default) - -`--store-message-retention-policy=size:25GB` - -`--store-message-retention-policy=size:25gb` - -`--store-message-retention-policy=size:250MB` - -`--store-message-retention-policy=size:250mb` - -Test case also added. - -Outdated messages/rows are deleted to suffice the size limit, with 20% size reduction upon overflowing. - - - -**[chore: update resolved enr ip when using `dns4-domain-name` flag](https://github.com/waku-org/nwaku/issues/1576)** {enhancement} - - - -- _achieved_: addressed feedback and merged - - - -**[chore: improve test coverage on NetConfig generation](https://github.com/waku-org/nwaku/issues/1540)** - - - -- _achieved_: developed the new NetConfig test suite, raised PR, received and implemented feedback and merged. - - - -**[nwaku c-bindings (NodeJS + Python)](https://github.com/waku-org/nwaku/issues/1332)** {E:NodeJS Library} - - - -- _achieved_: - -- Added a simple cpp example to the main code. https://github.com/waku-org/nwaku/pull/2079. - -- Submitted a PR where we start showing the doability of a Rust integration with the `libwaku`. - -This PR is currently introducing the thread-safety enhancement of avoiding using global variables. Ideally, this should be in a separate PR. https://github.com/waku-org/nwaku/pull/2089. - -Notice that it was important to invest time in the Rust example so that we can carry on with the "callback" technique to exchange information between the host code (any) and the foreign code (Nim.) - -- _next_: Separate the PR mentioned above and submit another one which only avoids using global variables but doesn't add the wip-Rust integration. - - - ---- - -### js-waku - - - -**[Static Sharding](https://github.com/waku-org/js-waku/issues/1310)** {E:Static sharding} - - - -- _achieved_: allowing for multiple pubsub topics to be configured & refactoring protocols to support - -- _next_: enabling peer management to only dial relevant shards - - - ---- - -### go-waku - - - -**[refactor: add user_data to c-bindings](https://github.com/waku-org/go-waku/issues/788)** {E:RLN non-native SDKs} - - - -- _achieved_: updated all the functions to include an additional `void* user_data` parameter - - - -**[feat: discovery & peer management for static shards](https://github.com/waku-org/go-waku/issues/727)** {E:1.4: Sharded peer management and discovery} - - - -- _achieved_: basic relay peer mgmt for static/auto sharding - - - -**[feat: Service peer selection on specific shards](https://github.com/waku-org/go-waku/issues/680)** {E:1.4: Sharded peer management and discovery} - - - -- _achieved_: Peer selection updated to be based on pubsubTopic or contentTopic - -- _next_: Update lightClient API to consider new peerSelection options - - - -**[feat: Autosharding API for req-resp protocols](https://github.com/waku-org/go-waku/issues/673)** {E:1.2: Autosharding for autoscaling} - - - -- _achieved_: Updated lightpush API for autosharding - - - ---- - -### EcoDev - -[October 2023](https://github.com/waku-org/internal-waku-outreach/issues/109) - -- ETHSafari bound and was mostly travelling last week \ No newline at end of file diff --git a/content/waku/updates/2023-10-09.md b/content/waku/updates/2023-10-09.md deleted file mode 100644 index f4b0e5b92..000000000 --- a/content/waku/updates/2023-10-09.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: 2023-10-09 Waku Weekly -tags: - - waku-updates -date: 2023-10-09 -lastmod: 2023-10-09 -draft: false ---- ---- -### nwaku - -**[feat: Implement /admin Rest Api endpoint](https://github.com/waku-org/nwaku/issues/2075)** {E:REST API service node} - -- _achieved_: /admin Rest API endpoint implemented -- _next_: Restructure openapi descriptions and producing swagger ui like live document of all rest interfaces. Restructure Rest API schema types. - -**[chore: notify user if docker-compose fails](https://github.com/waku-org/nwaku/issues/2064)** {enhancement}, {E:3.2: Basic DoS protection in production} - -- _achieved_: discussed the issue with colleagues, implemented the solution and closed the issue - -**[feat: allowing users to choose port 0 for dynamically allocated ports](https://github.com/waku-org/nwaku/issues/2042)** {enhancement} - -- _achieved_: analyzed code and found the different data structures affected by the dynamic port allocation. Considered the implications of different approaches to solve the issue, discussed and translated the different options into code. - Started the implementation of the chosen solution, with part of the solution already working. -- _next_: complete the first working version of the solution, improve its design/architecture, and test. - -**[feat: Service peer selection on specific shards](https://github.com/waku-org/nwaku/issues/1941)** {E:1.4: Sharded peer management and discovery} - -- _achieved_: Filter, Store, Light push REST APIs discovery handler (a rework of the previous solution) - -**[setting up static sharding fleet for Status](https://github.com/waku-org/nwaku/issues/1914)** {E:Static sharding} - -- _achieved_: fleet has been deployed, PostgreSQL setup has been tested. -- _next_: Do some basic dogfooding with Status Desktop. - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2.1: Production testing of existing protocols}, {E:PostgreSQL} - -- _achieved_: Applied performance comparison between _SQLite_ and _Postgres_ but in this case, making direct requests from a `go-waku` unittest that @richard-ramos had prepared. - After directly comparing the _Store_ protocol, noticed that the bottle neck is within the database itself. i.e. the _SQLite_ database performs better than _Postgres_, given that we have a very simple schema and simple queries, without joins. Adding indexes to the _Postgres_ database didn't help very much. For example, given the same query, _SQLite_ takes 1ms whereas _Postgres_ takes 6ms. -- _next_: - - Wrap up the _Store_ testing environment and install it into our sandbox machine, `metal-01.he-eu-hel1.wakudev.misc.statusim.net`, so that anyone can proceed from this point (two databases with the same dataset of ~2 million rows .) in case someone is keen on analyzing performance or debug in a more realistic testing scenery. This will include concurrent queries from multiple nodes, where PostgreSQL is expected to perform better. - - Start extracting the database creation and indexes creation to outside the code base. - -**[chore: add retention policy with GB or MB limitation](https://github.com/waku-org/nwaku/issues/1885)** {enhancement}, {E:PostgreSQL} - -In review: the database bug to delete limited messages/rows -Upcoming/working: updated retention policy + test + missing tes on timestamp based retention policy -Undergoing: MUID concept on message level - -**[feat: provide a way to define advertised addresses](https://github.com/waku-org/nwaku/issues/1797)** {enhancement} - -- _achieved_: went over the code and found the root cause of the issue and a preliminary solution -- _next_: finish discussing the approach to the solution and implement it - ---- -### js-waku - -**[Static Sharding](https://github.com/waku-org/js-waku/issues/1310)** {E:Static sharding} - -- _achieved_: PR open for allowing peer management for multiple pubsub topics/shard -- _next_: getting reviews & releasing - -**[Peer Management: Connection and Disconnection](https://github.com/waku-org/js-waku/issues/914)** {track:restricted-run}, {E:2.1: Production testing of existing protocols} - -- _achieved_: investigated & closed #1412 -- _next_: look into addressing deliberate vs accidental disconnections - ---- -### go-waku - -- Team attended EthRome diff --git a/content/waku/updates/2023-10-16.md b/content/waku/updates/2023-10-16.md deleted file mode 100644 index 19840a3e2..000000000 --- a/content/waku/updates/2023-10-16.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: 2023-10-16 Waku weekly -tags: - - waku-updates -date: 2023-10-16 -lastmod: 2023-10-16 -draft: ---- - -### nwaku - -**[chore: Reorganize RestApi specs for live documentation](https://github.com/waku-org/nwaku/issues/2120)** {E:REST API service node} - -- _achieved_: Http RestAPI interface is in parity with json-rpc with even more features supported on it. -- _next_: Openapi specification is reorganized and online doc generated out of it. Currently under PR review. - Follow up spec reorganization with rest api type reorganization. RFC changes to enhance lighpust failure response. - -**[feat: allowing users to choose port 0 for dynamically allocated ports](https://github.com/waku-org/nwaku/issues/2042)** {enhancement} - -- _achieved_: had over code review sessions and got feedback. Implemented improvements, attempted new approaches, fixed bugs. Most of the solution is already implemented and working. -- _next_: fix failed tests, add test cases and raise PR - -**[feat: experimental incentivize store protocol](https://github.com/waku-org/nwaku/issues/1961)** {E:Basic service incentivization} - -- _achieved_: wrote the [first draft of incentivization outline](https://github.com/waku-org/research/pull/33) -- _next_: discuss open question, continue structuring the document - -**[setting up static sharding fleet for Status](https://github.com/waku-org/nwaku/issues/1914)** {E:Static sharding} - -- _achieved_: setup a separate shard for community points of contact, and another one for 1:1/group messages -- _next_: investigate/fix discv5 not working when static sharding is being used. - -**[PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** {E:2.1: Production testing of existing protocols}, {E:PostgreSQL} - -- _achieved_: - - Testing environment prepared in `metal-01.he-eu-hel1.wakudev.misc.statusim.net`. There are two databases (Postgres and SQLite) with 5 million of random messages. - - Enhanced Grafana dashboard so that we can compare timings performance throughout an histogram. -- _next_: Carry on with the investigation to enhance the _Postgres_ performance. - -**[feat: provide a way to define advertised addresses](https://github.com/waku-org/nwaku/issues/1797)** {enhancement} - -- _achieved_: implemented solution and raised PR -- _next_: get feedback, implement suggested improvements and close - -**[nwaku c-bindings (NodeJS + Python)](https://github.com/waku-org/nwaku/issues/1332)** {E:NodeJS Library} - -- _achieved_: - - Separate PR to avoid global variables: https://github.com/waku-org/nwaku/pull/2118 - - Started to document the tasks tackled so far: https://www.notion.so/NWaku-cbindings-FFI-7a9ae6240cfc4caba7c7ff0bf3429a70 -- _next_: Start creating a separate _NodeJs_ and _Python_ repositories, where we will create nodejs-waku and py-waku, respectively. - ---- -### js-waku - -**[Peer Management: Connection and Disconnection](https://github.com/waku-org/js-waku/issues/914)** {E:2.1: Production testing of existing protocols} - -- _achieved_: reached a conclusion tackling deliberate vs accidental disconnections, PRs opened to handle Filter subscriptions on disconnection/reconnections, iterative fixes on addressing multiple dial attempts for same peer, fixes around keep alive pings -- _next_: getting reviews & merging these PRs which should enable us to close this epic 🥳 - ---- -### go-waku - -**[feat: Service peer selection on specific shards](https://github.com/waku-org/go-waku/issues/680)** {E:1.4: Sharded peer management and discovery} - -- _achieved_: refactor and migrate peer selection to peer manager and update lightclient API to use new options -- _next_: on-demand discovery if peers are not available for the shard - -**[Add postgresql to the unit tests](https://github.com/waku-org/go-waku/issues/607)** {test} - -- _achieved_: Completed. Fixed only sqlite being used for creating queries. diff --git a/content/waku/updates/2023-10-23.md b/content/waku/updates/2023-10-23.md deleted file mode 100644 index 8bd96f619..000000000 --- a/content/waku/updates/2023-10-23.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: 2023-10-23 Waku weekly -tags: - - waku-updates -date: 2023-10-23 -draft: ---- - -# 2023-10-23 Waku weekly - -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - - -- _achieved_: - - Vac/DST team has done further runs with up to 600 nodes in the network as part of wrapping up a [blog post report](https://github.com/vacp2p/vac.dev/pull/123). - - Staging fleet for Status with static sharding and PostgreSQL deployed and being tested by go-waku team using local changes in Status Desktop. -- _next_: - - Dogfooding of Status Desktop with Status staging fleet. Will aim to create a small internal Waku community. - - Continue integration of static sharding in status-go. -- _risks_: - - Dependency on Vac/DST to conclude ~1k nodes simulations. - - PostgreSQL implementation has not yet been proven more performant than SQLite. Further improvements and testing in progress. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK lead on 6 Nov to drive effort. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - - -- _achieved_: hardcoded bootnodes ENRs in addition to DNS Discovery URLs as a way to overcome nameserver issues. Use a static shard instead of the default pubsub topic. Update tool to crawl and discover nodes via discv5. -- _next_: fix if necessary strange behavior with discv5 when ENRs in DNS discovery URL do not contain shards. Document steps for dogfooding. - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - - -- _achieved_: See 10k milestone update for PostgreSQL status. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under - [`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - - -- _achieved_: - - Critical path work for autosharding done in nwaku, in progress on go-waku - - Parameters for the Waku Network Gen 0 have been captured in an [RFC](https://rfc.vac.dev/spec/64/) and use as a basis for [simulations](https://github.com/waku-org/research/issues/23) and [theoretical analysis](https://github.com/waku-org/research/issues/31), removing uncertainty on this milestone around message rates, performance and expected bandwidth usage. -- _risks_: - - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one joining at end of Oct) so delivery in this client is likely to lag behind other clients. - -### [3.2: Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) - -**[js-waku] [Task: Manage RLN membership(s) and keys](https://github.com/waku-org/js-waku/issues/1600)** - -- _achieved_: completed flow up items and main stream of work; - -**[js-waku-examples] [feat: re-create rln-js](https://github.com/waku-org/js-waku-examples/issues/279)** - -- _achieved_: experimented with different frameworks, almost complete rewriting the example; - -**[research] [Message propagation times with waku-rln](https://github.com/waku-org/research/issues/42)** - -- _achieved_: Ran simulations with 1000 nwaku nodes with rln enabled, with the goal of measuring message propagation delays under different conditions. -- _next_: Some issues with the current simulations, need to investigate shadow tool to simulate CPU "time passing". Some results are not valid. - -### [2.1: Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) - -**[js-waku] [chore: improve logging when fails to connect to a node](https://github.com/waku-org/js-waku/issues/1408)** - -- _achieved_: setup a Logger for more verbose and modular error readbility - -**[js-waku] [Peer Management: Connection and Disconnection](https://github.com/waku-org/js-waku/issues/914)** - -- _achieved_: The Connection and Disconnection Peer Management epic has been closed - -**[waku-rust-bindings] [feat: filterv2 support](https://github.com/waku-org/waku-rust-bindings/issues/71)** - -- _achieved_: added support to waku_filter_subscribe -- _next_: write unit tests for filterv2 and publish new version - -## [Quality Assurance processes are in place](https://github.com/waku-org/pm/issues/73) - 2024-03-31 - - -This work is tracked with [vac:dst:software-testingwaku](https://roadmap.logos.co/vac/dst/#software-testingwaku) - -## [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - 2024-04-30 - -### [Ship RLN as part of non-native SDKs](https://github.com/waku-org/pm/issues/88) - -**[go-waku] [refactor: add user_data to c-bindings](https://github.com/waku-org/go-waku/issues/788)** - -- _achieved_: exposed filterv2 subscription details (useful for rust bindings) - -### [REST API service node](https://github.com/waku-org/pm/issues/82) - -**[nwaku] [chore: reorganize rest-api types](https://github.com/waku-org/nwaku/issues/2121)** - -- _achieved_: Enhancements on Rest request error handling. -- _next_: Finalize api spec and doc after PR review. Work in progress: rest api type reorganization. RFC changes to enhance light-push failure response. -- _blocking_: Fixing found issues during release. - -**[go-waku] [feat: lightpush REST API](https://github.com/waku-org/go-waku/issues/813)** - -- _achieved_: Add lightpush rest api and test. Rest Filter v2 in progress. - -## Other Work - -### Enhancements - -**[nwaku] [feat: allowing users to choose port 0 for dynamically allocated ports](https://github.com/waku-org/nwaku/issues/2042)** - -- _achieved_: fixed failed tests, added a test case to cover the changes, small refactor and raised PR -- _next_: get PR reviewed and implement feedback - -**[nwaku] [feat: provide a way to define advertised addresses](https://github.com/waku-org/nwaku/issues/1797)** - -- _achieved_: merged PR with initial fix. Implemented and raised PR for the `--ext-multiaddr-only` CLI flag -- _next_: get PR reviewed, implement feedback and merge - -### Bugs - -**[nwaku] [bug: WSS enabled node stops accepting websocket connections after some time](https://github.com/waku-org/nwaku/issues/2140)** - -- _achieved_: discovered and debuged WSS issue, discovered and debugged REST API causing SIGSEGV, oversaw release v0.21.0 -- _next_: help with release v0.21.1, investigate existing bandwidth management work - -## Ecosystem Development - Docs - -- _achieved_: - - got familiar with what The Graph is doing with Waku, @waku/sdk update in @waku/react - - Preparation to Polygon Enugu - - Peer management disconnection docs -- _next_: - - Work on metrics dashboard - - Record some explainer videos - - Docs redesign - - Outline for encryption docs diff --git a/content/waku/updates/2023-10-30.md b/content/waku/updates/2023-10-30.md deleted file mode 100644 index d12bbfa4b..000000000 --- a/content/waku/updates/2023-10-30.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: 2023-10-30 Waku weekly -tags: - - waku-updates -date: 2023-10-30 -draft: ---- - -# 2023-10-30 Waku weekly - -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - - -- Integration of static sharding in go-waku is continuing (see updates below). -- Testing of PostgreSQL enabled some performance improvement in the implementation that are being implemented. -- Internal instructions have been distributed to dogfood static sharding with the Waku team ([Waku Discord private channel](https://discord.com/channels/1110799176264056863/1166125031793901589/1166125169480306708)). -- _risks_: - - Dependency on Vac/DST to conclude ~1k nodes simulations. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK lead on 6 Nov to drive effort. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - - -- _achieved_: unsuccesfully tried to avoid introducing a [breaking change](https://github.com/status-im/status-go/pull/4161) in status-go. We need to decide whether to go ahead and merge that PR -- blocker: discv5 filters out outdated ENR entries from DNS Discovery URL in shard fleet - https://github.com/waku-org/nwaku/issues/2162 - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - - -- _achieved_: - - See 10k milestone update for PostgreSQL status. - - First version of the 10k-tool by DST is ready and is being tested with simulation running a small nim-libp2p/gossipsub binary. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under - [`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - -### [PostgreSQL in service node: Further optimisations](https://github.com/waku-org/pm/issues/84) - -**[nwaku] [PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** - -- _achieved_: - - Time processing enhancement when performing _SELECT_ operations. There was an overhead caused by looping too many times over the returned rows, in order to convert the row types. By applying a "rowCallback" approach we can reduce by 30ms the time spent on the query under analysis. -- _next_: - - The queries used in the comparison analysis still perform much better in _SQLite_ (< ~5ms) than in _Postgres_ (< ~15ms.) Therefore we need to push the investigation further to enhance that. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - - -- _achieved_: - - Further simulation done, with a continued focus on message propagation time and possible improvements. - - Progress across all client son sharded peer management discovery - - First PRs merged towards basic distributed store services -- _risks_: - - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one just joined) so delivery in this client is likely to lag behind other clients. - -### [3.2: Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) - -**[nwaku] [feat: add rln to waku simulator instance](https://github.com/waku-org/nwaku/issues/2143)** - -- _achieved_: learnt about waku-simulator's inner workings and got the background required to integrate RLN to it. Added service that generates traffic to the nodes via their REST APIs. Investigated and tested different ways of approaching the RLN integration. -- _next_: get RLN to work and add Grafana dashboards with RLN data - -**[js-waku-examples] [feat: re-create rln-js](https://github.com/waku-org/js-waku-examples/issues/279)** - -- _achieved_: addressed flaws in integration, completed rewriting; - -**[research] [Tuning GossipSub's D parameter in Waku](https://github.com/waku-org/research/issues/44)** - -* *achieved*: nwaku simulations showing the impact in message propagation delay when reducing gossipsub's D value. Main goal is to reduce bandwidth consumption in exchange of worsen propagation delay. -* *next*: asses if we want to move forward changing D. - -**[research] [Message propagation times with waku-rln](https://github.com/waku-org/research/issues/42)** - -* *achieved*: Final simulation results with 1000 nwaku nodes with rln enabled, with the goal of measuring message propagation delays under different conditions (amount of nodes and message size). -* *next*: NA - -### [1.4: Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) - -**[nwaku] [feat: Service peer selection on specific shards](https://github.com/waku-org/nwaku/issues/1941)** - -- _achieved_: REST APIs discovery handlers PR merged - -**[nwaku] [feat: Peer management with shard as a dimension](https://github.com/waku-org/nwaku/issues/1940)** - -- _achieved_: Waku Metadata shard subscriptions, Sharded relay peer management, draft sharded peer store pruning -- _next_: finalize sharded peer store pruning & run simulations - -**[go-waku] [feat: Deprecate Named Sharding and Update Lightpush Client API](https://github.com/waku-org/go-waku/issues/842)** - -- _achieved_: Create PR for review for removing of Named Pubsubtopic. - -**[go-waku] [feat: Service peer selection on specific shards](https://github.com/waku-org/go-waku/issues/680)** - -- _achieved_: draft PR #834 opened for on-demand peer discovery -- _next_: use on-demand peer discovery for service and relay peer selection - -### [2.3: Basic distributed Store services](https://github.com/waku-org/pm/issues/64) - -**[nwaku] [feat: add new message_hash column to the archive protocol](https://github.com/waku-org/nwaku/issues/2112)** - -- _achieved_: On SQLite's schema transition (i.e. this PR) to `messageHash` feature complete PR posted (awaiting reviews), Gained insight into the connection and interplay between the store and archive components, and how they may be leveraged into making a sync protocol. Small stuff - bug fix on the jsWaku which was this PR dependent (that too was time-consuming since my first time interacting with JS code of waku), PR on vacuum on time-based retention policy, thought through the nitty gritty details of node based roles and incentives. -- _next_: - - The sync protocol formulation totally based on the messages sync without any external factors into POV - - Review PostgreSQL PRs by Ivan to gain more knowledge on the storage/archive feature. - -### [2.1: Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) - -**[nwaku] [PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** - -- _achieved_: - - Time processing enhancement when performing _SELECT_ operations. There was an overhead caused by looping too many times over the returned rows, in order to convert the row types. By applying a "rowCallback" approach we can reduce by 30ms the time spent on the query under analysis. -- _next_: - - The queries used in the comparison analysis still perform much better in _SQLite_ (< ~5ms) than in _Postgres_ (< ~15ms.) Therefore we need to push the investigation further to enhance that. - -**[waku-rust-bindings] [feat: filterv2 support](https://github.com/waku-org/waku-rust-bindings/issues/71)** - -- _achieved_: fix issues found during testing -- _next_: publish new version - -## [Quality Assurance processes are in place](https://github.com/waku-org/pm/issues/73) - 2024-03-31 - -## [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - 2024-04-30 - -### [Presentation Readiness ](https://github.com/waku-org/pm/issues/95) - -**[js-waku] [feat: better support for development](https://github.com/waku-org/js-waku/issues/1665)** - -- _achieved_: experimented with [Next.js app](https://github.com/waku-org/js-waku-examples/pull/281); -- _next_: looking for ways to mitigate errors in console or catch others; - -### [Ship RLN as part of non-native SDKs](https://github.com/waku-org/pm/issues/88) - -**[go-waku] [refactor: add user_data to c-bindings](https://github.com/waku-org/go-waku/issues/788)** - -- _achieved_: fixed issues found during tests with waku-rust-bindings - -### [REST API service node](https://github.com/waku-org/pm/issues/82) - -**[go-waku] [feat: admin REST API](https://github.com/waku-org/go-waku/issues/814)** - -- _achieved_: Implemented Admin REST API and updated the spec. - -## Ecosystem Development - -- _achieved_: - - new tictactoe example with @waku/react - - Progress on Devconnect planning - - Organising dev ex calls - - Shipping resources for hackathon - - Reviewed Graphcast proposal for using relay - -- _next_: - - ipfs/waku example for file transfer - - Waku tutorial videos - - @waku/react hacker pain-point feedback report - - Metrics dashboard - - ETHLisbon diff --git a/content/waku/updates/2023-11-06.md b/content/waku/updates/2023-11-06.md deleted file mode 100644 index 4b6bd414f..000000000 --- a/content/waku/updates/2023-11-06.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -title: 2023-11-06 Waku weekly -tags: - - waku-updates -date: 2023-11-06 -draft: false ---- - - -# 2023-11-06 Waku weekly - -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - - -- _achieved:_ - - further PostgreSQL optimisations nearing conclusion - - implemented bridge to allow Status Community to move to static sharding with backwards compatibility towards default pubsub topic - - solution for shared bootstrap nodes being filtered out in discv5 as more static shards are activated - - ensured no unknown blockers from Waku's side to start dogfooding in conversation with Status Communities -- _next:_ - - continue integration of static sharding in status-go. - - deploy bridge for backwards compatibility - - dogfooding of Status Desktop with Status staging fleet. Will aim to create a small internal Waku community -- _risks:_ - - Dependency on Vac/DST to conclude ~1k nodes simulations. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK lead on 6 Nov to drive effort. - - lack of confidence in simulation results: results so far exhibits various artifacts and anomalies seemingly related to tooling limitations. It is therefore difficult to draw certain conclusions re Waku scalability. - - lack of clarity in terms of Status fleet ownership, monitoring and maintenance, which is an integral part of the solution. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - - -- _achieved_: fix in status-go to use correct unprotected pubsub topic for community point of contacts, added pubsub topic bridge feature to go-waku, stop filtering out bootnodes on discovery, minimize noise on logs when selecting peers and not having peers available. -- _next_: deploy bridge between default pubsub topic and shard 32 - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - - -- _achieved_: - - See 10k milestone update for PostgreSQL status. - - First version of the 10k-tool by DST is ready and is being tested with simulation running a small nim-libp2p/gossipsub binary. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under - [`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - - lack of real world feedback/dogfooding: the complete static sharding solution involves significant changes to the Waku protocol and tech stack. Although each element is unit tested, dogfooding may hit corner cases in the integrated solution that cannot be foreseen/recreated in lab conditions. - -### [PostgreSQL in service node: Further optimisations](https://github.com/waku-org/pm/issues/84) - -**[nwaku] [PostgreSQL](https://github.com/waku-org/nwaku/issues/1888)** - -- _achieved_: Optimize _select_/_Store_ queries by adding prepared statements. [PR](https://github.com/waku-org/nwaku/pull/2182) -- _next_: Wrap up the Postgres optimizations. Summarize the performance comparison in a report. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - - -- _achieved_: - - Starting internal dogfooding of Waku Network: We have launched the proto-network and it is already possible to run a node in said network. -- _risks_: - - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one just joined) so delivery in this client is likely to lag behind other clients. - - Uncertainty as to how RLN membership mechanism would hinder application adoption, if memberships need to be distributed or obtained by registration, if staking is necessary to prevent abuse, etc. - -### [3.2: Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) - -**[nwaku] [feat: add rln to waku simulator instance](https://github.com/waku-org/nwaku/issues/2143)** - -- _achieved_: integrated RLN, added Grafana dashboards, tested, merged and deployed - -### [1.4: Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) - -**[go-waku] [feat: Service peer selection on specific shards](https://github.com/waku-org/go-waku/issues/680)** - -- _achieved_: on-demand peer discovery for service peer selection and new relay shard subscriptions - -### [2.3: Basic distributed Store services](https://github.com/waku-org/pm/issues/64) - -**[nwaku] [feat: add new message_hash column to the archive protocol](https://github.com/waku-org/nwaku/issues/2112)** - -- _achieved_: PR to support SQLite code to support `messageHash` attribute without interrupting the existing cursor-related functionality, `id` field stays for now. Skelton for sync in progress. -- _next_: - - finalize the SQLite `messageHash` attribute and add a research page about it. - - start a research page about the sync mechanism for nWaku, doing request/reply a PoC on the same. - -## [Quality Assurance processes are in place](https://github.com/waku-org/pm/issues/73) - 2024-03-31 - -## [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - 2024-04-30 - -### [Presentation Readiness ](https://github.com/waku-org/pm/issues/95) - -**[js-waku] [feat: better support for development](https://github.com/waku-org/js-waku/issues/1665)** - -- _achieved_: by going through basic flow identified errors that can or cannot be ignored; -- _next_: working on improving log errors, aiming to complete in couple of days; - -## Other Work - -### Enhancements - -**[js-waku-examples] [feat: make light-js example a proper debugging tool](https://github.com/waku-org/js-waku-examples/issues/248)** - -- _achieved_: added peer dropdown, list of connected peers, and button for querying past messages using store -- _next_: will take on my first issue in js-waku - -### Bugs - -**[js-rln] [bug: proof is not verified](https://github.com/waku-org/js-rln/issues/79)** - -- _achieved_: as per suggestion investigated if the roots are correct, seems found a fix; - -### Documentation - -**[docs.waku.org] [Advanced docs for js-waku](https://github.com/waku-org/docs.waku.org/issues/104)** - -- _achieved_: added `createSubscription()` docs in #128 -- _next_: tackle @waku/sdk deprecated namespace #131, create filter management docs - -**[docs.waku.org] [Node operator doc - cloud and advanced options](https://github.com/waku-org/docs.waku.org/issues/103)** - -- _achieved_: updated nwaku config options in #128, added nwaku published MA option in #130 - -### Chores - -**[nwaku] [chore: bump vendor dependencies for 0.22.0](https://github.com/waku-org/nwaku/issues/2170)** - -- _achieved_: updated dependencies, resolved conflicts, tested and raised PR -- _next_: get PR reviewed, implement feedback and merge - -## Ecosystem Development - -- _achieved_: - - Multiple leads from ETHLisbon. - - Sync call with The Graph. - - js-waku prioritizing. - - Created Hackathon project with Waku at ETHLisbon. - - Awesome-waku updates. - -- _next_: - - Review RLN docs readiness for launch at DevConnect. - - Web3privacy event preparation. - - Waku network soft-launch organisation. - - Creating tutorial videos. - - ETHStaker gathering for gaining some awareness about node operator onboarding. diff --git a/content/waku/updates/2023-11-13.md b/content/waku/updates/2023-11-13.md deleted file mode 100644 index 6fea57c40..000000000 --- a/content/waku/updates/2023-11-13.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: 2023-11-13 Waku Weekly -tags: - - waku-updates -date: 2023-11-13 -draft: false ---- -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - -- _achieved:_ - - final PostgreSQL optimisations completed. Benchmarks published: https://www.notion.so/Postgres-e33d8e64fa204c4b9dcb1514baf9c582 - - added "debug nodes" with trace-level message logging to each Status fleet to allow for easier e2e message traceability - - confirmed no unknown blockers from Waku's side to continue dogfooding in conversation with Status Communities -- _next:_ - - continue integration of static sharding in status-go. - - dogfooding of Status Desktop with Status staging fleet. Will aim to create a small internal Waku community -- _risks:_ - - Dependency on Vac/DST to conclude ~1k nodes simulations. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK lead on 6 Nov to drive effort. - - lack of confidence in simulation results: results so far exhibits various artifacts and anomalies seemingly related to tooling limitations. It is therefore difficult to draw certain conclusions re Waku scalability. - - lack of clarity in terms of Status fleet ownership, monitoring and maintenance, which is an integral part of the solution. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - -- _achieved_: deployed bridge between default pubsub topic and shard 32, added `UseShardAsDefaultTopic` node config option to indicate whether the client should use a shard or the default waku topic. Merged open status-go PRs related to sharding. Initial connection to peers + dns-discovery no longer blocks the login. Updated open status-desktop PR for dogfooding to take into account status-go latest sharding related changes. - -- _next_: get https://github.com/status-im/status-desktop/pull/12344 merged. - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - -- _achieved_: - - Basic Postgresql optimizations completed and benchmarks published. See 10k milestone. - - First version of the 10k-tool by DST is ready and is being tested with simulation running a small nim-libp2p/gossipsub binary. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under [`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - - lack of real world feedback/dogfooding: the complete static sharding solution involves significant changes to the Waku protocol and tech stack. Although each element is unit tested, dogfooding may hit corner cases in the integrated solution that cannot be foreseen/recreated in lab conditions. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - -- _achieved_: - - Started internal dogfooding of proto-network and started to work on documentation. - - Progressed on capability and sharding discovery. -- _risks_: - - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one just joined) so delivery in this client is likely to lag behind other clients. - - Uncertainty as to how RLN membership mechanism would hinder application adoption, if memberships need to be distributed or obtained by registration, if staking is necessary to prevent abuse, etc. - -### [3.2: Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) - -**[go-waku] [bug: handle errors generated in gm.rootTracker.UpdateLatestRoot(pair.Key.(uint64))](https://github.com/waku-org/go-waku/issues/738)** -- _achieved_: task complete - -### [1.5: Launch and dogfood integrated public Waku Network MVP](https://github.com/waku-org/pm/issues/68) - -- _achieved_: - - Launched team-internal CC dogfooding with nwaku nodes and RLN Sepolia contract - - Introduced landing page and tutorials to join the network and publish using nwaku-compose -- _next_: - - Soft launch of the network at Devconnect Istanbul - - Extend dogfooding to other clients (js-waku, go-waku) - -### [1.4: Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) - -**[nwaku] [feat: Peer management with shard as a dimension](https://github.com/waku-org/nwaku/issues/1940)** - -- _achieved_: discv5 filter peer by capability, misc. improvement w.r.t sharding and tests, sharded peer management improvement -- _next_: run more simulations - -**[go-waku] [feat(discv5): filter peer by capability](https://github.com/waku-org/go-waku/issues/863)** - -- _achieved_: added capacility in discv5 to filter out peers that do not have waku2 ENR field - -### [1.2: Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) - -**[go-waku] [feat: Changes to Store protocol APIs for Autosharding](https://github.com/waku-org/go-waku/issues/786)** - -- _achieved_: API updates for autosharding -- _achieved_: added functions for validating content topic, determining shard index and pubsub topic for autosharding -- _next_: configure js-waku node to use either static or auto sharding -- _blocker_: need my PRs approved/merged. Also best to merge in other open PRs, especially https://github.com/waku-org/js-waku/pull/1697 - -## Other Work - -### Enhancements - -**[nwaku] [chore: allow text/plain contentType for rest request's body types](https://github.com/waku-org/nwaku/issues/2207)** - -- _next_: Allow text/plain contentType on RestApi is on PR, libwaku Fedora build issue - -**[nwaku] [chore: decouple listen and announced addresses](https://github.com/waku-org/nwaku/issues/2148)** - -- _achieved_: implemented, tested and raised PR -- _next_: get PR reviewed, implement feedback and merge - -**[waku-rust-bindings] [Peer discovery & management ](https://github.com/waku-org/waku-rust-bindings/issues/52)** - -- _achieved_: Worked mainly on rust-waku-bindings issues for go-waku. -- _next_: Handle epic 2.2 - -**[go-waku] [chore: # chore: remove `--store-message-db-vacuum`](https://github.com/waku-org/go-waku/pull/883)** - -- _achieved_: removed `VACUUM` functionality from go-waku, since it's an operation that must be done by infra instead of being part of go-waku - -### Documentation - -**[docs.waku.org] [Encryption documentation](https://github.com/waku-org/docs.waku.org/issues/125)** - -- _next_: begin work on encryption docs - -**[docs.waku.org] [Advanced docs for js-waku](https://github.com/waku-org/docs.waku.org/issues/104)** - -- _achieved_: filter management docs -- _next_: deprecated namespace docs #131 - -### Chores - -**[nwaku] [chore: bump vendor dependencies for 0.22.0](https://github.com/waku-org/nwaku/issues/2170)** - -- _achieved_: finished and merged - -## Ecosystem Development - -- _achieved_: SpiffWorkflow x Waku sync -- _next_: metrics, web3privacy meetup, DCxPrague talk \ No newline at end of file diff --git a/content/waku/updates/2023-11-20.md b/content/waku/updates/2023-11-20.md deleted file mode 100644 index 769a367d3..000000000 --- a/content/waku/updates/2023-11-20.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: 2023-11-20 Waku Weekly -tags: - - waku-updates -date: 2023-11-20 -draft: false ---- -# 2023-11-20 Waku weekly - -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - -- _achieved:_ - - closed last PostgreSQL issue for Store scalability - - confirmed no unknown blockers from Waku's side to continue dogfooding in conversation with Status Communities - - started team-internal dogfooding of a test community using static sharding - - started fleet ownership handover process: published guidelines/list of responsibilities - https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741 -- _next:_ - - continue dogfooding of Status Desktop with Status staging fleet with test community - - training session to conclude fleet ownership handover: https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741 -- _risks:_ - - Dependency on Vac/DST to conclude ~1k nodes simulations. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK lead on 6 Nov to drive effort. - - lack of confidence in simulation results: results so far exhibits various artifacts and anomalies seemingly related to tooling limitations. It is therefore difficult to draw certain conclusions re Waku scalability. - - lack of clarity in terms of Status fleet ownership, monitoring and maintenance, which is an integral part of the solution. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - -- _achieved_: logout / login freeze, fix request on correct pubsub topic, and add missing shard information on community invite -- _next_: dogfooding - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - -- _achieved_: - - Closed last Postgresql issue for basic Store scalability. See 10k milestone. - - Assisted DST in setting up initial tests with the ~1K tool. Currently still fine-tuning parameters, ensuring results are consistent, etc. for smaller configurations. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under -[`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - - lack of real world feedback/dogfooding: the complete static sharding solution involves significant changes to the Waku protocol and tech stack. Although each element is unit tested, dogfooding may hit corner cases in the integrated solution that cannot be foreseen/recreated in lab conditions. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - -- _achieved_: - - Internal dogfooding of proto-network continues. - - Significant progress of autosharding in js-waku: autosharding function implemented, work to integrate in protocols started. -- _risks_: - - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one just joined) so delivery in this client is likely to lag behind other clients. - - Uncertainty as to how RLN membership mechanism would hinder application adoption, if memberships need to be distributed or obtained by registration, if staking is necessary to prevent abuse, etc. - -### [1.4: Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) - -**[nwaku] [chore: improve cluster id, shards, topics flow](https://github.com/waku-org/nwaku/issues/2183)** - -- _achieved_: Various tests updates and fixes. -- _next_: Figure out why CI passes locally only. - -### [1.2: Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) - -**[nwaku] [chore: allow fetching cached messages by content or pubsub topic](https://github.com/waku-org/nwaku/issues/2201)** - -- _achieved_: failed refactor of message cache -- _next_: a better and simpler message cache - -**[js-waku] [feat: Autosharding API for req-resp protocols](https://github.com/waku-org/js-waku/issues/1500)** - -- _achieved_: derive pubsub topic from content topic in encoders/decoders when autosharding is specified -- _next_: node config should specify static sharding or autosharding. implement autosharded topics in all req-resp protocols - -## [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - 2024-04-30 - -### [Presentation Readiness ](https://github.com/waku-org/pm/issues/95) - -**[js-waku] [feat: node connection state](https://github.com/waku-org/js-waku/issues/1666)** - -- _achieved_: modified `ConnectionManager` to track connection state. exposed through read function and new event -- _next_: resolve any remaining feedback - -## Other Work - -### Enhancements - -**[nwaku] [chore(REST): adding to `/admin/v1/peers` response lightpush and filter v2 peer info](https://github.com/waku-org/nwaku/issues/2220)** - -- _achieved_: implemented, tested and raised PR -- _next_: get PR reviewed, implement feedback and merge - -**[nwaku] [chore: allow text/plain contentType for rest request's body types](https://github.com/waku-org/nwaku/issues/2207)** - -- *achieved*: Better support for js-waku using RestApi: Allow text/plain contentType -- *next*: Bandwidth management preparation - -**[nwaku] [chore: decouple listen and announced addresses](https://github.com/waku-org/nwaku/issues/2148)** - -- _achieved_: got the PR reviewed, implemented feedback and merged - -### Ecosystem Development - -- *achieved*: - - Presented two talks last week. Logos + Waku at Web3Privacy meetup and RLN at DCxPrague. - - EthGlobal Istanbul - 20 projects submitted and contributed with production and mentorship - - secured talks and presented at Libp2p day and EthGlobal - - represented Waku in pragma booth - - Helped organise Status-wide meetup during DevConnect -- *next*: - - publish tic-tac-toe blog post - - migrate examples from personal repository to examples repository and take responsibility of examples repo - - edit and send video tutorials for review for comms - - write event proposal for co-hosting LibP2P day in EthIndia along with Protocol Labs during the Waku hacker house - - EthIndia production works (finding venue, vendors for swag and booth) - - process and deliver devconnect feedback - - help draft devconnect winner promotions - - onboard the devconnect winners to Waku discord to Hackathon-winners channel - - prepare event report of Devconnect with help from Lou - - prepare KPI document for Eth India with help from Lou \ No newline at end of file diff --git a/content/waku/updates/2023-11-27.md b/content/waku/updates/2023-11-27.md deleted file mode 100644 index 096c15008..000000000 --- a/content/waku/updates/2023-11-27.md +++ /dev/null @@ -1,160 +0,0 @@ ---- -title: 2023-11-27 Waku Weekly -tags: - - waku-updates -date: 2023-11-27 -draft: false ---- -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - -- _achieved:_ - - confirmed no unknown blockers from Waku's side to continue dogfooding in conversation with Status Communities - - continuing team-internal dogfooding of a test community using static sharding https://github.com/waku-org/pm/issues/97. See [dogfooding report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821) - - fleet ownership training: held session for stakeholders on responsibilities - https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741 - -- _next:_ - - continue dogfooding of Status Desktop with Status staging fleet with test community (https://github.com/waku-org/pm/issues/97) - - fix issue of store fleet not connecting to bootstrap fleet due to enr shards mismatch https://github.com/status-im/infra-shards/issues/23 - -- _risks:_ - - [Fleet Ownership doc](https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741) defines fleet _maintainer_ and _owner_. Status team yet to clarify who is the _fleet owner_ for Status Communities. - - QA by Status team to be planned on staging static sharding fleet; Waku team has done [internal dogfooding](https://github.com/waku-org/pm/issues/97) ([report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821)). Any change to the staging static sharding fleet should then be tested by QA before being deployed to prod (e.g. # of Postgres instances). Status has committed to this testing on 28Nov call. - - **Status team expressed will to deploy static sharding prod fleet and use it for all users: This is not recommended until proper QA is done on stagning static sharding fleet as it could impact other Status app activities**. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK team since November 2023 to drive effort. - - Dependency on Vac/DST to conclude ~1k nodes simulations; lack of confidence in simulation results: results so far exhibits various artifacts and anomalies seemingly related to tooling limitations. It is therefore difficult to draw certain conclusions re Waku scalability. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - -- _achieved_: fix issue of using default clusterID as 16 for shards fleet, dogfooding of status-desktop with shards fleet, debug issues in connection to fleet. See [dogfooding report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821) -- _next_: continue dogfooding -- _achieved_: fix pubsub topic used for store queries, logic for finding free port when initializing torrent service, add back changes related to default shard that were reverted before, store clusterID in app database, refactor mailserver cycle to not require having an active connection to a store node -- _next_: dogfooding - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - -- _next_: Pending DST simulations of 10k nodes gossipsub network. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under [`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - - lack of real world feedback/dogfooding: the complete static sharding solution involves significant changes to the Waku protocol and tech stack. Although each element is unit tested, dogfooding may hit corner cases in the integrated solution that cannot be foreseen/recreated in lab conditions. - - - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - -- _achieved_: - - Internal dogfooding of proto-network continues. - - js-waku work continues. - - nwaku optimization around peer management are underway. -- _risks_: - - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one just joined) so delivery in this client is likely to lag behind other clients. - - Uncertainty as to how RLN membership mechanism would hinder application adoption, if memberships need to be distributed or obtained by registration, if staking is necessary to prevent abuse, etc. Tracked with [#102](https://github.com/waku-org/pm/issues/102) - -### [4.1: Basic front end for node operator](https://github.com/waku-org/pm/issues/100) - -- _achieved_: follow ups and reduction of FE image; -- _next_: double check with cors solved, minor improvements and fixes - -### [1.5: Launch and dogfood integrated public Waku Network MVP](https://github.com/waku-org/pm/issues/68) - -- _achieved_: come up with go-waku-compose to run a go-waku node in order to dogfood the public waku network -- _next_: fix issues in go-waku-compose to support secure websockets and auto-fetch public IP - -### [1.4: Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) - -**[nwaku] [chore: add sharding information to peer storage](https://github.com/waku-org/nwaku/issues/2237)** - -- _achieved_: merged and closed - -**[nwaku] [chore: add sharding information to peer storage](https://github.com/waku-org/nwaku/issues/2237)** - -- _achieved_: updated peer storage to include ENR -- _next_: review feedback cycle - -**[js-waku] [feat: Deprecate Named Sharding and Update Lightpush Client API](https://github.com/waku-org/js-waku/issues/1690)** - -- _achieved_: PR ready and currently in review-iteration phase ( #1697 ) -- _next_: to be merged - -**[js-waku] [feat: add new metadata protocol](https://github.com/waku-org/js-waku/issues/1652)** - -- _next_: unblock this issue by merging #1697 - -### [1.2: Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) - -**[nwaku] [chore: allow fetching cached messages by content or pubsub topic](https://github.com/waku-org/nwaku/issues/2201)** - -- _achieved_: PR merged DONE! - -### [2.1: Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) - -**[nwaku] [feat: Migrate deployments to PostgreSQL](https://github.com/waku-org/nwaku/issues/1948)** - -- _achieved_: Preparing environment to stress one single database with multiple _Postgres_ clients writing and reading simultaneously. -- _next_: Extend _Postgres_ benchmarking report from previous results and start analyzing the performance of `status.test` fleet where three nodes will use one single database. - -### [Presentation Readiness ](https://github.com/waku-org/pm/issues/95) - -**[js-waku] [feat: filter subscription API](https://github.com/waku-org/js-waku/issues/1683)** - -- _achieved_: PR opened and currently under review-iteration phase ( #1725 ) -- _next_: merge PR - -## Other Work -### Enhancements - -**[nwaku] [chore(REST): adding to `/admin/v1/peers` response lightpush and filter v2 peer info](https://github.com/waku-org/nwaku/issues/2220)** - -- _achieved_: merged PR and closed issue - -**[js-noise] [feat: allow parameterization of handshakes](https://github.com/waku-org/js-noise/issues/48)** - -- _achieved_: implemented parameterization of DH, Cypher and Hash - -### Bugs - -**[nwaku] [bug: incomplete data sent or received log appearing when WSS is enabled](https://github.com/waku-org/nwaku/issues/2245)** - -- _achieved_: attempted reproducing, haven't gotten it to happen yet -- _next_: succeed reproducing and fix - -**[nwaku] [bug: relay publish fails with 400 Bad Request when message contains meta field](https://github.com/waku-org/nwaku/issues/2214)** - -- _achieved_: analyzed issue and started implementing fixes -- _next_: continue implementing the solution - -**[nwaku] [bug: relay push with malformed timestamp crashes nwaku](https://github.com/waku-org/nwaku/issues/2198)** - -- _achieved_: analyzed issue, found and implemented fix, raised PR in `nim-json-serialization` repo and implemented feedback. Merged fix and opened a PR in nwaku updating the dependency. -- _next_: get nwaku PR reviewed y merge - -**[go-waku] [bug: `duplicate validator for topic` error when trying to re-subscribe to previously unsubscribed topic](https://github.com/waku-org/go-waku/issues/922)** - -- _achieved_: fix relay subscribe API issue causing failure in resubscription to a pubsubtopic, return appropriate errors in relay REST API - -### Documentation - -**[docs.waku.org] [Advanced docs for js-waku](https://github.com/waku-org/docs.waku.org/issues/104)** - -- _achieved_: published manage filter guide, finished react docs -- _next_: ECIES and symmetric encryption/decryption - -**[docs.waku.org] [Docs general improvement/incorporating feedback (2023)](https://github.com/waku-org/docs.waku.org/issues/102)** - -- _achieved_: added light mode toggle, updated the logos preset, added TWN guide, updated docs design and structure - -### Ecosystem Development - -- *achieved*: - - Documentation refactor based on feedback - - Preparing react hooks for release - - EthIndia organizing - - Waku hackerhouse organizing - - ETHIstanbul winner tweets - -- *next*: - - Announce react hooks - - Waku hackerhouse diff --git a/content/waku/updates/2023-12-04.md b/content/waku/updates/2023-12-04.md deleted file mode 100644 index afce15a24..000000000 --- a/content/waku/updates/2023-12-04.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: 2023-12-04 Waku Weekly -tags: - - waku-updates -date: 2023-12-04 -draft: false ---- -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - -- _achieved:_ - - confirmed no unknown blockers from Waku's side to continue dogfooding in conversation with Status Communities - - continuing team-internal dogfooding of a test community using static sharding https://github.com/waku-org/pm/issues/97. See [dogfooding report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821) - - fleet ownership training: held session for stakeholders on responsibilities - https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741 -- _next:_ - - continue dogfooding of Status Desktop with Status staging fleet with test community (https://github.com/waku-org/pm/issues/97) - - fix issue of store fleet not connecting to bootstrap fleet due to enr shards mismatch https://github.com/status-im/infra-shards/issues/23 -- _risks:_ - - [Fleet Ownership doc](https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741) defines fleet _maintainer_ and _owner_. Status team yet to clarify who is the _fleet owner_ for Status Communities. - - QA by Status team to be planned on staging static sharding fleet; Waku team has done [internal dogfooding](https://github.com/waku-org/pm/issues/97) ([report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821)). Any change to the staging static sharding fleet should then be tested by QA before being deployed to prod (e.g. # of Postgres instances). Status has committed to this testing on 28Nov call. - - **Status team expressed will to deploy static sharding prod fleet and use it for all users: This is not recommended until proper QA is done on stagning static sharding fleet as it could impact other Status app activities**. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK team since November 2023 to drive effort. - - Dependency on Vac/DST to conclude ~1k nodes simulations; lack of confidence in simulation results: results so far exhibits various artifacts and anomalies seemingly related to tooling limitations. It is therefore difficult to draw certain conclusions re Waku scalability. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - -- _achieved_: fix issue of using default clusterID as 16 for shards fleet, dogfooding of status-desktop with shards fleet, debug issues in connection to fleet. See [dogfooding report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821) -- _next_: continue dogfooding - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - -- _next_: - - Pending DST simulations of 10k nodes gossipsub network. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under[`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - - lack of real world feedback/dogfooding: the complete static sharding solution involves significant changes to the Waku protocol and tech stack. Although each element is unit tested, dogfooding may hit corner cases in the integrated solution that cannot be foreseen/recreated in lab conditions. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - -- _achieved_: - - Internal dogfooding of proto-network continues. - - js-waku work continues. - - nwaku optimization around peer management are underway. -- _risks_: - - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one just joined) so delivery in this client is likely to lag behind other clients. - - Uncertainty as to how RLN membership mechanism would hinder application adoption, if memberships need to be distributed or obtained by registration, if staking is necessary to prevent abuse, etc. Tracked with [#102](https://github.com/waku-org/pm/issues/102) - -### [4.1: Basic front end for node operator](https://github.com/waku-org/pm/issues/100) - -**[nwaku] [bug: access-control-allow-origin should be set to localhost](https://github.com/waku-org/nwaku/issues/2223)** - -- _achieved_: understood and applied initial fixes, tested, found bug and got it to work -- _next_: add tests for changes in presto, raise PRs in both presto and nwaku - -### [1.4: Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) - -**[nwaku] [feat: Peer management with shard as a dimension](https://github.com/waku-org/nwaku/issues/1940)** - -- _achieved_: sharded peer management final version in review -- _next_: review feedback - -### [1.2: Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) - -**[nwaku] [chore: allow fetching cached messages by content or pubsub topic](https://github.com/waku-org/nwaku/issues/2201)** - -- _achieved_: PR merged DONE! - -**[js-waku] [feat: Autosharding API for req-resp protocols](https://github.com/waku-org/js-waku/issues/1500)** - -- _achieved_: config node for static/autosharding, test all protocols against autosharding RPC endpoints on nwaku -- _next_: config application and version on node creation, only discover nodes of same shard - -**[js-waku] (https://github.com/waku-org/js-waku/issues/1500)** - -- _achieved_: all protocols can be configured to use autosharding for determining pubsub topics -- _next_: make autosharding the default behavior when running js-waku -## Other Work - -### Enhancements - -**[go-waku] [feat: use current timestamp when not provided in relay rest api](https://github.com/waku-org/go-waku/issues/926)** - -- _achieved_: return error in relay API when message gossipsub threshold is crossed, fill messageTimestamp if RLN is enalbed and not set in WakuMessage, improve errors returned for filter unsubscribe APIs - -### Bugs - -**[nwaku] [bug: incomplete data sent or received log appearing when WSS is enabled](https://github.com/waku-org/nwaku/issues/2245)** - -- _achieved_: reproduced it, did superficial checks but couldn't get deep enough to find the root cause -- _next_: continue investigating - - **[go-waku-compose] [fix: automatic fetching of public ip not working](https://github.com/waku-org/go-waku-compose/issues/3)** - -- _achieved_: made go-waku-compose ready to run go-waku node to support the public waku network - -### Documentation - -**[go-waku] [doc: best practice to handle disconnection when sending messages over relay](https://github.com/waku-org/go-waku/issues/921)** - -- _achieved_: provided a short-term approach to address message send/receive issues during disconnections, intiated discussions in nimbus and vac channels to find out possible approaches being used in other protocols using gossipsub - -### Ecosystem Development - -- _achieved_: - - Reviewed upcoming Waku press release - - Created new bounties: [1](https://github.com/waku-org/bounties/issues/17), [2](https://github.com/waku-org/bounties/issues/18) - - Reviewed expectations for EthIndia and the Waku Network - -### Chat SDK - -**[chat-sdk-tracking](https://github.com/waku-org/pm/issues/105)** - -- _achieved_: Running custom built desktop with status-go, working on community store node -- _next_: continue working on community store node -- _blocker_: no so far - -### Project Management - -- _achieved_: - - [Open discussion](https://forum.vac.dev/t/reviewing-milestone-planning/238/4) around project management, milestones and expectations from Logos Program. - - Ensure critical work for Status app is tracked and planned: [1](https://github.com/status-im/status-go/issues/4366), [2](https://github.com/waku-org/go-waku/issues/921) - - Various hiring activies: BD, Growth lead and how to handle js-libp2p maintenance - - Review Status plans around testing static sharding and ensure potential risks are understood. - - Find a spot to host studies and simulation output as part of our commitment to build in the open and awarness of potential deplatforming: [1, Waku Discord] - - Drafting updated PM tracking proposal -- _next_: - - Resume discussion around Nim usage and multiple clients in Waku: [1](https://forum.vac.dev/t/the-cost-of-multiple-waku-implementations/228/7) - - Review 2023 achievements and start planning 2024 milestones. - - Share proposal doc to Waku cc's for review - - 2024 Research milestone tracking - -**[Basic Dev Rel Assets](https://github.com/waku-org/pm/issues/32)** - -- _achieved_: Lead conversion process and community engagement process docs completed \ No newline at end of file diff --git a/content/waku/updates/2023-12-11.md b/content/waku/updates/2023-12-11.md deleted file mode 100644 index c64f9bacb..000000000 --- a/content/waku/updates/2023-12-11.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: 2023-12-11 Waku Weekly -tags: - - waku-updates -date: 2023-12-11 -draft: ---- -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - -- _achieved:_ - - fixed issue of store fleet not connecting to bootstrap fleet due to enr shards mismatch https://github.com/status-im/infra-shards/issues/23 - - continuing team-internal dogfooding of a test community using static sharding https://github.com/waku-org/pm/issues/97. See [dogfooding report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821) - - benchmarked various ways for large postgresql deployments: https://github.com/status-im/infra-status/issues/37 -- _next:_ - - continue dogfooding of Status Desktop with Status staging fleet with test community (https://github.com/waku-org/pm/issues/97) -- _risks:_ - - [Fleet Ownership doc](https://www.notion.so/Fleet-Ownership-7532aad8896d46599abac3c274189741) defines fleet _maintainer_ and _owner_. Status team yet to clarify who is the _fleet owner_ for Status Communities. - - QA by Status team to be planned on staging static sharding fleet; Waku team has done [internal dogfooding](https://github.com/waku-org/pm/issues/97) ([report](https://github.com/waku-org/pm/issues/97#issuecomment-1829050821)). Any change to the staging static sharding fleet should then be tested by QA before being deployed to prod (e.g. # of Postgres instances). Status has committed to this testing on 28Nov call. - - **Status team expressed will to deploy static sharding prod fleet and use it for all users: This is not recommended until proper QA is done on stagning static sharding fleet as it could impact other Status app activities**. - - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK team since November 2023 to drive effort. - - Dependency on Vac/DST to conclude ~1k nodes simulations; lack of confidence in simulation results: results so far exhibits various artifacts and anomalies seemingly related to tooling limitations. It is therefore difficult to draw certain conclusions re Waku scalability. - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - -- _achieved_: fix peer manager to take into account the ENR seq to determine if a peer is new or not and fix incorrect number of connected peers per topic. Register lightpush protocol correctly in go-waku. Drop pubsub topic bridging. Use shards.test fleet as default (in status-go and desktop) -- _next_: continue dogfooding / fixing issues - -## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - -- _achieved_: - - Researched various ways of deploying shared postgresql instances for large deployments: https://github.com/status-im/infra-status/issues/37 -- _next_: - - Pending DST simulations of 10k nodes gossipsub network. -- _risks_: - - Dependency on Vac/DST to run 10k nodes simulations. Tracked under [`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. - - lack of real world feedback/dogfooding: the complete static sharding solution involves significant changes to the Waku protocol and tech stack. Although each element is unit tested, dogfooding may hit corner cases in the integrated solution that cannot be foreseen/recreated in lab conditions. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - -### [1.4: Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) - -**[nwaku] [feat: Peer management with shard as a dimension](https://github.com/waku-org/nwaku/issues/1940)** - -- _achieved_: sharded peer management and store pruning PR merged - -### [1.2: Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) - -**[js-waku] [feat: make autosharding default node behavior](https://github.com/waku-org/js-waku/issues/1749)** - -- _achieved_: open PR to reintroduce (but deprecate) name sharding alongside auto/static sharding without breaking APIs -- _next_: update all examples to use autosharding -- _blocker_: need review on https://github.com/waku-org/js-waku/pull/1723 - -## [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - 2024-04-30 - -### [REST API service node](https://github.com/waku-org/pm/issues/82) - -**[docs.waku.org] [REST API/ NodeJS](https://github.com/waku-org/docs.waku.org/issues/123)** - -- _achieved_: added references for the REST API - -## Other Work - -### Research - -**[research] [Onchain RLN tree+root: Proof Of Concept](https://github.com/waku-org/research/issues/72)** - -- _achieved_: We present a proof of concept change in the RLN contract to store the whole membership tree on-chain + its Merkle root. This lowers sync time from several minutes to a few seconds, but at a cost of x10 the membership insertion cost. It also makes light clients lighter since proof verification becomes stateless (Merkle root can be accessed onchain, without having to sync the tree). We also present go-waku-light, to showcase the newly introduced features and how they are meant to be used. - -### Enhancements - -**[nwaku] [chore: avoid blocking the whole waku node when retention policy is being applied](https://github.com/waku-org/nwaku/issues/2238)** - -- _achieved_: avoid blocking the whole waku node when the retention policy is being applied - -### Documentation - -**[docs.waku.org] [Encryption documentation](https://github.com/waku-org/docs.waku.org/issues/125)** - -- _achieved_: push initial draft for symmetric, ECIES, message signing -- _next_: merge and deploy encryption docs #145 - -**[docs.waku.org] [Docs general improvement/incorporating feedback (2023)](https://github.com/waku-org/docs.waku.org/issues/102)** - -- _achieved_: add RN warning, add certbot instructions, improve nwaku-compose guide - -### Chores - -**[nwaku] [Bump vendor dependencies for release 0.23.0](https://github.com/waku-org/nwaku/issues/2266)** - -- _achieved_: bumped `nim-dnsdisc` dependencies -- _next_: bump nim-waku dependencies - -### Eco Dev - -- _achieved_: 51 projects submitted at EthIndia hackathon \ No newline at end of file diff --git a/content/waku/updates/2023-12-18.md b/content/waku/updates/2023-12-18.md deleted file mode 100644 index da7bd171a..000000000 --- a/content/waku/updates/2023-12-18.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: 2023-12-18 Waku weekly -tags: - - waku-updates -date: 2023-12-18 -draft: ---- -# 2023-12-18 Waku weekly - -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - -- _achieved_: fix panic on logout, publish messages async, fix loading message history for communities, fix invalid bootnodes being used on status desktop, status dogfooding, raise issues and optimizations needed wrt light protocols usage in status-go and improvements to be done in nwaku, -- _next_: continue dogfooding / fixing issues -## [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - 2024-04-30 - -### [Presentation Readiness ](https://github.com/waku-org/pm/issues/95) - -**[js-waku] [feat: filter subscription API](https://github.com/waku-org/js-waku/issues/1683)** - -- _achieved_: rebasing -- _next_: error handling via event emitter as well. plan if restructuring is required. - -## Other Work - -### Enhancements - -**[nwaku] [feat: Have additional Admin REST API endpoints that helps node operator in monitoring](https://github.com/waku-org/nwaku/issues/2290)** - -- _achieved_: improved logging and merged. Created locally a new REST endpoint that returns the information of all the filter subscriptions on a service node -- _next_: add unit tests, update documentation and open PR - -**[research] [Sync store baseline understanding](https://github.com/waku-org/research/issues/62)** - -- _achieved_: PoC of Prolly Tree (fixing a Bug), insertion and deletion of data into it. -- _next_: a writeup about Prolly trees PoC in issue, further testing, generating some operational data details such as memory consumption using RLN specs. - -### Bugs - -**[nwaku] [bug/regression: Relay connection works no more](https://github.com/waku-org/nwaku/issues/2299)** - -- _achieved_: reproduced the issue both in testing framework and with local nodes, analyzed logs and narrowed down to the commit where things got broken -- _next_: continue investigating, find root cause and fix - -**[nwaku] [bug: no messages returned from store node when multiple content topics and start/end time are used](https://github.com/waku-org/nwaku/issues/2288)** - -- _achieved_: bug fix store service in nim-waku when the query used more than one content topic - -### Documentation - -**[docs.waku.org] [Document how to use k-anonymity with content topic](https://github.com/waku-org/docs.waku.org/issues/146)** - -- _achieved_: add content topic buckets consideration #153 - -### Chores - -**[nwaku] [Bump vendor dependencies for release 0.23.0](https://github.com/waku-org/nwaku/issues/2266)** - -- _achieved_: bump all nim-waku vendor dependencies diff --git a/content/waku/updates/2023-12-25.md b/content/waku/updates/2023-12-25.md deleted file mode 100644 index fbfb6bf49..000000000 --- a/content/waku/updates/2023-12-25.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: 2023-12-25 Waku weekly -tags: - - waku-updates -date: 2023-12-25 -draft: ---- -Happy Holidays! -### [1.3: Node bandwidth management mechanism](https://github.com/waku-org/pm/issues/66) - -- _achieved_: make configurable the max message size in nim-waku https://github.com/waku-org/nwaku/pull/2298 - -### [1.2: Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) - -**[js-waku] [feat: make autosharding default node behavior](https://github.com/waku-org/js-waku/issues/1749)** - -- _achieved_: merged PR that implements autosharding after feedback. PR to reintroduce named sharding ready for review -- _next_: update all examples to use autosharding -## Other Work -### Chat SDK - -**[chat-sdk] [chat-sdk tracking](https://github.com/waku-org/pm/issues/105)** - -- _achieved_: close connections for filter light client, draft a doc about messages on the relay -- _next_: work on user cannot join the community bug -### Research - -**[nwaku] [feat: experimental incentivize store protocol](https://github.com/waku-org/nwaku/issues/1961)** - -- _achieved_: continued discussion on incentivization RFC -- _next_: move towards implementation -### Enhancements - -**[nwaku] [feat: Have additional Admin REST API endpoints that helps node operator in monitoring](https://github.com/waku-org/nwaku/issues/2290)** - -- _achieved_: improved initial implementation. Added unit tests, updated documentation, opened and got approved PR. -- _next_: verify if there's other places where the new endpoint should be document before merging - -**[research] [Sync store baseline understanding](https://github.com/waku-org/research/issues/62)** - -- _achieved_: PoC of Prolly Tree feature complete, Postgres retention policy PR, diff protocol ground work started. -- _next_: pending technical writeup about Prolly trees PoC in issue, Diff protocol, generating some operational data details such as memory consumption using RLN specs. -### Bugs - -**[nwaku] [bug/regression: Relay connection works no more](https://github.com/waku-org/nwaku/issues/2299)** - -- _achieved_: reproduced, investigated, found root causes and fixed - -**[nwaku] [bug: lack of error checking in publish](https://github.com/waku-org/nwaku/issues/2190)** - -- _achieved_: reproduced, investigated and started improving error handling -- _next_: continue with the implementation - -### PM - -- _achieved_: proposed Waku strategy draft to team and started discussions -- _next_: continue Waku strategy discussion, publish strategy/discuss with Logos leadership, continue drafting Waku roadmap for 2024 \ No newline at end of file diff --git a/content/waku/updates/2024-01-08.md b/content/waku/updates/2024-01-08.md deleted file mode 100644 index 99ad780a7..000000000 --- a/content/waku/updates/2024-01-08.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: 2024-01-08 Waku weekly -tags: - - waku-updates -date: 2024-01-08 -draft: ---- -# 2024-01-08 Waku weekly - -## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) -### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) -- _achieved_: status-mobile dogfooding, debug and attempt to identify root cause of filter delay issue -- _achieved_: attempt to identify root cause of filter delay issue, work on upgrading status-go to use Go 1.21 (to use latest go-libp2p), use latest go-waku version and identify missing commits between release and `develop` branch -- _next_: continue dogfooding / fixing issues -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 -### [1.5: Launch and dogfood integrated public Waku Network MVP](https://github.com/waku-org/pm/issues/68) -- _achieved_: add new metrics and make go-waku-compose dashboard functional, dogfooding the network with go-waku node -- _next_: fix few pending items in dashboard - -## Other Work - -### Enhancements -**[nwaku] [feat: Have additional Admin REST API endpoints that helps node operator in monitoring](https://github.com/waku-org/nwaku/issues/2290)** -- _achieved_: got feedback about improved error handling. Added it to the code, got a segfault from the testing framework, investigated and found the root cause. -- _next_: define how to proceed based on the testing issue and merge the PR - -**[nwaku] [feat: Have additional Admin REST API endpoints that helps node operator in monitoring](https://github.com/waku-org/nwaku/issues/2290)** -- _achieved_: improved initial implementation. Added unit tests, updated documentation, opened and got approved PR. -- _next_: verify if there's other places where the new endpoint should be documented before merging - -**[waku-rust-bindings] [Peer discovery & management ](https://github.com/waku-org/waku-rust-bindings/issues/52)** -- _achieved_: Added dns discovery parameters to the node config - -**[research] [Sync store baseline understanding](https://github.com/waku-org/research/issues/62)** -- _achieved_: 1-day work this week due to time off, nim implementation of Prolly trees -- _next_: Diff protocol discussion, Sync mechanism on wire query protocol discussion, generating some operational data details such as memory consumption using RLN specs. - -**[go-waku] [feat: parameterizable number of connections per IP](https://github.com/waku-org/go-waku/pull/994)** -- *achieved:* Maintain parity between nwaku and go-waku clients - -### Bugs -**[nwaku] [bug: sort order ignored in store nodes](https://github.com/waku-org/nwaku/issues/2317)** -- _achieved_: created `v0.23.1-rc.0` and deployed in `status.test` fleet. -- _next_: Deploy `v0.23.1` to both `status.test` and `status.prod` after having the approval from @richard-ramos and @mprakhov - -**[nwaku] [bug: lack of error checking in publish](https://github.com/waku-org/nwaku/issues/2190)** -- _achieved_: fixed compilation errors, got it to work and tested it -- _next_: add test cases to the codebase and open PR - -**[go-waku] [bug: filter/v2/subscriptions take a lot of time and even timeout sometimes](https://github.com/waku-org/go-waku/issues/972)** -- _achieved_:fix panic when static peer is also discovered dynamically, fix ENR Waku field population for Fitler, analyze data races identified - -**[go-waku] [bug: update examples to use autosharding](https://github.com/waku-org/go-waku/issues/846)** -- _achieved_: update basic_relay example to use static and autosharding -### Documentation -**[go-waku] [bug: update examples to use autosharding](https://github.com/waku-org/go-waku/issues/846)** -- _achieved_: update basic_relay example to use static and autosharding - -**[go-waku] [chore: create docs for setting up a systemd service and exit codes](https://github.com/waku-org/go-waku/issues/819)** -- _achieved_: Added systemd template and docs -- _next_: Add env variables suggested by infra -### PM -**[pm] [Waku Research - Post Gen 0 Milestones and Epics](https://github.com/waku-org/pm/issues/101)** -- _achieved_: Significantly refined milestones and epics and started getting feedback from stakeholders -- _next_: Further stakeholder engagement. Define work needed to improve RFC process. -### Chores -**[nwaku] [Bump vendor dependencies for release 0.24.0](https://github.com/waku-org/nwaku/issues/2329)** -- _achieved_: bump dependencies to prepare the `v0.24.0`. diff --git a/content/waku/updates/2024-01-22.md b/content/waku/updates/2024-01-22.md deleted file mode 100644 index cd8bb7d61..000000000 --- a/content/waku/updates/2024-01-22.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: 2024-01-22 Waku weekly -tags: - - waku-updates -date: 2024-01-22 -draft: ---- -## Waku Update -- Currently the Waku team is focused on completing the remaining critical TWN Generation 0 Milestone Epics, the Status Integration, and various bug fixes and enhancements. -- Waku's development is divided among 5 teams: nwaku, go-waku, js-waku, chat-sdk, and ecosystem-development. -- 2024 Milestones and Epics are currently being structured, kickoffs slated begin first week of February. -- The [go-waku](https://github.com/waku-org/go-waku) and chat-sdk teams were at the Status integration Doha offsite January 13 - 21. - -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - -**Open Epics** -- [Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 66% -- [Node bandwidth management mechanism](https://github.com/waku-org/pm/issues/66) | [nwaku](https://github.com/waku-org/nwaku) | *not critical* | 0% -- [Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 87% -- [Launch and dogfood integrated public Waku Network MVP](https://github.com/waku-org/pm/issues/68) | [nwaku](https://github.com/waku-org/nwaku) | *critical* | 0% -- [Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 40% -- [Sharded capability discovery for light protocols](https://github.com/waku-org/pm/issues/63) | [js-waku](https://github.com/waku-org/js-waku) & [go-waku](https://github.com/waku-org/go-waku) | *critical* | 0% -- [Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) | [go-waku](https://github.com/waku-org/go-waku) & [research](https://github.com/waku-org/research) | *critical* | 28% -- [Basic front end for node operator](https://github.com/waku-org/pm/issues/100) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 83% - -## January 22 Update -## [nwaku](https://github.com/waku-org/nwaku) - -**[TWN Connectivity](https://github.com/waku-org/research/issues/74 "https://github.com/waku-org/research/issues/74")** -**[Prepare release 0.24.0](https://github.com/waku-org/nwaku/issues/2343 "https://github.com/waku-org/nwaku/issues/2343")** -- **_achieved_**: big picture solutions for TWN connectivity problem , coordinate nwaku v0.24 release candidate -- **_next_**: Nwaku v0.24.0 test and release, autosharding/cluster-id error handling, moar connectivity research - -**[bug: restart loop of current master](https://github.com/waku-org/nwaku/issues/2362 "https://github.com/waku-org/nwaku/issues/2362")** -- **_achieved_**: investigated, found the root cause and solution. Afterwards, got requested a change in logging, implemented it and raised PR. -- **_next_**: get confirmation that the change in logging meets Infra’s needs and get the PR reviewed and merged - -**[feat: REST API - large messages does not seem to be rejected by relay auto api](https://github.com/waku-org/nwaku/issues/2284 "https://github.com/waku-org/nwaku/issues/2284")** -- **_achieved_**: developed and tested an initial working implementation -- **_next_**: after talking to Franck, will implement it differently with a more generalized message verification logic - -**[chore: improve POST /relay/v1/auto/messages/{topic} error handling](https://github.com/waku-org/nwaku/pull/2339 "https://github.com/waku-org/nwaku/pull/2339")** -- **_achieved_**: fix compilation errors, open PR, implement feedback and merge - -**[bug: incomplete data sent or received log appearing when WSS is enabled](https://github.com/waku-org/nwaku/issues/2245 "https://github.com/waku-org/nwaku/issues/2245")** -- **_achieved_**: investigated code, ran private images with logs on nim-libp2p and analyzed results. Talked to nim-libp2p team to further understand where the failure happens -- **_next_**: investigate further with the new understanding after talking with nim-libp2p team - -**[chore: review waku-simulator deployment and improve tracking processes](https://github.com/waku-org/nwaku/issues/2342 "https://github.com/waku-org/nwaku/issues/2342")** -- **_achieved_**: found that simulator’s nwaku image wasn’t getting updated with latest master. Requested Infra for the fix and verified afterwards that it’s working properly -- **_next_**: talk with stakeholders to see what metrics/logs we should keep track of and how - -**[bug: Filter doesn't receive messages after subscribing and restarting](https://github.com/waku-org/nwaku/issues/2175 "https://github.com/waku-org/nwaku/issues/2175")** -- **_achieved**:_ investigated and fixed cause of failing test - -**[chore: Refactor of FilterV2 subscription management with Time-to-live maintenance](https://github.com/waku-org/nwaku/pull/2341 "https://github.com/waku-org/nwaku/pull/2341")** -- **achieved**: Filter V2 subscription management reworked: new Time-to-live tracking, configurable limits of peers served and suvbscriptions per peer. Subscription per request is raised from 30 to 100 (hardcoded) - -**[bug: access-control-allow-origin should be set to localhost](https://github.com/waku-org/nwaku/issues/2223 "https://github.com/waku-org/nwaku/issues/2223")** -- ***achieved***: Alignment with Eugen (presto and chronos maintainer) is made upon the solution to be applied on presto rest server class. -- ***next***: Once new desing is ready and pushed to presto library, we can add the already prepared "allowed origin" matching mechanism that will enable proper CORS header in response to rest request. - -**[feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032 "https://github.com/waku-org/nwaku/issues/2032")** -- ***next***: measurement of usage rates of store protocol to be added (also add to grafana dashboard), add configurable limits (query per sec/min) - -## [js-waku](https://github.com/waku-org/js-waku) - -**[chore: upgrade lip2p](https://github.com/waku-org/js-waku/issues/1772 "https://github.com/waku-org/js-waku/issues/1772")** -**[feat: set cluster ID as optional when specifying shard info](https://github.com/waku-org/js-waku/pull/1780)** -**[feat: Peer management with shard as a dimension](https://github.com/waku-org/js-waku/issues/1505 "https://github.com/waku-org/js-waku/issues/1505")** -- ***achieved:*** - - upgrade libp2p to 1.X - - improved how params are handled between consumer-facing and internal functions - - fix failing tests for autosharding peer mgmt - -**[allow user to pass content topic to createSubscription](https://github.com/waku-org/js-waku/issues/1764 "https://github.com/waku-org/js-waku/issues/1764")** -**[feat: sdk function to setup autosharding node with application and version](https://github.com/waku-org/js-waku/issues/1783 "https://github.com/waku-org/js-waku/issues/1783")** -**[feat: determine bootstrap behavior based on sharding type](https://github.com/waku-org/js-waku/issues/1770 "https://github.com/waku-org/js-waku/issues/1770")** -- ***next:*** - - allow creating subscriptions with just content topics - - setup node with just application and version - - determine boostrap behavior based on sharding type - -**[Decouple sharding logic from internal classes to SDK](https://github.com/waku-org/js-waku/issues/1808 "https://github.com/waku-org/js-waku/issues/1808")** -- ***blockers:*** - - need review of issue for decoupling sharding logic - -**[feat: simplify rln-js](https://github.com/waku-org/examples.waku.org/pull/297 "https://github.com/waku-org/examples.waku.org/pull/297")** -**[feat: simplify API of bootstrapping, connection to MetaMask](https://github.com/waku-org/js-rln/pull/92 "https://github.com/waku-org/js-rln/pull/92")** -**[chore: investigate interop test failures](https://github.com/waku-org/js-waku/pull/1792 "https://github.com/waku-org/js-waku/pull/1792")** -**[chore: fix go-waku interop tests](https://github.com/waku-org/js-waku/pull/1806 "https://github.com/waku-org/js-waku/pull/1806")** -- ***achieved:*** - - Simplified `rln-js` - - Step 1 to improve API - - interop tests with nwaku - - identified problems with go-waku - -**[User Pays Own RLN Membership](https://github.com/waku-org/pm/issues/109 "https://github.com/waku-org/pm/issues/109")** -- ***next:*** - - new cred registration example (based on prev examples) - - continue with improvements - - action if needed to improve testability with go-waku - - some bugs found in rln - -**[feat!: protocols filter peers per shard](https://github.com/waku-org/js-waku/pull/1756 "https://github.com/waku-org/js-waku/pull/1756")** -**[feat: SDK for redundant usage of filter/lightpush](https://github.com/waku-org/js-waku/issues/1463 "https://github.com/waku-org/js-waku/issues/1463")** -- ***achieved:*** - - merged: sharded peer management - - merged: redundant peers for lightpush & filter - -**[feat: local storage as a discovery layer](https://github.com/waku-org/js-waku/pull/1811 "https://github.com/waku-org/js-waku/pull/1811")** -**[feat: SDK for redundant usage of filter/lightpush](https://github.com/waku-org/js-waku/issues/1463 "https://github.com/waku-org/js-waku/issues/1463")** -- ***next:*** - - Introducing Local Storage as a discovery layer, handle renewing of _faulty_ redundant peers (TODO 3) on [feat: SDK for redundant usage of filter/lightpush](https://github.com/waku-org/js-waku/issues/1463 "https://github.com/waku-org/js-waku/issues/1463") - -## [go-waku](https://github.com/waku-org/go-waku) - -**[bug: filter delay errors](https://github.com/status-im/status-go/issues/4459 "https://github.com/status-im/status-go/issues/4459")** -- ***achieved:*** - - investigated and identified the root-cause of [bug: filter delay errors](https://github.com/status-im/status-go/issues/4459 "https://github.com/status-im/status-go/issues/4459") and provided a solution - - started documenting tips/approach to help message loss debug issues for status QA both from status-go and waku perspective [Debugging](https://www.notion.so/Debugging-Message-Loss-f1c516d37be741188530ac707d5b8f2e?pvs=4 "https://www.notion.so/Debugging-Message-Loss-f1c516d37be741188530ac707d5b8f2e?pvs=4") - -- ***next:*** - - investigate and identify root-cause of message loss while using relay ⁠Unable to Receive msgs while us… - - finish documenting message loss debugging - - -**[bug: filter delay errors](https://github.com/status-im/status-go/issues/4459 "https://github.com/status-im/status-go/issues/4459")** -**[Contact requests are not received without restart](https://github.com/status-im/status-desktop/issues/13246 "https://github.com/status-im/status-desktop/issues/13246")** -- ***achieved:*** - - investigation with Jakub and Igor to find out the reason why store request were taking a long time to be retrievedsage reliability issues were present on CI for filter. - - investigate and fix [Contact requests are not received without restart](https://github.com/status-im/status-desktop/issues/13246 "https://github.com/status-im/status-desktop/issues/13246") (some commits were missing in desktop `master` branch. - - Status x Waku war room at Doha - -- ***next:*** - - fix issues reported in ⁠status - -## eco-dev - -**[[BOUNTY] Build dApp of Your Choice Using Waku (Decentralized Communication) and Vue.js](https://github.com/waku-org/bounties/issues/14 "https://github.com/waku-org/bounties/issues/14")** -- ***achieved***: - - thorough review and feedback -- ***next:*** - - final review and approval - - **[add content topic buckets consideration](https://github.com/waku-org/docs.waku.org/pull/153 "https://github.com/waku-org/docs.waku.org/pull/153")** -- ***achieved:*** - - merged **[add content topic buckets consideration](https://github.com/waku-org/docs.waku.org/pull/153 "https://github.com/waku-org/docs.waku.org/pull/153")** on content topic consideration, playing around with Noise encryption - -**[[Epic] Encryption documentation](https://github.com/waku-org/docs.waku.org/issues/125 "https://github.com/waku-org/docs.waku.org/issues/125")** -- ***next:*** - - creating an initial draft for Noise docs, go-waku docs migration - -- ***achieved :*** - - completed and recorded videos with 2 teams for builder spotlight, positioning call is completed, revised the cheatsheet based on ethindia feedback -- ***next :*** - - get the videos reviewed - diff --git a/content/waku/updates/2024-01-29.md b/content/waku/updates/2024-01-29.md deleted file mode 100644 index 095b46582..000000000 --- a/content/waku/updates/2024-01-29.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: 2024-01-29 Waku Weekly -tags: - - waku-updates -date: 2024-01-29 -draft: ---- -## Waku Update -- 2024 Milestones have been defined, to be structured and prioritized this week, subject to change pending approval from stakeholders. -- Remaining open TWN Gen 0 Milestone items to be priorirized in 2024 Milestones and Epics. -## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) -**Open Epics** -- [Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 75% -- [Node bandwidth management mechanism](https://github.com/waku-org/pm/issues/66) | [nwaku](https://github.com/waku-org/nwaku) | *not critical* | 0% -- [Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 87% -- [Launch and dogfood integrated public Waku Network MVP](https://github.com/waku-org/pm/issues/68) | [nwaku](https://github.com/waku-org/nwaku) | *critical* | 0% -- [Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 40% -- [Sharded capability discovery for light protocols](https://github.com/waku-org/pm/issues/63) | [js-waku](https://github.com/waku-org/js-waku) & [go-waku](https://github.com/waku-org/go-waku) | *critical* | 0% -- [Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) | [go-waku](https://github.com/waku-org/go-waku) & [research](https://github.com/waku-org/research) | *critical* | 28% -- [Basic front end for node operator](https://github.com/waku-org/pm/issues/100) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 83% - - Blocked : **[Add implementation of PRESTO middleware.](https://github.com/status-im/nim-presto/pull/73 "https://github.com/status-im/nim-presto/pull/73")** - -## January 29 Update -*Waku's development is divided among 6 teams: research, nwaku, go-waku, js-waku, chat-sdk, and ecosystem-development.* -### [Research](https://github.com/waku-org/research/) -**[rln-proof-witness](https://github.com/alrevuelta/rln-proof-witness "https://github.com/alrevuelta/rln-proof-witness")** -**[Create RLN proof without having the whole tree](https://github.com/waku-org/research/issues/79 "https://github.com/waku-org/research/issues/79")** -- *achieved*: - - Create proof of concept where light clients can generate their own rln proofs without having to sync the whole tree. - - Dog food above PoC and get feedback - - Start with rln in gossipsub paper - -**[Waku Research - Post Gen 0 Milestones and Epics](https://github.com/waku-org/pm/issues/101 "https://github.com/waku-org/pm/issues/101")** -- _achieved:_ created outline doc for new Specs/RFC process: [https://www.notion.so/Waku-Specs-Process-Improvements-3bca80fe10804aeaa7a184143bdca07d](https://www.notion.so/Waku-Specs-Process-Improvements-3bca80fe10804aeaa7a184143bdca07d "https://www.notion.so/Waku-Specs-Process-Improvements-3bca80fe10804aeaa7a184143bdca07d"), first designs for new Store protocol, refined effort estimates -- _next:_ implement new Specs process, create milestone/epic related issues, work on draft Store protocol improvement - -**[TWN Connectivity](https://github.com/waku-org/research/issues/74 "https://github.com/waku-org/research/issues/74")** -- _achieved_: read Meridian paper and wrote how it could be used in TWN, reading on Discv5 topic advert design problems -- _next_: discuss with VAC topic experts? - -### [nwaku](https://github.com/waku-org/nwaku/) -**[feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032 "https://github.com/waku-org/nwaku/issues/2032")** -- *achieved*: implemented a simple lightpush and store request rate limit with configurable defaults -- *next*: prior PR need to finish some more tests - -**[bug: access-control-allow-origin should be set to localhost](https://github.com/waku-org/nwaku/issues/2223 "https://github.com/waku-org/nwaku/issues/2223")** -- *blocked*: Eugen done a presto PR utilizing new chronos middleware design, added comments due we need some change on it prior able to use it. - -**[feat: sharded peer management Round 2](https://github.com/waku-org/nwaku/pull/2332 "https://github.com/waku-org/nwaku/pull/2332")** -- _achieved_: added sharded peer management config flag, feedback -- *next*: review & merge - -**[chore: improved error handling when config uses cluster-id and pubsub topics](https://github.com/waku-org/nwaku/pull/2368 "https://github.com/waku-org/nwaku/pull/2368")** -- _achieved_: improved error handling for cluster and shard config -- _next_: review & merge - -**[bug: restart loop of current master](https://github.com/waku-org/nwaku/issues/2362 "https://github.com/waku-org/nwaku/issues/2362")** -- _achieved_: got feedback for the PR, implemented fix and merged - -**[bug: RLN validator is only added for statically configured pubsub topics](https://github.com/waku-org/nwaku/issues/2365 "https://github.com/waku-org/nwaku/issues/2365")** -- _achieved_: analyzed issue, implemented a solution, tested and raised PR -- _next_: get feedback on the PR, implement it and merge - -**[feat: REST API - large messages does not seem to be rejected by relay auto api](https://github.com/waku-org/nwaku/issues/2284 "https://github.com/waku-org/nwaku/issues/2284")** -- _achieved_: investigated how to approach the issue using generalized validators, implemented a solution, tested and raised PR -- _next_: get feedback on the PR, implement it and merge - -### [go-waku](https://github.com/waku-org/go-waku/) -- _achieved:_ - - document tips and how to debug message loss for status team **[Debugging](https://www.notion.so/Debugging-f1c516d37be741188530ac707d5b8f2e?pvs=4)** - - fix updating lastProcessedBlock even if no RLN membership event is present **[fix: update lastProcessedBlock even if no RLN membership event is present](https://github.com/waku-org/go-waku/pull/1013 "https://github.com/waku-org/go-waku/pull/1013")** - - fix issue in connectionStatus reporting **[fix: minor issues in connectionstatus report](https://github.com/waku-org/go-waku/pull/1015 "https://github.com/waku-org/go-waku/pull/1015")** - - include a basic lightClient example **[chore: example update](https://github.com/waku-org/go-waku/pull/1012 "https://github.com/waku-org/go-waku/pull/1012")** - - improve logging **[chore: set log level for all loggers based on logger passed](https://github.com/waku-org/go-waku/pull/1011 "https://github.com/waku-org/go-waku/pull/1011") , [https://github.com/waku-org/nwaku/pull/2366](https://github.com/waku-org/nwaku/pull/2366 "https://github.com/waku-org/nwaku/pull/2366")** - - support for multiple peer selection for filter **[feat: support multiple peer selection for filter client](https://github.com/waku-org/go-waku/pull/1005 "https://github.com/waku-org/go-waku/pull/1005")** - -- _next:_ - - investigate message loss in status-mobile ci - - investigate if gossipsub scoring can be monitored and reported to app as unhealthy [https://github.com/waku-org/go-waku/issues/1017](https://github.com/waku-org/go-waku/issues/1017 "https://github.com/waku-org/go-waku/issues/1017") - - dogfooding status desktop and mobile and investigate and support status team for any other message reliability issues - -- _achieved:_ - - fix: add support to aarch64-linux-android in go-zerokit-rln-arm: **[fix: add support to aarch64-linux-android](https://github.com/vacp2p/zerokit/pull/228 "https://github.com/vacp2p/zerokit/pull/228")** - - fix: handle community shard unassignment: **[fix: handle community shard unassignment and update](https://github.com/status-im/status-go/pull/4627 "https://github.com/status-im/status-go/pull/4627")** - -- _next:_ - - work on status/waku integration items - -### [js-waku](https://github.com/waku-org/js-waku/) -- *achieved*: - - simplified rln-js example; - - released part of improvements for **[User Pays Own RLN Membership](https://github.com/waku-org/pm/issues/109)** - - done with investigating test - -- *next*: - - new cred registration example (based on prev examples) - - finish improvements for rln - - bugs found in rln - - improve tests (issue tbd) - -- *achieved*: - - decouple sharding params out of core classes **[Decouple sharding logic from internal classes to SDK](https://github.com/waku-org/js-waku/issues/1808 "https://github.com/waku-org/js-waku/issues/1808")** -- *next*: - - allow creating subscriptions with just content topics **[allow user to pass content topic to createSubscription](https://github.com/waku-org/js-waku/issues/1764 "https://github.com/waku-org/js-waku/issues/1764")** - -- _achieved_: - - lightpush & filter use multiple peers instead of one **[feat: lightpush & filter send requests to multiple peers](https://github.com/waku-org/js-waku/pull/1779 "https://github.com/waku-org/js-waku/pull/1779")** - - local storage as a discovery layer (in progress) - - fixing interop tests (in progress) **[fix(tests): append `p2p` with the multiaddrs from ENR](https://github.com/waku-org/js-waku/pull/1817 "https://github.com/waku-org/js-waku/pull/1817"), [chore(tests): update max content topics on lightpush from 30 to 100](https://github.com/waku-org/js-waku/pull/1818)** -- _next_: - - merge local storage discovery ([https://github.com/waku-org/js-waku/pull/1811](https://github.com/waku-org/js-waku/pull/1811 "https://github.com/waku-org/js-waku/pull/1811")), - - moving `message-hash` into `core` ([https://github.com/waku-org/js-waku/pull/1810](https://github.com/waku-org/js-waku/pull/1810 "https://github.com/waku-org/js-waku/pull/1810")), -### Ecosystem-development -#### Community/Partners -- _achieved:_ Waku Community Space https://twitter.com/Waku_org/status/1750927368644919722 -- _next:_ Logos x HOPR space, 30 days of web3 presentation -**[[BOUNTY] Build dApp of Your Choice Using Waku (Decentralized Communication) and Vue.js](https://github.com/waku-org/bounties/issues/14 "https://github.com/waku-org/bounties/issues/14")** -- _achieved:_ final reviews, approved - - Post by community member bounty hunter: https://x.com/wolz_codelife/status/1751955673603002459?s=20 -**[waku-org/bounties](https://github.com/waku-org/bounties/issues "https://github.com/waku-org/bounties/issues")** -- _achieved:_ collected and reviewed a few options for Bounty platforms -- _next:_ create dummy bounties to see how things work - -#### Docs -**[Integrate benchmark and research into website](https://github.com/waku-org/docs.waku.org/issues/155 "https://github.com/waku-org/docs.waku.org/issues/155")** -- *achieved*: review of linked PR [https://github.com/waku-org/docs.waku.org/pull/157](https://github.com/waku-org/docs.waku.org/pull/157 "https://github.com/waku-org/docs.waku.org/pull/157") -- *next*: follow up on integrating spell check into the research and nwaku repos -**[[Epic] Encryption documentation](https://github.com/waku-org/docs.waku.org/issues/125 "https://github.com/waku-org/docs.waku.org/issues/125")** -- *next*: (still ongoing) initial noise encryption docs -**[Create a FAQ and troubleshooting guide](https://github.com/waku-org/docs.waku.org/issues/152 "https://github.com/waku-org/docs.waku.org/issues/152")** -- *next*: starting the technical FAQ drafting -#### DevRel -- *achieved*: - - builder spotlight video with MrFox team - - 2 tutorial videos reviewed by comms - - monthly community twitter space: https://twitter.com/Waku_org/status/1750927368644919722 -- *next*: - - complete all the tutorial videos - - workshop presentations for ethlatam - - more builder spotlight videos - - calls with node operators -### [Status Integration](https://github.com/orgs/waku-org/projects/5/views/1) -#### chat-sdk -- *achieved*: started the conversation with Hanno on permission-less communities -- *next*: agree on an approach on permission-less communities. -- *achieved*: research and draft hash based message query to store node spec -- *next*: discuss on the iteration of hash based message query \ No newline at end of file diff --git a/content/waku/updates/2024-02-05.md b/content/waku/updates/2024-02-05.md deleted file mode 100644 index 1d746a284..000000000 --- a/content/waku/updates/2024-02-05.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: 2024-02-05 Waku Weekly -tags: - - waku-updates -date: 2024-02-05 -draft: ---- - -## Waku Update -- 2024 Milestone work breakdowns underway. Target date estimates, Epics and sub-tasks to be created following scope sign off. -## Research -- *achieved*: - - [script to benchmark rln](https://github.com/waku-org/nwaku/compare/master...benchmark-rln) - - [started rln+gossipsub paper, some plots](https://github.com/waku-org/research/pull/82) - - [tidying TWN Connectivity Research issue](https://github.com/waku-org/research/issues/74) - - [Waku Sync overview first draft](https://github.com/waku-org/research/issues/80) - - [started implementation of incentivization RFC](https://github.com/vacp2p/rfc/pull/642) - - [starting on protobuf codec for eligibility proofs](https://github.com/waku-org/nwaku/issues/1961) - - [first draft for new Store protocol that is simpler, more feature-rich and store-sync ready](https://github.com/waku-org/research/issues/81) -- *next*: - - Continue onchain merkle proofs PoC + paper - - Waku Sync overview finalization and Sync protocol first draft - - [address review comments, refine design of new Store protocol](https://github.com/waku-org/research/issues/81) -- *blocked*: - - [Merkle proofs from onchain blocked by this suspected bug in zk-kit](https://github.com/privacy-scaling-explorations/zk-kit/pull/135) -## nwaku -- *achieved:* - - [REST endpoint can serve its own messages as well as act as store-client](https://github.com/waku-org/nwaku/issues/2196) - - [add simple dictionary with known words so that cSpell doesn't complain](https://github.com/waku-org/docs.waku.org/pull/157#issuecomment-1909149371) - - [worked on how to make the tests not to core dump](https://github.com/waku-org/nwaku/issues/2271) - - [start creating basic py-waku structure that allows to create a py-waku module that can be imported in Python projects.](https://github.com/waku-org/nwaku/issues/1332) - - [start using nph formatter extension](https://github.com/waku-org/nwaku/pull/2396) - - [PR is under review - covers LightPush and Store request rate limiting](https://github.com/waku-org/nwaku/issues/2032) - - ["bug fix" in README.md](https://github.com/waku-org/nwaku-compose/pull/44) - - [Add new panel to show num msgs per shard](https://github.com/waku-org/nwaku-compose/pull/43) - - [applied all the feedback from the reviews. Changed the validation logic in our codebase so that the same validator runs for all pubsub topics. Applied fixes for autosharding endpoint. Merged PRs, closed issue.](https://github.com/waku-org/nwaku/issues/2284) - - [fixed decoding error when trying to send a message with the new meta field](https://github.com/waku-org/nwaku/issues/2214) - - [added debug logs in nim-websock dependency and reproduced the issue with them for further investigation](https://github.com/waku-org/nwaku/issues/2245) - - helped debug and find root cause of a long-standing failed test for dynamically added pubsub topics - - [merged better error handling when cluster id and shards are used](https://github.com/waku-org/nwaku/pull/2368) - - [merged sharded peer manager experiment](https://github.com/waku-org/nwaku/pull/2332) - - [merged vendor bump for version 0.25.0](https://github.com/waku-org/nwaku/pull/2352) -- *next*: - - [finalize demo implementation (demo in terms uses Presto un-released feature) on refactor Waku RestService to utilize middleware approach and solve CORS headers issue.](https://github.com/waku-org/nwaku/issues/2223) - - [prepare Release 0.25.0 release and test it.](https://github.com/waku-org/py-waku) - - wrap up the py-waku repository and make it clear that it is a PoC and is not going to be continued in short-term. - - wait until the 0.4 version of the nph extension is released and then we perform the actual migration. - - [add metrics and dashboard, update configuration doc](https://github.com/waku-org/nwaku/issues/2032) - - [debug failed tests](https://github.com/waku-org/nwaku/issues/2214) -## js-waku -- [Decouple sharding logic from internal classes to SDK](https://github.com/waku-org/js-waku/issues/1764) -- achieved: - - SDK functions for creating a subscription to a content topic using a callback or returning a stream -- next: - - function like above but starts a node with default settings as well -- blocker: - - remove requirement to pass a peer ID to above function -## go-waku -- _achieved_ : - - [Support getting peers by shard via PeerExchange](https://github.com/waku-org/go-waku/issues/839) - - Identified some improvements/changes to be done in go-waku based on status use-case to status-go [feat: notify app when peer scores for all connected relay peers goes below thresholds](https://github.com/waku-org/go-waku/issues/1017) & [feat: Report shard/pubsubTopic specific connection health/status](https://github.com/waku-org/go-waku/issues/1021) - - [Added rate limiter option to lightpush](https://github.com/waku-org/go-waku/pull/1024) - - [Added support for multiple public keys per topic (likely to not get merged due to issues found)](https://github.com/waku-org/go-waku/pull/1025) -- _next_: - - [Implement](https://github.com/waku-org/go-waku/issues/1017) -## ChatSDK -- *achieved:* - - [Clarify the data flow for a community creation when external operator is paid to provide resources](https://github.com/status-im/status-go/issues/4366) -- *next:* - - continue store rfc reviews, continue analysis of filter unsubscribe issue - - continue permissionless communities setup -## EcoDev -### Docs -- *achieved*: - - [spell check has been integrated into the research and nwaku repos](https://github.com/waku-org/docs.waku.org/issues/155) -- *next*: - - [re-review the linked PR and close it](https://github.com/waku-org/docs.waku.org/issues/125) -- *blocker*: - - [I’ve been unable to get the noise-js example to pair with another peer](https://github.com/waku-org/examples.waku.org/tree/master/examples/noise-js) -### Ecosystem Development -- *achieved*: - - Recorded 2 builder spotlight videos - - Added faqs - - Started drafting the optimism grant proposal - - Logos x HOPR space, Web3Privacy, 30 days of web3 -- *next*: - - Tidied up metrics dashboard and host it with help from vaclav/infra - - Create rln/node setup cheatsheet - - Prepare for ethdenver - - Kick off out-of-band node incentivization discussion -### Solutions -[Prometheus metrics view](https://github.com/waku-org/metrics.waku.org/issues/3) -- *achieved*: - - basic metrics (num of connectable nodes and avg ping) added to the dashboard -- next: - - modify NetworkMonitor to work with The Waku Network -## Status Integration -- _achieved_: - - [Investigated and found out root-cause for message loss issue identified in status-desktop](https://github.com/status-im/status-go/issues/4660) - - [Investigated and found out root-cause for message loss issue identified in status-mobile CI](https://github.com/status-im/status-go/issues/4659) - - [Review status-go usage of Waku to identify improvements/changes](https://github.com/status-im/status-go/issues/4662) - - [fixed missing cluster ID in node config](https://github.com/status-im/status-desktop/pull/13364) - - [added peer count to logs when sending msg via relay](https://github.com/status-im/status-go/pull/4648) - - [fixed history sync regardless of using a data plan or wifi](https://github.com/status-im/status-mobile/pull/18688) - - [fix: full nodes will run filter and lightpush](https://github.com/status-im/status-go/pull/4655) -- _next_: - - Support status integration in case of message loss or Waku related issues - - Continue reviewing status-go code from Waku usage perspective of sharding - - Continue working on bug fixes or issues related to status-go x waku integration diff --git a/content/waku/updates/2024-02-19.md b/content/waku/updates/2024-02-19.md deleted file mode 100644 index a0f2d209b..000000000 --- a/content/waku/updates/2024-02-19.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: 2024-02-19 Waku Weekly -tags: - - waku-updates -date: 2024-02-19 -draft: ---- - -This update covers the two week span between February 5th -19th. -## [research](https://github.com/waku-org/research/) -- *achieved:* - - Created a C wrapper API for negentropy and moved it as a submodule into nwaku [https://github.com/waku-org/negentropy/pull/2](https://github.com/waku-org/negentropy/pull/2 "https://github.com/waku-org/negentropy/pull/2"), [https://github.com/waku-org/nwaku/pull/2448](https://github.com/waku-org/nwaku/pull/2448 "https://github.com/waku-org/nwaku/pull/2448") - - Rerun nwaku latency measurements with latest nwaku release + new plots: [https://github.com/waku-org/research/pull/86](https://github.com/waku-org/research/pull/86 "https://github.com/waku-org/research/pull/86") - - Draft for "practical use of rln in gossipsub" paper ready, peer review ongoing. - - further work in PoC incentivization [https://github.com/waku-org/nwaku/pull/2419](https://github.com/waku-org/nwaku/pull/2419 "https://github.com/waku-org/nwaku/pull/2419") - - onboarding and local ethereum chain tools research - - Opened up the discussions of waku as a sovereign chain: [https://github.com/waku-org/research/issues/84](https://github.com/waku-org/research/issues/84 "https://github.com/waku-org/research/issues/84") - - Waku latency simulations in a real environment: [https://github.com/waku-org/research/pull/85](https://github.com/waku-org/research/pull/85 "https://github.com/waku-org/research/pull/85") - - Work on practical usage of rln in gossipsub paper: [https://github.com/waku-org/research/pull/82](https://github.com/waku-org/research/pull/82 "https://github.com/waku-org/research/pull/82") - - Benchmarked rln in different platforms: [https://github.com/waku-org/nwaku/pull/2410](https://github.com/waku-org/nwaku/pull/2410 "https://github.com/waku-org/nwaku/pull/2410") - - implemented the first version of a codec for incentivization PoC: [https://github.com/waku-org/nwaku/issues/1961](https://github.com/waku-org/nwaku/issues/1961 "https://github.com/waku-org/nwaku/issues/1961") - - research post tidying, negentropy C++ bindings first draft, [https://github.com/waku-org/research/issues/80](https://github.com/waku-org/research/issues/80 "https://github.com/waku-org/research/issues/80") [https://github.com/waku-org/nwaku/pull/2403](https://github.com/waku-org/nwaku/pull/2403 "https://github.com/waku-org/nwaku/pull/2403") - - refined new Store protocol design based on community input [https://github.com/waku-org/research/issues/81](https://github.com/waku-org/research/issues/81 "https://github.com/waku-org/research/issues/81") -- *next:* - - improve the C API and integrate into nwaku and test the integration - - continue modifications in zk-kit library to allow onchain merkle proofs: [https://github.com/privacy-scaling-explorations/zk-kit/pull/162](https://github.com/privacy-scaling-explorations/zk-kit/pull/162 "https://github.com/privacy-scaling-explorations/zk-kit/pull/162") - - PoC implementation and research papers - continued - - deploy local ethereum chain for waku-simulator [https://github.com/waku-org/waku-simulator/issues/17](https://github.com/waku-org/waku-simulator/issues/17 "https://github.com/waku-org/waku-simulator/issues/17") - - Resume work on onchain proofs, upstream bug fixed - - Analyze data + report on latency simulations - - gather feedback, continue PoC implementation; plan working on the academic conference submission (Waku poster) - - negentropy C++ bindings continues - - more reviewers and comments, gain consensus, start plan for PoC implementation [https://github.com/waku-org/research/issues/81](https://github.com/waku-org/research/issues/81 "https://github.com/waku-org/research/issues/81") -## [nwaku](https://github.com/waku-org/nwaku) -- *achieved:* - - Nwaku Sync protocol bindings improvements [https://github.com/waku-org/nwaku/issues/2426](https://github.com/waku-org/nwaku/issues/2426 "https://github.com/waku-org/nwaku/issues/2426") - - Nwaku Store v3 first draft - - found fixes for keystore generation error and for running nwaku-compose without keystore. Validated fixes, and merged both PRs. Closed issue [https://github.com/waku-org/nwaku-compose/issues/32](https://github.com/waku-org/nwaku-compose/issues/32 "https://github.com/waku-org/nwaku-compose/issues/32") - - designed and started refactor [https://github.com/waku-org/nwaku/issues/2441](https://github.com/waku-org/nwaku/issues/2441 "https://github.com/waku-org/nwaku/issues/2441") - - implemented fix, opened PR, improved the solution after feedback and merged [https://github.com/waku-org/nwaku/issues/2406](https://github.com/waku-org/nwaku/issues/2406 "https://github.com/waku-org/nwaku/issues/2406") - - implemented feedback and merged [https://github.com/waku-org/nwaku/issues/2214](https://github.com/waku-org/nwaku/issues/2214 "https://github.com/waku-org/nwaku/issues/2214") - - apply PoC to handle disk through partitions management [https://github.com/waku-org/nwaku/issues/1885](https://github.com/waku-org/nwaku/issues/1885 "https://github.com/waku-org/nwaku/issues/1885") - - share knowledge on waku-nodejs-bindings [https://github.com/waku-org/nwaku/issues/2420](https://github.com/waku-org/nwaku/issues/2420 "https://github.com/waku-org/nwaku/issues/2420") - - accept base64 payloads; make private key optional by generating a random one if not defined; simplified error handling. [https://github.com/waku-org/nwaku/issues/2420](https://github.com/waku-org/nwaku/issues/2420 "https://github.com/waku-org/nwaku/issues/2420") - - publish and subscribe to waku messages using nwaku, fixed event callback setup. [https://github.com/waku-org/waku-rust-bindings/pull/87](https://github.com/waku-org/waku-rust-bindings/pull/87 "https://github.com/waku-org/waku-rust-bindings/pull/87") - - Helped to define the C-bindings milestone [https://github.com/waku-org/pm/issues/121](https://github.com/waku-org/pm/issues/121 "https://github.com/waku-org/pm/issues/121") - - simpler ctx mgmt. Param now receiving void* instead of void** [https://github.com/waku-org/nwaku/pull/2398](https://github.com/waku-org/nwaku/pull/2398 "https://github.com/waku-org/nwaku/pull/2398") - - overview the partition approach [https://github.com/waku-org/nwaku/issues/1885](https://github.com/waku-org/nwaku/issues/1885 "https://github.com/waku-org/nwaku/issues/1885") - - defined part of bindings milestone with emphases in go (for status-go) and rust [https://github.com/waku-org/pm/issues/121](https://github.com/waku-org/pm/issues/121 "https://github.com/waku-org/pm/issues/121") - - started the integration of nwaku with waku-rust-bindings, compiling and doing FFI nwaku succesfully. [https://github.com/waku-org/pm/issues/121](https://github.com/waku-org/pm/issues/121 "https://github.com/waku-org/pm/issues/121") - - added support to yamux https://github.com/waku-org/nwaku/issues/2331 - - finished implementation, debugged and fixed failed tests, opened PR [https://github.com/waku-org/nwaku/issues/2214](https://github.com/waku-org/nwaku/issues/2214 "https://github.com/waku-org/nwaku/issues/2214") - - implemented solution, opened PR, implemented feedback and merged [https://github.com/waku-org/nwaku/issues/2349](https://github.com/waku-org/nwaku/issues/2349 "https://github.com/waku-org/nwaku/issues/2349") - - investigated, tried to reproduce. Found out that it got unintentionally fixed by a recent PR, closed issue [https://github.com/waku-org/nwaku/issues/2371](https://github.com/waku-org/nwaku/issues/2371 "https://github.com/waku-org/nwaku/issues/2371") - - getting introduced to our C-bindings codebase [https://github.com/waku-org/pm/issues/121](https://github.com/waku-org/pm/issues/121 "https://github.com/waku-org/pm/issues/121") - - PR is under review - covers LightPush and Store request rate limiting next: fix nim-chronos' TokenBucket wrong replenis. [https://github.com/waku-org/nwaku/issues/2032](https://github.com/waku-org/nwaku/issues/2032 "https://github.com/waku-org/nwaku/issues/2032") - - RC release done, test has ran, changelog done [https://github.com/waku-org/nwaku/issues/2402](https://github.com/waku-org/nwaku/issues/2402 "https://github.com/waku-org/nwaku/issues/2402") -- *next*: - - continue with the refactor [https://github.com/waku-org/nwaku/issues/2441](https://github.com/waku-org/nwaku/issues/2441 "https://github.com/waku-org/nwaku/issues/2441") - - archive update to fullfill Store v3 requirements [https://github.com/waku-org/nwaku/issues/2425](https://github.com/waku-org/nwaku/issues/2425 "https://github.com/waku-org/nwaku/issues/2425") - - manual tests to ensure it works properly [https://github.com/waku-org/nwaku/issues/1885](https://github.com/waku-org/nwaku/issues/1885 "https://github.com/waku-org/nwaku/issues/1885") - - expose additional bindings functions and add function to free alloc memory [https://github.com/waku-org/waku-rust-bindings/pull/87](https://github.com/waku-org/waku-rust-bindings/pull/87 "https://github.com/waku-org/waku-rust-bindings/pull/87") - - Continue defining C-binding epics [https://github.com/waku-org/pm/issues/121](https://github.com/waku-org/pm/issues/121 "https://github.com/waku-org/pm/issues/121") - - try the "partition table" implementation approach plus "partition truncate". [https://github.com/waku-org/nwaku/issues/1885](https://github.com/waku-org/nwaku/issues/1885 "https://github.com/waku-org/nwaku/issues/1885") - - expose existing nwaku's bindings functions and test rust-bindings. Investigate packaging nwaku for mobile. [https://github.com/waku-org/waku-rust-bindings/pull/87](https://github.com/waku-org/waku-rust-bindings/pull/87 "https://github.com/waku-org/waku-rust-bindings/pull/87") - - last mile of implementation (demo in terms uses Presto un-released feature) on refactor Waku RestService to utilize middleware approach and solve CORS headers issue. [https://github.com/waku-org/nwaku/issues/2223](https://github.com/waku-org/nwaku/issues/2223 "https://github.com/waku-org/nwaku/issues/2223") -- *blocker*: - - Postgres doesn't provide a native mechanism to limit the maximum stored size. If the partition+truncate approach doesn't work properly, we will dismiss the "size" retention policy and just keep the "capacity" and "time" for Postgres. [https://github.com/waku-org/nwaku/issues/1885](https://github.com/waku-org/nwaku/issues/1885 "https://github.com/waku-org/nwaku/issues/1885") -## [js-waku](https://github.com/waku-org/js-waku) -- *achieved*: - - implemented and merged `@waku/local-discovery` to store healthy connected peers in the local state, and use these peers to connect with when an application restarts [https://github.com/waku-org/js-waku/issues/1463](https://github.com/waku-org/js-waku/issues/1463 "https://github.com/waku-org/js-waku/issues/1463") - - replaced all use of nwaku's deprecated JSON RPC API with REST API [https://github.com/waku-org/js-waku/issues/1826](https://github.com/waku-org/js-waku/issues/1826 "https://github.com/waku-org/js-waku/issues/1826") - - added SDK functions for creating a node and subscription given a peer id and content topic [https://github.com/waku-org/js-waku/issues/1764](https://github.com/waku-org/js-waku/issues/1764 "https://github.com/waku-org/js-waku/issues/1764") - - made improvements based on feedback and merged decoupling of sharding logic out of core protocol logic [https://github.com/waku-org/js-waku/issues/1808](https://github.com/waku-org/js-waku/issues/1808 "https://github.com/waku-org/js-waku/issues/1808") - - finished SDK function for creating a subscription (with or without a node) using a content topic and peer id next: implement fixes/improvements from review [https://github.com/waku-org/js-waku/issues/1764](https://github.com/waku-org/js-waku/issues/1764 "https://github.com/waku-org/js-waku/issues/1764") -- *next*: - - cycling stored peers with new peers (discover new peers with peer-exchange) to increase decentralisation - - orient protocol implementations to be strictly based on the RFCs [https://github.com/waku-org/pm/issues/114#issuecomment-1934535353](https://github.com/waku-org/pm/issues/114#issuecomment-1934535353 "https://github.com/waku-org/pm/issues/114#issuecomment-1934535353") - - move `WakuNode` class to SDK with above functions as private class functions -## [go-waku](https://github.com/waku-org/go-waku) -- *achieved*: - - executed a version of bindings with updated dependencies in go-waku for a couple of days to confirm memory leak is gone. [https://github.com/waku-org/waku-rust-bindings/issues/86](https://github.com/waku-org/waku-rust-bindings/issues/86 "https://github.com/waku-org/waku-rust-bindings/issues/86") - - arrive at approach and implement topic connection health reporting based on sharding [https://github.com/waku-org/go-waku/issues/1021](https://github.com/waku-org/go-waku/issues/1021 "https://github.com/waku-org/go-waku/issues/1021") - - initial version of client side for storev3 [https://github.com/waku-org/go-waku/pull/1028](https://github.com/waku-org/go-waku/pull/1028 "https://github.com/waku-org/go-waku/pull/1028") -- *next*: - - release a new version of rust bindings -## chat-sdk -- *achieved*: - - draft the comparison doc about build client with REST API - - attempting to merge: [https://github.com/status-im/status-go/pull/4532](https://github.com/status-im/status-go/pull/4532 "https://github.com/status-im/status-go/pull/4532") - - creating test code for the selection of store nodes in communities: [https://github.com/status-im/status-go/issues/4357](https://github.com/status-im/status-go/issues/4357 "https://github.com/status-im/status-go/issues/4357") -- *next: - - continue work on the sending messages with cli - - plan next permission-less community tasks -## eco-dev -- *achieved:* - - events page - - presentation for ETHLATAM - - working on metrics dashboard [https://github.com/waku-org/metrics.waku.org/issues/14](https://github.com/waku-org/metrics.waku.org/issues/14 "https://github.com/waku-org/metrics.waku.org/issues/14") - - deployed the research section of the docs https://github.com/waku-org/docs.waku.org/issues/155 - - added the new filter configurations per nwaku 0.25.0 release [https://github.com/waku-org/docs.waku.org/pull/158](https://github.com/waku-org/docs.waku.org/pull/158 "https://github.com/waku-org/docs.waku.org/pull/158") - - Secret Network space - - minor tweak to nwaku metrics [https://github.com/waku-org/nwaku/pull/2430](https://github.com/waku-org/nwaku/pull/2430 "https://github.com/waku-org/nwaku/pull/2430") - - updated instructions, added ENV file configuration, recommended docker as the default way to run nodes [https://github.com/waku-org/docs.waku.org/issues/154](https://github.com/waku-org/docs.waku.org/issues/154 "https://github.com/waku-org/docs.waku.org/issues/154") - - some repo org for waku metrics and restarted supabase [https://github.com/waku-org/metrics.waku.org/issues/6](https://github.com/waku-org/metrics.waku.org/issues/6 "https://github.com/waku-org/metrics.waku.org/issues/6") - - workshop and prize descriptions handed over to ethlatam - - composing cheatsheets for RLN membership and how to run a node - - networkmonitor now supports RLN and thus can be deployed for The Waku Network [https://github.com/waku-org/nwaku/pull/2401](https://github.com/waku-org/nwaku/pull/2401 "https://github.com/waku-org/nwaku/pull/2401") - - tested and provided a minor fix for py-waku, create new issues for cbindings based on this [https://github.com/waku-org/py-waku/pull/1](https://github.com/waku-org/py-waku/pull/1 "https://github.com/waku-org/py-waku/pull/1") -- *next:* - - complete metrics dashboard improvements, start drafting protocols comparison blog and send presentations to comms for review - - finish up the FAQ section for the docs platform [https://github.com/waku-org/docs.waku.org/issues/152](https://github.com/waku-org/docs.waku.org/issues/152 "https://github.com/waku-org/docs.waku.org/issues/152") - - deploy the new pages on the docs [https://github.com/waku-org/docs.waku.org/pull/166](https://github.com/waku-org/docs.waku.org/pull/166 "https://github.com/waku-org/docs.waku.org/pull/166") - - review PR [https://github.com/waku-org/research/pull/83](https://github.com/waku-org/research/pull/83 "https://github.com/waku-org/research/pull/83") to add cspell to the research repo - - some ui improvements in the metrics dashboard - - community call agenda for february - - ethlatam presentation - - blog post : unbiased comparison of web3 communication protocols - - deploy new version of NM, add new metrics to internal and public dashboards -## waku-status-integ -- *achieved*: - - investigate contact ack loss issue identified in mobile-CI after filter-manager PR [https://github.com/status-im/status-mobile/pull/18769](https://github.com/status-im/status-mobile/pull/18769 "https://github.com/status-im/status-mobile/pull/18769") -- *next*: - - support status integration in case message loss or Waku related issues \ No newline at end of file diff --git a/content/waku/updates/2024-04-26.md b/content/waku/updates/2024-04-26.md deleted file mode 100644 index be64c6599..000000000 --- a/content/waku/updates/2024-04-26.md +++ /dev/null @@ -1,157 +0,0 @@ ---- -title: 2024-04-26 Waku Weekly -tags: - - waku-updates -date: 2024-04-26 ---- - -## Research Milestones - -[Store Incentivisation](https://github.com/waku-org/pm/milestone/23) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/17 - - achieved: discuss incentivization with Akhil - - next: plan out incentivization PoC (Lightpush instead of Store?) - - blockers: (no longer a blocker) the deadline for the academic paper final version - -[RLN in resource-restricted clients](https://github.com/waku-org/pm/issues/159) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/18/views/1 - - achieved: New Merkle tree integration (LazyIMT) integrated https://github.com/alrevuelta/go-waku-light/pull/2 and new version of contract using said tree https://github.com/vacp2p/rln-contract/pull/31 (with Ar. help). PoC ready to get Merkle proofs from the contract using the finally merged https://github.com/privacy-scaling-explorations/zk-kit/pull/162. With this tree, we can assume the increase in gas cost and in exchange we get roots and merkle proofs onchain. - - next: Continue work in go-waku-light and prepare an end to end PoC to showcase this new feature. Write a report with findings and tradeoffs for future reference. - - blocker: "VacRlnContract" is not compatible with "WakuRlnContract". This https://github.com/vacp2p/rln-contract/pull/31 should be adapted to work with waku nodes (required for the PoC). Awaiting Vac's support. - -[RLNv2](https://github.com/waku-org/pm/issues/163) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/21/views/1 - - achieved: merged PR to remove go-waku from waku-simulator - - next: update to RLNv2 - - blockers: deployment still not working on wakusim host, but there is an issue for infra to debug and I can continue by using the wakudev host - -[Store v3 - Waku Sync](https://github.com/waku-org/pm/milestone/21) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/20/views/1 - - -[Store v3 - message hashes](https://github.com/waku-org/pm/milestone/20) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/16/views/1 - -## Status Integration -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/5/views/2 - - in-progress: - - [nwaku] [Add logging of hashes to all nodes](https://github.com/waku-org/nwaku/issues/2474) - -## Engineering Milestones - -[JSON RPC Deprecation](https://github.com/waku-org/pm/issues/125) -- Status: Completed -- Project: https://github.com/orgs/waku-org/projects/8/views/1 - -[Composing Waku Protocols to Improve Reliability](https://github.com/waku-org/pm/issues/114) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/9/views/1 - - completed: - - [js-waku] [chore: protocol implementations in @waku/core should be as unopinionated as possible](https://github.com/waku-org/js-waku/issues/1886) - - in-progress: - - [js-waku] [feat: Store reliability](https://github.com/waku-org/js-waku/issues/1685) - -[Operator Feature Requests](https://github.com/waku-org/pm/issues/152) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/13/views/1 - - completed: - - [nwaku] [chore: detailed json report on /health endpoint](https://github.com/waku-org/nwaku/issues/2020) - - [nwaku] [chore: Extend node isReady with more mature checks and result returned](https://github.com/waku-org/nwaku/issues/2019) - -[Bindings (Rust, NodeJS, Golang)](https://github.com/waku-org/pm/issues/121) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/6/views/6 - - in-progress: - - [nwaku] [chore: migrate DiscV5 and DNS Discovery from app.nim to waku_node.nim](https://github.com/waku-org/nwaku/issues/2452) - - next: - - [nwaku] [chore: support setting DiscV5 and DNS-discovery in libwaku](https://github.com/waku-org/nwaku/issues/2455) - -[Node Bandwidth Management Mechanism](https://github.com/waku-org/pm/issues/66) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/11 - - in-progress: - - [js-waku] [feat: prefer error code for req-res protocol over exception](https://github.com/waku-org/js-waku/issues/1694) - -## Other Work - -### Bugs - -#### In Progress - -- [js-waku] [bug: lightPush is not able to keep node connections](https://github.com/waku-org/js-waku/issues/1966) -- [js-waku] [bug: remote peer fault](https://github.com/waku-org/js-waku/issues/1961) -- [js-waku] [bug: filter subscription stops without occasional pings](https://github.com/waku-org/js-waku/issues/1923) -- [nwaku] [bug: wakunode2 systemd unit restarts about 10-15x per day](https://github.com/waku-org/nwaku/issues/2173) -- [nwaku] [bug: SIGSEGV with RLN](https://github.com/waku-org/nwaku/issues/1934) -- [nwaku] [bug: build error on new AMD cpu's (ubuntu 22.04 LTS)](https://github.com/waku-org/nwaku/issues/2560) -- [nwaku] [bug: Peer Reconnection not working?](https://github.com/waku-org/nwaku/issues/2592) -- [nwaku] [bug: nwaku <> js-waku interop tests failing](https://github.com/waku-org/nwaku/issues/2621) - -#### Next - -- [nwaku] [bug/regression: node ca be started on multiple clusters](https://github.com/waku-org/nwaku/issues/2552) -- [nwaku] [bug: autosharding resolves content topics to wrong shard](https://github.com/waku-org/nwaku/issues/2538) -- [nwaku] [bug: Store REST API returns invalid digest](https://github.com/waku-org/nwaku/issues/2615) - -### Enhancements - -#### In Progress - -- [nwaku] [chore: review waku-simulator deployment and improve tracking processes](https://github.com/waku-org/nwaku/issues/2342) -- [nwaku] [feat: add WakuMessage's meta field to db schema](https://github.com/waku-org/nwaku/issues/2432) -- [nwaku] [chore: Address more attack vectors in rate limiting non-relay protocols](https://github.com/waku-org/nwaku/issues/2589) -- [js-waku] [feat: filter.createSubscription accept ShardParams](https://github.com/waku-org/js-waku/issues/1967) - -#### Next - -- [js-waku] [chore: move to js-waku repo](https://github.com/waku-org/js-noise/issues/45) -- [js-waku] [feat: better developer experience](https://github.com/waku-org/js-rln/issues/76) - -## Ecosystem Development - -### BD -- Calls with prospects -- Advancing ongoing going leads -- Qualified prospects -- Created a validation tracking database -- Event planning done for the upcopming quarters - -### Solution Engineering -- Working on slides for talks in May/June -- Trying to get js-waku working in projects again - so far resulted in filed issues -- updated nwaku to 0.27.0 in awesome-akash -- calls with BD -- assisting Portrait with some architectural decisions -- assisting Dria with nwaku REST API - -### Dev Rel -- token2049 (20+ leads) -- libp2p rpgf nomination completed -- sorting out ethdenver leads, sorting out crm -- drafting Railgun blog article -- forwarding portrait.so interview to comms -- interview preparation for Railgun <> waku -- Ethdam feedback/summary - -### Comms and Events -- X: 1441 new followers ( +11%), 47.8% engagement rate ( +58%), 15889 likes (+47%) - we hit 10k on Twitter - yay! -- Linkedin: 11 new followers -- Discord: +44 (2.6%) -- 1 PR went live, about W3PN and Logos, mentioning Waku - https://cointelegraph.com/press-releases/logos-partners-with-web3privacy-now-to-advance-digital-privacy -- We’v interviewed Portrait founder at ETHDam - video sent for editing - -### Events -- Ivan gave a presentation and spoke at the panel at https://web3fc.xyz/ -- Guru attended token2049 -- ETHDam summary doc - https://docs.google.com/document/d/1kgR8q-WMWJ56kGav6MiFYqkA2eDudc_lFUpdYM3sQ8s/edit and photos - -### Docs -- merged the general FAQ -- deprecated the JSON-RPC RFC spec -- Waku RFC website followup diff --git a/content/waku/updates/2024-05-15.md b/content/waku/updates/2024-05-15.md deleted file mode 100644 index 71d5702de..000000000 --- a/content/waku/updates/2024-05-15.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: 2024-05-15 Waku Weekly -tags: - - waku-updates -date: 2024-05-15 ---- - -## Research Milestones - -[Store Incentivisation](https://github.com/waku-org/pm/milestone/23) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/17 - - in-progress: - - [nwaku] [feat: experimental incentivize store protocol](https://github.com/waku-org/nwaku/issues/1961) - -[RLN in resource-restricted clients](https://github.com/waku-org/pm/issues/159) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/18/views/1 - - achieved: PR for message validation in lightpush before relaying. - - next: continue lightpush attaching RLN proofs to messages received from clients. - -[RLNv2](https://github.com/waku-org/pm/issues/163) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/21/views/1 - - achieved: Test implementation WIP. - - next: - - Continue planning for next waku fork (RLNv2 + onchain root/proofs) See: https://github.com/waku-org/research/issues/96 (future section). RLN v2 testing. New smart contract with both features. Prepare presentation for DLT conference. - - Test implementation continued and testing. - -[Store v3 - Waku Sync](https://github.com/waku-org/pm/milestone/21) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/20/views/1 - - achieved: - - Explored if there is a way to prune the negentropy storage based on timestamp. - - Ttype state machine implementation and pruning mechanism. - - next: - - write subrange wrappers for negentropy and use subranges to sync. - - using hashes to fill the archive with the missing messages. - -[Store v3 - message hashes](https://github.com/waku-org/pm/milestone/20) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/16/views/1 - - achieved: - - bug fixes - - next: - - fix compatability with Waku sync - -## Engineering Milestones - -[Composing Waku Protocols to Improve Reliability](https://github.com/waku-org/pm/issues/114) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/9/views/1 - - completed: - - [js-waku] [refine Filter](https://github.com/waku-org/js-waku/issues/1890) - - [js-waku] [chore: protocol implementations in @waku/core should be as unopinionated as possible](https://github.com/waku-org/js-waku/issues/1886) - - [js-waku] [feat: SDK for redundant usage of filter/lightpush](https://github.com/waku-org/js-waku/issues/1463) - - [js-waku] [bug: lightPush is not able to keep node connections](https://github.com/waku-org/js-waku/issues/1966) - - [js-waku] [https://github.com/waku-org/js-waku/issues/2002](https://github.com/waku-org/js-waku/issues/2002) - - in-progress: - - [js-waku] [feat: peer management for protocols (with disconnection management)](https://github.com/waku-org/js-waku/issues/2002) - - next: - - [js-waku] [investigate suspended js-waku in suspended mode](https://github.com/waku-org/js-waku/issues/2000) - -[DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/11/views/1 - - completed: - - [nwaku] [chore: Address more attack vectors in rate limiting non-relay protocols](https://github.com/waku-org/nwaku/issues/2589) - - in-progress: - - [nwaku] [feat: Rate limit phase#3 - peer request rate registration and prioritization](https://github.com/waku-org/nwaku/issues/2683) - - [nwaku] [feat: Proper bandwidth metrics per shard](https://github.com/waku-org/nwaku/issues/1945) - - [nwaku] [feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - - next: - - [nwaku] [feat: Failsafe mechanism (guide) for BW limiting](https://github.com/waku-org/nwaku/issues/1946) - -[Bindings](https://github.com/waku-org/pm/issues/121) -- Status: In Progress -- Project: https://github.com/orgs/waku-org/projects/6/views/6 - - [nwaku] [chore: support setting DiscV5 and DNS-discovery in libwaku](https://github.com/waku-org/nwaku/issues/2455) - -## Other Work - -### Bugs - -#### In Progress - -- [js-waku] [feat: map/use correct bootstrap nodes fleet according to the configured pubsub topic](https://github.com/waku-org/js-waku/issues/2011) -- [js-waku] [test: create scripts for running light-push/filter and measuring ratio of messages sent and received](https://github.com/waku-org/js-waku/issues/2007) -- [nwaku] [bug: flaky test fails on MacOS](https://github.com/waku-org/nwaku/issues/2701) -- [nwaku] [bug: nwaku <> js-waku interop tests failing](https://github.com/waku-org/nwaku/issues/2621) -- [nwaku] [bug: Peer Reconnection not working?](https://github.com/waku-org/nwaku/issues/2592) -- [nwaku] [bug: build error on new AMD cpu's (ubuntu 22.04 LTS)](https://github.com/waku-org/nwaku/issues/2560) -- [nwaku] [bug/regression: node ca be started on multiple clusters](https://github.com/waku-org/nwaku/issues/2552) - -#### Next - -- [js-waku] [bug: ApplicationInfo to PubsubTopic doesn't take clusterId into consideration](https://github.com/waku-org/js-waku/issues/1902) -- [nwaku] [bug: Deserialization error on POST /relay/v1/auto/messages with ephemeral field in body](https://github.com/waku-org/nwaku/issues/2643) -- [nwaku] [bug: running testwaku can hang in some cases of UPnP or nat-pmp networking](https://github.com/waku-org/nwaku/issues/2628) -- [nwaku] [bug: Store REST API returns invalid digest](https://github.com/waku-org/nwaku/issues/2615) -- [nwaku] [bug: autosharding resolves content topics to wrong shard](https://github.com/waku-org/nwaku/issues/2538) - -### Enhancements - -#### In Progress - -- [js-waku] [feat: map/use correct bootstrap nodes fleet according to the configured pubsub topic](https://github.com/waku-org/js-waku/issues/2011) -- [nwaku] [feat: light protocol tester application](https://github.com/waku-org/nwaku/issues/2700) - -#### Next - -- [js-waku] [feat: improve reuse of pubsub/content topic configuration](https://github.com/waku-org/js-waku/issues/1814) -- [js-waku] [feat: better developer experience](https://github.com/waku-org/js-rln/issues/76) -- [nwaku] [feat: RLN-proofs as a lightpush service](https://github.com/waku-org/nwaku/issues/2593) -- [nwaku] [Add a flag to require minimum number of peers to publish a message on relay](https://github.com/waku-org/nwaku/issues/1004) - -## Ecosystem Development - -### BD - -- Qualified two leads -- Advanced one lead toward deal -- Set up two meetings with potential partners - -### Dev Rel - -- The Waku Network hit 500 nodes - yay! -- Events page update -- The Graph blog article draft -- The Graph interview - -### Comms and Events - -- X: +489 -- Linkedin: +7 -- Discord: +44 -- Waku intro finalized - https://www.youtube.com/watch?v=nIWx5Vp_Qxk -- 2 “how to run nodes” tutorials went live -- Published Montly newsletter -- Railgun interview went live -- Builder Spotlight went live - -### Docs - -- Implemented a script on waku.org for automatic creation and updating of the specs section -- Submitted a pull request to the specs repository to fix broken links and adjust the front matter -- Got the specs repo PR approved and merged Follow up with Hanno on [RFC website](https://github.com/waku-org/waku.org/pull/76#issuecomment-2090271892) plans Added high level overview of waku simulation results diff --git a/content/waku/updates/2024-06-24.md b/content/waku/updates/2024-06-24.md deleted file mode 100644 index b5cac96b4..000000000 --- a/content/waku/updates/2024-06-24.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -title: 2024-06-24 Waku Weekly -tags: - - waku-updates -date: 2024-06-24 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [nwaku] PR bug fixes - - [chat] hash based query for outgoing messages https://github.com/status-im/status-go/pull/5217 - - blockers: - - [chat] awaiting reviews - - [chat] unable to reproduce CI failures - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [nwaku] waku-simulator testing - - [chat] Dogfooding and fixes for routine that checks for missing messages https://github.com/status-im/status-go/pull/5281 - - blockers: - - [chat] awaiting reviews - - [chat] unable to reproduce CI failures - -- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - - achieved: - - [nwaku] Rate limit phase3: implemented per peer request rate checks - - [nwaku] BW metrics per shard: implemented per shard metric collection - - next: - - [nwaku] Rate limit phase3: Some polishing and test cases needed to finish - - [nwaku] Rate limit phase3: add rate limit metrics to dashboard - - [nwaku] BW metrics per shard: needs some tests and add section onto dashboard - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] enhance partition creation: https://github.com/waku-org/nwaku/issues/2783 - - [nwaku] validate that time retention policy works well: https://github.com/waku-org/nwaku/issues/2807 - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Enable testing of direct messages](https://github.com/waku-org/pm/issues/176) - - achieved: - - [chat] set up nightly tests & 1:1 messages tests https://github.com/status-im/status-cli-tests/pull/1 - - [chat] set up nightly tests for contact requests https://github.com/status-im/status-cli-tests/pull/3 - - [chat] CLI bugs and improvements for usage in nightly tests https://github.com/status-im/status-go/issues/5266 - - next: - - [chat] set up nightly tests for group chats and community join requests - - [chat] investigate remaining tests failing - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] Pause peer connector if node is offline https://github.com/status-im/status-go/pull/5340, https://github.com/waku-org/go-waku/pull/1125 - - [chat] Fix usage of context for DiscV5 https://github.com/status-im/status-go/pull/5347 - - [chat] Fix in status-go to filter peers by shard - - [chat] Dogfood light client with peer exchange enabled - - next: - - [chat] Investigate / fix DiscV5 not finding valid peers in shards.test fleet - - [chat] make filter working along with peer exchange and debug connectivity issues with peers returned via peerExchange - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [nwaku] lite-protocol-tester works on waku-simulator - - [nwaku] configurable stress conditions - - [nwaku] intensive stress test had been ran (45 nodes (relay + service nodes) + multiple publisher light client and a filter client receiver) - - [nwaku] ran with different conditions - - [nwaku] in co-op with Alberto analyzing topology and message flows - - next: - - [nwaku] exclude docker limitations from the seen failed message deliveries - -- [Telemetry: direct message reliability](https://github.com/waku-org/pm/issues/182) - - achieved: - - [nwaku] implemented two different ways to log received message information. One based on libp2p observers https://github.com/waku-org/nwaku/pull/2800 which we won't use in practice. And one by adding the logs in a new nim-libp2p branch https://github.com/vacp2p/nim-libp2p/pull/1128 - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] started to look at the current status-go implementation - - next: - - [nwaku] carry on with the implementation in nwaku - https://github.com/waku-org/nwaku/issues/2819 - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [chat] Improve filter subscription management in LightClient: various fixes wrt filter subscriptions and making lightNode work with peerExchange enabled https://github.com/status-im/status-go/pull/4665 - - [chat] dogfooding light client in desktop - - [chat] fixed issue found while dogfooing, remove stale subs and update ping interval https://github.com/waku-org/go-waku/pull/1119 - - [js-waku] improved peer management for light push protocol https://github.com/waku-org/js-waku/issues/2002 - - [js-waku] worked on updating js-waku to store v3 https://github.com/waku-org/js-waku/issues/2029 - - [js-waku] improving offline recoverability for Filter https://github.com/waku-org/js-waku/issues/2024 - - next: - - [js-waku] continue with moving to store v3 https://github.com/waku-org/js-waku/issues/2029 - - [js-waku] continue with offline recoverability for Filter https://github.com/waku-org/js-waku/issues/2024 - -- [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - - achieved: - - [js-waku] settled on the base implementation of dogfooding app https://github.com/waku-org/lab.waku.org/pull/68 - - next: - - [js-waku] provide front end for dogfooding app - - [js-waku] provide basic telemetry framework - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] draft changes for reset MVDS epoch for online peers https://github.com/status-im/status-go/pull/5349 - - next: - - [chat] continue MVDS review https://github.com/orgs/waku-org/projects/33 - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [nwaku] continued gathering wide input on e2e reliability proposal: [https://forum.vac.dev/t/end-to-end-reliability-for-scalable-distributed-logs/293/](https://forum.vac.dev/t/end-to-end-reliability-for-scalable-distributed-logs/293/13) - - [nwaku] performed basic calculations to understand mathematical properties of proposed protocol, probabilistic model - - next: - - [nwaku] stakeholders sync on next steps - - [nwaku] set scope for POC implementation - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] start testing and investigating discv5 performance and possible issues https://github.com/waku-org/nwaku/issues/2810 - - [nwaku] started deep review of peer manager logic opened PR with small fix to be able to update peers' ENRs https://github.com/waku-org/nwaku/pull/2818 - - [nwaku] reproduced with DST team issues forming stable mesh https://github.com/waku-org/nwaku/issues/2780 and analyzed logs. Found that connections aren't being answered and started investigating a prospective problematic place in the code. - - next: - - [nwaku] continue with discv5 and peer manager investigations - - [nwaku] continue investigating issuer forming a stable mesh - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/35) - -- [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - - achieved: - - [research] Published The Waku Simulator book: https://waku-org.github.io/waku-simulator/. It explains how to use waku-simulator to test different scenarios. - - [research] completed RLNv2 test plan, waku-simulator updates - - next: - - [research] Integrate waku spammer: https://github.com/waku-org/nwaku/pull/2821 - - [research] Assist with rlnv2 testing. - - [research] execute RLNv2 test plan - -## Other Work - -### Research -- [[Deliverable] Store Incentivisation (first iteration/POC)](https://github.com/waku-org/pm/issues/139) - - [research] achieved: opened a PR for a PoC incentivization testing: https://github.com/waku-org/nwaku/pull/2816 - - [research] next: start outlining a minimal specification for RLN-as-a-service - -### Reliability -- achieved - - [chat] Increase store query pagesize https://github.com/status-im/status-go/pull/5341 - - [chat] Fix peer counter for statsu-desktop https://github.com/status-im/status-go/pull/5348 - - [chat] Change order of rpc text input https://github.com/status-im/status-desktop/pull/15169 diff --git a/content/waku/updates/2024-07-01.md b/content/waku/updates/2024-07-01.md deleted file mode 100644 index 22869e2d7..000000000 --- a/content/waku/updates/2024-07-01.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -title: 2024-07-01 Waku Weekly -tags: - - waku-updates -date: 2024-07-01 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [chat] set lower max delivery attempts for outgoing messages https://github.com/status-im/status-go/pull/5382 - -- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - - achieved: - - [nwaku] BW metrics per shard: implemented per shard metric collection - https://github.com/waku-org/nwaku/issues/1945 - - [nwaku] Added dashboard panels for relay per shard traffic - - [nwaku] Added dashboard panels for non-relay protocols data traffic - - [nwaku] Added dashboard panels for non-relay protocols request rates - - next: - - [nwaku] Rate limit phase3: Some polishing and test cases needed to finish - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] analyse a database blocking issue: https://github.com/waku-org/nwaku/issues/2838 - - next: - - [nwaku] fix database blocking issue with solution detailed in https://github.com/waku-org/nwaku/issues/2838 - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Enable testing of direct messages](https://github.com/waku-org/pm/issues/176) - - achieved: - - [chat] small logging cli issue - - [chat] testing private group chats https://github.com/status-im/status-cli-tests/pull/4 - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] investigating connectivity and discv5 issues - - [chat] fix peerExchange to filter peers by shard https://github.com/status-im/status-go/pull/5350/ - - [chat] filter peers used for circuit-relay based on shards https://github.com/waku-org/go-waku/pull/1130 - - [chat] Dogfood lightClient by enabling peerExchange - - next: - - [chat] missing messages verification https://github.com/status-im/status-go/pull/5281 - - [chat] store node query after sleep https://github.com/status-im/status-go/pull/5422 - - [chat] investigate further peer connectivity issues by dogfooding - - [chat] refactor peer-manager for lightClient - - [chat] remove limit on connections when using relay - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [chat] lite-protocol-tester works on waku-simulator - - [chat] configurable stress conditions - - [chat] re-run some critical test for nicer logs for analysis - - [chat] analysed run results - - [chat] waku dogfooding telemetry https://github.com/status-im/telemetry/pull/20 - - next: - - [chat] new run with analysis on Alberto's log analysis tool - - [chat] run lite-protocol-tester on shards.staging - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] started the implementation in nwaku - https://github.com/waku-org/nwaku/issues/2819 - - next: - - [chat] spec the reliability protocol for relay - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [js-waku] continued with using pool approach for protocols https://github.com/waku-org/js-waku/pull/2047 - - [js-waku] store v3 migration https://github.com/waku-org/js-waku/pull/2036 - - next: - - [js-waku] complete ongoing efforts - - [js-waku] get back to offline state handling https://github.com/waku-org/js-waku/issues/2024 - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] Improve MVDS: reset epoch for online users https://github.com/status-im/mvds/pull/5 - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] Discovery on e2e reliability and bloom filters. Started working on a POC on a standalone repo. - - next: - - [research] move to go-waku and continue with the POC - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] analyse discv5 performance and possible issues https://github.com/waku-org/nwaku/issues/2810 - - [nwaku] fixed issues forming mesh by DST team https://github.com/waku-org/nwaku/issues/2780 https://github.com/waku-org/nwaku/pull/2824 - - [nwaku] Added small enhancements to the peer manager https://github.com/waku-org/nwaku/pull/2823, https://github.com/waku-org/nwaku/pull/2831 - - [nwaku] Opened PR adding logs requested by DST for discv5 investigation https://github.com/waku-org/nwaku/issues/2841 https://github.com/waku-org/nwaku/pull/2811 - - [nwaku] Opened PR adding peer origin information to the /admin/v1/peers REST endpoint https://github.com/waku-org/nwaku/pull/2848 - - next: - - [nwaku] continue with discv5 and peer manager investigations - - [nwaku] Implement a permanent customizable logging solution for nim-libp2p - - [nwaku] deprecate named sharding - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/35) - -- [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - - achieved: - - [research] Various debugging and bug fixing, executing https://github.com/waku-org/pm/issues/168 - - next: - - [research] Deliver 0.30.0 with RLNv2 in nwaku - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] RLNv2 debugging, test plan, waku-simulator updates - - next: - - [research] RLNv2 release candidate testing - -- [Provision RLN for light push clients PoC](https://github.com/waku-org/pm/issues/206) - - achieved: - - [research] continued testing of merged feature - - next: - - [research] deploy service to existing fleets and dogfood with js-waku - -- [Pay for RLN provision first PoC](https://github.com/waku-org/pm/issues/207) - - achieved: - - [research] PR for incentivization PoC (without on-chain interaction yet) - - next: - - [research] add on-chain interaction to the PoC - txid lookup as proof of payment - -## Other Work - -### Enhancements - -- achieved: - - [chat] status-go: expose wakuext_enr - - [chat] use UTC format for geth.log timestamp - - [chat] use IP addresses instead of dns to store multiaddresses - - [chat] waku enr decoder tool https://github.com/waku-org/enr-decoder/ - - [js-waku] remove relay dependency https://github.com/waku-org/js-waku/pull/2040 - -### Bugs - -- achieved: - - [chat] do not write tcp port 0 and remove 100 chars length limit for multiaddresses - - [chat] fix ctx not available when starting telemetry client - - [nwaku] Mount Metadata in wakucanary https://github.com/waku-org/nwaku/issues/2720 - - [nwaku] duplicate message forwarding to filter client https://github.com/waku-org/nwaku/issues/2320 -- next: - - [nwaku] peer exchanges return nodes that no longer exist. - https://github.com/waku-org/nwaku/issues/2414 diff --git a/content/waku/updates/2024-07-08.md b/content/waku/updates/2024-07-08.md deleted file mode 100644 index 51d1dd7f2..000000000 --- a/content/waku/updates/2024-07-08.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: 2024-07-08 Waku Weekly -tags: - - waku-updates -date: 2024-07-08 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] take up reported bugfixes after afk; continue with service rollout - - [chat] tuning store hash query to shorten the confirmation time of outgoing messages [Reset MVDS epoch after peer is online](https://github.com/status-im/status-go/pull/5349) - - next: - - [research] start with storev3 benchmarking test plan - -- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - - achieved: - - [[Epic: nwaku] Node Bandwidth Management Features](https://github.com/waku-org/pm/issues/117) - - BW metrics per shard: implemented per shard metric collection - [feat: Proper bandwidth metrics per shard](https://github.com/waku-org/nwaku/issues/1945) - - Added dashboard panels for relay per shard traffic - - Added dashboard panels for non-relay protocols data traffic - - Added dashboard panels for non-relay protocols request rates - - [nwaku] [feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - - Finalizing last phase of the feature: - - Added per peer filtering of high users - - Filter service specific limits for ping and subscribe per peer - - next: - - [nwaku] [[Epic: nwaku] Node Bandwidth Management Features](https://github.com/waku-org/pm/issues/117) - - Add distinction between gross/net inbound traffic of shards. - - [nwaku] [feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - - finish testing, add more unit tests - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] new issue to create sonda tool, a canary for store services: [chore: create sonda tool](https://github.com/waku-org/nwaku/issues/2869) - - next: - - [nwaku] start implementation of sonda tool - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] [feat: filter peers stored in cache by cluster-id in peer-exchange](https://github.com/waku-org/go-waku/pull/1139) - - [chat] [feat: expose router and mesh peers to obtain list of peers in mesh](https://github.com/waku-org/go-libp2p-pubsub/pull/1) - - [chat] improve relay peer connectivity and refactor peerManager to support lightMode [feat: modify peer-manager to consider relay target peers](https://github.com/waku-org/go-waku/pull/1135) - - [chat] enable peerExchange in relay for better peer discovery [chore: enable pxClient in relay and increase relay peer connections](https://github.com/status-im/status-go/pull/5411) - - [chat] fix peerExchange peer source and enable peerExchange in lightClient [fix: enable pxclient and filter peerExchange peers returned](https://github.com/status-im/status-go/pull/5350) - - [chat] query store node when back from sleep: [missing communityRequestToJoin message](https://github.com/status-im/status-go/issues/5412) - - [chat] IMO of what to do regarding receive reliability: [Receive message reliability for Status desktop](https://forum.vac.dev/t/receive-message-reliability-for-status-desktop/302) - - next: - - [chat] expose rpc methods to obtain list of peers by topic, and list of peers in mesh - - [chat] lightClient topic health reporting and peer connectivity improvements - - [chat] when back online only request from store node since last time not 24 hours - - [chat] investigate connection management for outgoing messages - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [chat] optimize filter subscriptions by aggregating them [feat: optimize filter subs](https://github.com/waku-org/go-waku/pull/1144) and [feat: aggregate filter subscriptions to do bulk subs with peer](https://github.com/status-im/status-go/pull/5440) - - [nwaku] stress test on waku-simulator - - next: - - [nwaku] add rln support - - [nwaku] run lite-protocol-tester on shards.staging - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [chat] draft reliability for relay protocol spec [feat: reliability for relay protocol](https://github.com/waku-org/specs/pull/23) - - [nwaku] carry on with the implementation in nwaku - [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - - next: - - [chat] continue with the reliability protocol - - [nwaku] submit first PR in nwaku - [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [nwaku] Accepted new lightpush protocol definition with detailed fail case support - [Enhance light push protocol](https://github.com/waku-org/pm/issues/93) - - [js-waku] filter uses dynamic peer management [feat(filter): peer/subscription renewal with recurring Filter pings](https://github.com/waku-org/js-waku/pull/2052) - - [js-waku] reliability with renewals due to offline state [feat!: improve offline state handling for Filter subscription](https://github.com/waku-org/js-waku/pull/2049) - - [js-waku] reliability RFC [Add "req-res protocol reliability" spec](https://github.com/waku-org/specs/pull/18) - - next: - - [nwaku] Implement: [feat: Enhance lightpush protocol error handling](https://github.com/)waku-org/nwaku/issues/2722 - - [js-waku] reliability RFC [Add "req-res protocol reliability" spec](https://github.com/waku-org/specs/pull/18) - - [js-waku] reliability with renewals due to offline state [feat!: improve offline state handling for Filter subscription](https://github.com/waku-org/js-waku/pull/2049) - -- [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - - achieved: - - [js-waku] minor improvements to [feat: add first version of dogfooding app](https://github.com/waku-org/lab.waku.org/pull/68) and getting unblocked with latest nwaku release - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] reset MVDS epoch after peer is back online [Reset MVDS epoch after peer is online](https://github.com/status-im/status-go/pull/5349) - - next: - - [chat] continue mvds review - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] started exploring POC in go-waku as an example application - - [research] researched Vac’s de-MLS protocol for possible integration - - next: - - [research] continue with the POC starting with a minimal working version first - - blockers: - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] added origin of peers in admin rest endpoint as per request, to debug and further understand discovery performance [chore: adding origin to peers admin endpoint](https://github.com/waku-org/nwaku/pull/2848) - - [nwaku] discussed with nim-libp2p team and tested a version of logging errors on publish to understand how often messages are not sent without returning errors - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/35) - -- [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - - achieved: - - [research] RLNv2 config for the Waku Network: [chore: add TWN parameters for RLNv2](https://github.com/waku-org/nwaku/pull/2843) - - [research] bug fix in RLN, vulnerability: [fix(rln): nullifierlog vulnerability](https://github.com/waku-org/nwaku/pull/2855) - - next: - - [research] assist to deploy 0.30.0 release and integrate it in The Waku Network - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] continuing the execution of RLN in resource-restricted network: [[Epic: Dogfooding] Deliver RLN v2 + RLN in resource-restricted to The Waku Network](https://github.com/waku-org/pm/issues/168) - - [research] simulations using the waku simulator for different purposes - - [research] expanded RLNv2 testing, assisted with simulating and debugging vulnerabilities - - next: - - [research] assist to deploy 0.30.0 release and integrate it in The Waku Network - - [research] complete execution of RLNv2 test scenarios - -- [Pay for RLN provision first PoC](https://github.com/waku-org/pm/issues/207) - - achieved: - - [research] added chain interaction to incentivization POC - - next: - - [research] draft a specification for RLN mainnet deployment - -## Other Work - -## Enhancements - -- achieved: - - [nwaku] deployment of release v0.30.1, which adds RLNv2 - - [js-waku] prepare for next release -- next: - - [js-waku] release last reliability improvements - -## Bugs - -- achieved: - - [chat] [fix: panic due to enr having more than 300 bytes](https://github.com/waku-org/go-waku/pull/1140) - - [chat] [fix: ignore ws from circuit relay addresses, and allow non multiaddresses in multiaddrs ENR key](https://github.com/waku-org/go-waku/pull/1141) - - [chat] [fix failing wakuv2 tests](https://github.com/status-im/status-go/pull/5444) - - [nwaku] [bug: build error on new AMD cpu's](https://github.com/waku-org/nwaku/issues/2560) - - [nwaku] Various bug fixes: - - From chat team: - - [bug: timestamp should be set to 0 if not provided in REST API](https://github.com/waku-org/nwaku/issues/2625) - - [bug: Store REST API returns invalid digest](https://github.com/waku-org/nwaku/issues/2615) - - From Vac-QA: - - [bug: Some PeerStore metadata is not filled in](https://github.com/waku-org/nwaku/issues/2591) - - [bug: PeerInfo instance affects listed protocols](https://github.com/waku-org/nwaku/issues/2590) - - [bug: Lightpush's publish type error](https://github.com/waku-org/nwaku/issues/2253) - - [bug: Relay publish returns Failed to publish: timedout when a peer filter node is disconnected](https://github.com/waku-org/nwaku/issues/2319) - - [bug: Test failure on test_all](https://github.com/waku-org/nwaku/issues/2304) - - [handle rln_msg_limit issue](https://github.com/waku-org/nwaku/issues/2822) - - Nim 2.0 readiness: - - [nwaku] [bug: incorrect import paths pointing outside the repository](https://github.com/waku-org/nwaku/issues/2845) -- next: - - [nwaku] [peer exchange returns nodes that no longer exist](https://github.com/waku-org/nwaku/issues/2414) diff --git a/content/waku/updates/2024-07-15.md b/content/waku/updates/2024-07-15.md deleted file mode 100644 index 741a91662..000000000 --- a/content/waku/updates/2024-07-15.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: 2024-07-15 Waku Weekly -tags: - - waku-updates -date: 2024-07-15 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] improved migration script & migration tests - - next: - - [research] storev3 benchmark test plan - -- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - - achieved: - - [nwaku] BW metrics per shard: implemented per shard metric collection [feat: Proper bandwidth metrics per shard](https://github.com/waku-org/nwaku/issues/1945) - - [nwaku] Added dashboard panels for relay per shard traffic - - [nwaku] Added dashboard panels for non-relay protocols data traffic - - [nwaku] Added dashboard panels for non-relay protocols request rates - - [nwaku] Finished and under review: [feat: DOS protection of non relay protocols - rate limit phase3](https://github.com/waku-org/nwaku/pull/2897) - - [nwaku] Added per peer filtering of high users - - [nwaku] Load balancing compensation applied to token replenish - - [nwaku] Filter service specific limits for ping and subscribe per peer - - next: - - [nwaku] Separate add distinction between gross/net inbound traffic of shards. - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] Designed and implemented the first version of the Sonda tool [chore: create sonda tool](https://github.com/waku-org/nwaku/issues/2869), which is about to open for review. - - [nwaku] Better partition creation approach to avoid database AccessExclusiveLock - [fix: postgres_driver - better partition creation without exclusive access](https://github.com/waku-org/nwaku/pull/2887) - - next: - - [nwaku] Get Sonda reviewed and implement feedback - - [nwaku] Tackle the following so that the cursor bug is fulfilled [chore(archive): archive and drivers refactor](https://github.com/waku-org/nwaku/pull/2761) - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Enable testing of direct messages](https://github.com/waku-org/pm/issues/176) - - achieved: - - [chat] [chore: allow cli to run on a different fleet](https://github.com/status-im/status-go/pull/5478) - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] [refactor: ping a subset of connected peers](https://github.com/waku-org/go-waku/pull/1148), [feat: bump go-waku to introduce new keep alive interval](https://github.com/status-im/status-go/pull/5484) - - [chat] [feat: wakuext_relayPeersByTopic](https://github.com/status-im/status-go/pull/5456) - - [chat] [fix: missing messages delay should be substracted](https://github.com/status-im/status-go/pull/5453) - - [chat] [feat: use mesh peers instead of all peers for determining topic health](https://github.com/waku-org/go-waku/pull/1150) - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [chat] refactor and merge the spec for relay reliability [feat: reliability for relay protocol](https://github.com/waku-org/specs/pull/23) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [js-waku] RFC clarifications [Add "req-res protocol reliability" spec](https://github.com/waku-org/specs/pull/18) - - [js-waku] peer cycling complete [feat: peer management for protocols (with disconnection management)](https://github.com/waku-org/js-waku/issues/2002) - - next: - - [nwaku] Implement: [feat: Enhance lightpush protocol error handling](https://github.com/waku-org/nwaku/issues/2722) - -- [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - - blockers: - - [js-waku] waiting for release of nwaku 0.30.2 - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] summarize the message types that are using MVDS - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] raised a draft PR for e2e reliability POC in go-waku with new message structure, lamport timestamp, bloom filter, buffer and sync - - next: - - [research] ACK handling, request missing messages, resend message - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] investigating connectivity issues. Decreased connectivity loop interval [chore: setting connectivity loop interval to 30 seconds](https://github.com/waku-org/nwaku/pull/2878) - - [nwaku] final checks and deprecating named sharding [chore: deprecating named sharding](https://github.com/waku-org/nwaku/pull/2723) - - next: - - [nwaku] Refactor code now that named sharding is removed, and deprecate pubsub-topic configuration - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/35) - -- [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - - achieved: - - [research] Completed milestone shipping RLNv2 and stateless light clients: [[Epic: Dogfooding] Deliver RLN v2 + RLN in resource-restricted to The Waku Network](https://github.com/waku-org/pm/issues/168) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] Blog post announcing the new feature: [Post RLN-V2 + Stateless Light Clients](https://github.com/waku-org/blog.waku.org/pull/60) - - [research] completed RLNv2 e2e testing - - next: - - [research] Some work with go-waku-light to showcase stateless light clients in The Waku Network - - [research] Conference presenting Waku poster - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] bumped vendor dependencies for v0.31.0. Start using Nim 2.0.8 - [chore: Bump dependencies for v0.31.0](https://github.com/waku-org/nwaku/pull/2885) - - [chat] refactor: remove namedsharding usage in status-go [refactor: only use shards](https://github.com/status-im/status-go/pull/5474) - - [chat] fix : filter uninstall and reinstall issue in status-go [fix: don't resubscribe filters unless there is a change in shard for community](https://github.com/status-im/status-go/pull/5467) - -### Bugs - -- achieved: - - [nwaku] [bug: peer exchange returns nodes that no longer exist](https://github.com/waku-org/nwaku/issues/2414) -- next: - - [nwaku] [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875#event-13452892853) diff --git a/content/waku/updates/2024-07-22.md b/content/waku/updates/2024-07-22.md deleted file mode 100644 index fc8ec9deb..000000000 --- a/content/waku/updates/2024-07-22.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: 2024-07-22 Waku Weekly -tags: - - waku-updates -date: 2024-07-22 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] Proof of concept of store testing with waku-simulator - - next: - - [research] Storev3 test plan and integrating tools for testing - - blockers: - - [research] Some complexities around merging/testing, currently handled by nwaku team - -- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - - achieved: - - [nwaku] BW metrics per shard: implemented per shard metric collection [feat: Proper bandwidth metrics per shard](https://github.com/waku-org/nwaku/issues/1945) - - [nwaku] Added dashboard panels for relay per shard traffic - - [nwaku] Added dashboard panels for non-relay protocols data traffic - - [nwaku] Added dashboard panels for non-relay protocols request rates - - [nwaku] Released [feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - - Added per peer filtering of high users - - Load balancing compensation applied to token replenish - - Filter service specific limits for ping and subscribe per peer - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] Improved and merged Sonda - canary service to check liveness of store nodes - - [nwaku] Merged store-v3 cursor fix [chore(archive): archive and drivers refactor](https://github.com/waku-org/nwaku/pull/2761) - - next: - - [nwaku] PostgreSQL query optimizations [chore: query performance in PostgreSQL by avoiding ordering in queries](https://github.com/waku-org/nwaku/issues/2902) - - [nwaku] PostgreSQL enhance retention policy: [bug: retention policy does not work when postgres db is over loaded](https://github.com/waku-org/nwaku/issues/2890) - - [nwaku] PostgreSQL enhance query performance [chore: improve postgres query performance](https://github.com/waku-org/nwaku/issues/2895) - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] [feat: flag to enable/disable missing message verification](https://github.com/status-im/status-go/pull/5497) - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [chat] added support for 2 lightpush peers to be used for better reliability [feat: support for lightpush to use more than 1 peer](https://github.com/waku-org/go-waku/pull/1158) - - [chat] fix metadata protocol from disconnecting light-clients and only use clusterID and accept connections from lightclients [fix: for light node do not check for matching shards but only clusterID](https://github.com/waku-org/go-waku/pull/1154) - - next: - - [nwaku] Little enhancement for network connectivity, use bootstrap enr's to connect to any kind of network and detect shardings - - [nwaku] Auto select service peers and use them randomly for testing on both sides. - - [nwaku] run lite-protocol-tester on shards.staging - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] started local sqlite registry implementation [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - - [chat] config to enable/disable storev3 confirmations for sent messages [feat: flag to enable/disable sent message store query confirmations](https://github.com/status-im/status-go/pull/5493) - - next: - - [nwaku] carry on with implementation [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [js-waku] improved renewal of peers for Filter [feat(filter): peer/subscription renewal with recurring Filter pings](https://github.com/waku-org/js-waku/pull/2052) - - [js-waku] check for missing messages from Filter subscriptions [feat: validate messages for individual filter nodes & perform renewals](https://github.com/waku-org/js-waku/pull/2057) - - [js-waku] peer renewal and keep alive improvements [feat: fix peer renewal, change Filter keep alive](https://github.com/waku-org/js-waku/pull/2065) - - next: - - [nwaku] Implementing: [feat: Enhance lightpush protocol error handling](https://github.com/waku-org/nwaku/issues/2722) - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] status messages need for e2e reliability collected - - [chat] [fix_: delivered message should not send envelope sent signal](https://github.com/status-im/status-go/pull/5502) - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] implemented ACK handling, request missing messages, resend message - - next: - - [research] comprehensive tests for the poc - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [research] review of discv5 both spec and nim implementation - - [research] compiled audit of discovery status quo and potential future strategies - - [nwaku] Creating versions for DST team to test discv5 and message reliability - - [nwaku] Proposing new solution to log received message info from nim-libp2p. Created custom version for DST team to use [chore: creating branch to test Waku's received messages](https://github.com/vacp2p/nim-libp2p/pull/1128) - - [nwaku] Started investigating and implementing improvements for connection management of bootstrap only nodes [bug: Node accepts connections when configured for just discovery](https://github.com/waku-org/nwaku/issues/2892) - - [nwaku] Improved logging [chore: improving logging under debugDiscv5 flag](https://github.com/waku-org/nwaku/pull/2899), [chore: logging content topic of spam messages](https://github.com/waku-org/nwaku/pull/2906) - - [nwaku] Investigated at depth discv5’s implementation [bug: discv5 not returning enough peers](https://github.com/waku-org/nwaku/issues/2810) - - next: - - [research] review other discovery methods and state of implementation in nim - - [research] review metrics collected and add more if needed - - [research] implement identified discv5 improvement strategies - - [nwaku] Get feedback on nim-libp2p’s logging solution - - [nwaku] Refactor code now that named shading is removed, and deprecate pubsub-topic configuration - - [nwaku] Continue discussing and analyzing discv5's performance and possible improvements - -## Other Work - -### Enhancements - -- achieved: - - [chat] [chore: rename shards.staging to status.staging](https://github.com/status-im/status-go/pull/5500) - - [chat] [chore: rename shards.staging to status.staging](https://github.com/status-im/status-desktop/pull/15510) - - [chat] [chore: bump go-libp2p](https://github.com/waku-org/go-waku/pull/1155) - - [chat] enable metadata protocol regardless of cluster-ID used - - [js-waku] [chore: enforce access modifiers](https://github.com/waku-org/js-waku/pull/2068) - - [js-waku] [chore: bump @waku peer dependencies](https://github.com/waku-org/js-waku/pull/2062) - - [js-waku] improve network options handling [chore: throw if more than one network config is passed](https://github.com/waku-org/js-waku/pull/2056) -- next: - - [nwaku] deploy release v0.31.0 [Prepare release 0.31.0](https://github.com/waku-org/nwaku/issues/2909) - -### Bugs - -- achieved: - - [chat] investigation of slowness to retrieve messages in storenode message counter - - [nwaku] Build nwaku image for Windows - [feature: support Windows 11](https://github.com/waku-org/nwaku/issues/2473) -- next: - - [nwaku] Manage stale peers dynamically with better reliability [fix: peer-exchange issue](https://github.com/waku-org/nwaku/pull/2889#event-13503654152) - - [nwaku] [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875) diff --git a/content/waku/updates/2024-07-29.md b/content/waku/updates/2024-07-29.md deleted file mode 100644 index 69bddb4bb..000000000 --- a/content/waku/updates/2024-07-29.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: 2024-07-29 Waku Weekly -tags: - - waku-updates -date: 2024-07-29 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] completed first draft of storev3 benchmark test plan - - next: - - [research] implementing test tools, finalising test plan - - blockers: - - [research] not clear on HW setup on which benchmarking should be done - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [research] last online timestamp periodically saved to new sqlite db, store client query for last messages, tests - - next: - - [research] reviews, hand-off to nwaku team for merging - -- [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - - achieved: - - [nwaku] [Node Bandwidth Management Features](https://github.com/waku-org/pm/issues/117) - - [nwaku] [Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - - [nwaku] Separate add distinction between gross/net inbound traffic of shards. [chore: Distinction between gross/net trafic in bandwidth per shard metric](https://github.com/waku-org/nwaku/pull/2920) - - next: - - [nwaku] dogfooding - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] Improved Sonda's Grafana dashboard [chore: show relative metrics instead of absolute in Sonda](https://github.com/waku-org/nwaku/issues/2904) - - [nwaku] Improved Sonda's logging [chore: including UTC time in Sonda logs](https://github.com/waku-org/nwaku/pull/2926) - - [nwaku] Analysed that messages_lookup is a good approach [chore: improve postgres query performance](https://github.com/waku-org/nwaku/issues/2895) - - next: - - [nwaku] Implement messages_lookup to enhance hashes-only queries [chore: improve postgres query performance](https://github.com/waku-org/nwaku/issues/2895) - - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] [Rate limit message publishing](https://github.com/status-im/status-go/pull/5523) - - [chat] [Disconnect all peers if ping to randomly choosen peers fails twice](https://github.com/status-im/status-go/pull/5526), [chore: disconnect on subsequent ping failures](https://github.com/waku-org/go-waku/pull/1164) - - [chat] improve lightclient connectivity by publishing their shard info in metadata [fix: lightclient enr shards](https://github.com/status-im/status-go/pull/5519) and [fix: check for lightclient only if req doesn't contain shards](https://github.com/waku-org/go-waku/pull/1161) - - [chat] [record connection failures for req/resp protocols](https://github.com/waku-org/go-waku/pull/1163) - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [chat] [Lightpush and Filter bandwidth metrics](https://github.com/status-im/status-go/pull/5547), [feat: store filter and lightpush stats](https://github.com/status-im/telemetry/pull/30) - - [nwaku] Little enhancement for network connectivity, use bootstrap enr's to connect to any kind of network and detect shardings - - [nwaku] Auto-select service peers and use them randomly for testing on both sides. - - [nwaku] Run lite-protocol-tester on shards.staging - -- [Telemetry: direct message reliability](https://github.com/waku-org/pm/issues/182) - - achieved: - - [chat] Fix concurrent RW on map in telemetry server: [fix: concurrent rw on map](https://github.com/status-im/telemetry/pull/31) - - [chat] Improve storednode message counter dashboard: [storenode-message-counter](https://grafana.infra.status.im/d/hmX6pJ_Iz/storenode-message-counter?orgId=1) - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - next: - - [nwaku] ongoing implementation in nwaku: [feat: Enhance lightpush protocol error handling](https://github.com/waku-org/nwaku/issues/2722) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [chat] [lightclient error handling](https://github.com/waku-org/go-waku/pull/1160) - - [js-waku] health state of nodes [feat: node and protocols health](https://github.com/waku-org/js-waku/pull/2080) - - [js-waku] improve continuous peer discovery [feat(peer-exchange): support continuous peer information updates](https://github.com/waku-org/js-waku/pull/2088) - - next: - - [js-waku] complete review for health state of node and continuous peer discovery - -- [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - - achieved: - - [js-waku] dogfooding app is up and running https://lab.waku.org/dogfooding/ - - next: - - [js-waku] need to fix HTTP headers on the serving site, build basic dashboard - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] added comprehensive tests for the e2e reliability POC - - next: - - [research] fixes arising from tests, some cleanup and prepare for dogfooding - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [research] adding metrics, manual testing - - [nwaku] Creating versions for DST team to test discv5 and message reliability - - [nwaku] improved nim-libp2p PR with custom logging observer [chore: creating branch to test Waku's received messages](https://github.com/vacp2p/nim-libp2p/pull/1128) - - [nwaku] Opened issue and investigated the phenomenon of some nodes getting stuck and missing messages in DST simulations [bug: node getting stuck and missing messages](https://github.com/waku-org/nwaku/issues/2921) - - next: - - [nwaku] Continue with the implementation of the bootstrap nodes connection limiting - - [nwaku] Refactor code now that named shading is removed, and deprecate pubsub-topic configuration - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] Revised nwaku nodes' logging and moved added PRs in nwaku and nim-libp2p to downgrade particularly spammy logs [chore: reduce loglevel to some too frequent or unnecessary logs](https://github.com/waku-org/nwaku/issues/2907) - - [nwaku] Added a CI job verifying that new code is properly linted [chore: adding lint job to the CI](https://github.com/waku-org/nwaku/pull/2925) - - [nwaku] Started going over failed interop tests [bug: nwaku <> js-waku interop tests failing](https://github.com/waku-org/nwaku/issues/2621) - - [nwaku] Release candidate v0.31.0 looks nice from Status-QA PoV [Prepare release 0.31.0](https://github.com/waku-org/nwaku/issues/2909) - - [nwaku] Have the interop tests fixed and a working CI - - [nwaku] Little enhancement on tooling, now single file build/test-run available right from make - - [js-waku] better linting for classes [chore: enforce access modifiers](https://github.com/waku-org/js-waku/pull/2068) - - [js-waku] fix peer exchange tests [chore(peer-exchange): use an event listener to gauge if the service is mounted](https://github.com/waku-org/js-waku/pull/2071) - - [js-waku] remove a bit of tech debt [chore: remove content_topic specific API](https://github.com/waku-org/js-waku/pull/2081) -- next: - - [nwaku] Perform release v0.31.0 - - [js-waku] Release - -### Bugs - -- achieved: - - [nwaku] [bug: RLN_RELAY_MSG_LIMIT handling](https://github.com/waku-org/nwaku/issues/2822) - - [nwaku] [feature: support Windows 11](https://github.com/waku-org/nwaku/issues/2473) made little progress on this it’s ongoing. - - [nwaku] [bug: peer exchange returns nodes that no longer exist](https://github.com/waku-org/nwaku/issues/2414) -- next: - - [nwaku] [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875) - - [nwaku] building test-peer exchange app on top of the network to analyze peer-exchange behaviour again cache refresh rate. diff --git a/content/waku/updates/2024-08-05.md b/content/waku/updates/2024-08-05.md deleted file mode 100644 index 7fee4bda8..000000000 --- a/content/waku/updates/2024-08-05.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: 2024-08-05 Waku Weekly -tags: - - waku-updates -date: 2024-08-05 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] implemented basic testing tools for storev3 benchmarking - - next: - - [research] run some tests against status.prod to get an idea of query times and bottlenecks, expand testing from there - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [research] store resume PR updates - - next: - - [research] merge store resume PR - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] Simplification of store legacy code to prevent wrong partition creation - [chore: Simplification of store legacy code](https://github.com/waku-org/nwaku/pull/2931) - - [nwaku] Validate the need for bigger database servers because they were swapping too much - - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Telemetry: direct message reliability](https://github.com/waku-org/pm/issues/182) - - achieved: - - [chat] report peer id and number of connection failures to telemetry [feat(telemetry)_: send connection failure metric](https://github.com/status-im/status-go/pull/5518), [feat: handle metric for peer connection failure](https://github.com/status-im/telemetry/pull/27) - - next: - - [chat] update dial function in go-waku to propagate dial failures to status-go - - blockers: - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] Simplify implementation and start using callbacks for API clients [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [js-waku] validating filter messages, and performing renewals [feat: validate messages for individual filter nodes & perform renewals](https://github.com/waku-org/js-waku/pull/2057) - - [js-waku] health metric for node and protocols: [feat: node and protocols health](https://github.com/waku-org/js-waku/pull/2080) - - next: - - [nwaku] ongoing implementation [feat: Enhance lightpush protocol error handling](https://github.com/waku-org/nwaku/issues/2722) - - [js-waku] message send retries for lightpush: [feat(lightpush): add retries to failing peers](https://github.com/waku-org/js-waku/issues/2069) - - blockers: - - [js-waku] store v3 blocked by nwaku 0.32 release: [feat!: store v3](https://github.com/waku-org/js-waku/pull/2036) - -- [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - - achieved: - - [js-waku] add light push error metric and generic metric to dogfooding app [feat: add light push error and generic waku metric](https://github.com/status-im/telemetry/pull/33), [feat: record light push errors in dogfooding](https://github.com/waku-org/lab.waku.org/pull/79) - - next: - - [js-waku] remove metric from queue on duplicate key error [dogfooding: remove metric from queue on duplicate key error](https://github.com/waku-org/lab.waku.org/issues/82) - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] bump mvds for clearing old states [chore_: bump mvds](https://github.com/status-im/status-go/pull/5623) - - next: - - [chat] move message hash query for outgoing messages to go-waku - - [chat] continue the request to join community test - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] Investigated [bug: node getting stuck and missing messages](https://github.com/waku-org/nwaku/issues/2921). Created images for DST team to run and analyzed the resulting logs - - [research] added new metric and grafana dashboard focused on discovery, PR adding cluster filtering to Waku peer exchange - - next: - - [nwaku] Continue investigating the issue, now trying to understand how async futures are handled by the dispatcher - - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/35) - -- [Provision RLN for light push clients PoC](https://github.com/waku-org/pm/issues/206) - - next: - - [research] Investigate how to use Paymasters aka gasless transactions for users, paid by a smart contract. Goal, PoC with go-waku-light - -### [Milestone - Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - -- [Usage of Rendezvous](https://github.com/waku-org/pm/issues/199) - - next: - - [research] rendez-vous discovery - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] Fixed failing js-waku interop tests and got CI to work again [chore: changing default pubsub topic to its static sharding version](https://github.com/waku-org/js-waku/pull/2083) - - [nwaku] Improving docs [chore: updating doc reference to https rpc](https://github.com/waku-org/nwaku/pull/2937), [switching RPC provider instructions from websocket to https](https://github.com/waku-org/docs.waku.org/pull/205), [updating readme](https://github.com/waku-org/nwaku-compose/pull/109) - - [nwaku] Bumped dependency for gcc 14 support [chore: bumping nim-bearssl](https://github.com/waku-org/nwaku/pull/2936) - - [nwaku] Deploy v0.31.0 in waku.prod and status.prod - - [chat] [refactor: move rate limiter and priority queue from status-go to API package](https://github.com/waku-org/go-waku/pull/1171) - - [chat] [refactor: move missing messages logic from status-go to go-waku](https://github.com/waku-org/go-waku/pull/1174), [](https://github.com/status-im/status-go/pull/5638) - - [chat] remove unused code from wakuv2 [refactor: extract missing messages logic to go-waku](https://github.com/status-im/status-go/pull/5651) -- next: - - [js-waku] peers used by different protocols to be different from one-another to increase footprint: [feat: peer selection for protocols](https://github.com/waku-org/js-waku/issues/2074) - - [js-waku] filter API to be simple (reliability user story): [feat: use decoder as a seed for subscription](https://github.com/waku-org/js-waku/issues/2034) - - -### Bugs - -- achieved: - - [nwaku] building testing tools to analyze peer-exchange protocol and its behavior [test: peer exchange testing tool](https://github.com/waku-org/nwaku/pull/2940) - - [js-waku] continuous discovery updates for node information [chore(peer-exchange): support updates of previously discovered peer's addresses](https://github.com/waku-org/js-waku/issues/2051) - - [chat] fix: missing wakuv2 fields in createAccountRequest toJson func [fix: missing wakuv2 fields in createAccountRequest toJson func](https://github.com/status-im/status-desktop/pull/15876) - - [chat] [fix: storenode multiaddresses](https://github.com/status-im/status-go/pull/5630) - - [chat] [fix: handle scenario where the node's ENR has no shard (due to shard update)](https://github.com/waku-org/go-waku/pull/1176) -- next: - - [nwaku] [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875) - - [chat] verify missing messages to determine if storenode sync was executed diff --git a/content/waku/updates/2024-08-12.md b/content/waku/updates/2024-08-12.md deleted file mode 100644 index dfcfa9434..000000000 --- a/content/waku/updates/2024-08-12.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: 2024-08-12 Waku Weekly -tags: - - waku-updates -date: 2024-08-12 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [js-waku] [feat!: store v3](https://github.com/waku-org/js-waku/pull/2036) - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] PR almost merged with optimizations in messageHash queries through lookup table [chore: Optimize hash queries with lookup table](https://github.com/waku-org/nwaku/pull/2933) - - [nwaku] submitted PR in infra-status to fine-tune the Postgres settings after having increased the hw specs [store-db add more appropriate db settings for current db hw](https://github.com/status-im/infra-status/pull/37) - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [nwaku] PR review WIP to add Waku Sync [feat: Nwaku Sync](https://github.com/waku-org/nwaku/pull/2403) - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [nwaku] Started using liteprotocoltester tool to send lightpush msgs from a node located in Frankfurt and receiving through waku-filter in a node located in Sydney. Both are connected to one node in status.prod fleet. - - [nwaku] liteprotocoltester tool helped to discover duplicated messages problem - - next: - - [nwaku] carry on with duplicated messages issue - -- [Telemetry: direct message reliability](https://github.com/waku-org/pm/issues/182) - - achieved: - - [chat] report peer id and number of connection failures to telemetry [feat(telemetry)_: send connection failure metric](https://github.com/status-im/status-go/pull/5518), [feat: handle metric for peer connection failure](https://github.com/status-im/telemetry/pull/27) - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] Development of subscription awareness for delivery_monitor module [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [nwaku] ongoing implementation in nwaku [feat: Enhance lightpush protocol error handling](https://github.com/waku-org/nwaku/issues/2722) - - [js-waku] filter API refactor for ease and DX: [feat(filter)!: new simpler filter API](https://github.com/waku-org/js-waku/pull/2092) - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] bump mvds for clearing old states [chore_: bump mvds](https://github.com/status-im/status-go/pull/5623) - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] peer retrieval of missing messages, reconnect capability for tests, conflict resolution; and raised a final PR for POC - - next: - - [research] address review comments, dogfooding - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] Continued investigating [bug: node getting stuck and missing messages](https://github.com/waku-org/nwaku/issues/2921) - - [nwaku] Found “Futures” leak in `yamux` and confirmed that it doesn’t happen on `mplex`. Opened an issue in `nim-libp2p` [bug: yamux Futures leak](https://github.com/vacp2p/nim-libp2p/issues/1165) and a PR in `nwaku` switching back to `mplex` [chore: using mplex instead of yamux](https://github.com/waku-org/nwaku/pull/2958) - - [nwaku] Got feedback from `Nimbus` and new potential ways to debug [bug: node getting stuck and missing messages](https://github.com/waku-org/nwaku/issues/2921) - - [nwaku] Completed [bug: Node accepts connections when configured for just discovery](https://github.com/waku-org/nwaku/issues/2892), optimizing the connection management of discv5-only nodes - - [research] libp2p rendezvous wrapper impl. at the waku layer - - next: - - [nwaku] Try the recommended debugging techniques - - [research] namespace definition, discovery strategy - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] raw spec PR for RLN contract mainnet deployment: [Add WAKU2-RLN-CONTRACT spec for mainnet deployment](https://github.com/waku-org/specs/pull/30/) - - next: - - [research] continue the discussion around the PR, finalize the initial version of the spec - -- [Pay for RLN provision first PoC](https://github.com/waku-org/pm/issues/207) - - achieved: - - [research] PoC with a paymaster in zksync, written in golang - - next: - - [research] continue work with paymaster to sponsor tx fees in zksync - - blockers: - - [research] lots of issues deploying rln to zksync - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] upgraded the peer exchange mounting procedure - chore: upgrade peer exchange mounting](https://github.com/waku-org/nwaku/pull/2953) - - [nwaku] Successfully reproduced the PR exchange issue - [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875) - - [nwaku] Made progress on testing tools - [test: peer exchange testing tool](https://github.com/waku-org/nwaku/pull/2940) - - [chat] refactor: move rate limiter and priority queue from status-go to API package [refactor: move rate limiter and priority queue from status-go to api package](https://github.com/waku-org/go-waku/pull/1171) - - [chat] [refactor: move missing messages logic from status-go to go-waku](https://github.com/waku-org/go-waku/pull/1174), [refactor: extract missing messages logic to go-waku](https://github.com/status-im/status-go/pull/5638) - - [chat] [refactor: remove unused code from wakuv2](https://github.com/status-im/status-go/pull/5651) -- next: - - [nwaku] Resolve the PR exchange issue [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875) - - [nwaku] Complete peer exchange testing tools [test: peer exchange testing tool](https://github.com/waku-org/nwaku/pull/2940) - -### Bugs - -- achieved: - - [nwaku] [fix: missing wakuv2 fields in createAccountRequest toJson func](https://github.com/status-im/status-desktop/pull/15876) - - [chat] [fix: storenode multiaddresses](https://github.com/status-im/status-go/pull/5630) - - [chat] [fix: handle scenario where the node's ENR has no shard (due to shard update)](https://github.com/waku-org/go-waku/pull/1176) diff --git a/content/waku/updates/2024-08-19.md b/content/waku/updates/2024-08-19.md deleted file mode 100644 index 11729884e..000000000 --- a/content/waku/updates/2024-08-19.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: 2024-08-19 Waku Weekly -tags: - - waku-updates -date: 2024-08-19 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] Refined testing tools and query criteria for benchmark tests - - [research] Obtained insightful data from store queries on the status.prod system - - next: - - [research] run some more queries and discuss findings - - [research] run benchmark tests on isolated system and summarise findings - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [nwaku] PR merged to add Waku Sync [Nwaku Sync](https://github.com/waku-org/nwaku/pull/2403) - - next: - - [nwaku] Deploy an image with Waku Sync into status.staging to start the dogfooding - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] Deployed a version in status.prod with hash query optimized [Optimize hash queries with lookup table](https://github.com/waku-org/nwaku/pull/2933) - - [nwaku] Endurance of partition deletion [faster retention policy when error and use of detach finalize when needed](https://github.com/waku-org/nwaku/pull/2966) - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] [limit the maximum number of message hashes by query hash](https://github.com/status-im/status-go/pull/5688) - - [chat] [limit the maximum number of message hashes to request per query](https://github.com/waku-org/go-waku/pull/1190) - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] Almost completed implementation for filter [enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - - next: - - [nwaku] Carry on with filter and lightpush reliability-store awareness - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] PR approved and addressed review comments. POC dogfooding in progress. Identified and fixed a certain deadlock issue with new node joining the network. - - next: - - [research] share dogfooding doc, start exploring status-go for API spec - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] Tested different profilers to help us find the root cause of [node getting stuck and missing messages](https://github.com/waku-org/nwaku/issues/2921) - - [nwaku] Supported `nim-libp2p` team with [yamux Futures leak](https://github.com/vacp2p/nim-libp2p/issues/1165) - - next: - - [nwaku] analyze results after DST runs their simulations with profiling tools - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] RLN contract mainnet spec ready for review [Add WAKU2-RLN-CONTRACT spec for mainnet deployment](https://github.com/waku-org/specs/pull/30/) - - next: - - [research] continue the discussion around the PR, present at Status-Waku and Tokenomics calls - -## [Milestone - Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - -- [Usage of Rendezvous](https://github.com/waku-org/pm/issues/199) - - achieved: - - [research] namespace, wrapper update - - next: - - [research] waku rendezvous spec - - blockers: - - [research] libp2p rendezvous limit what can be done at waku layer - -## Other Work - -### Enhancements - -- achieved: - - [chat] [move outgoing message check from status-go to go-waku](https://github.com/waku-org/go-waku/pull/1180), [extract message hash query for outgoing messages to go-waku](https://github.com/status-im/status-go/pull/5652) - - [chat] add sender api for publish messages with additional check [chore: refactor sender api](https://github.com/waku-org/go-waku/pull/1187) - - [chat] [move filter manager from status-go to go-waku](https://github.com/waku-org/go-waku/pull/1177), [move filter mgr to go-waku](https://github.com/status-im/status-go/pull/5653) - - [chat] rebase gossipsub from libp2p [update rebased gossipsub from libp2p](https://github.com/waku-org/go-waku/pull/1185), [rebase from libp2p](https://github.com/waku-org/go-libp2p-pubsub/pull/2) - - [chat] chore: bump go-waku on status-go release branch to fix crashes: [bump go-waku](https://github.com/status-im/status-go/pull/5660) - - [chat] refactor: remove status-im/rendezvous refactor: remove status-im/rendezvous - - [nwaku] reviewed `max-relay-peers` configuration, added and tested a fix improving the connection management [pruning excess in relay connections](https://github.com/waku-org/nwaku/pull/2965) and closed [review max-relay-peers config attribute in wakunode2](https://github.com/waku-org/nwaku/issues/2929) - - [nwaku] updated dependencies for release `v0.32.0` - - [nwaku] Building a functional application to analyze the peer_exchange protocol on a remote node. - - [nwaku] Encountered issues with [switch ↔ node] connections, so transitioning to a [node ↔ node] setup for the same functionality (learning point.) -- next: - - [nwaku] Resolve the PR exchange issue. [failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875) - -### Bugs - -- achieved: - - [chat] fix issue that causes log flooding in mobile where DNS is not resolvable [add ticker to check peers and update connection status](https://github.com/status-im/status-go/pull/5682), [add ticker to check peers and update connection status](https://github.com/status-im/status-go/pull/5689) - - [chat] fix for crash wrt peer count [use corrected connected peer count and add check to avoid crash](https://github.com/waku-org/go-waku/pull/1182) - - [chat] ping interval related fixes [ping interval fixes](https://github.com/waku-org/go-waku/pull/1188), [ping interval](https://github.com/waku-org/go-waku/pull/1186) - - [chat] fix proper reporting of connection change to filter manager [reporting connection change to filter manager](https://github.com/status-im/status-go/pull/5675) - - [chat] [return on insert error](https://github.com/waku-org/nwaku/pull/2956) - - [chat] [fix: panic on MessageQueue.Push](https://github.com/status-im/status-go/pull/5662), [keep channels open](https://github.com/waku-org/go-waku/pull/1183) - - [chat] fix: memory leak while waiting for storenode available signal [tmp remove subscription to mailserver available signal to avoid mem leak](https://github.com/status-im/status-go/pull/5684), [wait for mailserver available signal to change missing messages criteria](https://github.com/status-im/status-go/pull/5686) - - [nwaku] bug cleaning: discussed action items and started implementing them for [RLNv2 in dynamic mode imposed rate limit after the first message while](https://github.com/waku-org/nwaku/issues/2949) and [RLNv2 rate limit imposed sooner than expected](https://github.com/waku-org/nwaku/issues/2946) diff --git a/content/waku/updates/2024-08-26.md b/content/waku/updates/2024-08-26.md deleted file mode 100644 index 6c8ef8eac..000000000 --- a/content/waku/updates/2024-08-26.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: 2024-08-26 Waku Weekly -tags: - - waku-updates -date: 2024-08-26 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] run benchmark tests on isolated store DB - - next: - - [research] summarise findings - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] Run “ANALYZE messages” more regularly [chore: ANALYZE messages query should be performed regularly](https://github.com/waku-org/nwaku/pull/2986) - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] new PR with reliability approach [chore: delivery monitor for store v3 reliability protocol](https://github.com/waku-org/nwaku/pull/2977) - - [chat] create sender api for publishing messages and sent check [chore: refactor sender api](https://github.com/waku-org/go-waku/pull/1187) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [js-waku] Filter API improvements [feat(filter)!: new simpler filter API](https://github.com/waku-org/js-waku/pull/2092) - - [js-waku] browser network state handling leftover [feat: offline state recovery for Filter subscription](https://github.com/waku-org/js-waku/pull/2049) - - next: - - [js-waku] in progress on fixes for filter subscriptions [bug: filter sdk does not dial newly added peers](https://github.com/waku-org/js-waku/issues/2079) - - [js-waku] in progress on improvements for peer selection [feat: peer selection for protocols](https://github.com/waku-org/js-waku/issues/2074) - - [js-waku] in progress on missing messages verification [feat: message verification and retry](https://github.com/waku-org/js-waku/issues/2075) - - blockers: - - [js-waku] light push improvements, waiting for nwaku [feat: migrate to latest LightPush version](https://github.com/waku-org/js-waku/issues/2054) - -- [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - - achieved: - - [js-waku] debugged and minor fixes, collected data - - next: - - [js-waku] setup basic dashboards - - [js-waku] improve data collection - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] spec mvds usage in status [feat: status mvds usage](https://github.com/vacp2p/rfc-index/pull/87) - - [chat] mvds usage in request to join community message [feat_: request to join community message use mvds](https://github.com/status-im/status-go/pull/5723) - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] merged and launched e2e reliability POC dogfooding - - next: - - [research] document and address POC dogfooding findings, start planning for Status integration - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] Renamed `NsPubsubTopic` to `RelayShard` as a step towards switching from pubsub topics to shards [chore: rename NsPubsubTopic](https://github.com/waku-org/nwaku/pull/2974) - - [nwaku] Deprecated protected topics and added the feature of protected shards as a replacement [chore: deprecating protected topics in favor of protected shards](https://github.com/waku-org/nwaku/pull/2983) - - [chat] shard aware peer store pruning [feat: shard aware pruning of peer store](https://github.com/waku-org/go-waku/pull/1193) - - [chat] filter peer exchange peers served [feat: shard based filtering in peer exchange](https://github.com/waku-org/go-waku/pull/1194) - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] RLN contract mainnet spec merged [Add WAKU2-RLN-CONTRACT spec for mainnet deployment](https://github.com/waku-org/specs/pull/30/) - - next: - - [research] draft Vac research forum post on implementation steps for incentivization; discuss RLN mainnet contract development to iterate on the spec - -- [Provision RLN for light push clients PoC](https://github.com/waku-org/pm/issues/206) - - achieved: - - [research] go-waku-light now integrated end to end with TWN: [Update TWN Sepolia contract + chat](https://github.com/alrevuelta/go-waku-light/pull/19) - - next: - - [research] Start planning rlnv2 itegration in 1on1 chats - -## Other Work - -### Enhancements - -- achieved: - - [js-waku] make static and auto sharding default [feat!: deprecate named pubsub topics and use static/auto sharding](https://github.com/waku-org/js-waku/pull/2097) - - [js-waku] improve timestamp compatibility [chore(message-hash): use timestamp in nanoseconds instead of milliseconds](https://github.com/waku-org/js-waku/pull/2094) - - [js-waku] working on unit test coverage for core implementation [feat: unit testing @waku/core](https://github.com/waku-org/js-waku/issues/2077) - - [nwaku] Fixed duplicate logging key bug [fix: avoid using the msg key in chronicles](https://github.com/waku-org/nwaku/pull/2970) - - [nwaku] Updated dependencies for release v0.32.0 [chore: updating dependencies for release 0.32.0](https://github.com/waku-org/nwaku/pull/2971) - - [nwaku] Improved logging needed for DST simulations by using the new nim-libp2p feature of onValidated observers [chore: logging received message info via onValidated observer](https://github.com/waku-org/nwaku/pull/2973) - - [nwaku] libwaku retrieves ENR [chore: libwaku retrieve my enr and adapt golang example](https://github.com/waku-org/nwaku/pull/2987) - -### Bugs - -- achieved: - - [chat] fix use UTC time in logs [chore: use utc time in logs to avoid user location getting disclosed](https://github.com/waku-org/go-waku/pull/1192) - - [chat] status-go: fix flaky waku2 test [chore: fix TestBasicWakuV2](https://github.com/status-im/status-go/pull/5718) \ No newline at end of file diff --git a/content/waku/updates/2024-09-02.md b/content/waku/updates/2024-09-02.md deleted file mode 100644 index d9a436ef8..000000000 --- a/content/waku/updates/2024-09-02.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: 2024-09-02 Waku Weekly -tags: - - waku-updates -date: 2024-09-02 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] Refined testing tools and query criteria for benchmark tests - - next: - - [research] run some more queries and discuss findings - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [nwaku] Submitted PRs to enable store-sync in fleets: [store node enable store-sync protocol](https://github.com/status-im/infra-status/pull/43), [node enable store-sync protocol](https://github.com/status-im/infra-waku/pull/22) - - next: - - [research/nwaku] start store-sync dogfood - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [research] executed more benchmark test scenarios - - next: - - [research] figure out why some test setups get bad response after 5s - - [research] write test report - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [nwalu] Grafana dashboard is available for monitoring test performance and message delivery issues: chore: add dashboard for liteprotocoltester runs [chore: Added metrics to liteprotocoltester](https://github.com/waku-org/nwaku/pull/3002) - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [nwaku] PR merged [chore: delivery monitor for store v3 reliability protocol](https://github.com/waku-org/nwaku/pull/2977) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [js-waku] implement missing messages monitor [feat(filter): reliability monitor as a separate class to handle reliability logic](https://github.com/waku-org/js-waku/pull/2117) - - [js-waku] match RFC with having 2 peers used [chore: change amount of used peers to 2](https://github.com/waku-org/js-waku/pull/2111) - - [js-waku] complete offline Filter recovery [feat: offline state recovery for Filter subscription](https://github.com/waku-org/js-waku/pull/2049) - - [js-waku] improve peer selection [feat: sort peers for protocol by least active connections](https://github.com/waku-org/js-waku/pull/2089) - - [js-waku] prioritize connected peers [chore: choose peers from the connected pool, instead of dialing unconnected peers](https://github.com/waku-org/js-waku/pull/2096) - - next: - - [js-waku] improve peer selection [feat: sort peers for protocol by least active connections](https://github.com/waku-org/js-waku/pull/2089) - - [js-waku] prioritize connected peers [chore: choose peers from the connected pool, instead of dialing unconnected peers](https://github.com/waku-org/js-waku/pull/2096) - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] spec mvds usage in status [feat: status mvds usage](https://github.com/vacp2p/rfc-index/pull/87) - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - next: - - [research] incorporate better logging and other suggestions from dogfooding for POC - -- [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194) - - achieved: - - [research] research on status-go to assess suitable approach for API with e2e reliability - - next: - - [research] start documenting findings for Status API - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] Implemented most of the pubsub topic config deprecation [chore: deprecating pubsub topic](https://github.com/waku-org/nwaku/pull/2997) - - [chat] shard aware peer store pruning [feat: shard aware pruning of peer store](https://github.com/waku-org/go-waku/pull/1193) - - [chat] filter peer exchange peers served [feat: shard based filtering in peer exchange](https://github.com/waku-org/go-waku/pull/1194) - - next: - - [nwaku] finish and merge [chore: deprecating pubsub topic](https://github.com/waku-org/nwaku/pull/2997) - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] first version of implementation roadmap for RLN on mainnet [RLN on mainnet - Implementation Roadmap](https://github.com/waku-org/waku-rlnv2-contract/issues/11) - - next: - - [research] discuss implementation roadmap - -- [Provision RLN for light push clients PoC](https://github.com/waku-org/pm/issues/206) - - achieved: - - [research] drafting forum post on service incentivization (WIP) - - next: - - [research] forum post work cont'd - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] Prepared and validated release candidate for `v0.32.0` - - [nwaku] Fixed bug importing Negentropy [fix: libnegentropy integration](https://github.com/waku-org/nwaku/pull/2996) which made fleet deployments fail - - [nwaku] Started nwaku integration in status-go. The nwaku node can run from within the status-cli (very initial phase.) - - [nwaku] Revisit nwaku for Windows 11 issue [feature: support Windows 11](https://github.com/waku-org/nwaku/issues/2473) - - [nwaku] Utilized peer exchange (PX) tools to analyze optimal refresh rates for PX response health update PR [fix: peer-exchange issue](https://github.com/waku-org/nwaku/pull/2889) - - [nwaku] litprotocoltester tool helped to discover duplicated messages problem - - [nwaku] Issue reproduced with the latest release in local simulation with liteprotocoltester and waku-sim: [bug: duplicate messages on the network](https://github.com/waku-org/nwaku/issues/2998) logs are gathered and started to analyze - - [nwaku] print WakuMessageHash as hex strings to make logs more readable [chore: print WakuMessageHash as hex strings](https://github.com/waku-org/nwaku/pull/2969) - - [chat] create sender api for publishing messages and sent check [chore: refactor sender api](https://github.com/waku-org/go-waku/pull/1187) - - [chat] remove satus.test fleet [chore_: remove status.test fleet](https://github.com/status-im/status-go/pull/5702) - - [chat] refactor - use concrete datatypes instead of string [refactor_: use concrete datatypes instead of string](https://github.com/status-im/status-go/pull/5701) - - [js-waku] improve devex by enabling insecure web sockets [chore: enable back filterAll if set by consumer](https://github.com/waku-org/js-waku/pull/2103) - - [js-waku] move to Node.js LTS [chore: upgrade node to LTS 20](https://github.com/waku-org/js-waku/pull/2110) - - [js-waku] return better error codes and improve error handling [feat(lightpush)!: return new error messages](https://github.com/waku-org/js-waku/pull/2115) -- next: - - [nwaku] Perform the release - - [nwaku] Carry on analyzing the logs to track the duplicate msg issues in light protocols. - -### Bugs - -- achieved: - - [chat] fix flaky waku2 test [chore: fix TestBasicWakuV2](https://github.com/status-im/status-go/pull/5718) - - [chat] fix use UTC time in logs [chore: use utc time in logs to avoid user location getting disclosed](https://github.com/waku-org/go-waku/pull/1192) - - [js-waku] fix imports that were crushing the node [fix: import of base_protocol and networkConfig type guard](https://github.com/waku-org/js-waku/pull/2109) diff --git a/content/waku/updates/2024-09-09.md b/content/waku/updates/2024-09-09.md deleted file mode 100644 index 6d1a80d90..000000000 --- a/content/waku/updates/2024-09-09.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: 2024-09-09 Waku Weekly -tags: - - waku-updates -date: 2024-09-09 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - - achieved: - - [research] Refined testing tools and query criteria for benchmark tests - - next: - - [research] run some more queries and discuss findings - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [research]: remove archive queries 100 hashes limit to allow bigger sync - - next: - - [research]: continue to monitor deployment in fleet, spec update - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [nwaku] Enhance libpq response management and new libp2p store metric [chore: enhance libpq management](https://github.com/waku-org/nwaku/pull/3015) - - [nwaku] started the implementation of new metrics to measure queries’ times [chore: create grafana panel to show max, min, mean, median stats of query times](https://github.com/waku-org/nwaku/issues/2995) - - [nwaku] investigate issue [chore: store queries for content topics take longer with cursor](https://github.com/waku-org/nwaku/issues/2963) - - [research] completed main benchmark test scenarios - - next: - - [research] write up of benchmark test findings - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - - achieved: - - [chat] bug: requesting always 24h from store node: [fix_: store query lastrequest](https://github.com/status-im/status-go/pull/5767) - -- [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - - achieved: - - [chat] go-waku: reduce filter loop to 300ms [fix_: reduce filter loop to 300ms](https://github.com/status-im/status-go/pull/5768) - -- [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - - achieved: - - [chat] fix empty subscription when publish message with relay, [fix: check subscription when relay publish message](https://github.com/waku-org/go-waku/pull/1212), [feat: join community request with mvds](https://github.com/status-im/status-mobile/pull/21125) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - achieved: - - [js-waku] fix missing messages from Filter and align with RFC [fix: filter missing messages](https://github.com/waku-org/js-waku/pull/2119) - - [js-waku] improve bootstrapping of the node [fix: improve node bootstrapping](https://github.com/waku-org/js-waku/pull/2121) - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] dogfooding community join request with mvds [feat: join community request with mvds](https://github.com/status-im/status-desktop/pull/16188) - - [chat] accept community join request with mvds [feat_: accept community join request with mvds](https://github.com/status-im/status-go/pull/5787) - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] POC - added better logging and other suggestions from dogfooding - -- [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194) - - achieved: - - [research]: started a post on sdk/library idea for status integration - - next: - - [research]: continue working on post, gather feedback and iterate - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research]: discussed RLN contract implementation, suggested spec improvements [Refinements of RLN on mainnet spec](https://github.com/waku-org/specs/pull/34) - -- [Provision RLN for light push clients PoC](https://github.com/waku-org/pm/issues/206) - - achieved: - - [research]: drafted a forum post on service incentivization - - next: - - [research]: finalize and discuss the forum post - -## [Milestone - Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - -- [Usage of Rendezvous](https://github.com/waku-org/pm/issues/199) - - achieved: - - [research]: modified nim-libp2p to allow waku rdv strategy, updated nwaku PR to reflect libp2p changes - - next: - - [research]: PR feedback and update cycle, spec update - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] Reproduction of gossip-level message duplication in stressed conditions. - - Succeed in reproducing and collecting logs from a controlled simulation env. - - Analysed logs to verify possible hypotheses. - - Re-run tests with different setup and configuration. - - [nwaku] NWaku in Windows - Successfully built the nim compiler in isolation with an automated system detail fetching process. - - [chat] go-waku: bump go-libp2p and go-libp2p-pubsub [chore: bump go-libp2p and go-libp2p-pubsub](https://github.com/waku-org/go-waku/pull/1208) - - [js-waku] [chore: release master](https://github.com/waku-org/js-waku/commit/a2c5dba32dbb04ca1b63bda4055b34680dbd6b5b), [chore: release master](https://github.com/waku-org/js-waku/commit/f9361bf77467bea95d5f305b20051460bfb89fa1) - - [js-waku] remove extra dependencies from sdk package [chore: remove relay from sdk package](https://github.com/waku-org/js-waku/pull/2040) -- next: - - [js-waku] work on improvements for release processes [chore: up release-please](https://github.com/waku-org/js-waku/pull/2125) - -### Bugs - -- achieved: - - [chat] status-go: retry dnsdisc on failure [](https://github.com/status-im/status-go/pull/5785) - - [chat] go-waku: stop creating goroutines if context is already canceled [fix: stop creating goroutines if context is already canceled](https://github.com/waku-org/go-waku/pull/1213) - - [js-waku] fix installation and remove broken dependencies [fix: temporarily remove peer cross dependencies](https://github.com/waku-org/js-waku/pull/2123) - -## BD: Demonstrate Product-Market Fit - -- achieved: - - Defined customer interview questions - - Had first rehearsal with a prospect where some of the questions were asked - - Invited first 3 projects to interview -- next: - - Enroll more projects into the Interviews+Codesign initiative - - Rework validation tracking board - -## BD: Acquire first 10 Customers - -- achieved: - - New project using Waku in the payments vertical, referred by a prospect -- next: - - another prospect call this week - - Prospecting in Singapore diff --git a/content/waku/updates/2024-09-16.md b/content/waku/updates/2024-09-16.md deleted file mode 100644 index edb0dbb50..000000000 --- a/content/waku/updates/2024-09-16.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: 2024-09-16 Waku Weekly -tags: - - waku-updates -date: 2024-09-16 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [research] Store Sync spec first draft - - next: - - [research] continue dogfooding Store Sync - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [research] Completed test report for Storev3 benchmark testing - - next: - - [research] Investigate some store query duration anomalies, test plan for store sync - -## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - -- [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - - next: - - [nwaku] Lightpush v2: ongoing implementation in nwaku and libp2p - -- [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - - achieved: - - [chat] dogfooding the community join response with mvds [feat_: accept community join request with mvds](https://github.com/status-im/status-go/pull/5787) - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - next: - - [research] organise sync dogfooding session for PoC - -- [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194) - - achieved: - - [research] finalized the API spec post for status-go integration - - next: - - [research] gather feedback on the API spec proposal - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [chat] fix issue of periodic peer disconnections [fix: use correct ticker for all peers ping](https://github.com/waku-org/go-waku/pull/1216) - - [chat] investigate message drop issue at gossipsub layer and validate possible fix [feat: increase outbound q size for pubsub](https://github.com/waku-org/go-waku/pull/1217) - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - - achieved: - - [chat] waku-rlnv2-contract: membership [feat: membership](https://github.com/waku-org/waku-rlnv2-contract/pull/13) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - next: - - [research] review memberships PR for RLN on mainnet (https://github.com/waku-org/waku-rlnv2-contract/pull/13) - -## [Milestone - Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - -- [Usage of Rendezvous](https://github.com/waku-org/pm/issues/199) - - next: - - [research] awaiting nim-lib2p PR review - -- [DoS protection for req-res protocols and metrics (go-waku as service node)](https://github.com/waku-org/pm/issues/200) - - achieved: - - [nwaku] dashboard for fleets are live - -## [Milestone: Nwaku in Status Desktop](https://github.com/waku-org/pm/milestone/33) - -- [Nwaku on Windows](https://github.com/waku-org/pm/issues/239) - - achieved: - - [nwaku] Added windows support for the `negentropy` submodule [chore: update makefile to give support major os](https://github.com/waku-org/negentropy/pull/8) - - [nwaku] will modify the `nimbus-build-system` to integrate Windows. - - [nwaku] Raised an initial PR to build `wakunode2` on Windows [feat: windows support](https://github.com/waku-org/nwaku/pull/3033) - - next: - - [nwaku] Continuing to work on additional builds, including libwaku and cwaku_example. - -## Milestone: Incentivise running a Waku infrastructure node - -- RLN Relay Incentivisation - Distribute RLN fees PoC - - achieved: - - [research] Draft proposal: [RLN Fees distribution to operators with root voting](https://github.com/waku-org/research/issues/101) - - next: - - [research] gather feedback and think about next steps. - -- Service Incentivisation - Pay for RLN provision PoC - - achieved: - - [research] finalized the blog post on service incentivization: [Incentivized Lightpush: A Roadmap to Waku Service Incentivization](https://forum.vac.dev/t/incentivized-lightpush-a-roadmap-to-waku-service-incentivization/322) - - next: - - [research] continue discussion around service incentivizaiton forum post; - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] [chore: use submodule nph in CI to check lint](https://github.com/waku-org/nwaku/pull/3027) - - [nwaku] [chore: lightpush - error metric less variable by only setting a fixed string](https://github.com/waku-org/nwaku/pull/3020) - - [nwaku] [fix: get back health check for postgres legacy](https://github.com/waku-org/nwaku/pull/3010) - -### Bugs - -- achieved: - - [chat] go-waku: make the envelope priority queue safe for concurrent access [fix: make the envelope priority queue safe for concurrent access](https://github.com/waku-org/go-waku/pull/1215) - - [chat] status-go: make mailserver availability subscriptions concurrency safe [fix: make mailserver availability subscriptions concurrency safe](https://github.com/status-im/status-go/pull/5804) diff --git a/content/waku/updates/2024-09-23.md b/content/waku/updates/2024-09-23.md deleted file mode 100644 index a6bec5f3a..000000000 --- a/content/waku/updates/2024-09-23.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: 2024-09-23 Waku Weekly -tags: - - waku-updates -date: 2024-09-23 ---- - -## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - -- [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - - achieved: - - [research] Waku sync 2.0 research post first draft. - - next: - - [research] Write a basic test plan for store sync - - [research] finalize Waku sync 2.0 research post - -- [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - - achieved: - - [research] Investigated some store query duration test cases - - [nwaku] Submitted PR - [chore: extending store metrics](https://github.com/waku-org/nwaku/pull/3042) - - next: - - [research] Run a few more tests and summarise the test results - -## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - -- [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - - achieved: - - [research] dogfooding session for POC - -- [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194) - - achieved: - - [research] published API spec proposal for status-go integration to Vac forum: [Vac API Specification for End-to-end Reliability](https://forum.vac.dev/t/api-specification-for-end-to-end-reliability/332/2) - - next: - - [research] discussion and iterate on API spec; detailed review of points of integration - -## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - -- [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - - achieved: - - [nwaku] made the connectivity loop interval dynamic depending on the current number of peers and targets [](https://github.com/waku-org/nwaku/pull/3036) - - [nwaku] investigated impact nodes advertised with localhost addresses [chore: don't propagate peers with 127.0.0.1 multiaddresses via Discv5](https://github.com/waku-org/nwaku/issues/3037) - - [nwaku] implemented feedback and merged pubsub topic deprecation [chore: deprecating pubsub topic](https://github.com/waku-org/nwaku/pull/2997) - -- [Enable testing of custom shard implementation for Communities](https://github.com/waku-org/pm/issues/196) - - achieved: - - [chat] add cli test with own shard community [feat: add the first community in own shard](https://github.com/status-im/status-cli-tests/pull/11) - -## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/34) - -- [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - - achieved: - - [chat] RLN Membership Contract - [feat: membership](https://github.com/waku-org/waku-rlnv2-contract/pull/13) - -- [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - - achieved: - - [research] review RLN on mainnet PR - -## [Milestone - Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - -- [Usage of Rendezvous](https://github.com/waku-org/pm/issues/199) - - blockers: - - [research] awaiting nim-libp2p PR review - -- [DoS protection for req-res protocols and metrics (go-waku as service node)](https://github.com/waku-org/pm/issues/200) - - achieved: - - [nwaku] PeerExchange protocol with rate limit check. - - [chore: rate limit peer exchange protocol, enhanced response status in RPC](https://github.com/waku-org/nwaku/pull/3035) - - Updated protocol - - New CLI for configure rate limiting. Allows fine tune rate limits to one needs. - - [nwaku] Deliverable is ready on nwaku. - -## [Milestone: Nwaku in Status Desktop](https://github.com/waku-org/pm/milestone/33) - -- [Nwaku in Status Desktop](https://github.com/waku-org/pm/issues/203) - - achieved: - - [nwaku] start working on it more actively [feat: nwaku in status-go (discv5 and dnsdiscovery)](https://github.com/waku-org/nwaku/issues/3039) - -- [Nwaku on Windows](https://github.com/waku-org/pm/issues/239) - - achieved: - - [nwaku] Worked on resolving external library linking issues. [feat: windows support](https://github.com/waku-org/nwaku/pull/3033) - - [nwaku] Started refactoring the peer manager. [Improvement: manage stale peer in peer_manager](https://github.com/waku-org/nwaku/issues/2905) - - next: - - [nwaku] Wrapping up Windows support with automation & then focusing on peer manager refactoring after that. - -## [Milestone: Incentivise running a Waku infrastructure node](https://github.com/waku-org/pm/milestone/35) - -- [RLN Relay Incentivisation - Distribute RLN fees PoC](https://github.com/waku-org/pm/issues/243) - - achieved: - - [research] Got feedback for the initial proposal: [RLN Fees distribution to operators with root voting](https://github.com/waku-org/research/issues/101) - - next: - - [research] Refine and explore open problems: challenge for lazy node, analyze if assumptios hold valid, consensus problem when no 2/3 are archieved, etc. - -- [Service Incentivisation - Pay for RLN provision PoC](https://github.com/waku-org/pm/issues/245) - - achieved: - - [research] discussed the Vac forum post on service incentivization - - next: - - [research] finalize forum post discussion; amend incentivization spec - -## [Milestone: Bandwidth optimization and protocol review](https://github.com/waku-org/pm/milestone/31) - -- [Status usage of Waku scaling and bandwidth optimization recommendation](https://github.com/waku-org/pm/issues/197) - - achieved: - - [chat] draft the spec about some bandwidth issues [feat: bandwidth optimize spec](https://github.com/waku-org/specs/pull/40) - -- [Review usage of content topics in Status Chat and Communities protocol](https://github.com/waku-org/pm/issues/198) - - achieved: - - [chat] analysis of current content-topic usage in status communities [Status Message Types - Content Topics](https://docs.google.com/spreadsheets/d/1tawYtwmpYmowlxk8IbqzfhJmxIP8CJfn4IoFnEuCIyo/edit?gid=0#gid=0) - -## Other Work - -### Enhancements - -- achieved: - - [nwaku] [bug: libnegentropy.so is missing during link or false linked](https://github.com/waku-org/nwaku/issues/3040) static linkage for libnegentropy - helps easier deployment [chore: Switch libnegentropy library build from shared to static linkage](https://github.com/waku-org/nwaku/pull/3041) - -### Maintenance - -- achieved: - - [nwaku] added version migration instructions to the docs [feat: add migration instructions](https://github.com/waku-org/docs.waku.org/pull/211) - - [nwaku] [chore: libwaku reduce repetitive code by adding a template handling resp returns](https://github.com/waku-org/nwaku/pull/3032) - -### Bugs - -- achieved: - - [nwaku] investigated failed interop tests and found solutions. Fixed config bug [fix: setting up node with modified config](https://github.com/waku-org/nwaku/pull/3036) - -## [Milestone: Demonstrate Product-Market Fit](https://github.com/waku-org/pm/milestone/36) - -- achieved: - - found new projects interested in interviewing and codesigning (see milestone 2) -- next: - - book interviews and enroll for codesign - -## [Milestone: Acquire first 10 Customers](https://github.com/waku-org/pm/milestone/37) - -- achieved: - - attended Singapore Blockchain Week (token2049): - - projects interested in partnering: - - Sports prediction market; - - private social protocol; - - Network state/pop up city; - - Intents protocols; - - Inbound leads have been coming to us on discord, a good sign despite marketing activity wind down; diff --git a/data/config.yaml b/data/config.yaml index 87e7627bf..e8fe4ba8b 100644 --- a/data/config.yaml +++ b/data/config.yaml @@ -1,4 +1,4 @@ -name: Logos Collective +name: Vac enableToc: true openToc: false enableLinkPreview: true @@ -11,15 +11,15 @@ enableFooter: true enableContextualBacklinks: true enableRecentNotes: false enableGitHubEdit: true -GitHubLink: https://github.com/logos-co/roadmap/tree/hugo/content +GitHubLink: https://github.com/vacp2p/roadmap/tree/master/content enableSemanticSearch: true operandApiKey: "e1ec9cdc-56d2-420e-a5bd-c6019af4be58" description: - Information on how the Logos Collective plans to build its products, what it has done so far, and how you can get involved. + Vac R&D Roadmap and Reports page_title: "Logos Collective Technical Roadmap and Activity" links: # - link_name: Twitter # link: https://twitter.com/_jzhao - link_name: Github - link: https://github.com/logos-co/roadmap + link: https://github.com/vacp2p/roadmap/tree/master/content diff --git a/package-lock.json b/package-lock.json index b3c62e4c0..9077c605e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -78,7 +78,7 @@ "@types/source-map-support": "^0.5.6", "@types/workerpool": "^6.4.0", "@types/ws": "^8.5.5", - "@types/yargs": "^17.0.24", + "@types/yargs": "^17.0.33", "esbuild": "0.19.2", "prettier": "^3.0.0", "tsx": "^3.12.7", @@ -1513,10 +1513,11 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } diff --git a/package.json b/package.json index 5f283e29e..066cae6b4 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@types/source-map-support": "^0.5.6", "@types/workerpool": "^6.4.0", "@types/ws": "^8.5.5", - "@types/yargs": "^17.0.24", + "@types/yargs": "^17.0.33", "esbuild": "0.19.2", "prettier": "^3.0.0", "tsx": "^3.12.7", diff --git a/quartz.config.ts b/quartz.config.ts index b0d27e4ef..99d3e7670 100644 --- a/quartz.config.ts +++ b/quartz.config.ts @@ -3,14 +3,14 @@ import * as Plugin from "./quartz/plugins" const config: QuartzConfig = { configuration: { - pageTitle: "Logos Collective Project Roadmaps", + pageTitle: "Vac R&D Roadmaps and Reports", enableSPA: true, enablePopovers: true, defaultDateType: "modified", analytics: { provider: "plausible", }, - baseUrl: "roadmap.logos.co", + baseUrl: "roadmap.vac.dev", ignorePatterns: ["private", "templates"], theme: { typography: { diff --git a/static/CNAME b/static/CNAME index 37d312365..905116deb 100644 --- a/static/CNAME +++ b/static/CNAME @@ -1 +1 @@ -roadmap.logos.co +roadmap.vac.dev