<html><head><title>2024-02-26 Vac weekly</title><metacharSet="utf-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><metaproperty="og:title"content="2024-02-26 Vac weekly"/><metaproperty="og:description"content="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."/><metaproperty="og:image"content="https://roadmap.logos.co/static/og-image.png"/><metaproperty="og:width"content="1200"/><metaproperty="og:height"content="675"/><linkrel="icon"href="../../static/icon.png"/><metaname="description"content="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."/><metaname="generator"content="Quartz"/><linkrel="preconnect"href="https://fonts.googleapis.com"/><linkrel="preconnect"href="https://fonts.gstatic.com"/><linkhref="../../index.css"rel="stylesheet"type="text/css"spa-preserve/><linkhref="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css"rel="stylesheet"type="text/css"spa-preserve/><linkhref="https://fonts.googleapis.com/css2?family=IBM Plex Mono&family=sans-serif:wght@400;700&family=sans-serif:ital,wght@0,400;0,600;1,400;1,600&display=swap"rel="stylesheet"type="text/css"spa-preserve/><scriptsrc="../../prescript.js"type="application/javascript"spa-preserve></script><scripttype="application/javascript"spa-preserve>constfetchData=fetch(`../../static/contentIndex.json`).then(data=>data.json())</script></head><bodydata-slug="vac/updates/2024-02-26"><divid="quartz-root"class="page"><divid="quartz-body"><divclass="left sidebar"><h1class="page-title "><ahref="../..">Logos Collective Project Roadmaps</a></h1><divclass="spacer mobile-only"></div><divclass="search "><divid="search-icon"><p>Search</p><div></div><svgtabIndex="0"aria-labelledby="title desc"role="img"xmlns="http://www.w3.org/2000/svg"viewBox="0 0 19.9 19.7"><titleid="title">Search</title><descid="desc">Search</desc><gclass="search-path"fill="none"><pathstroke-linecap="square"d="M18.5 18.3l-5.4-5.4"></path><circlecx="8"cy="8"r="7"></circle></g></svg></div><divid="search-container"><divid="search-space"><inputautocomplete="off"id="search-bar"name="search"type="text"aria-label="Search for something"placeholder="Search for something"/><divid="results-container"></div></div></div></div><divclass="darkmode "><inputclass="toggle"id="darkmode-toggle"type="checkbox"tabIndex="-1"/><labelid="toggle-label-light"for="darkmode-toggle"tabIndex="-1"><svgxmlns="http://www.w3.org/2000/svg"xmlnsXlink="http://www.w3.org/1999/xlink"version="1.1"id="dayIcon"x="0px"y="0px"viewBox="0 0 35 35"style="enable-background:new 0 0 35 35;"xmlSpace="preserve"><title>Light mode</title><pathd="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5zM7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26zM17.5,6C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6zM27.5,9c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9
<li>On nwaku a ping connection opened wasn’t closed</li>
<li>On yamux the timeout wasn’t implemented</li>
</ul>
</li>
<li>The implementation + testing of the implementation showed a sneaky bug (fixed)</li>
</ul>
</li>
</ul>
</li>
<li><code>nimlibp2p:vac:webrtc-transport</code>
<ul>
<li>Merged the DataChannel giant PR <ahref="https://github.com/status-im/nim-webrtc/pull/4"class="external">https://github.com/status-im/nim-webrtc/pull/4</a></li>
<li>Maintenance on nim-mbedtls <ahref="https://github.com/status-im/nim-mbedtls/"class="external">https://github.com/status-im/nim-mbedtls/</a></li>
<li>Debugging some issues with the interaction between the clients parts of dtls and sctp <ahref="https://github.com/status-im/nim-webrtc/pull/5"class="external">https://github.com/status-im/nim-webrtc/pull/5</a></li>
<li>Tested and found issues with PR and possibly more that already exist - <ahref="https://github.com/status-im/nim-libp2p/pull/1015"class="external">https://github.com/status-im/nim-libp2p/pull/1015</a> (feat: message prioritization with immediate peer-published dispatch and queuing for other msgs)</li>
<li>Experimental PR - <ahref="https://github.com/status-im/nimbus-eth2/pull/5911"class="external">https://github.com/status-im/nimbus-eth2/pull/5911</a> - to test fixes for the above. It has been deployed to <ahref="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"class="external">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</a></li>
<li>Check nimbus/libp2p discord channel for more info on the above.</li>
</ul>
</li>
<li><code>nimlibp2p:vac:maintenance</code>
<ul>
<li>Briefly investigate interop failing tests; Flaky: Added them to <ahref="https://www.notion.so/Flaky-Tests-0ca86939142949af8f23f8b06fb4e3c4"class="external">flaky tests doc</a></li>
<li>Set up cluster without K3s (with Wings’s help) and test P2P PR 1045</li>
<li>Keep working on Thanos metrics scrapping: PR: <ahref="https://github.com/vacp2p/10ksim/pull/3"class="external">https://github.com/vacp2p/10ksim/pull/3</a></li>
<li>Gathered detailed metrics for paper on Waku scaling</li>
<li>Ran 4 simulations</li>
<li>Various metrics tuning on Emerald k8s</li>
<li>Completely rebuilt the Kubernetes cluster (and about 80% of the lab)
<ul>
<li>New cluster is called Opal, the sequel to Emerald</li>
<li>Uses Cilium (on top of the Multus metaplugin) for much higher network performance</li>
<li>Entirely bare metal, currently 3 nodes (pending 4th node returning, happening by EOW)</li>
<li>Uses the new VLAN structure, clean credentials</li>
</ul>
</li>
<li>Fixed an issue with Metrics still using Longhorn</li>
<li>Figured out how to use the backup and restore tool Velero</li>
<li>Added KubeVirt for virtual machine hosting and management inside Kubernetes
<ul>
<li>Will make it easier for us to provision machines for other teams</li>
<li>Backed by Rook-Ceph</li>
</ul>
</li>
<li>Many tweaks to Kubernetes, Cilium, metrics, and more - see <ahref="https://www.notion.so/Opal-Kubernetes-Cluster-Lab-Rebuild-4c8472546b0d47f5b05debacf9c7ac29"class="external">https://www.notion.so/Opal-Kubernetes-Cluster-Lab-Rebuild-4c8472546b0d47f5b05debacf9c7ac29</a></li>
<li>Fixed multiple major networking issues with the lab (again)</li>
<li>Added the ability to multi-home k8s pods through Multus (ie: attach them to multiple networks)</li>
<li>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)</li>
<li>Scaled up Redis to 18 nodes (6 master, 12 replicas) for additional safety under heavy load</li>
<li>included a PoC for small trees < 255 leaves where the root can be included onchain trustlessly via a view call - <ahref="https://github.com/vacp2p/rln-contract/pul"class="external">https://github.com/vacp2p/rln-contract/pul</a></li>
</ul>
</li>
<li><code>admin/misc</code>
<ul>
<li>assisting waku research team with waku papers</li>
<li>Merge Waku specs after Hanno feedback - <ahref="https://github.com/waku-org/specs/pull/1"class="external">https://github.com/waku-org/specs/pull/1</a></li>
<li>Worked on COSS, still in draft - <ahref="https://github.com/vacp2p/rfc-index/pull/4"class="external">https://github.com/vacp2p/rfc-index/pull/4</a></li>
</ul>
</li>
<li><code>waku:core-rfc-updates</code>
<ul>
<li>Worked on updating 17/WAKU-RLN-RELAY - <ahref="https://github.com/vacp2p/rfc/pull/667"class="external">https://github.com/vacp2p/rfc/pull/667</a></li>
<li>Conducted tests on [<ahref="https://github.com/status-im/nim-libp2p/pull/1015"class="external">PR-1015</a>], [<ahref="https://github.com/status-im/nim-libp2p/pull/1017"class="external">PR-1017</a>], [<ahref="https://github.com/status-im/nim-libp2p/pull/1027"class="external">PR-1027</a>], [<ahref="https://github.com/status-im/nim-libp2p/pull/1028"class="external">PR-1028</a>] against different scenarios</li>
<li>added notion page on large message transmissions for GossipSub <ahref="https://www.notion.so/GossipSub-Improvements-Impact-of-Flood-Publishing-on-Large-Messages-9c6f15a6f1364adeade91d674ecdcb55"class="external">https://www.notion.so/GossipSub-Improvements-Impact-of-Flood-Publishing-on-Large-Messages-9c6f15a6f1364adeade91d674ecdcb55</a></li>
<li>Worked on better message forwarding. Sorting on TxTime showed slightly improved results. Now Limiting senders to further saturate bandwidth for senders</li>
<li>Begin examining <ahref="https://eprint.iacr.org/2023/1888"class="external">Reverie</a> in terms of idea mentioned in the Discord feedback thread</li>
</ul>
</li>
<li><code>admin/misc</code>
<ul>
<li>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.</li>
<li>Finished researching the Privacy Directed Acyclic Graph (PDAG) framework for privacy guarantees</li>
<li>Started looking at monitoring issues</li>
<li>Started looking at Nullifier issues to avoid linkeability</li>
<li>Research joinsplit and optimistic rollups for monitoring</li>
<li>Begin documents on joinsplit and monitoring</li>
</ul>
</li>
<li><code>proofsystems:vac:benchmarks</code>
<ul>
<li>Written a first expanded draft for Benchmarks research paper</li>
<li>Research for table comparison</li>
</ul>
</li>
<li><code>proofsystems:vac:benchmarks</code>
<ul>
<li>prepared explanation for Halo2 GWC and SHPlonk implementations (<ahref="https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a"class="external">https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a</a> and <ahref="https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce"class="external">https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce</a>)</li>
<li>prepared explanation for Arecibo implementation (<ahref="https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1"class="external">https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1</a>)</li>
<li>Fixed various PRs comments</li>
<li>Added verify benchmark for Nova Circom + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/25"class="external">https://github.com/vacp2p/zk-explorations/pull/25</a>)</li>
<li>Added verify benchmark for Nova Bellman + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/30"class="external">https://github.com/vacp2p/zk-explorations/pull/30</a>)</li>
<li>Added verify benchmark for Arecibo + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/29"class="external">https://github.com/vacp2p/zk-explorations/pull/29</a>)</li>
<li>Added verify benchmark for Plonky2 + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/26"class="external">https://github.com/vacp2p/zk-explorations/pull/26</a>)</li>
<li>Finished researching the Privacy Directed Acyclic Graph (PDAG) framework for privacy guarantees</li>
<li>Started looking at monitoring issues</li>
<li>Started looking at Nullifier issues to avoid linkeability</li>
<li>Research joinsplit and optimistic rollups for monitoring</li>
<li>Begin documents on joinsplit and monitoring</li>
</ul>
</li>
<li><code>proofsystems:vac:benchmarks</code>
<ul>
<li>Written a first expanded draft for Benchmarks research paper</li>
<li>Research for table comparison</li>
</ul>
</li>
<li><code>proofsystems:vac:benchmarks</code>
<ul>
<li>prepared explanation for Halo2 GWC and SHPlonk implementations (<ahref="https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a"class="external">https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#2eb24a7ce01447bebbf8f5f966aede7a</a> and <ahref="https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce"class="external">https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#26d2fc825c9845f1a0ee6288f18694ce</a>)</li>
<li>prepared explanation for Arecibo implementation (<ahref="https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1"class="external">https://www.notion.so/Nescience-cd358fe429b14fa2ab38ca42835a8451?pvs=4#4fd8570d40d14e228f4d9dc08e0c2ab1</a>)</li>
<li>Fixed various PRs comments</li>
<li>Added verify benchmark for Nova Circom + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/25"class="external">https://github.com/vacp2p/zk-explorations/pull/25</a>)</li>
<li>Added verify benchmark for Nova Bellman + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/30"class="external">https://github.com/vacp2p/zk-explorations/pull/30</a>)</li>
<li>Added verify benchmark for Arecibo + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/29"class="external">https://github.com/vacp2p/zk-explorations/pull/29</a>)</li>
<li>Added verify benchmark for Plonky2 + number of constraints (<ahref="https://github.com/vacp2p/zk-explorations/pull/26"class="external">https://github.com/vacp2p/zk-explorations/pull/26</a>)</li>
<li>Researched ways to calculate halo2 constrain ways to calculate halo2 constrain</li>