From ce1f370e69d0411f0db7a7ac61408743a3fdcff1 Mon Sep 17 00:00:00 2001 From: ksr Date: Tue, 15 Oct 2024 17:46:14 +0200 Subject: [PATCH] chore: Vac has moved to a separate repo deployed on roadmap.vac.dev --- content/index.md | 2 - .../consulting/codex/proxy-re-encryption.md | 38 --- .../acz/consulting/nescience/zk-consulting.md | 40 ---- content/vac/acz/consulting/nomos/init.md | 1 - content/vac/acz/index.md | 57 ----- content/vac/acz/rlnp2p/status/rln-usage.md | 41 ---- .../vac/acz/rlnp2p/vac/light-rln-verifiers.md | 45 ---- .../acz/rlnp2p/vac/rln-doc-and-outreach.md | 52 ----- .../vac/acz/rlnp2p/vac/rln-light-clients.md | 51 ----- .../acz/rlnp2p/waku/production-readiness.md | 33 --- .../rlnp2p/waku/rln-membership-management.md | 52 ----- .../waku/rln-multi-epoch-constraints.md | 51 ----- .../acz/rlnp2p/waku/rln-relay-enhancements.md | 95 -------- .../rlnp2p/waku/rln-relay-enhancements_02.md | 43 ---- .../vac/acz/rlnp2p/waku/rln-relay-erc20.md | 41 ---- content/vac/acz/rlnp2p/waku/rlnv2-e2e.md | 44 ---- .../rlnp2p/waku/rlnv2-relay-integration.md | 47 ---- .../vac/acz/secure-channels/waku/fd-design.md | 49 ---- .../vac/acz/secure-channels/waku/fd-poc.md | 39 ---- .../acz/secure-channels/waku/mls-design.md | 56 ----- .../vac/acz/secure-channels/waku/mls-poc.md | 55 ----- .../acz/stealth-address-kit/maintenance.md | 45 ---- .../vac/acz/stealth-address-kit/research.md | 16 -- .../nimbus/productionize-tor-push.md | 39 ---- content/vac/acz/zerokit/vac/maintenance.md | 1 - content/vac/acz/zerokit/vac/zerokit-v0-4.md | 48 ---- content/vac/acz/zerokit/vac/zerokit-v0-5.md | 40 ---- content/vac/acz/zerokit/vac/zerokit-v0-6.md | 43 ---- content/vac/create_dirs.bash | 25 -- ...hain-security-in-crypto-economic-models.md | 48 ---- .../nomos/carnot-2-3rds-vote-aggregation.md | 59 ----- .../consensus/nomos/carnot-bribary-article.md | 64 ------ .../dr-ice/consensus/nomos/carnot-paper_02.md | 53 ----- .../detecting-reporting-attacks-carnot.md | 46 ---- .../consensus/nomos/inter-chain-protocol.md | 24 -- .../multi-leader-and-multi-overlay-carnot.md | 30 --- .../nomos/stake-privacy-timing-attacks.md | 76 ------ content/vac/dr-ice/index.md | 30 --- .../dr-ice/valpriv/nomos/validator-privacy.md | 0 .../dr-ice/valpriv/vac/mix-net-solution.md | 0 .../valpriv/vac/priv-validator-network.md | 0 .../vac/dr-ice/valpriv/vac/tor-push-rln.md | 0 .../vac/dr/anon/vac/gossipsub-anonymity.md | 73 ------ .../vac/dr/consensus/nomos/carnot-paper.md | 44 ---- content/vac/dr/g/nomos/reviews.md | 20 -- .../vac/gossipsub-improvements-paper.md | 47 ---- .../gsub-scaling/vac/gossipsub-simulation.md | 42 ---- .../unstructured-p2p-improvements-survey.md | 42 ---- content/vac/dr/index.md | 36 --- content/vac/dr/valpriv/vac/tor-push-paper.md | 46 ---- content/vac/dr/valpriv/vac/tor-push-poc.md | 52 ----- .../vac/dr/valpriv/vac/tor-push-rel-work.md | 44 ---- .../storage-proofs-open-problems-review.md | 45 ---- content/vac/dr/zk/codex/zk-consulting.md | 55 ----- .../status/control-messages.md | 43 ---- .../analysis-gsub-model/vac/refactoring.md | 40 ---- .../vac/shadow-basic-simulation.md | 41 ---- .../vac/shadow-gossipsub-analysis.md | 44 ---- .../waku/shadow-waku-relay-analysis.md | 40 ---- .../dr-support/vac/carnot-executable-spec.md | 43 ---- content/vac/dst-ice/index.md | 40 ---- .../nomos/nomos-simulation-analysis.md | 48 ---- .../wakurtosis/vac/retrospective-rlog.md | 45 ---- content/vac/dst-ice/wakurtosis/vac/rlog.md | 45 ---- .../waku/gossipsub-topology-analysis.md | 60 ----- .../deployment-and-analysis/codex/testnet.md | 43 ---- .../deployment-and-analysis/nomos/mixnet.md | 44 ---- .../vac/libp2p-version-testing.md | 51 ----- .../dst/deployment-and-analysis/waku/10k.md | 48 ---- .../deployment-and-analysis/waku/midscale.md | 62 ----- .../vac/dst/eng/vac/bundle-simulation-data.md | 20 -- content/vac/dst/index.md | 36 --- content/vac/dst/tooling/vac/deployer-tool.md | 48 ---- .../vac/dst/tooling/vac/visualiser-tool.md | 57 ----- .../vac/dst/tooling/vac/visualiser-tool.png | Bin 210474 -> 0 bytes .../dst/wakurtosis/nomos/ci-integration.md | 49 ---- content/vac/dst/wakurtosis/vac/maintenance.md | 46 ---- .../dst/wakurtosis/vac/retrospective-rlog.md | 45 ---- content/vac/dst/wakurtosis/waku/features.md | 43 ---- content/vac/dst/wakurtosis/waku/techreport.md | 41 ---- .../vac/dst/wakurtosis/waku/techreport_02.md | 45 ---- content/vac/index.md | 39 ---- content/vac/monthly-reports/2023-aug.md | 115 ---------- content/vac/monthly-reports/2023-oct.md | 8 - content/vac/monthly-reports/2023-sept.md | 63 ----- content/vac/nes/index.md | 27 --- .../vac/nes/proofsystems/vac/benchmarks.md | 66 ------ .../vac/research-existing-proofsystems.md | 54 ----- .../vac/state-separation-architecture-01.md | 155 ------------- .../vac/state-separation-architecture-02.md | 97 -------- content/vac/nes/zkvm/vac/vm-ecosystem.md | 54 ----- content/vac/nes/zkvm/vac/vm-foundations.md | 66 ------ .../nim/core-libs/vac/chronos-maintainance.md | 0 content/vac/nim/index.md | 22 -- content/vac/nim/tooling/vac/compiler.md | 0 content/vac/nim/tooling/vac/editor.md | 0 content/vac/nim/tooling/vac/lsp.md | 0 content/vac/nim/tooling/vac/nim-suggest.md | 0 content/vac/nim/tooling/vac/nimble.md | 0 content/vac/p2p/index.md | 27 --- content/vac/p2p/nimchronos/vac/maintenance.md | 15 -- .../vac/gossipsub-ddos-mitigation.md | 35 --- .../vac/gossipsub-improvements-eip-4844.md | 35 --- .../nimlibp2p/vac/gossipsub-stagger-send.md | 37 --- content/vac/p2p/nimlibp2p/vac/maintenance.md | 15 -- .../vac/p2p/nimlibp2p/vac/webrtc-transport.md | 36 --- .../codex/test-automation-codex-discovery.md | 39 ---- .../qa/g/nomos/test-automation-cryptarchia.md | 41 ---- .../test-automation-data-availability.md | 41 ---- .../qa/g/vac/test-automation-nim-libp2p.md | 38 --- .../qa/g/vac/test-automation-nim-tooling.md | 41 ---- content/vac/qa/g/waku/interop-testing-02.md | 45 ---- content/vac/qa/g/waku/interop-testing.md | 120 ---------- content/vac/qa/g/waku/maintenance-go-waku.md | 42 ---- content/vac/qa/g/waku/maintenance-js-waku.md | 43 ---- content/vac/qa/g/waku/maintenance-nwaku.md | 42 ---- .../vac/qa/g/waku/test-automation-go-waku.md | 81 ------- .../vac/qa/g/waku/test-automation-js-waku.md | 56 ----- .../vac/qa/g/waku/test-automation-nwaku.md | 105 --------- content/vac/qa/g/waku/test-automation-rln.md | 72 ------ .../vac/qa/g/waku/test-automation-sharding.md | 54 ----- .../g/waku/test-automation-status-go-cli-2.md | 42 ---- .../g/waku/test-automation-status-go-cli.md | 69 ------ content/vac/qa/g/waku/test-plan-rln.md | 41 ---- content/vac/qa/g/waku/test-plan-sharding.md | 41 ---- content/vac/qa/g/waku/test-plans.md | 51 ----- content/vac/qa/g/waku/ws-stress-testing.md | 40 ---- content/vac/qa/index.md | 40 ---- content/vac/rfc/index.md | 42 ---- content/vac/rfc/rfc/codex/specs-init.md | 2 - .../vac/rfc/rfc/nomos/carnot-specification.md | 0 .../carnot-threat-model-informational.md | 0 ...e-2-3rds-vote-aggregation-specification.md | 1 - .../inter-chain-protocol-specification.md | 0 ...-and-multi-overlay-carnot-specification.md | 0 content/vac/rfc/rfc/nomos/specs-init.md | 2 - .../vac/rfc/rfc/status/port-status-specs.md | 79 ------- content/vac/rfc/rfc/vac/rfc-index.md | 1 - content/vac/rfc/rfc/vac/rfc-process-update.md | 1 - content/vac/rfc/rfc/waku/core-rfc-updates.md | 1 - content/vac/rfc/rfc/waku/waku-keystore.md | 54 ----- .../g/codex/contracts-formal-verification.md | 45 ---- .../vac/sc/g/codex/review-codex-contracts.md | 42 ---- .../g/finance/access-control-safe-support.md | 42 ---- .../sc/g/status/community-contracts-ERC20.md | 47 ---- .../sc/g/status/community-contracts-ERC721.md | 40 ---- .../community-contracts-batch-tx-ext.md | 61 ----- ...unity-contracts-curation-dapp-contracts.md | 54 ----- .../g/status/community-contracts-deployer.md | 53 ----- .../status/community-contracts-maintenance.md | 19 -- .../community-contracts-token-import.md | 59 ----- ...community-contracts-vault-token-airdrop.md | 53 ----- .../sc/g/status/ens-usernames-maintenance.md | 38 --- .../sc/g/status/governance-contract-mvp.md | 43 ---- .../sc/g/status/minime-token-enhancement.md | 43 ---- .../sc/g/status/minime-token-maintenance.md | 20 -- .../vac/sc/g/status/snt-optimism-bridge.md | 67 ------ .../g/status/staking-contract-maintenance.md | 31 --- .../vac/sc/g/status/staking-contract-mvp.md | 33 --- .../vac/sc/g/status/staking-contract-v1.md | 36 --- content/vac/sc/g/status/swap-aggregator.md | 24 -- content/vac/sc/g/vac/rln-contract-support.md | 27 --- content/vac/sc/g/vac/secureum-upskilling.md | 40 ---- content/vac/sc/index.md | 41 ---- .../vac/tke/g/codex/bandwidth-incentives.md | 50 ---- content/vac/tke/g/codex/cdx-fees.md | 47 ---- content/vac/tke/g/codex/cdx-insurance.md | 49 ---- content/vac/tke/g/codex/cdx-lender.md | 49 ---- content/vac/tke/g/codex/cdx.md | 48 ---- content/vac/tke/g/codex/contract-defaults.md | 49 ---- .../vac/tke/g/codex/contract-finalization.md | 49 ---- .../vac/tke/g/codex/contract-initiation.md | 51 ----- content/vac/tke/g/codex/contract-matching.md | 48 ---- content/vac/tke/g/codex/economic-analysis.md | 35 --- content/vac/tke/g/codex/proof-aggregators.md | 51 ----- content/vac/tke/g/codex/recovery-auction.md | 50 ---- content/vac/tke/g/codex/slot-repair.md | 50 ---- content/vac/tke/g/codex/tax-system.md | 50 ---- content/vac/tke/g/codex/testnet-incentive.md | 48 ---- content/vac/tke/g/finance/growth-models.md | 34 --- .../vac/tke/g/finance/real-option-models.md | 34 --- ...ia-wealth-concentration-estimated-stake.md | 35 --- ...archia-wealth-concentration-known-stake.md | 35 --- .../vac/tke/g/nomos/delegation-research.md | 16 -- content/vac/tke/g/nomos/economic-analysis.md | 35 --- .../vac/tke/g/nomos/enshrined-delegation.md | 16 -- content/vac/tke/g/nomos/mixnet-incentives.md | 35 --- .../tke/g/nomos/non-private-L2-consensus.md | 16 -- .../vac/tke/g/nomos/penalizable-actions.md | 16 -- content/vac/tke/g/nomos/rewarded-actions.md | 16 -- content/vac/tke/g/nomos/selfish-behavior.md | 16 -- content/vac/tke/g/nomos/shared-liquidity.md | 16 -- content/vac/tke/g/nomos/supply-policy.md | 16 -- content/vac/tke/g/nomos/tdc-objectives.md | 33 --- content/vac/tke/g/nomos/transaction-fee.md | 16 -- content/vac/tke/g/nomos/validator-rewards.md | 16 -- content/vac/tke/g/nomos/whitepaper.md | 33 --- content/vac/tke/g/status/L2-deployment.md | 35 --- .../g/status/incentivized-communitities.md | 18 -- .../tke/g/status/snt-governance-proposal.md | 39 ---- content/vac/tke/g/status/snt-litepaper.md | 37 --- content/vac/tke/g/status/snt-staking.md | 37 --- content/vac/tke/g/status/waku-sharding.md | 36 --- content/vac/tke/g/waku/economic-analysis.md | 31 --- content/vac/tke/g/waku/general-incentives.md | 12 - content/vac/tke/g/waku/rln-membership.md | 32 --- content/vac/tke/g/waku/rln-risks-L2.md | 12 - .../tke/g/waku/rln-risks-attacks-vectors.md | 12 - content/vac/tke/g/waku/store-incentives.md | 31 --- content/vac/tke/index.md | 67 ------ content/vac/updates/2023-07-10.md | 35 --- content/vac/updates/2023-07-17.md | 71 ------ content/vac/updates/2023-07-24.md | 112 --------- content/vac/updates/2023-07-31.md | 60 ----- content/vac/updates/2023-08-07.md | 71 ------ content/vac/updates/2023-08-14.md | 97 -------- content/vac/updates/2023-08-21.md | 106 --------- content/vac/updates/2023-08-28.md | 131 ----------- content/vac/updates/2023-09-04.md | 139 ----------- content/vac/updates/2023-09-11.md | 115 ---------- content/vac/updates/2023-09-18.md | 107 --------- content/vac/updates/2023-09-25.md | 119 ---------- content/vac/updates/2023-10-02.md | 132 ----------- content/vac/updates/2023-10-09.md | 130 ----------- content/vac/updates/2023-10-16.md | 136 ----------- content/vac/updates/2023-10-23.md | 138 ----------- content/vac/updates/2023-10-30.md | 133 ----------- content/vac/updates/2023-11-06.md | 146 ------------ content/vac/updates/2023-11-13.md | 152 ------------ content/vac/updates/2023-11-20.md | 123 ---------- content/vac/updates/2023-11-27.md | 123 ---------- content/vac/updates/2023-12-04.md | 130 ----------- content/vac/updates/2023-12-11.md | 109 --------- content/vac/updates/2023-12-18.md | 136 ----------- content/vac/updates/2023-12-25.md | 92 -------- content/vac/updates/2024-01-01.md | 70 ------ content/vac/updates/2024-01-08.md | 103 --------- content/vac/updates/2024-01-15.md | 117 ---------- content/vac/updates/2024-01-22.md | 118 ---------- content/vac/updates/2024-01-29.md | 113 --------- content/vac/updates/2024-02-05.md | 128 ----------- content/vac/updates/2024-02-12.md | 107 --------- content/vac/updates/2024-02-19.md | 159 ------------- content/vac/updates/2024-02-26.md | 216 ------------------ content/vac/updates/2024-03-04.md | 158 ------------- content/vac/updates/2024-03-11.md | 179 --------------- content/vac/updates/2024-03-18.md | 153 ------------- content/vac/updates/2024-03-25.md | 149 ------------ content/vac/updates/2024-04-02.md | 122 ---------- content/vac/updates/2024-04-08.md | 108 --------- content/vac/updates/2024-04-15.md | 136 ----------- content/vac/updates/2024-04-22.md | 130 ----------- content/vac/updates/2024-04-29.md | 150 ------------ content/vac/updates/2024-05-06.md | 148 ------------ content/vac/updates/2024-05-13.md | 147 ------------ content/vac/updates/2024-05-21.md | 148 ------------ content/vac/updates/2024-05-27.md | 164 ------------- content/vac/updates/2024-06-03.md | 150 ------------ content/vac/updates/2024-06-10.md | 146 ------------ content/vac/updates/2024-06-17.md | 169 -------------- content/vac/updates/2024-06-24.md | 174 -------------- content/vac/updates/2024-07-01.md | 172 -------------- content/vac/updates/2024-07-08.md | 156 ------------- content/vac/updates/2024-07-15.md | 134 ----------- content/vac/updates/2024-07-22.md | 179 --------------- content/vac/updates/2024-07-29.md | 168 -------------- content/vac/updates/2024-08-05.md | 161 ------------- content/vac/updates/2024-08-12.md | 180 --------------- content/vac/updates/2024-08-19.md | 168 -------------- content/vac/updates/2024-08-26.md | 176 -------------- content/vac/updates/2024-09-02.md | 176 -------------- content/vac/updates/2024-09-09.md | 161 ------------- content/vac/updates/2024-09-16.md | 179 --------------- content/vac/updates/2024-09-23.md | 196 ---------------- 274 files changed, 16891 deletions(-) delete mode 100644 content/vac/acz/consulting/codex/proxy-re-encryption.md delete mode 100644 content/vac/acz/consulting/nescience/zk-consulting.md delete mode 100644 content/vac/acz/consulting/nomos/init.md delete mode 100644 content/vac/acz/index.md delete mode 100644 content/vac/acz/rlnp2p/status/rln-usage.md delete mode 100644 content/vac/acz/rlnp2p/vac/light-rln-verifiers.md delete mode 100644 content/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md delete mode 100644 content/vac/acz/rlnp2p/vac/rln-light-clients.md delete mode 100644 content/vac/acz/rlnp2p/waku/production-readiness.md delete mode 100644 content/vac/acz/rlnp2p/waku/rln-membership-management.md delete mode 100644 content/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md delete mode 100644 content/vac/acz/rlnp2p/waku/rln-relay-enhancements.md delete mode 100644 content/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md delete mode 100644 content/vac/acz/rlnp2p/waku/rln-relay-erc20.md delete mode 100644 content/vac/acz/rlnp2p/waku/rlnv2-e2e.md delete mode 100644 content/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md delete mode 100644 content/vac/acz/secure-channels/waku/fd-design.md delete mode 100644 content/vac/acz/secure-channels/waku/fd-poc.md delete mode 100644 content/vac/acz/secure-channels/waku/mls-design.md delete mode 100644 content/vac/acz/secure-channels/waku/mls-poc.md delete mode 100644 content/vac/acz/stealth-address-kit/maintenance.md delete mode 100644 content/vac/acz/stealth-address-kit/research.md delete mode 100644 content/vac/acz/validator-privacy/nimbus/productionize-tor-push.md delete mode 100644 content/vac/acz/zerokit/vac/maintenance.md delete mode 100644 content/vac/acz/zerokit/vac/zerokit-v0-4.md delete mode 100644 content/vac/acz/zerokit/vac/zerokit-v0-5.md delete mode 100644 content/vac/acz/zerokit/vac/zerokit-v0-6.md delete mode 100644 content/vac/create_dirs.bash delete mode 100644 content/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md delete mode 100644 content/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md delete mode 100644 content/vac/dr-ice/consensus/nomos/carnot-bribary-article.md delete mode 100644 content/vac/dr-ice/consensus/nomos/carnot-paper_02.md delete mode 100644 content/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md delete mode 100644 content/vac/dr-ice/consensus/nomos/inter-chain-protocol.md delete mode 100644 content/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md delete mode 100644 content/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md delete mode 100644 content/vac/dr-ice/index.md delete mode 100644 content/vac/dr-ice/valpriv/nomos/validator-privacy.md delete mode 100644 content/vac/dr-ice/valpriv/vac/mix-net-solution.md delete mode 100644 content/vac/dr-ice/valpriv/vac/priv-validator-network.md delete mode 100644 content/vac/dr-ice/valpriv/vac/tor-push-rln.md delete mode 100644 content/vac/dr/anon/vac/gossipsub-anonymity.md delete mode 100644 content/vac/dr/consensus/nomos/carnot-paper.md delete mode 100644 content/vac/dr/g/nomos/reviews.md delete mode 100644 content/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md delete mode 100644 content/vac/dr/gsub-scaling/vac/gossipsub-simulation.md delete mode 100644 content/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md delete mode 100644 content/vac/dr/index.md delete mode 100644 content/vac/dr/valpriv/vac/tor-push-paper.md delete mode 100644 content/vac/dr/valpriv/vac/tor-push-poc.md delete mode 100644 content/vac/dr/valpriv/vac/tor-push-rel-work.md delete mode 100644 content/vac/dr/zk/codex/storage-proofs-open-problems-review.md delete mode 100644 content/vac/dr/zk/codex/zk-consulting.md delete mode 100644 content/vac/dst-ice/analysis-gsub-model/status/control-messages.md delete mode 100644 content/vac/dst-ice/analysis-gsub-model/vac/refactoring.md delete mode 100644 content/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md delete mode 100644 content/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md delete mode 100644 content/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md delete mode 100644 content/vac/dst-ice/dr-support/vac/carnot-executable-spec.md delete mode 100644 content/vac/dst-ice/index.md delete mode 100644 content/vac/dst-ice/nomos/nomos-simulation-analysis.md delete mode 100644 content/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md delete mode 100644 content/vac/dst-ice/wakurtosis/vac/rlog.md delete mode 100644 content/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md delete mode 100644 content/vac/dst/deployment-and-analysis/codex/testnet.md delete mode 100644 content/vac/dst/deployment-and-analysis/nomos/mixnet.md delete mode 100644 content/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md delete mode 100644 content/vac/dst/deployment-and-analysis/waku/10k.md delete mode 100644 content/vac/dst/deployment-and-analysis/waku/midscale.md delete mode 100644 content/vac/dst/eng/vac/bundle-simulation-data.md delete mode 100644 content/vac/dst/index.md delete mode 100644 content/vac/dst/tooling/vac/deployer-tool.md delete mode 100644 content/vac/dst/tooling/vac/visualiser-tool.md delete mode 100644 content/vac/dst/tooling/vac/visualiser-tool.png delete mode 100644 content/vac/dst/wakurtosis/nomos/ci-integration.md delete mode 100644 content/vac/dst/wakurtosis/vac/maintenance.md delete mode 100644 content/vac/dst/wakurtosis/vac/retrospective-rlog.md delete mode 100644 content/vac/dst/wakurtosis/waku/features.md delete mode 100644 content/vac/dst/wakurtosis/waku/techreport.md delete mode 100644 content/vac/dst/wakurtosis/waku/techreport_02.md delete mode 100644 content/vac/index.md delete mode 100644 content/vac/monthly-reports/2023-aug.md delete mode 100644 content/vac/monthly-reports/2023-oct.md delete mode 100644 content/vac/monthly-reports/2023-sept.md delete mode 100644 content/vac/nes/index.md delete mode 100644 content/vac/nes/proofsystems/vac/benchmarks.md delete mode 100644 content/vac/nes/proofsystems/vac/research-existing-proofsystems.md delete mode 100644 content/vac/nes/state-separation/vac/state-separation-architecture-01.md delete mode 100644 content/vac/nes/state-separation/vac/state-separation-architecture-02.md delete mode 100644 content/vac/nes/zkvm/vac/vm-ecosystem.md delete mode 100644 content/vac/nes/zkvm/vac/vm-foundations.md delete mode 100644 content/vac/nim/core-libs/vac/chronos-maintainance.md delete mode 100644 content/vac/nim/index.md delete mode 100644 content/vac/nim/tooling/vac/compiler.md delete mode 100644 content/vac/nim/tooling/vac/editor.md delete mode 100644 content/vac/nim/tooling/vac/lsp.md delete mode 100644 content/vac/nim/tooling/vac/nim-suggest.md delete mode 100644 content/vac/nim/tooling/vac/nimble.md delete mode 100644 content/vac/p2p/index.md delete mode 100644 content/vac/p2p/nimchronos/vac/maintenance.md delete mode 100644 content/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md delete mode 100644 content/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md delete mode 100644 content/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md delete mode 100644 content/vac/p2p/nimlibp2p/vac/maintenance.md delete mode 100644 content/vac/p2p/nimlibp2p/vac/webrtc-transport.md delete mode 100644 content/vac/qa/g/codex/test-automation-codex-discovery.md delete mode 100644 content/vac/qa/g/nomos/test-automation-cryptarchia.md delete mode 100644 content/vac/qa/g/nomos/test-automation-data-availability.md delete mode 100644 content/vac/qa/g/vac/test-automation-nim-libp2p.md delete mode 100644 content/vac/qa/g/vac/test-automation-nim-tooling.md delete mode 100644 content/vac/qa/g/waku/interop-testing-02.md delete mode 100644 content/vac/qa/g/waku/interop-testing.md delete mode 100644 content/vac/qa/g/waku/maintenance-go-waku.md delete mode 100644 content/vac/qa/g/waku/maintenance-js-waku.md delete mode 100644 content/vac/qa/g/waku/maintenance-nwaku.md delete mode 100644 content/vac/qa/g/waku/test-automation-go-waku.md delete mode 100644 content/vac/qa/g/waku/test-automation-js-waku.md delete mode 100644 content/vac/qa/g/waku/test-automation-nwaku.md delete mode 100644 content/vac/qa/g/waku/test-automation-rln.md delete mode 100644 content/vac/qa/g/waku/test-automation-sharding.md delete mode 100644 content/vac/qa/g/waku/test-automation-status-go-cli-2.md delete mode 100644 content/vac/qa/g/waku/test-automation-status-go-cli.md delete mode 100644 content/vac/qa/g/waku/test-plan-rln.md delete mode 100644 content/vac/qa/g/waku/test-plan-sharding.md delete mode 100644 content/vac/qa/g/waku/test-plans.md delete mode 100644 content/vac/qa/g/waku/ws-stress-testing.md delete mode 100644 content/vac/qa/index.md delete mode 100644 content/vac/rfc/index.md delete mode 100644 content/vac/rfc/rfc/codex/specs-init.md delete mode 100644 content/vac/rfc/rfc/nomos/carnot-specification.md delete mode 100644 content/vac/rfc/rfc/nomos/carnot-threat-model-informational.md delete mode 100644 content/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md delete mode 100644 content/vac/rfc/rfc/nomos/inter-chain-protocol-specification.md delete mode 100644 content/vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification.md delete mode 100644 content/vac/rfc/rfc/nomos/specs-init.md delete mode 100644 content/vac/rfc/rfc/status/port-status-specs.md delete mode 100644 content/vac/rfc/rfc/vac/rfc-index.md delete mode 100644 content/vac/rfc/rfc/vac/rfc-process-update.md delete mode 100644 content/vac/rfc/rfc/waku/core-rfc-updates.md delete mode 100644 content/vac/rfc/rfc/waku/waku-keystore.md delete mode 100644 content/vac/sc/g/codex/contracts-formal-verification.md delete mode 100644 content/vac/sc/g/codex/review-codex-contracts.md delete mode 100644 content/vac/sc/g/finance/access-control-safe-support.md delete mode 100644 content/vac/sc/g/status/community-contracts-ERC20.md delete mode 100644 content/vac/sc/g/status/community-contracts-ERC721.md delete mode 100644 content/vac/sc/g/status/community-contracts-batch-tx-ext.md delete mode 100644 content/vac/sc/g/status/community-contracts-curation-dapp-contracts.md delete mode 100644 content/vac/sc/g/status/community-contracts-deployer.md delete mode 100644 content/vac/sc/g/status/community-contracts-maintenance.md delete mode 100644 content/vac/sc/g/status/community-contracts-token-import.md delete mode 100644 content/vac/sc/g/status/community-contracts-vault-token-airdrop.md delete mode 100644 content/vac/sc/g/status/ens-usernames-maintenance.md delete mode 100644 content/vac/sc/g/status/governance-contract-mvp.md delete mode 100644 content/vac/sc/g/status/minime-token-enhancement.md delete mode 100644 content/vac/sc/g/status/minime-token-maintenance.md delete mode 100644 content/vac/sc/g/status/snt-optimism-bridge.md delete mode 100644 content/vac/sc/g/status/staking-contract-maintenance.md delete mode 100644 content/vac/sc/g/status/staking-contract-mvp.md delete mode 100644 content/vac/sc/g/status/staking-contract-v1.md delete mode 100644 content/vac/sc/g/status/swap-aggregator.md delete mode 100644 content/vac/sc/g/vac/rln-contract-support.md delete mode 100644 content/vac/sc/g/vac/secureum-upskilling.md delete mode 100644 content/vac/sc/index.md delete mode 100644 content/vac/tke/g/codex/bandwidth-incentives.md delete mode 100644 content/vac/tke/g/codex/cdx-fees.md delete mode 100644 content/vac/tke/g/codex/cdx-insurance.md delete mode 100644 content/vac/tke/g/codex/cdx-lender.md delete mode 100644 content/vac/tke/g/codex/cdx.md delete mode 100644 content/vac/tke/g/codex/contract-defaults.md delete mode 100644 content/vac/tke/g/codex/contract-finalization.md delete mode 100644 content/vac/tke/g/codex/contract-initiation.md delete mode 100644 content/vac/tke/g/codex/contract-matching.md delete mode 100644 content/vac/tke/g/codex/economic-analysis.md delete mode 100644 content/vac/tke/g/codex/proof-aggregators.md delete mode 100644 content/vac/tke/g/codex/recovery-auction.md delete mode 100644 content/vac/tke/g/codex/slot-repair.md delete mode 100644 content/vac/tke/g/codex/tax-system.md delete mode 100644 content/vac/tke/g/codex/testnet-incentive.md delete mode 100644 content/vac/tke/g/finance/growth-models.md delete mode 100644 content/vac/tke/g/finance/real-option-models.md delete mode 100644 content/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md delete mode 100644 content/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md delete mode 100644 content/vac/tke/g/nomos/delegation-research.md delete mode 100644 content/vac/tke/g/nomos/economic-analysis.md delete mode 100644 content/vac/tke/g/nomos/enshrined-delegation.md delete mode 100644 content/vac/tke/g/nomos/mixnet-incentives.md delete mode 100644 content/vac/tke/g/nomos/non-private-L2-consensus.md delete mode 100644 content/vac/tke/g/nomos/penalizable-actions.md delete mode 100644 content/vac/tke/g/nomos/rewarded-actions.md delete mode 100644 content/vac/tke/g/nomos/selfish-behavior.md delete mode 100644 content/vac/tke/g/nomos/shared-liquidity.md delete mode 100644 content/vac/tke/g/nomos/supply-policy.md delete mode 100644 content/vac/tke/g/nomos/tdc-objectives.md delete mode 100644 content/vac/tke/g/nomos/transaction-fee.md delete mode 100644 content/vac/tke/g/nomos/validator-rewards.md delete mode 100644 content/vac/tke/g/nomos/whitepaper.md delete mode 100644 content/vac/tke/g/status/L2-deployment.md delete mode 100644 content/vac/tke/g/status/incentivized-communitities.md delete mode 100644 content/vac/tke/g/status/snt-governance-proposal.md delete mode 100644 content/vac/tke/g/status/snt-litepaper.md delete mode 100644 content/vac/tke/g/status/snt-staking.md delete mode 100644 content/vac/tke/g/status/waku-sharding.md delete mode 100644 content/vac/tke/g/waku/economic-analysis.md delete mode 100644 content/vac/tke/g/waku/general-incentives.md delete mode 100644 content/vac/tke/g/waku/rln-membership.md delete mode 100644 content/vac/tke/g/waku/rln-risks-L2.md delete mode 100644 content/vac/tke/g/waku/rln-risks-attacks-vectors.md delete mode 100644 content/vac/tke/g/waku/store-incentives.md delete mode 100644 content/vac/tke/index.md delete mode 100644 content/vac/updates/2023-07-10.md delete mode 100644 content/vac/updates/2023-07-17.md delete mode 100644 content/vac/updates/2023-07-24.md delete mode 100644 content/vac/updates/2023-07-31.md delete mode 100644 content/vac/updates/2023-08-07.md delete mode 100644 content/vac/updates/2023-08-14.md delete mode 100644 content/vac/updates/2023-08-21.md delete mode 100644 content/vac/updates/2023-08-28.md delete mode 100644 content/vac/updates/2023-09-04.md delete mode 100644 content/vac/updates/2023-09-11.md delete mode 100644 content/vac/updates/2023-09-18.md delete mode 100644 content/vac/updates/2023-09-25.md delete mode 100644 content/vac/updates/2023-10-02.md delete mode 100644 content/vac/updates/2023-10-09.md delete mode 100644 content/vac/updates/2023-10-16.md delete mode 100644 content/vac/updates/2023-10-23.md delete mode 100644 content/vac/updates/2023-10-30.md delete mode 100644 content/vac/updates/2023-11-06.md delete mode 100644 content/vac/updates/2023-11-13.md delete mode 100644 content/vac/updates/2023-11-20.md delete mode 100644 content/vac/updates/2023-11-27.md delete mode 100644 content/vac/updates/2023-12-04.md delete mode 100644 content/vac/updates/2023-12-11.md delete mode 100644 content/vac/updates/2023-12-18.md delete mode 100644 content/vac/updates/2023-12-25.md delete mode 100644 content/vac/updates/2024-01-01.md delete mode 100644 content/vac/updates/2024-01-08.md delete mode 100644 content/vac/updates/2024-01-15.md delete mode 100644 content/vac/updates/2024-01-22.md delete mode 100644 content/vac/updates/2024-01-29.md delete mode 100644 content/vac/updates/2024-02-05.md delete mode 100644 content/vac/updates/2024-02-12.md delete mode 100644 content/vac/updates/2024-02-19.md delete mode 100644 content/vac/updates/2024-02-26.md delete mode 100644 content/vac/updates/2024-03-04.md delete mode 100644 content/vac/updates/2024-03-11.md delete mode 100644 content/vac/updates/2024-03-18.md delete mode 100644 content/vac/updates/2024-03-25.md delete mode 100644 content/vac/updates/2024-04-02.md delete mode 100644 content/vac/updates/2024-04-08.md delete mode 100644 content/vac/updates/2024-04-15.md delete mode 100644 content/vac/updates/2024-04-22.md delete mode 100644 content/vac/updates/2024-04-29.md delete mode 100644 content/vac/updates/2024-05-06.md delete mode 100644 content/vac/updates/2024-05-13.md delete mode 100644 content/vac/updates/2024-05-21.md delete mode 100644 content/vac/updates/2024-05-27.md delete mode 100644 content/vac/updates/2024-06-03.md delete mode 100644 content/vac/updates/2024-06-10.md delete mode 100644 content/vac/updates/2024-06-17.md delete mode 100644 content/vac/updates/2024-06-24.md delete mode 100644 content/vac/updates/2024-07-01.md delete mode 100644 content/vac/updates/2024-07-08.md delete mode 100644 content/vac/updates/2024-07-15.md delete mode 100644 content/vac/updates/2024-07-22.md delete mode 100644 content/vac/updates/2024-07-29.md delete mode 100644 content/vac/updates/2024-08-05.md delete mode 100644 content/vac/updates/2024-08-12.md delete mode 100644 content/vac/updates/2024-08-19.md delete mode 100644 content/vac/updates/2024-08-26.md delete mode 100644 content/vac/updates/2024-09-02.md delete mode 100644 content/vac/updates/2024-09-09.md delete mode 100644 content/vac/updates/2024-09-16.md delete mode 100644 content/vac/updates/2024-09-23.md diff --git a/content/index.md b/content/index.md index 244df106e..1e290ac9a 100644 --- a/content/index.md +++ b/content/index.md @@ -14,5 +14,3 @@ Every year (starting this year), each project defines its plans in a number a mi - [Codex](codex/overview.md) - [[nomos/index|Nomos]] -### Services -- [Vac](vac/index.md) \ No newline at end of file diff --git a/content/vac/acz/consulting/codex/proxy-re-encryption.md b/content/vac/acz/consulting/codex/proxy-re-encryption.md deleted file mode 100644 index e80fb6d33..000000000 --- a/content/vac/acz/consulting/codex/proxy-re-encryption.md +++ /dev/null @@ -1,38 +0,0 @@ -## `vac:acz:consulting:codex:proxy-re-encryption` ---- - -```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 - Proxy Re-Encryption: , 2024-05-27, 2024-09-30 -``` - -- status: 50% -- CC: Ramses + 1 - -### Description - -To embed and assist codex with their proxy re-encryption primitive. -### Justification - -Proxy re-encryption is necessary to provide plausible deniability to storage providers. - -### Deliverables - -- [x] A Document describing possible solutions: https://www.notion.so/Approaches-to-plausible-deniability-87c6fef92df946fcbc1327d51d936ce1?pvs=4 -- [ ] Agreement and hardening of specification for the Codex team \ No newline at end of file diff --git a/content/vac/acz/consulting/nescience/zk-consulting.md b/content/vac/acz/consulting/nescience/zk-consulting.md deleted file mode 100644 index c98d0ced3..000000000 --- a/content/vac/acz/consulting/nescience/zk-consulting.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Nescience ZK Consulting ---- -## `vac:acz:consulting:nes:zk-consulting` ---- - -```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 - Nescience ZK Consulting: , 2024-01-01, 2024-12-31 -``` - -- status: 30% -- CC: Ugur - -### Description - -To assist the Nescience team with their ZK needs. -### Justification - -Ugur has the expertise to assist Nescience with their zk research tracks. - -### Deliverables - - diff --git a/content/vac/acz/consulting/nomos/init.md b/content/vac/acz/consulting/nomos/init.md deleted file mode 100644 index 568e2ad38..000000000 --- a/content/vac/acz/consulting/nomos/init.md +++ /dev/null @@ -1 +0,0 @@ -init cryptography consulting for nomos diff --git a/content/vac/acz/index.md b/content/vac/acz/index.md deleted file mode 100644 index f4dc7133b..000000000 --- a/content/vac/acz/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Applied Cryptography and Zero-knowledge Service Unit -tags: - - acz - - vac -date: 2023-09-12 -lastmod: 2024-07-04 ---- - -## `vac:acz:` ---- - -### `rlnp2p:waku:` -* [x] [[vac/acz/rlnp2p/waku/production-readiness|production-readiness]] -* [x] [[vac/acz/rlnp2p/waku/rln-membership-management|rln-membership-management]] -* [x] [[vac/acz/rlnp2p/waku/rln-relay-enhancements|rln-relay-enhancements]] -* [x] [[vac/acz/rlnp2p/waku/rln-relay-enhancements_02|rln-relay-enhancements_02]] -* [[vac/acz/rlnp2p/waku/rln-relay-erc20|rln-relay-erc20]] -- [x] [[vac/acz/rlnp2p/waku/rlnv2-relay-integration|rlnv2-relay-integration]] -* [x] [[vac/acz/rlnp2p/waku/rln-multi-epoch-constraints|rln-multi-epoch-constraints]] -* [x] [[vac/acz/rlnp2p/waku/rlnv2-e2e|rlnv2-e2e]] - -### `rlnp2p:vac:` -* [x] [[vac/acz/rlnp2p/vac/rln-doc-and-outreach|rln-doc-and-outreach]] -* [x] [[vac/acz/rlnp2p/vac/light-rln-verifiers|light-rln-verifiers]] -* [x] [[vac/acz/rlnp2p/vac/rln-light-clients|rln-light-clients]] - -### `rlnp2p:status:` -* [ ] [[vac/acz/rlnp2p/status/rln-usage|rln-usage]] - -### `zerokit:vac:` -* [x] [[vac/acz/zerokit/vac/zerokit-v0-4|zerokit-v0.4]] -* [x] [[vac/acz/zerokit/vac/zerokit-v0-5|zerokit-v0.5]] -* [ ] [[vac/acz/zerokit/vac/zerokit-v0-6|zerokit-v0.6]] -* [[vac/acz/zerokit/vac/maintenance|maintenance]] - -### `secure-channels:waku:` -* [x] [[vac/acz/secure-channels/waku/mls-design|mls-design]] -* [x] [[vac/acz/secure-channels/waku/mls-poc|mls-poc]] -* [ ] [[vac/acz/secure-channels/waku/fd-design|fd-design]] -* [ ] [[vac/acz/secure-channels/waku/fd-poc|fd-poc]] - -### `consulting:codex:` -* [ ] [[proxy-re-encryption|proxy-re-encryption]] - -### `consulting:nomos:` -* [[vac/acz/consulting/nomos/init|init]] - -### `consulting:nes:` -* [ ] [[vac/acz/consulting/nescience/zk-consulting|zk-consulting]] - -### `stealth-address-kit:vac:` -* [ ] [[vac/acz/stealth-address-kit/maintenance|maintenance]] -* [ ] [[vac/acz/stealth-address-kit/research|research]] - -### `validator-privacy:nimbus:` -- [ ] [[vac/acz/validator-privacy/nimbus/productionize-tor-push|productionize-tor-push]] \ No newline at end of file diff --git a/content/vac/acz/rlnp2p/status/rln-usage.md b/content/vac/acz/rlnp2p/status/rln-usage.md deleted file mode 100644 index 52c89b427..000000000 --- a/content/vac/acz/rlnp2p/status/rln-usage.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Status RLN Usage ---- -## `vac:acz:rlnp2p:status:rln-usage` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - RLN Usage: , 2024-05-13, 2024-06-13 -``` - -- status: 0% -- CC: Aaryamann - -### Description - -To describe an end-to-end user flow for a new user of the status app on how they can acquire an RLN membership. -### Justification - -Status will use RLN in the future, and we must first consult them on how to use it for seamless integration. - -### Deliverables - -- [ ] Document describing end-to-end user flow - diff --git a/content/vac/acz/rlnp2p/vac/light-rln-verifiers.md b/content/vac/acz/rlnp2p/vac/light-rln-verifiers.md deleted file mode 100644 index efe18e867..000000000 --- a/content/vac/acz/rlnp2p/vac/light-rln-verifiers.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Light RLN Verifiers ---- -## `vac:acz:rlnp2p:vac:light-rln-verifiers` ---- - -```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 - Light RLN Verifiers: done, 2024-03-01, 2024-05-01 -``` - -- status: 100% -- CC: Aaryamann - -### Description - -Make use of cryptography techniques to improve trust assumptions and reduce off-chain complexity while verifying RLN proofs. -### Justification - -A node attempting to verify RLN proofs takes nearly ~10 minutes to sync all the leaves. We should explore cost-effective solutions to make the root of the tree accessible onchain. - -### Deliverables - -- [x] PoC using tiered commitment trees: https://github.com/vacp2p/rln-contract/pull/37 -- [x] Deployed to sepolia and load tested: https://sepolia.etherscan.io/address/0xE7987c70B54Ff32f0D5CBbAA8c8Fc1cAf632b9A5 -- [x] Ethresearch post: https://ethresear.ch/t/tiered-commitment-trees-to-reduce-gas-costs-and-offchain-complexity/19484 -- [x] Vac forum post: https://forum.vac.dev/t/light-rln-verifiers-using-a-tiered-commitment-tree/290 -- [x] Vac blog post: https://vac.dev/rlog/rln-light-verifiers/ - diff --git a/content/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md b/content/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md deleted file mode 100644 index bc3a25f80..000000000 --- a/content/vac/acz/rlnp2p/vac/rln-doc-and-outreach.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "RLN Doc and Outreach" ---- -## `vac:acz:rlnp2p:vac:rln-doc-and-outreach` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - RLN doc and outreach: done, 2023-08-01, 2024-12-31 -``` - -- status: 100% -- CC: Aaryamann - -### Description - -* Waku doc: How can a user setup Waku + RLN? - - even though Waku RLN does not support slashing yet, we can see RLN as that provides an additional datapoint regarding message validity -* doc explaining how the components of RLN (zerokit, contract, and a project using it, e.g. Waku, work together) - - this can be in notion at first -* rlog post based on the two points above -* talk @ progcrypto and logos event in Istanbul (co-located with devconnect) - -### Justification - - -### Deliverables - -* [x] talk at progcrypto on RLN: https://www.youtube.com/watch?v=7xDxv8F70Jg&pp=ygUOcHJvZ2NyeXB0byBybG4%3D -* [x] presented rln: zero to hero to nwaku+chatsdk team @ status all hands, explained all versions of rln and their trade-offs -- [x] blog post/RFC on Light RLN verifiers: https://github.com/vacp2p/vac.dev/pull/136 -- [x] updated docs for rln-relay in nwaku-compose: [https://github.com/waku-org/nwaku-compose/pull/52](https://github.com/waku-org/nwaku-compose/pull/52) -- [x] Present rln-v2 and v3 at logos research call: https://docs.google.com/presentation/d/1lcE5E3WKenueIULR_rhjtZU8Tdqv-7sPr6lpXPTaQSk/edit?usp=sharing -- [x] RLN rlog on vac.dev: https://vac.dev/rlog/rln-anonymous-dos-prevention - - diff --git a/content/vac/acz/rlnp2p/vac/rln-light-clients.md b/content/vac/acz/rlnp2p/vac/rln-light-clients.md deleted file mode 100644 index 9e3102416..000000000 --- a/content/vac/acz/rlnp2p/vac/rln-light-clients.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: RLN Light Clients ---- -## `vac:acz:rlnp2p:vac:rln-light-clients` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - RLN Light Clients: done, 2024-04-01, 2024-05-01 -``` - -- status: 100% -- CC: Aaryamann - -### Description - -Make use of zk-kit's [LazyIMT](https://github.com/privacy-scaling-explorations/zk-kit/blob/12447adf0bca1f752b1bd6b7acf5b87e0cadccc6/packages/imt.sol/contracts/LazyIMT.sol)to have the merkle proof of a leaf accessible onchain, and the root as well, to allow for light rln provers and verifiers. -### Justification - -A node attempting to verify RLN proofs takes nearly ~10 minutes to sync all the leaves. We should attempt to see if it is cheap *enough* to use the LazyIMT structure so that we can have the merkle proof accessible onchain. - -### Deliverables - -- [x] PoC (rln-v1): https://github.com/vacp2p/rln-contract/pull/31 -- [x] Deployed to cardona zkevm testnet: https://cardona-zkevm.polygonscan.com/address/0x16abffcab50e8d1ff5c22b118be5c56f801dce54 -- [x] PoC (rln-v2): https://github.com/vacp2p/rln-contract/pull/39 -- [x] Downstreamed to waku-rln-contract to estimate gas: https://github.com/vacp2p/rln-contract/pull/38 - - -| RLN Version | Gas estimate for insertion | -| ---------------- | -------------------------- | -| rln-v1 | 90k | -| rln-v1 (lazyIMT) | 130k | -| rln-v2 | 135k | -| rln-v2 (lazyIMT) | 210k | diff --git a/content/vac/acz/rlnp2p/waku/production-readiness.md b/content/vac/acz/rlnp2p/waku/production-readiness.md deleted file mode 100644 index 6c60621cc..000000000 --- a/content/vac/acz/rlnp2p/waku/production-readiness.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "RLNP2P Waku Pruduction Readiness Details" ---- -## `vac:acz:rlnp2p::waku:production-readiness` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - Production Readiness :done, 2023-01-20, 2023-07-31 -``` -- due: 2023/07/31 -- status: 100% - -### Description -membership management is out of scope for this milestone - -### Deliverables -TBD diff --git a/content/vac/acz/rlnp2p/waku/rln-membership-management.md b/content/vac/acz/rlnp2p/waku/rln-membership-management.md deleted file mode 100644 index 3906fe9d4..000000000 --- a/content/vac/acz/rlnp2p/waku/rln-membership-management.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Waku RLN Membership Management Details ---- -## `vac:acz:rlnp2p::waku:rln-membership-management` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - RLN Membership Management :done, 2023-01-20, 2023-09-30 -``` -- due: 2023/09/30 -- status: 100% - -### Description -Enhancing the first simple CC membership list - -### Risks -- depends on input from [[waku/index|Waku]] - -### Info - -#### 2023/09/04 - 2023/09/11 - -* added documentation for rln_keystore_generator - https://github.com/waku-org/nwaku/pull/1993 - -#### 2023/08/28 - 2023/09/04 - -* fixed makefile target for rln_keystore_generator - https://github.com/waku-org/nwaku/pull/1960 -* log the membership index out upon registration in the rln_keystore_generator - https://github.com/waku-org/nwaku/pull/1963 - -#### 2023/08/21 - 2023/08/28 - -* Demo of rln_keystore_generator: https://github.com/waku-org/nwaku/pull/1956 -* Wrote a tool rln_keystore_generator - * https://github.com/waku-org/nwaku/pull/1925 - * https://github.com/waku-org/nwaku/pull/1928 - * https://github.com/waku-org/nwaku/pull/1931 diff --git a/content/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md b/content/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md deleted file mode 100644 index d45cdb2fd..000000000 --- a/content/vac/acz/rlnp2p/waku/rln-multi-epoch-constraints.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Multi Epoch Constraints" ---- -## `vac:acz:rlnp2p:waku:multi-epoch-constraints` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Multi epoch constraints: 2023-09-15, 2023-11-15 -``` - -- status: 90% -- CC: - - Ramses - - Aaryamann - -### Description - -Currently, RLN v1 allows for a fixed message rate of 1/msg per epoch while RLN v2 allows for n msgs/epoch. -The goal of this milestone is designing the key derivation and related cryptographic components for allowing several n msgs/epoch constraints. -For example: 24 msg / day && 1 msg/10 seconds. - -* the nullifier defined in the [RLN RFC](https://rfc.vac.dev/spec/32/#slashing-and-shamirs-secret-sharing) has to be adapted accordingly. - -### Justification - -Dynamic epoch sizes are required for users who have smaller messaging needs, to optimize for stake used. -rln-v3 will allow that. -### Deliverables - -* [x] design document: https://www.notion.so/rln-v3-PoC-b05af585f52f4b15a249184d4a627096 -* [x] PoC: https://github.com/vacp2p/gnark-rln/blob/9b05eddc89901a06d8f41b093ce8ce12fd0bb4e0/rln/rln.go -* [ ] blog post/ethresearch crosspost - - diff --git a/content/vac/acz/rlnp2p/waku/rln-relay-enhancements.md b/content/vac/acz/rlnp2p/waku/rln-relay-enhancements.md deleted file mode 100644 index 307e181f0..000000000 --- a/content/vac/acz/rlnp2p/waku/rln-relay-enhancements.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Waku RLN-RELAY Enhancements Details ---- - -## `vac:acz:rlnp2p::waku:rln-relay-enhancements` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - RLN-RELAY enhancements :done, 2023-06-01, 2023-09-30 -``` -- due: 2023/09/30 -- status: 100% - -### Description -- simple membership management setup (fixed CC list) -- instruction on how to register to the membership set / setup up (for Waku CCs) - -#### Goal -Run RLN relay on the Waku production fleet. Waku CCs can use it - -### Info - -## 2023/09/04 - 2023/09/11 - -* if only one key exists in the keystore, use it - https://github.com/waku-org/nwaku/pull/1984 -* fix log levels for some logs - https://github.com/waku-org/nwaku/pull/1986 -* updated documentation for rln-relay - https://github.com/waku-org/nwaku/pull/1993 -* clean nullifier table every `MaxEpochGap` - https://github.com/waku-org/nwaku/pull/1994 -* created `rln_db_inspector` tool, allows inspection into merkle tree structure - https://github.com/waku-org/nwaku/pull/1999, https://github.com/waku-org/nwaku/pull/2012 -* fixed missing memberships between history sync and new memberships sync with @alrevuelta - https://github.com/waku-org/nwaku/pull/2015 -* remove `rln` from waku's experimental features - https://github.com/waku-org/nwaku/pull/2001 -* fix metric calculation for registered members - https://github.com/waku-org/nwaku/pull/2018 -* uups proxy for waku-rln-registry - https://github.com/waku-org/waku-rln-contract/pull/9 - -## 2023/08/28 - 2023/09/04 - -* rln was enabled by default in the Makefile - fixed - https://github.com/waku-org/nwaku/pull/1964 -* ordered pubsub validator execution - https://github.com/waku-org/nwaku/pull/1966 -* fixed deserialization of valid merkle roots - https://github.com/waku-org/nwaku/pull/1973 -* confirm that the fetched credential from the keystore is registered to the membership set - https://github.com/waku-org/nwaku/pull/1980 -* fixed makefile target for zerokit's `librln.a` - https://github.com/waku-org/nwaku/pull/1981 -* converted zero-based indexing to 1-based indexing on vacp2p/rln-contract - https://github.com/vacp2p/rln-contract/pull/28 -* downstreamed zero-based indexing to waku-org/waku-rln-contract - https://github.com/waku-org/waku-rln-contract/pull/8 - -* deployed new version of the registry contract on sepolia - `0xc04937d502E0ae671cedFC2A0BCD6692055520f3` - -#### 2023/08/21 - 2023/08/28 - -* tree metadata should include chainId and contractAddress - https://github.com/waku-org/nwaku/pull/1932 -* set flush_interval appropriately -https://github.com/waku-org/nwaku/pull/1933 -* integrate new WakuRlnRegistry contract - https://github.com/waku-org/nwaku/pull/1943 -* bump zerokit to v0.3.2 -* https://github.com/waku-org/nwaku/pull/1951 -* tree metadata should include window of roots - https://github.com/waku-org/nwaku/pull/1953 -* sync tree state from contract deployed block number - https://github.com/waku-org/nwaku/pull/1955 -* optimization to waku_keystore - https://github.com/waku-org/nwaku/pull/1956 -* fixed a forceProgression bug in the WakuRlnRegistry contract - https://github.com/waku-org/waku-rln-contract/pull/6 - -#### 2023/08/14 - 2023/08/21 -* rpc handler for waku rln relay - https://github.com/waku-org/nwaku/pull/1852 -* fixed 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 - -#### 2023/08/07 - 2023/08/14 -* Created tracking issue to manage status of this milestone - https://github.com/waku-org/nwaku/issues/1906 - -#### 2023/07/31 - 2023/08/07 - -* [Waku RLN contract registry](https://github.com/waku-org/waku-rln-contract/pull/3) -* [Mark duplicated messages as spam](https://github.com/waku-org/nwaku/pull/1867) -* [Use `waku-org/waku-rln-contract` as a submodule in `nwaku`](https://github.com/waku-org/nwaku/pull/1884) - -### Deliverables - -* https://github.com/waku-org/nwaku/issues/1906 diff --git a/content/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md b/content/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md deleted file mode 100644 index f2edabdce..000000000 --- a/content/vac/acz/rlnp2p/waku/rln-relay-enhancements_02.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Waku RLN-RELAY Enhancements 02 ---- - -## `vac:acz:rlnp2p::waku:rln-relay-enhancements_02` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - RLN-RELAY enhancements 02:done, 2023-09-01, 2023-11-30 - -``` - -- status: 100% -- CC: Aaryamann - -### Description - -* continuation of [[rln-relay-enhancements|rln-relay-enhancements]] -* comprises further enhancements of RLN relay, requested by the Waku team - -### Justification - -### Risks - -### Deliverables - - diff --git a/content/vac/acz/rlnp2p/waku/rln-relay-erc20.md b/content/vac/acz/rlnp2p/waku/rln-relay-erc20.md deleted file mode 100644 index d0c218624..000000000 --- a/content/vac/acz/rlnp2p/waku/rln-relay-erc20.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "RLN relay ERC20" -description: "ERC20 token support for RLN relay." ---- -## `vac:acz:rlnp2p:waku:rln-relay-erc20` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD -``` - -- status: 0% -- CC: Aaryamann - -### Description - -* future work - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/acz/rlnp2p/waku/rlnv2-e2e.md b/content/vac/acz/rlnp2p/waku/rlnv2-e2e.md deleted file mode 100644 index 486239052..000000000 --- a/content/vac/acz/rlnp2p/waku/rlnv2-e2e.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: RLN v2 E2E integration ---- - -## `vac:acz:rlnp2p:waku:rlnv2-e2e` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - RLN v2 e2e Integration : done, 2024-05-20, 2024-06-20 -``` -- due: 2024-06-20 -- status: 100% - -### Description -- [x] Come up with final gas estimation after the optimizations (RLN v2 + RLN in resource-restricted) -- [x] Deliver end-to-end PoC working in The Waku Network showcasing the new features. -- [x] Bug fixes found along testing -- [x] New smart contract with both RLNv2 and RLN in resource-restricted clients changes. -- [x] Deploy and consider using a L2 testnet. -- [ ] ~Deprecate tree sync in nwaku~ (deferred because blocked) - -#### Goal -Run RLN relay v2 on TWN. - -### Deliverables - -- [x] https://github.com/waku-org/pm/issues/168 -- [x] https://github.com/waku-org/nwaku/issues/2758 diff --git a/content/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md b/content/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md deleted file mode 100644 index 74cb64655..000000000 --- a/content/vac/acz/rlnp2p/waku/rlnv2-relay-integration.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "RLN v2 Waku Relay Integration" -description: "Integrating RLN v2 into Waku Relay." ---- -## `vac:acz:rlnp2p:waku:rlnv2-relay-integration` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - RLN v2 relay integration:done, 2023-11-01, 2024-02-29 -``` - -- status: 100% -- CC: Aaryamann - -### Description - -* also involves - - TKE - - implemenations in various Waku versions - - -### Justification - -rln-v2 brings multi message per epoch signaling which is favourable for all users of rln instead of abiding by one global rate limit. - -### Deliverables - -- [x] https://github.com/waku-org/nwaku/issues/2345 - - diff --git a/content/vac/acz/secure-channels/waku/fd-design.md b/content/vac/acz/secure-channels/waku/fd-design.md deleted file mode 100644 index 93c77f812..000000000 --- a/content/vac/acz/secure-channels/waku/fd-design.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Secure Channels - fully decentralized design" ---- -## `vac:acz:secure-channels:waku:fd-design` ---- - -```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 - FD Design: 2023-04-29, 2024-12-15 -``` - -- status: 5% -- CC: Ramses, Ugur - -### Description - -* follow up of [[vac/acz/secure-channels/waku/mls-design|mls-design]] - -While MLS, an established protocol, allows us to quicker release a secure key setup protocol with an Ethereum authenticator, -MLS is federated in nature and makes reliability assumptions in regards to the underlying message dissemination layer. -We work towards mitigating this using on-chain components in the planned deliverables for the milestone linked above. - -However, we still desire a fully decentralized version that ideally does not require an on-chain component. -This Milestone tracks this effort. - -### Justification - - -### Deliverables - -* specification (RFC) - - diff --git a/content/vac/acz/secure-channels/waku/fd-poc.md b/content/vac/acz/secure-channels/waku/fd-poc.md deleted file mode 100644 index ba7b4be79..000000000 --- a/content/vac/acz/secure-channels/waku/fd-poc.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Secure Channels - PoC of fully decentralized protocol" ---- -## `vac:acz:secure-channels:waku:fd-poc` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - FD PoC: 2024-12-01, 2025-06-30 -``` - -- status: 0% -- CC: - -### Description - -* PoC implementation of [[vac/acz/secure-channels/waku/fd-design|fd-design]] - -### Justification - - -### Deliverables - diff --git a/content/vac/acz/secure-channels/waku/mls-design.md b/content/vac/acz/secure-channels/waku/mls-design.md deleted file mode 100644 index 17dcd6cf5..000000000 --- a/content/vac/acz/secure-channels/waku/mls-design.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Secure Channels - MLS design" ---- -## `vac:acz:secure-channels:waku:mls-design` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Ethereum Chat: done, 2023-09-12, 2024-05-31 -``` - -- status: 100% -- CC: Ramses - -### Description - -The goal of this milestone is having - -* using the [noise](http://noiseprotocol.org/noise.html) framework -* Ethereum Wallet address used to derive authentication key for noise -* Design an Ethereum address-based 1:1 chat - - should be transport agnostic - - toy eth chat: https://rfc.vac.dev/spec/20/ - - this milestone requires forward secrecy (see limitations section of the toy eth chat RFC) - - consider using https://eips.ethereum.org/EIPS/eip-5564 -* Naive Groupchat functionality (using `n` 1:1 chat channels) -* involve metamask here (metamask im team) - -* a follow up milestone will cover running Ethereum chat on top of Waku -* follow up goal: develop this into an EIP - - -### Justification - - -### Deliverables - -* [x] https://github.com/vacp2p/rfc-index/blob/main/vac/raw/eth-secpm.md (specification) - - diff --git a/content/vac/acz/secure-channels/waku/mls-poc.md b/content/vac/acz/secure-channels/waku/mls-poc.md deleted file mode 100644 index cd257da37..000000000 --- a/content/vac/acz/secure-channels/waku/mls-poc.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "Secure Channels - MLS PoC" ---- -## `vac:acz:secure-channels:waku:mls-poc` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - MLS PoC: done, 2024-04-29, 2024-07-15 -``` - -- status: 100% -- CC: - - Ekaterina - - Aaryamann - -### Description - -* proof of concept implementation of [[vac/acz/secure-channels/waku/mls-design|mls-design]] -* repo: https://github.com/vacp2p/de-mls -* issues: - * https://github.com/vacp2p/de-mls/issues/1 - * https://github.com/vacp2p/de-mls/issues/2 - * https://github.com/vacp2p/de-mls/issues/3 - -### Justification - - -### Deliverables - -* Engineers implementing the researchers advice on how to proceed with the PoC - - [x] https://github.com/vacp2p/de-mls/issues/1 - - [x] https://github.com/vacp2p/de-mls/issues/2 - - [x] https://github.com/vacp2p/de-mls/issues/3 - - [x] https://github.com/vacp2p/de-mls/issues/4 - - [x] https://github.com/vacp2p/de-mls/issues/5 - - [x] https://github.com/vacp2p/de-mls/issues/6 - - diff --git a/content/vac/acz/stealth-address-kit/maintenance.md b/content/vac/acz/stealth-address-kit/maintenance.md deleted file mode 100644 index 425b0c719..000000000 --- a/content/vac/acz/stealth-address-kit/maintenance.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Stealth Address Kit Maintenance ---- -## `vac:acz:stealth-address-kit: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 - Stealth Address Kit Maintenance: , 2024-02-01, 2024-12-31 -``` - -- status: 80% -- CC: Aaryamann - -### Description - -Continue supporting and maintaining the [stealth-address-kit](https://github.com/vacp2p/erc-5564-rs) repo. -### Justification - -This will be a viable privacy solution for status (private transfers) and waku (rln membership insertion) - -### Deliverables - -- [x] rename erc-5564-rs to `stealth-address-kit` -- The following releases have been made - - - [x] https://github.com/vacp2p/stealth-address-kit/releases/tag/v0.3.1 - - [x] https://github.com/vacp2p/stealth-address-kit/releases/tag/v0.2.0 - - [x] https://github.com/vacp2p/stealth-address-kit/releases/tag/v0.1.0 - diff --git a/content/vac/acz/stealth-address-kit/research.md b/content/vac/acz/stealth-address-kit/research.md deleted file mode 100644 index 373995c36..000000000 --- a/content/vac/acz/stealth-address-kit/research.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Stealth Address Kit Research ---- -## `vac:stealth-address-kit:research` ---- - -> note: there is no gantt chart for this milestone - -### Description - -Further the research of the [stealth address scheme](https://eips.ethereum.org/EIPS/eip-5564) and collaborate with EF researchers to do so. -### Justification - -This will be a viable privacy solution for status (private transfers) and waku (rln membership insertion) -### Deliverables - diff --git a/content/vac/acz/validator-privacy/nimbus/productionize-tor-push.md b/content/vac/acz/validator-privacy/nimbus/productionize-tor-push.md deleted file mode 100644 index 2dd473cc7..000000000 --- a/content/vac/acz/validator-privacy/nimbus/productionize-tor-push.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Productionize Tor Push in Nimbus ---- -## `vac:acz:validator-privacy:nimbus:productionize-tor-push` ---- - -```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 - Productionize tor push: , 2024-05-13, 2024-08-13 -``` - -- status: 0% -- CC: Aaryamann - -### Description - -To make the tor push feature as accessible as running `--tor-push:true` while running a nimbus validator. -### Justification - -Improved privacy guarantees for ethereum validators -### Deliverables - -- [ ] TBD diff --git a/content/vac/acz/zerokit/vac/maintenance.md b/content/vac/acz/zerokit/vac/maintenance.md deleted file mode 100644 index b035a4970..000000000 --- a/content/vac/acz/zerokit/vac/maintenance.md +++ /dev/null @@ -1 +0,0 @@ -ongoing: zerokit maintenance diff --git a/content/vac/acz/zerokit/vac/zerokit-v0-4.md b/content/vac/acz/zerokit/vac/zerokit-v0-4.md deleted file mode 100644 index 9ca4e7d22..000000000 --- a/content/vac/acz/zerokit/vac/zerokit-v0-4.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Zerokit v0.4 Release Details ---- -## `vac:acz:zerokit::vac:zerokit-v0.4` ---- -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section zerokit - v0.4 Release :done, 2023-01-20, 2023-09-07 -``` -- due: 2023/09/07 -- status: 100% - -### Description -- Release Planning - [Github Issue #197](https://github.com/vacp2p/zerokit/issues/197) - -### Deliverables - -* https://github.com/vacp2p/zerokit/releases/tag/v0.4.0 - -### Info - -## 2023/08/14 - 2023/08/21 - -* substitute id_commitments for rate_commitments and update tests in rln-v2 - https://github.com/vacp2p/zerokit/pull/205 -* rln-v2 working branch - https://github.com/vacp2p/zerokit/pull/204 - -## 2023/08/07 - 2023/08/14 - -* Serde api’s updated - https://github.com/vacp2p/zerokit/pull/202 - -## 2023/07/31 - 2023/08/07 - -* zerokit v0.4.0 release planning - https://github.com/vacp2p/zerokit/issues/197 diff --git a/content/vac/acz/zerokit/vac/zerokit-v0-5.md b/content/vac/acz/zerokit/vac/zerokit-v0-5.md deleted file mode 100644 index a90e8f956..000000000 --- a/content/vac/acz/zerokit/vac/zerokit-v0-5.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Zerokit v0.5 Release ---- -## `vac:acz:zerokit::vac:zerokit-v0.5` ---- -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - v0.5 Release: done, 2023-10-01, 2024-06-01 -``` -- status: 100% -- CCs: - - Ekaterina - - Aaryamann -### Description - -* Release Planning issue: https://github.com/vacp2p/zerokit/issues/237 - -### Deliverables - -- [x] https://github.com/vacp2p/zerokit/pull/239 -- [x] https://github.com/vacp2p/zerokit/pull/242 -- [x] https://github.com/vacp2p/zerokit/pull/243 -- [x] https://github.com/vacp2p/zerokit/pull/245 -- [x] https://github.com/vacp2p/zerokit/pull/246 diff --git a/content/vac/acz/zerokit/vac/zerokit-v0-6.md b/content/vac/acz/zerokit/vac/zerokit-v0-6.md deleted file mode 100644 index 919e6e60d..000000000 --- a/content/vac/acz/zerokit/vac/zerokit-v0-6.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Zerokit v0.6 Release ---- -## `vac:acz:zerokit::vac:zerokit-v0.6` ---- -```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 - v0.6 Release: , 2024-08-12, 2024-10-12 -``` -- status: 40% -- CCs: - - Ekaterina - -### Description - -* Release Planning issue: https://github.com/vacp2p/zerokit/issues/263 - -This release's major feature is stateless RLN. - -### Deliverables - -- [x] https://github.com/vacp2p/zerokit/pull/265 -- [x] https://github.com/vacp2p/zerokit/pull/266 -- [x] https://github.com/vacp2p/zerokit/pull/267 -- [ ] https://github.com/vacp2p/zerokit/pull/270 -- [ ] https://github.com/vacp2p/zerokit/pull/269 - diff --git a/content/vac/create_dirs.bash b/content/vac/create_dirs.bash deleted file mode 100644 index 8bc86af6a..000000000 --- a/content/vac/create_dirs.bash +++ /dev/null @@ -1,25 +0,0 @@ - -# 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/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md b/content/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md deleted file mode 100644 index 737494109..000000000 --- a/content/vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Blockchain Security in Crypto-economic Models" ---- -## `vac:dr:consensus:vac:blockchain-security-in-crypto-economic-models` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Blockchain Security in Crypto-economic Models: 2023-11-01, 2024-02-29 -``` - -- status: 0% -- CC: Moh - -### Description - -This research will provide a comprehensive security analysis of Carnot under the Crypto Economic Model. -This is a new security model for distributed consensus algorithms in which economic attacks on the protocol will be considered. - - -### Justification - -The combination of PoS and distributed consensus, necessitates a new comprehensive security model for blockchain ecosystem. - -### Risks - -This is a new research direction. - -### Deliverables - -* conference paper - diff --git a/content/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md b/content/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md deleted file mode 100644 index 47241842e..000000000 --- a/content/vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: "Carnot 2/3 Vote aggregation" ---- -## `vac:dr:nomos:nomos:carnot-vote-2-3rds-vote-aggregation` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Carnot 2/3 Vote Aggregation: 2023-08-01, 2023-10-15 -``` - -- status: 20% -- CC: Moh - - -### Description - -This research will use the Carnot flexible design to make it collect more than 2/3rd of cryptographic proof of votes cast for a block. - -* write a research log post -* desciption of the solution - -* support by the DST team: [[ roadmap/vac/dst/dr-support/vac/carnot-2-3rds-executable-spec | carnot-2rds-executable-spec ]] - -### Risks - -Might slightly increase the protocol overhead. But we make sure this overhead is minimal. - -### Justification - - -### Deliverables - -* [x] Presentation slides (logos research) -* Pseudocode (potentially paper in a future milestone) -* notion doc describing the solution -* research log post -* python code, support by the DST team [[ roadmap/vac/dst/dr-support/vac/carnot-2-3rds-executable-spec | carnot-2rds-executable-spec ]] -* RFC on rfc.vac.dev containing executable spec - -Note: Need to be discussed: The Pseudocode can be completed earlier so that devs can began implementation, whereas the paper can be completed later. - - diff --git a/content/vac/dr-ice/consensus/nomos/carnot-bribary-article.md b/content/vac/dr-ice/consensus/nomos/carnot-bribary-article.md deleted file mode 100644 index e2cbe0ffd..000000000 --- a/content/vac/dr-ice/consensus/nomos/carnot-bribary-article.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Carnot Bribary Article" ---- -## `vac:dr:consensus:nomos:carnot-bribary-article` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Carnot Bribary Article: 2023-08-01, 2023-08-31 -``` - -- status: ?% -- CC: - -### Description - -The article describes how multi-dimensional bribery attacks cannot be addressed at the consensus layer alone. -A proper game theoretical, economic analysis also needs to be done. The solution to this problem will also touch on several aspects -including the economy, distributed systems, and cryptography. - - -This Milestone also comprises a presentation: -This presentation slide describes how multi-dimensional bribery attacks cannot -be addressed at the consensus layer alone. By combining PoS with the -distributed consensus a new dimension is introduced into the ecosystem. Now the -security of the protocol should also be considered against economic attacks. -The presentation provides an example based on the Crypto Economic security -model of how any PoS consensus protocol can fail against a bribing attack. The -presentation emphasizes that a proper game theoretical, and economic analysis -also needs to be done. It also suggests a solution for addressing bribing -attacks in Carnot consensus. - -### Risks - -This problem has not been properly addressed for PoS protocols. - - -### Justification - - -### Deliverables - -* A report on how bribery attacks can be addressed in PoS. This will ultimately give a new research direction. - -* [presentation slides](https://www.notion.so/Roadmap-Deep-Research-DR-561a864c890549c3861bf52ab979d7ab?pvs=4#5873a631da964b34a24e5a05307b29ae) -* [current status](https://hackmd.io/oCOmQD6sSLOsjqr7sh7jNw) - - diff --git a/content/vac/dr-ice/consensus/nomos/carnot-paper_02.md b/content/vac/dr-ice/consensus/nomos/carnot-paper_02.md deleted file mode 100644 index a6a3da3e5..000000000 --- a/content/vac/dr-ice/consensus/nomos/carnot-paper_02.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Carnot Paper 02" ---- -## `vac:dr:consensus:nomos:carnot-paper_02` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Carnot Paper: 2023-09-01, 2024 -``` - -- status: 10% -- CC: Moh - -### Description - -* complete experimental results -* publish the paper at a scientific conference or journal -* present the paper at the conference - -* the goal is to submit before end of 2023 - -### Risks - -* We need to find a fitting conference and the respective deadlines might not align. -* review process takes a long time - -(No fixed deadline because of these risks.) - -### Justification - - -### Deliverables - - - - diff --git a/content/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md b/content/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md deleted file mode 100644 index e6603c281..000000000 --- a/content/vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: "Detecting Reporting Attacks Carnot" ---- -## `vac:dr:consensus:nomos:detecting-reporting-attacks-carnot` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Detecting Reporting Attacks Carnot: 1970-01-01, 1970-01-02 -``` - -- status: 0% -- CC: Moh - -### Description - -This research work will describe the mechanism of how various attacks can be detected, reported, and slashed in the consensus. - -### Justification - - -### Deliverables - -* algorithm -* pseudocode -* spec -* rlog post - - - diff --git a/content/vac/dr-ice/consensus/nomos/inter-chain-protocol.md b/content/vac/dr-ice/consensus/nomos/inter-chain-protocol.md deleted file mode 100644 index 986e0ac04..000000000 --- a/content/vac/dr-ice/consensus/nomos/inter-chain-protocol.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Inter Chain Protocol" ---- -## `vac:dr:consensus:nomos:inter-chain-protocol` ---- - -- status: 0% -- CC: Moh - -### Description - -Exploring the interplay between the main chain and execution zones or chains is a pivotal aspect of our research. -Our inquiry delves into how these zones are initiated from the main chain, ensuring their security and data availability. -Additionally, we address the optimization of interaction among independent chains, facilitating efficient cross-chain communication and collaboration. - -### Justification - - -### Deliverables - -* Algorithm -* spec - - diff --git a/content/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md b/content/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md deleted file mode 100644 index 09566d88f..000000000 --- a/content/vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Multi-Leader and Multi-Overlay Carnot" ---- -## `vac:dr:consensus:nomos:multi-leader-and-multi-overlay-carnot` ---- - -- status: 0% -- CC: Moh - -### Description - -In pursuit of heightened resilience and performance optimization, our research extends to multi-leader and multi-overlay Carnot configurations. -This direction seeks to bolster the protocol's resistance against Denial of Service (DoS) and bribery attacks. -By introducing multiple leadership nodes and overlay structures, we envision a protocol that thrives in adversarial environments while maintaining exceptional performance standards. - -As we navigate this deep research trajectory, our collective efforts contribute to the advancement of blockchain technology, ushering in a new era of consensus, privacy, and scalability. - -Has to adhere to Nomos architecture (specific specifications) - -* Nomos Whitepaper -* has to adhere to privacy requirements - -### Justification - - -### Deliverables - -* Algorithm -* spec - diff --git a/content/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md b/content/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md deleted file mode 100644 index fd1477361..000000000 --- a/content/vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: "Network Privacy Stack - Stakeholder Privacy" -description: "Main goal: finding in-protocol (carnot) mechanisms to solve the problem of timing attacks." ---- -## `vac:dr:consesus:nomos:stake-privacy-timing-attacks` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Stake Privacy - Timing Attacks: -``` - -- status: 0% -- CC: Moh - -### Description - -This milestone comprises component 3 of the [Nomos network privacy stack](https://www.notion.so/Network-Privacy-Stack-2a2a86647d2a42ca9de6940c55f99851) -in the context of consensus privacy: - -The main goal of this work is finding in-protocol (carnot) mechanisms to solve the problem of timing attacks. - -Upper layer protections of the network from the sender: Simplest solution to prevent attacks to private PoS: minimum age of transaction for inclusion. - -Certain types of timing attacks and network observation to identify high stake participants are already being worked on at the network level. -However, this problem should be considered at the PoS/consesus layer as well. - - -#### more info - -* [paper: On the Anonymity Guarantees of Anonymous Proof-of-Stake Protocols](https://eprint.iacr.org/2021/409.pdf) - -From the abstract: - -``` -[...] focus on anonymizing the -messages of the blockchain protocol, but suggest that potential identity leaks from the networklayer can be removed as well by employing anonymous broadcast channels. -In this work we show that this intuition is flawed. -``` - -Generally, our endeavor in stake privacy research centers on preserving the confidentiality of validator stakes. -By leveraging cryptographic techniques and innovative approaches, we aim to enhance the privacy and security of staking operations within the Carnot ecosystem. - -Older docs: - -* Hash-based Node Id encryption Hash-based-Node-Id-encryption-7bfb11941a6840c49bfe065f535877c9?pvs=24 -* Carnot PoS Discussion notion.so/Carnot-PoS-Discussion-f2ef371102f6433da81fb1b1b9213c2b?pvs=24 - -Potential future solutions (outside the scope of this mile stone) comprise: proof of mixing + modifications to the base mixnet design. This seems like a difficult path, for long-term research if feasible. - -### Justification - -This is and important step towards achieving the Nomos privacy requirements. - -### Deliverables - -* specification - - - diff --git a/content/vac/dr-ice/index.md b/content/vac/dr-ice/index.md deleted file mode 100644 index 96949f011..000000000 --- a/content/vac/dr-ice/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Deep Research Service Unit - Icebox Milestones -tags: -- dr -- vac -date: 2024-05-14 -lastmod: 2024-05-14 ---- - -## `vac:dr:valpriv:vac:` - -* [[vac/dr-ice/valpriv/vac/tor-push-rln|tor-push-rln]] -* [[vac/dr-ice/valpriv/vac/priv-validator-network|priv-validator-network]] -* [[vac/dr-ice/valpriv/vac/mix-net-solution|mix-net-solution]] - -## `vac:dr:valpriv:nomos:` - -* [[vac/dr-ice/valpriv/nomos/validator-privacy|validator-privacy]] - -## `vac:dr:consensus:nomos:` - -* [[vac/dr-ice/consensus/nomos/carnot-paper_02|carnot-paper_02 ]] -* [[vac/dr-ice/consensus/nomos/carnot-bribary-article|carnot-bribary-article]] -* [[vac/dr-ice/consensus/nomos/carnot-2-3rds-vote-aggregation|carnot-2-3rds-vote-aggregation]] -* [[vac/dr-ice/consensus/nomos/blockchain-security-in-crypto-economic-models|blockchain-security-in-crypto-economic-models]] -* [[vac/dr-ice/consensus/nomos/detecting-reporting-attacks-carnot|detecting-reporting-attacks-carnot]] -* [[vac/dr-ice/consensus/nomos/stake-privacy-timing-attacks|stake-privacy-timing-attacks]] -* [[vac/dr-ice/consensus/nomos/inter-chain-protocol|inter-chain-protocol]] -* [[vac/dr-ice/consensus/nomos/multi-leader-and-multi-overlay-carnot|multi-leader-and-multi-overlay-carnot ]] - diff --git a/content/vac/dr-ice/valpriv/nomos/validator-privacy.md b/content/vac/dr-ice/valpriv/nomos/validator-privacy.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/dr-ice/valpriv/vac/mix-net-solution.md b/content/vac/dr-ice/valpriv/vac/mix-net-solution.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/dr-ice/valpriv/vac/priv-validator-network.md b/content/vac/dr-ice/valpriv/vac/priv-validator-network.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/dr-ice/valpriv/vac/tor-push-rln.md b/content/vac/dr-ice/valpriv/vac/tor-push-rln.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/dr/anon/vac/gossipsub-anonymity.md b/content/vac/dr/anon/vac/gossipsub-anonymity.md deleted file mode 100644 index da0676687..000000000 --- a/content/vac/dr/anon/vac/gossipsub-anonymity.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Gossipsub Anonymity Layer" ---- -## `vac:dr:anon:vac:gossipsub-anonymity` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Gossipsub Anonymity Layer: 2024-04-15, 2024-12-15 -``` - -- status: 50% -- CC: Akshaya - -### 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. - -### Justification - -Currently, IFT projects do not provide enough anonymity guarantees. -Privacy protection, which entails anonymity, is part of the [logos manifesto](https://logos.co/manifesto/). - -#### Deliverables - -* 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/ diff --git a/content/vac/dr/consensus/nomos/carnot-paper.md b/content/vac/dr/consensus/nomos/carnot-paper.md deleted file mode 100644 index 67ae983ed..000000000 --- a/content/vac/dr/consensus/nomos/carnot-paper.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: "Carnot Paper" ---- -## `vac:dr:consensus:nomos:carnot-paper` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Carnot Paper: done, 2023-01-20, 2023-09-30 -``` - -- status: 100% -- CC: Moh - -### Description - -First version of a scientific carnot paper. -Publish on arxiv. - -### Justification - - -### Deliverables - -* https://arxiv.org/pdf/2308.16016.pdf - - - diff --git a/content/vac/dr/g/nomos/reviews.md b/content/vac/dr/g/nomos/reviews.md deleted file mode 100644 index 7d072f315..000000000 --- a/content/vac/dr/g/nomos/reviews.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Reviews" -description: "research consulting: reviews of documents / papers" ---- -## `vac:dr:g:nomos:reviews` ---- - -- status: ongoing -- CC: team - -### Description - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md b/content/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md deleted file mode 100644 index 8d4cc1ff8..000000000 --- a/content/vac/dr/gsub-scaling/vac/gossipsub-improvements-paper.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "Gossipsub Improvements Paper" ---- -## `vac:dr:gsub-scaling:vac:gossipsub-improvements-paper` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Gossipsub Improvements paper: 2023-06-01, 2023-10-31 -``` - -- status: 70% -- CC: Farooq - -### Description - -[background + first results + potential improvements](https://hackmd.io/X1DoBHtYTtuGqYg0qK4zJw) - -* comprehensive current/related work study on gossipsub scaling (including relevant work outside of gossipsub, in the broader area of unstructured P2P networks in general) -* complete technical report on gossip scaling / gossipsub improvements (containing, but not limited to, our previous research) -* research log post (vac.dev) based on the techreport -* talk @ Logos research call -* scientific paper ready for publication - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dr/gsub-scaling/vac/gossipsub-simulation.md b/content/vac/dr/gsub-scaling/vac/gossipsub-simulation.md deleted file mode 100644 index 397b0a809..000000000 --- a/content/vac/dr/gsub-scaling/vac/gossipsub-simulation.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Gossipsub Simulation" ---- -## `vac:dr:gsub-scaling:vac:gossipsub-simulation` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Gossipsub Simulation: 2023-06-31, 2023-09-30 -``` - -- status: 20% -- CC: Farooq - -### Description - -* simple gossipsub node (in nim) for DST/Wakurtosis simulations -* PoC [shadow](https://github.com/shadow/shadow) simulation - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md b/content/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md deleted file mode 100644 index 6de3947ca..000000000 --- a/content/vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Unstructured P2P Improvements Survey" ---- -## `vac:dr:gsub-scaling:vac:unstructured-p2p-improvements-survey` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Unstructured P2P Improvements Survey: 2023-08-15, 2023-12-31 -``` - -- status: 20% -- CC: Farooq - -### Description - -* survey techreport -* survey scientific paper if there is enough to justify a paper - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dr/index.md b/content/vac/dr/index.md deleted file mode 100644 index a539fac61..000000000 --- a/content/vac/dr/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Deep Research Service Unit -tags: -- dr -- vac -date: 2023-08-25 -lastmod: 2024-05-14 ---- - -## `vac:dr:valpriv:vac:` - -* [x] [[vac/dr/valpriv/vac/tor-push-poc|tor-push-poc]] -* [x] [[vac/dr/valpriv/vac/tor-push-rel-work|tor-push-rel-work]] -* [[vac/dr/valpriv/vac/tor-push-paper|tor-push-paper]] - -## `vac:dr:gsub-scaling:vac:` - -* [[vac/dr/gsub-scaling/vac/gossipsub-simulation|gossipsub-simulation]] -* [[vac/dr/gsub-scaling/vac/gossipsub-improvements-paper|gossipsub-improvements-paper]] -* [[vac/dr/gsub-scaling/vac/unstructured-p2p-improvements-survey|unstructured-p2p-improvements-survey]] - -## `vac:dr:consensus:nomos:` - -* [x] [[vac/dr/consensus/nomos/carnot-paper|carnot-paper]] - -## `vac:dr:zk:codex:` - -* [x] [[ vac/dr/zk/codex/storage-proofs-open-problems-review | storage-proofs-open-problems-review ]] -* [[ vac/dr/zk/codex/zk-consulting | zk-consulting ]] - -## `vac:dr::nomos:` -* [[ vac/dr/g/nomos/reviews | reviews ]] - -## `vac:dr:anon:vac:` -* [[ vac/dr/anon/vac/gossipsub-anonymity | gossipsub-anonymity ]] - diff --git a/content/vac/dr/valpriv/vac/tor-push-paper.md b/content/vac/dr/valpriv/vac/tor-push-paper.md deleted file mode 100644 index 08247b5c5..000000000 --- a/content/vac/dr/valpriv/vac/tor-push-paper.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: "Tor Push Paper" ---- -## `vac:dr:valpriv:vac:tor-push-paper` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Tor Push Paper: 2023-08-01, 2023-11-30 -``` - -- status: 30% -- CC: Umar - -### Description - -Comprises: - -* thorough anonymity/sec analysis of Tor push for Validator privacy -* thorough latency analysis of Tor push -* paper (for workshop) on introducing and analysing Tor-push - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dr/valpriv/vac/tor-push-poc.md b/content/vac/dr/valpriv/vac/tor-push-poc.md deleted file mode 100644 index 5896c8d94..000000000 --- a/content/vac/dr/valpriv/vac/tor-push-poc.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Tor Push PoC" ---- -## `vac:rc:valpriv:vac:tor-push-poc` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Tor Push PoC: 2023-06-01, 2023-09-15 -``` - -- status: 80% -- CC: Umar - -### Description - -* [x] first PoC of Tor push in Nimbus (testnet Goerli) https://github.com/vacp2p/nimbus-eth2-experimental/issues/1 - - first latency measurements (comprehensive analysis in next milestone) -* research log post on Tor push / Nimbus PoC incl first latency measurements -* add epoch support as described in the [RFC](https://rfc.vac.dev/spec/46/) -* update/adjust Tor push spec -* talk @ Logos research call -* refine PoC (should fully cover the RFC) -* thorough latency measurements for[[vac/dr/valpriv/vac/tor-push-paper|tor-push-paper]] - -#### Info - -* The epochs - -### Justification - - -### Deliverables - -* [WIP] https://github.com/vacp2p/nimbus-eth2-experimental/pull/3 - diff --git a/content/vac/dr/valpriv/vac/tor-push-rel-work.md b/content/vac/dr/valpriv/vac/tor-push-rel-work.md deleted file mode 100644 index a59d7a3b4..000000000 --- a/content/vac/dr/valpriv/vac/tor-push-rel-work.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: "Tor Push Related Work" ---- -## `vac:dr:valpriv:vac:tor-push-rel-work` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Tor Push Related Work: done, 2023-06-01, 2023-09-15 -``` - -- status: 100% -- CC: Umar - -### Description - -Background and motivation [here](https://ethresear.ch/t/a-tor-based-validator-anonymity-approach-incl-comparison-to-dandelion/14134). - -* comprehensive current/related work study on Validator Privacy - - focus on network layer but also including: network vs consesus layer privacy (SSLE), as well as combinations - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dr/zk/codex/storage-proofs-open-problems-review.md b/content/vac/dr/zk/codex/storage-proofs-open-problems-review.md deleted file mode 100644 index c604a0e16..000000000 --- a/content/vac/dr/zk/codex/storage-proofs-open-problems-review.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Storage Proofs: Open Problems Review" -description: "Review Codex' storage proof ZK related open research problems." ---- -## `vac:dr:zk:codex:open-problems-review` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Open Problems Review: 2023-09-20, 2023-11-30 -``` - -- status: 100% -- CC: Marvin - -### Description - -* https://github.com/codex-storage/zk-research-artifacts/blob/master/storage_proofs/storage_proof_musings.md - - -### Justification - - -### Deliverables - -* [x] sanity checks of existing documents - - - diff --git a/content/vac/dr/zk/codex/zk-consulting.md b/content/vac/dr/zk/codex/zk-consulting.md deleted file mode 100644 index efa7c8330..000000000 --- a/content/vac/dr/zk/codex/zk-consulting.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "Codex Deep Research ZK consulting" -description: "consulting Codex on various ZK related subtasks" ---- -## `vac:dr:zk:codex:zk-consulting` ---- - -```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 - zk-consulting: 2024-04-14, 2024-12-31 -``` - -- status: 10% -- CC: Marvin - -### Description - -This Milestone comprises deep research ZK consulting for Codex: -Here is a high level description of Codex ZK research problems: https://hackmd.io/1IZiFSiYSdyrbaKxKeUevg - -1) summarizing existing research relevant for us (exactly which papers is kind of dynamically determined), in form of PDF notes and face-to-face explanations. We agreed with Marvin that this is probably the easiest way to get something going -2) finding a suitable set commitment scheme (for tracking which proofs are present / not present in an aggregated proof) -3) figuring out the details of recursion for elliptic-curve-and-pairing based schemes (while this is solved, more clarity on this is required) - -Regarding 3): Even if we end up using a non EC scheme for "large data", KZG (and thus EC pairings) seems to be a much better choice for "small data", -so we will probably need this in any case (unless we can efficiently verify KZG proofs in a small field / FRI setting). - -Some of these tasks are explorative. Expected outputs are regular reports. - -A follow-up milestone for the next reporting period is expected. - -### Justification - - -### Deliverables - -* regular reports. - - diff --git a/content/vac/dst-ice/analysis-gsub-model/status/control-messages.md b/content/vac/dst-ice/analysis-gsub-model/status/control-messages.md deleted file mode 100644 index 027b2e7cd..000000000 --- a/content/vac/dst-ice/analysis-gsub-model/status/control-messages.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "Control Messages" ---- -## `vac:dst:analysis-gsub-model:status:control-messages` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Control Messages: 2023-07-01, 2023-09-15 -``` - -- status: 85% -- CC: Ganesh - -### Description - - -### Justification - -### Info - -* delayed because of extending Nomos analysis milestone - -### Deliverables - - - diff --git a/content/vac/dst-ice/analysis-gsub-model/vac/refactoring.md b/content/vac/dst-ice/analysis-gsub-model/vac/refactoring.md deleted file mode 100644 index 5bfb50894..000000000 --- a/content/vac/dst-ice/analysis-gsub-model/vac/refactoring.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Refactoring" ---- -## `vac:dst:analysis-gsub-model:vac:refactoring` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Refactoring: 2023-08-01, 2023-09-30 -``` - -- status: 40% -- CC: Ganesh - -### Description - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md b/content/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md deleted file mode 100644 index a39f56ca2..000000000 --- a/content/vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Basic Shadow Simulation" ---- -## `vac:dst:analysis-shadow:vac:basic-shadow-simulation` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Basic Shadow Simulation: 2023-08-01, 2023-08-31 -``` - -- status: 90% -- CC: Jordi - -### Description - -* simple 10k shadow sim of the gossipsub node as a PoC. - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md b/content/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md deleted file mode 100644 index c543766ff..000000000 --- a/content/vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: "Shadow Gossipsub Analysis" ---- -## `vac:dst:analysis-shadow:vac:shadow-gossipsub-analysis` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Shadow Gossipsub Analysis: 2023-09-01, 2023-10-31 -``` - -- status: 0% -- CC: Jordi - -### Description - -* develop a gossipsub node with allows to set desired message rates and other properties -* try to get to a higher node number (50k?) -* research log post - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md b/content/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md deleted file mode 100644 index 36112d993..000000000 --- a/content/vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Shadow Waku Relay Analysis" ---- -## `vac:dst:analysis-shadow:waku:shadow-waku-relay-analysis` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Shadow Waku Relay Analysis: done, 2023-10-01, 2023-11-30 -``` - -- status: 0% -- CC: Jordi - -### Description - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dst-ice/dr-support/vac/carnot-executable-spec.md b/content/vac/dst-ice/dr-support/vac/carnot-executable-spec.md deleted file mode 100644 index 5a2acf0b8..000000000 --- a/content/vac/dst-ice/dr-support/vac/carnot-executable-spec.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "Carnot 2-3rds Vote Aggregation Python Implementation" ---- -## `vac:dst:dr-support:vac:carnot-2-3rds-python-impl` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Carnot 2/3rds Python Impl: 2023-09-15, 2023-10-31 -``` - -- status: 0% -- CC: Ganesh - -### Description - -* support the DR team with writing the python code for a executable specification of the Carnot 2/3rds vote aggregation - - [[carnot-2-3rds-vote-aggregation| see DR milestone: carnot-2-3rds-vote-aggregation]] - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dst-ice/index.md b/content/vac/dst-ice/index.md deleted file mode 100644 index ccb24b58d..000000000 --- a/content/vac/dst-ice/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Distributed Systems Testing Service Unit - Milestone Icebox -tags: -- dst -- vac -date: 2024-05-14 -lastmod: 2024-05-14 ---- - -## `vac:dst:` ---- - -### `wakurtosis:waku:` -* [[vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis|gossipsub-topology-analysis ]] - -### `wakurtosis:nomos:` -* [x] [[vac/dst-ice/wakurtosis/nomos/ci-integration|ci-integration ]] - -### `wakurtosis:vac:` -* [[vac/dst-ice/wakurtosis/vac/rlog|rlog]] - -### `analysis:nomos` -* [x] [[vac/dst-ice/analysis/nomos/nomos-simulation-analysis|simulation-analysis ]] - -### `analysis-gsub-model:vac` -* [[vac/dst-ice/analysis-gsub-model/vac/refactoring|refactoring ]] - -### `analysis-gsub-model:status:` -* [[vac/dst-ice/analysis-gsub-model/status/control-messages|control-messages ]] - -### `analysis-shadow:vac:` -* [[vac/dst-ice/analysis-shadow/vac/shadow-basic-simulation|shadow-basic-simulation ]] -* [[vac/dst-ice/analysis-shadow/vac/shadow-gossipsub-analysis|shadow-gossipsub-analysis ]] - -### `analysis-shadow:waku:` -* [[vac/dst-ice/analysis-shadow/waku/shadow-waku-relay-analysis|shadow-waku-relay-analysis ]] - -### `dr-support:` -* [[roadmap/vac/dst-ice/dr-support/vac/carnot-2-3rds-executable-spec|carnot-2-3rds-executable-spec ]] - diff --git a/content/vac/dst-ice/nomos/nomos-simulation-analysis.md b/content/vac/dst-ice/nomos/nomos-simulation-analysis.md deleted file mode 100644 index 85f30702e..000000000 --- a/content/vac/dst-ice/nomos/nomos-simulation-analysis.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Simulation Analysis" ---- -## `vac:dst:analysis:nomos:simulation-analysis` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Simulation Analysis: 2023-08-01, 2023-09-15 -``` - -- status: 100% -- CC: Ganesh - -### Description - - -### Justification - -### Info - -Extended: -* include signature aggregation into analysis -* write analysis section in Carnot paper - -* [nomos node](https://github.com/logos-co/nomos-node) -* [nomos simulations](https://github.com/logos-co/nomos-simulations) - -### Deliverables - - - diff --git a/content/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md b/content/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md deleted file mode 100644 index 880bdddf9..000000000 --- a/content/vac/dst-ice/wakurtosis/vac/retrospective-rlog.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Rlog: Wakurtosis Retrospective" ---- -## `vac:dst:wakurtosis:waku:retrospective-rlog` ---- - -```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 - Wakurtosis Retrospective: 2023-08-01, 2023-09-30 -``` - -- status: 50% -- CC: Jordi - -### Description - -Research log discussing what would we have needed from Wakurtosis to make it work for us beyond our smaller solution. -Why did we decide to drop Kurtosis and work towards a Kubernetes-based solution now. - -### Justification - -### Info - -* [Alberto's Opinion](https://www.notion.so/Alberto-s-Opinion-5f1af38a2e274f42baad0e322629f3a9) - -### Deliverables - - - diff --git a/content/vac/dst-ice/wakurtosis/vac/rlog.md b/content/vac/dst-ice/wakurtosis/vac/rlog.md deleted file mode 100644 index a7e862089..000000000 --- a/content/vac/dst-ice/wakurtosis/vac/rlog.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Wakurtosis Rlog" ---- -## `vac:dst:wakurtosis:waku:rlog` ---- - -```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 - Rlog Wakurtosis: 2023-06-01, 2023-08-31 -``` - -- status: 90% -- CC: Jordi - -### Description - -Research log post based on the Wakurtosis tech reports and addendum. - -### Justification - -### Info - -* delayed because of holidays / other prios - -### Deliverables - - - - diff --git a/content/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md b/content/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md deleted file mode 100644 index a4acc03c1..000000000 --- a/content/vac/dst-ice/wakurtosis/waku/gossipsub-topology-analysis.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Gossipsub Topology Analysis" ---- -## `vac:dst:wakurtosis:waku:gossipsub-topology-analysis` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Gossipsub Topology Analysis: 2023-07-01, 2023-10-15 -``` - -- status: 60% -- CC: Ganesh - -### Description - -Analysis of the topology of a gossipsub topic mesh. - - -Comprises: -* research log post -* shadow integration -* Logos research call talk; also get input during the discussion regarding which areas we should go deeper into, and what would help Logos projects the most. - -### Info - -Extended deadline because: - - * added research log post to the milestone goals + more analysis goals (e.g stability/dynamics) - * added analysing simple gossipsub node (in addition to Waku relay) - - Relevant data has to be collected on the gossipsub-layer which increased the complexity of this milestone - * shadow integration - * more focus on nomos simulation analysis + extended analysis - -Note: This analysis module will be usable outside of Wakurtosis, too. -This is the reason we continue on this milestone, even though Wakurtosis is deprecated now. - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dst/deployment-and-analysis/codex/testnet.md b/content/vac/dst/deployment-and-analysis/codex/testnet.md deleted file mode 100644 index 48d87bf56..000000000 --- a/content/vac/dst/deployment-and-analysis/codex/testnet.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "Testnet" -description: "Help Codex deploy and run a testnet. Provide support and advice." ---- -## `vac:dst:deployment-and-analysis:codex:testnet` ---- - -```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 - Testnet: 2024-05-01, 2024-12-31 -``` - -- status: 15% -- CC: Wings - -### Description - -Assist the Codex team with deploying and running a testnet for the Codex network. - -- Provide a 256TB Storage Provider deployment, which should later build towards 1PiB -- Provide various support and analysis for how the testnet operates and help improve Codex - -### Justification - -### Deliverables -- Materially assist Codex with rolling out testnet -- Working SP storing real data \ No newline at end of file diff --git a/content/vac/dst/deployment-and-analysis/nomos/mixnet.md b/content/vac/dst/deployment-and-analysis/nomos/mixnet.md deleted file mode 100644 index 62cbe6043..000000000 --- a/content/vac/dst/deployment-and-analysis/nomos/mixnet.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: "Mixnet" -description: "Help the Nomos team deploy and run a mixnet." ---- -## `vac:dst:deployment-and-analysis:nomos:mixnet` ---- - -```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 - Mixnet: 2024-05-01, 2024-12-31 -``` - -- status: 10% -- CC: Wings - -### Description - -Assist the Nomos team with deploying and running a mixnet at scale within VacLab. - -- Provide analysis of the VacLab mixnet -- Through [Visualiser](../../tooling/vac/visualiser-tool.md), provide visualisation tools and work with the Nomos team to implement privacy preserving metrics and measurements in Nomos to help understand the mixnet's performance. -- Work with the Nomos team to deploy the visualisation tools for their own purposes. - -### Justification - -### Deliverables -- Lab version of mixnet fully operational and rolled out -- Working metrics via Visualiser Tool \ No newline at end of file diff --git a/content/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md b/content/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md deleted file mode 100644 index 6718d2522..000000000 --- a/content/vac/dst/deployment-and-analysis/vac/libp2p-version-testing.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Ongoing testing of specific monthly libp2p releases" -description: "On a monthly cadence, test specific releases of libp2p and provide feedback." ---- -## `vac:dst:deployment-and-analysis:vac:libp2p-version-testing` ---- - -```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 - LibP2P: 2024-05-15, 2024-12-31 -``` - -- status: Ongoing -- CC: Wings - -### Description - -The Vac P2P team is transitioning nim-libp2p to a monthly release cycle. -This process involves selecting a commit hash to designate as the monthly version a week prior to release. - -DST will conduct stability tests on this version. -This also comprises analysing results as well as identifying and pinpointing bugs if any arise. -Specific issues might require several test runs and thorough analysis. - -Our aim is to increasingly automate this process. - -Additional testing outside the scope of DST and this milestone comprises: - -* testing on a Nimbus test fleet -* testing on a Waku test fleet - -### Justification - -### Deliverables -- Monthly report of libp2p testing outcomes diff --git a/content/vac/dst/deployment-and-analysis/waku/10k.md b/content/vac/dst/deployment-and-analysis/waku/10k.md deleted file mode 100644 index efc96598f..000000000 --- a/content/vac/dst/deployment-and-analysis/waku/10k.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "10k Node Cluster" -description: "Run 10,000 Waku nodes in one cluster, with a pipeline for analysis and measurements." ---- -## `vac:dst:deployment-and-analysis:waku:10k` ---- - -```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 - 10k: 2024-05-01, 2024-11-01 -``` - -- status: 90% -- CC: Wings - -### Description - -Run 10,000 Waku nodes actively passing messages in one network. - -Gather bandwidth details, deliverability rate, retrieval times. Measure reliability, improve reliability and document deployment and analysis processes. - -Gather QoS details such as latency, dropped packets, etc. - -### Justification - -### Deliverables -Documentation of both the deployment process and actual deployments. - -Useful analytics for the Waku team that can be used to improve the Waku software. - -Research articles such as blog posts about the large scale clusters. - diff --git a/content/vac/dst/deployment-and-analysis/waku/midscale.md b/content/vac/dst/deployment-and-analysis/waku/midscale.md deleted file mode 100644 index 70dce8095..000000000 --- a/content/vac/dst/deployment-and-analysis/waku/midscale.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: "Midscale" -description: "Run smaller 1K-5K node Waku deployments, with a pipeline for analysis and measurements." ---- -## `vac:dst:deployment-and-analysis:waku:midscale` ---- - -```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 - Midscale: 2024-05-01, 2024-11-01 -``` - -- status: 40% -- CC: Wings - -### Description - -Run deployments of between 1000 and 5000 Waku nodes actively passing messages in one network. - -Testing is to be done in this order of priority: -1. Measure relay bandwidth -2. Measure reliability of Waku message relaying -3. Measure usage of the DiscV5 protocol in the same scenario as (1). -4. Test Store protocol at scale -5. Test Waku relay+store reliability with nodes going offline/online - - If nodes go online/offline, we should be able to retrieve missing messages from the store. This will also test Waku message relaying in a different way. -6. Measure (1) and (3) in heterogenous clusters involving different node implementations such as nwaku and go-waku -7. Test waku shard behaviour and stability with various of numbers of shards -8. Filter and lightpush tests -9. Measure (3) with Waku peer exchange protocol used for discovery by a subset of nodes. -10. Measure (1) with a mix of nodes using Resource-restricted device reliability protocol and peer exchange, meaning a small number of nwaku nodes serve store, light push and filter protocols and a high number of clients consume them. For example, 6-10 service nodes, 200 relay nodes and 1000 light nodes. -This should include connection and node churn impact on reliability for both relay and light clients. - -Additionally, perform monthly regression tests against a chosen version of Waku to ensure that no new bugs have been introduced. Produce a report on the results of the tests and any interesting findings. - -### Justification -Provide a greater understanding of Waku's performance and reliability in midsized networks. - -### Deliverables -Frequent deployments of 1000-5000 node networks. - -Documentation of both the deployment process and actual deployments. - -Useful analytics for the Waku team that can be used to improve the Waku software. - -Research articles such as blog posts about findings from the midscale deployments. \ No newline at end of file diff --git a/content/vac/dst/eng/vac/bundle-simulation-data.md b/content/vac/dst/eng/vac/bundle-simulation-data.md deleted file mode 100644 index a9a7d2e2e..000000000 --- a/content/vac/dst/eng/vac/bundle-simulation-data.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Bundle Simulation Data" ---- -## `vac:acz:rlnp2p:waku:production-readiness` ---- - -- status: ongoing -- CC: - -### Description - -The Vac DST engineering team runs simulations, bundles the resulting data, and delivers. - -### Justification - - -### Deliverables - - - diff --git a/content/vac/dst/index.md b/content/vac/dst/index.md deleted file mode 100644 index 1f23cdd2b..000000000 --- a/content/vac/dst/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Distributed Systems Testing Service Unit -tags: -- dst -- vac -date: 2023-08-25 -lastmod: 2024-05-14 ---- - -## `vac:dst:` ---- - -### `tooling` -* [[vac/dst/tooling/vac/deployer-tool|deployer-tool ]] -* [[vac/dst/tooling/vac/visualiser-tool|visualiser-tool ]] - -## `deployment-and-analysis` -* [[vac/dst/deployment-and-analysis/waku/10k|10k ]] -* [[vac/dst/deployment-and-analysis/waku/midscale|midscale ]] -* [[vac/dst/deployment-and-analysis/nomos/mixnet|mixnet ]] -* [[vac/dst/deployment-and-analysis/codex/testnet|testnet ]] -* [[vac/dst/deployment-and-analysis/vac/libp2p-version-testing|libp2p-version-testing ]] - -### `wakurtosis:waku:` - -* [x] [[vac/dst/wakurtosis/waku/techreport|techreport ]] -* [x] [[vac/dst/wakurtosis/waku/techreport_02|techreport_02 ]] -* [x] [[vac/dst/wakurtosis/waku/features|wakurtosis:features ]] - -### `wakurtosis:nomos:` -* [x] [[vac/dst/wakurtosis/nomos/ci-integration|ci-integration ]] - -### `wakurtosis:vac:` -* [[vac/dst/wakurtosis/vac/retrospective-rlog|retrospective-rlog ]] -* [x] [[vac/dst/wakurtosis/vac/maintenance|maintenance ]] - diff --git a/content/vac/dst/tooling/vac/deployer-tool.md b/content/vac/dst/tooling/vac/deployer-tool.md deleted file mode 100644 index a8743d83d..000000000 --- a/content/vac/dst/tooling/vac/deployer-tool.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Deployer Tool" -description: "Build a tool that makes it easy to deploy large numbers of nodes in a controlled network." ---- -## `vac:dst:tooling:vac:deployer-tool` ---- - -```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 - Deployer Tool: 2024-05-01, 2024-11-01 -``` - -- status: 90% -- CC: Alberto, Wings - -### Description - -A first version of tool that allows deploying >10k gossipsub / waku relay nodes. - -The tool should measure bandwidth usage per node and bundle the measurement data for analysis. - -The tool should be built in such a way that it can be used for other deployments as well. - -It should allow automated, repeatable and accountable deployments. - -### Justification - - -### Deliverables - -* https://github.com/vacp2p/10ksim -* https://github.com/vacp2p/vaclab/argocd diff --git a/content/vac/dst/tooling/vac/visualiser-tool.md b/content/vac/dst/tooling/vac/visualiser-tool.md deleted file mode 100644 index 088208327..000000000 --- a/content/vac/dst/tooling/vac/visualiser-tool.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: "Visualiser Tool" -description: "Build a web app that displays a map of a project's network, showing the flow of messages between nodes." ---- -## `vac:dst:tooling:vac:visualiser-tool` ---- - -```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 - Visualiser Tool: 2024-05-01, 2024-11-01 -``` - -- status: 75% -- CC: Alberto, Alberto - -### Description - -The visualiser tools are two tools that can be used for visualising the message flow of a Waku network. They are adaptable to other network types too (particularly Nomos, Codex). - -They rely on either Grafana Loki or VictoriaLogs to store and query logs. - -The live visualiser is used for viewing the network in real time. - -The debug visualiser is used for viewing a deployment that has already taken place. - -### Justification -To make it easy and intuitive to understand the message flow and propagation patterns and properties of a Waku network and apply that same understanding to other networks. - -### Deliverables - -A peer to peer network mapper that creates a visualisation something like this: - -![alt text](image.png) -[![Visualiser Tool](visualiser-tool.png)](visualiser-tool.png) - -The tool should be able to visualise the message flow of a Waku network, by lighting up nodes in a graph as they receive messages, flashing a different colour for each message (or message type). - -The live visualiser is feature complete, needing only minor tweaks and bug fixes: -https://github.com/vacp2p/dst-live-visualiser - -The debug visualiser is still under development, but the core functionality is available already. \ No newline at end of file diff --git a/content/vac/dst/tooling/vac/visualiser-tool.png b/content/vac/dst/tooling/vac/visualiser-tool.png deleted file mode 100644 index 468c11b93a783b2eda0a3d0d61d39718df3ad298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210474 zcmeFYcTiLBw>KKFV8=+6szIfL^bVFl5D=szU69@rdI|VNBm@DY^s0116KT>xs#NK{ zNDIA}010_F{LcB^xpU^0dGERR{_|!gL)h7SJ?mNJv)Yr8SE{g^*BGvWK%kp16rma* z5XBk@bSdZxIdCQKMa4ew=c=>fYXk^%yAgQ1k!j_$6@x(cKrf(AwLBBoCT%_$;k;%J zaWaQf8wwY027sR4esIMZ?4bd97$3>;dcZRDv%~KnmMzM&BSQ~FT-MryeP2A%E=af4 zcrlp%h(^~iPOEt?&P6M($Xx0N+xU-`vIokv@*$}l7|2gk_M)_R8w&g$Qn;>QpQ_#& zh=!TiF$hnDzNuM~J>0wW2cL2%?R2~alVy;Az}wXq1Yw=sT`3X>OLzCO=~Y}CSljTc z-f0r`Hku;+I_qulAf@khP+kZ%#`p-gn-D$SWI+0cd{enaR(RMk-C1=R*e)JJ*c!ZF zH@iCQ6IiIoEK%3ZuNWF(bP!-U|Ca>89UUF{ogAjf`bpvzoaE|`yA1I}*1Z72qbYKb z-K@5MfQb%#9;JBNM+VT+d5uhJ`2jIXjbpS}+Yq!j*YPQ&_i*={2eAfs*V-5t;Ewh~Gg0D@N zdwi3r8=^RS1_VkRR*_Ka=}eUNnuQ^$qNmQU*4uJm6V;L=D~5v4cmaW`HNY4g?#4N1 zpnx&XU(!tH*RwOs@+r?hfjk}L3wW9+&i)CI{Bei%{Hm?(?QPzce_b5o1a{XZDSQ6K zz(*I!^AE2yA^&kD67?@iA`fTJnRxP&1`L+aNH3MWbAIOxxz2xn5rY4}eD=TGqJ=?( zqnNz%BQBml`!gWwe}c%rc`T*g?$>9zbWUoEOCI|6>c2L;(kjk;eleR9{2wAv`VXPR z-`PGF=GRQ9?|;WFXe@T|_Em^x}s z7<9g&ywGdB+u?9xq?SvSNm_7spf)x<`*Or@&b}QAle-#Fp5#QmgNgolW-vgc^gfW7 z&^<@DVf4Ee{ZjDT9=*!Z#B`sWJQ{UpacB|9+Sh3!$^MY}y~;@3#Uw+Ibg~LYSEDLb|AJ7=zh? zO$CU(0J0vwI#5g^ZmD@oQyT-%qR}$^qJG5>g zxl*x^N#~A@&BBOSW}Yzr+|X?bx|?CjIHxVNib5BospK)?Gu%kR zn@?7W)kq774Raya!qr%OOnauLiT&aep{i_fwp5KRVC@x!Gev$V5ms7M+#IoDl{Qv&leSN7 zl?~efN-Q7i=Z|&v?>f%$P+@v4=20-nsX5xItxDXmKB`aK49gFMQC|bHjVCu>pSjQt z8ym!U##4d9ynRmj+C1G^8~_FBirQ6&H9h_gtMk8CS!+CI%kp73Rc8OSW&G@Qmj|hI zn3%DXYlgk_)giqvS0xj6wQ{HV;Hnt5jDc)OUyECj#4Hp#*u`Czu@T`Mu>9*#)_0cM zRSL+k>L03{N%k}Kw!({pe8&ZSAFr*8n&}hWUrdmWJKH$32dUuR&?TsATAR%g?N2A7 zi~=>->tJB{G_IoMxGe|W)|CjsVXYG-eMB>3Oe884W7IEG1wJaXuiWq}clf!z;=V`8 zEGd4{RpWyFcS7L6$1ZHJ)i4Yc8)(c%_deSkX7zc1(?-rCY`+(slkY z;jD?35q!O7t!h{!5uZO{t=iRDOIX-!Chbnfeq5@V&DQCevB}gy%=em{R0O5eZft#s z8@1%m8sN~M6EmK?Yv)#rcwE^S_bia2aB&-0b07(*>R!P(HNx#<+ZG&hUhx}vr_c^B z6}C~x@t){N`rzkB{kLOQH)`Jy3s$=qkXDM+ch0$*xmihKnnmXP$b)NELiiLx=r+e z}#k>;xs zIVK8dY73s5Nf9VVE%2lTrGb3t=Dn9aD!6Pj7sdco8z)RP$(?^J6gRNX4J=4suz3MA z1a*Y^KcGeH_|FY8dep2(hpZOd9UWLHtxRgurj}?|ymmU)hKp%VNij6xEnA?L=+0V1 zDUQZ(i`|EHtIKO4U_H{iV$%$q27yu_$mJ8lV&k;`eN|ZGu?*k|p8%zOkH$upZ;l<; z`yc$?9xrfkNQ#y8*cj-gn#Ql;WVfUZrf@<|7m~Eo~-k3Ls3rLkS~pTWIpDCP!FM;#B~em z8fr>aOz^P&AKh4W}e3UZg)x*2nwb6S4R=ZO{a^6|(X)=UHMGvh6m(Izh zPqY;YG_#2r@BYb8!blUlTIX_w1ZaB0vp;x*(qiCRa`<(?at){QnkWKFUFQOwOg!f^ zV}`oi(HnYERr1_uF2`Cf?BQv_#+BRC>1cAcHXQxoH$XF^K$k$>gx5Y;OGyZ zt@M%g-SM!TQ=?R1Z*`W_LF#cv$tUv8At+Rl8&A-Y9}KSZ)ZP1>s0XYkv`uE}kRAy! z8}6zaPpiQ$xrR>prmf(NvGFy?CgySluyXORF5U>nAly&i%@M(*j?bGBp*eDp+clqD zPeaJpsbCOTh=*u;Qr*^+9&0ascZb@C6~Z6*jhKgZKQ=QGLL16o=`H+*>OCn; zU`pB)K2d&Jp&QBQG(lUQ7dlIjpi1z6;DrB-FeU>9a3=wE;&)Lr2YjB`v+kFElB~(r zmAaJKCL!+_Suq`Am2AMo(Py$L1!wp7UxrYPhHTO%R~;Ys4BVf-Xws6VMDb_2S< zGWbWg3^K;p|EyS-#)5(GhFbHCD0(0if^F+Q>$2o#7404;efjcb-F>`Hj%;Q&K?>nM z*R&W`KIO@`4;LzhW8kaJg?@6R-ehsA-cX%z+YC}T3#-XtLyzz5P>=LZ&G=&SG;(94 ztLSfySTci+ZVyY?)U0sWhJ_|7hvugiHovV^oZctWyn z0G_A~q?z^cE3Mly!BzdZGFAK7k?Q4)xi7)8qD&!fgSD^_cJ zeCO-6i`f-$lJbLg^TuoiHEzQpSt+4&>rbPM8xB1~+STV9h7m*~%1IG1<5ETobejY^ zXr+yn=pZdim89n$*8HN1a6}Jy3th^YoTJek*yRId(&=`LEXmV8BpYJMw#YW74pqN- zZM!|Z|Ap7E)RbtQK&C-bL*Gs!LN031lfh?`c|EHZT+_Dj@HRJ{*rJiN3};57CKQT= zXrLQhQ>oQ&ewZQr>9P5<)sJC6OgdSYt2l|7VjZTw&Q>8LbMk9i7VLl87j!A5qs4R_ zmzc^>ZI4xy&|rhWqIyVq~jXb%*@ZWESm|#qo2R#M-KC4hME0`+ZJ`$jxFXRArNLsXYpFs$C6;8 z@;y~tn~lq}?#UF-p0-v;Z%5*9L>Shdx|gSQbGm3QX3Ar2%cNOl?>O+`{t>Ti4mBqh z#RY+f(;Jdz;E{!6HN>Qp@ebz`fO-rt3!sT9}4PAI?G0?q(nqneCyoV-5j zq5Mjs!HECb)`o$jeVA~lC5G-eiB0HB-7dwpAykS%+a(9u4&+$KB_UQRcZ96e*anS6 z78cEg9`WufGoL=TObqAHoHyIrDkoH^8Yh;f&X^SREp{ca61z-B2pB0!BNLW!L4>!R z*yQ&&a~q70>UL{lBeLUdzK;t7N@z9%nxZjvOh>+mjvc%Cwi>5u!hU1Q`lK|&u(p5@ zV{oMlhuM7%RST_{_6#DEI@D!wv5OsE)z$@B;DTWgY#FDX=&nGK{t6V6KJcvMKz4hL&<{hfXK~QBHt5>!4h7Ak$EJcZo zuJSbw(QxfB_i)2ZOsc(tsIHzBlO{7*8ZU(3Iy#uUs`C&1ByeBYAnO)SJm7n?UXM!lx1 zU@*x^t$mF+hA=}KegaXmNGz3AJriZNMN=KVn=qz>Igu~t8RK*VoHPwJ&~D-5XgTUc zTlfgb3uifp0MVG1+E;mxvjgGU^K>dCt4vk4?(f>ve*Z~9+%)0(VRKq}s~%L{==UX( z;3o>OT(hSC_F%usq|f>U{sY|gfdV6Os53O{xQ?`-hsxG~a?69&uM}3-{c;lFqv3|o3ozZ&}W6nVKc5jmcY6Cp5~DD)nK*m4kzzkPKH@jJ3nSgLDzt~NrtP|O%1^AjjhP9~thAd7{tsJUHO%g_pe z12B7d^K1se_Xx}y(4iTXo0F6CV>$v=9qXt$AK6bB9kr%pwcu&V;Nka+gQp{@Ez}nh zAyEP&jiRlyQSph-8gN~|m$h&+bw?`=b;q{$HZ8t#s?g3`1vlhr3N8T-PnUqAtY6@i z_dd#q*%X&5-@qy$9z->|+|2ci(2W+<4z`M5@q*}s<)L?b!%&cgr@zXJc!4`! z*`2AXmjJdf`cbuOzJyBFLSdv25I_#@C=wik$pa zaSw0SE{}~Q2vwtE*&t|CBxIp2kd;3*JC(_?g&C8IYV*n{KLMaN8tI&x2~?$}?>(VJl6#xIU~CUVn#DPuuty~NkfMVQ z9T-V?2O@KtklJR~dc!15%%A0ppnwj;?G{Qh&ZmG?>lQmDPg3xX zfBDa|0A6z~+c$I23gH;*j|z4VQe8q^38)gM=~Jehwm`EKxRwOGj%RMGBbQj~lfcmG zzLyoB#6{CJVXq?r$+BdNC^gd*`FS=~%MMx8KXYjj5&9+gUK=Ls6yH&P+8)6#T$!X0 z1Oj+fT@9ZVGd^&%Bg|YT3BhCx}YuRlsuwkPruq#nsvY; zhxhSk@%Iy@g&YfTblTW}I&H_iS4-u#8B?l$^V-V|cznAUGomi9fhFL>`jD5U&iZtsEgFFiu*HO0k?}M@6$XxjF%c|CC z_kH`~euqd2G%67yb28$wgF9^Xg{q$QYXiI$DP{0~uJczryRYN{I7By!wb#4KZMAjG z)Lq5eRm3?PkJ4$1LkWR*!4}k^q0^f4)EM0(dE%)FY1x6am7F$56f&PwO*7Gw?`4hf zvoa>+lY|andlYj=tEY^1kFz*nsyS^2*q3MKzse3) zpshIY&zas{Ane~x9=seBSzXL^^qN&+T2-KN;rw{|^Gft&jx!Pr_ii4p{*dwIOW~)W ze)jNW>-kAeF%5N*RE}Ihc|KgFiz!z-imO8W;L**(c2|f8ydBJW({VF9x{M15FDp-h z>Siz+F~6_-(s!w!weA2j9^dRDX1g1Fjo~ic}N8x zuu6O22Tb3%p&_aI<7|0Re+3C9s zX-^>D;EKN<0|_y~B(=uzpj7m3VGj4~0s#6k?_0W8Jycay%f=nfDh^u?NPNzAat~nu z&p%bOSsB#NSczE0ZVa-`ZC3o$sNt}lJ;94vDEN78HxGKLp!xyE+uB3 z{$5^=QF9opNt2>oPfbjYm&7;Mg~<7eK4O#XYW92NX}(P0$;?<08f8^-cxmp87 z!KJfS&!D!v{Z!Gy25jo6b7ajmcU(;y&4JK%v^U)UvMG78Ue`@z8tkk6TEP-C$UhP; z*4meu&><>dq~3*T39LK*!svg{jT3#@MLUU1voD$LChY}IuSO5zjI%4j6_2bed9?$_ z!SUM%DMv*fr#ouZB^f6>_=*;7s;UB?o`T>F!lK;Cq&QQB+{Es|9mX4^#r?TG-DEl9 zuXiIw0`U@=R%SowgaY4eG!os14?z4h9ZG)2r{+;YR{(s~%mZd+^%i{c_EpQ3W^;Pw z+1O^mWC$In=-L=VKB`57#)QeSXvo;_My{XM+-hq%X@r+zNG-+2&0GGp{08m9L}v9I z`)2q)IP5!zCr9(axcek2lvTDQpV;>SalLEmS(;q2gvaJ6HEWeXOSEi7mA#k&P~He; z#P}>5d|56MS{_A8V)~vbStzMzWDl9fj410coW{`BVc6iMdyPO(Uk1qPzK`uxI96%S zGfD84H7CO7rA^#Yy`FM24wRIN#C|Ulx0>_4UI5YIUw4Qdao!))g69^8`M}$|A+~|MKn!%1| zxTGD87NSr~^jX$Im{VgqP>Db{OKG`tYOc4&v~{TR3mg!U_^zVuqA*>DB##IG6$)w1% zyYi!}t$6FE8ABR@#E!^f1d!o7hftlPO(LDDn#>WMNtHP+crn3Zkf)=K^K3}7!0#(G z242`vtU0KHXa1EW48-ak)~XSk%3zKr9>hgsb!Iv5y&Qf&^PQfQPAl_fu{jyUVrNkr zESC|e1%5BZ)FjSk6t0JS$#kVmhrpv|w>tPuG#3?Kcky<{gjp|YEoed6ZY3G|@-8%- zUIRvsK;X*@_}{!Vp_$B?^XJ|pkt{`d^~5osrMBL=DyQmYEGA^g_h@!FIi5Jl-;~U> z&Vl{8^&+20#pJ8Awbg^1?>6y%yBU^5Ot8GAmMG=nFt<`Z?M^W0X61moCAdG%y5 z7Nj=9vJ?vvR!-Ba$eCejtHLZPdRRw%nTWFH_xEu70?|+fH){y13aL4vR8dni(Kjy)wb+FZ<(rr|+_lk75|^S&LfO9ZU$rJ4?~|7N zPrIIP@`Q(X?}sKrvQTXTCtWe&1hJIRI23$&Cbaw%Y@@Ij@6{+(XhPbS${jCD=9MJ+ z1<$J0QS~Tv!nD*I)wDFA;lct%%LP)K)kjn13q`Xt9sKJ)@SdC)HELi$xpH&5iINk> zrU6}X8Y$iQK$^e67BL}MCqiRUdiZC1hjhG)SCX=X?Av*y0*dkE2JH1~Ef#f1`~`Eu zM|r44>{rQqX}@-uD)w0MKW-Ff=;iKv*tZ=MGZA!jBrR7}qQ2&Au|LK%O!*lyWK{ZQ ze1q9%Ze+$9k&fcZC|OQUf(=nN9-Gb$%<@ti_h32{)mzpM!@FgD9_WK5fSFTK76;QE z5O(WSQpO|2@cE%&;}Vw{$1}C^3C|8_bf}wU&;UgVAOJR zcov3^4BwOxroSjGz9;NU%e^Dbfax97P+VE6=}4$5CLYt0YOSE%N=F5#+v)6J*npOHbd9l` z*@M2L%f{(#73k5phUYrIIlE}(Mw+$fbbK}b@_!4X5+N!0vErnlgPW{%P8}zX@s4h_ zq!G=d-Dz}|WG@RfVS(NMq2OuXN$m`ySH@HWI=3DE=8bH#9+)$WDU@}C3nz|nrwJFw zaj?-kJ^8I{9^Q_ORG(v%I`v3_$q-34u!I3vW&~^ClQM{A@Z(3%e)e7p>F8BwVW^ah4uSO7YC2W8wZsXbv3v$ z52R`3;1ab(sV76YY^hkXLuo&EbH6Vy*gx4m!TVJfzfQLn6nBecC)q?FPI*e*H!CiGpICdW(galk3x8< zb4=0=c@mfq^2%U#${OKX$Hua8kLa*Ow)hJ1vcn8S9g)=h4b`2ysS9j3fK}gnsUg_d z^KVeGrWKKmDxmT=C&RE~^=YF=zRzCf+$wFR$powa5z+Gp>vgc7m#cP-w?la`kpT`Z z*%{odby&j~AsBZ@=?^C-2hZAjn)juphAG+;u)0vgWXmzRom-_ zN7~abI5jGrRf#kkgx4JKj|##NED8ygOGTSK%)9}(Q$QRZR9(c>s}e?Ur^S}T<>@S7EBT@t!8&=eu^qd%0{z_@uwBuRBZ}mzfs+ zaxzS?e2zw*9bKG~1UhTOWqO@yqt?E7I)B@K|Gn@FtF()ZHHo4Qe)AZ+4HlUr{yHWh z2}+L`W`b`1_ETV{0x~p4mjXe?*48D;WorKqvlwY2f_dsO!pwf7)A~du*AH%wY;D~P zqcmj9Z}3e}#C(Zr1s(%&zigtIamzp{*sggWCIyRitBO?-wHAPxS9-!ymf6>@4Ul1zH zaT6nq%w0KpiN360d30lsubg+0);@pXq$L8K$cD@CQ{peoqA;|*?0zS#kNZJ%UGdsWpT*wvo9kzdkPdLARasoh;##Sh!bsHhg``bw-vunGN1-gywmC}|0I6&IsTv}_ZEw|^X9sd zt^=j5tF7~c@MgVewURy_4D08)(1>UEM|>9w#^rp6DP)f@A~8;Je|)_?q0CzR3@c`o z1~)(#=9(HV_}1rkQeM#B4+}&AFKguQeTo7(AR)mw;qM#~-=k2`A2pszf>4?Ij0C@= zpj*?HtuFTTeoypra-kVe*WSxguvtNZ!?=gxuG%!SVZV0)pIum`;r7~del@~xDtgU0 zWCv6$X%@2W>8xwPCS#8#N2{PIV_sDH|*}5NM270N#jqZ_nrAYi+MwR?{+p%kksWf&QZ~_ zIcmjngM@An1YHePIym}v1^3WKj&efB+j}t6^gNx3*z^FE)`j+Y& zn#=T^VVLqnr3hh>le*}w4tcDjvcPj+5;S9-^14w7(q^GwAz`R&au4I-P>qZj)=5!S ztJ#@QE=0~zEZwwJS>&DIq^;}hW-M@BUHPEdC|~5_*!rSCKK&D zsmzaBPL8H&k%GCR~oo4slsZ}@DN+T{sl(6f>~F)_ajLFD9@R3z99o;}a9 zb^C3Tv7mVG+VDWHZ_nnbzO!cQx3ax-v42Fi%I!y87lOM9tkX|SzGAMaRLmIBEgEra z4T-8e`lk(H_IPp-_D0|CuWmQ~p-XLfN%>l}?Pfo+^4>S}C3|brjM(Zt+WdNs+uF^4 zpPex*Ori%&0^IdLQ`3eQHmAX7PvHu8b;SgWhH{l;mbv3fW1Onzu9asLo%r?~wHl}R zZj`8wDt*85^WhzwdTFIK^WX~VEi+R<%}K$I(`%1R8$k!Oi~$v>l~T^NDxdhV{#=Bj%#;y%uISOSG(`y8BmP&?KIHB;P*upapxy*I z_rrJoZYdRZjq_7ui&Y*QMBPJI;?&a;u8#)zATc`dxGg_zoRM$g6E`N$%L@0#5A1s$ zrluCD&WdHI8Yz$)j%u`jrF&%|GP#jOskVRPVWP=vZ(Zo4me%dgH}AJKZ$`I-x4l%k zwZG>*lmkWybfbi>?jzDP+sGYl3{^wUUF^aKJRsKMg>@nSqpyd@P~}IMS3TLWiR(T) z^emFWrdPGf$+6ek7IQtEyhx|X;r1SL^QJEy#kJ{;9dsvaF6a*2zZ%;ob5Z$zM}jVS z&hg<-;pUJN^7qQK zaHTU-DB<~@bPL=I7ZD<6|1)C$`?fkK%Uy3g=~!cB@#c|{$R~2+m6mTz-DK((A|1_d zK|yQP2iV#JQ*rIKgzp5Jn`6=wWtR(G+5U;nHMA;tR-M=E1pO8gKYuVOH7+G3IBIV) zUGcYe*Le`k%6~!MHX$v4Jzt7{y4dYdb-TtK7QyVluITN_V+=JbYQ>9&Xj9Czal_nw zO+z`|GQl9MVs-;&cLAhtMcvftagR5E9`py3!a{n{W9n%nB>E7;()#x)6Pe%>E&VXx zoHbD3u>Y|}nLzo0m=opj04xNG6cj&cW5X}LQ2~`zS6&0AzhE#Cau&6sZ))mSY2Ep) zWdMWWqQgX^B;97AZ=Cf)k9Hs>8pb%SAnkCcAadth-j-a`9`wc)J>^EvFq#v%+L}@e zLnA{t_rfPIXvKC`t|Rz;h|e*9iz4nL`8Gr2ZKL9XxnqC0Q~#+$W6mq-DiI_4)8fLv z-;BGsN+L~H)AD2&ua(R}p{(j%v+y98f4S=_E|Ree}yO#A4PpC7%}#V0=>Jc9nqey^X| zZ%0r|g9^6bG>Npt>TvR>aKL`-)n4^#OG`5TG>~2H#7a{5JqHiFnDV{a*Nf0g;M=?h z;(RYb%gY-!(W>v7Byz|=z4v}q{B1uijQ^z4{)Hx!)2o$THn!5m+yibaO#@Bdx1)+7 zb;|^|p5E!XcttA{L3r4!p1zU|5!`Y*t)E={kl*^noa)6@=?gCFVvY$+m411f;F#W> zFfigL1>ccc*DzUuGdXoje-H9+gHc+!Fw2Ok=ur5Ln}>C-*QPyhSbcfrq?E{-%M)z}CXBRR5EM?PAXLb+mAO}D@b>W*~AeWdw{<#=ww@11L zi{x1jHcKzH*_S)od-e4TX<3fVDhZ*om1{g9wm8b3EbBSleVi}y&gEUxo8-%BccsNX zT6;IQVOQw*t(R8vChL|}1f`;GK&bSrx&B&=e?0tVu=b6W4LbnS?X5C4^Hp>(f}ez) z7(0A?RGrOHOD=2J5TUaunXMBum`w}`Bk2*r64b51(46oE-Gu^ zvAkY#`L_II8yr`{qXiLrRXWV2HUIYz-c|r>0bM0@0O=C zplt5rOL;H8fw!{yPbwy_lWYB&_L{15(G=`?qVo0u?^J;2h1r)V&KB+YJu_l_@v6 zo-Eb2TLu_%<-!;X#@8h65X%BgwE7dC#(f*iCT<1gJE_7~=JE8Wm_&oW;k<`7>3E#>#B-JGA|aAv+*55vO57jY;iR~=_Pu~%lF?I zoerPpuBn%P-A+MSSKJ0YrPpWVOw4VHBCf1-SJ943+jJcrPq*q*VAs^M_?TJzj|MB( zb&o{c6!Nel-5k{j{v-|&+mwEDzT~TVRd)T%b)=`|CA@IY0Qc*K~gQC3JNd^wIpo$5Q5LRSGb#p zLe)JDcSD%3J|(wLS3kAgjxOe)SRC`}!R;al7u`CNH~&$^+SPlH={uQ7DG~WSWd+yl zZU=qi9`HJyFCv?mmSU3<9o&wNxkn}~l05T!li)mG@g*r}Q8GahJ5W)1oj<9y+@y*A zc60M8!gI#P;rXPL+(9kI&NiZeVZHG8+iGX=C~g*OJL3Ghb;zbz+;~Uw>Bnpd$6}#X zJ8k$sU6e^KSJA`qL(BXw#b+A<*St0!t}N*7?S1y`u^f#GknP0$dc3qQTWq&UGZkO@ zZX5KjvH?+pBP~t;-4dXFu6{}S-IY-09IT?Rsg#>0k%)?(t*D0mJzWc8eLC;X#E*+ki#>(<4=E^sg zZDKo5Ff_Wg*RO_sX7JjvQ0cCw2&zgxw{`5z@#WiKUOFyv4#C2jgTWrc-&zxrb%zwC zs@D{T&bZBw$mqGPO^tSTnYL^>)C%H({{8xdR#Q$wVt?($00;zsLU!eisjFoizuJ4R zuTSoAsb18l=Sn^~4aJ89QH=D#+ZR6I5riMc=7Mt+nCuI#iX2`l6J#2`A~I^# zsQZz@ue_cbUs#U$`YI`zz(>^n7I4L1_iW3l8SiAy!hV=i%PXbtnT6xzdjr+ImazB3@(BC&#TyQnR?K^J6jqHi? zI-=d+>C{i`L84JiUb58q_`rl-RoUpE;)7Tvt8Quhjanpq+LQP2=f1{QmvK2vEZ1mI zWOruS89#UNzRcAvje|a)hlD;3-?({4_VX=w^LQ zz|Od0ae;R^o=@i_jFn=HLz4ae^DF>%a4+NhXjaSd^yv1dOf>(Rw6s9SP$e+IVPd(MKw ze>1ScFTdtxT#ibyb$*H|dXJN?{m$!D!{ z@byV86quxcJHPy{-~Z@wIBszHADR&E@1!9{{<_1Koc$2Y@$B24AkAs7H#Wk7 zcfNOWqiJrtWGFl(&oZn{09r{6gJLEoBg13UksZhKX)QJ@&$z5B>~yF5duDnC7_u zpI(_}$Zv+WQK_<+RYLaq3NSli_HmB z@R9y8$EBW3syFwXQwx}!FWm7&Lvz0B-Sws-<46*}HptHEmq+TX;P_l0ujosm$up+Q z;&ZF;L)!(g^wiGNe<}KWF&|0pJZjD;GNC8wwrSlmq|RbcVyIMcEB70vfs_XDy?DnF zSyo=t^gVTWpyuBvEgs3yRozYeR$151+9;(-Kk{O)JgMk0_)EZlBdt6AI#F|7V9;0z zZYFFOp59LJVQPGWx~OY#X4|O`8&~y*MIm(Os)$-}WMBZ|)1nCX;Mj7kk&gkRmT92Ci z!{>8aT9+EEGdH;@|3>j#+cqS}^`R^U0#X`}tRnUZdpXyq{cYFAd*+JXd?cq$em27? zy+D5BOadhrA2+c>QoV|f#wHJakB1!zOHv+nxML9?v74E#=rpSDrY6i-2>F$3y?=6L z8ka)`nRCZi<4ydJGk~8gf+%mkA-|&R;P7?`9gmQ^azSXo$I;XN?IBG}7D4M*-0xaU zZQU^+Qu-g^+1*!8;gtqUla(3=b3ZHQW z4TTlRITJ&u*jw0Jj(nJbxc<^b{rj_m@jCyWIzJN+A4{G%j{vee&l{Be2{h6o??A8E zUe$N1g@RLqGKCnsJNCwMuOBr=k>B1QTlo@GI{&bK>xzQmL{G5X9N5y(Hp6#a+uGNj z1GN3MjPTwo5uxwRS7h69Ew1leNfu2eYh<^<>iZ}JtJT_&NrhvcK;lkds!ITemegm5 zI%LPv^}|MTb;FUi9R=(i^4EJ;Imy17!HSQH*7l&}PQKr4wu`=A%eTp1o%sGJc(!Rv zPdGk|%`eXHN?|M;?hdXE?X`Kf&l3A{@k^wG{^(@smW2;rlsD(byy`{R9XQ-IqHyJ( zT0&uyuTkec$P~Ntwqj}{m5tq^mngqCdn+eMR*+hTtI7`t`2 z0oB>$B=hLsc*Hk~<$-Qqu>Dh*WW-{=CEY2WcG_Nkwd(MwnFPvUmkX+jB ziy~=7ll`{UQ7UqRyX}u-=o(Yx1K!&CmE9eEdw(x4=mNF#(9f@z^}f8PQ1rd|so8k; z-MIuU-$*e7IAnK=omDc@1}=r%zw8wC+ec@&7vm)TJ~$W*5;eZy8cxN1A?;5ScI@Tw z=9K5ct@LUk87tM=ErxCt+bh{mCBDROW~*?qX0pagG~CX@g(gOD4h%eWtUc_`-KZ6) zDC2YrG%sX9?y({Rbc4Zs$4g83U&MT$DF=AIm=3|Z@oBJ;56VmYhKxMPqoV5>iQ;R% zM)TyCm~r(vkJcfk=km);{Hz?yok&XQF~l!pW&{JZ$ev%?BdZW^pjf=$?CzY;yzb#U zYm6AKMDRAeg(%vd9GkBmpU$^>zR|lt5fv1&-Qi@vcn2dioyQln0I{>Rbt2(qj1G;6 zzBs&=8RQPT5if7dw8W`XT_D?~o33v*jqU*`)x_@eTyt(Jw{W7?seC$Ca(dbyKdO5i zk(BHr!Idvo^*F8lmRe@d4R*0S!IfsVi%=~=wz;3Tqm_1J>Ur4CqnlCFztIrCDhV_t zFXiw!+hw7b_-72?tKS1LU9@zhS`&xR)gOM=Jsn%Oll8PvLp+)b{-(~Y-`_j%y}*2S zl&vks*pIAs^zK}SMvfNO!U@YvV)6EzG8XE+9$%`9JT54Xp@C@xDQbPYEnJ|lO)V$x zdKobcDIH%aejwVIy5HJ6J`@IKW{sp5XK#q6?Yd+PlR{Hz(U9OWo|53;Y9 zb(-{(9NC15PlY!qh@#4}a}pQwb8;%yRvhS7(3&BCuFW!xyh_dFuKJ!u#&-Ap50D$a zw6s*0G?vtLA{JjZW-r?BQG%QIV12Ge2EHh$=5e3!gL+A?YRoC8!^<2a&U^EQ&cv93 zM@AiHJ-K3;`>8=mq)tX6q=h`qd-we!w}+%vZ;T&;SwDW~pfIRwo( z`qj6fYcuNUy;q6;+XGv5Co2a&lmqroT|=YSvwGBIcgR^fqOBxj;(}~GE1ZMX|KRB> z7}{)ttwZoo++7P4r?@-x#oetyahKv=+)63#?pEC0i)(Qy4#8dWh2DF={DJK5?3|fB zb7r1{x3p|}HEkkyn;R1}o&7N1RE;D0)JfM6kr6?aYOe}IaTa1(9%eRL%|p(vbC`{{ z(Y}LCZuvB&F{Bw2^ZrUS&uL>r>;= z{}8CfAw4YEaFAQ zGHl=x;bDuwv-Wi?NokF{=8uS0y4=Vkqav91u_^8kdA3wheNF%j#vOvrx6fD|AAm{& zwo9!KKM$G7%Ndkm@({%IV4y5Vh1Yk!7J|;hKx6<8{D4jzYgFA~Oz^b=l`{xa&5&V9 zEO1y9&II4F1LhxKdw#+520%^cAX5tO->J;|+CNqvb>qgpRjLIx2nG+K@ASKR36tYi zgJL+E4FueY5=VUzot(AUFslwFnT;uC(OG{@$Jb)Vb**B~6;vSNh6AgrtMNBHVRZV( z{qa0LVa~zC=<##=9D!eBMo_pOg7E*gPp!;3k2`cA8i?kp8y;`x`DpIW{-9;~RZT8z zJ%>H~dqC8dzgrog#~+JtI%?a(;2^F60 z7L-jvV^Vx_1S+pzF8oPA@0zMj2sIbkcz;a2T?5f zZkGM_^8c8KCa>}tRiC}k+*incC31bXX7-9*&O`v~MV_I12VJD`sr7D-_9d@2zPWj5 zO#2R?2;BOOZFiA8s?B1)zNn#R)U{j1$ZgbA?C18R%)Pd_;=TPE)=+E-q~D~7{PZxM z`nIpKe+*=kcrJ%rA|V!2l5DUitW$oEoRJ5Hl3>j7Vy>Z6DmpF*8a)iz)M`B7hLN4RSjIJ`;>E7Y!s~gMo`uBOuY5*A0txJ1)ZF zvxo%R047sE>C@tVHb8Ap4QYnvl~@Kpa8qU{JM^EetvBd4c8S;%kp!h6BkLEe>v323 zA@|0ykTDF=`DEgCZ^s=6BbUa~se~zUyQsg`P2eh#7l+sN7@$-{HG|`51Lr?0f!^{M zFGe_oskFBrk&PXHrr`-@rSdM@qMEkocMTGvq1+2q3fh43>x%3lm45ifAtMnMr7mUf zA@lzRt64#r2gLn-9m86hHJq(*{73Za0OTCg?)&RTaVwxnF0y1s+3-Vdt=At_95qgp z0S^`!n=O<<8FN9;S|0LgRue$?e-!wg50|DxEW=!xYRSkG*IQEnMOY~U3&6ay9>IBu z-|V)H#(3IZ)zj@w!&1+;aZjM+$j|=_>fp(j%l+Npa&h;a60o2Mt}=h#y5JTQ8;b{m z*DS@re9>2ZRod|}-&c6De-6Ggx~+X-z5}P~9`Ca1iw=tIm!~!-A!0%ZC#m!~#l`gD zg|AXI&hpj|s4o2ZUz~D71KEt)9V^^56m~*mh@FuwaD6AUQtnrqoZ#qz+``;R6Imaa z=_n#S^m1L#nIT8+q@+E;4MN)xDT27*AO-bTk zm!Q@o$)G0#56$j7aRzUxqWXEVM220k7GEkjUIhvOA+Ck;mh*j-)2PnNv>u%&yNnN|ZZujqfG;0HHjXB!6{4C-K`H zI=IHbapdo%`OdnAp-gt9y2N@Js$_28A+_|~Nyqv1_vT0!WCV=9q0+UCPJcyjZY%$N!QQQvI<+vd58{1Z}Q1#=-gwJZgLXKvT9N<5e{LG+qgHcWK zk3FgX&Hi@(u4KhTU2LxQj9S3ji*t?&loKG@?{^!uDvBr5)g&RoyqQ2Z|(IT$xcUN(i(_)w#jNO-gA)Fn}PAccRog{yvL>Y}#DP9>n z;_)}ijT<23S%O!iV{Y!J6P0qtws0as5vJWZ7>T3jD)#yP)ESnAAB;qHeKsCYTZRkz zd-%T{i5m%_mtO2xV8EbB&tFjedwb3YQ3_*Dr{_8D`f;_|ABV6*R z-e{=4Tam%+ZfPF6@aab^3pjh=*>IEDkzo;;XXDCZLO@tQGP@e8IvUR&*vJq^b9@(x zzkD)!E4%P6bL~r(z@A0Kw&i*%#l9nNy1*k)zQsRraK2t&HZ9yF4cdbXIXG;*JBhS@ zpHFyGA$F>LheRd}he#hSYo&n`kZkxCJaoaoS^c0jv+<+$s*%>8T-)1a*3*Z@oV1(c z2bCX1B$RW^-DX>Z+rq4!4<*^JnKr3R>u8%Vwa$92yJ5ct4p7ZTK^RWpu3Rij{Tl#e zoLe7!7_q#N0+GTu%Pq`V{kmzgEx#~iK1;RV7lt8r-8o<7*d#sTsP;BRkBpbvLkk!+|o24tnBpTjMV$I%O4+|W?Cc61VM({EWpIaC{9IXcQ@!CX2ZW#jd;FDGcjVrQd`7j z$yR}}n0NO9gF}P)4kCd-V@Al3Abf*rcwT)}Mj&HXWH)_(8P)H}qkZwHt$lkRaH<@J zsDTen@}~oD1zMo6T^GI@Rfm^_C9Yfvhcy*Qdn`V>tsY3l@P8j(x{< zDiq0Zf%V@?9y!q0F5RWl>l!-CS$o?T_XLGMQ`#EQL8c|I{cVB$PTQBs4|u=%G*&l?UyfjHq9UEd$71HOoGdIdoV$-VzR@L?f_ z9p<^iOB%n+NDtG3%VFDPfhp8|N(*gmM^SlaOv&a{D*SYaq0&%RUB2@uhe<@BG21ca}) z(%kLSWTij`$5nig1GSJzp-3l+k3hQJ;^}8K7#!#vf#uGkj;lz8qK3w%{gc1bhGuef zVV_-i-d2^@6!QiPE9{IzMw?n07p)vd8OXxZt5Nx%nJZa+OWC^0cD#S)d1~bB{%TB% zVfMsUeD^M&Ctp+Q%OK76D(i6WF87xav&&nhj;_NAyXtD9>`Pb+iZX*c@R(vjl#$@K z`rynJts3`Jn0mwWe&T5A0tXbSd{ z-Tt)8wUb|(i-8vOmy}fRXk+E&tSiE0YUa0W;-vH2k}$^^|7k8HliAj|5VRZ0E-v+| zbX;~~OBF_HQK&nVNXWeY($8p8It5ibmMnke2Zr~8J6s@%UEX&bq&o=_^f+`=X_F^m z*@HZWGChM=q*w8|T8&l`68Q?UDizrK6oBaPU>8&}qMh{j1*7|_NmzkM-#^j1zdVjx z=y4oM_J~m`Q*f4Pxf*MsutW=>z#^%)82xjEb%y_4+2&}jkD6K^DdafpxXMUm8Ap*e zxPQWJ1-&A5NrTwumG3WZBhE)w?I5F0z8qC#q3Z2}d8EIQ0uBd88X2GPVDr&10_Ps| zz#WZGh}G0Vx-n;JDOV+$IZoa;;yu(gvUw4ztF;#$?<*vP_>#S~48 z(pTQ=cGg9Ns2fi&Wb-*_r};xyDNP;~LmI{n1%e+iA{84MG|h)pFZTkrIXco^te&9h z`&2(iZlp0k?{M5L-7TXZBqX9^*Y4@&VadBDG>21!HIXp0DXBhaMBaUVosf#pN`c(R zmOKKaQhjX@hw0{za&4W7Dtjh3kO!b&jDy&v4tY4|XRZ?`1k3if3uxb5VmA!x63}}% zNozl=ArRy>;vLWBB!{7rqHd6>-+}yJce$Y3>#Qk^Ea|p}@phSoQm!L{AL@}A*uS3f zOLa)jL5^bPwCs8b6_QX`&Bw-v$P0J|QQ`E5b^n)NLj21l3m%G+16mv&?Tat-eFQS? zWtBh8u`OYc0(@8?GjUn=Xlk7jf@@e1t&HDW*WJ;>f6nh>_~aGv>fbQxK!vC1*`TJvA<3(MNDq4FVxI;h!B6<3i;m-U=zULgmh^0(9S@88}PKK~W_(gwEfPM2h{4zVKoBMBbnq0nQGeI@>?Lw4ldA&rOYP4y>?8&3x2xqn z>Is&u9BCCnp_#=y-cDo>Q9PtTHkLkoc_jn31AUA#;L^ymi~nnfTX9uM*X6I05poie zQK8q5hGSHSOP8MNujF`6HF9bs+r;5OyqQj?*=j#we?@)f3??ban4egSn(%t~BY~-{?+*=}GioFK9=(Kd>J zAO81bt~PL*PDx(y(d%BG{88Kth7o~kR>AliBI1h`j~k=4xw)kP-BSJb+tZASsuhk|Y7fiolJ2o}rB!pWo`(-s z$?0(_{yEt{U`G^YyFJ9Jmy9k4nf>_gWcA^RoOkhO>g84Z1)K?L5KX8&+2k$tH{Rb? zkPBWvw>+dt1ymuw*1KA*Nyz3y#FJ6a7Lq5Xjk$;?IFZ9R0usd|{Twl2__5&`PM7V% z1PO>6Aqf-%MD+h$u`dJ;Mo82XWgOJGT_dfidE(vh)j3vHQ|{VhVbMomv5V%D z;95MH==TXKHT%pRb2PhGMfcPWWBWq~T|e7BfsBOj+OiN~^Ue?Oqj&lqD2=npQGZlA z0ErI3l<7}l$gl4`L28ngl&VJQdTaWe3^hQU7MKY`*}MB(-M8!pE>g^MG=@B6qmD}ylEaE-BNI}s<*r0swEhS3O+}rkw5|O zh(%(8*JE3N3(e&F*zWfUQT!SgeCSFrnc4qowwYCpkF!Y6p76V-yA%|;06fW1UV~yj4`4dPPMBUoH+pmaIE(lf567SGO-i(PG z_EwBPU@ohyZoA_V;q;KOQ|dDtLO0@_!oO0!ml3;f8zF21bg+&vp>In_E0y%sRHr?^}d4&^a zyPb2b=MG%xh%h9IBKICFJk7hoh-qINEU>|IN=9>C9wcj`POW<0xMvX$nx$WFh5U!? zp6s9I5D^xe+wtqoe@PfUsobN>#K&l%8|F3BjC?fNd^gv_TVkPKbao9LD0!#ZwLj6Y zXdny}azCIad-yO&r~Gd0_}w`I@jnL%hXzTF#KQ)B%0%l1>uNMZ&IuXeFR-QtEk{}u z${Oe;n+G91|EC4OC6Go1Py`@~#ppD&61u&5(AtE}&`+F1)F2t?>;(ZpVo#x5F}gNCgNG2ZghDj}U_t|_l;LdM?C;<; zmm3gPZqGV))$Y(L;wI)SB56M=EI|(N2NAD1kGT;IC0U;{9 zNYRgEoIx6&A=h6d#@4`@F2XcvDJ0L2O$c2#3ik*TGRBxXmR}aa+Y;X%8}Hv(+xg8r zvf8@*9o%fH$#fHLa)n*rWE@=4cR7v$;UHS)6CzTzgEY5thnIWr1%oE81W?%QpG9*2 z-SZ~0nQ7U9>t7ki;imoN4l9sYr8ReJJHMRTCELo4WY5RCyPXFYqMu%2TGRvEr)(+_ zMuq^mZU7tG@o|(u`w?Ycnc+;=k(NEFPH{&=0{kQ}TzyD2q!s<-_sb?hq-f2j{9yV` zLQ5IDr&hFx)lF?8eA=xXP$0{g&8V!#t0tkp2nI?x%2-$ue6QRK`CHui2hw@gY#g1{ z*UcqA|FVkj93_ekfh_#*FVjw&qUm4*vElo1q6YRmUjdIWdZmO0)7E;&8xN^>3Z&Y1 zJFO$_Z2Ydk$xVMJ=8LFzB)1%t8eYcI zWgrJOylBk73|$SMSE1EIrKXncQkCxN@_1OA$78z4h)Y6-yvVAmD(skUHue64AU6$$ zwRNoOiu6yk=&PIHv1Z8o}udoX8}M4l^0aomrO=i2AT`b#3ty5&_ei?d? z-^Q&k-(Kj|f)p{tsImgzj3KG#M6LpNg>J_avi0_~Oyx17^KQv}sk927Yjnxzp2{^+O$J4X#P0qIvq}!t0AcgN60K zTJ9ayJa?hIe)H?1Uei2!dV4Sj8*R`_k5WAAU4u@u*nd7r$OT0$em8?-6W?HIKT{J& zI%Kdf)Kv*Z%nMJz)o6OOF~5Z+72LN%@R(A|u5W2WcacK6!;^@J@LWi)I?Fj#g|x{P z%Pb%Gbxe&QOcxOQXQLexU#7fF&Qxmr{w78owZA7Zq2jQX`EO57cip7$TC;!C4T&V` z+^2)`CH?R^>RqSzNd_{cfeen@GLv0bgQO!wBc+l3?uNtn_i(Y9Vw^)SKkJ`se=SHo zi+Tou^9Cv-*72|x+XenAp$WgVklVftkN3pVXM&1YqVc=#n8?PBK}d`np?KmC7(5{S zRyG_)Y0`=doSM9Nhk=ORa;8STn_>w;6rzna8ju1FHng56-A;jo@=#G0#ftXPrc=G) zvFY90zBMSJnRWg1?~-yYuIB9p8#`}nCO-CEd?}poK@nfq{cdW*Vz)+|c!xS!7~{%0 zJz#2@KQGM23A-I<+GrZIP|8Y4A(M#jU=3w^5mv*~1HV3yW$-_5m*#JHd%aW}8QIPS zeLI4I7kI9ub1VpGu^$!^sF3-xh7$ObI3bEHJ)ck2P!FEPm0F3E^zcwZ4KPWGZvuCb z+SXlc|K1BP<@)^Z2!5Q0d*!XM&wsqy-6i}y@qME0CA^y59gG~sF>6O$<<-xX?j9?; zF31A$sr+9d96d^k)B(+-2_eY;s-etA|6h+;^L+s7TMo0XTvf$S8}4jfmG(5Lj9!JJ z>H!7&=$VB5@tBeUM24H17=er5;4Mo=c{c1Wo3u_OG_%46@%v>F$bJ;l7hhxuo58lO`nb2ie=2 z#?V#L+=%fX8<0c_<=Lix6=4)8^mr~1hLl);DA7$gLPOqU^W*({j2=x6b3~ zxz;j2P0OHN@*}8LDxE)U$qq4tADW4KIqv#sb7YIn#ue%(h2WT&wLIo_@n1;F zJ7@F^-e={e@(bJAaAWC~^Hs)%HN>1LNdvoIRor^R6!_gEpb~+i5YtVcaKw>B6B9aR zT=;i$^i=Xqu6k^RI-f#d&Hj39U_%~=%Y{9dtE^Gd@~>oKw_lUb#lMkY^!!|`ue_}j zN2M6-x>y%Lw6{H~PXFyK)}D9!seJAALNB)cnP0J78k9InwXM-1_O|5`YbX<+xBICW zQu8UB$Xcj*+Pz5ip*%o368j~5JHx*vw7_9~+dW2yNM3H7xyyg!9`|PdcqSpDo8~yd zo%{5(`D~cn7x`t1-afWHXXQT%B0kc|l?b1f=Ed}B9NA>6QM|IV!e+pTlGCp@U%d%Ppn6_w+?SN3<4X9 ze@o)bwT6Clb)Na<{A;bLZz5~5v_;{^{08}IW(UJ|bZa729+LKl{|KFxL&68w=G2$1 zYu^WU0vcUSmE9ar-%z&9{vVfeofILO<9vT1ahU%yF2-OL6M=$zwH1H%0#}WPkrxT; z6H;dBlMo0%I1(FoovOpSinIYYQ!cH!cCv7!B2lTJB;QD!*bd&Degc@Y7xC4Tz%ld_ zZamfii>G)K(~~K!d<0}4mYRp#NeC~>$M+EynwdRtG*RnwXzfdn}X28ko~i`>F5UB zj@-m3FN!2q7S}=qkl{iD-K1YT|2%&b^&N;VkvQjnt}yW%Mv*AcCFBu+N$0k@s!1hyF*A@ie$9H|*+8z>cBTSv2%80n+bO$~9QwL0!cC=!Y{- z-~R3h$6FvioM(#47ViUTEl{Ieb1pJzo8|-l(!>>D&(J4DV-Fb)h24p!v+K0A!)CqZ z$z%3Dq*Z^q4vk+w!A7VVp6CAj!3A|Z<~}3FfipsG6<1d{o-*oBw%wyNXIS%|zBq5# zC%FVv#*4y50HT?9iyQ?+jpD-$Zp^{c$efzVR6;6#$TQ%Jw0HmvQ$U8^~fe-of90Hu3CYA!+$1vU(sGKQ5Q}qIVCJGE?y{KurJYkL02% zLja2P>`laOFVQ>(-6wx7Nm?OS*UQKa=$50}l~*7uva)*`B)+xx9cm~Yw_`gJ2ru9M z5G@zg*ML0~H}w8q_mCF`Tk)^cHIpsLZbeDu$Kw}%QCZaYNrfK1Dk7;V0jOAmL@=8l z)QuB_(}*lY62i-}dyyT%A=pCMFC)ua%Y!A-xVa5&H3`#$%xJo%q(c?V?41$G zBk{8bw=FV_T5I1xMC2SX?y&soAvK=e_rdsH@TOF{9)$_3+t1Y1St4#E0s_;U`4C|2 zemp{uYWDLVC8HuOvA0$0PD52JDqJPcK`b1?6Q3^1&UwCuNF&{@JMCyd#(H*0Q%mPW zr_m$DoaSX%9WFlZ_&@Rjf6Cr!f#3t8$zC92)+GF0FY7PknK6C&`9tJB1RIAvj;rdQ zLn^M3L{ghC)|xi1ZO)DyKE%>RO?&LkJBawb_TanClTta&AQr2*&ilUkhvcz8Ey)Yn&)|8tov& zc+~dsEq55FO7BI%${`&sYs`OF! zDbMLka9dj&NP>$`RBD>wefG<<`$gr>uy{t(yE9p3SZ#oC+E;@{a5fp|6MqoDP4SF{ zSJ;}7V1R_E7yS4v(`VHzVHE&KO$YENk@ZKEka!-SW+^_KC{^mga=p|3eDaF9gSGQE zRNFH+8Qq+h>6tJEvT>Jrb59rOH^iXHf@(xrO%<#I%*K zkdrlcSA7dF+WY+%aHTjEQh+hAn`Td*0a3P+$?a$B{0O+QZAJL@ckSYBbf4E(i?6YF zaYDyyb>0gCHgOi_nO6-XUg6IB=h*Zx@;ef&5)2eFS^1h4H(*S&En8QL5#XWyU zL)QUB^;dd3td)6no_QPbN*ha2eivlYWP+tNcY`fU66I8v_xd^-4ETx}5(+}e@jLvn z202>qiFIVkx|2jzm;Ax*zbkVWE$B()*}Y)shf`=u82}hDg&l#MPik*OC-KY6e`e~2 zQ#KAVde71Z7^2MM7IV{AEF1UOGv51#p^GIxX35~< zP)2AgI+PakebWKDaurrfK`12Cy*P<$TJQ^Yt$Rt6LXJ*uRZSmG)2D!7EQ>LG5y#tJjM#!Ln6d^> z)PL-~r}>^YYP;IYZ={OcVfA+Tv{31S{C|2m{~ArM#JsN&0DpSpn42n9)mgNGR93HX_%Q9(}*N^ zH4rc1&LxAPp$Y#+NgIQvam% z{Y>*C>TX67`Naqtv(qw#9`!%5Oz6CEz5S*$$49VqDw{1Fo2|4gWe zvngiF3{J4zlB?h4-_d#)OA}t$O%&2S^8S$Ws!_l}`>a_<-+a<)y4bk^adfuWF*dbk z$dZVvGrwy@7QxRV4-K1vtq2U0xSlAuPwzEeTR>HKYNI^@!ShJg)^d>aoVyI2KN5hr zydK^f>hd0jQlVIIHhY`y?k?E8Z);&c%Irb=JHlz9)sB2k=yIEp7xnk6nEux{(nu`U`9gjktB*%FO%%o?pPlhb>>C{_d4~HYeYh)asI(JrVE@*N6y0A5r}B`Ngy-RV zrE%4WM+cr^QicgKLp!|WF^=5AREjAx$=lf)T!oGqUcMPQhurfzrav`Tqsgv8Z~5_w z<*;YbNjx60H_a0S9boX*wFrg1YhhG$v;kKI3M7CiNk0zDWn`dJiu=j zZ+h0=cH`+tYhD6+TfWBZKevfjqUB*gHuk&NxV5@nE&JoMYeb?VXT|0V4xT1EecwmO zbI~m@S6s^4Vz3nk+Twg#yQ0~4Q^l3r+fvb)oP`w{shG{j)S2|~>Vnh=S+yAoPxho0w{ zghnkw7B8XcjPxayrg{CEp``b}P63AD!=s}#g6v^j=ia-YP@M@UYyn-uYk&VGszKuj z^PCmg>t=`?wm-y|_#5#sO&DkD`hTo&x4dY;FHHDAe!-{Af5xzkpcircMWWksJeQ3dRn%6JH#u#kMD}awYk_p zj01k?f>Up9Ac@-zrPdCFuqo;n0+*Ce>5Keau~>`)F_5-&;bMQ9PheqoMAd==Tb;Uc zsqrH5BY{*vjSOBVtWrj>-YI-T!_pES6^7Jz=+J_>f}WJA&{*Ci*bEeLgX14NhWQU%33ju1ybw-)yb{ zLYr9|0OFN_H*nWgl7Ab+zy^00$8jv#p9Zk9kQ)q$c~0Fx5$B9DT!U-1sLE1I z6rO!3C(+fR_k;$X$pjCL=37acXiS-OolFe+o%EL<4}uEUOygCad9E22oKb=hz^2d_Ux5 z|9XmkX9pTO`W2`xnV1tjyZX!Z=uiGIE@JkcH^;xjz(bmNll=JuDMs^8uK#MIhz0Qq@thoO8U$ndlXc(6J$T~{b z(~sUZygf;VtjJ-07`6n@WK+_V5)V{64dxhNq{ArOyBZ>>E3h9FlWGueK4E-j20l&mY}Eh-$f z=*ug{(}W2jXbxZxC+r8vl7EL0kT%8U?}no0eUGZn?3b*^sYEFIH%0(+9`tse zd3;#a<$4X~r%;vb5I3jMC)AjBkFS5HbjC|WaTo%Ay9Xla{>8C29!2)z9Oe|7^tes* z!^l?x=1|&}MggKdRG6wtBH78xA1_Un)>tIE48)*sOh$P2A7uT;*FvOWsU>?X~)j( zzs}8VBTVIeF+Pe89Y0lATx~J!li(RyNL2gLG~%jmV_2Re;`r6|*HeE>XnSdJI{AOM zB!Wl&yL=?K@r;xI%HULaqnq+RRAmM#QpO+f^%e=g=%kRUN2nq(jN52|q4I@^ijf#j zJZD7!vO<{7>(shjaokq%j0eHi(Fvg^*)7+tZ>%ZN_rtO;8$+(AXJE+bm52+_>UEXpa=wy-Xa6BYtE`^4S zK3%T701Dau<*K&5xdq31VXg1V6egs&1$tbsoAzgi78sH;%6lToc~WD>$Lps}kafDj zrop!KAB0U+hW0v6HY*2^7wl`XzA=W=-`s{>djr4a@Tw~8Ig68N1G$?xS6^1h7gzWV z4L-)Zhi@as*SStI8=ZnHYY61K8sr$t2{FZ?4I{G|Q;AX+Lp z-L$(^pVKNtdqbC5O-=#pJQh-ZR>p6dRr+h~bv8M|>2ATw6(MCgPFAyNlVqYCn~vQH zew46ke$@3|yQ3?R>)Fycx2!*8u@xW}fiz9O3)-vdJJS!Fc*OYU`v1_*4}5J#4Ly06 z-H`IRkRN4IIG#k^47Aci{Fkcu?l=q5E^r!@&5nE5(OOhwLTTin$}?L9JBJgS;Q|9A zDVXq-4CE#u$Cbls(xG7=2dZ(}#TbWH-^KClj>$iBNmVF5lgIqCPnSGoLu1rO5-0jy zN}4$h9SX!5K@lt|7?|Y@Q}0(a^Wi_i_K-NJGq>cC-{?0MS1~ZOUUjAiHN;4`MMzfU z1a$8mjW2uO-9DeYk=$@9e`S4x>M~^edb1RVweXTgdVmZ@9h)eUM}TZ87O;Cvw}F0v z7wC9+&|-kEHr{sRgIs~hWimISM04>Xk%9PWzT3)*z@cFz>u4`a#oAJ zyy@){3}hOc=)$Hp*LnI?HBq%!IF5~t{qph>A!*XdV-1$%%8Ars>@gFJO3`AQCd>yh zqkWQvQG96M8;F5AL&@`U+Cwzp}1TP$>K#RdM4+L0PnQ0m{n8B=SYz!S2jX#PqT+G?)w|D2^c`QHtWGdkJ5Lbt)~Vu{}2C)|I-36 z^CDbS6$RNysFBIyz>DWk#NvKl97x>QV4NXLnFwI{uccUCaBj%6PBI z`b)GMzpbgbJCsxpd_SvHxG<#3UOn5}?&){L+7%cTDJqHYx5k~y2e9SxHnTi^MU80A z4gzXQ&RO#(3=a5xn?{0m`$4S@fCimB-MlGn(=~%^FGtG;G|qxLdkkC@X;Mv}qwa%| zA$E9F6&7Jp4GFk_5JlsoA&X4_0#X1*uQ86MWO`#&^F_QsI(OBahs4IGGh(HVP15#& z=w478{O@?z^KC7%uF{vSg^n>>V$dL-v|7g`$soFnY?PE`&*=WIo5;%=9ZyYXUUn{{ z^n$5ei?|mWKIp)z4(&gGZ5%HSkVyoC&1!>IeeARokC)rQvHn-X_vTGa?D1|s06F{9 zRZYmBS;$J$^s!Y9y>zsNE9`e{5xzO+zQ@8vmazqRO@JlS&z|hgNDk5NMd$~_sPfX@ zDznz&>S)?Ht@?>X6M<)!dRz+q#L zZ_CW&a%o3tr&g`-hJ=LXjq@o(tt!j=S@8RA5CgL#;XtkEjA~!k2#69QPN6v$_@N)( zsXM|v=>pp-5zBZ_UyFmMw)Q$GPqim8?=)a!(Dcf4cEtCL`%cmTvHX+k zJ>L2XLZE2ix1+ip4|@`N+zZv5rOiM*T9xa}=7Z;x!X$M2m;reTSnC$0)vD9vAoL({ilc5v!QD~vfG;QZMQwm_Peqc1@*J=jDJ zoeL!DoF8FQE#gN|`IY|)oi=|NP*-eM_5r^&%cd{G37%Wspws-zDYs|Nbnd1DAY<_fo8RL#<)^h*LYls z_&CSB8iY&qU9U}r+Zouxr%AN2KZCna_Ey-+*w(Vm&G@76hT z25D4Ur!?h`kAv|*dtv{#^Rkakc@KL7rfjDBa#oa|c2j8vvv`GX|2oaV;vuP6x5Yd# zJZpGu4v@3VjtDCaHsRmDriX3ldqdWwrObaWaPUP@2cO%V;2s?P%;qTzC;_VSXU8~? z!a|WlrP8UDzm1lb_A=zTR}WuF5@j&DUmWh^++y<8<>JYzEy)hODz)00kv~b?-Dd{S z1-v}3wb%`!impE7bDqu;LQzVn`qw^ESA({(DjV6>mZ_ydwkjl;`Dl^H8w++F7Cpgi z9BY!gS#vi4J*p{w(?;mxUlwyK6NYh^(;u(biL3mMPr zv-i_%A2po#GVOq$4hgSO*gD??n`J^!tzHSjZr|VO*R0~$STcV1L%J|*BX6?F;ykPS z-sYGp#nK>I^}_$s($g2AWRKO|!r+(jK=QxN58E4)&pQku%YPpj?bnkWkc1NMqC*Ho zj9*c?u~b1=Reos zRPYG%zMdp^RZkiO7302J7}#EAq{D&`8e}(5|5-??lrZsVheYgO^aX zwni|6Mf=nTQ7Zreh{QJ44vz=SsmWPok(C7@5~fvk*88CgrVo~D{vz0iW@fL=#L-uxylV~{Xdm?4MPxk!phUHTIyKVmS7+^X$k}E{%pM>k! z5Sn@F#XK>DF=NjXLsu3p4RX==s~E$W9LsGsYmYJP8sazkjj`(RxB39WOi*s^;C-f% zhsRa$qEcgMf?Er*%f!}DR@;4Iwv9OE1f&G#4d$#5i|J(UolSy1`qFAu$E$*PP{$V8sxQu739*X?v=c1wf5 zRS_#5Z>!f%h{BHl>z51=r*eJ}A>~lsYVH8y+AntnBUApkwDdKuQRP4mAjJt(Jb{v0-uY1%+nQMHnN)^Tr1D?288veC<}3ODe+)aT4Sdk6*oK7&L7ms;+4#_osH zOSintO|E4R^3+jpfCcf}HN|A+ej~%`!+G6mGZAm^cxZ->oZ;!Bv5qTtcpUU%I~Xsn zk;IuE39AN3r(Q-!^!#oDTczpt;XpC8+j1olI~I8e5m3@!Y9>sK0%_`Lwy(n?wn4;4 z?YOF{b1Sgdg>`2hVAWlI;)uX(ZFsO>VKHD`iYzOsfr(T0^?THt0mChCn{BN=N!EM7 zITb9^oFa67!_$n!tVf8I(jqkpK>TLTuH?$Rh$)*z;;}cjVRXCF)I3Il9tdAC5VDW9 zH6Tady>yV3r;XEAu6-*b)!KIfx$fnqaD<~YpR1-QLvrBM;N@GLYvA9FJOdP3>|XQ@ zv6Ue0yY2k@^YA@bi??xsWFQ+Zd|vBlere_$kVbfSk0kAA9(<#|syU`6#)65rS;@fR znQ)V>hie~QmCaI%2^;$YBslo~^?gA=j=udTe2JjA8G9IY$^aOg0X7X;Uur(O00x@F zjz?Cd(?5@nSA&n;mh`#61Pg>;{!eg40gg^ge*dJ6RB3^4a@+OjYpwit2XojdDOJC} z22ukHFdwwCdA`rYV!@lgC!IjpHxg`p?e0J`Ge75FT8T@*M#B4#>ZJ-U0LIpkE{jj- z;?jx}R(KQE6FR_f`{aqy`Aco#1IZ3lI`_wgeGxUM@ir@pf@*Go&Z5Fbf}kpHXGf&ar0GkJTdU*E5w57DUa=(0Uvit~CEt~z`r9g3g% z$vXBU9urt+dj1W7OM{0-7E8QvQH|UIv~L4HmuqZq<)@89-BxcFjTT$JxO~jy^Sf8L zMz<^}w2w`6U^&+2d!1uET$5YyvF(bh*(@nHw>GxD7x5?c4M3kxjX&7dkT+Dv01{GM zHQwn;wv}8f7jp83rK0q*akwFbRIIe`_H{i8{6CtmG9b>T*DhL| z#odd$yHlXJyL*vh#l5(f;tq?uySqavR@|YuyWOSlcmM6boo6O<<|H{uZZ(A#4N2@B zqLyd8HksdK57T3pBu2-@Sm^x4>JE-ey4+26ZV+AEDhaHnHjgO<)}!-88U=bXieXdm zAUZJla}X@bZ?s9#gaBbjJWYPjLRT#nq3P)G3w4rpjA4G(>3`5(juvd`@V(=Mr?biU zY7x3|?q`xkTecKI)+##LSaW&o1r7g-ekBq&zqz_9$jM0Q`f!AN^kI2BnCFn(~DXT0Kk;b(ZJ#+q#~f zVf31F<~6)G#SZ+~;eMPD%XfGaE8cD-(q2OtByhpSBF|y_wAn65&;Bv$$(a1TGJTut zcXQB*6phR376I+3oNMxH4*|&~1<=3R1FCa%KL<5RC2sKBA)1`97USq!%Ju&THMwJbIHKMUlC!j^FGe?w0=X8-^4h5n76K)bQ z$a|20J7^%d;Pj$LX2{kOW>Mu`?vCpTL zlH94MSP!(!bvts8H(gJT_oD!Txfajbf7K-4hrm809TmdZ((>{riGFY^3C5ex>KqGG zXM5`D5^NP7`OkJD2W^fJO6iTp})XzTqj4H!ba})9( zzdb4`R$p*MzTgXSlt#F?2+K#Dp{O63q~CsBxv@drxnm$P{7K-E_tcxmyzyXQrml`8 zA=?MbhKNI-`KmfL^{ug?z#7BeM&Nvz1b>C7Z8jk@%7g3FeSvBD#-5nxlB6r@N+c(d zDe9jRBr+lO44D)ZOi`LH0B)OBevku@0J%$HmB<~$AQ=NTddsS!GI>veeCtC*)zzZU zyk4r>L%jVFl7DMU7m9Z{Z61fQ^cc#4FulM5n-|08CQEJCe4%tV@2NlEF{n%)=1@=i zWV%y5?!Z}9P&CR+uw~bcsvz6EL2;xm1Sxqu^%K?W>l5yW-UAeT%`4KeKBMXAj)jx< z?O4BwuCEUwGZN%NbFQZQ(SFZxr~09M-Ex|LN=8;?)bMIw3OiiwpF~Xgh{no-u(_x^ zzgqRJrlWn3+x41#PaRBey;s)KNvcC+2>I4J7<-4~M3!N|SV}^-02DjnvwNZ5k2>0a|UX#1%94&d}ryk6A^3^4+%N-lkp`-m3P~tLif^bSC$vd`=!}gx|Pg05IK> z^qzEV+nNl(?wpp_*4TBer&43rU@P5aQ$^vJDkJ z!eaB8tdSZrG+i)HwF{+QC)GPaQ68wy0E_FizH(e_`8}>R_}xzzET^M8ma&YCl)MgQ z^+Xao(WrA#0d9wzx|V1BN=`L}h}Ij;IkK7Czrn3PGI@G#dPs`HnzAQS!^vW1N?)Wa zdwhkekweEJf$$b)(9rySpmIQNqFxo2Y*U9Gncz7Wp%p0m8ruI^xbe2-0$Baf=wxed#w zbU~_QMS&~GEMaJh0R)L$awOwCnHgIM0mf0$sNvB>dhV4*pOMCxP4BJVNGW!yCyozg z8l%xLR*p(xV$@Vr=y@151u@;q#k5%6*@WpLAormM~-9D}G80LOlBctLpQm`{3nhZ3dujIJrsY4;N9Omt-KkFy6asU2TC zC_uSOz%6`tRXjo=LufGbc-Xr&YSHOky9*tDDj`uCaYu4z*fv^3lmeL>e4vMnt1|2?p(HP#%gN)X~Pr4jQT9fuxe&HjA;X;EbI>aCRc%#hf%Ml8I z*=wOrow~ zb9$}VVmjY2px%YyZ718i#Ij0H?dE!#BUq2psPnf04@J9-GN!1Kxt`{FH)htBsHcK+8Dihf4WWZv)8i zAzR##gOv?op@;>{V8hn zaJMdIF!1Qn?_;{YfE!)Ep=JxW+j5))1=I|bgq4C%>B{dCISOLlIDKNEP|vm0_j6wT zoaHJc)r@p^aZeQ2@bwr*cL1VQIsDC?o$k{?dQFEQrSaK;b5H!#_J?iU$UU5Nyu^s+ z?5fcW`2ttd(^h$cufFFZ4imqF+@UO=T1oskT^w;Wv>tX}Xpz}NYeGUuQ6dR{i_oy* z1|X9r-4wptW-+=JSeJ!O!PqF)Fwl!hu5%nwQpeGfxK`ydHZ35U}Tkre5j_>%PMIcDuDPP|F0|jh0bvuikE(yLGq-ph?yNukqeLVXS-IeRnYx zzfTL*CT|!qfhSJ7LOxPkZ|(>Iz284vb)btFVL{>slp+{Gl(Aq5f1mc#(llIe_AIHN zEvnPDH_~%P;I|YM=HYoC2*F_w*2Ye6D=u0A<^pcaVAgp*j%)XB@xIU0b1uY zdg7m}NJvP=-1U31%Qg-{nu29OKY(>?_s3(yfJQBkP>4Q|%2!W;ZP$cVoIdj`)U!`D zv%Zd$P)M^d<*b8CO2&4xL)df!o9L&jcXGL9T;F^y@48qzn>K&{Hsd<2Ky3{9(3JgF zMv}90}vj$>KbaK%mWCZq;_?OtS1?w5%rn12r&`nMC-yA{)eC0+CZkuxsO(oD^xLe+%~z z@*YL8YUIr%%CxnWm57YqPO;-Y;X9Yg9$#PcwDx)Ir4nwo`BYxU>2oZ=c392hFh`@_ zuL(%Iee`_VT25}Wi_Xmham7z&yiLa68>9Xd!F@q=wbX03sE6;kBs9V~Fx25_5qdO- z(a5o8RLeUufg88&A0>J+;H~)+u>SgY$L9nmiAt4Kn4=VB1(^}Ap=ZMS7jve9kopLG{ya&A*C6UY0zK;_4Q86*i=Fmj>rv86RZ5LWIb-Lzl~wg+tGuABfg}XnF$3kn!N}~+c~E`0 z@-$wRL;ODMCRRGxES+-Mw8&RS2XY++9FcF5<%W5fT+m1vH*Ti}uG?u4+-PY^(KlFG zL3U3~*Cc;M-*}-TOpvo9NQSKfVgQFCX=z7apMSr|ldNek{MlGEirkm)aJSm(dX*T$ z44B?hLijNIZV+@)VCRxivO<@So#0TCppI7cd=8%zB_n5K@vd9m-g_S_D!_%O^k+mw zOA6764+g7$>CaLWpC*jwgGkMcN+|Az#LQ*@-itjwC3mX8 zYcB!)ykT;fhX+QfmdN+^WcOEGC-zV=o5Aa!Elwuor30NP)7C$E>9K_)LAT6GLK zJQWQY>gQHy%AAo*8W{1azQA^uS=K~3g*(J7<)gyy(0hqz&)&`*O`CPx@&kxj&=22k zx7@P2V?BQaniA=%#?Ox>o~i#@sBwR1qCR>x<%geqrPz5b&VD!Xoz$_jc3%{&6{cLa+k-zq zH)y&R@?05IU&S2RKhHhQ@DoTLIzByGi!DsFxVB(uJEH=00aa{mY# zpmBB__p+;AwdV@BphPm6M}1k5DBKTKq!>ZXX($_v$0yhM3+;ZuFMO4KqP@vEt4)2V z?YViteQ~l77i}FrwKnb;fFQOLi%Qw)r|0(#qKM&AgcKI*7&6cKmb_GCA?D`pd6FV^ zbs{-wXYdFyyfEkJb+ydzP2n4$W~uVZ5IylOwD+3G+j(aozCx7Y>wpz0Ixedqb7t>Y z2V4a5MxOQ+)_Rx-Py`w!C!n+y>=c6?j7kyY{$BEIW;amP%c{bA*xvl!HGT|R{O-wym+^Kg>fJ_wN6LaOzmZq^@eG{c8KMRqs(H&_ zpfAdXDxx4EaqVP^-Sr3idFs6#U`hr+<|k}S4F=0abV;c7M+A{;n7Ixjft*C^e0Z_r zyk2jH5WRFfb)9Hwweqm>o4Ksq;zOslexgP$F-I~_pJFzje?Q%pI!wdYY+`Z~Obqh7 zP37+JbH`2wpehTS(Q@8YoO9s@<3lanv1M|9*E4=itoeKK1O)Iw>><#3o07!Q20O+r-d80u_Xlp6i1ArRpEw$3mn@)^2s3T1tunJrG_Fb4CYd3#ZY7I^f38Il><)$cm+pN09Go0ADsjBN^>N4r)4 zKRx`_{e3f&a}GiI;4$)sXKee-BR#OSoCR7{&xUm z85t0PLq?4hL9`eh^GsYq;>vC_s3v*(ccAC;LRy;b5Wd|7XVdB0OG{gl-PtH_r+r`N zl_2xWs;Q?tk^!ac85GUVRgs^!mDm0%9)@S7juwCmNlHq}(GdWNJFC;RW|-fc(j!w$ zZc?CDEv+9t7+}VgMwUz)B?5yF8I$I~!gI$xwV6Ie25S}|08F43{wwC)`0w6!6;r)J z+kg=Wv?ZdK!a}!P#^QiQS1{UA@V&MHCuf{-&Z%Zi#dQM^@?@7=a*^7jE`q#4lkpdE z);I2ymohmyO`E1oVa?NPu*o8?{DJV`PyKDD@cs3#&Q|9MRiEgC&B1TJ@~e*>%dn_j z;qZvMsqw;|Bd{#4g>Dmj(Xtv%mZrJ*S~lC(o^J=N?FqrC?pi=aZZtTsqX_cH#|@TP z=W?zs)**vLD-Nd70}Ph#k$&NU;W18FnfgQl{q7HZ8fz#m)$yeV&*Q+=vcjEkW*EFT zE{O>MU}e!YS6h7%GOA${Q!BxtnRJbU@_%%&{lY1DXMTcCN*u|k+sS|(Y0j2fa{-^4 zwWJe26SOb)V5jcG(D`L7>4l`3OzVJ3ylekP6~}-tD}5ZZN(kV#%^#`IY$TbRx+HwH z!^pjs_IKe>oMX_o-A1vxh88RRTE5r>2GYtYGjf@0^O+Vpk=I{kJQ9ZY>e|q+s?O5w zvT%MyMHQD|V5Vw2Rp6&Tb*)I@R+(6yummzG0)1F#XtjIjqJ`!0kVr(05R2*C{Gqn& zJ19}S=OVFbwc(6^tqY;FdR2~0m*={I`f6S9dkHYccLX=1*ML3zqDama^NM2w~E)3!_2K zrCY+vMuD9pYhCB$*5xVHatx?hvm z9%sKOfW8c>(B0bQl2aYRmRWneR4N$bDk#WtNZTZE9$o*$khlC@cYy)Jf_*3op6O!1 z%QqGFjyqtDB3Qx;o{ZQ~kP>U#;ds|MwdQOg|9btqBw(;#sn6Xr-uA7ct)>Hw3JF-M zl{8bLjL`8qnSRoFizr*D^0fytmvpZDNZ60wl{uiV?~w_VdQZ@3Cu3JaVmrKNqCuwI z7AD8gPo!@JAY=)D9RNYDfJ6Yu(KJQ{Jcm7qvU9b$f;ZPk^p`it^H{oa=P(YCK~f4* ziH3BtvNr7bJnkBgTvKT8WJpKrz4Rx{*JHq}-(|Idr1RFqhV5hz(h<@TnkyvZ#JbOg z!0{26%{a{DGg_%2ikYP>i0Ldz?!f1=hwR|w#87{GIcs)P_vo*g(TfICg>as(o!9ito8ae(KoY)bDT_9e2h?>!a3Xp{y zPxN8HQ50;7iuHr`>*O3t7IdYuGW|dwjgmSRgdXE9R~FXpkXAbyGTE%&hd;#`lfQl$ zMZ(f?c@j>?utVmn5UzNBfMjKfNwGsU@Or@^mMafiiP-1-=lpzitD^}%qQbf(6lijQz#~+DHGKOa2OP zB?gBF<+Aa_AMZv~EYs}mEGwb;8KAC<6T47lf7a@2(!fX}qtyOA z8JDnZy~SVv&PWX))vuiRd=A8{-X%?X38V+jhA+l(E^}A5nOgQ87HA8D+enU-;3%4m zld~v`hL0-A8Q>cD$`+~GTU-O@yqQ9;eCoJrT=*#F=(`NPihcwOx?S21O~39PEnQI| z$zA8n79!kVfV)&S!jjBoDE$F0O}A|ADXz|Rjdsl@(BKLOg>&{d`n<-(Q+u9Uz~0t+ zEY#(#ygu8l(O>=PsMyMqxzCFw!SgwUGw}xqDFMWWk1GW{(pBzzr+EJztP&4V89!AK z6=HDjJHeP^g1DZH6?8Z{6U1!u6F5jFJqBidqia?6-;s7~d%V^HHtg8ibe zo%>s7mGgGmAeO8+1g);&Nbah}CY9^HD%s z=uuzPkr$Oxak0C}QEOUF2Ly#S4RG>KQiW2w=2ta90~3eDi_-V>+t{tVg4dWDTb!^r z5{{1g_xjQ#;yEQ|S(?(fpoWUW71zl;}BI zbp3aZ1gmaPj9j1&VN#Jopz=ZBMySeLR0vPAJ)Lb|TlY4P>c%pV+Sk_BPVI$4*ePq z%7-@~`HG2)!Vqx8b?3WNW>HgBwRrcqkEx8jqs$)}@VHm7!0zRJ_LOE>XN~U!r_Cd4 ziAkQ~vGU?_^>j}N6`1XCPw7fyeVq9m6~0^1o<%5l39Hu)2?=j3CL#}TiEw;t57k$O zl2bp3{}j@K7JavvAEhb7Q6DnYj`-{b$DhfTFP;>iU#5_*&DXM)!vswph*3%;d`VlPZ8cu2} zZ$G@AYYu(=`X<`vZ!d6iSz~E$s`=yP@(4FJD`32Eeg2zwm8OA0OWXVThOG&|-|&Xn zCT0PT>g__We4eYNFgns#ca$P=%u?Ekf&uEZ2U}=|K64w*lcx#ahyT|T@ z>{*CNpyb###vC3y){p{~fKOv&$EpTo~IhN_4}=i?*09Z(?TZa!aOc+jrmhy@q8)TL%-& z)j|PMSzcJ{cDk>>nDk3|hai7;a&TSGW#{8pZ`mFEu`x%Tr_gU5U77?4{BS^ew}>b5 zpFe3;A}LiOaTZm|-48xCCVtbfR8UY<;5%UVDP*TUxE^tD<&WPU=^vVG?ie_cXrvrV zzs=N<{){=G{!tVix~3{vXZ`YN^Tq@aWfc*( zH2mcChJS{@dP-f9Qv8efSEh0b0viIMHk-?x?O!u39lLl#s4TxNLr|Y@+#F01xf;mW z!<#%Eu!jK#9gNzpg5f;H5gZQG z=+KzFL;4?Pe9kfTyxJDqvjarVBW`kRS4LpncMUV!p}v+=BT^>-!hfsX`;m4A0Y`@2 z4$9HVmF7e%{`KM{3X53<*k4xL<5#aOU5VCjexB8rh4_`rLQC3TI+|B)OiviW#Wn6d zIm+JS+RC2a!azhs<6B`o-#R%7Z_ai*w(haB#hnd~ogV>J5dwX-P2bLW3?@l6lcu6l zT9lT~b&@dAa61 z)tZ#iTG22@|5U++w%Hk7LVT3N>ZutmKgvhSyfoq$G2ufofcQbi!RuP&Dl>_s6z4Zs zocO;V2(>(O7oKqtKi|#{m%ZJ`-(+_Rb~YGjdL8V{jwHuy#r5Gr2>|L0k`3Qi2VP>t zXCU~e5b#rz-(y}GN%O_*&weeAeU&g+9~0ez1FGY zhC~IOMk=llklZO^m6$9;B?C>j2%0Y4z@rtNH-kAYz7iQOD!x+BWpc2fCK)y~4CjR> zxWaWZH&_{lr<=zJic2iyTPo8c+P_T_Q)4KrXs~l~`rUZ)KpYMfWB7O^RKFV|-1;{B zv!=#sP&o~L6!a*6LLs=ylbu>+_Us)NkJyk8zwz7@iLPw~L!($QrI$bG$xyMtIogdc zD|aJs%i!ydwmlO`4d**?^Qo$#A zJlacB4j-|{pco1;zg#ug(Zc+1ZR2<&{WxM_Wrfm=>s=>u`X&Nt&WR)w#;|(9kNV5# zih_ZJDf?vKvi$n-R^hNcR%R%7LoYIeoOek4f~2-C)b(4c*;e;|osmZ8s1~LuiV{(T zO#ey~sD`1ch5^_^${p4_iE9U6rQS$;`3Fsyufq2ZxOb&9!rbGf`M0(11>8KdEqR z54H-vC0puDkue0UME_u{0n?zMss_z^BZp!5C?HsJI->hkAXVaA7?3rs6p%U`5o{t` z>dYylXwDL6j+4(TEKd&MlZ`-rZv^mtAyofXnJm(o0v>EZ`rw>q`t}#fXMd7{} zPIFKBp==%d=mX}vU4@mAiF%U-HS;0O>)d7WbzL;7qnYydQyJ<6bob#fi%sO$| z?wEozl;e!DOmn+GjX!90ZcP^KcRkiW9N_&K7k&J@)h1^Fg-Z^@BIkS6u`%VwsH)}t zRAdXRH{=d|c6b>dP5>_)_jXF|;SATxV9w>~<>`=%iO6bx^Yc@0&y4-s5k`i8!RHz_ z(yU}vt<;gBzmYh8O0V~(yz*hSxo}ZNF?ECwGl3c$YOAdubyO2mQtG9sHy`6oUWxt# zL##N`PN0|`5zN52&lJhJ>rv&>$#i&eMUSt_O8*}o13{FjDer96e5(^den;J>f~66) z;hBDD6i&^Gm)?q^*lbbm4He&%NZB93hMi<6%5qtS==Aj-=XImW^-U*lky9xyE;w5) zBR>cZBZ9c?3(RR>tC){IQ=!-ZSbkbCN$?s2$h2Tzw}cb3e^PfR-2KM;#FA-~yndb9 zc3+7_Q4^KkpeS&8xpQaGmjaJHy4#eW!7cuNu|b5=rn+Q7_oVG5#~TH&NtBEYMA0$7 z0fqvu7KbE$A$|C~-QzAmVN8UR=VKz(vcA0Oa;ok92sX!hCZUzpz?skPKh2o>$+52O zG@4Jcd?wuNj-xGyOqZ1Tq%^qlmy;Tz+MThJog{6(Ct(BwcLPOyK|VB?G5w~M+k0(Q zPmX6|99@L0#WiIQuflJjj<%K}Do(tb6Wpe+TB0X6Bioj7$ZW*LQQV^cR_iSd21zk* zU_S>Kd&m5)^ldAoypXAe9QdLkNV)Y(%@u~A#AZizmMEA;$0&5a%zoNE)C&7lru0cR zxNnTRTp^_0R(e0d0!U_tCdS(9QsHh6S!pOEHHjmZfCxLJOW?ZF;kG@&Pq3WEe0$q| zc^oM?)gJRPCl2**GHrp?6Se)s*W!c9OzB_&d02mf{nq7$Yr#4Hn$N#Q9AbXzfh`$q z(s%z%`aTC~8ty*T(Fmke-P^^wkCT@lt)NhV$&KxFg)2b{lhdTh6ul3FgY)q&`zKpW zV_1Y*Mpaoj`_3N2vKC5wvU;Hmg)JseRI}J{6*LKKeZmYHNUncN{fW4}>oKdrex91` z@VmhmYuB?cdb*q!(KxKI1EN{J9-SuJHCn4{bC%Ze;nk{o&FdAA^RAoS9~HaAllHOy zfq4QN=QAV}Zw1Fh zm%B5e>fNR@T>Z~JoCl?I6Ju@$$&ut&3M2v^O#K;YLbJFf-%7u}{QmP3)-+g;4Vo*4 z_hQTVYP(Ka#3LVQk$Q~*5@5M+6n>cPzdToB*rtmOhcGdT2p;sLa`47ASj0}S1n79F z6WyE;XcjUo{JQ4PKG{KkyX5dhZa3O7H^7np-)-V0A`2=8ChR#2^SPfUE;#zI<70V# za72)XSoE-}Z%bjV-rdvJ&;H}s?rY1D){v;Iv@*$<{fF&x)P^UO`73#UM#|SX2qeQ} zugkIZ)i=woI?t!kPKVxV-s^FjJsV~dpaUAjm+FuG2+CZ;)@7Lpi7VFEtF#L2)G&aH2^FHLv$S|PLiXk9<$1G)Ev2jT;c<>Jh zIEj$v*k9Z-M*f#QJi->`mrVo5s;y$iaPX)oId#7D-T(^rV{9WtKj4j+9Gtvij6UXJpayLqjrJ*{+u;K{``0D-w_SJ z&kCfyI(FJ*=uuBa4-STKeDQO8IjP_|# z>2Cd%5KROE$=&}$7rfNwy=t~_IXzq(xO0To z+^ko5eBPqmRXDL!!(rZ1$p(NyOUmGWjl^-3?1M^lKFn`62`1E<94f!ODS3HQH*l%2bl#^qGnR2P>A5!oqz8FqGFxF04K(DK^!SOEQ*JF|%p+F++KE<#oYXunM3+#a*XfXXsPK=;)S;LRSVA1W+HLf9dhqeJh!ioA1KX)$h|kk<*5Yqccy zdDucV=*2a%U{a$c7;yA}1ZTOPMr-P{VC!k4@S*^w{zu8<^bGCvO%pV>kW4~CTWdHVTRtq7u*-D7DT~7GP^xfP4{37ba%~0wacM_f6+EbVgQnJcMAAeT zp5K!i#0vX9_esJ?y^{9i=OZ096fB0cw)Of;lbeu(xLeU_G!;4-wXUKIK^rW4JP$tt zDob$C1=}F>2V58?wh;f18xLcC&y;S@m5DL`76O8Nr{5+TX#4Ti)&z&8Y1Tz52iJe0 zqx9?|A_k1ydETCN_Z2gWm)bK9DN--cGVlg*jc`mPO(60}N0JjG)aKOYnr2buqYp2T zI55MEMmc<$N5e_XnO1J&OU4>GMj_P~R(@TS5HL6F4E7xWopP#&LXOIoP8a#^`#*#I zyVBjxslYF=Os8Q&L=D`#Iw=1DMJyo+`XU%uM`>u5nx@fo)?&Y2DwwYB^No$uD|HV6d7)Z6pr=68oh02n==``}><0yQVH)Ag3t8gFKrsut@ge`98k z$`cEFKSxVtu@4PxVAE}nIWzi}q*AKV+^Z&pb;%y#6J*5POSt!{XPKy!<7y1Lx_?17 z0ptMpf|a++oAJr^pX}}%zKw$JLjD1CiXA$b^(Gix%$aduuikA?i#0LvEAhu6^A;l4 zB#yNu`P~0D6pkY6W_(75HwcSBBOH%NU=``SZ>Ia!oCxK+i8y3R^41H5L1NE~n=Kt0 z3X!bg%5>D4cUR@-FH}wK$a(RKtGDp`Pdi8uy9%F}m{@QD5od#!u8GqWC6k^#eYw$Y zLZUoOtTDJaCM0TLRK_Db2MHS!XSXSt8j^yf{X-$O_p?2gQvIRwzsFCF0e%aSOokyF z#{xig?!ws|$I z*Eaw0uHjnK+?h<6o(tMxwbK0F3a8Tx9xsG813uUt)l576>r&?x_g(DQGMP^+hjM9# z?q0_PRUqy$os#G8u_{+>qpBSEHmA1wEjN5cA)!nt*O`AWsBF2i5Kb`};`3mL@rg3^d(@@u>r00sQdME6d#^?sdHu5~{|QUcYt{Y_mR|*a zy4SIvAxq23?7hz^?A&afbb5KmDyEiB1oNuAcMTnWb25dg50qm&sV-8i-w!ZmX5Upt zekA7_hM0D^VPm~&R^V1L>Dq0L;0V@cr20t4t~HyEBi-@bS|h@d zDO}(967&xUuH&`F<1D+5v6Z|V(;^#c=K4K0{v-ZZ2jMOMU@?@}@4kMwPb$D4f~?Q? zey^-vP*ne~1t2LIQeZr|J!ImEpUNV75hm#s4J6Dl9w`F8FBz^z-0%th(f_5&Qlfp0v$_iCSZJ&v69vsdDW*5ewYs5bLy}q zRkr3r9c{bQLroZAPP8*iKajJViB5-)u)po@gF`U`Kcw%2zj;Fk=TLQe!~M@PZO0gAZPb3cP1M^22l4VdG%~zl;Vm_(?+p1)2eSeo_CRR;-<*tf7IEHMN?^t5b?R zs90Kp*igWQDn^U*6G;7HM3&;^gTg_TV63b^B8&15BAOuJLPU?h3Z2@F7C}km@>i6! z$R%Nw&y$?c-P^K7URz;3)vDRMo$fmB@XK{Qo(|9N&rV-N)}W3 zWRF|$Y7MUI*i#tyLep2htQgOjO9Xy1clST9`+>M0>N)w5HQ^ETx$Qxdhu?7cNe=G%g>2Wt>Mwasr3$=jx88JZ6 zb@4fjk%iu9*6Y)dGE6@N0OiM}^Lb>T-p>}gpk@tdYwhKRr_L9CVedc!Hp|J3hXGV@ z{gP*ZY#fmx;UNW;V1m#iYAhLw8U(^Hgm!l>sixmW1>0p{t}iWk#4qkffE~1pcK(z- z>)>*1d;PQcQF`Ot;^++~JMfa`VjG7A;GVNsIw)a8?EP?^R&ipAW?p7w9f`!0B@~O% zA{N%BmT89==Lu5`I;a4hq_6h%LQ7>aK_BsI*>n$NtN(LogJ_)pF$NcCa*ZAT-x6QM zVuqDAophLTz}8f2y<6J$w#EH;r%qyvFQg&NR*!G(rs>2G5Q*U+o8cr2V2u-(#!wN7 z$w4&l!^X*qnRD8|jA)I{4GDR#q{#r1#YLip7niHW!+Bl^P{9YquM_fKn!7sWIEt>@sT4e@W{8nHm_2$=+q9oT zQc@`pj&6@_JB+s_8cu~hEY7=)qX>AEIBaB5{yU*!1{DPxR%^kv1R{l#WBLC|X=?Q!s}JOh{gSca^NQ&`sy7eOz$8Yt7~7>bhtMb>OnG zrRw;R#r6+C$@U`uv6|CWoWC;#@lfWNL)mp2USeUtYs`3Hj#lJsX ztP>R)5-LC8T{_oG$jsT=@*BpdAX&oMvT7TNYd3L5Rb=ukA;-#(#GgX|kYc#h?7JQY zT^8(B$d3NhJy3}CFw8|4@q7#s&&DV{G`Tjc zK6*c`lEfVAdlW7b#qN+-6KQR(o;0-Z|Ma_aMhbMH?AXN4bot-ypapXXxyU~y1Fr6tcWYuzw8yb3g!2}0vJTD z#K!(+5J`}RjGQqBKG)H-&a!>#^yY2`bh(Oh@) zS@4l%dTA zgyW!$1}|>n*W@7<>t{tq#0SA(2Ac2iQYIBd`q9Y9jW)3{NU^a|__xnO(0UO|68}Km zBrYBt0ZSaj)JJ6R#$G?a(4F`Gs#qJ435P#JyI&J1{^kkTHtKK}uSqUg#sIJw`ikFQ ziHPRfBUtc1`|B$?iMl4xkd&w$R`_{1xeZaX5e?Hdk4uF8;5@I>oQ87066^%mIYZi1 z6j4!8ScIDt^zi+ikRc=L9T3I!M;4((vV27IrdqqSX`1!6T5Ksbqf5BK1aN%S=DHjp zx?L9tg|4HHuf6Jf1NKJG9k6&IL@WZs7HM2fg9=NxZdeiB@CY$HqMly2rj~>~>`OZb zZ&$))lYK7|-*6O#ke5|eZvKmdCy2pCQmM*?efn&;bG zsAU#+3=*i)x7G|#&Ret3=iCgY##Lz$R;EzrDnP`+g^$ONm_AI*aw^6_yp;L41PhE$5XMu z4U3LA3d^LgtC>jjvBSX-K=Y&7fF=jx*IAU&Qr5{i-8PF87gXO@chgm+k7A_XN9cl* zm~EbV?NK@(URYWi*;RHZR0Y%Utc-Pi3Db z>pe{4^d>Kri0mF;2tu|NkA;cEMypI~{QHCfCmmo|1D8SZ)9 zPnI1}Wqj>R?w;;&KA+8UIB2z?6$9W#=?`kd^tjSxE!8<`Lke@i#W0~EAq647pV>%v zFP39Ft6k((t=vMtz-b?c*b(zCZof=f#zC&&MY3UUfx(?mlfjfe|1+M+sN!3j(){C% zl~sQ~Cbo})|39|V>sdKhN6F^%`XgkIUSI`9}D-ayXt&i_;6a#p_Pd zj$QZ>bJ2PHg?4()Q-4Nmm17OdRS_T2d_B#5%(TJhaxLt;Ra+0cI)q08w2(IIUq6^_ zl8Lls`Q^~l00wbCMTju%S|(tZfiy;fvH81u{gVHY^%R`<{UnFM=?xE<#;_++cjLs^ zu%vp_R2m6zjKZOlVD2y5v)MHi4H3)L6~0?6xLfgIFhQ0Q)BXgTVqLm^`Qh#Mciq%> zB6wscmAit82pZOzl|gOcT=;LLH=t)o9JGKRQUL?mODFD1eZI$T$kAl5r(FRjo^b8N zhLQ~@pFc!5eNPJJpDVp!nvIgfYMk2*eC}q-KXg+Cm?TZNT3t3oWl?!9*dc>bullL((SxpJ1Rw*q-yVB^ ztB>J-)jH$~w!Ne&qMk(B_#hRRXaIK=9w>Q%Anv+VvmIU((+7!U1VE0&!rAlP^D15d zH8r_u@)1>3)Z*fwQ`{R54o{onk_?d>%!T4{5*O_jMF+o|W54>3e-Du2)OB5ULJxE2 z+xgzaU8v@4TLdxyR8kWjCzUk_x50FZwI&hgKDXy}%0~jqmFBUerBacA3&w~>(`$mQ zA_^jLP1_x}ecR$9Z2J1z&zO04N~nv6UpzTb`$fR7X8%ZW12lyHz|aWp>mS(zEz{Cc z--w+0JkM?fXWJJ%iPO-z7wN!8NTH;Eyw|~9zF5bqTt;0~7}Mq6e7EtLeb>ab@@j7U zWA_$Nyz>~rv6@7t9VN#b$j}{RvdP%ys^>TMHNx22_WA|~<%XCaioGL}uJ`*2W=NN( zKmUCBALo6$hD=!%D(B7q5e#OMsq1LwmFj(4IZ1RljI}z$S0OHL6E{HyEqQx7CQH)Y(*61|QY@0nK+2X6nT|D);}1M2>x{>`?H zZPl`|>@ByvY`d0io6ELs+pW6QvTf_R^?#lh&%54re_xz)zUPAz*0@qFb@*M|Lt3*f zo1(aOWpMS!+pL1KC;UNHUpIIJWCB1wuf%N2nD{%bCNmbC`Om;Eo#+}Oyw?_*vt3)rOCY-6i<8hG0%@*qX56ug;xJU7MD1U6ciq?~G+*wrqb_rVq zM#DF!0?BvY+z*d!b_*$)4j9myc1iiXsZL*J3JLgYOT9dt?UaCJrD}G2^O6*%6No*Z zY(i+zG?Ybyf_q}V)8dzgDyfA68EbC~X>mmoG+=y$mG^Jg+B>gg`Tli^B9+(HEFWz> zsoY2-Zp?g6+8o9r3FZ&lo~-=2*P!(DdI?tB=&|2&-uI~LENg6HISVY_`u<31;}RLV zt)U^Yc_ZJ(9OF8k}6ZJr^ZlLqqN`cl6>*H;o!Wd zuz(q$9Z4!7DW@ETchYLSe2iM1d6+Jbsdx;z&^36`Gsb$prG8JpOf;V{w1Xw$KxVEZ zNt7Ai*c`SiJ%fLfLgx8E>LgKsw@w){FK*NtFIxlo^mwF4w2O6kChaWJj_4zoFidWJ z_u(OPG@Xur(93Vdq?JDZ6_ru5S_x9l!rF%#OWTco{MyCva$U^($E(~^VcekaHXckz z)tf!nc-ubJ4_X~q#;3@P(I96r(vSbu zXgL}oQ{51-F-y?kR3Sr<}=f}&!oC=Mi5NT=bmd%1A7BagipLJiIVUcxw$ zv|dZMom8n0FKbO)7MEyft2`a7y>hIKIx{Awz;k6>V%ncbkEVK=uYv4a5o4)J?&^Wn zopxd@tO^}_0bazVfBRVxzHdPMIM>Xw%fNxso8-NlT;sm`cV(gmzRcjx_VSLnmj!2o5&Nd&BNR88nRURB`cpBvMiGc` z^|-7f%JY*+pFd-6Nl1scGLIbt`Cpb6a&ev#T`9^mp>lzJ-nEmR-nrJjkO3CP`N8%V z0$pSOmgZ7?Rj6!5L?mKNBXzNK#-}kvA0(JNik%)aUoY=!7;b4L6&njTSBEb$I-gW{ zT;aY7l*WdK2y(32F6)$Y7>97hyg8TY~`6jRG7Da{Q;d79J>{{WeG1=!(iJ1FVeQ_{w}&#Kwx zm3HhTI#v^KH^*>|N%ea;1TX*zAnWL@%{6A3h^H5$lV-UFYk4RC(9(z8B%DK}Wa zLiiQD`zILHxBaV|DIZond$~@YfP{GqFl=G1Cnk=S)hE2Xjz04y(%mHqhx&2Of)sk* zLaXy|RWnKX=+jLvj#;d+c_I3rEuv0)mP8Dp+MgPdAAp(fd)qyMLVN!C(ke2b?I|ZC zB<%XK7}Zm`>R;oU%l_os?2XsGTYcldeKh99vFyQ&zJ*u*aG9>zA@Or#M{Ts=?vUcV z4aS&;kYFmKWL?5ZVQMO2#w4|kfaD4;E|+5l;?RcqLb@mgg=BDtALZ02*Vp$wlHr z|A>4xS0{c*$@5+t=UDn@vh~cy503GC_(*D_pfIbcegE0&q^;^70gCb1!Nn^{d(6Y| z4})i^gAuJO8!T86Ind*3fA`SGWJ0NB#MvOg0xJZ6)bDqW0Aba0k{F(2Q@S`SFM&uv z$#SfpHZm*#QTx_!q~{fy`SOT=TyLDAUtpb@i zktm;FzTsB86VU@_gYI-f>Z3?i`SIQv?horWXnQTpIP`jPEK>^!bVWqk+7vag1aiHV z{JwP?hGu~rj3O#sYF=Ufmh&AVwJR$m&Vv)h`3gHyuWNRI2p5I8V|#}ix01xAcd0%s z7?V|ppayACYbnbKcD_tR(Dw&yzE%54qVcq>=#49GFs*qPbr#MPsiv5G^2|(zOcaG) zfnc@1?_L5fV&DqDYN$9V1SD@vui4w)S!Ksv%V}z#BGurO(gIuMTjLY5EaG~=4^ACA z+h+jO9;9&B-+hw^tOy&{AIH&yq&Q>{TSk@!S6GDssGBcxjLlfA#dkPmAXq&kK_LXZ zUddP}gF;yJ2*8T??dVDp@kMl_=JUr{+kE)}0%!X+MM)75^%>a$K8auSjB+|+4?t%P!M)ZB{BzE@&v|PJ6VH$iTY- zVS9NYf--q=9eX82d5i)n^z_|uv^o841tkAU!rF@Z1}KZJ*-aOQE^@t~v&L@4DNm*I zy(vqIKq5x%$!eo_e008=ekvc$%!`n3a89^KiNKQW!b*GH%yy~bN&liLPq@W2heUhk zil8|xwpd%?sQ&4El)4Q@pbCp zF9*pWx3}LSRl)I_->;)3B}o@yVe0KiOE-^{?vU+XaVBu*tk~PXbS&|Bxc2r|dw~hT zfmx``@%woA_anlb{Z(N0CvJTAF!+tMr7zdJ8>&mn#ArSOq|*QX{bhZggxT;7zg|R^ zW6aJG>?2O+_hjy9%dan8`F&zSg*ma05ycmF*6H^{Kv-I3;GKFQ49lUyu0_IQKM1P>@l9lXQ9V$uwp@S9>$$15fr7~HW!$#D<9rI?et;<)EEN-j-Wpn! z3^oz$lT-vj%UFbT$d~YHCc>6rE7H9M>6U`MLIT@)@K6I6(r6Az1t z9AMp|FFRuEvWRPIsmy^dn~-fLVtc3@WirWBA~C{16xb?#r7 zV+oYcA?+ZK_MPvmLdERncwG=G{MNF>F?8ZD6ul2y>BJi+d%B zJHB!a=Yxo;hHXCSJLBn_0}de98yEdz+#~`6*?so=d$>)9Xe3PMtd4H_2pb>d6N{eX z;itD3$rQS|t?D%C0KR^Q-9g!n&UArqRH>hb?}yI(bvmKmOdGsWvjET<0#9&H$!Bqi zsCv3OQzgp{r!RMRca2S3XxxS2WTo@+!cim#Ps@Wb5Dp5@)mw(8{i z!o3rv;Nb(hV7a4m`C#?sboRnND2|fnD;eflJvF293 zKAqP-UxP`t7ju&!UE(<%F2=WbRSmP3bbOh>4Zwn)#p#Dd`V-FGx@vU2*&OmHtjM=x ze70)r(RNIL4zqs;{Pg%cD2$Kl+eU=atb9&paca%J{Sti%&WA8(}CgKeWlD&T+ z-gU|-DLW7Mo2bN=&I5a?;D#sbOOQ{jH-8)Nm2BHE8BiLqc8m*eQsU;WLgY-!4Z1*IbAc$ct<}m!{pZEh)KoWRhIE^42HO*c)&nye!uoo;r>UF6 zMseeWl*X@zVuGUvr*LERq{y}i@yLxb?G|xOcE2wm_L;w4b;-@q0!beum^T^YkV4s% zR*;fFCy6S<&ZphUHz^UFF2mnS({?mpp(x(h-gfSt;+PBrc~ABO9-phm|6GJijubP1 zd6znE5r8jtl z0JKK>Ej%(1K3{~BE92|rz@K~rQDY2y9MeH6jbFt8a#Xas`DvTaN%b)q2^}n=)2_Q& zoiZ1cyeX|%@7cBKzojAq$4gdqRNC8Bnmbyis2N_(Eu2oLa$!;?tC(@<0<+K9Kdt;h z=G}WZG3i0x+OYBSMv>gY4U#-35;!t>+G%qbv=75GfrCcx#A=@&0S-hJn3B`Mc*Yf^ z`+`bZ2q5!M#>yy+BIH6}Y4L%Tf+sZ;)nqTe`m_)CD?1(^YlaO#f$9TqcnB-DdG}w= zmweCp&H6g2%Jplne@Kqn3||Cj&DD*r`c5j{&#L<-BkfX$AqCr@&~hV9qa_j}dK5xsyh@{kek+)g$P90`Cf~Uh51ilbB zxi~p>$jutlA z0wxBTK`1F^80kXtn~0siUM|lH62>mHQz67p;?p}cWO$~_^G!6PYPkxHq53fSr7Uzl z_XcXW@^zS}C`kIP?41Jz+bpAf@{Mx~$h7D4TJOmJ%ktNyxzIcGqyQ%z>nYmibmkPMQS zb_`OB?C9Np$)qCbL$Q*RyOf~j3kewcVuExk6Y;ttDd(Nw#i1)83=zHf_5Gp+*HD6( zuYF~sjZJw4JCY~C4L^?DcgwX2@>)u5$q}gp^u?AEQNz5o&AhvtH@0c`T{<4Z8byE6 z60sqUTL8DND%&DFyW)~S>=1*N>o_ti?b*31%VtgKBv<-xlrS#;0&bJSx6kO%WUI5B z1MZNKOuEvqRvA7%c{BB6M{u60dodIg@L7~CG0+I&>T5xEJ|bd$dRsVs#;8Eoqrpih zu^XgLd*h!jaWW&b&!CRwmby3-ROeeQCOWp>tsJexEN|oL>pG*4)-k_CQMRMj*eQD z^}lZRNa9>e9b3$I&PbNEPiR7ljNrjt8M!P2TCE;8uILf}#|6-*82E)p(U3gR=1I8b zfsyMC<2$mZ9o(N&BnCs!brnr8d6@AdO*(5*c*4t6z>Fl=ZimAN+Goyiu^j;(jKga~ zUqOA-ue!|Al;U=+<(G0jO8YCd7yv?#f3tYx{AOsD&IOE$oE#u>oOBE>_tm;0K8lY3 z6|A(e%v5VRL%AVo7_92Dmi8e5BcXbF;q%(D&sFANXjD+vPA?C#?ECc+(tvv>o{xdu zzEO%zvRETWMp@k7ODjtP=ND%OSG%t$ZQyJe)Mx1y;`Goi^sfU-{`GltMD?O=Qe&!w z4uVG}GYizyMYNNhP)#&e8yZdcv$bq;#(w>mP@rADV>rAtF;3E2Y%81;GPOT6bOfX2 zm;oAC&-h9!`DJL*Bv!f2{B89FvXQ$a`79e1?O(XSWHg_ba(VC zELq~oQIq!&PS!UU`(8#M-zP;v0=R&cx5O^?045Z88*f4#fd>sn@L{D!5VIdMK(1Kr zoJ?V2k^K`mqtCMoTYfyVzd?cX=m<;jT20$l2LGdlow261B{jw^?zs8c{r>P{;r)if z5FT>^S}%;RU$~0(TGL*4RGMZwK`^2-8j!K1)chgVjp3C9x)x&ki;`48HIH}|E`(U%BCHI0HFg!8}iSL$G zt1$*DJV$4Cl!o^Bj#^1#r-#DQCDr+H5K=gN3S5)mBBM!epD#fQ9gPVM^NH<2wK*fu zTo?=zf*E1&9z!M4n5VpN_J}T&#+B~+Q0pVKCB5U2dh^o`-1S+eCx#KIpwg8V6A_y8 zCsFGY$LVb5FE=W_6u3ofV4YYZU8@J}N{}(dI(^#}x8E?TYn-39TYlv(X%BQ{5TZ_2 z)=0wy0T|+hk^SPZB9K;I4p9#`kc`U2&xh05^lh*??;X+vQekDXq z)ygH+F+%*eINw0@J26bT7N|ZHspXuE zhy2MLMW`-VJBFI+pJje1~a)?56SEe!$vfvxvx$K{%UU>(8Fy7bR6`0FNJR^4X z(bAOQ-a=NbCk+Rv@c6|l0={frAZC3 zHrjVxG?d)iQxto*W(^Vw0pAE@N`Nn*o2l}XH7?YOF;k zb$0Fha{dZsPZiMpK~Z4tl%U}3O2-elv2A0Af?+H%ftGns8972l55(S}{s|gpcW7Yl z++4k5y`$1JwJ0_$ASj+~Ef+&5_)?Lu8}85q$8+LgZKm~<+LP@hX!j|Ovg1a|aV9h+ zc$4(T<$Q?C{SC?BrK?yMAcsKjn>pxxadk1u?~6jZHuhVdN>PFgwHAgk>nezFCzCA^ z))Ok*-46nvh{SJ0=t++pT!$wj?Sy~Bj`_VuAtD+peP5nB{-;gV z!NL8xc`#GTV{h4pxBSK(MGls1gpekupC1~cnzi%Xw>2M{s>NpgWW6lppjUh=9 zik2gMZX(I3DK|ymQ%GaA;S+^Hvb~R|JT~NSS8;WdVRZ*J>q|@j$^wppgR6K z(?@K36hU&xYXk7>oqDgqf}IpRPXgMVR$D+)G7_~v?xnWd?&E*u3a#2)#=oBd=)Y`K z`+|qBRXTRSAOawN=JjmYXi8ghVqR)2KpJ`lkL1FWgLzVolOW;g1x0`26bTH?HM*`K z5Q4n`+io@R1DF^@B1TeT`~X56R8P+u2X;Q;5|eZrWS29AV*mP}ek#I(%9fme{iUUU z8m&*mRKJd1!Xkpl1?HQXRU0C#a{i=fP60(4Wmv}bzHP=pci}b`3HHU>Hu)gpJDlMPHC0e-=l`SE-224 zEGmptE7Irjkb8#!t!oP5T47p+cFQraQf{ZY(~b#&>$Tp?9kMLo^nsklUJMbL^i7V^_Hww@<# z#%GZrUqrc}gNOnRN$b}WZZY<9o~Hzo>}3|{ohl9Q!rZHXRIC6w-p-@ASQQ1 z!q*DkH9ruq@QfOJqsL$P*)py>^*4{K>rJ5S!^n#w+j+tnVsOx^zbf$Xa$sP>8~es; zQhKtzDgGcuWl6rursqc&Vbx5f;3o=pi3+H%uvmHPcZ+gZ5b%M&I&V%O8?u<_UE znn)1Z!g+P;J}F?#WY>C?jpl2mA{j_8l&yaiO4sVdTHlby?ez-$V_nz^qxMAdDRdGd z>~kbZnp9}xi>4ad^=jt_B%^x&z7x%(Ml7;kH%FZfR+i%}N?&Pu@?b4^US{rIDP=Oe zFR=FlB*^U9m9f_9Oce%KZwlzxV+l{(ZpOMctTJkft8!c)t;a54Ur=>XZ58qo=`Gcp zT@CfcuSD!>_6+X2@;!}6J2%~!G`ze3kc>stT62r5(@WD*ExI8Hvr3!pcE3A^h8=*_32tafgo+==qnlpLNa%{{3YtCtsF?L~uS?efy7 z#WR5qO&GPM)!Mz_bI5=+gRqzr(?k5cfeOeLs4xs&cAT-P4drI5wVqYfd(lkr&^mg) zOrH+^))q!XkL2b=qUy1udC#AeHogSOW|&Jvh}tz6^5pkADvggWiLJRKDA-Ydtb?k9 z5LHyEGFe~cCJ;iFhwc29sZ2X;3IAGCNEW4F#)dap6u@_YK=(MX;y()ywU9G5mT1Pw{pvHs`tFB`mkwjqtV$3TWD(`iVdvU5QOeuocsQ4| zL7Jqk?q72MfXM}2*<`8UycIhgDnDxDSYhGN28BejjK+P7p60SzXEy`<+jQ0~JV>xP z9c=jZ1co_B*L=|@Vwi+P6kae6R8Yq7)5eQ>@bj&@ZF|sGXR~g0aYiHAofo>*CVE%j zwL)w0PdmS*hQnD_>9MnRjqurxW!h0CAYtjrZ~Csi$lS0HXMB0(Uz%Q>-dpIHqyv7+ zvG}fU3KgE!90ZOVZ~jLA9@xpSnQulj$^EG)jGE#Rexe6wfk`*lOoXvG59(Ae!S7$(M3J20+(t>C%ST;~V>ck#es@v++->pwC>7 zG-k*WH)~*BQET*vXUD|Ydp)8!(`~_A*`P`8oAPi;`}5qjM*`DFvOzr;QHfMHR) z&sd!NfT_5;x=kZVrC%6a>89;kh22jkv9tuKcx1=In&#Mqvzl|huIb?haZXgPPF z|0?72Sa~gg^TmN*|I?LMG9jV)MMLT@m%u&B^9Nh^!RpKUD}>a)A*K~aEudKq;N^m2 zzPg1hRbg#mqIhHg4d~{QJ_F4R=c~78Vr7o`3f0s)X7>YlXk6@dAzw$s?UIn&o=*B* zuKOCX2UCN5fmB{-*6Z-6sWJ_H*wE}XkE0XyGi|jw)1~be&n2u{HrzpOrlx?#PSG}6 zh4+)E$HbIKXC5)Am-yaak0${|Tc?$3Zne=!J${hBFW!ctR3kBFOTE`uE07%XZb*~l=khgnLxtce;tE?&dOFWYZV7raYjpBY zHRFK-r_sqO1dZ99Tqo}Z&#Nw1wSmpE1AEb+W20c43COIdNQ1DEkpX5QtBJ9a|#_86xCb$8=~y z@kKVAgv`REmpls%mgSP!zHmG9^(>hBKODDCmHuk6;gR%)(108%y3)rtuB9y~0pq0p zQ&sj#N4@Gdfdk!r&X*4y=R%mKT`9fa79{WrbOAQJNse+PZO4qZ&W=|jvL_W>Rm_WB znw4!Kg|eH7(NHdia-=&rauR4UdoKN}sPaM;#q~WCZ?JVXQe3YYqhpnD5>d(2_37KSWg9Dx`qhY{ z4bfDnE;&`-SvNzTu%HSHbk;LIzn$DiQA_LaE~vTik($+L@R&QD{1>sq_RS((Rw|9> z`S$OmES8ba&adMMdz+9#FOWxX%D#P}E;wembtQFzR-47OZ-zax-kC;ZdP_LGHyBJ6 z0Hv?C!BnOHHL?6q^(7=dhHcz*mgxB8$m^7oo?=5l(AFwO$OZ8!<@j{C;_Zlw2MpIc zK<6?yO?a(@yv}YfFj1J`XF|)Ho$PS}%YNm)$H98>FcS|8IKq@+t)zWp$bm4k)51_= zGF24EWz54Ug#SFVtyfk_r5zy&-yLfD9O`S<#mJFN_|L~E{oZ`MeCCYum`0jtB{}?yI4_L zF1hQC#f6n6Z&c-_xXAX|9iNU2!eDnx>CZx)*W=prRZK)lCp8yV4T1BIWunHmm(CZW zmYOA9>QXeXs$y*2x+VflUt*VlMjMa zPiSQ%f3&fZ&8)}I&u{BYO91`2I-V|7b^-fm65(^KI3nm#HfI@e<5Y1}o*EihTQT!W zJjRaC7PXS-{!sXOSemoKWu2UM2L_&;a#&JdjQQQPDjQ&A;w@BOFG$gCajcwi5%j#~ zyY!27tD89`{6AF+hcuQOggH8h&OlC!OM|ZzX_3IQwjo~zmsSbz>=AyULpDm zJHy>1!&_6k?QBf>&cTBgznWK1T;4%nbhL6U0A2v?Pd2~ol zl-hj%>#Vd@rREh3N){4hXsrsah}>L4!X3zK8jK)3hO8kb_q zFr+T*JpM0xb#d-*C0Thr!f=-aXG~q{4VJflH)A@{Fw*|{PaIjqj0l@ddc+TzE=q=T zB{0_QihqLtR45-$=9_FDj#~m1Q6O4yxy60pTxWOHtsYLE0#!gSUj#tkIA}1(>r0gW zj|z}Ws!qJ_H)79ZHPtk0_@{|NWg#QtwL+{E>bWKawzfD}Ek2sZ!h!J8)n8)Lo^GkUI zv8nhDd=j_TT})&27=I~`3<>lhJ^?#VU8BpgT`eCo6JGoI{P6H6N-kvYiu5AY=u4tQ zEKVk#$C(Ass;f+|98gLsrUn5ZE{0SWFG)6FRenN0b_jct7+^j=G5-TeG-m=UL*wR_ zo9*~!icg%}J%(uGKpxmp>?>5hgEm34CwLPi+AZN3+P{^nudkZ;_G7BhLC*$p`Tz!J zu<)nQv+O@xjfRzIWVG7O&q5Ezgb)fpFik5NyU3hJ$?<0A`b3~>DZIOu0N>1YBZZ*G z{a@}o{!XKlTMtAqZlu56ZU_@}ZlewMBuX--3@{*V3>rVrA1P8SXhDmcm7KmAXTtN= z?do~(pp7v9nkQ;`JH8w#?&J@}Wx>4AYev3TF$JF)gx2o7ZUlBdcdV?!&Fvqy>>A{_Rr0RHZg^px6vI;>&-+`&wGwbDsoE(;TCe|3}^>3%^ER*E$ zO>&;De5?`|NuIN3tlVdQw4nkp}6_BZ8(!!0ysLdlb%WaE_DZymd*wb0ja|xLl=LV zWabSx+&#~#_4m%Lz~|H2O!$7gL-41l&sGk-LK?-}8aO=aiZwUB-m0jWiC_{^X?3*a z7I$a^(%H~Fpz%nK9T1(5;uQXOWM((>)!c-yUM$UIY!u1LIB>xLFXzD$}O{4GupeK#5}?k`S2@@PBqQgQWH1OIoWWD+&0xTZYLjm_COmz z)5L_15i7vFpg3^GtfefpA!liMQg!sWa}7(XH@}VNkB>8;u_F2`8;uCRph#-*D}|OB z*)5)iL)(Z%pDRmaOV4;ELwcFte$S+JK?O~gz+gVtYWR`bP5iMl%^R7zmbcV$WKy{+k_nS#0d4 z%SecnVTGnv*31O{g#v^BE$%E3r2=+s?tm?T#lyq-0C5#&h6Ub5l8%CmPqm^*=9B@k zAgh9NS*Cz1NNU7M19+^FA?^YAVaqVG{eX+xq&_aw8`iJ_(W6m2o9v zyJw)Lk@C*PVgeq2@Fc+cwa-#Pa%H%rPMR1K?GuJz@8Dftrx*Cjdv_CbeyJ$l(X$FM zx$~eSL7wS1h@C`v766tAdHBC*nZUXJLccGVC0XBUCn#4Gtk!m7@kDLEf>$Fn3F?+; z_(z3ec25QnZ$-W+CcQ}EcxT0x@4ZRwl&A|(ocZ79!&f%q^VD(|X-AiASN4VHTDR9e zRR8`f1_IOceP{Gn{G2C!keq8@v0<}PmrA1Erg6$%Bv&Kz*nH#~PdmiLUjNO?W{67& zCq3^ed)9&F3;fF7yj4mn$<-g?6hWhi0=O0#^E>D`-tq!&e5;Ydkl!w5h&j^NNiyn`EAZS)?Tmkmw-Bkb_nG;Ft_a&9Q-$0 zN8-5XX#d9r(1i(Oi_c`>cT9&F-3-3v&MI8n_uBf$QDx5ciyW7zrx`O=fc3&YaTkkn!U>UsO$*qzt9)g*Yv>L@uKOlUb$FfB6 zxM2~7IYd#BEq%!Vt=dJYHc zWkmfM3&qFr45#5+2<_$Ie2^F!x}4Y-pH88f9r0axD^p8ko}pX}s?m|F_yghEO#pS0 zK!AYm4ow#$Dtu5Q@sh`2r@O-y2|wZDGFNt73qL%Po*rX@-aX&KeNu3N`N4PG&4IDa zy@a!H++lH%|K6R%%GjH!vVDb6RFc}CZNvGPqP3s0+2>JU{v*9P_igwYh5 znqBMm2wQ5-1^SUUF|Z~WY6#^?0^yey;sT*vwqY(_0viNroo*LYO?F!%%GpKK43)jRtB`c0w)dm3=@o=9KMzpvbTVjjNezb2HJVj>Uy*$=}G%co`P&3!G zp=tjKUazFyofU-KRS6ZX_ew@exZifR#+@po*xhomhNn(Wo*KPwfdff#ULNtaQoqPL zk2?(RHSZHEj!ahCv1yKif&#@N)5TT5WiCF2hsk-O2Xz1WZPkHWL)SZ(_Z1eyF0UQA z(VubK`|=<&M}&>RJS4TDln46Rqa?&)X5Yj=6wB=h;BBw+i7TA1O{0a4#)~b0qy@z@ zmrJ7mPUEicPK&SUR;6UYpD>>dY)rRE(%Na`C-mxZN9qt6V=Z(KW4UMP(VGk0+c~-v zDUtyI!3Ip(zV`7W^9#9CeLzG!6G`{c$)_+E;%DaU<>t+9Tm21xMLt6qk%tB}-$=GH zWbF6+k)JT@yweO3(Ym5};~;9gIj!WwS1+bl`LeK?NL1~n{Vcl%8pCZAWRCz#%Kes< zn&6T8CJw8pqy%M9>FTR*rpTx$=yftmGn|1puQw7v z4xh>*mAUj13ERNy13Y#oea|8OQTCl$Sc44xJ*WM>faE6oYBxgGKRM96mWdcm6+>sy5zOpYK_qmdUk0@G-IqiVyoniK&bP zUlUKJ%kPqN*Ul~U7Bo2CmkQT*{BRr#hKlqr^{kLe9>MefTC!V;6RA%5ClHNR{?!<4 zb`bq@15bSsLUM0EHf0ij2HaJDvL*(N9XlzhLRO2M8A}!D6>qhHssbZQ^UrVAzErQ* zTV8VWe5<`++i=EeKL5sY)arH3^16J-IePAU^kY~?^k3ev6N9wJU0>*%*_)gpwIwG2 zK>X5;&;+Rp(o$N%uPNy zO!bN7H?izZq%Nt7-^vwbcZEG^!meR9&$#&%&z&CpQ~*M)w>t^sd$5LO@_T>PZkjdc zRk>dYe}y2(`j>ha@;WW%6sAXhk2m0X%W6n}`}i=B4|0@QvyAz2(*S4esvL;*6`+(p zUL37GE;_80A=`Xy9GP+Aa%C=S_4v={F~Tv$Ro}qCVMF+>CbLvFjM6nzNk(gX@$tl7kMr{H@3c6IfX> z%G}D%h%Gz=KqYLg-os~YC=0$S`?Br~SYr)85NDs+xL0Q7bO)#q&}-^URlQ3@o-7Un zL63ci_sJdcM7CM;CPHxH$4725|L}r!kFOkohZsNNHcw(3C_t~S(8^@bY7qn&!Cy7&Lu}cxn~-s{R%9DIEMF*F=^7ELz5e6^3nL4rh6< zw+>?!A92yUr{!_SlZqQ5fR77P05EUavk5s%PM}e7H9vx;rc@|^pz>w~R%8XrT79u55jci&%TGp-Y;EMTaAk{nYnJ?=SRL5pP7W#2nWhCw%M@v^2F)**V6R-?6UpgeaL-)pmTQ#!s5k8JPi2Yx(Lwg zWCedyDFZ&4-=#P?-ZE613H`ph=$7<)!`C`6R{vE2^>rFjBxoS>HS7#D=_4wLLq!eE zz|y$Qjp`=dm=O}_4HNMb&*w>A#|SaK=`Z$*?%$$yTU3_9!dT}UNJ9Q~D!k^a5=IFa z>0qYKu7qddSLBVKr@xE9Iz1h(Vkwkg;q<7WF(A%^PYlsS08p2~lCJohMwp6{PPoVd zkVd{E35^+NOY_Z9sl23#V?y=bYQ5~iNL1q#Sxj6h%SGtCE!Z^t2wsoKLZsfDD%zsA z^FrN_EoT{SDlZr9D@emEx{|X6k=c>=7(o|t^ajZlD!f1bYs<6zFnfb16QRF|G7}2& zywW|kZvDy2hBwjF$HvXgzOd?Kw0$-O)!-+e?~ksr5Yg$llW=OSY;`DywDDIF948PB zrbf_~D1LrV7!tq9nd`Fm6M^Se)@;w$8eWrx8|c>yuC$q|E5lYl8w2^q-}1T>hD)*9 z{-y)QvH|S{l5yHxW_HZ0MJaY)3Wq8OMdKsIHt6qtj~-N;I+INwS=Lizlf^{@NmcJM zI-6dnN^FAZpp-`p$Jc=mo@qn7u1HD8%qSBp=0+OQ2v!0CBsE^>3A+T%x-1G8I75HX z18_}L*XA!;VHh~_20r19P9Y*UE?7Nn@={JZY&>6cR4ihoeR3avL3vE@_v)(|2YTo?&>Rid&KpE6VsUUA zKYtIrE}T&quhTE-=F!XSmpm&SUU3T628iM`{KrF91EHR0qG>}t&~&NDi;8lw9YxCm zh~Uod4n>9sGb4uen93QxKgG(N^qyN8HVsCsThwceU)b(a@iNV=67>ckzC6nC#hR~4 zPDjx&h2a99&dJVB=c~U{=(`e@4QLDyvu#%s8I8ezEpvG@S^9u@GIu|S_)$C zgDl4=-?@O`usvT&8fp!zK)@oMx+$cgDv-IYz|x#@?rXeRi%~TyfT9!VBuKK3o`(l- z5M8Lipxu0a=uI$xuEFW8+#CwzTkPG0z855cMnXa1dq`SaxoeG@FE0-dp!;c2ShFHa zG!Q1Q>ggrJG>NMNbzXF}oB0+TRnO3DUp|+$sp5KJh9lGZ-A9A%E#K4XFWU-VvyM?% zsrR|C`+VQ*@x6NODt z@b?E(HSR}REr=1mK4?#OMXBx@eLIct4il;GUTU&K= z8lFxSfzdB6w(z{CkQ_B%>>2zR7sX$9dUr;&gw@XYAv|3&lG z>^Ib`WBfAKv(Hmu{8w-#MHP=r$xLFPcXx^6lFc*SB)-{?P}2t{q45o*t>Sa z#n@g+j9;9M@|kQd^jzI}%6Op|Af@xNSv5-Uc0Sn{w-x*)dgq~t6f-R?FX>Mwzf%D; zO0$THNIt0ot229ixmd3*N=eW`W?=$ptzy!jDHg2Obn5;Z4c~k>??+UHxai~1>aQX> z`GS<%`U^{s9+i_oHlpo!$r4f{E2|6EK>w$+{MSd9wo`H>leg8+PYyCrYreQ;fVVt_ z%m1P28XO{VyKXi&W7D?THg;=kvzuI#t;<4w|TQ|+xn({-}@KL%rnn(aqhY2 z>`WV|xNk-uYd3B|r43k2_P=RdKFnFy^DW_ z@Wg)&Clti1232sy@YqN(m-u|kv%Xm9y#qFr-Eh%Rdcw!{9Ec%ftb6Y9nL? z&nnI)>T&i!i0ea30u;~3*TB(}gXqNYuiB5NQ$38Cfk$Up3-E@W))){RLjE>z%IHd| zHvD;n~4XE^{ zF&U9A$&v|3Sfn+i!s(*)9XtjnKT+RBuTbx}%~*SqT2pat0FEe1jf@hU;k_Wr3OYo_ zUgj5RQdL4QXKiqa=b>?e-yV@C>mt)r#(%uq5V}Nba=yw#x+vGm*}!1?WJ(;W zDUHud&)tjZYpy;>^InKh zyq7*ECe(S>=7sgAa%o+Mr`X(}eIuASe1e^jZXgU?9vEZ_k|Vg00zQQw7>-R?8;GIvY}5 zUU@#g%HUyUE?}c+tLx@OIQFIMQ>Y5*cuLX8()km{zwP;xL;NC|#!Rb=#?k^pjWeDD zRQ;c~nsmZE0imgTcO~G154?=HMWq#rw1+>w9E5L>QAt8m%u9BgRP^V^L0t?(VI=8! zBpJnpTw=@AOU6rWEy;0V*TUs~9PJM`eL3V1Y zDivt@!1*D;(5Rc?6CBmp^i%$DUe+fm6F(9qXf4n@&#*h=(}_tW7w5FL> zB*;A*+|NFYGz)V?uBt(L85j5#xUcs(yAPg`_Q5cr@_4`5nwBqG4JsApRp0a}2w}`; zQI-$uM(0~lK>7#3au7#JFCJb=33utVMSsB<^-wu}E4z53%BQ`nIKZxp#)dHT zM3=Im>iG!#A!-1>HckM69;b&d4RRV?sjhNW8@}Hb89%7Gn2J^z0eTM~u!ML|Hyd0`?{+iKj<@ z#>u}8h7bKvnLfG4$@C-`2WjE0?~BgQROl9Bz>Ws(9g3q7hqGU2@S?6fh`oi*Rn(c8 z6VkRA>8@wKUNfE_U-6`qGI$=z-99CMtE+FYeCW~*vDQW5KB#Xkpd%4cCw&`P$l)N(i)TUFKRna|U4%?25}gB6*ZyIx0m_Ou%J z{X@twp|qAhp>JupkqtkOr{cq8&{Ojli<-v3`R0xb6@N-FES1l@$Q%6EW<8>C{AJ(J zeTz`R8xq)*@KJ*Xb5nv?ba8kvS#k||6G%b8iK4N2Pdc~yAJI^0f|n|LK6UX}G^R90 zQ9`=az@KTyzMNlv35a2$ftw|=*VQ$IlkOH_$_Wn{B++cMuQpp$qKiuxcF_Ayu(EEf z$_iFKZY(jB+f(!`IH)mRIKJ(4xWeP)9HZ}OoM7=fw&F5P+&-OtUTrBYtR^!|0@JJn zFS_O6b7pL2AU)}#ceSGcZ#=1LdAd_Y`axka1}T@nr4w^K=C>8w zNAv<}C*>LJ(}?`c&AM({`xdLN>U8|_JV2HSz(F?DZ~Jn_cR{CpC>ofI)rk;y_Ukbw zqQm3hdgCsIXa&AUnS`t{VeV-MrmvpOS2k)OObdQwAv(e; z8U22F{i_CfGz7;AC`eW;J2hLmll`_8FQqYSwRf1T9C+me=E1jp=1h-B16Z+cq&F2*F@+XRE44w;RGybt!nhYq9k)52oYZiR+= zi_z%n+b+6=CH|kkvv`ZnFU$EI57Z2R+Fe+5yih<54q@h$WEeS3GuMt07CZE4 zgR)-5u4a6tOS~KRC{bAqSHB(VK~|%ye55kj?1Qy1LMSGy`5$mJ-%{6hnG{T^5AG}g z_g$i?8VyNDL)8(aY0;6epyJlflfu68?=gkSzDi+C<3L!k?>501femhuk1~y*E{1MeDF!Mwv;Ya^PxFmwW(30zcRR)3RcMq8fPMb3^+nFWbmer-jl8BtFN-AxZh`3F z(eG&X2T{{CrC=w?JaU0hA0J%6mp`ehwWn+AbYa)Bk>PE2*o749biR=C&vu&U1UPXN zw3l@=<9Spu2=`sJIP$}n^|yYhWTmN}tagtH&Nd^2>)G!Q&rI`eb^hDDwM zcNyfzp2yK``L94rHmqte=Yo0yMvZx~#sH!_!Z zMxiZY#^m)|yADW@H4H6xG0FF2v}ha4itAF)Mi(6WicEs1r&_Mfvjba3a*8 zKS>)Q8@_}hJdj2%$0wmRJuM{(9aEp@qJtOj%5N_Imo~36L$v8U$`M7{xY~v7ZW*>q;S?)X%4JYuSp@ zCh#RlgJDj)OwT|s(l>D092ex2!9%_gI<2phKYLbPgePO;TCl4LFkdIP!ezct= z5VNPPJFy*CrMX8%6=o&f=ck?)15K2XNP-tMzeiH+#{YAgLi7g}I8=y8B$^t^_HU0F zDaExL+p}Vz4P_DDy)T?GK<`=tx;lTCA#)K zP8(A*l%gz48uP!LkOwhpIcD;NI#r8z|AX#%hL!+_0?N(S6V7e;s-(THIvvxo;Jpog zx=j(|bAGypA;k2C-b@v>->aChvRxG8>71;}E@(T&*q-tbw`1Pv{P(`DFo*XW7t9=mCm(#agt?*3_ zq)U6}{tz>z!P0|;r_luVyFlwHwIz^}VRKL~57GF0UKD7h7{rYJMgr<=cK?<6`#(#$ zLyX7;m-N(2xb-64vm4+_g`zS0h4OOZBs^syj|D_gLe{x1m=3!bK#l%NFley=Dsly+7~l zHVm(q(d_b!o6IMvol~u|bOGLrSjvm3Og$RNac~?#p7Kt7T=yf*eRKAu*Yj9N_ToG} zjABIDHXm!EKJs;Jj^d27sY0rX6e$WHBcW1XRU@X_)Tf#xRE^uS6brHGk;d(vNGOyF zv))z5U#LUBgGI;u$V|NJiIyFX&OCr-Au;e5EVH+L8T*;;I5=8%I~=fqRx2$G?!&+1 zxDVyqlZgB(w{O$81l_Qc@l@F!{(iK-*kB-BjCmO3H`herA^iNA1Vuv5{4v^f3R6 zXcN>Xm;efD*&2qW5ZK9)!I6E|@u>FmPu&#aT^G77HvBfl$B57-i2Sl`Q}(Y&9Q6v) zNp5bo6cI{H7zwGdsf8z_S}K2aDQx79Tz7YjWKaWH&ob5T`3&_3W?fkE{=xPGFmoqb=Os>n9P4y9Bc3D^kO^z`2eYwq_W=x70>U;--2Y^6o+Mwqp*0CT@q7ldDKGp?iAN zaj!T$E|_)Wkhk2PY`Sv3#bp3HATh6FqxE584VFVMQCpa-E}7YodW&Z`ttZUaOSE<- z<>cOL`rG&y)6Krz*cE01dd$e?mPLT6gw+~Wrd=C{uaiy_-ur>em$BWU^)#Xm`OeCQ z)?v{miMuS~sv^C+IBPE`$^2C&Qby$a@|b!Rf=U!MSuEC%fh*48Ppv8ReA_tdS96ZG z8+&7<(F}{)|De>p?#3o$h$0N=c33)fWe=M9hpQ^kWyM~`ZXcSSFWVB`4WL9QDdD6> z5PG3se5x0uUd<>9fB*NK-+>AvHHJ+TXn)^{ugvp)JyR3U1ktF^1X|lGg|zK9 zyw-3BmCV@b!NlBwXHKLjjZ=NUus6IN^$>kA^|c>~Wu3gvu7A~v!d`4YZ$|xIx)GT{ zW+!%gmYdOE`k~HkWHfrs?0;mNgdk}iZ{7aF@Q%I76ovj$8N^b4FJys^?`_8d zCV9f6KBXU>5mOM-<#Ln&HbW6d*P{J^HV^ylsT!Mq7Tf~eW_Yd6Do+s#qht{d(a;+Y zt6GvgK&%kcsSR(_P0&NOXV0odlNSrQMeRGDgV{-;Q)Uh8b42VSd%Tz@KS`AwI(m&) zk%F}T&8*w)^lHZ!!+D&jbfT9*THJ|qG(8h4MsbSt8hX7H{4i;cE9GanV30EcltpKg znY?$BM#xlK&l*?r#@!h~nM45+%->KMWY0a9U(hww>W=+<*_u2pt2Rr`%BX~J)*38m zpSf=)H4boO$iTTo=PBNR8_wkv`^iU$c>W^QmGEOZqin`Dj$9W*4Vg`U4$zGq$kD4U zoip~dUN>l+^`K^FxW8OI2tzN>=5_LTz5G87d)&m@JnBbof+3chq(6X)D)CxLL#@VB z^kr2>TiY^#P-f{B;+$YqGKJe0+Efmot$4;ijEhuq+Xnz1H@uLzKj16MO7mB-y&O?` z;8N23Y|e>;_;KiaBG1ZTXl?HNdUUoXqknyU{e)`Nm(k-TG&aZjiT+!s!SgqYaG9~rB@ozi8%Wpb!$*dc- zC84(C8?jrm&qx*0q|l8b)i}GTcm}_-@7xc|S9Cn6T54P>ziv6Il&v)Ml{3ZeG4=?T z-<>~O{(kGQG1nUSb5z(JS>T?EehEz8Z_w#PyJWw>xyb$oMGi~RvMM z!IkkktGg&%6(%gRcAifzjbq_A*vay+iWX3pi#9+O@@mP-BQ zG&yq8s8^AJ%HW4m{5Nx~z{#vh%OP4Ld9F`QXLDzTFT*k%c@)tc@nh9EP5Poi_G_J9 z_wZ4E{6gd3PXfA2i-?=b67V{zsU>-1M@sARcC@#pC zE+txUGv&Wa{*oOnT+UiPIg_~%Ib3+L{g+QwWH7Nw@ad`{h0~#Sxx*@lELNTYV>xc+ zWo6F>y@^a}YFx+vZ|2Q)(%9F)u?`+widlS=%QYy3y9IYo38~g!$^$7Hv#K*HsL04V z$A@-5Fly#&|2Ihu2`1nB8NAThlrz3zV{o*Gni5sPqs9%y%lOVC-}f0LO=>_@AU$FxM0P3PI;0)4^Ha|6YeVSFpJY}ep<7)9Ir!~@@LUh@Sa?Ri!EOGJ`0|g zx(}R~pPzpieAz3-kT<||A?nPl5!W^UqVDsvvuQ(Ff>>B@&lZ8`yzrak9l5%5!Be|= zCkju~wv(8e*yA(rQyu5gWZuR?#$1()dCz5m0M-}7t`MdwF_}DH8f%Ss7dKG`&Ms!Qh`I--tuj+pi zA|z{^uGT%2-u3g24o0sCEhVO_ue@bub}!JiTxxv;s!gMJEzp_~D6;r?0!OQZ()C|| z^`gaw{3555PwuP_ye`NzJKCm04vhoAB6!!*bd3kFkm6d)2$lZjuN-Ztyr@gd?6jz-7nLZcDyTWzvBaXx~p1!ME7t9I)%gHrtR+Q~pM32=kh^7&>YH+A#`^VW}? zI{L1{U=%C37(rRc5;-bD#LR}7)JY^y7VC2zjU6^}?v|+in)z0;yYVOaCZY=M2odM} zm^%%Y1x(4Mx4Cze^xt;xwuT^g>&0-;r-E2!z7G0)-xMxK{H@pgsq0wpu(qmi%eY>m zTEY&zIV{u&2Aym|v4so+%|T?y$fO)v;}oJcdJ%c&S6epEp~i7x>r=~_*{n30526W| z%9TnFIGXC6QayPEe@)1fndqUTDg3Z>=kuysk#QMrVLlE&j{m)KO?~ct5+SqQ8Nxa> zneFDVf)2E5GKu~wX$CqbB_2g zci%W)6LZLSOWorvea&TV5%9MjdA2D${@Mn!kfEFQ_V$Bv9w(UF*2a$?VN|p54kaSO z9o@&rtRk+=uq&6QF11ySJdL-WdK_VCf>)CqtOFv&eWW1fi4%8AF0uPh^YxeNo=I?g zEhL6OTw>KdU$Ne9F}c4icND+Rt|_8!*A+rHMHtYB^+<+dz|q9d8qLS+D+HJtQT7NZ zo=O#CEq{zA)K@79j>&XER$W#&^sO!)kuV8k__4`LwP;NgZ+SdkLj|%=l0+#@B>bER zUlVazAN1*J?(a{S`4gGV4}_2pY{_(nsi25PRse*y#eBeKhT)ED^-q)el2w4Rc@45& z2;sk!E4Ew)hoP0o5mK|`Cc}H{VV|6oDcT{xuuy^)ymyQ?AUv1ae949JQV}i?i!V(d zsCyZ^NTRI%>g%eP<4J@-YzcrS0rx%iK9XjJ52SoP5w;p=KqTp%kS5GYdBSe%NIJ_!lKr zjKx+1^0eAPcD{IJIrX5rw)Q_a2FOe?QS0{Qx9UHqzzmd=@5SLnym@0%oG-~UAd$Sm zQJZf6ew+^|#J|^~4i4mr&yDRmFoX*59V2LP2-!CK`k9_ZSN1KiiRxdlOjnj`y&ek3 zD%>nLH7X9W27Qi|NIi>nJr%Jlg6(i>MM&*x6VHER8^`_ZB^6bVF$S~hN63(XV(1`q z{i@!l6USy0{m$hN$6E^rL{fu_;BUdHg`N+J{%D-LB?t#1!caPKco4x|L>0@`R>M6Y z*Nv~Pv<07rWN6KExN8m(-E6Xmj68!RWvbAKVQ`))MIPXHcj6(y>-jxj73x$dKzr~s z_wv@V#1zjxd~3I@NbPW%SdLhmFc0>%ulv8j3$ngMz8}1Q5;SO10lah@MBTAFe(GIS?1P|HgewrCW&Fk^JLDP3EP{z^t|1&5A9w=`JskF*kkwg}oa z8%_p8T`2Jz49@L%QCUezSvg9;H{n(4ojWF+3xY(1MRc3f3MCE2mR9?R!+7%qj)tTm zq00CX#2ubn#PYwdg|@6g#NfSUY_WS}mNzdwVH>Nz^35UC601eDfzB*9vSQCPWKb|j z3=Ke6#9bt;D=M$){pU>X#!4X+s{hXJgXXiz^Q?Y{0QOy3r9gU0aeEh`<&z&=L`1}w zuBm*I_D1lL@B_HlUk-R6zo!xScmjxj%gfap*(>x;mg3U~}PR74pggMiP@MTHn7G+1!e!wLD0Jsmbv{NSu zBnuOE@wA+s3n_kGHdeR-6d({hTyvjBKvQ9)cZXE;#9Y<#Vf&T6g;Ol`)7}_Jziy~2 z1SjeX@^2#V8Go?eM2?lmoAIyZC-QJ@Bb!&;}^@}#Td9xvm}&pfGk`oulE0<+cf zDZb&Qg%Qa*Yc9s%L0{dSTt!T5V0v09TMn=v^De(s1r8FDN|7pbJYM;eSXl_bNYXWB zo#l;tJKAGHxhK&+pHC~IK&W*e9eR4Z@jK=JY&^F+&M=-|KU;UIk$6q$VFo2Y62Vpi z3*NxzTyfW#aurcr4CtcVqTXVNU}LbBYB4OsyvLOH2(W-1)+S$F)5(kt*8>9>lCI%AWzkAQD*{5*Q-To zCgp-6kb|eiN0Nn7D;8|mydLxS=k79}EUx}m{L#8w^J2b;Pd9-n(zXQ>RiVN!SNy^nQgCpPr##X>RtEUW!Zn z%;QP)f@cENRTp4c=d@G)dC&5MT0a<0iYbMvx*l4?N4~RScFL$qo`jc3IF8NM_Am;Z zj11#zZx2NYh+QZg$-y8^>-|$WmIDeBR|p*~GBR6=X}Y8hnE3ep3wG4%c|Z&0th!%_ zsjBIBizTz8L~EX9&QN0*z*SisG7uMGNdwFqMXZzUYLWTs@Gt8ZOy!DSWcJSeon+1y z`0A-F3v`;uLe#(>$N5=hv%LQn)YRUg+g`CQkQMEpu$J?U$3GX)WO9Bv$}8}oM&_zGH0w9N2>}L;9qgOjZ&Hut6%KI zigYNJIGzy%?lCsuwJemaN%>_dC#34>!h*ZuQ&TUX>k=F-YtSII=^>DQFcEg$hkg9V z42d5QDRFoYZHU5q_{Ud9w7L)D?h!RQuiNYM@VJ2B!?EoavpW?e)Ja6C zljDbY?l&c*cYY$nceGnMZxjd||1spxZWSvHz^P{WRLU0DRp-M8%{R7d(PFbY(vhaE z^GHo4Itbk9f6LBiZ_f`GvUD!Y0&xwsdPUe~Z=6 z2c_~STD)^VC60Q>+-2TxNMtlX1ou>*Ga{|z*xeNuge3buAN!0g(|>oTgl=Z0v9tzAp&0N zZe)lJOM)E+yx~*noV>-ldmZ!Jv+k_9&CBgP`h+~UmS$CP^?Cqi$3&s7dH2CV0zKyo zd9}}(S9j(a4)I{eklSXbeF&W+j`uX z!}01mr>Og+p0!lg+XKckfUz3R>~-X-s5b~L?kC>a=isU~izyn)p^U!rBgZypO~Grv zM=+dq-I74;JaqJUF9WHl@F)jVh7-WpXpHX#Lgdul3gtyqTM|M6Woccm-9lxPmErJW zYC}}tRpe-&Q8!dTOwZm;n1{{w^QW2~h1pZa)y4Y@X}=38f$o%fh2X{6<|s=7u5-Qu zUH9)63^cqTC)D@w7WDO9-euSb3~{~4;l}uk$ZP^KM5=2Dvht@|YRchTp?P)39X?x8 zT)7S;sk`@Zw?^OMK+ZR2v@?s(<-8xxp&)nia2y$iSk(vNJ*5Dgyk{8r)ZM*a%| zQ6H?DVNrYwjK0OghmtWRKZec#7A7iZ2GKvr4Ian)I-i9aHY$r`=>L!vhGj~P@>STe zE9`eBGmCb5AYzi4mL&;|h^clG_~&fj9dkoCm{2~WXa%WY$}DgI ziBST+J9}2b>d*&8ME#usYU`pD9XOuGSsbFw7nzsK*GH&Fn?nZ{ij+eUj@Z_Q`wI)P z+QdAM<6le4L9u#5hqj^b@2?mGZukSw%{;>m3#1&F*iOyo{la;YKFU3n*ud}+T^4^N z8#rs;tP<-mMj#I3P#;%q@q&N^ex zzL@m>Y(%bgAmO=?p1B>V069YjOZjc!zz>XR5UGReJ2oq;%VPh6HkdB41-4l|K(l>a z!X#eZkByz3os;vaJtHm6E}c)9S?>gs=-1mV)R96{Jn^ zHP#?o5)8Jw@|~Y=_?U6qEKt6dC+!a@pF3_Zu0M^btrqK3y1iZgOcU=4pfML?d{TW+ zzE?l-mk>x9Kw_|nWhqOGDyM+VI(J#q+*&dgwT`10oQolH&1m^w6M~i!+QPAHAMFJ%XV!b$K|W^(Oi$2B&-@0p_z+4Q!*ElBo!@lX5ThiE-Ey zHsuaxuXf#jl|0lq98_q!80oAre(CUl+49CHnM@tg@x^=CQrj?k?b(N+i?It$DMEyzKJ>X@Cz zzlfhOZHrG)IJmS*AgPEiKgS+P8iO&z<>Aj10KN?Dhqo;WbfX+0p`Ea$Fm;#?JFbaV zy}@0f71vS*QP>WDKAtX1Yg^OJE5G7Ercs6aOwLC*dyaYEJhwwfQ`GIG4gV_pnn;Wy z=+wFNFRf~lOE5InB@Z07SB@k@&6bWvoe%pAFjHkT+%K-b(z*Wc-$VKKJ}yCdx2^!V z$UotGf3R(DK5yWBJ3t^v7)b$4(#L|-Oxh+Tbsd_DYbtE5a6PV~Su(W<%{udOCLEIq zIjwbnDG*b4Xt%%b$$32E`;}^XOm@mFeN=^&ZJE3@g)?!N1&9FTIH&|+1C|+Ls2BDA zop)2;DTaw*c-jE=bZ{KSitCM=_DZ!Z@Lx%}2HWj7mvL6QjLot6)u*vF5peR5IOwa6 zXRm*Bnz*NcF6i1jT55s`E-$jL;1$wPZm}iQJK^Xs`;w{Un08G?U;+VAm}lXgNv4}( z2KGvfMX}??6fAl)IeOk@>IacDW}**WxY%PfZ$=>CBKU75JcB9ysI+wY@ULZ} zed104#W6Sp4YpZDx$&)DTnDcFJX8SuIz_Ew1xbPK+%;yw=HVz$taSKEMpk5sq_p!?k?LZ zSdVGhrvEl`r&(iXFD6{vo{=$^>8`h3)$`YM_Nw7CJm2KXnap0V<^LBX}#=>tA_vygc-`%w-;m6Psro>L>(TX<=*C(LMD4+|EWy22R+L_G*&ktTddg zy;YoYdj@zlo0gP%x;EAcxg`{Sj*5zcQv3sm+an2hfU1SdbhF&>;5=QrscQ*z5?!MbH+8mDGKWJ3Lzc-%w@?yO;!-pUYMf^LO z5mW&MKYYLu$|L^qHs)I@W)x=XbIX;$D}1_&OhSTGfyq&A=HG&D=%HDAmBaXp68Q?) z4bJtXkf~VWF57roo!d4ST_C7$W~c!BtfI`Fi?IV(H167XY);ghFk27sqtxP+78E zT`@Sh>(ytuSXjoCiN5_H{IFjaqIg%tef;;T2*-D#DrktVOXRvTZT3Z&JaDfJiAVHc z;Uq^H_d8R*Cy2$vPJ#YO(2!pU){kieRPVlro0#`-qdXWXnsB1oU^R{vQ_$Oa-q|!4 znZ<}~T(E5G0Ga`l%`_QLMd&mZTFxzAmMKguhE-_g5FnvcKq%=5q3csu0FSBfAl)OoN=f$7+jNjFwF`Z<#nWoWOge*i`VX& zQthQ=?N*?C)$0eZYstr%;zZUiTQ*OYAB@RbrO^4z_}Q3AKG1fIluH>i$~Z+6yn2{qG~mN@lk_rrzf2B>K?ksPf5+Do<;bzY|b zj`b2av`LLHP4FhNbLb?#jz{UC9S1}y;i#@Ypuyz{^^%-7QEFSM%`LjTy{^tHkt$Tu zJBp=mbhsew$<6jekRyA^XP@KhGd;>WH5ixY2L_9k`&K2>2l}Q6I9EIS%VA|Ye^cV< z>9e>H|is6*5 z&Y#+?LOJ7`{DH>DWQ_fz_$Yx#2M0J!jorLG-nJV)44QN)3qU$5x|c;Kw%}=9#rBe;vs|w5W1e;n0i*V23bNy zm;e4Y^7Ycg8fa%Xr`)pgV+(_TEO3Z?D%R@(cavY ztJ)PG8m}P9;Sf&f4*8wJ`47@A8BX61cxIo_AmN8SEPBGcz)U-ilcgO|Bsv|8DkEOM zi4GUS0ahxg71WY-5cC0h`y-#9@^{k@Efvz-m=Dn{F=Gq7tX;DQ+{riCp|@ zJ%*#lBZZg!mNVa(y6`5RpKfsBQ^EZ?le@Puz5394*0cxOk$8G4q07ehy}tE9;?qRw zhEQ^{4rPQTPHMGd%r=kJ+@NB;q(fEUqqvq8-PFw_^UFUBToE+>TA`VkD{2ueGH;<% zK=sjf6Gdnr^`VpjWz=2N%gU6q(I@Uso%7-&rhsH2J>ZR|MDG!YhuPb&APLcxOVayL z%1G_bK{|J^5&)`2)%vD=#N3Q1!J*RfttO{9ZAEBAG*NmQF0QpC+W=WrYb-JE;@aIy z;<=_ybcl5#|GV`A$jtBOI}8M})FIj5*L3({syH%?fX&OxtZVqW%mP=cNC3)aaagSv zMzcfDQPTk*>lBN2fRO4};LH)Em;^P$iWI&gF*^&ZQS) z+07*(Ot5uGJRw-ES8?zkD5#{nzb8x1Xa7xXq2{7gg25noqu$F2r(Ay1&htyur+MLT z=orCWLw!u634~`<90|k=5KT=GfdZyhw7)c)pEemD^ee|66wm2+-b4`dg);XvPvV%N z!J$O)yO|yLZ52U&@zkFiR6@{;*T@hoP3W zd)wbnYxA}r&;E&N4zr_~I$$#jjT)b=_|gfpxz5+s;Jev`1f2I4OF-1(kW}E`ap;+87Ze9Kg&fwVQB2!yc8%OPQ;%&}^Y2n1MkeF`Etu z%IwC#=u3gGxf=29741YFTFs?{P_o#FbqAYEK0oYq99Ak6Q|5dr!0)YLO?w5Eo#6*i`2+m;<13iw$Ox5$) z+G}^@T4T#r>D=yYU!fQ*^GUbJF?aI(7hhn{V9bTXN&3W?k?cd4zr7g`_f2Bdmac$F zgkSY)UJakWgovEkN`DKJ=7u&9?XBFnw2=HsNHRg^w>dJC9k4^=p&Si7Jdnr|j;djH4R& z=kZvgF#{Q7RKaW93|TUQ+C_%9KVciKlnS+5C0Y?qRzwm8_UKXILd^3)wmCLBJQ0NA zkci8?8*OoCEC_E|jRS@VDjxywIJepT&)IZV!o9`eph`OBR@=}X< zas@S!{uPlnoGn${dYpYF2SeWOUd_JZq9^4X-eghw`_M1EtqQIp$GoghTt?4Zmh$Io zVhu|r*=n8f@J+{40OBwLn+nJ1G%x0M_h>wLX-gL69MEnp#GkoA~4Px=714}xOmaoRtLw+rGk3%@DV%|zZ^Xb8DAhECi$nGJyP_2dO*NvU~f!T8xY3z&z86v;Tg%2B@ z&SZ1d)wf^WRfv(`q$rcd$F+{-(qs+k9f-*9`6%W&vL%k1$Wxbl<>X&K}bIz+`HA_cX1Zq$x{rXU$M z;FHAxr+6+#cK59{h{U(UY_Fiy^UQwXX*T1`rT`G!jDS)6=x4%|V&q6bRfoJxNw z7?8-pmxQdO&E3|j1*@fCn=i43;0^~fWPEsvzwhxPQlmdm`&kcxg6a1c4CiND7AkWK zUP|5{|7BP952(5C%=SowxuMs6aBs#_5uamyJFGo#v3+e9Xg(~7(v(~Q_q;k_fZXW( z@VBL&bUm4#g5gtynDyJp%GOCiA$7XNFOQ|+1)hb#Qli$+N0wAtKL=2?6!2-ex@nEP z?J1li(<+~oT_LzLYgzggLgRclim*hXbfZgNq~!@%rly(>l)6R2QGoyh0D8|@zLo)= z5ktY){cpw{6Yw6YqT+)C!t<)G%)9BM|FU%LCUp5C0AjVuu#-d^%Id1;Yo zo1fdh?<7cQBxvKWeU(2myQ!zrc1h7w7Oc2aO38uCqz;mQs{A2Qd}Ag0*{vq5r`$s` ztsB1Op>0?ZWtY#WZou}&9I!aqWa$yb4#8!>2V{zaNu?k-k-vVlfiI&WiNta=aW9N* zyM?a7Ik@;~O_OLMW#SkNT06IeT3&I$M$zr!WOr*TWggq#&KApT-<&&(92g9$3b%!~ z)$-bC^26o$mz0XAEQeDN=f?{>;6$CrcedIdm>%m zjb!SYurUrSPf3|BFmRGea6ZXB`otulR4Duikvqk};PWR8JC|uQP6{ zl(7e>*?DGOdTZ`qf98Q(j*H5>+fvhL!-JE=3*+xI7-^fV=V*6)q`sUFobw{GX#OWV z)ukK_C!>=uP=@JWmHAekPVG`suZmvzZSMwOv@fh4UllWE6YdH_4r2NTvQ~J~Orf z6wcd(uN6N`R;BG-yrlI)O5_9o9%G(1f0!PQfP^`tne$m-Qzta20mZ3j`>|xT!qqln z7oUkYbSwDCl9B8Uc`wgI9;}0m>z(MZdVjh#TS^Z|`R9NgNck^a4CdUsvOyS`cp{#x z5eY^z0xmB}4RXUUO85Tvr~iDZavni_P4I)fR%sG^LN$JlXZVK8-^b$#sbWXcT_Jn7 zrIU_JAx9@gr|&G*SZuaayPt;-nQlij^>P1+2>;6Y5idcB7v{L;a&pq~nA}zGu0vLr z&XH6TYyCVrzOvV{u)}24*6H_$Y6J}Zq4*h5(DSgw@~&l~2;+i(nCg2Pb0NqR?8O^a z=|=!|DTCdd-<@^K*`mE9i%M;!zf<1oKKK2Apio0kyBfLZZ%mEi>|-CnXY>rK-r0N` z1ulLc0TSqY@4(-4sWf_EOl6qU8b6~7{Ni1EH&RIH-E7-!n1d^f9}D8{;?*#5us`b5 z6l2h`hLns9Ph`!%FX%ZxS`~xoi}a-Xq?RP+s(%gs={UbgZNCq3=%_S)k#6}@5EybQ z>?}~Vj1bB#oMkTHCAM^;G0tAVQg03i#>VC}TPUj|B%4h~+dvT|gmCy7?O&B;53dG&g-CYaL2C~Uky`AkYeQ`U0KnDkBw;?UN2TG_o`M{5$K!(~f3&~n`d_;`4 z@BD(U*n$Ef%tBuvB!%^a_vGUho=)3L=TxoSEc@CT|C9O<}C1|j|Ycpk4 z)u=J$$^vc^CH!X#QZe2j-|qdn70<0}iIm`7#Cism!NUDT4$Zm1S7uxxNuF0xF1l(F zDx1RtpSjGp`Z~RkdUvU>%;-jriq02W>wc7~~?Xs8||Q1PGME5;G-9d$;=tDP<5RS^*os0sE zu)hN5w?e`U+PHdqg_J216a#=Lfpc_%_Ip)5OsM=5NxvCpxG(&sCsYy8$;YLus~H1A zo-5C$YLPEecmxFoH!w_5SksX^wykO10Ouo%PJe>`3(x!%`p~UM34rW5$4mmCmkqV# zBXm=dpsATnjae2KW!CdYT}vfVTWyt$kpwgT)B@JWY;hH43NCN1K!e%Xai?(; z8@Q>ghOoAD+gsY%UH%p^Q9;VP>Jy7;b?o3(sRR>UBvZ7_H=W0wvki&!{l;7=Ba#6A zJDK~bPKht8JDHRMxWt0K1PJ|^92QB%-TYpqydV0fcOP`4SP0A>N^iaIPG#y%t}lm4 z(lQKA1#UL3bSE{%ogzR4Nd+c9R%{SS)JWnJMwVWsKN@@wufp*6k%Y+un~j+7>AV~> zYtt%~;uw&X0A#)=1cpXo?l@?|ZFkp=02~g_XT_q_he!w)eLO;ZKMgZ)f_?)W1ONC4 zyc95Rd6%6;&2fI)$Vd$V&$}Uh z)gAm#D_U&>L>{eg=jgLUJw-O!*}nBj|NWqE!QLR12%w`{xVT)F?r>d;)k9Q=(MrSE z)1ij77Yaz85rhQx9d!u{tzV1PH}cr zX7eJz_wRcMI5KIb)fmI|Ww&vTu}$_~cU-TVYy}|m3G9X9g+(x>GNlZBqEgihWz}+8 zk%fjNA?>lY^FNvE0dxq$E_dD{>TB|i<#0mKR%AvQ__!Lgt$BJ|EaSlMB)SF$Tz7B$ zzKY?`gymfD1zpGW2|90Ef)=lnI0JXb8H>$dT~7v7yf#=VWj=3}GyES-R~1m_(rY*F z?(XhRDK3Q~#ofKQ7xxx64#nNwp}4zyad&t3yXpBa4?MujH<_7CvXZQY%yN?d1Y-F4 zaH=5rIM~zWmh+V+ry&!^Y)Nu)B-o`zEx#6z{U^`2vA|dD;~;`q_uVQ(Ikb0i-+7+) zuo*v+AeEwkEm?6te+&JVC*${hmV!#Da7uXMPLr&$$)SqT_gm!~aAX5a)$t;U+0?J} z=0@WFb;1H~7c1&7VwBaswG=eMBeNT77r#-b?CHiy5b~AaT3lbg23VSGoept~0Z+4WY1Q`qGldiKrtoozM z4*J;ESLu8sqkr~Ll>?hpcSm(yNSmO&~|=1uHY!JSofB%thFF$NHKA$*h8 zd{X)xAOLUX7&yK!0?Tp|AjtFl=_Jc4uFi2Rr2&Y*4~SS~_}b3?#0MXj7?Eb5zg!3e!#` zkzkRa!)G=PFhq8MljV2VSFy=WX~6GhjPu;a4&dDBqT_4gxpZaZ9z_~qGXF&b%66T@ zgCE_gesvKPRzg|O0?pg3Ifkq4fz@cZB!?PElUL$v4l`Jp=5IuJXm{8(ceXHqB~Mleq7z#g^Wf;ZYBkD2As zIsZG`6p9FjsO0=qY~D&D6yQv}lv%5<7s#zs`&zI6?rbY5_U>q&qng`R;XPllS&ep6 zXh3>fDL!;00O~;4d_s_^HNMnYyYk-h5}&X9j)zCmdARYtH~@iPWKr%?*HyRS7=g#m zcOxj_^_Ut1%FYp8kJniB(*#*#^iqP&yoBoC=_Lqtvtp7Drvn_J_?WUoW5Zk^PrAAI zuB+TLEqCfpkOA(0lID699JQ5PoTYAFTy2vN&%hejPDzV7udIGiC1Imw9jwDvuT8(# za!@af#Gt26m&V+-16JE!85k-6$@Nz#`gSzZsuH0f!RA6HN?`MCiX_(#HWC8aQKhs% z>K@$E!uD~euM$@o=rc;y181OZ=yY{w5o&FHvkGzkLRj^Q?&T@A)_Ej}-d zzKdMW!_RK@Fg`Ajmw1i$>VgfoT?EgSH9_1;KRms!U5<6k?oUuxvMNWqg%FU<+ugV8 z#~Qq!&Xxsz&*OQ{Ldw4rC#SG3zQ|tV{agAGC5YfINkZ08*H|y*>f(TRi1T**vWr&A#xH8C~ z{Pz|>cYK(*_^v)1RB(8RxV5X{fa|A<*1MA1`!j)h6HEH7r`}O(9&vTSMxNI>HbVQs zz5t$jQ`%1Q{Q8r1`+GaV$vUt~?WO?sqXe4~TML4h!1K)j8NFgniObXGk2gj9_JjMq zHnQjH68T=h5tW5V9MRsNaRb~(f|3E$ccWnqJDQOw;7sXxL(2#S@c^wA8`sq#n_z0u z*ACwd>Ew`~GR18`C$(w=merVLnP>OiVop3~IGAl?1L$vfzi|1Bc*AtTXT9(o|0Mi=Ue45}Px$B9bm@EnNu%Ja`2>Es z;f{CX$CsAGYaM{WDyDY-WQh76UX;lSAFsTFR-NVy`X4qlm^1+|u_H1T;RCY<%S~2^ zJbUtAJemq7t39rC;9&Z&;gTO!k2(N=#@6_LLAO6>UrQ2I1%EVv!Rnkt5QQS9KK47J zw`9(__gb~skTJLv5uHr~i_K0#xHqz%(V{|sJ;OR=C;t5V9Ty^j(2=W72bPR^&3r)r z+CNt?E3pNthE` zUrT1t!c-?WJGm{lHuu@6U8=-^$#9)T9DfkMeBLjefxl9sB?g85-(q#z1E z$$yNJyiOp_U6fi#g{Kb* zj5#8a_uigr$AZ&Rnn<=le7XP=Vif6_y%@h(!LX}n+8chjOTxIsB~=hF&hQr`Jfstd z`PJt)kTz04GceG&=w<@c%?}^34L`}?FprV6IP3|C`UitL>uR8r22HGq2C5vvQwC+9qeXE+5dGcNdL~=skD5RwOVQPu{8*PAXDH z37yZKA5@V>Y7%TT>z3+0IZ2&!`6iB0ZKJ|m?j%oyOuaxlFZkhyRG5|;T-TeN_J0rUh(?LSI%uv@0DXt< zv01>2ypNY)+TY?gPu2AK<3k!#WKS+`ri5O|zU>4E_F&o$ed;JTu9CpiUi8|H@LZaA z`9>Wpxz3*^I2-7NwK_2`ikb=c*>=%&yVA?iBf_P^XNk5q=(Wf9_4*}BzOyoA3)(3n zY-mZgUvFyCy$>2Ae=Wn-Ssunc(Uc(qyk_xdl6|h9kw_ zn@Iz0;DYztv!MiOIeqRYZZyoE{n=`(_B(`fo-7;+!b_Ban4n>X3SjoX z;Vmy*P&<9j7Zqcrdw$@+_C1KVH2+MS4Sl3pI+1;IfLK8A_F0~Ss0=JKQv(KK0VH-Z z+u^dl@xzlegRM6P?*1i8Z{&U3Q1(DNk_ZFVknb-12x+Twt>&%&{kbb<7B^&{AC$d! zMc^H8oWCKhr3Hl5P~nGRLWsm{KRq>r8c?2pPn_Ut_T+|m@ufQXu5mq-7qT71W;7kq zTAz?zu(Ygz3=rM?j|D%fbK6wI$T z5$G~hQ`R1hP4wtry`+9QlY*!grB;ir9ww5A)W0$e3F%3>GSBb-#rJzZKhzhGph}+u zjRfFTu=-T@@q;6viY-i+=d6CTi;D$ynsQku=rnnhV2QwcRSOU5tS?Q~MDFsu3h4{3 zClE)Naudw{+HCTEH@s{y1)t7f-#$w`?9>7PJ5o}VnvfJqp==l^B z0|cTX1Pmz|yAPwNQ z4`g1%N67r8z^I%DJDlt+iJaDF2muP8nQu1!E#2&cL%WEtcLQkCV5`@3jWORh$2`N+h}f2NW{KNDL(V>obEXxlFEUb#*fpk8$6 zd1q8spo_+38`UOTwxW7tLS8hNRvfr(lw8{+Pr21+aRPd)pWaGiK{3)S;)=AF2-<8o zV2c$g6EDvIr2af3?;v3ktzk&058-Dx0@p4MIUEe4!ur?h>h({wcNmg~jG)1;ZQu9Z zasEnFU5wkRC6vdut@-qZr#(0pnZG}W1zL0y97#@t%tq~Flcw8Sl=D~eGrod=_Aol283qq!Rje}#+765-8_ z&8e-d8f~G`lBz8x>Ni!*I1?rqko=Nh%d{yPeXx)-ke56eZ=@K&6UU^%gUll%lpu^2 z70#oiah{Wfu>F&gz*2F1zzDz~=R~S90K!nYxdtZ- zPEU2U1N|KZx1S+~mpEVDMMDP;g3?h6PZ@Bv$%i#&Y?;`<3;yTA9o9o16Hxs!=Eu&( zrYt>@nIB@OICK>}{zUp0k!f}RiyK3;JS99~#RZyJIB08~28DV(5hDtt_C*E71yTqo z4af!V1$goY_$tenXijSYqkcW2btgWcQx+OhEu63PAwX?Ldy}12jLksVNW$|tQdhfT z&GR-0>G%jkF*RVt#%NLPJlGI6CA1D6jQb)NAB>|Ban1meX)(ETC)nvmmi0>M zANex=$3R3$glTSFqQDoO;aJSKjmKa7}b!8ENk1X6S+kETD|QMf7hz+HRd zG#Pb4rU^Qw(D8o`7;Fclj=ampndC^mzy5&^2iEy(yaz@b)L;nFPNyp(=VqdIO?BiA z8Ec8dtYg3m3z^$(3Ty2ZaS1n?Ruh1U4*3~9a&ZhUe|jT+8R! ztO27P$?t2ustw)e*Zl6hkMm*~{NX=`s|-uROz>Mpd(Ee@fdPG+;xQVSa3K8*x&~&% zy~`B>-#2AK-pR)DnJ7}<6I$fm7%|PE4R`utem>rt8{hY?_R7`To6v$GVD6A>;k7xj zFVTd&y4LF!DQW4@4*8ODKdQfofs!~Rw<_`eo!tDy+5z6tajT7X&k|J+#da)9M@S&u zM{pn=pbrS>oGXpuul2Q3?oqW#hJBXCD0O}}dCJuPa%OWIXA&0jD4~*BWY?HOQQgjU z_)R|jtY27AgEVIWnZbDePhcfsRrN^Bh-; z@8LK?`kF!db|2QC<+n$xD{kucN6La^Ii`7it+WH8|H|t{W*-mhQq^Y2VX?nM-6!OH z=}mL!{x1WpB~(e!S(r+csB9|J2j)T36NnVF#ZH$*M8RQY`(8bC1uG*06Uh9S9mYv$0TVQA z2J1oBTWO;|bR3yzMj`zS}Wm27marFmj&xI7LVd@KHP~^6t)4 z@Sg7dZhXyjQI@~*`3fScUGQa6$Kgko` zIHdAlMnbVF&PpRFSgaH6YRQf@GEKW(&UbrZ4B1CR7 zCmZK4Ct95{c6Eyuqjs!HGI)Icq}z7)tosS%QNmn4*q8)K>Bk&jnqHmI-h-ftmAE$F zvE*J2`jiOGqGeRw=aB})LdlC`V0t!ArY$$>X)#@gs3d6M)@qZtx}~ znirfTj0QvJRvXWW_u6^2&E241IJnM_Vv3+!VVn*9zqFeFRu6pLTRx58Q$IpaB%;zLC&7eM1Ohxlr1Ir;aug*77FMpy$kl6yv*bOyIsKU%H;^L3 z;VLhY`8>((juu`6aaJ+Fcs4I>V)UT8dz70k^qyGBeMfJj*;$D_wp|GW0bI92YD z(RaYfQ85il7Rp5c^ZmaRO;m+>2y_RAHT=|gH`51`mdNlXF) z_8fV%&T>wgf59hT_hss(z3GQMhb6fUe|{`4ya+6;f(I35vj97Ryo$Gbj8~t1^sW^< zM%3wLZuNw`D}%j?)-|k4pCgr_uI=_5wfsj+u?q*M`<+XNHKD{1>p7QYO)!tN2&SOJ znR9d{NZtJIBZYJbQ#ZV$!BblWeGbYO5{MGY<4oNZuonX2NpL04Wj#@n3;t8)j+X@? zfhx(QkK@7Q#t+}IC0n|`OR$~Qxdq@D5u@S?x&^R)?cK=I!l(sLt!d^I^>T&`-0B-e zO-ZQ7wdYRVZH37wq)Vt#Sd(okH&9^gY714oa2{8eUal{%n^x!zg01I9#Az(*Xwf*a zCTHzu8AAG-G z@AxTZtYctcd#sCjZJ#V0ib)3*FxRz3jWJ4IHL9iRCwnfwnl--=H;Cb>0|XbZzdX5y zi8RW={S{9{1po(0cuYbh^SoaR+4@|}?Geo3q`K%~!`Pm^PSiGjCMm;S~I~W$so3GoH4;jRDIV!JyT!(kyACf3#$FA$vZk z48wNNCDjrm-4*(|vcu@Pqlu@DnH|r8lUMX@Bm3-7$PIGe{HPlNtP|V{yp|j{5^Mw$ z9U3`Wd|{XE#lSmj#;~9gCUY1 zl$qbXJN?-qa>~X&>hPiw8#XpHs`ecB9H!Titf&tN7f(91V5z ziUdE_Mq7)X!1qlnhVxafKLT4e7CKF?#>WX<6gcCCmTx6bzZ2eqdN9iTJPr zcu7xKOr@^2M@kS1kXuSs83}z=gh>Fxs^n5HH|SEx)tB9t>(2xeJm0PHz|t?~gw-Sfe4m1xo^^xq4=i+Srk4+am>vX79j1tEf2Z=_xjAYyo75N1q% zLH=)8Sn=_%D2gy>M5YRJ6fGx6kym%1Z%aaobCyQyIJwbnuheLqR+()@{}fkP#htzg zrGSpHDpz=T0kV`|CczDvZw!5Mx+ZVC!ph@lH3WFB$Z1y`5Rg0RK8yTk^vn)}gcwU6 z)HRvRc=c`aN;jsp{6ES!(ZAFmj!60|q&_f3l^#15IPk;!ZVv?gE;iemu8rO69Jues zn7__9e;N^)wW}x(3Lly(KFoHo8j`3}NLu{57Y#kCqyJb`T>VMk+=7?>^Q1&OF!-g#lgoIvHEW-exhSxYYyKbf?Vzd^64>9#wI8$RD?)#i zLE;;of}DJS~Qw znU~i*Vb0sg0E#!5uC$7Or5Pf>Opo^ZX!iAv_6HdmneqGyPhOq+F3u$Jl~N)U8Gr;p zC;raq2aSK~t)6&VQNo-mxbAtM@p_?WX6nL2oAtStz4YiMXR&CQS#8aW`8wV6?9)>J z1?cBqzkA}D?GWY?LHY>uwaH(F-eO*&nWt1 zZ==C(s750!Cj75(w)dB)e=r7YHRaHj{Ri+?^Pu>6x2yZTQhJF)%OU_g2{x$7;r7a6 z_mOtUO%P0KY zquFpj*7LBbDJw($R=3N?s^7*+-jNvEY9{K@9S7?l=wA8)0SJJ>qdFjvRe(0@TZ%u< zX#G^v_NwHyHOaEpef(-K(tp0x=2l@x?pwaWfKn)(99qCo$t2Rn2SGcW38(Vr|MC4s zUq8ltKn}=%fkQ8dKZ-N(wa8!pY8jX1T@3T3&P_C>_a~$M&_#YomV=$hxXT4czPqKb zt#B08{rhedxn0M)^GE?FjoG)%er<{*Fdew9cRnYvM`u-)il4znkbk8&Ly0tVju8W0 z*IY-4^j~{>;kk6utI7sfTZHCYjyEpW+eek5wSJuCbl3VnGc-4;4EyX^dC7@vNAz8D ze=siqe@TO0LlAgvN(RoMkB`5^D~M521MJ#SPbTdH-rgD8HlL7(ZFBI#-q^pzxO?c` z6(aT5J&zzzbR4OUN_QpcAY}K|MudgI^)_wCbdin^T;t40$4Ep~u4t+gUiPiWk2Eiz zzg!s?a+^p}(8=RL52VPh;?x@*5N6;BmmJ8`4v%)wqhk8AnTNufc64KZ<7WqK?adO| zq!Vcl;1Qn8C&v0Xxs*h2{w*|Fk!=Q=!E2X3AXzxay6-%?(WQwT+X*~adNL*5}?$-oKI7*Q3qjPSl*yUu)Z<*%u;Fu(qpipw{h z>i)#k3S;uhD{9#OWE4p~I$=eD3&kyh{0W0V4$uRQh6#g4OIPef1&yJgt6jT~fKujZ zB45uGhuFllXuUerj?#Wfkv6)=haLtmK?<#|uFlk9JaPo%TA-yOTR72rC33X8opgob z4)0U75UUYmiUgvT)hxJ3s6y#MWl@G?jS4 zDUa?G*09GgYb|xGmYIv-pV#Tq*GWG;&ft8|X(hu(S3LuvFZ5F@Uw$|}Eq}d`0J;lj zWtD_eOQWY#@JVofi=&(tmwhCmrIo8n8WZd6Ww|jBej|ZK!(hYh4=miQHi6PdfKcOX z-OfmrELDo#l+|jImF@jHV$tD3#9h~^2QPUb%ISIdeZ9(S%-rtt94ng&k-Ro@r}31@ zh%te^3{v-FlGA0>d;9CaOd+%SVU^La{5N{Bp#~v8t z=Z=>#8CRayR;Pz})5JAxjN0};WLKV^3P_zQ{X}%nSUyM1Ddh?D^6s)eM4$Uupp~p*X#}c&(NL{UP5{;6Hzx6w_wg;QHzC-2Z#LE9vrv z!1w)nvPq*Hqb35W$hu$PHNw2w4qCGVeukV^FCbn3DiMtu7kod|naLjk(QvHCbM?%A zsbeOBoOGmWS@It@l*k~keqGv71Sf51!0)x9 zT-{|~4}a5>B->$NN#k#0f|?1VFdZ&b36h~0!4q>&d0K=B&IF?DUBnU+_n2<9$Kwhs zVJE}&1L$VKR-1fGyR*RrW)~T{nC~ZGQUBb`-rT7cF$tXe0Z&>*xs5>98=%07rd_gD z1KCH{aNeez-mqdp03{(SI|>;ZA-{POt}nD?*R7+0rysX`;?v0K?2x`@dzm)9GYo*h zxfU8!$cHVCEqu^1dU<(PXi92;hN3${&{jAPr&Us)t#-1R4~oY-B^2^t^gJQw??k;+ z^?&UPjW(E|>ggp_Lxd(^1#UL&66+ZJknde>$nWrR#h%GlU0uWiyJsX81^^t7_UqxIM6PE0){sY z-E>`LW#vWd`V|V0fD_X0yIAAt+VcE6%RLI?h^+XumPL)q_0gRM#LDX{)R3g(40&i@ zCLZ~4{(+K6Ep|zGLisP(BhEr0GO#@1UtDOzLOP0Fuw?*<1qDo#fqj;e(9oG;pkv~9 z@{Mevm(d{K=b~EztI~{x$-9Mw>uR5yiB4fG7MAsi>G3>{?enx@>W>hUoc?^^UOal zB^WVGp5Qq5QG@~fiJyBWnxdTV)oFg$n*%;$+O9V`lE+UENG?Ehs-(o(4s%J-z^^sJ zdt^^&9_Flmj|~;lm>=?hbEYP z%KW`ry4?i57krWC#8UW^_+~f10W#FPok~yqjNZa2@S&~!m5c{vH z+Kk;@)RnCr5zV0|gR{5={B#WOuaNA)lD%gRma4A8-XEjZPh0u%#`yAHeUiAE zp>F8mQF0y;==KOs4S<W3@~-6 z;;?6+D51wjfc~-4zW=uV{`c4Iny^baW1B#e>4xNag!eWQ)QiPzY+VK>_ z?gCt<>4|cLFM(^d;Z0@rMum1ec!6kFGhJ0Tv+Z_kDszKfAy4`*RIorS^*7y58C(2v zbZm_k4;a)5;5s*AD?MpWN^dQ)>Hs{Xck!x$MxEFdK zr3CcQYrv^!AwoLAn;U_!44NY75`V_%pZZ1_Zft)*F9+x#(*BzUxx)Ra!QS;9yi+I1 z6fy6&UtAB4#N5*A+oZaXi$|bqF?~!uCk8s#%H3|8F-76!4eqp0fe%z)4D6rN@wNu< z-Rd_cUXpL0)mBrIRn6b-#!hB}(Ri$}Wtp>+e5EzD@77*Ie4p*U5I5Q|5)RS31RuA* z;=J!(>Ay0WnHdlUG+!Q<4(a9+5D?@}(QfQOR0k~zmoklg2d91|^-;9!+wq0lSH40Z zmSoGw`Gfyi+jm?3P2#CO0mX8Q?z4!io%XZT$l?1w9^u!TfiRy}O`nRtm?!L_KAWr4 zw6rSVh>?9pk9P2(mG{<8FvWp5 z$E)^(8o%US@BY&1NQpo&-fQF}rMQ+SX-Fhe43%9aC3O-1$sG-aITvxsr@X{Yu&$^m z2MKIP>8zpRM--sfr>ZU4AeKK~oi5CTqP~0zmd33u5}qnKX!Cuk8})WYmdJ5f9@m(Y zrK~xYZx52^2Ubmsb_Ciil63(z*e^A0gkA^02nJ=HZ zoPab>Y1X~?XE&dz(9(S1NyrVn+z-n8w&gM>|0S!0#DxoLU~GC3vX6E7)9zKVe^;Qn zXpkejMU76-tVMO#gHXMf}6;a*k zfXj-g1eHIfxk{QW*^f-DZD?_ZNCB9|6{3v+qP}m!h;G+JEuzOMk~zhH9J#>!B>Sxp zRM+c?4d3Nd$>(KhHpXJ;$it{hZ;85ZY2{=K3Z+u1R3 zWG7~q#!8b4J>2?SX#YulsC{tYc%@$kebMdzdjTeDqg1GU=M|jhYd~%5?U-Ldeu!c_ zSQ8_`s@zf>q$s_it{{CKEmnmY-Sg~oAw!t{-M)t`7x1GdIR;|?;sizttUyJZ8yGgP z#o?ki?8t@JK^E-m7F@Ac@)^ux zqqgNybl(m;o=cY`c_eL59W7N`@4@x>{V{~0C-a*p7(BW#nIAr9stk&ZCk`{w(4I!% zf~j(4mp80BPZSb2=@f1!%((6>Y?|MDniqynHeYQc^`S&#^k^8C+Vq6hClt7mbMdm8 zP^0^Rg*&cx$w$c3sTn}A`#{csv!TjR%jjBec%XKV9Gi=34op8TFm?f88|L%6h5PMP zv^1&w#PN2O*udKVcH(f)W-`NQ}0 z^2naHoFB=?zkeKM`?DR{p(_K^oTBvnL&-GOpPRDkZL)dQAoD`k5Mk;Pg^{W&yAB!u zF0PV&#+Z3M`t4wr*4up{)~FkeR4pA7`v=%H>236ltUMwdSSc#yMdt+kJ?APa@&T8a zxi@)55#u}b@Ga?ik4PwNEPaEXe-m3Pyd~p( z3q|32r@|>ZbsKUuC`jOX>U*)USaJtDtE_$KWf$z0g4yW<8`1H88-zr7uqg%f-41&V!b z*sg6+UIj9kAFW8dY!mRpnFuejq}Ak=<~@8S$CKeJE}Q-BYfc5u5S=(oF6gO*;E>Mg z4l(nv_vdn6NckdpI8%^iYX8%_%^+SHa%PgPrG-QM9pl9Njcb;0l4aUcq+bM=UlKO6O6w??4OazwBT8N*3Nv{_GMd1Xv2*t zwBC+RtRpO?OBwQ56ch7FdGx9X@ALnzKc(pL(!UZHVKSuw(JA0eUR2f@y`?-3^(CJb=R-Q3vnbbak1Brr4aB+~iWr#Y)S= znT0F_A8ruj+&^F#8}gsUKcF;~grmLwvt{mzW?#wIyR$>BL}LdxAA5Tr+nPPdMW^+h zz=wH~8^t`p!jyeuOSYv`@EH(4Zv+1zr;XD$BdfjeHe=oAD#Z6y$j0Mpk11;X%j#|7 zmta)ay?PzS(|#SN<+*s26Wj{90c#i&v^d2RtuLmsFY(Iufqh6+L_Lg3pls;4!%P0W z=C3pFHmxy`lWl%+sc6(+uw%39Me+tVu9ee$b0emBC@EP=pU=%_@3YVV%K#fhqi{$M zAxSz3sv_xlQrys;wa%^zLvCk(lK78}MV^Zn&_uL+Os`lkVb^7rur0Nd1E@N_m%5r# zq*zaOpz?IVlCjsUpv7xcA>>JQgFck0ZdR5peY7L2R^ks{;PQT{4>otbrN+l za|y4RQ4SiKj#ujbB&1!f*!UD*9&^VbBg9TW|E#LPTf@EngaR1Bck$V_QWoa<8T#0> zOx)Kq&sY|sZIfzS)8dNkH~;n5ylaJdggP<25!0&IKCI(;A%{C5ACy3Yd3wE1S^5KT zrb;o+!_%?}?DYYr3)Hv+^?@>WA*JNIklJ;Hg@w)3;FMCDd6?A*cf#5Isp@j-&jKj2 zpU$>I5T~+IALcg2nODAw2<=OUY%s72`#=$ywO_ns``6;!PzW4^l79MiKe2_%x;w$g zI2B#=zzV74=lg;>Gl)?6vfX*E*>Op0x0E!Ncd;kf+D>A;J$Up2<{PN~i@{P&K|x6t z41Ta&YIt^R!nt566zQdeX2 zFQGrvJoCh947$!?A}B6bb3@LFO{>6Jwey(Wta2CMWB-M=MLHk75H&xoa-v?x3xD6U z5EMnyh*gkbRD@MLlxtICBwo4}MzdW{>)F*yv+svatVsFMWja7_>{SX5%a?yvj+a`@ zpfG~mo@9ZSi=46quq5pbkA~P*m86?w(4rbkD2bwh-B2s8`|@E*?ykyW#*Hc zS$)*9T{P(o9rhfX?Hx}?K)yMIOUr~kLSfs0QcQ-&|5JpBc(Bod2(Voe@aPqA zN0f%b0kg@HtFUuNV}|!pbsde^+ZH46XS_A$em9GjF1XZ#Ckcm26@Qjfr8lKlWORO9 zgNI^!_G;^$7T8YXQHIApxLC>jz0meyuHJ5iAoxL1pnk5qocVSJ7KQ4N$>6ON#Axr= zWzGAIvF{LNTjK6}ns3C_^-Z?3YZ2Qqe`RS?RWl^1#WH5B>-d`yW<|QMZ=vJOj^CYE zYAkqDzAj~u5m7pG9J0<=9tzXava_K$BtI;UNa}lZOqE9-RrNuVYpV`O8WpRr2X6-l zOAEo0#IO}KG`Ko?{pKRv?Esm_1Kr6HJNK=POMHT$t4B0~wh;YdrH8H?7Ms;btvBh7TWi0XzU`Z+t8AJEsp)}9>CFjJq4mh*XxOktP18G@H&Uy z*h*kIQ-O|_)e5($Tj`yuz~Q200_FWAFhj$}ihe0BQo;AfL#0pnJ@w|OyhJ9U87rvm zB7M!ZQP5D8%vu{87^j#RdABuS9zBM0pq~|-@b8fRGkp%#M^MLD?WUv8Ks9r#W8%bS ztLHZK&|d63t;*V&w!4~@Yz?l)TI%L4g9MKtndWoa+15~r7e;QCgbAiVIv{rS0=RjR zn7|q&o)3KAZJNq#k3E5Ju|@BJ)4AH{Vy{A4dDQK#5I7%o)lWSjaL&{j8==^?#olMx z&Rpw(1SR%m#sA6UeB^{hADY5BHI&Z->9N~&4XWmGbJ$LkirD*i9Z_(j=7`OZZYL|9 z3y+3Y@|5bBbNVWsu{1%^aMF@Ee`(vl^{|i-HFiZOpL*z=E>Q2N?D3=m-9(_5 z9P4Z`I|mmhnGM$E>}C@;Q^*n=Srm$wZ#iM+?N?X^vGw~vmjt~KmpSrYk+%?wL`V{dA z68%6tN${LgomWeLx<21TUod9P-f@3`w68GaqVuJe|7YEgUnI%&_kf?M>J&RN1rSjB zEGrw=X{3hCl1VQop7al7^j8S2{dU@o1d70@K->j~d%4y&hazfjqH&L2S*f2ZlXGe- z(*X*bl7QyOFPJ2FwZ83vvJn5#b5D8U7y+aet1c`cetsYW z$5c5CctGq7nAIUVD%qzu>yu@q$@>4he>wFrrb{n}x=KGNKjCZ9_;ay_DvqGOD}L&_ zoAKqvHxze0x6~JhCG<&L^u@zRJw&#jik6ud4G6@$SZNZ{L5D;wKC5GJecuzf6JsbO zSedHrq4B**@Y&_x@}VMu+Y9UaifsGe`otYRw0A&|{K7->15FgkKBIOSFp#&M?L@B7 zz7eH)NAU}E9n-njhPIjM!CdrBaJ6_@+ zWIm{(jNkUxpA3xFo4(MXn=Z3_jRGYX9XJDk2G$jg&`t`rsf_j3`PDhMiXR?)X)a8W z4CV#DmW7&#Y-%tS7|qa!|L1xz6IaAOAeOL*%Us~sw5O-*m`x@Z*UFma;~;35wAX=) zZqzSeuJsj|yIPW%iMm7<9&R(ja^!|Bh!AR|Zj)Ri1l2XfV%0`M*{G&_4Yqp$%x6lS za{rwjMa&Q29=6);A?ABX%5FV?ipK1>Z=3Ix-91bczAywneCYm74lSP=*{)h?*%j^= zuv+i(5Y!qInh=Tp`Z6h1RWX@bEM$3EIWse({@Wc^oGpr+4c$ZhbE&Iw=8yXZ_U}q) zaN+{caK(ESMghXCeqg|^3z=cYcr6@AKjBG4xup9%1DXU}pM8^_w$hn|)aq8!^-MOw zPa)ZKm>raY99hBu34F^V&lItUn8V^j@pW86TDe}6gy9PPg#Zj3>hCBr0LBiC8gPQ5 zm!Asm1DaA2Cv7Ne)mKBQC2I9az-E3ypRn*BMZkQ|C=q&Wll;-EX~(rWJbaH=4hO>ojGeSjKY@rS*PzJ5$^iUK8mA_01^ zJ4p#h&4L3K5EW6YHQ^7ADiKJw9v6_0CWYFsCZEol<73M5U-xS@jq2gj_}(wGN8}?7Wfod%+_6$OBtj9zm^6F4 z9!-C%AtE_v`Cqi>j)?YVSrp`M}t9Cm&{^53vnrh~f`yeROkvEc#$96*8Udqm#zsI%kAp@qcC5}s|?}}#`hvmU<#v+F4Dg8f82N=l@y4H0(3p0A=z2Q=ThX3f4q+OOq~*iMBiU=u=Ktg zc7!-FAE;|m@nUmPSIv1m)hW+B%NuIqx~Sr&ilEyACMx5VbRf4f3eRrq>!>JVGj?g~ zk&5HuEt|YoClkKN%JwkbIfZUfNSJ5@ClP+9X4I}Ovv|EaEc@*B17J*-G%OuPO>VYU z@3P#I1i-u7CxC^-IJ6b#VMTP)kRI{F4rg$@C_S>Yd&-rcIZNm|O3vH05G^X*ixl#( zT>%0p>v+HPHmL49aWTkmhg_ZE#Jo~lE@bRNh~2+yB_FvD=< ztYy+zVT#!msSS~{Nk4bNO|rs`s0YH7zW31IkBL#aD=AtBB@6d9R~NozuRod`XSf`G zi3c-^JxuhuE4kiohz45;{S<}=*t%?dmuoNlV>s@ndEkg7<3)KQUxA7^nqp&RRqv_~ z{MHA;2FDa4r)L!FN!AY9gy2ywh6Pq6!Y6A@)0Iux>$hXftL6Hk7i!b$Q|BYzE@%n2 zd0hV~Luk~fG{KO9c2!3RKGY7?ui&nr#pif)&E=b~*oh-=a#i|}eScf|*xQPp%Cjz< zj6$cx3!e{zln_gD=c6O0$_-JrAHGr*ZBPHNfNK6|YE;jl1r6!$Vg$(N_tH?6)%$#! z5)vI>6Nx>8fa)U?<=8j$I{2(7-H2j)Wk7$a&<=BR#l6Bdlo2d|4bcp42lOqI+!u#gGLva z`Dh93U;af7SNdUUWaIW$whhTklzIG#Rq5XSdkK z?(tsYHdkj;FP6vkl<7$@5UYghn?1>j56iN}^tuhbSdI#C636YRNzx!~Q3X+{ z(50k)+F5-YzG|$TOJ7aLlTb%U4_l*zwvo62^oy1-AO~r-f!|$!Sy?-F_W!8*2JgC? z@9P+in>4na8{4)U+qP}1v6CiE8r!z*#%^ruz3H>QzqQ``7tEc{%$#%fIeTvju5?sr zM0syNf>55>o)m`B#FTG}wsep%KE+<#g>H*sy;5P|&Ny?)%B1 z{_nfR+(@~0mcYTVvXyG#L6R)~nJBf;?YwsB5{}0xr_EaL_|I&k|Fw>bi>tW!e?TGhrf$wcO*(RRyZ<4?AGPR13{MRq4PLxJG{aPT?&_zHz47ADf9 zjuO%n`Mpp#`2$h96FR!|<84YLoZkxAWfwRdxN#1UgVNP43Ya}#SKI)*(0Ab=&yQDE zhKS!F{Naxx=KHMb#QZ2czCqaUrw*2)DQ9m_I(CLNV5tt**xNgDY{WpW$~uDe!#3Fv?p4QrUwf zf$<$k<09-11YI#IewMr7*1X%xfUrQQKoj&Lnx3b*AcXqsJ^D-CdpWL(66vqJ_M=}e z_vSN~3K%^A9LOJ05GYzJKqEl$;z}PO9iqVDB2g6XACwPTh@5=g5tYF}&!|ds$_OYI zTD*7_NMo)&fxVxADvw}WZ=ciB;aA{IhUa|W#ge{RL|<#c=jVgdxeZ;fw|zNCMmp!3 z=i&S|;%I@C|6Dwvzk}YS%H3rpB z-SsGn_}_FJ1ywOge>-u!(kOtLVfnk8kP5nCH7Ht;@^i%nPg}!5erwxz3heUeYq25v z!S^HCcD4vw{m4xjRTX$c0aT5_YUo4|CD`t%S~7t4kwv@xvN4sIxA$?&#mC>GM)A_N zVO2y4)b06vBljyHG6oHSb?*D@o*rcJ^whIvo(2bX!0!CsY;Yf#dvICQm|klAoik)g zvOm9J!WP0FvrK9qlk;{1p|3Z6d$xhL6$-LE<+M3I>fK06fGDe zn8^Pt{97XQ&Qn*Uo7=rTf6l6CX^4=g;a3$J^D*K}bXi?n=F1ijCs@J0?;8zpJl ze_(wH0g|g%d=5>^D=tnt0M7@KS!u!0)k5|ZRMgV%@6lDyJCOv)`(p6^tlb;-r%2YROe>{@q*;P+Z`rEyjS9)z(K9AT_Q{JP{`;?o(J9q@qZ$xA=D#+8Kv-N z3T};FoLMhp0_tQdzJ_Xm6GHYYg$ z+5!~$G9_rfLk#d}@rMi8GVOlcd;dzsK`q3fiErGdHUhb4sD9^96dDfA=#riE2h;rC zc=3D+&YGEOV#%10!FhAMosNNIh(=U#i;%m{b4Wu>z6h`L`1Phk1zk~o^9yt4@?;XX zR-mTRzNYX}d;8nQ$D4Es>&!;Ro-<`sGAmA()oKv(yPJXxTi zFxSbpnRU~o}|M=%@%?cPy-DLdE~tGDQTl=4WWh^vJ-^v zyMLiV`^8cVfI{^IXDO{ zSi}7tO%P?w3pwZ|E?4V4LI-_{Q@@@qLOM0*_0~gB;O+VVy6Yax$!qCXX@7IJ#7Y9| z$vN+){?PkS8$Fi0=n=F++OCgF=R=t6ew1OWWgV)in)LXgnbGx0-MaVGS;^hP8|zgt z-h8zqw(3-3oA`!1lHFAI-gk$871}rkuzph190xJqZ@k0l@_v}PAE_}XFMtPKM%KJ} zamzjK@UO$xZWdGDc}yPE)6b3b8QCZ?uJaNH-7-v#K!@vA+T11jvZ`ox@y1@|r|;Fy znRGqg-E(u8<43}bHmBR^WbtckzYaP?juM}?IIq`F@9XPVdgrI%kX?q3)z=n0hs@XT zq5`1VM32Vr|!2DpF0&%3p=~ zP_L`=p`gvSz%+q(3i$ui)IKq{dSF@KwBe=JE;|v7EB>Ua4NF*74C+>IU=KmnwK$Z8 zZ}rm<0O{e|PwVgsN!XQGc}z#uzhh>-cHJg_?|o3zlX2Aii&u%Y&DHJ9;`B{^Q;=WV zsV_w5K#k8*-ibg1`|!>>Buj?e>CsMCoe!{hU!pT2XZ3o$+<$YiH9#Z-nlmaoZ|7Ww ztl~TIWhe{dV-?AEltCikx0uz29wWcC<^x=1NK;@#;O)t z%L~o|uXzTF@+>Q@m{UXzBxRbveiI|dEYFjfj#9s01glQ!^%feRX)Q9k)5#1gGeX^V z*IdD8j8>~FLw&Fwh>InG{0j*{)kxdYR6wB8Bk_tD_S4q~itj+@`np{%xGBOJ2SCJM z;k+_^t2pUfi#Xoi^ZK}>a4$laRUIY;Bz1FaJ?4)+jd4|1RO29G)q)rbN5>OS1&OI! z{)pPi;N4wwZoJsjcuAr2CFO612W^C+mk~OQx}*CA_s^bwv@Sw`?0>TWvY!tmdJrrN zpD)(mYl188S;l2UeR7S!In8%ck$)8IrCKT$G^W&j#koT!4qOm7xoy#OQ6a8dc^BJERkse6ANWf zYvXmLgf|SGkz!P472@CrGs6#6p#J8vjy%ks2LjWdfz;l9Q8}cxbRW!|ay1NM?Zt8T z{KAnHN~7`bq*8+a>n3_qXC@E)7D@{COXc1kw7SsDt_UrL7l0D+_u^!HJM+N=<@uOw z4vhSE_@{LeYxZl|y)aa}(Zhk)$7vL^8!LfkCeKphovlsD>KfnrY8WF%dCGWEbE9?# zc5>9qqxi%E9q52~;q~hDX7mpe&6?|&Do%{>f|j_K#9EbDfX+!y-U-3N%M=L$CTBhRm)2vr51gMXR*;pJ{k}m{5^BDX+KOdnd{uHXmTQt#8eL-S zT7T|&Mwx0Y*ba5wk@#_h(5Lf4?i&jP;K9)Lg$7#=piQ`$5BXerzR^FrQb~>Xi^(C` z>jY>1RI$;+ZE?OzeYtbn=mTug*L*+vyuiQVe?%~dj4;|C1=Zd8eVk`(wwVWjwmAIl&1@ob!5PwDUVeP?`Z^}8JX2`IM97x1P;Yj&Rs3+g z!Jfc0ZL&!k!oGatQ1?b;Vu==@Snr7_o!EsCj(C?Y6 z(+fG#UpF3hhRd9A9Dz=D%&qF-Cx_d4w3lh*#3}6-4-(a8TQUd)4Z_WsaO!aeXi-T) zkg^%nj4=^}G0TpBn6{DGkEoK*{QMvtIO~&!0acv4vdIpZc6kwF5hE|6FtYRWC$S&} z&7LwZ`^^msmWS5USig&&@~lDJL<=F(dR$?H*T-6-K5Rg&4lnGGsNph{auZ`mta?r~ znQ?*lwKB5a`fugRd_rx<_6A>8Yc$rbxKheqjISafNK&KWu0g{w+c;9kbkfXRh|MO1 zat#4NHpYe9^QV<2s_yg7b|MEScwEFn*re-3R44e*RF_ZveSWes(WoY193^;AK2HBb z(ikqX3Z{mz8knR$Om?_#)3P-cK&4>{=L&+^zsj|%+YhlMd|41Xf4eOJ8p0Y-T7@ zeI@}Vj8A@KF)s(xAx+Q*j38Y(rnaIy)W>Z8{)0J^_%U(9pW>5ku=_ zs=)yu!DlK)=7X+v=rrF$H3GincmBdx?7mJ_Nb*S2j=$hW@(K$m9sC3A6GtS+U35-o z;3H9}8QT)P3`E@ceGm_h2b!m8lr(#o40Xu!wr>}mrB{2MFPE_A_?a9$5^`%-n#Vo@ ze8GGVGxl>|gEk{C%JD3vhAK`oMzrK#*R2w#aChnhuB>d5w@c+jzPw)ZzZyq%x;+_j z7h9H>-;+=3X1y*tapYq-gF4ixSon7b!wzPW3@_M%cl#sE!a1N|-c&-{>3yuM#@5Tr zg&4-pifqYORIt}9`}u%JFlqB(wtLTIWV>y)+gwaalN3NBwYxcg_~tOSh$MzI#YFWp zI2CpevpRPg+WzBo8@@}(0>ekFV?!ktJh=JZYV%L$@I=z>m=0n%q2S<#h@rKMU&!^Vru6||8)eq5&E0x5jMg+1o6h>dgY6nw@ z>Q^FFXf$ni^1le(cixle%$cS9GHv|Mx>@U4_`yQYxfP;z%QK@dO^IT1OrDa_V zeoHa2X){?`_q#5M2+NGClt8rmIjzHcH5ut!p~hpMK+mF36yvaXnihP0clp7P5=+ca+Z zhQ=2+I(U7iMBghJFD|8DbcV90j9A%H#d?3j+*_aqASe}F#QRYF?)ON6a91ZNZMdx1-e-zu;MLXbiAo1z1o5~R>(}coxw1y6D@NS)D^who+*rtM0b5VYR`u1yG}N>)ZQx9Sj-uySs0;(jYxN_EH*6We5Ec zqH|9t^cOHi)nF`jrxd{&8XM2wf`$g!myKprMn_HQ*uUL<=dU00bc81MR~5v|9Hm=k z^friUi+n%B}=fmD{@Mz0|;a4}#evsjm>^-Y_|s}9shI< z^E_?d-U1Ip#Dm`ey zKAqC-r9mAA(QLGYB#K9sADD}%jG<{E-=j8y2`%|(AUW`Y9&1n%hpF*TQ$Kj^LA{TL zHH+^+!|^^bJ|NH?2mnrV+1|Wx3VXHMYMK3RBPyvU>PqBlOF!M?Z;v*jGA?ZSPZd%0 z^QIai8jVjUDAVDM0ey+HsRyj%?d9ICb-W)ai$L5;*2Wai<=?;mi5vZvv`;to8#7Oa zShcB@x4x4TNWToMVKmx`*>!iqO#do23p*^=|00(|VUrS)Q7-wgRu-o0_aTitBW)L0 zY#zRFJN+1)`d4!XVIV_eU@d?hXk@_^ZqZ#)UV?%s2YRsLWMHBCa>W3q3{G-5m1PyV z$eOPiVs3*4iI(^_gr0}1gKkB*#tH9ius_EP~Bq7faqdgf+%w`qJ@qw zSl`Fhuk<-mDOoRw@a_`rK52yr_=5#bPD#780V#Nx3#vwqtXHAP?GSP?+Z+Id=0bf& z=N55_PYCm$bx<>uA%GT9Q|~1Phm{Ka8crz6(P*H)+;k=T#L7;W5!G=J3AY!ABn>2s zFfu3V3B85d&7d8aRDwHt?EG-^_Tl)@gQV;pP1a>c#{z?&athe9YGYEDe=-6Qk#4{N zJJe%GNpm{^J9-kwjsmR7*P zhav=n;!OK9uOis_x*@5Gg?oUGHYxoWgTRjH(%kwE$*+Kkfh%P;$;bg)$^_|m>_nx>L8qK>C^QKWB(a< zimd!It3`P4(6l{c*|*z(DL0mNNk`i=-#z|A-ct4E+8$caCv{aQMc1%>s8=n%=5z(EUh5UwP!W<<3y+MhFMaYC0ysR zHuWz#unA(%^8$$~Ao!h+Q3CXfb)fjauP(Ck+YzYWpcvsU7oP_AApy~)O$jr7*qQ0Y zoh_ez10F$E)-TjjD)lbQhl7a<@i2yOMUPGn5P%;L`;uxxE2=hC_=IB@VT%ZyibI!~h2Dg) zyH%$|@t&+8(-Fy){I@2s&okitJCK{Llc}0vbi2UD^PPj=I~zPri_R@!q{`y5;OWNc za_XG*ODT~N1Qa)JuT7mK1W(gsXQHydu-jPy4j*K<=iXQ_1l-%G5nVl9d z2RVnRt-k*W?^A-ea;*q_qH2aU>OV`IK2s9bClh1K(gImo*}FRgDGmQ#Ytd|`@6G9I zbyuD-+o_1`zl0QRP?G|Qkptv%xo$q{+%~Tqw3pT|{SGHj>Cr(zkx3Po1(krh3)x@E zN~20sel<(V;SR}0DCaE4Nq>EL;(2Pf+vtzT}*COH(owL|1I)*a;tx7#hx0Y0%+0c;K=x#vLLWAt(@tr;VJdBE1=5wL4c-eS0>gDrvC_>?Cf~Fkx zwyU8wYI=q&Dg$#PI`Zc{kNvhHbmqgd8SXU8T{9FQbWxgi@2|OdnhE&7YjI~cetK2h zUD@%)et4!Ud0=gu;eVk-#KCn=a7_Sfah#Yyep1bjQrb=jwIhz{<_Th`iQFPPzICOg zn)Ji(G?f1-YdD*{MxBBPDw^(g7&l`j1!~*lF zyt=BAGCDj33y)1E0ooZQM3l3Qp=VM%S&?pkunr{a3R{qE0`yQ&T?&7B$+~S|shr9u z9LW8Z!Q&RK0R$}C>f~xF&uQ_du&im9ceXZwVoV5cQWb(=q)8+(WGj5$m$@`Fpq7aY zI9(aKP3zN-p4M>%RZCiPQSkH`1<&`@#ob!Aw8TINp>_w3TE7r^iHwu{82v% zk*QoJkCQF>Mkp&rPTWQEqK^z+NCG#qE8)riokrx(M@9x*nt_X*QB731v7-K-L@KL% zF$O1v= GDj>i;5vFD5OX~x0;G}*O63{V(Rp1lkYi)UOU#~3(KfV zw=gX{qE4C%KCHS5H8vG7x&`yD`CkTKlr{5b78@%{Jw^361xB&tdg*<-?BX=Jg0YHp zS-r#iB%?;*5BbE({!BmSpY;;A``*BQPwMbMx2}pLV#E76D-cR0#R+YN2$070$=&RU z8%;1e*2dWs*Fh+8=*}xE9^P2Aq@wip42GA))C-j1JEV-;YBmbaj*3=S&D-q zVj{Q(Q+E^PT@UFnT@L@k`-7S;jk zo$vX8B+yVnC=^KHo{Z8z84592ARyvxE06~QS6;IgRX+uwqOC{tM#)%}e3QYxE6@C1 zit5>J{ge5z<8$wF(`H6d&=bwJoTWC`?7F=*^M>hM$16_!_*1_<%Fx)Ebd95|rh@F7 zJ>IOybS&TXrQGWQDY5^VT_a7Z^grj}9lH4BMzR9LmaA>3Az-iJm!kB8^1+LQbF1WFKV#=Y&|0>h* z$8}Y!;C@)+Z!b6XQ2yOnz>x(32I|=UKt?@j-}NCp&p8A4m;s-p-RHAjs&frQL~yR!boW+ZaV(wiQu6U6SH)^ zcG(;;CMNdw!gk0<91yOg)Bbt0kwrgQW|4FsvB~KmK^i?sA?6oQK~vtPX~v{)(|BEL z?_IX(K)(f;KiFB=u}D5I>>R_@pdnBfBm3=`@lPIqF5u&k=3ct24{umDx7DLj^JhkcGh zr_8?D(4dJ4_d+Br^Co@iT`ZZr=jZ2`Chd*6c)5&}P^fPBO!W$j{vBjF4f`**o@Ru| zFym{@)kmXoon>wv9>2*sD|cE4%JteDd=qD0l3xH2t{rz511^6QO{$^lM*yH;xZNh^ z;KrEn#p7IT0j6}BOYB3DP)v=p!}yi(Ez(omW`*~@(O$(`;X=g7f(FxE_dyg_%7pMB z)&BMD>y*55pZoRg(-#d*$M%$bTI`69RHWeo=L83jiHTuyf0SFFW= ze4URQ@kI}W^rv8Fv@mgd_+kH7lgA$y^+L27e;ThFXwCN{V7S^Mz(W*R^nnT|WCK)pA;&z` zLQrIT4F6KW>>eU_vo_SR*{;;yj=A)($KW^mQL+jdm8jcq+D?$|Yzj+g@5h}8L zBcPyZvLenbj2={$H19f;nfOa*8m?Vp12#-12TEluZI8i@@NXVhMDo*o%*rlUgXo0O7^}jFlp`jD9V^cOfuOIL1aoqOFU<&vp7Ow~l;|ceP6CFt!xRKDa zjiU&2Ywv%JB%TXOWE!J((wwQ{`4JchO8=qp7N2Om15hQLaKriS-o1=V11AoOmVw## zw<=xB*`M=NzfhD*ku$!Q5nj0axTwGrNDr8;_8&p}Uj2@$$hB909m89bSnEm_nY2^2 zA5okP1%k@ZCnYm|$=Zl>?f7=#6gx2qFaKCEsQb)?)TuEzCgH>l>iODE<>&GZ`yk@R z=YApcD|uHL9lP57*p@|{NtdNQ`#S{>$yM!Tx1cO-rqkYC%B&RGGi}j!6C&)+c%~Xk z=?-U9vkd3P+j`K5H_|fLyd9VZVu;P@{H2&_fX^tD3HOW?)nS$`ydgC@2PD3L6+Zhd zpxE^GUeDzGIAm-SXl=DJvaL^T)Jo5N6<^s=h;X45cX0s?-g>$rTb?u1*X3UM^oH@b zNPspE&+zORm3#H7E%us0Cy_ge<)|jmmd69Gwn2SFso~w5eqNb$rj!7r$?wpZjhw}*Mmg2dP2m%RyncQ=B;8j~_R(8I%_ayH_8NQOZ?OV!lJR;Zn5 z*mK(6jQs3(couXqj!GgBSWE-04!DSz?;P1@70RWsFO`bPTnXcwYIc*!@1<5Zv+5U| zwlHy6{AL0z>%Pp$yj0;&d3#Ynfvm2EDLq1o#b#$MC~VdmCYYELvo&Dzc~U>0ZTpRGF4l!wvC0%ited&Ob^GpUv|Guo!Uuy2*T*X7T*Z4Y4Z&7*xz|Cbsn51 zG$#+0qjGcgG1|-bslGN18v_p-$qy)4$D{B%7|)(t<6z*;;<(NXyG3$)3F%qcoKkro z&ZQNjUogO8S=~f;6)UP{GS}3|Yu6io`M144e-29lW5!t2Se;NiD*(N^J4?fzggyKOh|B1VVN%uaPwF}BrVuHB6V@omn|e$BM_6kRa|E~XPBwsE6* zvYatqR$ExWnI+T=i9|Umq}xyv4iXIKV=qIZ429i>{7gq9WjnOewl7GYs5Ie9Z0(1R z1N=SPSCpAG&KTL7gGH4kk=>d1fF5&}^AID|75Ml5e&LeyD&9X2br`3BIuip9aD?WT zS!B^Pl$y&OHv)6-t9Ta!r&`dz907-(_PEsot$)>cf^t3gB5W`wD){^)|47u%LO5!l z`&tsjf}rOW|D>cj%>Ix8neoqN%7g6(L}-ipSC+sYs{S66SQSG#m?@4o~%zJx@SZ_jJa0VaUhbOS=H|m6{nyx z6};mWuOS_dgI>_In;m;Hd|WhPW)mnQR3r~9+jfS!lO(vONW$!D@m#)8ogsZN#4Rwy zyyR5$g5f3J7VwC-58sPgHygY5Lb?sKzj&uOzV-~h4iF^%nKYeDE(P+1X7;Mus*v$) z`4I^5V>0E4ryEFcX%dWT^zH8_Iu_&h#Jhz4s`nSH!l25G7}w;++>KDvvyIgzMwvRo zLx^}a_YZxh15l~HI{{8Fn2)rneIiG9j>00exiMtUnVH*df8=Hc_>u60D4vZ+7 zNgGT+gpI(*ki8WXo6>iNhcVf7%C?-}uBYU9zS)48F#s!zsB*Qv+AX5@w`poC+mjk8j;rs5l&>R|T2gTAvVsrd!QVdGGulLeGJ2d^6jP4NIu&hSc3FH)hLEaVv3ZY_!|>nU0>*# z`y3Wwnlaf6=$>OoB8ksnOvK8QX?>i8&?OsKuQhVcn%>VxlTE;bj&s=-p0LsNA3R}l zz+zDPZlo<8MX%wuyl!b1#(E?s_2P8$&Qwr3Sb) z+xVb++q*Wb4oFs{Ukcb<|88a*=X3QCer4gLN!H^}-g%t8RMC1A*f%yOoUh^ob%Y^@ z_dF@g!7<2|+Cw2}O1P%p_Lya|t-&hXCtS=WPk5f}L;VJd_W8)Bo&Vcs4?$9HBP8#S zry8@i((mkKrafmzeVr(z?a`pWYm>jp-I|V>3Vhk)k-z;#(e$nZ>4Eo*5%9*9&Ix ztFC2X6h8Y(bo&Zx^GbyPR+i9ipc#(+6L}5U&1BM)#rRBAejNH!X@I0lIxkV zySn25ki7NSPQPI+f9{>4Y_qJ^?{AT&<)*#15+4D{)Oamr6%Wf|r;eKmUKk)Vq6BIZ zr5_}j>$Pxj!&kfe>$zrwnx;Vi>yn+`tcuIbR@Yh>s{a{3!LKxcLA61i&CL%4f|d=P zRTk@_vUK4o{FBEGJA0Wv!xWDH`l4E&CSyhLiPGO+@?4yeq1rh>wW;TDuGD_9>i=yy zoalP2+E8sMWehb&P+)JpyX>2~_xaG^PFQ`2anzw!7uo2Y88$DxDFKH&%*|zCN(m%~ zTGl`I*&%Z#!6D3WHS;Y^?r9ZL?5s6{E0&ApeQVHbaIr1n>SEO?d-n1yK)UFyD+oWV zWc8!-C<)bq(u$RpGO_YhV8URz;>buw; zG7%Q-EBj|t31)F?>lJDo^qE2lG?|zT*$Xx0u7UMr(?`_I#=ASZ1;W4Kr-N(85(9y@ zZk+N=iLIJ1Dk$ZAm1WDlpYP>7F|YOse4k@a9Rue>mWHbM$DLdj1XJzDKlEvb?o&Wi zITSNPy#}E+f?TOzZj5Y@_2#(py*uX3s>~DI$JYOwa$cw9!b{cZ$=QIc4Wl7u3M>116B#-ZM{Q!&PV&t8P>p_Je13WCw`76TG0FZ70 zC<*Yy2Z&^Ip#+e{Mj!K!o<5ee%)A@^2G@pXCq|FsFe-}DtBdtc+(Ij0E-HnU(2K{^8r7}=(+Q% zuS;zb23Uh!j2s&Ah@owX&DCr)VsBFOyM(3Y{xP%KMS(Dv;ppR$6fA@}eHC@6T{NuI z)1L*|lN9_fIn$u20{vo8=@QGt-!iw_euKZ6o#HqZJyC{V7XljSr})EIS)-K>#8LNnZD&@h88$KT>~ zI(>EfLNyAA#@MQQ zuy?0gO zuoh(7O?8EvcXHh6vwlLafyY{o##vY&sB~Hs`h#PBTVCiNV<5aqAn@^LcVIxCi57$? zglWq*Ptn{;!S+CzU@_%o|+Z0v1XK;dkR|ewtqHW05#Z z&{mg9UTsdBP8?wUg0@Heu6RDyQ@sc@hv(`5Y;1zV`Vy+Wj2D8nn03jc;r~iFJexn& zB?WaP=uye7WIvgv&G>H83&i8r-p1NA_^Q<^L6U5mT`=fvp863M#tw^AB1hy_Mu7BQ ze}Xenq^+dKBDL_*ZUNQigI@mj)+b&Z&x2nDpkr*e?v6aydJNH@XeGiy%~gH^d`}w3)^^OK^XK? z<7`8NVwbnRueJ~cAYt8X$phQ}1@6k|#gxTi_5Rv&r6v)TaIKA-oGHKeo3nqv4H8nT zTAKJp{{?oo>(h4y6(bJbTgR#Hhl@U53IP1F82w!s@{Vl!u=Sejc82uF&cWoMF=>)( z5)=nA483|=`NbAdmQ>$B{rW6$-M>;(sl!z6wIF9rlub4JswxD5h34(ciiJ$#h$xiF zv>cSSA-h5GDs*BTuGGf?;rT`H7!@ffhFHlV=4ZQxh}s{Bn}=Y)Ky|$)Gpshgt!}=f z|4=DrLJ3$2@t~f2%k2_}A?$|2?S`z;f@(?>lCj%pw!j>m9h>6TNW_Hw#WZT-=NXNv zYHNSPnQrD5fLXpDi7FHhHj+%VJrb7$b=dLVUkLWnz@puZy00h|-2*Wp0Zv6J0E%5` z05&~Mwn_6zB!ppHmrN&81hh~`xsu;p3L|~o7V~%9EowQTcx%MzNv6RN8WQ8N;0cpa zrhUO|G~j@#W-lKepK$Ie_ThaRA2HFQ)-Cd)Bra%hZKgJ%qWFNY_*<%BfVq+ALG6Sl zLtiWDEw&A$)~Cf{POlKfIu+P+>W>l}!1`9`1TL!Zv4*RIMkbG#B8P$k^4gQ$0hp0v zMfv|u;an0G!EccsV~lm?#|yq2Hv|L(z2-N#EBDvVmkXm5?}=|A=^ZcHVKx^is}3N> zO`cJ;$#7EcR!t390umuEInFY zlJIIoi<=j`E~SIt{ai|yB+-)K0Pq6f=h1W(G{7`)60?otMOl{;(VRQ=$evR zMSo(BZs#brD`vex`X5%QJ3i@kJse-WE`(OSDW2up_I`x~2SI^R_@Yqz)M5NOw`bXO zIOCJQ8=)aLtbhGw*;44WAK4WzfSGea$N{HtWejD45YWTA1;(}oMvDi;;3M}I!XBC4 zSzJvGi9eSEb9Epo=dEbp53kl%qH=8aabS0Ra%|i678T*X)A@3qIPmzbIQjy2fX0wP zrpx-pBX!f&$Y135?-ssFHGu+vx*zdAo=a}={@hHc0Rma_`U8DygW_$A%+HDhfq?14a27$cAWe`Jyf!D z$J{gji^ds%Cq0pPl67%*;D8`bB_Vq}dmY49xKKiYm}7a-f1qKGpzn+sM(YfER3fV< zYI#GpO5bdW!>&rkv>34d^1y#h`#fYK@_zy+k+R=+qI#7hLChER`**LpUdA^kve_TT z^xhqLavs+^9wb7vh@?V5?Tozo)>fjvH=ZdMVA~r2&@6%_=vs|s4|UoY5yNncWv)S| zBz%Qltt)X|Vcw|Las#g|vD`VW+xx{^ZYM;IF%J&hbRFJvJI|)eYt$(Zz*JY8=50lG z^aunY>?t#mG+Lv9@$rZh8D@T>6izJ+Zzy7Dcf`1Mp6=`CHQ?X|8ZGwT^xlf>RkX#4 z4D#LPBW?P=V7%|PZNBXl^F7sZ`=!LlB$SW(!L@JU^^7SZkh?=N+@TdOr4`ls#MPE) z)|KVFX}Tt_F=PF#Y`Ll0Lq@x%UnocrrZLTm=mw#-?ckL3NH)6H_9j=OyB zo=>VMMniH2GKE+4%-(3O2B)#~R7$mrv2ZaZ`gf!f$g83uaYAdg%`Qb4zJh?fN#V)J z#LR^a)!i#WIiVQAqx$68EO4e_;KOM&I;x{4%=T-GR-{%4A}eelf*t`rmluJi5QBacd>@I&TC1gzpTV5AbC*n1i3sst6eHGtPRRFwPBE1sM zIBQrKNI@_bAPl6sKw-uNg{s|^B!?La4kZT&GS`!n|K9om6$}FIKWRGu*$OWT@R*RD zNUiWLF`)b^qp=5Kosg)htL(Fj9tlfZe{vfp zB91#zJJ)J!%s@g@jmYa1|MSdhm-`EzoA-@!?(;l@-;=ay<-ET|!u+@u$HOSy_5@ru zbu4@guBS7FF76KeVHHs-_%qjI#03^0@L=}taJ#6e)P)^d7;$Ikps#AIbkD&mqhmmh5* zu74WBYiB9;_RzWAQ0V{1i@vRuo2Evfn0c`}gzW_#hl zpE@&4c6K&!g7W?&5OfQA^Fxp;`F*{ki^c%17y~NIviIWs5n5;!fZtxK2X3P;a-E?H~C?XL5wMnW}m+WBgA@$_Xfs3!N~fHYBz3{Pov z3_}Fi!Q+U#yXXA_2l)$aRlf_LwKl54%yG?FX`a%JgSwc#9X)5cwD+oJx!}WLsj<|J z#ZDIu&LZ%q^TDN?Z%mK?_B50L1aHAh6f*O$N+-Yj+*!YZ|B27&%%~P&Z=~7$Z`v>A zFB0NRU)Am+UuDBi?;3kjl`eO85vrtOWwt zR-g`4crByv#Wq!^7hR%7(CfZ?bd*7;f}RZ_HK5zyD`IH z!01}+=QL%w1<Z>$9PZPxT33df zTQZ#d7~T@iPi-Z*5R)eDX{}T#%=A~1M&pqmMsO$7-;An%>`_z&VHDoCu3uZRMUOib z6rBk5Rqb>aVZqpGrg~mu6{R;kaut(y3{Q3GMy5`t(lKp=vDlr>p77mu&d=J@Ce;k< z?3Cj--}Kx9XP3b$yGWC0tTPUi0s1lhSKhb`U?42*B99w^>Imb(L4?8GB0J?&5nC?? z9&FjSvu7t&AN>_RH%tYBzZQC*A{t}$>fSee3)AXzYRMxax6OV2Qgq1=D8qf2TUp|h zQ8`&p2|k3yZ4>H`9a?;*9!YqgG0OmXIEusXIWhPB^^o6h%I;#t;V$;!dNWR}p!h@js(m+Gjq#4C5nO;!Z&aaMswI-9gS=i?WqamEHE;-d=3rCcfxB^tg$ns<|vglYuo#Tbq}^ zcAIdAg9n)CnR7k&=q-#z}iHiwTYq|*GV7<-MMUP~kZD(iGo<^Hkim3e!m!N{#| z4k*2?)nedU@xNvTP{3Xx@!gEmO;Gx^Gu%a(=!# zCqBKJA0g2pvcXKe`L1pO_ZGBbHW_Sh7=R3NoBJ1u7@4q7A@l=);(w)r9gowz!|4Ul zW!=iaXnypZT(?Ajj8y#9bdY=k9swVARd!X4B+KeVhDt=xOcGZl@m&ctosOXo^lh$S{9 zR+6IX!^FbcE_UsmI0#Mc7RXmsRc)ZNX}g`3u3D=xdOB9!{)0`pG&3e@@6cz@kz53y zhhPfnF9TJwVgT{~Xu1Z*xY}+zv2CMi8fRjgZJf5TZ8pZlW@D#eW81bH+je8!N#FbZ zf^(j8_OrRx+7K1V^vNc&ocCIL+0WsA#>FxrDHQm~Oqxse+tz$*w*y?ZUdtb^6B!gu zrd<9K`XB)H{!CPtB#;;>D=u-Q$U*w|SZXTmS~Dj8l5S;zrhc=Q+ua?w{tSB0zr>qZ zG&D6n7-Ec6e_6$3X~T&9g>2G()_i={cGv#)1bX90_yTcoe%x_2TryXo`36oO{e&;o zo@?HYYg|_BrIxCP=`>VtpEW~!H-205$*3^NsEW~>f#C`|{dbw7crg%EA#bp*cUG0T zmzVeVKl|vL1b4`{tJ(etffYV&FFj#D+tT9x8uc5QA@ukEHFT`EL9 z1f#sxsvHTxpl%ZZE{ynaF^-eUJucZ^_wwo7h7UC@6?RSBXwZ0^31=_y+*p<`E!~!1 z`&;fyq(etXna<$5+kWdyhBdyYN6<^|pDSTnyIOSlU4qBAoLbDJqt&sUUM?==PN@^d zIQ*i*-Si;pSDd1`>~MKBbtKz8iVrOT5MguI;U4Wcmn5{q8B3=8m;-+$odXO=f}qVtCSUKXxGc|8OI^)&Pd5hK50sEzTUc4og`j6C zrZh$E#cMQdU%ksJU4F;X7ezg>l0|g+n;-i7Km*|=nN_B{@(NvNf~xQ{skMX`cwj_AQY_MHj->aGQ>^Q(%lPev&@qa&vVRye9VBa|MT$Kusn` zC4r|X>Xsn?W2j!lJaD5=i*(gxP$roVYM_!$K2rQ*gv1yBn?Q;4Zd7D=Lz#^l&^EiH z++8P`oE}QTShO{JrCN=9P^!*MqhJ6_VFDE3M(wgo zCW_=lI7xMnSM|81lX-%?^Mrq`uCau9Wm32RQVUiOf9S`s*AFy?o!O%ph|jGE32Zj+ zpF7774D80n^o=4GfK=oZo*;Z)FpTcYnIe0==;+=oPM}xit>5O3VvRp;uDDzet)U>Q zWzM;iU=ZSs%lfThBdQ|=YRiONfFV1JCOL|B1LX<>JF82YX^Jh2HC;-*ioA{3lgFd$ z7(AEz{m}$N1$68R_;Y|_MZs^^XLVU^wERNil^iU-sB3TBq$k3NlT9#{(|qFUNWmrL zO*f|;=Q>`cv}>dxGeJi|G7b3?B_z*}Son6Xym|gtLdrf3TK1dGce)(4(5p@?qV9cD z*34^{fJ{CZB)tSL8#iQfn2m(u!bQ1joBNVGNv;4s3pmUIC}850pHPeI#y2j~bAQ<6 zuo_@@TE3w$W0RTnKC5XqU5XNFHJMO^aZQyWgtsdlU$pWDx%cfGCG3`16`c2T+Nt9j zPYdHoafFQ3vgc7bTqRo+``}GxDV-H1I4ge728iS0^ZM{$dfY%3^JvKFM*?nlt1j!e zg`lO`S+}Rt2GGl~E*UB5ra1;D&DVIB;9=AF)Y4>jNC|Nr6n=o7E!~h_g-#ZwuzA^w zgqH(85;Hpd+}xZbK(3Sz&an{h+wb zgS2GRl4lvphW{lW8HJUt|rV@$Owo!k%FuELTNSt^?YtSDXKwO<4Vle(MD zBelT7!O6_lhjqOUb7!<@PB8Kr331u%1^~kXYGOmJT7&WPTIurjxR?nnm~a(2eRs_# zoJjcMD4;`lh%z9u)mWytcW2z%&~ciug{JY&kHqjNeUOX*aIn&1GD+xxUwbdMn6yy80g$;M1PEp`qdC=Mm-*0MM|K z`L4T<=gM0GuCgm?@3w0**T0dkWls==d$8h8k+x9hKU3+Syc_hUn3@gxDQ(UaR;1>B~LKot5g5#i^-f;snU{cKX$01 zj#*{cCjb~&i--i0Yv}!pG$2|{Rf?;A^sDLM&I?nQ=O)hnTGYu5o@~1_CCI7{j6n|z zCGXCoBRfwAdi+WpLtF}=fP2;aZJ-RE6MmEglZTVF2*6a7FuX+nF*sV0$KTavM4N#$ z4JBhWXdmWE9YQ*|2r4lPw1rDdGoJOO8k!1_uHHvJz^n# zlU9p*BPx09mdSDBPDSI7y*W5<5RePV_`G@+r=1S1n7tn@R_T9PZ5pKVU)kB%``}y#rW00R%#d2g+vPb^#$EZNwWDD{hLUVR?5po!11NlxRRbe^ zy+l1L^OZj7t7xma8~sF${bzr?Qmv}&rhFE)nbrCERWEiN83Mhaq0s;~`JTUaOPC(F ztnHPs*lKJP05ey&u^N^-$aa3HU{o^o-}@yegJq$erRTF@ zzdR&q3Cp1j^)CDpctYcENHWB2)Ecgb%F{Ee5VW)TGPS;&qN}j*PXk0ls{3B8$l!g7B7{4Up&|3)=e+sph%QTid-mpVhvXh+CPfh$I=}ce z#k$sRr?hSBc96AjDEnvzjo?Tq?XcRp9v6KVw)QyZ&=k70xh`;wOPVNeE*jJR#&J7s zp8;E=G8rU<$A8)!d@Ct!i*2n@b5F1U|2?xlS zEkXFZSae?D*x3NJ(4Bibt4$tj_rw$ycH#2e=#@9Bv$I~B4IgeUCndGl90=H+u8Xen zt|WIz0&CVfp=*P`LS$V%xzgPw7MipJ&t>{$qn$ww+U|$z?F}w6jkbYN73IZkt!1`R zyJvg|%bFh*agUdHS~^6Gg|-O_h7?nAvRx^w&*hkgAKrIO1kea9RhxtHe*=b>$)#YZ ze=BB!oE3&mdfny{(s4b*kK<7_%Br^}fkU|ESb)|r64a31Ridj5%5~KKkHxi%=KIge z*kG+{AM_Z=Y2p46Q^r`o6iU!XLE7e%ppuD~W0HZRuTZ~gRkms6=kvtc&`1bhw|em5 zh@qdo2xrRu?=d`4behd?X31JU*8kyGVl#nhq{AAljXrz4ny{nsjYtw7)C{dabRA-Y z{}MdcPzriW_{DfVaHNeS|Moh5?{eNp8U({VvypQx7AB(e8e4+mW&yjl^dy8i??8BbuM`8q~Q0MrZ-O;`~5Y7{MGzapN1S> z2q_L_!TZaj*3Yb~a~T+}rjpC)dSlhMZMetfNs=hdAh5)a@UZpUbX#Ksl6g!={_maO zuxDbE>_iEf@utI|;#vA&ZI^TZ=mXO%DF*qa#BSmD4~=dtp#olFsRQNP+UH~9bPyEX zYWd*7%ytlIFFB5lgtbp{q5$T&{i6JzBip+8AHWy%UUUx~6gW z`D1=vVLTyW1aeVzk`fl?~AK+7q3rN$HpTZF{anEhD%@snv^97Gxd zI7Gw5i%AQ45vN=sY|;A=)LLBc3B3rt@t@DR3^Z8vf_Wwt9dqSHktZt%%j4t2zgf-7 z-u*&AOn1F#$o$r66Q^Ej%a4(t$6SKzKx`E5D1%CQ=+eDtEo{D8GKGTJxf!-z73ZU) zqeLd{rRnLPLq_r$yiO+zRfx;938x>Mj@({*bWmf%9+mn^h8b6#EFz?l2B1!U8sJFB zLb9_H8|N+tAS_H;8M#2qvFRjb@^$do+i1JUvE$mkEFw*B7wlSDbzA8nS3ZBjaurMpG*%U@eRn_HX9pu9~7Ouhr z;gD2$)_mPQs&GrWSC*1-dymsDc&*98h7NGn`oahCDZ6-(qjOT@>!f1PF}c2*k{Fg9 zb<$0yPWL9T>${z7BS4D=mVFR@&tU_P1u#4rPY*nQJ8YZ#!IR8;j%NEhagMw;ucOwa zH64lfjVb!`8L~;o$8q^UlPvWOGJ&VW@>rDh{WisNY>TtxYh<#%&$M&yMn;WYO$Cvn&RSlp&>)Rib!^wB>yK z4C1{xAaBg4>fQB9{<5G)aZ}f z42_Y_qbb+*UO`ll_&}+dsdi}%Q~OyD-$i}?Z^(FJH6^zY2oi;8Qhs$A2yWDckIpDQ z>?qE6zYK}X8%AB-2h1dcf}MsrQ$j+2u_FhG0H+OU?+H-C(g-9_>jHQ=f=3Bm2X_-u( z+GuV7`BQs!G0+{e3na70tj)c@#L-rxT;($sMj$JWFw;A4x z{Y(ML^~vhTzOS!O?Kh75yT43I>c>&$8iQC&?!3-b7c%@3R%Mir5+60Qeask+mg*r4 z(6QW{8ab*?c`KED?r5Wjsic%`?j{$9Prgw7Ln9_k{1v?Zrq&JC^b&DPK|DARm?&GR z=5>AT-VZjpuuBA@BxXk3Vb6oaHnA z+T#(oaMja0cs0FHB-`>q!9wj?cCxF7Pe3;y)B~JlZfd_>tZzn^8IFh%lk|7#5Ie;D zb=YDVHWvH|KqhmgUGUDk^czdb{zBkwj=*Oq@U~56$e^PFgGzk_-0{-X);{Gea0 z`-dy|{jJvcI&pg-8oX^83@m_G8c!D1xLi5iFMXLzxP1(&67Dzl+UfIuUJbrv1?o@` zEX#zcSn0HEjx;#WiEsNNKiw5WZ!A>hKF{A7K*z@#GEk?CZ?4VEePzYUMf?qgKWGHv z!J5eYyRYdwTSHQ%WpQJ0IRh~ZAwvWio@Nb|*PB%FMxV=^YkG2rEKoCJR6Imtl; zR?p^I3qR3DS4;TFj551qN5CX$c@DkZ-Q70di2cfzNUxgq0C{u0KD_Daq1WeTE1A?3 zu0hyp*P4xaFlE-cb-{nUWT+RibYSE~mwTIc3E&I8qE_5U*6UtsPGJjE~!*2Gfl#nr?bZ+$N@YJs*Hl;oR?wxRAL z2Pzb8Od{VjK?pwd)z&RCaDk%+R0ts2NU8RGVw|i0*r~S=JRR_4hGj4wK#xEEcP30aZrV3j` zPw00AO(|Wb4Q z;dlZ}i++a~Bv-s(gKeg7zYM`77z@rFYrvfaNl}&Y zXvF=C=8m>5p%o?}-ngZD1C`(a{sCdwxlq(^SUmuAqhiH_ZYZ1V{xq^EJSZR?`-*8m zCN&%X8%_wVDRESID6N%=8B9QHgIK{~s_{QU*w*ZSe@xu@bDfMd0AW18G=Ipvrf(EG zRl9Ag8zpj|fw<1Vi)2-d5A6^d!2DD#POp;&iv^CR)|%^H`EA_%TBoJ4F&e?a@3R37I|Jm!yU$+f1)k76PRFBqPpXGS900G_(yW zfRA)@za^#KOHcyd>+V?aUQ|{pj-lBclkOB|c?ZkQoy!ME>!jw;8Fg}etwyWM?vLSO zn~JKYs;W|j8PY5@0n-7=OjpN+No35lseE%&T&*=VXF-7~llCZSU86oFXm5|+;z|cg zJOAaqy=p*E*TI1qbsVje4ETy04GRuZ)iIf}*VG@KlD&u>PX}t(75z5HSVlcgtuOG^ zL-c^t6LSmC>?<+AntvVQJH00K5DUE&maLL1^$)6QY&zU|g*vEPNKDwa{i%-A{Jdw$ z_4dNYrrMCll&0x2^QG`3`ssl%CVOm_djW-TS61ftCUXsnVcew4LKH|^^d8~5l@p64m~HWmNwjHk=(xQIgxHUIHRAdS*UaCGf zEO+N|MZ4=;^sPRzhD`646A*iTo=R>WEL?=cM!zduh!WX1=E_M|w7Oo4qMFfh?}bNP zMnr@P_E!{kBPhpZ5o{MX1KhBUY>oo$Sr}u>V1d!yX4EJ1nY^_EbX#O!lu9T{ayN&Q z!)4I7Ivcl_;)l-?h=nBPgh0oA;q$#ah1 zuTpzm@3joNK5I|-(P}VS<+;{T;$`c#{&vma4q*J8i=Gq?A&1RitWVPkiB%hfTD>VpT+BzA7q#7fQ|cZ96Ave$$1jm7*04F8H(?|TS!HuWX5 z;)PKVrlqsX#3D^H!1|{jvOo7Nn=1Pr@g;h`HgsHe{k#`vKhz}D8&Q@yUt#_6YaR5r zGJ*)fKE;pnn;y(`uT>z&4g(YtfSWsMVaF*m#!==yLL)`b&duRQ50DJd-X_9VneF;* zhg0vyj!w~MuauV-6*b*~yz^d?%E`>;+c-Yglp5@oN6sjnrl0u3RsP{Z&mUmR_4+WP zQme{2@6NIvSHZTHlC(A;MAA>AXY_nnjlMzMdS*D#8c^;`X+pD^mC<;Sv41&Ch3SL# z^R-j8&yf{}1jWL`k$3B9QLr8nUuX@y00FxI&~Z=Vf4KdIE9nirgBF03M^Ej$Y_sym zb71c*wdh;#^{>zn;c`~F1Si7^&k*d+#i$0+kO|>M5R9!Wo4Qvyy5JbUn_?!IIM@)dt*6b_PA;YAR>{QCCVuCIsgti`USG*F`Zc%hj0?kmij@|O zqjcN{M^F2HuR304P45kzapenS>4b_f5Jp{@=p{!{B!eaOFwNc~5r;s@1CZ%Sggf`& zbA0Hhj}~$oLFv$F$Vb4Kuc_5n`%LmSpJm9t(AKxsD+2^BCCaO3 zqCuq+d;;R4XSj_dCE|*DHlF}B?Q&uu{2qA+GbQm*u!a%d+u0#7pGCn`JqFubvR%18 zRbpJ1m_u=x{K~z@$R!iDCtQU-h7;=nxb4Z&b{PD{^PKofNN!Z`V!rDiF3At}<-I)glXJn%9?;d5U(4yLf7m-~azOsP_YkEv=C-FxWFZeHP#1VX{ zo#_ZEUOsg?Xi!`hpsNg}%Y>ao-?B}k29@xF0@Fw?n}X4`pl(>!GZ;R1028abiC3Q!sqP@bYJ zOqW9;SMqk_C1nhzFC3IUYyrps8bzJca7+;ZdX-JnTU4SZS7uQPemHNYK?!047qjhl z@Z;OXXIURFLlGRK83Z6!N)nleh3U!Kqkv2t$}ok10Qb~&uIj}RJ8`G*u0Ug+^PH%t z-Z)WC4Wo>uoFX2F=)dY0J*W5c`!QI!RkYof=gG`orpM0;c3c^@i`D+l36vdMNWR{} zAp3qCU?wk^u_bA`A@ZOv{!=R#luUs8&DIoe?Z6)nUpkTU%Y^KcW#$dzmbws5R+Jw) z*w~*}u9X)iY{-`@1C2$+Huv?!v#`*8fRto7V>QoDClp zxBI?wt-CuGTcT?;FaD!+gj8b$-7{b*1kzyo&DyU9G3qY8iOgIW{XsE+;WJ?NFdG;g zGITWnP^*@!YqhPAo*W&KzD-11zuqiUYL={M3>&fL7Cuf#3xs=jq97i_+w+lRE-M$JdXSpra6;|h-!Ce$K`T>E?DLD=r* z)v6;`y}f)))S<+2v##4&;x8?=;QFzu%ncq{vC^>SgJF}U>RF^ubzA%w`_7ZETI`GC|FW<{^2=@uolai*Frv6J8CEo9TgmCk4Y6y2GYkJud z;h&+%UIYD-@8clPht-;d2)$QA5vVqT!aL9MTd{gS#|y5eA?zeER4j^NNkx{SEa{sz zk7AQ+RK8+j^iJ43_Kb&0tW{FkaxCT%qAr}_@5+#|228(h{4q4GTfOe|a=}RXNI%L> zv+&bVhd==mZbyh_Xd%_HZv~K@IL=S?94N<08nZYr0x!8zd~UtLCaH(Tilin{nC~e# zy!|dXhUW}Mu(TDnR9tiR<=A1f`wI8=_CoD9Z{T@6;YMxfxR{KSi};S6s0Xk~$OPQ~ zAWq~1?1W(C>;!%)>al&h=u0SR+MGj)ErzF8sB+rtk$cQRO${&f zpQdrztQkn1o}HaVM-j_K$>Z3`^?d&@;#}-Xm&ih=hOLiHAAXvAnq61kxO_X*eTNI1 zQ#DBPw)boI?v#5rHa)CyB!lsW%$nzE9TYVF`8H*kiU3V=3O~N1?rQFzET6r^zoX!T zgrcVAt)ogBN)hrhub!M_KPR(BNIP*=7A9Axg$OP-E(T>gUee3%h&^jdPcqoHOq! z)^bF$L6$Hyt6sR_0SWyWt5p08v}k8ki>=Px#n`8#?KmX`dOH}4+aI;hXJxr>yR^ux zo^+Rn2_bX_I5#La{mNhC;%xd^+ADUjvEB`?(E$@I`tK<}aeocEW#;pK8UF~U8u{JG zGa2bTOa66c!VdCcSF%u#`w4E}YddZ_5GH^Waw<1~b@%wm+>_!xx4*x@yQ0P;!vthB?8mg*(}mj`{|u6%sRcXqvjGha6{)k+*9oEC$?g+v zx0EaAT1aGUP5mJXm`bIl{wY!HvC(B8>O9}SqtT6O1db1uR#sY|^|f|b+a+h7bU{=! z-ewP;Il2gftMDe(6uCDUvdjZB^(RZXpkldU0~2{vd1Rqm>}I7@2_#2HR62V4m))t@ zu+Ulu1eNlvGHoI;If;76Z{~aVy&JnFd}mK>x@YQV>0k&jjdh~(>Eli054&dtT`}r; zzkkk5R0|hejL=luC9=jjbV(6NeQk0Zi(wbhs#*E@%)^_CUzwa#%W?j))b?0E7B|AS zJ@w7{d}C0kHPy9T>XYy$%Xqx1_$wj0F92ufK4EGhm7`>7X=$k1!vnUtWx^z#y_*97 z&_gdpY^>K!$uP8$`jF;*xOb^SWi=7-iP@B4eR(nBrVc-)pwfn^MD>4I0F~Few{Zs} zKumsw1gF&qU`c#o8ak`hj$f+WOq78fn&!7!9;>!BW^9D7f?{fN7Y2=Z&Tm`5)?zT; z{_`gvc9OR>nKmgtHkaC_F+q2ai!+)iC|cp9J);Y~&jfr?aYNj_;^bnIRfxC^`7^Y6 zY=CcSq%ktqS0WeX9e3^imny5e92wO=CdnxnOghIEj?Yvto^Ste-1b zf4%y32KaAQq% z6X*X)$J6v+=#J&6lO|l<^7BQYni)PcdeahqrSVf9G65v^Ab>#OLkhIX5jM^)Av)89 zgX@vMAn`F095%-WlsoG1D2`<1gqefGRd4j#!hK1WWBli39YvoYg4`D|{2RalaDZ6^ zxzA$%XI1ic%r7frAwa_S?`k#J8D8X>+GrJ2y8r1&{QMQx1|b@vcuUPNuUv<0V-DX- zEZaag<}oNy)?83fUshDy7E2#;I70}~;(!rHa2mV0Io6P(D<~|+1kZjM<0yotvNg`z zP@Q~m`0IT-(g8G@t1lyHWiMCl*JX!n9A8&wzY0VS?L9THzs^B?gTTG+tGlX@;0|7~ z&$u5g+8%wy{u&U?zW7mCJSc{ODpXk< zHCE-@)tv}5@za#0KeJ~o6-M|&q5=Ly?*vNo+xa#A=qw~%U%2H(%7?>(Yn8%4W*7{; z)|35}6jIKA7jbK5NEYm+m{h;;cDT9#O`D8tEofZUXKQU9mPpd*j*FSnJM3O3mGU4y zj17lT^Bce~+b*@eb@3I?aeCnDay#7yo(m-ia(=rIbb!Y1ze+g8`Of(vb`BxmA_M}d zKC<46NYVlnCXUaJeRRhf(pkrd!gt<$nOhuMCEZ`6)-|^=L}xoIz&DV^6EM!M2VX4Q z!O1UHcTVQMl_1b@-TAF|sveyqn8xZH79Qixlua!q(vpKU1&sah-Fd zBY?d$6p(SLUn*tQUnD~}v+#s03^r|up>2!&M`5B7_!l#iZovZHX=%!`!3=81SfLU& z9oOT#9UjMvK|_~n%@9N%&aHT^8zwdvu=)3_)MVK#k$P7UaqVbEmh5NB1>VlCP3MlL z7JgGi-qbPjogF?1W%YY(+ohynqnBED^v_E`DdK;LYCiF03@`qW3JCH$fAa6~UxX{R zgQ_5a^3nGpGQ5P13%PHfhUI0j?g6rh)`Y|Bbrt}dgcTD80l)*$*}~6A`r?jCPV1(i zLEtCJPh0C=q+&inzDi9^f#IJmEiH4}b2?aANS#m!lHp@dmvu&7(w?&1;Rx`p{cpNk z5P{zmV^Vz-bOdoc2ew3in4#zV0EYO&s})`@WeKkS?T6hzOBAp3k2AfnK$C|&1on31 z?cP8Cl4&2$%rUmhKuzM2ue$p&zrd!=CbW@4;l?!eNfgNa^mjR7p1EvcHaX(HYglf5 zRzTqe+sg+nc_moqUru?s_}&-Nf-&r*zqQf1U2aIXP9~1b*B*gWY;);zci$L&yPUv> z^-Rg)eZv=aG@Mxj-3hE|&6Qf2ztm|;HD~t1Z}=i{+DFG5e{{$C;1#Fi zh&H1f8w^X(V~0--&x!c;fEJYB z!Ij~D$DDP*?WBE^i8@1k%(K4TdO<4hE**q~`h`s{#j;8b8AD~b!e#=%QSfx` za2)CdCB>EMR6P}}P7%^rRVJqf7Xd}RJXAYs!#_fZRcZ9uvS5)kT%IQp%?_R1g0;2) zwX9R^b-UsQH8ne;Fx|f6I`B@l_QXa@JGR(7U5%yDql28u6kHhsSa733gDbHjD`}164gIGyE%Mn*vMlP_sRv6VSRs`tetnkgVXsfv5rfZ zi+vjOJPCL229}?~!!A!Mgd|0P7VY+U;8U!#Rl?M*;-dP_V~$mWM(e~7 zuv*#7_ta1#*ZBXHS^s}_a6edU0_KM>L>Pi1Ipwqsoqt}ISMrX^b=WUJ@4!}(>~H|d zPU%T_cK@eOv4H9n8DFzbGny-w2NkllLn0MsVF>U0D^2R8ZRkU15#qPbf>Z&Y%+cM$^Oksv?*9J(WY zxx9H6{@Z!Uvw^O;r=c^UP zd0muE4UMg~rjbaltMJdTq}!zxwi(IQO@StlCW5aHl_R{deO|+oFUs zUBYPQ$uOFVaL5;73G{a_bNe2uM{C2hQs%Jgk+r8Ka6%`fT@#NBzO2`OpZ$OFp}I6u zDkmCSXb|S2a18yR;{igV^+Kb|2p}oJ;iq^R$7H6augspR3Xq)v$UwEpxARXU zIPwov?AN~~q(m;0=WMm4iz+Q0>VIMal3{qyf7VP`&K}Jk=HE*9{m^*m(%-;REU`FW z;C@jdYfX{aT1h(`>l9uM+w;R&`|P1l=~0LqxS z@gDS+k_-_i=R)}4B0b3Q55K)-0d6M-fY}wNs;TmCx)UjP%cou=SaKV_I<2mRQodBu z!2~~taX!+>t#b zMmYf1r%gskI7iZ82{nXNT{QJo1aKdait1D^VRulE_skwz3EnK*&#L0xf-Cw`d*gl|G z^4hFA3=+!F&GnLc>e}Cwe{3{{f|V!Igu_(@#$WWTuzmM!;V z7oOuMhO*d_yejpN>OB!Tx(;>{)6AzEjACeUW9qqb6oGF+V?L=qg}i}L>@pRggvJ2}a!V3o`I{?YfVWqJ?Fhk;|TlyBUbwG4R71g>^1lw|MQh?{(3L?X0KpQ35aDW7B* znr~YiKWe>BFV8%U>b``pa;&C@N<>-{^ND&0H6a%JShV(RjlCqH1`-{_(vlR@@shv226QcXRiM0@+Cqe2iLTGbZC3IvT zU-y2N)IN z6L2pYqRhp@WB**%L$7+C7NI7XVpZircuvy)U=+(GA2N-zH^}9^d5f~nZCC2VPkL$! z)F`sP?rP+VDr}C~w1Qy>wMU|z5A-wfauifsOqzjX5Z0CUyf2){Aqatl9Ry(cpcy>e z|64Bswol_83tL+!ySxs;7|`^lb=`;O7JIDg`J26cZ>P4%$XH5Dc~%AtcUH`_~_qd>mndTN$RH6b7y zAP20(=ZxsC?P8AsVEP~=>Y{f(q|pbU@17Yl*Eoc}x957h^`K&gz-PzYN0n{6PEueL zsIGFJ7?%Bb=d9g%EM<>q2O$SzGvU_MeNPWUWgB}SM)8sC@~K;Zppw8YT>Q`u|QF;_*lK!rnX(=unR)c!TRBLio}w^Vk~sh z(7;Sjf)`rf)9!?{A?kySD~FxiRN_g7Fmgs=Y~2tQRsPKAlpn&eS#|ock~2S<;Ax5d z7B2_=v(=)lBdf-J0k=d@?Y=3uRf9*#F$bHc6gi=$w9WR3?O0XtK1>qz#Q{}J+ z1pnH16ZXEjzJQ?==Qp=> zpDNPi8{F#mwq>E%t5M^)9mMAX#{Zsn3ps7=crdq*4FttNH0DLYQIsPGS`NooL@Fm5 ztc&&lc`F^HbSnyXiMRFv8l82jm7`2jP8fW+1G4VIq5BTy(@kN^H zkeHM(l{8|Ym~n)f1eKq~mzoJ#kKYy9bmUMPNEg<(6QxGI<~D=EXWQIfRAyY+aqjPe zn(=x8{S#Sbaho?efjMb~Ub1tpjnC$#0WD+kgsfPaH_`S~qwQg@01Nbpy+#^HZ#bC~ zK^uc|rH>WMBJXJF<@H2Y9P;S*95MY_0x-KhN|4)nHL=7ybbLq+-H-zm029v1L zrWvC%ujF?vdIncJ<$p)#qq}&HPkDt-&)^~~kYSbj7N06hExz3#d)X+^Sp|8)6j#bUEJyTD-< zfiGTS~LoKS2dO8u%p2xFiP{PJMN^OD#=1R?;|RIXC*dsi-ih%4yAK_ zEXQtQREh;r)k#>jg!9@Ci9DWw8_%Sm%HbIS4rn7Coah7CB+wmTv2di z`m292QA_vX0-XqZwBuboHCthGUYwd4!Y!C0ZMhq!yU3L@@KBX2?XMPAizj=Q z7>!_gXH%xRx?~wifR9?>fZF97yoqirLVFfl_gK`*ui~jl#RcZ_dQffr=PQ>%Z z07ZCH;_zv_AoG+<_6UP&_8f6?=-erb$8XHC3qC1Vq|D{;g{!%?9UVW8Bc1=SA_gJH z+0TssEg_>oa1G!6v3UZ4{XDbqr}p&vY59CHR*gj9W^L-Lkb5v_N+x9^mQ4m1mk5#; zhB92ZeXhy>1CdYCip>;|pwsWTiFR2r{ucuIdT_<(s_kwVpkqwZ((S)#u_yI=pI!)i z&Cg-=YR=l_ln+xzUP5bv74T$Kkg(>w9!d7{muB2wKt-`t`fOw$e{4rmtEQUP*sYya z7MT*V(+GanGKuO#hMk}CcJ*>#vLhqoSPST-eW}bkLFO1MbVnGp&bJOiJxBW>rWa~H zj94UNrnvEF>CHr(UL#-SEza4w=g#e@#6j=*0lN{xmoj3 zqq^F9SAg#{!HKrfRPac))q(hfPy4-Zeh&b)GJdYT&aUwTmIjqYU|$xcrZv<0M=Futw%_o-nQ4biF?re2$hbwt-gHj z(Qcb~J4Hi%eq#PALxpjfVr5Io^Ll{AjlxZyXrE%4PyKhO^;Mo#t{s*D5zh+_&Atw89qsI^x{Wd- zRY(c|vIHr3oZ+qeMx_qX8}nq_$bj&i7>tjgS-cb-Wr5|gw%TvubuTW6tC!N(n`kY- z)m;qeI1op?2yaW+st#x)K<2*bZsKC{99W-?QMc50g&*j*BbJ8wYK8!92Mly>-`+dX zw9*N@aOmmsX6pn3Pn30riYjSEisZ^Op}MeCeEh;@RdgFbx`htNhgKT4$T3CV)bRQi zk&(0a-IB07@}=bDPJN}$_?mi1%B4-?P5khTk6)cE?%l5sp3-Ti{KX-9!}Qa8@G{?` zK~sM(IM>>Zx*b;A_4z&EZA~|P{6?g8it464nf@gaWHSHkWO8g4;Pd%TL4lYktZojY zdl;&Vz4<=S*KU?ASGFbyvmYASIaBC*db7Ub42)wkC4j20BXoUq@;rb!g#cGr2IUx& z^(GPpQ(rXAbqU5{yO3votj=+};Cevy?IIc0Z7?#}yTfaXZAyJZxyR%9lit%bMT`oA zffaaO>yse&9VOl`9{{r)Y+HVM%JHVIxVDb%_ppxlu?Z%W_*%7K=XD<%$QT7p)-;4l zE^IIEhH*-3=$FJ*>Z2fuVL>T^7SvQhB!-L=fs9cL`St!X5}@LPfELo^ZEr%i%4Mt8 zZgsb0V>$T2a1cOFP5ncw;Y{@OY0$?>375t*Xk(kjf1~Pd>SFRxU%dK*4e5p{93;dj zUCh6}of7A}-N>@|j{bNI1bG_RE{oly6>qU@(?a$CZR(mD$m~*M>P>oz@4i+}L2JK0 zdAQ!^L$#?oE;af;s@^#|?(dBjp4e*GpkZU%cG6glZQK0DZqOK$#@57EW4m!<+sQlW z@7}xCd)Au&=lPuH?6c2)#OwCdXt0Ue1rk-f)beOad>^v;@T#D^aC5^l(VYiz&pG}P`+`;ut z$)77_?96!nCvh!8+EzZ?&0Tt0EiNv@z0owM;d+;pCgKjTF#Df7(q_hAi zQ-J0VAJRSb`{k;6ReySGAK6T12eMJ6BkAI-nC-H8u7!X%9fRmI2ccS1>k8TG>=jj? z39rZaFMa7Ur#7&qjtlPK9wsoH@`f-ajyQtP$du|)NjbQXkn)3m*Hla!zN=i@)AEB? zexi;LJnwG^S&kvwo-PJ|!afV))hI7dx0;$gyOMnt@?k+U<4-H1r zyhE8P+0mp+?{542=u`QSL5$bG|NkjzD8i1ycI8>nIWhjz`+DCoIUZ~l2{cJc<`NZR zlrS_I4>H6ahnK zSpo<|fIIK1Km6&QYd0Y;&h~lL#n>_Pw6+MjYZWQih#S!^xR(g#VE`H(gM*V}?P+tZ z4V;sT-Q{6%Dv;?WM?a4#HG)QICAL0}M7!Gia}X|kr|+^11j|0iAC0LRdA1neyx|YC z4}lwnJ#H49t4CusPyhXDe&cEH$zjb(sJ-Q>C$^Dqv1lgg?GZr?{)lJ%(0pv2!W~mV z%!h7)>lcG!5@`Y?{GaQ&Ol~YGN-oepxFp?6`Ct>ZCk#Xw7scqe(t2fw}vJWCjLXkYbNSqa*7_Fne%!i(38p7ysV1~~_9pE6Pwe3^O}6h(EZg69=SRX+b2+_`z0$pW5L zDbDA`_G1RsMDM%5lh#z7B`T-?Hy0p~e;Y!GXDa)YDcWmwbqqPrODuC)JD|+l7TC+u zZ+nw0Tb?ps8}8u3YY;|!!Z{@SH&Vqs?BF5 zCCF^#*|heX%*JZ7!~S&C&qP4z&>up?5gD@pxFpgWzC+@ylOCDBjG%v82`rhj z5CRuaiYHEuRk|^Yb_*}vD>?6qD(8{(6f=K9^{}hi|5ocvMB3jzqHj+W^L}C~$Es0k zH!wBAHDY$>y}=XgA1DF~zi*4X{qqN8Pj#8BRx;^MQjqf02;Km)5Wbo?Q-3urYKSe9 z8mtSq3J@Y`JaqJ-1sf8=Q4dNy7SwPKC5d4cBXv?p85Sb&3-?jsUwcM$K;5qEhs>Gh zX#PGE2LeIqly(#`39>)j$z&0Q^AYcQ<3=jtqZ-v9`pAtPN64frG-Ct*gcg4(xK8&t zjmuczqOt{ z9~dZmYWVm_@e5MMg2yrdp%V+;*X#D*Hr^%I^p0;PidG0Ts=AzplvvLU@In}iXBvn# zMO)Q+kMd&0nHkh1$jdm*kH{mK8;scYPobGaTWaLsS*m-F1B0(H70$Oz$jMD^i$;(s z6ki`W_S+mbV?+>tF$A-E-5OP)k_X_oM%~{tt+rAwXzVXv3_n!ZY4jCO@V!5vZU-uw ztpL-(mG~oNI&C-Isi^ z=`{zUA(L|xR_O~frvJ&gQ=J`LIf8!H#>T*Zf|)T+u(d(cw$1w?7n*}SiYCQusyQ=; z#B=sez=Iv3^JdV9so>jJQhyPAF&xu!lm+_R8!|5!bH2C$wUY6c@94 zVT>5F%EG_rf~YhP5m?h!7B4#m*$I?;vG29gR%DMMYinb-oqF$ItX@QQMCJy0nmg0c zkKV<^^~^8}+NAuH#p3FX)Eb!=w61{a3NV=eR^Cdk8d*ZX;=WV$icLU$eV~(Onu9PE zY@zmh1{S%{DABo6_T>FY&#udPR4axs4HcC09({hrmMyI}=cJ5X303f*mMpMYP{YnH z<`uP!Cr4w~P-nX!LUWP6BNb(ujGW}dAn$$=n#REJSm}v9j-8exZh-jN)aEdab-V?k#+vrd|90Y%WBxTo)v8d0)9?tyRQ)!HGW`C8 z_{m5wUm~_=XT=9xk$=6$wubYP=MmWFB~|oKTGtx;5UwLsBx-bQ28|CJcG*4y`VCog zw#{t#CWZjTH{{?s@O;deHpI+>tb=%Dcwvb9IR(uuo#lR73!QD}CCx^sp{+M*R~#|M zr&5-uYl}nyy9|U7e_ob+8Qpnnd)C8=wXVlQhHPMyKxSA2!aiNMn?7+iIY-9Zy7s?k z(DKzV(g4JN`>6B$t@KWdzUpdn;1lNxPMfI+0xVSu1GX8xe`XmcziI{nC$lpau9QGnBAqWnc4a67&l&(Rh9w_=`lSM#K5H04NrHYdgzW4%9gsP!oBduGt8I2V&fr+(O0b)7&rRoE z02fLGPb*2R_a;D|t~WK6uY3vGPc*BoOesdD)v>Pe`5I>czt=bOM_eAUM!Kg;*W)70 zCFM}O-$)&z+iasUx}wG5ep$1P8RlW^_uvDNLfJEp7Nx^z5~S1R)zwkJ_{9v({d{ZI z!EfJ*Fmn%?4Guf&*HTQtC6D+MffF)p!%r{2#F&%o2Ac%gYGP9%oJ$ zm>iDv&g4y6mrqK(o66s-bH$6n={m8cMWBUow_7QOTx=Fh@?JxNP6sP3)C${W-?3pV z>)_g@NRCF3d&7-V{D3x_4>YBok<&>lCp$?+31;#k;{y)3y>=D7^66=1)7whOzQ?@l zBI?srKgP3*oc8fK{$m007U7bZzA}-Q0L%qT(iHCRpnS~X=}rinY_sL9DK<8OaRC8= zG}@3_%m48+S@B5uU~n13CCiU+Cf|!w+_G7BEKUMSybYOqp*LRt{H+v`2t~)cwU&Ddv$u2}FK^X(I5kR$lOjFNA`X6zC8FfkhM%F_BLygT75KRMpowhv zbk)6?H<9HFB~HA-qtWP&y2(tIDYut2Xw!pX42v$NAcya8fQDJcpW1JGR%bI)2k9Ee zK`@!!QSG49a>qVit(J?NWM5>=@BGJq_f(oWaUe}bW~eSHmG<>=FySE)G7+hY~0q zRo?@L0%7SLZ$WXLBR5zx%wbsYQ#o>p(&JHI5sv8rQ0SI%i0qM95^V4K@Nlp}zYF^m zI~t2CtK1zj=aqRX+i$u}CvBuI#+qFl|21tv-@XEuYy8*DPD3(A@jRneX$fBecrevJ z6M7tEt3lT4gJTcQ#cCfg?)k1>J7N}_9*PJC z|CkiOeNkCWzforz!v>1#d>tWuS-U=f2w#$*opKDSkXlLxlHc1#l%X~5C zU6DzFs4GWdXkqN)4C>0=kSd!yLSE0^VNAf#L3(bSM`#V&6opJoiz`@3xgBV9;|XeT zN971z*5c0=utorEU$nT4mb(8F+ZD|I2-tm3WpZfSMeD5KWH+_`eYrO1>U}Xyyj}Q3 zq1^V4;&F?A_|y#BU&fHOdb#aP{ONC|R9O=tMVv$mYmOYW*~v89EBAgkLuASqXgspO z$YFw^-)$W=5RksqVJI^sP-DCHT!v5p)Io#uzAZsDjBdw3icP4uicgwA)5kyv+mfK4 zLMO}hjdww}wx6SySxLs%guEe$6@E%^A(0~X3e)64p5P-HBAITo)n`HeW4fZcH02!~ z?|`s8lSkK$gwY>%M}3Yi~|$|K`~7z)4U>v42`U9W^7pH^!Oa?SM?lXWL71_)XR=_6DrlX4a>!qBG6y<%rL z+T!4yyHaKLA#W^hn-i=w#NM{H!T`oXsSzZ5LvY>lUEQz%6o0^}M@SE}7_*2JG^R#o z+O4+By2j5>#-`DN%2m?n07Twq#<1ZgWTcuG!ztsj&rf$YAwr&L%8&%|g%ypKG6KD%#^b}E}pUZ-! zqg(PI-K#VX;j}r=?S|`}+2!-FE!WcD=Hmdk@AYUz^cYit>5*Ud5Y6f6m%Hm_B#@%HMMhb>^x-e3OK#WEChLSQ} z^i^&G4K+q#fW=H&0?Vp$^zG`Oa>h~&CQin+qg{!2jpvxx^1_4_0mZ|mr9eA_AXC*4 z!y=b6g5QGQ5wiDW@y@N1ZN0smtl&r%yS=`I%l4A~_h;h~_>E4z<(sYktn2-`@7n5g zR;e>RtIb;W9`145`xOE*i*8M=r=W*LqLQZ!OZ}i8&O#EWA?`(w5;UihS05YY5|o+a zpQy)A3eEZyFpd3G9Nc8P-&kLql=dy)|LD(275H zqUFY29<&Fg4E5~Rh`OF&);s>HiH)dRRdx%X3fR!?EEW^L0`QAmarDP(VGMACMLJ=Y z=33ouk1|1A4GVYR(tUqNHDcmWDApQbZ;^8dr`VAPS*ofpLA94fr}r-tny4NW-oQwT zhQ6W+FoPcg<7LNOX11r)xmYwMRUV25 z=K+B%-Eg(Edmw!%xzc0%_3Q4gfc~dll=b~o^*^B2%e~my%l{6E!_g#mpW6SUt}=Wm z?t?`mmmn$L|g^)2L}k?1T`dHWIecU6i7)w0vFG>BRUQQgfW;IMP8%U|(jV()=d z?)=ztt<8&-qi8ZttN=2V37i5(h8ARkZGGSu6-uk0`4FuAnld<+jaM67v|>9 z-cs7&JS4+t+2RVnB^w{>tOVTSR6vs%rv8?RD94~+Y~U z5-0yaVASU_*06{I4C3-tQ>W(tIm!=3c~N@zM~+K`ej0(B-r9VR_98L4BN_ea>yT zp%8pCQTW73t{h5Y_vGKKgx3%%gLT~7QY`88%T+x8?uJ6Ke`xxZ7dnA53N!ob5m^R_ zEM~fHw_c72SHAn}5AiV@r@fL4ja=QR>R_8S(6za8eM$<=!E57t*EX>&TAN3Clotv zVlVlx0F@F9JFIwRcYJf=R}}QUaP(=Izjc_eQi=`U)1K&Xgc~d{TF^m7P+7c_0l^sH z^(yN-Lk4VRX69WYTNDOpLG;ce!myT7{5LHD9HmOoWqj@p@b_$bj|2%2I3w)v4g~LK z`}zy{zo5=AGXgL8sjurT0wD*Ta2T{3oCoT}fi&szIXr&uw)`}OrIU{rURT43bE2`I zk4vF6`!$`!KZ(oB1;&xn6&DTS5EkcrJ#Z$@BpQeYInH?;!S9{O73dpt@4PLyx=hit9Q1n zd22e9pqJ4oaYY~n$&9w!e=?@xSJ-P#>4-(SETew})h?rDhVtR26a z^Mq1d+c>PI+rtN^#c~f`+Pbh$d$=>d-{LYuVDbE%p`TJ&E>V%>f-`EYEz_qBIBIOt z)}>!*9#p;QaP$64>>oBXn1B!vRZ~U^{-V>*M(DW_M?rrnXA+A%hoVC5lWKv8w= zhcgIy+Ho@$^FiX9(9AfT!NPeEWVW_^Y@l@yRe!VgYSMJJ97y0rj2nolAN2L$T=Tu} z9hc(#Ny`7>B@t@UWW$=?vhVTQ(;8qRjCxT$CZW+S|CxpL(G3Rgq~Km96rcqzadGo$ zGHAPP&Ck#0(hu1AdkmK_Qx2*T|0zqG(vD^PjhX%k7C=&xp5)8IO+?54+8&f$O z{cq!iuHx2X4(Wd)L$VPi`l6y+Ls_4&R3X@rm*lk0#Dn0c&_ninkkFYgM1ES12xB05 z)}X65>L0dg`d3!8pZwZg1lFV&RTchuZ`I*EXtkL=+*9K`qE*t?3F-$rxsHd-Rs)H7 zchphT>Zd#c3oHV!T(u`I-!GCRJ--okOC5USa|FUpIa?Z-j))dGx|LK#c0)SKo4$g+ z@qt_BPdK>wW4QT^*?3)~hEb7)cCE&Xbce}l1GrqrU_+Zzy0p|a`yzX-w*=(e{+VU; zVO9sabapZ1@y#NlG;+Cpv-vQCPKd-eDT6nOtK|Z`OW-y%Ewx4OCq39u{nJxI-aL^uA(62)!)Y{wnwUQP zzR>uaFIfi9xlT~FdB*Igw%7Z!)yskB)6|LWvWFu9n|*`&qIcbRqG9bu6$NdI47&A{ zM7`YlSmK_eV=i+7s6}XDt8h_k_Vm}gNfs?x`|2w;w#J7J2xjug|VZX-nZz?cmka-i2^-}@U$#+RIg?rUTYF=P+ z%Pn#sxz?@|VbE-aR+I@{oE@V~K5gzvfaO7`_bsCsEgPZ;a{RHo#80o*h@m7a%k;I< zP80}eTMB`^$hYo7evXH!^VjD(29{TTCK4F+&M)DL1wIq57a;1_1b723w{Zin(~Jq2 z>-yyzJ}QNMZ^^A_Z9X_b1UF~@WhiE?&&kcK|oA>U<_Hd&LBwlb>NKi&F!3u-6ha>HH0`<;szofBu`m_%^@ZL~WR zcyA{wPHQS;an@tG|1`($I%(b5*p~X}s%#IJs&!JHK=F#^K`hKs|WJt3) zmaXi&8xi$D)<@O>{(Z+V5H~xkFiI{e#m-!u*l7LLX2gxnfFn`qG$&ohq2)Ol=U7>r z6JRP%U|dwLtjT#elLjimZ*=qJ1R%%93EZNg`M|;PvDR9WP%358=RBNEUj9Z$6h^NK zn46$sWmf1)%FF zlROs~2UqaofgsS`?>LF#Pdipa;1XnH16z9$tZa;%ha`vM7GV-Zs0aw{g$A_#ACJ=L zZ(2&~5Ws26sf7qh5`m@#{OXvC9e4VZmHT62yFZPtwk$J`CkH+21sh(=IryL;+3d!2 z8Wfa=K61kb}Xd%oyxYYEMZ35*OeXT(>vjN5&nF>FL=Du$Uol z-QLL+H|j)M&;AH59bolKRv_o%r9CVp;XzTLM&zxutOJqKm)L)^-LV}VYCzqUJ(;5^_w~D;8nkuN8&bfl)~bzw-C`9o{;z- z?;vFK2c?4fP6ko!jLdug!?(DOnF`G3k5v4^CdMqX3NP{gB;?4 zk*3Z-pAsuoGHjZsA{Eq?B2}7SauTzn^FU>AOQJh9d^|17cbzqTMal)+ej2-K43j)O zUQcMASnDGH3DR9GB?)%w3ZD;GQ)@GOEpsgK-;UvA!?|Y%yT>%82Qj8B=cy(Q1LPe@P zBziV2jdq0?RW9;;s)7_em?rmqGxFfEU$CJTsbcCF>+JIN%lw+8A0%@yNM-p|;G zhAoqDBelp8okC`r2>VT_lmWIKYwKJ7(0U-h>{YTVgkC)x#1d^x4m*NWQk8)B23(}t zT@>G4Oy?f1RR7G?0!flgki!=p>b^_S^#`0XM7jkVj6dy!m%Mh+qF_p*hL#qoD6W|; ziUp|^+WGX`rKuu!qpppdNL{l+^!l;4<(xm(C6GXatNQQE3^wKNrsN@l5VErlgc42G z&d)A#bwW65I~vD^<2W0tj1J)C$Ut18+sht-W^4r@PVDtwyz)3A{nIEbBE(z}FS8)J zFf^#_rzK-7EkLFdJXEU7ySa9~nfm|c0z9f_5`bJ`C=ZU0M+M&?{duG0t%NgYeD=Lj z?e!9dhle0e(u?&K<0)=;=#rwpZSFf>5b^WGxu7?lF`8M$2OIKdI7H$IP*KBNKwz^t zvTl>IelA~l!aD^fCHWREy|%r5R(|wG$-;oaVbW)XhgZu(tcAp;!6QBu1aA3S*lgE- z0w0ZO_J3$lV%jTvIkw~y@c4>?cKY4%J+&4`z^#?)x#Q=>34C3eN?Y8c zqCA88+Xtrtdi>)kKV(V#C;Jn-yk35L5KCbufUE5=E{v9DQW<6Na&Q19eqxCW|CK}} ze?mj~rSzLTrK&x%2U%D<)uUpmo~E_+tHWy|TSx&@r=66q$v|qafQ$EYG$OLE1Z>77 z$rp4=Qi5#I{(pO97y!h-7SFb9C{gG;5N8D#onL#k1W?O{b&k>u%uW$TX2nj{x|$R`-5Rwhu6Cv*45Tdi{@XH zZ^((eey1JZ?d^(+dN7_LD+rFkTa3U?_eB#!yYU~9P==l=daR7*tR5Tin_Oa^Us2|9 zIcR>{WWU;4kMmaS)X1~B{o(U|p*kv9>t(D1xr*Cxt~J|W+p{#Blz~c!6q?vV)Q_ef z^%gCR485z&TKEfgoMqS0wL{&jEA7e=bim^^!&T=yUIr_kl_l_Utr;BP`$ZrSsg?{~ z($PlC+t}F9)$+6mB~hH7`KV+VHRkr^weKM`njanSf2hMD;|{LQ?~eq}x^xD`{}*As za04*H3#+-xaX3uI6+bVSsRcFqtv>~LpxNtXSu@}p z7?CRPOJwE>H9Am{p@sqsiZ-6LVII#35%uFVS?SEtnX)7x9ZN+vL&xU1XzkOQEl)X7Pnc>CW!e z?&#jRmRE%nJ+@e$WIt?8Xqwe(z2N)KtF&0KY(oRD!u;1Z=>qNax16J2=mlje`t8Y9 zm^*}R=$btZt=2ecoj7bdSP5SjE3`p=dPM_wxhF&cr`$7zE8ljxboEjo3ILGJelj;d zyEJKmSL*uDdk)RilpeC8A6=NLL6$| zKac=j4UZ>fZ^e-xgdc|`0t}pMJ~=ctH!W{JbT1&<=8yx?Hhz})0Gh2#Pi>A z0s|qxY|6CIy3Xg!coc>iJVqOoCd?*Vj_~L&KnwPFN0pIpi>%=UVM>Oa=uWJ39GH^f zdg*;_AS_Cy3Hoj?k+BU)KyQA}OZh31K+xlUrLCzAiOghr+uKH=>*X%L`VFsG4~5<} zjMgLcYnbeNB@&a}ST8(c!JW2u<*v6Nhf?uzZ~yO?0VJF?=Wn(~HWN%)+}`}$Q?Xd= zX)TI$8k>-3@~`(F2h0-mVG+C72oH!?U{bAUi0=T3ZNXAmd5(sFDDa3k|Ej7+KsHEc zK%HL!B0-^;+?s5G8waCAl)hj4VL-PK&O8lWKO_-!q{;|^^(H}nI{t-zh6g3EJFN`A zo;?(A+3PrVRIu&&bm8(+tEUXY_T=nq>~!Y!`yv}2)Qh)ncsB1W@3(0Q8x3)M;P9ns zoeuzFZei~;#z89s!TG})+~jFgu8nNDlcxD1j=yjF`|+glRMf7W{Kv~$6DH(AT%1j; z$n+1v5cjm_m=ocKTeN*Gq4;k7`!0NW&wm&%=_O{4!y}(d5lM`*1_z-7fjT$*9#;(A z^AWEIfD+M(Tw>n0k^EFY8|Uc=Vkbm=>X=LB%WVu(h#;Zc01?gfURv~6aa<;Y)>k$U z_KnUbT^H}o&2&|vCF1reJ0v5yb=uEe>@oydZcTbZIG4UOxJp4g5;a~M6PoY4>hh-O zb31OTcmRx{?~PWc6B}(*E@H=8?afnY3jA+ROI!w`O~w8w6Z9x3v0MRnCj0IZlV4T5 zcD@IJ`yIT*+P%JZJgg(=IGQSOekT1mdDcTDf*8|d@Uz+KB-2GkBPCRdwB;f z)&B4M4`yi2CC^o{KTTw@+Uq1$7>bo;S0PP%dSMp*%nfcbCe#|1gd97crMkNFYip2u z)wSJ9Y|nq2u`<2h#@kyx+%5=2Q{t15X*()*dZNEOV`1*9AQ!#@=AGBAGXXY>l^wSm z0p7lDH>M`Mm<*if`n4|Oz}IX4|D?Qal?Sdw)rew0SJS0Ndv+q&O#VFkyhx41LHZ*| zv)D){l+mDN8zl60vlMpF(l5S#iQX6W49XW7e0%w9+9!I-VRm@uR;lxoFdhXbmKeTw zV8^)Mp!L4BQ%bS>o&&vfv`6^gmSg|ha!H8(y|03Iq2Z}(KCjbWCYYDLBugDz`AuDS z*C&19?A0|%FkE=UZT#w=_z_GFAnCOl{{{uTw%pu#t$jO;)cS>S++?fk`Ox)(#e~w6 z8`P(MINI@myWxCS3AV|lE`dPkhErc4-Y73{L=qx{1{k;gaJiaP4lK^3oKc<>)^p01 zFu&Zl|KiyJw_k)!y2Y==V5{VaWV}tQV$V=s$XL`us8qZtlaIdUK9tjYG}t*9Y1D& z6`@ijP)%PgM7Dh%tI#8J(N8m+ z&%v+j%k>+4(f3&;N6XDhXwYTKSX`i(LA^zq#;@2xp^W-1u7=C}H;QV&Y>rP?6)0W- zoAXIXO=q!^NH9C0Njz#3*++wy?7oJKP2rukMp7tkWjsU-t)J{A(bYq{F$Y@R+c{yG zARRkK@HYs|WA>xUW=jSi-11|YxvTRP4v8LvmNYOos8P5KQt z1&Qdx0e%jQ-9eyZ%ww4Rve`eHWx&Lo4rU6(|IaC*O7f(=i1n-7BkuV3!UtOupV2)X zduq`Qb+SS)FSt|)Xo)NnRvX2ge{n>@eRn1f4?ry7G)d5_n_eVsSY`(Z`)+qb=!#{jSUk@rVNS3sO-1E+@T$99^3 zV!MotFc)2NpU0EhQ6Sy+`GljvC@>6bJpG4xG+bIUPOZvQtb!y6pX7v1C+^fz4INJ2 z4!ZGR2En&+4KtPwM*^r)T3{bIy`_vS&z#i6i(uLw@X+$UpNq56X}0brcjc5xpcpUk z$QtKG4bYJNrg#+BeRQ$qGJ01P#g4~q6z^UTbt8^AG(nmMlFH|tNaV}$x+4%;Uhq|X z2E~E#nnQ##=`i4qf!_@WhJ=~pl18XP++tKJ;2!hv_M1Rtq}m*cxcaZxxZ8a=cdX7Q z*el(m4}$R2jn_{F78Dm&jA?Q2V=*xa+&eLa2THbe-))JB^hC&%LW?L>;0+sY3K6+9 zg^PYvE8h0^B@%bETMRiA6<|!(GD1R-b>0ZxeewH(GU+0VmThy+XsV-gw;Os4bEVvdGa^TrmoKn?I6w*ae}H}J3FiIqHR9y| z$3B@?r9{QmMxkky04Db4J7?o9lmrplL89U}b2>w(_h`n*@Uk2u>7!it2!PCc)&bku zGqcd<+ZcubF$KYE-kdWj*c6RHHDa~EZOgM0LyuV?=j`&|OvAi@ymzX}9iQSvM5OxU zL9tjY;!;w`h$v`uw88LNGRGs|G8}2aB!Q==E#u9?OgqZoxA!+OuNOQooAf^d;eu4< zU@jp5WY!dwJw5p+NyWjr_nQ<6;SXf93)aWlvv-A&d<&>wopY42Y0iJ655s~}eB#&x z?!XTo3_nA#*jgsFJ5j2lfU1$~3=}si7Sfnss=ufIB&^PHyRy9a{xt1o&^rDdXHr}* z)SZ}bH{g-QHC)e5jw)Az!#Wu7v{%5Szlx!E$>#&BlNi6!{Y3R8fXKiPWyffxky_j{ zdL9WPVRGMD@e4t~7G5f-=Ycy{1jA8oC;v(#F49`HlZ-s zu~481kLzV(bqq*>2O#{qALjCz{Gw>9$1q-dGDQ-1zeA|>pOz$qbrc}5r272jy8gV~ zt;A?e)GBIMF}pXBT_sQx0dS>X&bN)ge=v=ZjQB0NbF4?$C9xzA9*gN=T$^ZScKe~; zlW^W@d(80iG`~n^1yNx$Qj{ct{t zRXHjwgDrCN8cNM{&}uX~U0OQG=h`^&yOmBu)?dW-uNGu@*YLl>6;2<~>~m$6q@$Lw z?n9m*i5-+PFz9{O%ZDteQH2A9Lt>1(A=>G69kjk5z8$1iU0U|AaUN}56fkYlIT+$O zlG@tJf!+270?g^uim{gJysqy8?k|HHS?AK~l}y*ps8D~sjmqJLGs_%VD+|-+>!iPs zdG^|@!ZbBW^W0|8ncr48-!3DBL|BWZG5yeD6>9Z}^jK@JptyYc-2P+0Q_CW975ATw z%&D`aWvbt@D_7tD22HC^IEsM`ed&(a`3TP2F6S}V9xizpgezE!Tw%V&&nkx5jS`Rp z%(oZonD=?d_}Nn`@!abIu^k#(IlOLDj=jXyFtN&n-3^h2z6=xu0w6X+vxP<+wsfUF ztPx3D76g!Gcp)CF*l;!5WJuv7c?}_vM=y}98k%ir_ZLr~a9l@l+=l!Y>)RLOiIH}p z$&<#2*kVnpUP>4x|88tI72QSBF(sEn{Nsv=44457L>i7Vh4#WQ=%wY&I{UDP5ekgO zM|16Qj}lal-_VoWN@?fVrXE?uY4gn`z7--U;?&jxiON&y4eIfO-#Xv&>pOn?07wQ) zpbPH}h7}pk-^%4*9pK#lm+-Bv7h&}%Fw_K`J+}n)GrXi^7@yJTtw2#)nx{jr<2QbX?|?0-NXZ?YFDo6p(a&M~1FFV5ExK>R zKW75o$p#@dWFG=c8ymb?TzVM@c~1}Zl*%xBlVm>73cPNDz@b28J(Vm$Z`Ny#fXr3& zdJJhiCl2Mwp6j8l1?%QUte+bZ(x(}oPuW2)rkAF;)H!yuO8t@*$laZAhD_Ma7KeL_~ZqR)#gQXm4 zh@@ss_p-9S-g(UC5$C#+Xjw}lF}Wu|Q)FU4q_=4NHLoTjFIie&mDtx@K5`*CQj!8E zNEv(d|NVVeFD-@e5`{?Ft?{7Zw^=SSpVTKCB1=?hP;I z+$bf*(aPP*i*-kd;sZd)fIR<+_yV8IDhHO6H>Hx$be2hr| z4(gm%xnuMNgjOuGMuPn4oD+dCYHE4P9Q$#%MpNN|^A|$M81<)^O(T_Z3ZNJZ zGBBwDlxyR@uCMLCpGfhVZ?Pe?avs3wLjZpHR;%}r8J3nh0}CG)m|j+bbrx1(oHh=Q zrX$HGyQZ(R_n8SvO4=)5gg&lq@G4`i04syH18!>;T`zv;2aeJE;v8fVcm!7TyaNGV z7$JcYSV!H=Q@&onY3b+GT?-u*%xNGKPGE#^t>vV*?s4*+uMz{gJSeUPF!EY!A>b$! z3yJ>crPL?Y*Y~-0K2&oxeBF|Ow{hY0;gqP^f&7!|I}rt8_W#^hE&D^4ye&w!p%Zw_ zeec?^4=^mS)&3C`xw;l_0d7qH1yL9f-Ho=PVYc;~M?_p(TRV)S#8(0vHY2*(l7+eF z`NhGi3PYFxf7@oE;(L?59rfRczm7cFgz0Y^oNsoQC_C2|Wlw@q%d5hHF;UVz&C^5A;()^WOUf| z1djtTVN0yn>Wl#u_rydKd!(0k)fLSKye2?E*B5DV213tbrsW)83`oU7qN z-Q`LphAoMq?*TDK<1o-|I;Y|qr|X@~f4c=Cw+lHIRM5rSi=dkai$C#~j8>(yjJe2v zavZL}kv>ND5LUTFc2@x-d^GFd=MGGN5Lcrry4%9~@AA6@52~@*h)1Z^!_Uz&zw4pN zmB-7%+&_Xd2~6A&^a@10an+swv2UvD{88)$zDi<1_;y?4)u0m>vO7mFPf%6MLPm13 z+xl2;^oxFu$L>&RmWmqWUB%g6anB+y{}Hzg<@X9DH9_g_YDS*JM5&v`LR*^T_gif> zFw0Hlk-R;R7TttIq;v$&(9jl}ai~MHv?vJzOLFmKx$ZQ~PNAQW&;4YR0M3oOSWup4 zfzM(vsN2d~n%?ebGaHNJ7a2{chy|BZE(pV*FiN(7z8`}{MLlmW_8vH>=)x6v3=DhI z&zR!uMaK?*8Z6FHrXTJ0C(up<-Uj~atR0otehTvZlPeAWChV&pEE-5B2_U*geO=q> zc-}z0qn90s=5|4S4xfU!P5?*JJnAH0Q?m}I;tmk+6IX@F`2syZ1dp6_+3!hrvlXPCQ zvZ{K7tIhw;Vu*4sH%20`iFIfEUSrfJN%iGa5hX`xg>9V;GFI(~-NBEgSu(Bv`;Qe6A7Eb#6tMwvU}{(jNj zf4?y$f=0_qCD@lzRKq-R+ho7`HWmBYhMC^n@37j7_(d=S?+s{0zNIu0*>IRi=3RC+SFL)&(aYQ z2W4r)fCd0$K^4PIEbaz(xF)P4eY8_IoLU(z7NZI;o=uJUMk?R?sRNflL(A^{fL6y<`N%z&M^-7dfD($qQ6IlBG|+}g_MmF(2L8>aX^CX_&H#>~Pg z#|XwYqduwkzifR31W%c)hb7U2(u<9wE*Lal&LjZps^R3{gRpfLeQy*6g=#4MJ9%tFIVJw(MDHo96KHV9ftt=#?DJuvcqV& z+VX&%!CCDw-%}I{BS?<`jGP{82sM{G6e4pU0xwZ~s~JGsa`!ic z?_a|5L`pw>=Lqj2!m~N4J6^mSRQXJGLDYyJk+&&5bjIv1m2=p;!H?JrIwOb_``R1TA=u`?dBaGkGv{=q6T%szOy zS_qcX^a8eCG^oN}ce*Op=*NwEyu?oeX^j;Lg|MMAHq1~ zx(A_xh*c;1_ZlIE8&Ea>ah)<$Fx4)xwt7TkDb#fq6z|NvT4q7iYj+-w&26Q-+I-py zvn9yvC(yUZ?q)YwOOqFCE-N1FnZHQoSMnO4WgHT;d zda*ZDEW0v6je`n*va|htWJ9p-;54b0PvbAHRCs(&@2r#~voOZ|)VxNKcn014I)q`J zSb>5MU&=&8XhtL5f?FnREq)NLa=8loQClK>tM-;D$-GWzQC(qg5T=%gqv!7y`&u|f zwE{`3?ed4tcr~+pD}@^nwhdJG(>8$?6jVev2B1nOXQBMUT9*NlE`g*b5z;tPn)Wwe z++f8%zAF1=^DJOPzO%`CLf$N4Sb~z6fgxu61~!<@;fuc0>AG^P)+Lk^);1nT=Q-t2 zAg!(J2NO|?2VVj}YmF#*c_z&6GF)6$UMiHx!PWP9s=s>!Lm5AoBdDAz+5>!yt#s~l z1Be9>yFS%!^Qf^<));3?8~!ONBSU9_{c#yx!w85d=Y{*^W)T7zob2-!+2^^%ybTTl z0&sE5(iL2y3>|&vMpQ}&@PwGrLn81eU07K35%y(TSRAqS&uaW}p^H&F>;3PyrLi>B zDquF#v^L7A9FgIRn9kH{jq{m(i>hy*zOjfyJs=XCRsMfey=7DzT(CA8f;$vbK(BUcp^ra>nAT`g4s)(iaC!|L^B%aEF|$Q+8Sv>^0!g@M}R8QSk+ zLK~f*MaL>azwGeF@lo0^#h~1vd&hT2n)cFb96fP#u|N$1nZJj$Vi-$!Cr+BGMbTF* zVC#1Jic@I0ksR}znL=yN2vVgxk`3Zx^d>DdS6uv;S~1pJ1|vSOzk=(|$!N{VMqaSJ za&ou@>UpN~VMJ2*^wQkgFZ)h@0Y4JnaES8-6;Fj0WEa4^d)!;N=!ng?bC>#BV4( zY1j0VhpQ&rKiG6qj6hDRp|e^rM(wVO#K(yF4L*o-#8jPouLoDils{IOpZOjHPrSVf zK7lODyX-+L+KlV%rmdxT1F$gaGxG=iHE;cf=}ngjVVyM1YIMBY5)FboeaEjC{p3R2 z9N#Ps?C!5nZFi!VkxDS?3%-iDUGOWLy}`I3U>SL5Fc-OKNs!MtDy$c|rUeg@4-|?U zF*aE2$i?#8#2|hYG!S^Z9dTwQ3X37e4TJw*E&ytg4U4On1}*@b!1t_rXJ09oPzD|C zE{D+P3=hlL7f0IO%X2CeAwZTjOVIs5r@N1GSJG5Qkf#oxeW&ZG$BRSqtyz%>82 z=Y1kadanvVprPOtYPa^27~45J&BA;owUD!Y`U?vWBWx> zoc!_xDE)iG?0FTSiShbSINSp_s2E8y*!IA}4|W4IwWsn$>}(5oL`_P6QiX1;-f+S@ zo%~4}e;%nUA6UcG1CS&DcnAPwT0#>6T85){zS#uxJj9MwxUQ^ux{XAA8F5z(s@sdi zlF;Td?=n$PrN#SEjI0uzWRUQt^3RPL))dxYi@i{>HR`_Ql`7#d@|m?GMC8+Cg*r_Y&TBj&JEIsnO?kreJ`!B%eXZC)4^ z{Vxc@*WpYBlu&l9+#LWw9JvYth5{G#KO%;%dBCkc1on>-*}i;ux+Q{{N2@n-?GF_@lUr6X2xf4RwV2?BnG{cMDws z1#$4!cbd}(P?sT_cFHY=XWzU{0aZFsQIhC8Z7wo_%#uc*(}0jAq0i4`HF9UnXQ$JX z!wKU$0dJXJ4;+)>IB?cA^c!?lHmp_>RG`=ehgI*l>cghXOBrVGg0};zXIJU4K~$Im z*0Sl!(eEU4K^6GJTLq~=-5o`Vs2oHHI|T`fSi}&9wKx{K77r-W}-@9$bC@ z?62N?W52VuPrm0Em_+l-xT>0gOTE2Cygf-8 zu8`1F>IVv`{}y+?Fe*^fe7P+2mq(fqk6lW-9H@fDEZbgpVLwb8*ktikEa;(!{ z@KV}y4B)rYv!M5wtQ`%O!@O0em?|7miTJg<>ZDt~M6EpvgZCbWy*w$Cqi~RwzPrAd zt?p$|oylAEFKczCaA+rG@@deofj)hJh54aeQh-{&*M!{3BY?#Pw=i3Ny;Lg{8PLn3 z3567>fc5TBx{&{gd$hx-=xYo32$49T>-A0%6j~kP*b_<yATrw0F#muGpo-Wl=?Gl8|mBGiNQ(^2VBiQXSaM9Dv=7zfaE zy7YQm#CqNB3Gcyg>Xi68S^$s7ZzYgACqG~@9FUaunx)mULZvG=_G z7{4*J;{AX$JXw(}hC?sKSVgEqRS^8m*$oQJft`w>`+`)U3t6QVEKSN!YOjpl zB_PHA3)uXVPP(#3o8$fNCrH^>;6)_dpdb|^9ZZG~5jvPs7v*uZd4`p^ERQcWId?A* zkTj#0T@(cKc}PH@6*D#nt6LHOwp@&o@_S_c<@V#{H?l~b!eWME6_T@a7FYp-OBj`! z8Y8{GX))$uQ2tsD>5_?!V=2B44W7)$_Tvf?Yn?m$#4OG2{zIh>LjvR@Ejc+u3EH19U#JzA(R^5F~kNyaI`1=RTe2*V&y$U2^ebx(b%A%Bl^<>e-!0 z{9Hx!;X+SjrneKyB9bG01~D*US)(YVnb#mq_;_stqENP#>*64pr7Afkq{HlF4jUd7JF=(+)9(9W7 z{V1RbGVmnw*|4Jm`Odke)@VR;s&-qzoT*{OP*syFCpWDjov1zo(TgS}40 zHg^h>^wGFXLXp9q{wvK=ARv!vF@DfkRH}lU=D8Rn+#?PKrd`P7L+SI(N|NZbO$#^-Q?{_y{Du7r8F1{8vRDro zFz)>b<4Gl<>Jr)5hq)`&b#M`bFO}nWjgR`S{dtZH0Wd(E@&)P?b>U`0L*M6=$ZwfZ zZIU!~1;LA7%@@wsqK=m_LUEe@_y{O!ikLQan*NJ)Io~;D`eobzp@8H8tKE$brDeV6a)jwZyorqn@Sl)+pL-jIDb#Z`~oh=4( z-21~_+ue%)bXGe09~0QRfwD6Tn2xA;0!!XrT1ba%qbN<}$Ha*B<|dE;I1hLaIkUTS ziRB^lsJ)?{=DDBJE~*<$*oidZ zFOCAy92iMoAGXAHPDn3_*?5b*yWj1{!H0Jm)lI%m6L6-v>=n!S>E>en&bayS^rV-Y zo>RPn9g4*V|AA8&TfOKF=2^k}SWGqq3sj&k#|= z38YV_|BwfpE`MW;qjBj9mlyR9TfH zM!H~pvJVloiAG->66*+DYeAd{)%q8=*#i-SERMg~|=_=lW7^Xdfwp ziC~aWAfp;mh=JGUz?6o&p zPr_i#coYis2b0)a-QshfSE0t(*?o=oS17@u{!dG;5GC?M#kPJWwA2fj4iSb#G<8P= zkH#0V8Q46H+#HS-erGK(L_}LssT%7 z3e>p&42$vl;q#UJsAG46=T~y$Z}6(F!7ZTijP9>jXQLhsho^sAyt@8JthiQ()0XDu zg`r}m@2pX4r4JDzVbNHpzVpk}J5hKMni6?FPmkhWPsD1bbDM-{+{Tj0jntH5+*Og2 z$`v9J%vFN;; zN=TYW@NS^Uq9R}ji^8O?(#K!!nyo3RRcQn{K(FJbemkjV>MwiB8}9o( zkFmDGu45VSp6(}xsbA*p0?ClA|~Wdo?qjQ--h_3GxgNvsiGkuW1YG9hEpz@ zg(gcKUGQGjD4p7RHbCj$ZA-kH>6@)GdUD#MKLg?L#(XiFB3P_YH$d6m&?M*yMh+)k ziz&et`=@IEk!2dG?R^7t(3cd)PVZj|oA4tEnwG>pQglu`+1xCCCdVt)kgZS@tn)w@ z{~6A=fi7v^o;cSEA@eTviLDRf$!HjzdH?gRc!LmXouO&u@Hc1T1*Y~I{*{scLSj@k zQRpBmRdMTr2t}X@MarwV{Y9!tt{we0;|A>8>LC;vEo_WL#YIj}NB-CA9a=!}S0WM{ zRRNIKjN$XT!}vax5qYt%G?bMo`#cZ+mAoeb6u_+B+RDm`GJzI1+Pu(w$-tvI{s20C z{{E}$r+;@3>R^3mnTCmF%UFzrv@mtuKg|m8&(6HfD;o`ig|Owy4>(Da>UTxDU}2<6 zwcO|FdS>8fI$I|gt;hMXg3H3}9ZZ>K-MGw2SwAqRjNhqFYi@ot1KoW){_9^)Pfx!! zG|%$~PC`e{N{s_|<$gnOw$szH9kKhondF@R##4B3l(MS#D633K{WbXcO1a)?;twr0 zgzyaw8VW63RzN#fgJM^=p+leSdA~XKcu1kF9Vk)MWe=|Ic{5oM%vAbG9d7>ku$9VsvSLvpw? znv?gTc)P=zo~nq6CKS~+!eFeaKge5ybz0AtB~KeXMt|5Z zHQ0@~EazDKkZn(N`ytCWlgOTE;rEm!tLzz!^4}5f-d+>S1;aB~zD#{Oz33&sBNoT|4o_TkMCj_z(`~FE_gGM2 zIz|UCX;5n5duWE31-#6djm_;e-=$$mO=<7MV;tRAA{7dFIF3IARXwaOXnax_U-4MO z$s}#3So!#vc6xj$eAAU$*P$G3+WD_`jMEDN*h)f7ep*>4=u?2a7V2UvbZkLu`h>c_ z?)`6q5y^$7YqOT$_UL8-&b>h1JOmvn#2F>|Xeag3{4glz$Ck#~kGg=egVsG`!L`?? zFM|MB#?3+Xdb<*=1oqO7W;ksE)KV3xfuK;Pp^fM z!3FgI3(GMVU-`FOutqpeT=DNlX{bnoh%z$rb}{FD z>zj6$V{?6Xrn;jSp0+Cg8+k`9Dqw1xn(V#2Xmh8uedHso!D>7*pr(yhCiT+Lw9qnI zfwaPN;(kvwQ{oQ_DcjdwWd0(Q81x3LhJjG~O2B-dfORc_oPb)>@ z7)*fIT}pJjRTE||0EmfGPs!!8#(8wqD-Hli4G+IGFH0V4VVi47!rBn~pyf;k+TuMy zk@a_r&xmj5cplcS&NWTkELc=4Fvrg}vk>srA+H6+ius*g5`3Z@)2?219=mM`xH_|6 zFfu**AU+_@Oom`$;#Ipbgpu|X78VcQ+gCF9a5HOhor6lWy^kkb(9HF^%!b`Bhf2Eh zZqXWJlOH79>ifCJt!@^#NFNS zSV7e{)RR_7oTEA>v!OT-kk~G#cgLRkT@*M2@46Hn!Q$iO_OfZcm`On2prQ^}@F-n( zdnF&jglc6IKEoz#XOI~8+_aMEd`Ef&P*+=33Mb-nr^p4v11h$s;xf`CB_EKVm*>YZ%>RmMI_@v9<*X zQJq`;sZajGO|{piZa;i#--xekQF)l7LY5RCAOGQb1cdw$6o$Gqm)Xq1=UqU+rWl<; zNJJj@#)hfrai1b4XELeQJ6uD( zM9PBUa8By8jy%87^xbY9c(Oou@#*U4*cD&fhQ~A#Vq!w@9=q31^tKDLMhrBL_aK2c zoI(gwG4);{7XQPhHOZLYW$DRiK(<<9Z(1`f;8>^tkP zdy>0ssU+${;9-%vPsZ;2r|Vtssp#0O)B?fEuU|dhtUd3sIxwNJX@No*3a;aNghEiN zYjyUoif>QBFU_Ayj~Wh(Hr%F$$GE_ip51ri{$GfpVp6o#@Wg)7TPbJT`#-A8*xO#^ zFr@*4=s!#@W=kjJl(KtK<4ITBpj-edySW^aJj3DGVXyilz+alhv)d9zWD*uSxY3^?BzAjQ6mt@seM2=Rrbb< zzunJN$9O`qC9f!96GS#)*gd2^9w(x|Tv-j*I0|d#lEx}V>_@TfbAQ4jVVJ2U5uqj) z#mt%n<6XSuD9!U~#MU{l=g@A>+jT zk39|kBOHs3K`Ds1aEMt7w1lNp8vmX=S(Wu`EJzf}EHtFyy(^180%ETvZW@!q8GNXl zACGJu!PUm>Ek-jNY2(j*OZ&#&`)`kqi=Mqpd4!oo(nAY5_*2(eHYOo9B(wx2GU<^w z`hl0fezR-0>1!!+eBsNT*GAt8&&Ef7_J_R3Sd!2ZNWVc{ZsfsVRQ#>!p-#q|;%JUf zZ7BSUUZ6z;Krxj1jIWe+xwKLpPr81Omq0pGS||RFK|g@>>n+j3&Chug^3uEh#}-XS zKC&sxoTr^0eYe-6@i zRgDadtP@QXk;j7PSZ(@mN!4EH?900%KgL27SvC0&UA1t@Az9M2a512H%}=x2URU`y z5oVceS?P}Kipw(-{COwN##`{-R{7)r<*)m~AiH+(bo|Rx>G1r})SQK@(RP@;(2V~s zKTS8d?2fhyL8GE_EDBKZRiKERwkyrlgZEaZtfW*xldk2f7+w<-#8{oJcwO%<>0sa! z2RvV#kqHoV&Q*JdN;Q&IbeCduk@$!EKuiLd_?-wFhlQ z)@AxM<@`9O<2%H@py(EnD5O}u*0lF^{cKnvoKC|1Sio1G;VGFaW8^V4;Y+q2E#zGD z_4+gJuPWI0pY7eN;R6i;p0*`l55}r9Etj_?saS!*;Y0d-FKJQapUse_z9@V$!eC2v z6z>nw);zz4)miO4XgBWMU*z&N0XYTIvtzQ{%oa_Q&ToOMW%7Sk?mN4*UIuW^O9@>2WF~Am>xxU z=Rp=jE0t!E@8*xFSNte_jZuN;@fu3lzTCfKygarIDbjgxg58h)y(OI^f@d|? zs9|D7*g#!q4(=jjpdV>2++*vuxA|X|;BM#$_ACeN7851FDB$~QYkmR)X;@XLF0_og zDBOpB$6Qv6m}1)uwj2{;c^Zd$X^;yFKYRS?%vT+tzXS?i^b^&BCk9*`R`(3GzLUw5 zz4l=}%&S`TOY!~j&M?9P^pZ_}g5%uk%pjN1JFXnG1JwJQhtP&?XjdLkb3+74`Bb+E zfncq{AD}Ykt2(#vgfo`Ar)yKIas^%fUZe+lY4IZ;8T+wy^Oc2MVguSe$n@^oI#cB$ zygqo@#CQ=}%y^mOMG3hD#9{jx|1elii+l`r#v8mbG6Y^a)$O9V^_TpPOz9T*vOGPn zpE&WU3d{`B*1kIxIiUL*f)01Vd-Myask zGE*S?UA#mlrQ6QxSI@dL_?H_ldwra2u5wU^udT?uad+l!{gdCLA7-GqA4DJJOl(rQ zR<9Y*e@#@=9FIuvg!V4}9Y!UIy<|7`hOyENiAEt9@cRWd41L#gwbvdJe$2d)5x3A^ z>3p<=B31tQzg&RJ$m|U;myr*o?QGcw=_d~U8JR@h-iuXH#bLek;z3J)82y}-rhOl- zA39W(dZh|fRzw8ui(i}Q&CO&kxlif=Pa{348MUpmQ@=0|X~428NMK=9`bsCO#f|5F zxFxr}b65Q~^LRwiR?-FQ@oay+Z-7R{0)o6iKA8U}>xnoB!DQ1vTdv>gJ4RzBB#7OI zHkX7E@w?s5&oLq<5D$tzG-M8f=jrW5P@v9SdmUa8$1)EsqPd)n^oLjSd**-G6E?F3 z2D9jKCg-W@+WOe}4Ly12&ZJ!fX(IGY7$*JCy@?eHG49}MzV6Fo1|ykhu;&CGR`U;k z80u}@lCQlG;4BTi0j?8>s{#h5tukak7zV*&&}6CCjJcivY=k_kjhcd!93ZDDepy3*byr2|3LIRXjL$7+oibcOjyr+6`; zgDZfPI_>V)d7g0l_j2Gof*>(s4RU5i*q^`+14g3Hg&0 zb$uO;yXdN8o_#k;s^I_xX0y!waBFQv;-i2g;TOY!T@qB1F&El6;>GyaFBU;2a(Tmq zqem1-ng}lK5GqbBA*qhX_3+^Ipp3)zYWI$p9g9x^^IyjPQe7uea#Cje3aQj5-JS#M z^7y1Yfi(gZ{48$bZ+HXf;{Ae8q}i^_#J}H%ZAc*F{!@$J_aW+zByD^169bWceczaj z0lj4ef?gIjvo#7C!uXPDGQ7W*4BC$`z7dPj@nZc-${r*IoIodK)PP_YB%#B(AQ!E?R;HXGGq8%0A}4KdXom zGWeAbm=oGa&TVG<>(K5cpXX9ICCvqs2Za65-rVtgf`9Uzj;4QXRPmuHP6@D z8$uwcC+3)Kksdy#YQM{(f9(qym{pJx|6@Kj$~VbB>T;HtV7}8Y?l+D!L`Q@xsmnf& z78Zlq1frM)pPA>3k)=-hdIGLC3zf}efjg2YK*%Ce_TqDRe~hbjSs~V4_XSTuFY0E| zSTk`KE<9%b5^gerJo1c4I)ZYqz31%L5S3z zP_-O$bbg~GgMbT*5fbj3`CT8iHn-IZzG#CIDdxa~yDonIdg00doWL=q#{n5N01=P3I261lPtx9rEPm;vh*KV9YxR&Pcyhm^nPzGZ%~FsI z<2;p{lW8jMWvCIK-d%zw1Cw6F{<7R zLN9;TPCT2V5bu}w_yfeqn!FC6EXa)xk<<7=wwq%5m27e*^RDF&ux)q8)3SN?cFtm& zZG-!WNSoDTE>^z|Q$`duL_LGI;Jdts0fm0bO=-hYTJ5$52S%oSU8^gnTH;18=MkGE zhdoUD4p?6e-9bo~pX&$ho;h<_WcACU(&B$%rxmK(!0!fumh(dDyu6ht$=W)iEq^n}f&fZ7BNWnMsVeb?73kX6iC%tr1 z0B9@!8*HIf{~BR;aFh?xsUl=u9Pz=Xb(?2twFf^88;Ik6f zLga$wyg>-5)a}UjT>hR1QISl7zo2xFJ{H%@XBG`>OLK;$MvpyU^Gnc3lMVtI`>E~^Hqu!kE{Bv1yb-D}ri#s&ppuVA!T2VXMNm(^ zW+8dslYEAFGyzs3H_%Y%aC-gpsg~i$ZpB`HoNClAAVUoTb9~&xHs+Z zGOBjK?UcvejoJOmHl9@;nv#+C?wq9dDPT~sTYjN`lP4}-Iv*D_jv=yjN5bQDJ7}rK z090M9OHHEFIT6ycG0I0$ma8s~C3=ly9NHS;Uy4+@Z7B6ghgi}=0 z!kFa&vf%4MgKDbZrZhvfAFn^-i6i4WqMp8ZzNH=MB*Z`C6G#RIkypvq<}m6*;gC!z z6n*T37scMX!NfHGnvifIO3jz!_5Ixmff%>eAjZryv^*%{!pvEl+~vFPccuS>mMuZiyAW2*`=x^KeGZ3nTVx1o6z#wWKE>vJxLy)*e6~~ zCgTw$U_@)Y4kEL?grWsD`=_-vsUJA1Vg6fZ_d1Ae*`YTo*No^FvDiG&jS07W*rM7` zbn=mKGfqz1E0!lp;mmkSi-IfmGluG=K)N{;0AkYoA`fiEgNFl=%_P3Q8ZxQHiUkjpuCe zd`h3!c;q*8J58KFkafqY&|Kt;l!HB>Uy zFVWVApzDM3i4U>3?nQ2eV#!1I6qsq3372NojQR^|3hljRB8rnFPowe=>vVr7ZOJrZ zeS_X#l*slqSBXAoss@)(VTjke7Dw3pgbI;LJ@ zlrWLMK#A_G`h^sk^Gle-eO|8&=x}VG&-naYAtDjrjcg?`rcQ_*^WFNX9JsV2?ilbG zeg{TdYiRv`|NQU9Cr=?({r z)(;r^;Z?5%rnXqrwQ`UGqtn*XY+5Jy`o8PV1#g`ow1Nk-Y%+eIV?}PMix$R7vpv3m zZd;U^NWdFriZt?RgTbUQVX|23^R+!<^gl7M-@O|LrJ%;Co{LpuaF4vtBqz*J8eiG* zxsdM*gYghJ1cCAMe-4-tJkSiogwAO+U*=x0Jgm~D{qeUhMt|FbvM@>>)sT)i8t-ou z#=kvaP~#D---;f3sw20Ama55=yoemmN9A6+OyS1Phx;Xbl_C9shZw_iT_ahD?g>!Z z%iS7GXfGMY(dQ#u#qW7ov`uW?p z&r9udmFUF6q<(MDJWkk4e&rtmrPifW!Js;KfPU)u54xsU%Kf2GWC$v-#&SLh8ElzSkE^?6u|6NGF4wyqGbpltcgg=VGZA&z7cuy#z zuWPoH@Zw$jD!B>1z2?SsdnmZ7?!QJq+_R8t{XF2^7yZ;8F9}dZG*R7`yC;sg+VnHt zO%13q@+j$hwEFvZYWEGgE}it<^JoGfA$|rtiUzWz|JLo!)cH54EMQJAPzAr2mY-nC z)yIf~>8fV-`(7)u*p!5T^S}gmRd?XXfn`${>SNAiO=LKFjDWj{boKaR#frc#Ibi(n zv=nc5d`60f)5_F8(hYS|0h7-`|y7g+x1j27_ss%RHe56=a#3Zl1I}kPr8r!34BK4n2O)=W8pCs!vC*>8-hX%YR%ZhQZ@$ z{L|>sSL29kZS{@O5=YCF(f8I4G;pyD%Ejl(Kjyal3w{l2Zab(w|( zBF+M!jN&Ti!fuWL5Sb1Y)OAo>1~74_%+~eZNipjhjb<6{jc{#$i`2f@f$#}&MZWBK zefyW`fwKDE9}L+~x3_?D5&hqy-?zF>ueBcfn;dl-PiMHf937RJz8nbo-u*fAR1yRu zJpsmu?T!9(K7Wc|o9`JsuN>X$0suB&_*OjbKhfka#*31xsH!Jl-oO`&6i|Dw;GO9Q zzHz?Ff4%goJDubt@ie?z<|ZAfA!QP)XuEIq86!MNkt~dK1L*+JFswm~$t&|H)j+<1 z3xA)_(BGhaJJ7T6pOoMHSN0uhHd>4Re9Q0d&M^$Xm~u47Mxb9Bh_L?bL;-;+BFg06 z9lm$I08Zn}F)XS!e&@J6kkLlhW2)BQoFyQz^4#CPR^CWcc2hzFtbi2nRZUeNCwWDRCTQngkv0iai4 zz@o(9p@mxwh`u|5ie5KJ_dUH-(27F`Co5qDa8i9g4_7MFw!R6Iu9wv>jm$z$jf0KV z#cacLYKWXI!O0>NQ)X}6Y1SjF)<*WfgorunXsK+O@^4xaf{`PjS&gmOOg84DVCr9m z&(gjb|J4_9Qo^wUo5XdW2U6upj!H{uz_0~H>yfRr4OX9(uaf{d0Fli;q$*j!Fn$vP zkcZ}i!>?y#?436YdeJKWWCXcmG6X=SGn+Hp5G?|3>4l)=e?k9wq;b2+WBqr;y@XUhcx`!i{S}uCig=v zRo>U_^#lozF)N23mh~}oPlf4|;kkX4U$6mqTrij(x70quNLC+=j^}TW&$~YlwKvBY zp9uJDU$C=mY7oMTY?YML;QTXtDGSTXTmk|~Q~L~EpClxHZXy(Y))ik%X2LS+ORZyR z#%D<(OUHk{9OHq0m=j!V^s&a@knTymTo3N6S=UiN-7YElHpsWZJN;HowiAjO0}Zv0 zBaMwvr8t6|S+kZChX<{i#_Bi&`Q!e34|9C8N_*pEEnm4Q1_T#rc%`0(p8aCMkf|=V zs{^5v2@_&7Q@Qx^WEp?*7@d{4c-cH zQSm-2h2#7^@rj@x7R~iPTOw)Upl)Wlj)57*vd&NA?|KHHL3=x`_q`MZA(mp|S^k}y zOfbyW(L#oi!ApQCLl0@AEjw;x;E zAJ9?NfC=$NNv3v|YT1Ysd@&#~zdXG8x|KWAow7)s`O@C_cn#;pr;PdAYos-&B*;^ZQ>Zpz8uh%y!pY(5> zi*av4+u(0bh!<1uXnnt9GgSptiAa9_FVX+LC$mbvdUbKW&Y>+=MK~LEr7;QaLJRyW zifecQJWwhXck5%tK12n*pTnQ@R+@Uz951k0^rR*5*HAc|EGnu@WMWpIkJ(RyGt-A< ztjHy^B9w}lrPFQq>Pd5=UXt@M5|IZ$sY+D>+r$pGgbcJ>@IN#cjDEee$RjL6+Jw!q z*QvL@STg+8%gdbgZpt;GA+=}B37j0fYh0T8&Sv~Ze1Z`bl_Mm>CZ>E?3{EV^oRzL~ zUu*cIU`AGizd=AAe}B>hWZ~I^LgWsL3AK#B1T)U3DaWLpu0zF@GtR>7DeL$Bna^Ya za=uJJ)CK%Ku^OD+2lEX7GmX0;^#~{=9de95;-%q3Z6WF#!`uYqTo+BF$8}}=ZQCz+ z3aA&Ax0$`6*cV4XJOyte<S*@{PyNlO#@=pNmHu*=;J=cpjapD{@!paE;bZ%v z%eB9;xPR3nhr`Z>P91p9qxS^gQ8!mH%H;OF`An{j9&;0UyF6xYXAhIVBjFunYq6$8 z)Vym8t#Og`HoGddeB zM|nn4I`EK^MR1-#q$e|i?+C(I|xS^edi@teZL+Od(r zv@kJC6s^$Gs>@KRFZiBpQ%Cd_whmbc0k&bu&hd@cu;e>%)0Y}Hy6EF`Tvo5s;*YrJ zn0LQKSobR-qO8Ba=<^y=YRy~qijwhRw*Bw8xrfC%i(SX{B)^LfMFnbm6@GXQ!2p$q zr~*k4B>*UiS$Do*@b%!8HYP=GWnsg=>5J|7;7hL#PH91CnxX5trVhhJUgFRsj@2ZC zcNLYAlyaEkI51x!9Bsz z!Za|_TmW}L-{tQb186fi`?DggCTb`k6B$i^cCAYg;Kw~Jf;n6syi@Q#(;nnE0tplf zqSRq)x{mj@sQJ@=@0$gOL@k=3>YXpIKVBF;AU&Tof1DGO<0b?IK@m?*)l}Sknc-j{ zkwOB%-KMsn(_DMAAY@u24@MO*$GI~&RpEVz+sH;XpsPWT_m%wlCDAal?1;d;dDZna zCEi%O<#Rc;g^ANL10`B}x+SAUqnLQoh(TS(j=l)Jj;Qah~awfH;vn0N1j71q&;@S5Jj%*{ObP@uOIQ4VA1IQ9{LGLBbA=#N9pH4I9 z-G_XD%8;rhr)>rZ%|c~D(=AbX5s=fH>?q)bvr3=g2($10Yt*;dI*TDT@z0gG0mfYS zF|jUXMmr9Du|5p0%HgdTXOsM7#u)ecL+;t3o-KN57_i|;vy!?03J3JX}1 zpURY;;s3@B!E(!#*-_($V48)L5G%2&s#P-J#w*qF4cCt9i0qYA$_Ce!4fkagsy>Q1T=DIaPo{N_2t zKiZJjsAT!?iilI-x=PLQqAD|x5EA#*i!P3;1fqQ(B|<1jIiOTM(Rz(M1>$x0URrGb zW?AK2-$VV>AZcDrE754g=CMKO25<%xsH6R;C>e<-yDq8HMj%I0mb@nx?d~VywkogC zN!SS%5TcKNbTP0H84TUfk<4Q4`$uvEzE=;2n}rKQ9V#i-@bFy}02{a^=&H^ejApk{mQ< z3TJKaw3N(aNkXX8`0r6H8gxPMUX-7Ib*#7~6pkB-U}PzOLYv7I`@0_n0snv62BQN7 zWd-q&4#ir#b1b70+%R8o@cSg;z;j7rnL?E_#zqV=;sW$)0X@+d1@NzYs@Ti+qU-N> zt~B9sZx=W(4?M#Kroa37;413M@|7sl4W4`F3f%*kKj-TinIOHG+(fp3b_c|8rC3M+ z-DGZLLU6`J+ni?K&og;iuC4col(#Wd5T*f;`_nTE;*+#R2jU-e+J7wpSvh9}O~OHeE*XT?;rmcotJ2J2wzMwv_t5b(4Kena5KMxVbKN;vM_^09lh@aSGCL0@oQd05_dzDVL|xA)7NGP<5U zr1Rl9>Mg~jExb-fcJ~Al3ZJ5P2q$;^)%NkVl6_o?D&V*?kPG}*HTo&?9+;H%PsV@J zAXhJxl!~2EYRLoXM40_19^8c zuMoPcG-TC%JE9X`wz@-TNQbzC;Y?tDLG$*Cx>3+9oa=eMFF~NxE5nC)VGvM_z8*d( z%rg4?Vft0Pg`-=K|9c!P+|ilw`m&4deQIEkLvOhRuh5JUWriu58pe&7FDJ1%|Lrsu z^Xb)lHUNqKO#bBqn4pscI&N+^gAVrxs_1r`Y2GQ|HlU2Ly#U&iQ5=aCiKkc7BP7zA zf);0wC=%?-9CPySIU~wqAVv<8iE+0Ch2&Vv$}HG%HY#N}$7Yk)&Mrh7ZEkTOIO21b zl(0rVPY-gZLO{;@KSkiuLhvcd0$2;1+-I?Rj2Rc^6589Upj;MCPwr{<8V#t_p!nQxV;D6o-aIYoF zQVC6;!!U$m14$P^%nJSfSHykwDRIF-q_d#_%;3vy27ayDmCo{-nmxOPrGaPkMTK^Q zTVti`^qqhGloKTH#>g59q!wBZSnEKq_1&A^i?2qvY4D!v*R^fhkHuO<#qKwF>speBOCNy_tC*QGMJuBY0PF=z3w!O3Om9r#&zuopu^lR_mJX&j~6?0-`3@Xi0r zDg(t}A&{F!)CT7W`q5*`^m`AFT#R8>o=T8yhRZf9n5U6|)fE*LTV7VC;v8#F z?eK}@9}d%U<8Y3(m}L2_?z6=Kpe1~5^@@5;5y2f!MqLY=L`l3d_ZjUwc?nmU#irwk zVh88{gwt)JJT~wOKz)?nur4pX?8DzoX>#` z$c7@$Vcl2W{i^A#?LN<8`edCgI}M7W2I~R)*?5637I&vJN0mH#o)Vgp|BtJ$3TUef zwhqCexI2XwcP|>87B5=d-QA@$xD+U^h2ri~tY|6j?(Po3Z{WN4;s5iLr{tWyXV0El zvu2G1Hg}!7FvQ?wfBIOJ!`LVQt1(uh^fr;ivEQu)!jUeP>+Q%zeDmtKBobaQ$54Ds z`YSJ%M|>kmPKFe^T3{pymnHJvwfXnQ$;rug#^mYXAVf8828ZG%GfH?ui`f`|bt{7z z9jGAD$`d#~?NFd-;tS61ezV$)-zCKV5jm5;0A76!TMbW*prlN<%1>7$5+^WJ*%1iu zR77l}6EUMFnq8?(@RZUB_}^{hB)K_+M%+RSc{VwVT%g?Gy;7l4Gp$djc(bbXc0S^l+Pak5lw?hlX zqc9UG>;U{`t4eVSAD|QX92gjQ3`>h&S4wgtHwLGm`u5hxZ!>m=?Q0>5zdBb1bcng{ zqji5^3v#-Ibn6vYT{+QJ2cZEii81GJn)I|@yX}>2(mO5U3%{y+ND+==d$5Y6CP>oL zQG52>ctaq|*RJ1mK_Y{{L<)fPorF|u#}ZEYPEdQJt|UZk-L)uTVP;Z)OiO0J38%o> zTfqP{HM}kPI<=sf2wDao6Z;i_Qr>*9?d^Z_^F76am7Tq9tEu+Ie0^Ja4IvAlqgH|I zz1Uu63?&l3BANbjbxx6K6P`I`CTpKR1h>td7zczY z;E#e+!^80d<&C93ZPnPf;Q?@eO_m@2X`Bs4{3S3X^AMOvG*exKZNJT9YYcpfHCG|B)k!l1+Ld? zVqdbVb|e8|)?vr3ZR|M3kckmjvN7ay$pp-uEH)IIPF?9gfmM!rmQ&O1vvUFqxJwcv zaWAexygncysan*;K%~el1&p>fPVH09Om{06NcWoflK!K!&$FRPHB#y6DP+}%{UkBu zSog8X`i7N^(q(5)0-?Q7A>@wESsvC@a48goy?$U^>(pzq7v3)gOSK6 z#%nOqUYKL1f3vNWJk?8cY4=(8k(5Of2jy;JV}z_L0-8Bs0^+YKY9`JlBK8hRM%rrK z2AKQ5nYVU?0hOkH5-fM}tx6YwEWZJCEy~GqP;9O3Iivbpl2E(Bwr6CuyK_CfWk>!H zG!wu8m*d*!!XOm`$Ysi!$UQ^bwX4ThN)SJ+NC4WwdDj{8*w3Ndt(~#PM#~G<#l`MU*z3-C+{LA%sUyF1L7)9 z4Fxt!sl6ZivayAtTn0SpJcrwwpZTGZ3JgeZzGgoVh3+2Wx1c&4rtqRfm<;)9^k~O5 zeIp?u{qT560_p!~0>j&M$|g|bw$ozq;OeE1~+5HPqD%KDr zyT$osK)Mn4vrm_QZ`^fMdsChs{;O;6W!~P#fbB=eXB&Ez*}ki@G+a5 z3tc6xw4}oRa^2C|SB+U72ea%FbSU=IV49`a*8X2#8J=1p$flX^0Xn9WEoR-5R}*ur z773`Il%Hs$nGklbfJ>Ew`8TDj?{q>XIY2Yh<>gges-OWP)R}cOEj!C5@$%L)Gr!ZJ zWMI1uJeyeY#;=Ih9hLnR9?BBFa=9d-H zk;bZ^o#wVHzD(!{6@!us<_6%A08fSA?tG1FN?4=)d#f~qcp43on=Jl7z`EI07zrUp z+-0|QwEq37?Tpan7_+;+tvV|aodRY280hC9srk3IgN@HVB57T&J5de|9%m5wn-#~Q z6XDTz;pv%ToDyu?q_PToZQ;{xQQUvIunfL2lKi`Ku8?kl`}^oja-X%MD*M*2Gkxq> zOS#@6rSsT;kjHAP`4DU_KIRmRiH-b(If z={e~y=<65XWfbbsp%QJoCw&p!7OS4ByF~{Zv4=)~lf!QPN8Ac`SwMb2r>Ja31^j2? zX%sMR<#~B*8E&~H)57#w$MY>?A1|D5zs_=@^2ZO>D9tw{B7a24WA@J&+gEC9|IoC= zO49zO4O94V5LVo;qv@eq*ez+qo^&JI<@RqN=f&nE2*B`PBx*5{f2mrtg2M!*!ez97 z02_;KX{r92a4M+f_EIq9&9CK#U}(^pRPL|sk1QVPH&=6Vvu~RM!JK|e+rjfAwxZNO zE@sT7igtyqU~=<3G~PPfqWsyU{8A{DVare%2((pg0Y!!*)~3{6b8=KuUxnnRvqno+7ImV10&YzR zQHnCmBd4j!({dnuzBgEt$}k7jr^)umu8zew2@%$WaaRDqphdH#t<7&Jm0MP$?DR7` zGue3_V{d6&Jy2O+cQ{1h1M>DX{40-kn=zkSqIMLS0UKF8pctK$Z}0k&xyfzLp%X6( z7Owb@NBQX>NhMw=F`QJCtj>a4zMBnKCTcbchC>_j^wDgKf6oPB!xsNK_>5r)-q{GP zWOB3MN8raFcPL8e=VrDlT|?hhjXE21I*QN;Kt3bgu}i-EMqO!FU}JL z$DG#qDR+?3zo&CS8Taj1ba&Z-#GxJX_j-(vLGvwbTidLQ+TI^!eJmeOcX#KyXm5OO z97)MTFqCm@H{kulwz=ptOmjNMO$W+vue=Ftwbg1`90jw4XO>zIq(=~0GbP9!s1h_Y zi#)`cU+lJ6{Uz(cM+w|5Y(F6x@v*t6kO@N13zu}HUpe&NW^NHgZx^%Wc~i}}VH{?- z0?9$f3Pn=IIfF~Z?;>HSU}5Xi516DJt8cVC3U?8X|1cBN22~E+zsl_r5-0l-A5QCZ z28s$Q#8~0%&kczVX%*Bdg7^kbe744cPi&|cgdnyrE(B6XZ4kw~k&QRH4vd?4oidJ4 zBi6BvTKWsYJ2;eRX^}sy_?eohtjlc7O4v|o7P}tI3#j{C4rV<8bcf-`G?=dh*QQL# z`Rw;t)|Rfp_nYOew8XuA>pM)U{QJD+&5xr>7|Z>+g?X;TZPhPUu8Q`Odo$yrbfo@l z81{KydH7&wHDp@`ChI2AojuB>NZ1o*1+EUJaLy*C-dR#}2(w3*zpX#f`lqGO zuJIWa0CuxwJ*Q;BafAQi6smJAP_cwLy&ebqdx&4JZ$Oix7H>||=*g5M4K;!L=z zWo8!>$>7n$c8r(alE#U5j*_vIcQ7YZN#X?H8F-cbV2=lYk!$J@a=Z;6Q)RbW23u^4 z$;+ehlu5i{+c#SsR4)W;x440$hzQEczokK8C#wqWAY21VHt1xJCM`buZ_Z?Jqucdc zII{1^P=P`8s20_JebMw7+c#*hri=ZOZfZGn!$@Y+<#`Aa2Ym^YR|c~b_Y(*u>RP%mpggiP=1}D7ZH$Dhy zLqI6zxLT*d>^GapTagMl! zH-NF-%KmDL+^@FC^!aJ8C592lg^u#{>z_^%|1&o7kL&xUp#+Y#7=3|;*&S~KQ8kQA zef@oTHsJ9YFkvJl;jiQ)MgflhBuR|Ww}V5!;hSfH~}DBsVT-K8C(Fv zdcJV5@GtrZmT^}IB)H9`npvG|7&)5?p?AMySSatl;oFMH3l3Ch_1X-DGH#({sNg^u zBd)u4vYNwIT1_I2_oIKuR}GI&;w=iIGN5g~Ffv85-Z>QzFg4tFGpV-_+vpS{tTWu?PWumXgkDqJ9G^5@Hxs$ zW4Z5^Kdw()Hu!aNx|bPpW1=TeCK(#u31AR(5Gi#KQtaaLXXAZnZ9RIvqxSQ?dp18A z&fVZ2;rt_V;%<+J!iXI3PUh=9)o1LFVR16H(=1=kX$H=)6%+fn2Z;n8rQH>?KG5#S z-CXYV%f(IXr3+7F^azCsMB@n5PlfaL&%c-Dpts(jafBiG4kvR6GAz1UzHhzgYgMCD zs>a6#Yn?tsiyP7ZY}39{3-mnpUg6#HpbAKUmitZ*i68;sABJWeFWG`}9^cZEHPjxU zrJ+0xC;%Cu@bL$p+aWzoNc&X_NDoQ>sM(-W75;ka?UNQh#v#nENz}#+dYZQmhMSh zF;{5Uj~*0HXSO;Lgy;D9A6Rijb116M>a9!Z>ws zeMiReQE8Dkr2C7fzKt4?n3x#yT(L5;*tqF3ATbOPeQSG-j-K(@bz($#8nHv;`L^FQ zg1p&5shS@jIU7}p64@kB#|0enZ71~QBtrK@*Fb;_dNXDlwO|hi;xcbrfh%gFogA?f zI4el^vxs%h{<;qRZdT#(KZ}|qSFZI)e`nUSh1mB18m&!=*Hc z9iR0w=jtH=GL&)HLO8-{&i>w~%&!pXKGI8116YLvPDQtmz1Kr8yAte&-eWZ?8z1V$ z&D%RJ#!qbk5d)m3`a4%XuNw3>k#|U$)-S$QlU-4pVsU0IqJIb3`g^>yXzL-`k#4zM zti^%zCC7Ad;t`ot8n>8#ryN!-Ic^{#dn>u zXN;}rIT*A_LkcvsKf}iN>VO%$WZkDNG2>;C>mSvdxaxN*UPF=`j&%cVD2#|bmBYh_ z@i>z8`^f+H5>h8Wkw!9Ku3xj)OXeFy;OK~=E}P#}{q1{bp;@SmaMH-T!&I^~j;LZI zHA+m@q~DOTf>U*rxjD;0?z<;FCRf&`Mp4=F_%$x4m&+r^$q<@})H*~O?D+DoTqcAp zYw`$ACJ#0HEklaXYizoTt6)REr$>1}U0glVcR>*jPX4`eE6XqQG~a)=MZm7y!}#$> z(|45IHr$B8`0>U0xOFh$D`N1y{y2&u)Pi!rlmRe0wDouOwnAk%{T{sp^e$JDHr4`m zhrM&CNa01HlOHeOsdDZJqWY(P@Sbi2!Lm|_YA}-aG<}2wAi}Y+_4JnjJ#RJx_Gy)* z(}R1v_vH`PWl0bbL;6^vEod;Nnhc@HJ@hlg`BMExm4IRIg$_0U-DY0`7 zSE%xwZgOa$8}7exyke>i_4xi>0TksF?I8V4_R&5nLys$gt2^YWjJ$Vg7uSOBe*v@|Ko-z4@p$ImDsK z1{`1#;YpyPb!xkBeLp-LsGeR?&iMF;gJ#i0g$kKQfZ@*7bfMm$hTtR{N< zj`3#4kQ)#dU|-*V3jOu{MStR3sfA?v-%s-DAOGd)okTLg&F$(+Y4^q60oe1j?09rY zew6sNNqr2YDklD#=gk|%yLsLVl%mWDK&Wbrs3UU#7`}g9Qst(~40Noq&d}hej|leu z7a!93+xF^p=PmA7ue~eCpc1dJa8&Ob%!sRJk+SpN67s@esl}h2A#31N;?vk*Y4A-X z52?BtzPzS{Ys||r>BIzJ2UnAyuJ>@VVsutjqKGsH{`gh@#-4x(rW8z*$W!s#Z=tt@ zr+{;hIs~0I=ISkgNi#uF0xy5p_x5iTZ#jiL9}xrvwh$E8wZS)ufl9Yh@Nxl%{sX`M zywYG4-@8g;0A`AJnyg5UmxfRIjGeCc%!#0&pZSi5IF0#3Nsx8))5ZwR^BH#}th#KU znUgo>n3xK5&=^#+9qmlf=35#pQ-BWx@52TG8xSHm^P)p9p(>@|ev^83R%OGZy_bNA z#mwKie1ogp=X!D*#JXC3TqBQDl$_>#1v_nEjsbB%kJ-8@6Zxyo)A|AJ zX?*?MhyYXH)Oy ze(!9@(|X7Co4m#`+-0>NoHFS0RS-}>1KMh3y{_q3vR@HrjAgYkG{1vmJ z6r0j+hnyX?d)}OF#cxFE>7AoZ_kNv?ZTI=y?hl**{JM)-%SCbj>rJNNc%u3&8Y1he zUZxGzMtO*;nGxs;`(Y1+(Q%Dq&1^Z%^7|U`J^K#hzu7*8cCQ38mUyYDrW|Eq?FHmE zG58#%KE5!CoU$6B<#a-Fk|Ftg+htVhK_{*W`tKbWUzZ&p{5ROZ-Y5atJmJ|HjWrif zLcSR({rN=tHgfOtmEu>91YxB2tJ9)ktCX;y4!4^m(pZ%{Yhru>N+{!cu9tB2s@KCJJZk#r+?(7tJ?QI>f3>@`(s$K-7^U12rc>jCj*6j6&MCM)sBuXnao5@_s zY@Ry<1=NiF!mwm%)VQA3*z#oG`JPm=Z{Q&$ubIm^|THOy7Gbf0^QPodQ9y5ygo--}0#qytP=Hv$1*&Rt; zDcNNP3F?f_c|wRNgPTjc5xZ?8MNX}=zFhwuj%V%<^XTP-akH6i&fnY25(X~i+{dk8iogt{o}rE&hL=`sNCu8hkj}Gy1G7E;I&&`oF7kDDDYj8zSR5o z_&S`IyGzvz2I^16nX*w@w}(lRbZV@q5{F4dtg^_Gtc5)V%I(0YjE1+4QFYT;gwWx# z<**Wlonnwm{N>u7Do=WU^EM3FL;r`{;K0Rdof2eXXP(3>8#cUE=?Vk>!$bYO_leSd z@+98#G_)IE^qBz6qzBDM+GDE8VLDefnCYGmLz^Qbbr45bBvsX@gc^~>5cl&?t21R8 znXux-L^*RTu+4AV9a#Sd?SrSw_#uBEjT?QDmfPpsT3xd#HAchs>iIkF*8m}cU||mv zYfSoG{ZVm3e3i~{T@THU`lK`7OnF~m!y1ezJ84na8yow84I(V`$ft3du`HCg#Ak0NKfn>OwW`8 zd=5@iQrlA(bifz4&ct5r-^;h4-A@Ibs6l(x7?RG`91RPhs&OQGvrN`!Rx3r}NiN-znK+6)nex&nuzo;jOQ2>?F{y{vqo$pSU3m65$mw^?=lzF3- zR0ly3@L7LAoAVAPCUphkNk|uY9ZO)0b2|=dJ%}s_I9`tUht~s;JAe})8k@K8lNK`z z@0!kLmw(%n9VA9X75&%%>!*i%%G%8Z9Ppq1<6~-gB|%NS(Zhk3%PA6}U1>d|V;5DV zI(Rtm6HzFWhSp|7V69RAj|)Hq7l0PwTDQ$W3V*&G&+3hcm7 zqn8X}`{R!R^~keQv`HXhLa3feI<=@^utl1xSJW0|f7c^Hrr_cacR812!03!O{s_fa zf>!+EG~CopB!ks2kuU@Sq6P>^lng!AR$RojI?SI~PL#mvWB(XLDP6r<2Ta)jqXvr! zvQE)x+g!6_EeFQd)WiTp?i<-xC02Z9^!oQyIT);;j5+%!|B>*{nVv-+bP)nhFE1n7 zJ238IfnO_&$qN5;KuL)@d|oV>W2OU1VeIDUWE9UKNv9CWL4cpj6wITOy1|qdobnA` zAcM`@yRrtv5s=NWi1(qY3g*dj{o4~D8?B$)=<^*XABu^!L05~njZ-o_!Sl_4osQ$@ zbMrItFFFMOEc&IX6yB`kDwxVZ_PcCU3VO~fW%wjXrn@r^ju+FkR@jIJcHWZ?F#&WA z-n9E*_Nkmwx>X4>y@WEV2PP+(X^NSLA8F$M*IgC9)A-p4ozGjbG~sX+?o-k~_-mN_ z@T~1O#ZG`t@+FCOn%V)dN~s%H9>n+^@iU10bic0TzNKhvf=8nlpj736YaN*2XmU;n zmmffiNobgH0;D&)iJ+(L(Z72B>WPw@=M>tjo^c6`(*>H zbiU;Y=S{lL~KuKuIVeTMcOaY0SFz0hTwhsP<&NX`tZfR~zA?3VhxEF$~N-m>3R zIqM=(yY-d~mC&4k+jUq_KLvSrB==Z{X%GX6rIH;n&&Zd#@yA<|)MG7?+4Rg$3h*L+ zu!=E;{5CNN+4CfNukj}M^|>h2f6@psxZxtHVgWFjxqeL-Mnq5AsJ{bhT4>H{#dU`d zqmP%)1?76?IeR61Gt2c3hM4A5VtQY6xih!As@P9VT8Q`Z26oHcw9dSVL7T6j03ks2 zx&Bq-fbiI;q+BQR!G&i-89t28#7y)+QF2%LqdUCl zrBM~5y%-%-F#E$tU(4chU_v28St%Gf{Bs;Ag!>%92nu1aqAjcsq~HJOq^+BZG2*FU z)ltLTR)07W(XSm9k(L!fqqvkzOHa%Y9nIdb&N%b<$LSeJ97WPyYMfZA1x*l&E>Q*) z03DRXZ3e3+x^8dT6C!pd&m@A9ad2?7+lo=G7YqPZ+?VyPrr{bv33@0vtyf@Px|UYP z0`=F0LVHR2sfw-M)61Qy&`a#)=TlvQe}Rd8v>~`C+JEaH*~(Eka6~dHL3P4%fOvN` zJVJ5`)OPI?lnSFLy#<9*cGhUx@^C&;03~R(uyd;OgFvS0%ezw*8X9^q7-c*qDP zSEEV!zb0?srL>>+*h!$T~P~-UMW1BwbCGvvYfBFGof~HTT6fRYUgk zWdp(~4HJ(RM=O6>nwW68I|06Qh}F7uFl`it2GXgbx%ux$$M`;NRF!Z4IMC(ux(1&J z$9ior`QUGS7IJvQ!1ZxD)^9`ED_2}j)z2c7lQSU`dHB>@H6+kn z=?OZDnzZy_JQBD6K!O5c^AZCQj*ZKWqP_Kb|G^!Pgx|8oMSez;5iY zEe-vNmV;EwF;t;~OAm~=_)5`_QjCVv`Zq;Kho~zk=b)!0-l7X>%3q=T2h4y_I8bvA z>g!p_seS?WR5j{P8fogyr@|7$_B_Y~K;vQAd-bl3&NzM^2rvdE{GA!P>7o}?jPX@A zdJp3y-5Y3{ze%eMH_aK9i;}g>R!6uHKJ>8)j~K37MgiUGi_@&W!N2)c)cVNTe!uYB zZ(}CL-8H&=Y=cL{DlC>>*O<9xqjX!$CrDt65Yj$3^ocxIu+RVKj0>CU?tmbiu z;x@v%o>x*kh;X&jiGo{|K(=%3^BLRkEuc}O>NzQ57*}qh$9VuUOEkn05puT1Gy5^A zr#~|0bo^;RH=<#hD?6sm+ID&iTs+@mwT0}ToM_KXEsS$b&vMN+l^$8Q&zvW$Naet+ zf8&Or$RuRtz7mb0itU|HT%^zrN!7Oxq0+EfD9tef&aa$snL)LL7cgV779OY(!>f?{ z)`$DU1$H7jparrej#L!9w?AH4X^yG!gJwl?IY&9&}?oZphQ z2sy1)WOclyq{z56h|?FxjkB<{)L#%fB3A6wsAN#>wp?t4IhgJk`@mZ;|26=GzoVTZ zR=e5J
    TUZ(JVv1K&8o~ABZZS*X=X4|b=H9}CNvHXa2$k{rZld|{&8)xzKs6@E` zUhPfI^Ihw3rghr!T=MQQpYxN=>7n1@h!MhR;J(l|l;jLs6u6?rQxP&kpC>kcARi1( zpfYZjudqd(moiofkSCYOHLC|opS@yUGPSq$_j+$ z^A|W2@Rs$j{2yl1S{{i6h}1Pfjk3)7eXsHcySdKIzh@$2VoYo1K2<;woAPuNT+IH6 zNNu7^Q`|WGGZ=0Tfv4I;8P$6F9wW7|Cj{q#8@y@jfyIg+50c!JHXo=`0{>*fhLDco zoiz$13O)_i5Ii4_oXw~G-F}Y*8Jxxk^Osxm69;XfHBWYU{0&J`p1j2=9KCkc6%h73 z7!I*NX|wfi?)oSnO;s?uev;4c5BGX%S<()doG<$0h5AjZ#~Gm%cSbI4Te9t|Jl}Ea z+JEeW2X(cIq2DeryXMtsgims3UFY%3$1yYS3N6=r<+amTK~}_`6jqXD5}aZ%!ZqAf zV~Z}&)LFYN-Uk*9k;Z2Gv*3x9C&_ICk*{9EXLy?aL)(b$*F8To!Y-I6CaPMpZk$H0 z&>ya9_;$KFL7fNK46UDE{92Ax_e)n*^V<_OA6>+E`#`d7ehX$^3dfg4sO{Axoj&wk8S?7tp2H2$I1}5;vtSC$@@#q zj$rYpS*=g1k_kn=wsBJnGxooC?*2$v31-SS=}n)R>#$Bm_afR!kYZ}@;U$6rWNFQV z)9<^&#1_MgFReVyO$G#vkHE2uv6o@N6!T0oGP{Vy*nKzej=Sg=bk zBye_4qaoBaFyBka;dRM9H`HH{6p7m1Z<26^76i^qM>BRSo;O2J`x2j3e5HreJH!{6_txb_9D|Ff)@ySu-$6;-Bd604=&gy+=$cBcPL zp#p4T&mXRKmz;tMPc4$v^vI2cINc25@{ZXYH_5TJx~*@ z!GH~GObwu;-mdOgkA$Y!g@_f+byql3orChr^MX{w`7*zO*))H7CXi(%=6m!_Pu(J* zNvIi6ZqOp;KOfWUfck?gN}>t?PJepZP#M+BEsm^4ep|us6{XaO_>!%N1S3<@tqi>M z@P`(XSHAQQhvMsL20^KpbIG%#A8<&{Bee=aYO#(jrZc5SiY!B2_ZQCx zB?J%BC~ev+MqP|Y{qE~>d$(0W~@A%Pd~38jyrgk`|l zR+$JUal#lx)R>fMwkwYUk}D;657{_Q*t3eYI*KJkbPRIKm$t0e#3M9+3@Og7*|(o9 zPV||6>Ac`1RCo)o+0hBY)oKt>g#XyXN$uhG&Wj0GiJc8!J-4)7A?B6qzWeV5V1gDI zX#*GzC7zXPc6v+MX+E97Q!y-?Alw$Zws+4giftHC~u5mnakQz2f4Gy6=fQ~6gS`!AT zc9;e9pWK^t{x~Z1TTTz1+=0~chlz{xKN7=@RwyY&cPevL1p3m=d^V_`GRSW9uyi>K(W1*H-Ws@Qdi$nZGZthZzs3=75ufCzV{UTI z51a8wJd*sHDEngmXMAAw!d5)UuF%Q>ll8Gy!zcLiPhK{~Hwz*?7vjl4ApJq3Y(Ly% zh=QrsVD*&lnI;oC-$_g3$n&=BE`0Ucd%z$*0d4N6hf2%+ew223yVqQ>TD)klVqW0D zB3@p+Ro>cp}UX&ADe+nD^e9#mRPG?&yuHJ z{+5%^4ZVQ*JV5{WjS$mAL#ViVZFeH~j>^Z&t<_wmVE?^V&N2OWxC(u#<=)Q)-sc#l zX?8tt&by3rcb=Z$1%1)!8_98v7+YmtkH41SD>fjJkXUycXmSi;^NJ%>+Z@mf!jLdW zf@2HZRTYNX2oaP|de#mdvDvNv?#*e~%40%eNco3_xb#T#R)nZJ?y@GUgVj~GVVWt7 z-%ZW}uQoacT&pXA8mTHf3O5^2hVpMjKXHGAat-BeVQ>wX@_4pRE#XSU4;Nu98c0Nc zv#oV`^L=yMv=0vq3G5pmlFcMqo<(oi`E0wq8R=KQAMxh79rMLw5e8cHAI@837qUq3 zI%F&)wO~#n0+Ay1&gHe_j1K1ew9e^ycYg09mx7GTXVYD{0c#3acCRchXyfWDoK$!o z9wY=)SEEmV;>!Ri{MPjerh_3{8LiD!=C?(j(_H#|2Vo(JigE`5Dl*3{QKMnk3kTul z0K7=mhvH+wckCU7(24MuI1^eZQ2pFLQDyMwXWNXf^g_UW_SbH9W|E|e<$5f~3GaGde;WWf zCV)+OCeMjvqQMU`ezlY})W^QJ=>v!TuG*aT^b*UYYe~6l&+W%(-)6JGjo$+=`I$P; zV56Rs&7t{E7ZvSow4WCR zkJyuFZpFN-UTV_42Ddru`=jjm!lB}4q&c&a%Er9A$XZ#ih}c=|@ZTU4oCx6rk#lS3 zk?Vdl`HA3kMaH`bnNn=4GIL_e93qO?(mc06A+${E6uGi8us)uBU4ng*ms?lso19^A zF)p?byhM&+!j;Zft%xydX6&^e8%J49@6Ue!9&V6>Ug`i6+3vKH_W6s)2>-hu`9RGY zOcG6|>bckkuQLVv%NSGmbC92#pV$z+o)xZM^ktRe66dUGe3j3zCL;r8Xw6fb&`##A zB;e|;RxaXeucK;$af=38HnQ%2@x7X;ZQvT7*%xt*b1>{{2TQRfC@aaT0I*N?b zLO6j(r+qOi8&KZ5b=THAX)-vF1_%Hv^qmj!mWv{OhZQW*x+WDV9|dHJeFpK}Hx_Qn z>6f*t;L?7O-T8;d$WwL{hV~6v7zM-6$QCg*ke+h&Kf-}B-b;=t5g}t3S5~~c6eH-e zk#yo~J~at4E{4tD2s}c3zWdnXq<4XmaNg%!tn4099kSPx>y||0w(PZ$%1lz7awu>@ z+6w7q*X%%1Po6!j~dVV!4){<>YJkg6p_>d4IYz5v|m)8=Ge_sda=x*gKH3K4xyc zCSt`@FQ?1`3%M^beD`|6{pfZHQQw+^$X;eA9RR53v40BkR>1JXp$%-=&vQMX=+Bev z$F5tICIng~KZg|)!{#EfJb#B``~guKWzB2WS^dXa&;j=ZoXzv?R{I4|5a1qlSEB=b zx1|d^#Rm@dZY(SFJ%QzA@itiKz9KUZK~xbDnY(G#7)?Xe0loE`EZP@;-i+g6jl+2O zQ>Cnn2A%tyJE0S&VE#SKj&>_1$+_kL<%B^At`ceC-vRJ?J4?Dp7715IUYK!E*-}{rVdk`-#N`wC{!-XMn`8uo>a#BCzEyo}k(uovFWXV;U<|`PWE{ zyvQB)cn@Y)`414nGT+m`=lh`9z_7#`J#l>&e-p?h#UpGcu{eU!+d8k}*OGCea21qB zgT>5%LV4mXy6mhmobO;)^DGolYRWfsj#X=Tb@ebv0kA$C2R=@a&o`?sYQ_Ad{A#o zygL}vSHO{qhYSpi^{r-AN=N(N$zA&M~UK*f28na6(3G(!JHKp8gBmjHI$d~L|`-Kakh z;U&7@h^7byD)mfub490v@$KAAaosM;1ni!I6e+ZM*s*RnqVMF7<5pVAhX&;yhuWZQ zlchu+YJD{__`(fi4Oek#uOX9i z-s`HXB?D2o&orgoH4f%YiFvigRkXJkZQ72N5pT!@u69eva_4ayqlsa9p@Okb`ysn9 zEiv;G_t?r=q||18zTWrq99?HN{~(^o=e_ysPt76j#;}+{!~!vhSHh%xDg`0u_HWAm z*7M9E^jW|Ha|2Bti+n?J-{Z8h2GTif52pAm<3O8YB}z5*eRC1a5xQ9Rm!+Q@O!rDC z|3%}iiwj~Yb_c;xsl)Yf_|QO-HsboeV9B#$G9tkRe#@Hj*zte8-0xnpUMMSP#&KrJ zZHO6T<@a4`ROUg}2REw~MLog=_cwEu*KW%-@8Buvg&uB3{`OOAQ#8-%&bwSM&K;uO zJCe$Xer0Ttrhj-ZuPZy!>r9l(P>ce@R64U~5cG#gyHJD0Thq)iDvIo(cY;Fu?Dm>D zN>qhB=d2~V)t7wavcqrkpQTnLQz^(x-~ab*0`tJ}QhroiVvF%4`*HW2a*GE7d3NPR z{m&I&stQdSg^TyiZ+3MRQ`kCR^ew208D7qDVH|Gt{dViZ(^TI`#c=DKgH%+E+Hh*d zP4wfArQlM`gH0F26D6VcH0hJV>AKQLgov1`FN2pU9^`Ex+KCi=<_S#I>8}8Q0;ECf zmu;10%ny+STu|vr79nJ>{n`3vIO^$IAz5&l9~`8zi^x$PXr(DFe<_P3K}o!uQX#Sf zE&d$;{#WYYYL>sV`_bosC>?knkU;pO;6J8J=r+O2rCv-oWA}I&Rb-m%cwtp4mVL^< zh^N0S@Zco!)sq!Fi#a~)!gKAn#&VV(Dw$~M)YB8H)1wsJG@l_H1B#B|c#I#em{087 z^DmuFP6Q&rj_-4pLT7p;wl{n!UuCInK8E;DrH?lw=@3Q5RfQpvxCPci5x(w%>_{yANl6QIAfaKrB7lS+kFpT8^ z#&gf9!lZ$KXgCDe52R_mmKgCMbQ(-pWhBEf0voN(+s}AUaoSTzB|D%n+r0RBrG2)+ zrF{peLT>`V3;XoEQ+N9Os5$6{SshS^i9_Z=dFcOH{|%=2WZ0*l4mu!1W>qN9%+UM& zPId9NT7)z8Cw+lpq)Gs1>VN(Y|NToU3r!LN3m!#0taqSbuA7{&oiM$?`u}kOV3ale zIWq3f29kBM^*Fb-J=>!1!21tu5S>x0Eq4v+8qMZtu(@?N;fBFSjr()?C8EA2hf)n% zCmz<~52AoVaIkqi>3DA_3xC!Iqzcz9|-Ip3+yelR|Jo|CSZ+WM_L2TX}_1m zW9lnwIg9A~$_o=C)J24ZZ!m zzxLxo3)HHwJ8IO4az+_X;_>jeLpG!m*8(u!@$NhDs}W){e|D$aS}i5;h0_R0K-4~7 z@++q1US!LcBIY+9m_9xpBJDFK_&#xZskzkB{2B*`?vt3$L5rjCma{M`a9@9|k~&~F z0^~xF+lpe6l{+o7l}X4_R)+5-^4=KOth#Uw^toTwnT#t87p8U~@Fdw>pA{`x&^;Yg z%&z{o=Ap&JuZJ+3ZdhFtxvxVjFro9?m$KY%%F7$n#qOVHyRd~$fHH!a7P`%o-HV-1 z>fn7rTX$4K%iTjQmVwmIVLB|^qH>gN=7J;0%{(sc2a|+1)c;)vb;hrS$aRByPj zeWg9rB=Q8qV(^qYsm;eBB*^Dk%vx146qS~q8^9MB59-?E#pq1jzCJAcuV$tS`=Vp? zn$Y1kvk^$*YVQKfu7c|r?dP28O|2NVJ*Dveeh@uiK5)EI=K|3DyJOY<=@`;Kz= zbes~rtYiGWl7|FC@XU3!+tcSc&$I0A)fYoE#nu0p0*0kL2d?=+aD8kLSaQ!u6o_`S$1vwd?Gf%8WTE97qg1*n$>?Ut!FTEsr zWnK(m;6F?np9cNv^y+PNLp{{nP6pxF^Q8`|lGGyZ>!K?$`NA~CcQ zpI1nyOL@e|Pw}u%kbiPaYS%CS+cWn!&y7pQQ$)d81oCF?s5Yfmu#z_Fk;^cJK+SvK z-IjT?O4ptKQ5P3`;f1hA`@P?;+%& z&*3IDa2kqR-uB+H*Xp%e4QP;ef2OqS8mrL?RzCx(6rRnj0yte)Y6D&$aP>4a+4|p-OMiqps|W!Z>b>R)wcgL1Ov$m(B<;3ZZqZN`-45gU*cR zVXS^8&#hq+DW1&t3%#d-J~KZLoBsa8&#XT;=1^J5>Yi^uUc!1N!`nJ+rn@(B zCiuL^=bS&^`2L@TL-uCC+H1{q&pWQ`n)kdpi)L#DC&6JMg|g=I4lQ?9NJ zV)#c=g9cTnGhT3kjU&K8Gjn}e1xrRAXTm>|>-hDiy~qZI^I81;nX<9(%{f=7J;H?G z{KE(FAFcAp!t~haIQk!%-r&zZen&c=vS*0xng7V^oq;M-a1D`F{sS*a?Y5kfDLAaG z5W|whGKX>`81D@D&V=tF!DD!A^Z@v6bL*O}ZO4o!KaIcmxI=Ag-1=`E3!65uunMU{ zTrjh1Z3H5HOnpj-Qs)k3bG=z@ zowP^$P%?87gco{Km9@Y5(uRpfsp{n3n`H0)U#p6Ql_b*mMSkucJjllOcBPj^gW)7< zjZ7^3Fq^52CbHD{Nu}JdFvA$~$nzHS@fSik<}e#p$?zJIro5w@ZM@t=c+KsHaKfq6 zma||Fw418|qv3IOmZ2!L7%H&tmFq2^_fh1FDBJW0_x=V0?ykQe#vtMotgd2I{+?ZX z8H<{jp8?l_)M+-3Y|A%`P0pB%x2PNi0%c2fj874tBiMMo_yVe|ju-`MUnKIuqzPD! zYoGa{9|4Qnfs&H2g4yyGe-(5_1IqLeE%)=$ecX`Ox-Y_oN#4Qhr z(?TwywHGpeiJoDOE~C86g-aj!#e=%j-YoyptAax7#w46}+t`eha!nNhM!BE`r~(d%j4lw6;h6ksD$82oi&b zm%aVVFHGL)iouR*8A!n=gj=nTUsuBWBbjq4EmmOAd*vs)T;Vw#y^P^#RSK5*h|~$s zNBEq3`sd%cnN4@^TLxj`#&3-0-c}xLPG@TIn|Xg$&c_ks@*i%9)+UmlM1IJ*kmPSG z4(BDn%2c!Oe%HI|&f(eU$$|)$_Tqo9_oc6Zs9m-Q#jEAOa6GO{0b>oh;Sw%&dxBAQhx z&}pW9XLcS{7p5ft!$l9Xg=k~L@tywBzv zPO<7Rw_;s>%K)Hc>Q;HaD!Dc67bEKlTo(}~4ff+ta53<`&8SR|41oTFdEf%+;OEB? zxJtPrsh~)>-*F-Ic@CayPiM>9Z0+rwRyre#7Mhvfc)iety|^1MGIgo@1U@3w8zOJEo!D}1UZNf4wMr4$qlYNic0mE^aY-faE!#9d36(6IBAsh~ z{<`pTyk@N=(&173l99*7e{1EzT~o2>G%franNZ7f9AVn?)YA=t@fn%bWbmh0IiQm`^+`a@L3Ag3n9BOaF=@p|yo8{5`Q2r{2f)O5pt+e*4 zWqk6PFzEy4G9a9tplw9VC1Spqz}riii+DT9#fj7XNRJl_m0aQcT5BCnFIt=U-ggcD z(z{y#Bp+>R4h|_eWn)AWKi|v1LYa?JxYZh0+tdiuBk=^6~f{mZaU)NFFQyj_|PpiCGNQDp!3%4 zbb*7o6_Ss(K=Xk8j}BcMq$5+`qwB!EByG{2IG2oF?q>MDn?V3B>AjifGAM}UWo2b` z^r5kV1|OnEur@Q(PYr4_iQ}+~@yv&`qK>@mA~+$DAjuwtvUj*kZFc z<5h=7Bvnkm!S3efc~{540|1=%?{9gKbq)`q++;r4_X6^;*1>|5wLY935_X7)6%>S;y4 z0Vcjme&BQ3!maY{#wTWapV2?(?xZa(uJAVuajvn#O0spaUYb&#HHDy35#BqW!L;T7 zE1&aCD|JO!=@`y>cE*|^tzo9&@y334^e2nw5vxb|`^WpO56-6;kNdA>mKrBdgznXU#c2LI za+*VXKNr$M{l19+CzLB$@;yY5h^?h2CsN0gc;1DW;o}#=FhuX6#L?p7*`__%#zvG0 zoAw+FCLRWXs+l=oiU2#Bp?6a?Qn10!#@-&c`vQ8U{g1(x3y-9IW&|g%Ripb-G_Cz^ zWfz9LJu>2$sI7VGcc$zp+b8Aq1)p3@k^Fsl z@N04M_-4A@+Pp&AJntuQk4Cg`;CiG+7_RH-WO;$*DA);4H{rHPaqBl7b0#C|cY$1sw%$%sr(8K(#y?(VozWWpi= z-wT-pytOVvs_-bUXPC;hqcDtUJG+hwW(7I|c!VEgy50XW-1(7Uz%%etg|IBOZDXk3 zSwoyjEg-J*eH(dH7_eHl$O ze~X7BNxiV~`2MtB{7-z&!K=@!CK9DDai!?kGB7Z(@X1jXynV>6+f`T#%CWz^?r-i^ zuL>$VL#7cFOYAi*oAg2d@~(OBjNtJl*56OP3V+##2nXjy8w#m$L(?gouvzo19zy2S z2w)}q{xI@ogm*wEQwO;?I}F@`pJ;y4oH= z5~MdBTn+YHY8&-aEkkj`Ow<*I+54DguUjY?4D~R{y-j=mp87Mx{cWR@_a#yxigfmn z+Yi~1Zn2pR6*@YaotXNr^iI_4pLJDeu3(bK2h+~&XT6~$TXJbg*vnIiAW+8)lR#(A z!AuMvDmVzYVjo0af+PF;oV@tq?#~R@6aXndE^P2?xX`o|RJ0Bd5u04!t#ckc;80K`S8meh%yqQeyOv>6q0dCr>9(xApE`BhZN2kV07W& z(6=9kQ&hO@y%#m468Vn$tiQBjlQZ==7grqf>Aoz`}=ceGos-y#C0F4u=WW@ zS)XT1i=#*icn3Tx3HueU_0GRj)9_`sDC+&G;Gn+fcecBr*CXQiYH8U(P%1~%Z(q_z zUD(5i0)4LlkqA9TwG~+C<GePm*mRgcm=I% z4qQfd2%>*k%2FCC4GS?MNy8))Lf0p|Gk-X+Q6?O2gtX z`izkV@ISFv;R}x$aK~ z*X;W#Cx_~AQr+7l>ASAa|&u@Wukk4J)0<7u#QneXB$jOj}XZ?1&> zkV+|!ynSAhA|$-VjG|2!dXj?eM~*2>H+Vns!SIE?D>s=v-Cq=PsJoU3eF#qaQj8fR z9DC?DGWDNXZh!VX&tDqC1ZP8qLI#fh&P3i|B&^q+U{!v6ZR|M#c=Zv`*GEP*wPxtfhDR(i=OUuey4ORc~m1z^^oCM2(cC#liNl4~P z4JA|hn+%VPLdR`)-zTtJBq-;NwFn{p{P{C7^21nx2GoX=v3I=DYi*pZNW0-Ol>cV^ zz(qkpL7mmA8+&a$~ESSY1z3zI??peAj_Y;BWSQ~2$Mnwatp0uM{d?8>#-H(xm$1TLsyFJ1 zOvclxf9J9v8XC&%kK+T4`nh+jTUTu`gVFx!eL*x1;>@!y#&%X(Sj(ra3DCqQyL?v#H+1$KlS9HZ9=CFC5s zs$JulwX+oo(7}l1u$-vY{pwen>Ulia!RvZ_eBtJ&fCEFqRGPZE8Y7%Ht$6$Zp7bG$ z5-KFVR|uJuQ09Fz$!j_~I?qH%Cr=S}#05`DBWJqpJX@6pYmnu-a8tog^nXv}VNEwD zmJT%;=-Y#%kv_6pyVaNTAxn*Qr^TN*fmxr6*?xP%`VWU>z^7)fFL^4r!oq<{Qi?s0 zNUGM>Ru0b)o8MV{ANtFhV+wMo_` z)`6;ViI6xaV0}bfcB=JGe~NX5e9;xeQs#|cw@OVw0^)pL2OahfXd<<&hS$Fi?PEMN z@EX-KG}0T2mJ#+|nQL%;!EQd0DV+!&n_597dSdV18SFu0psb1DD}ns#?RuzPuQ8eP zDcWOOMFmsAu$QR>YprO;mPY?>xS3>XH3`x$EDX;pS0WI`=l=Wn{M<)H$KAdw%2B0I z)p}_KGEiJxJWw1-B}>ffB8;Rfdiyl?r!91Ayg&nw7^9^pFuE|9Cbd%cxsh!0;m2#K z&E6iXTj)+!vI`9t*X5Xo)%UYe9^108Qtj_9J5!Y`sBA9Bkzc&{&c`&cA~B(T@rf#7 z9l|GDqkCfoW)c#C3Q6(KrqI6c(~jnNXL~v)%b|ga zCsCW%m#0BNp+OMHpT0iM&mV8QqUTZcY>6~Ug~toE2skX0ROw586fdj~{+xHOQl$P0 z!OEjJ*_y5@FCW>ksWctUt*$=zC-ImlbL`JBg}+N${&T3PCXQJw>n%ToNNSri5g1D& z7dg>x*~JhK_&>#`^fjMMGn5wy-yKhJb_wp)V{shz$rLXTmH4(vJxc32Kqtg8u`sfk zgGbWbG=IrKaMgOouV_A)&VKo4(B<8&$*3%Q-nW2C^Eu4@EqaY|a!j-$OVu!y<{r^z zIX}I%rL?6)t4&E^(#kOX_o2+Tvt0JQ0h(A-w2Vz@uoFm;^hkQUX-UJ))YhCr5%GY# zc2g=r&$dmq=nSWK0Nqfj)gGT=wlcjs#^6s+PpN0?ELr`iCBB%0ekTOSUX~A0ffg&P zm2-8LdJQL%Jj;{mXPZ_oD!X0l-brk&B(yi)xNL$omCb65hmoVHO-o^kf%$=7DnU{G zao6fOwft-BC%%HIa{s>Bi%1OZ$w<^#Ogre+?$#O!23*6Qxv|~S_NF!L|ME$iNn&g| zKTLMr-54x;uc@hNsck9JnlvvQ_A;%;78>Is0iOB%4*>)+J+j2!u@e3FWCuG{^9g0= z8Bw@-nNbmfQVBfN41AU?SH8TiC-uuA+_*hD=mZ3?cDxjSU%!iMkG#>Yz+QH4Zy#sY z-ZWode++9=({D{TCq>GMC%$;v>th95#i^|^blR90_y=8iMM#)9yl3L*;RCEWCh7)? z>ALH(SIZFKT8VgFjw`3F>T>#}NjzD*O)JoddCsTI5-T@8O^hYD&8reEoU0bU^I_0)%I;!MHKVN;7 z+-pwQNH zs5ZJ?OtG2a9Cbz0et(+Px`>2=cI48~(<3E_M8?v=0qu=UCGdM=S-U}*F_JWCODPri zGJ`ehVAgS-Gb!Xn4qI-pG&(XV1QL(dx;~PFg<&ySYTpNJtnJc%t3mr2OPyw6-1>y; zZcPWte$&NTqSZBwUO=xs5Qj=8>FRtrbg$N|Ei1)?#uuIZ*o)a?rdln5r-5{FBMX;aJ@`4Z-lDf};E4O#ECDfYqvdt2(EFz*3M^5& zYa0rt6d4q*4tpB|sjVY9A4G$zw}KcOXReR>W%-Y!9AsjgS#2GfYK{vyUu0CLon1xc ze3(l-)dr+dM+ni+pJ}gtlDVF4n=nMuX8g{l5vA}66O_A%s7dj-G->jL)J@6OZzoj z=Sa(bZ1-XtotRU=N#wVceu-~=2P7vc`GY9k^OwIZIz>@H;$1*J^S79 zRk%Jc$r9U7kB4QSHCZ@GNJyxDipw;?&1+{u)f-~X*~%UIAv`JW`!cOP2v7Do|6)#7 zO0G`RjU;2!`iWDSjIlf0Z634!Z!zkh`e|&^uGc5yzUYQ5w~%zohK#v^0l5rpj5@7d zJy+{VUccMjH~-SVcXF5C1>FR^bLhSnDwQcW)Sd)L*lr)>IJ@F)3g08I4snt6*H^cu-A#AW6?~9v=+nKH;;j$AG z6A;dI^RAB?lB1#GfVLo#B(a(tX3IaT0MP;DTxc&?lde~{LAcCUZ;(I|_f8L!qVpxs zoTye^EB$lsIOE(gVcdZUq1Rw1nehC06w`aO*4zE3kCaT>)Q^b z|Mac%ehVVFFs&?^@5fUcAg2r^ns&_BX`0(QP|qL3qm+96n(lStEn`3cm?Q_m%O)Ep z!s$^o)YNR;C%29&|K&=&hxf{h>9Ncd^w-ceI=y{S%u_2tST9s9@eU|0EzO8>oUwKl z7Ji64g!VOnHRl4sLwXps^)(I6rH;(?SktY=`tJqOudw5dpQsfdTONpX$@!6sua+$# z)FvlI9q&%>d7Mr{CGbOUmk)MlYtMG39mfm5lV|H^g?RgnZ;__0tQbg}DwqZ;2I11j zP4Kjt6*U?S(nV5AZ;usBe|^S#KIgheK|zr?4DBU&42}NTw)_)fzH6k z{QoscZo5`d4<2F21AEvUEzl{lyaralYBFR1GG}`A%FkR$&q7@$phwIHpik_zhbQdm zPScgm>F7yOp%!<8a)J7{7i?42y7~pj>e?x1(^gFl11+B45D-uIW~&%^8%`HA5M6na zNj%R7bJa4!aOihMF7(Pk18G7&w+Y}zA}}LC!!2Fi)Q;srI&}x-O6<}fKfG{4U7Qp_ zonWUp!k^+)>U^{&*jbv)rGP2#=H}gNgo1`MXu3KnsxZx%6f_6v_A}n& zfdO5iL^d;Ar1jhB{{Mh%cSF>&`=)YO*GO-w(Y+2`5J`8Cj#QU)E$RSI+i4L-(nv)n zpm($;{fz%=A9zEn+8o)UWL}h@C+>VY3JNx20XzGtt)8&y`J=8=ROcXCR zHo#)t%Gy4%fxra@9n7d~li|!BH{d0q&{ZlbDy)*12ftVTFg6?yAv~Lz|Isok<9{?| zG@hA}apCR(a)JxLKFJt5jA-1lg1Bf#F`nZEq50c=A&^*(=c|>u_V2c}wXOAPtgNmT zsMU#k$ig&2K=S{4=L> zUajBz9N==OI68K0xWCKzx5_JO+U+-|s*&_d$Vz%Hf8&Uv*?PZs;AHIawoJ(XX(GEt z7h~r$WMoK42m=j`dYywsQ{#0Ey^hOncv)Ggt*wol$2?<5i+LOWPJ@Y>n%d;#q%7Y> zy6$t$oC_%r4-Xlc5aI#Ir>-dKXFU7wl$DhgY!tF&h?bX@8qb%4Kryfag`%W^!D?W> z_?Gr74eW*j?o=cQ7mfJMTUzeC>gu=v?UeIN?!Cqja&n(%?Z+#u=I1u-DnAV_wd3jZ z^!05_{>;*gj{FY3wA9rlgc)LKX=(FbHhDp+Eauq_Iu}~~pS>3rwc8w_=H+$Yo8zU| zsFOS^?hkB{w%W2ct?y{$IrI zZXmsGLxn-!{EURpplX_NOAT^b2i;dQK+J~%bAiUsmk*us zZm}x$(Ta`aD$%ktoVG!*ltRpbJTDuxZkyie`|}5F9X|gfXp8foW8Zim_J06)`-!Qs z{{chqe&zoI!ONk=T{2UsQ^>mEh2)x@{RI*4Pkp5x%hzVCM@EJzW!I=z#&F^M)d&4o zJwK_KqFZmEnL>%izMH3j$~pU2bTX&HzeL6T2g;Rb9=>{l$;@1W@EA29B!ufs%ZL(_ zA+ANYcaM1K7e9l;eC?pN#;BV93?(`&v0r?MbStc*LUa;;X$z;JbT#br_?_ z{ZNTw!oryBH=`smld>{0PJqFK@(0Ye3r0T65>?TVdT#Xn{sguy1yrcFIs0_6ZmXb> z5MGatoSf?CF%9Kugl9YpM=+zls{y&k#2WW^cK=_t)IUrYleioho@6Y8v{<&X!&5Sb z6yLrcDNO~1Apl2wh|lVw-o%SXWynwrWMs0{LTAR3j8MuvB>{00nBkwrG8P^*red79|7v-5Qh zB(R9iM=^ihdt5+_G)^r%_mBZ=o@;%~*%ow&s5$&S*U$?k=yRp$X7spVlxyUrAuFBG zmLks|qdBwjL0{X6$<@H2J*vQd5!-YlA}%gYz-|s~Wen}R)kLwi&}tQC9>vK^^Co{GEzXd4PcBOR#UFbB_(Sqv$ggXGua2Aer30qYHL&Is;{rta|O4Y zO3mjf%pewq?)N4=47&1Xt&ZG>H7Zq1e)Qp$U=9DZp0`fPS4y^4CLipGbcH7NV#}fQ z4UpuegebojC9*SH+gsZZw_RLHBV}mQ^}lDiPvxjKwXw3Y z#s`}z!_ml;O&QFV{|U@!w+5PmB^bvt)7z|4f`N~*adcs)MU@suh+`IjG_0g z9bNcfH^oh<5UpJJeLE)p-}k&A$lxB(-v&)DHICRl+)fq}5=?g4%mLt@zn@=pOqBUV z^#T9wMO9s!md8VD*p4GA2_Fw7XuiTAtS@ zq@<*e9{JvSY!!H1U$U9bd|K%YXUNLad%ZSD{s)o7rP#PXc{Eqawq^!wwn)P55Inq? z|Av0{>cbQK7nod^IzKhaKVc9PFWPX97iruAQ037v92SS^#Cp7OGQcs20c_E+Oqw<@ zFu>d&oTE{+OIuXGbmF4pw$Z*Hus>B{=6Sy8-yK5_K$Cdq&t)Pv!SO6YLPGw}NPbIs ziX{A%g)4M1_DARG{4(s?v0zGhwd&@(26{(i8JyS8fd~mux*t%ioc5?v*`5PAp zN0oX(D9@o7Ksp751ZOFBWsTfRKQ2BX6$?|$SBUuVJA^1PCK(qWL)`oD@K75RI7Hlz zon_;!>_yH}QavbG+S#7=*Tu#AzkYdxFfZlo7|6JQMb4U2VLH1x_@3ljXi#i|9amC! z3}YgvZKi@m*r(yj9grWT{V4u8k}VH~$&&VMt_zV1Pflh;H8r+i{O^a@oFelVis_l7 zi_I~TN@;oA#B}pWz{m{WS!pLv#yHuiUB;hW7Crx7L^K{Y%GwIo_S07% z%_r+AIH@O1OHOx3r&sN)G@F=d-b~H#^RavMZn9~IR(Uqv6sT7+Fwhva=T{g1_&hao z_Cj;k3&%LQi=0e+NPBw#p%yzLKv3ux-_5$d^7e_7Yzo&-F*n-mM2Y)*^aD(PlOFBRJrZ9S6(~3 z7Q$J?3A+GPS0u(Iu?jz;?$GT&%;d>u=#BA|pbH zcry`?8940FP{0>58u(Y@>*wc_nKi2HcL=)*Ukq2Adxi9WLPvM+jQ#|zz+w?tXqEeU z&opgp4uRvhB=DF<)2c;%!TNgHNpze+i%K?uE<;K}!Ub3?y>d605ktTs1F*YLr-_u6 zRWWRURa(LsWN1%`*hdyW&)D`i%+}dAZ57rf$;4)wC`1YdbbSEm0>`}DQS%psvN9Xd z5W>j{vvGI?#C)B)M(Jtx4_Pw2j!yF7@{#j#NioTlp!oYzH8b?{eduDV-`-qVol>`Q zKhJgWs2&BT!V}UAbi)QaY+BNX%+x|V(^ZZ=am>jIvZA8Di5zDRmVy|IbJtDuD?1qp zaKfu$yWx&=&RN~7wXQ3(4K8Od?7Ha_IjkBBFYIMQhSVV+*)o0FBukN#7v}(u@sP5gp4L!&&{KDmuMA+>YBxCkOfQEXJBES+Rm3FGaC6 z>W}Ak+@0YBmjv!&PK6~?77z2p;?T7VNQzlgkueiSxE$8k z=}(M|S6NL5)(g4cGab$G!sv$d%BBKd^RdrCPneIsJI)w}#~4b+mMq2UxPj?p3Z9+z zd=3js+0sheN?`oC^b3yB^cd^yYT^MBm(SSIp&e;z5;GL$pJ($nB_g8zrxrH-CeCU$TloXWs@U2MC zaeE`wUn$`S#!pw7$qE~tCDP!HB|$vT7Z!caAKEeRj3I8#8wdB6jr&DHYDYiI2w}_wS9CcDJd~*ni0P|=)-Q_$;A6H>8%GD4Vmd^ zXkJtyU($uHjb3T5DN2cNJtzv^-`=Q7*-5oekc%IQ2hl9E8ZXg)btl$=)TP@vOYpk9 z>yUE$zwugME-S6ettj>E}gFPMJr=K@MW)LACjT#-iInD%zSw;)|Id!tchTtUz! zkJRVWWLmq1RlSJ}KOT_q-2mdjEK$pqZdrA;L`2x9qoX5*&)o$S?tX9R5&$y~0@{%i zZ%Ijs1TzZ?b=%}tiSq6Tt45>3skK?niOQvZ5ctd#B&hE)7BC^r5{#bvh5gz(^7Ho} zFH)J`Ek+@|;=A?xMvxx1xy@!oOUnRUEe$4loGOQ1%D8cbIz4Vs)J>`o2>rgN+mp5n z&0io8ab#pYkO0h>R_xAQAN~12MO(QyQ_;Qgx$XCF&~duyYN*=+ zuc85#TvrExSTJ@CuBUzRERLXzR*=9X7f;k$s8q$ELM5fKqVBq98Sk%uT*!}6+%QQF+R419N^tPlx6$6-JWC5)hE z+(kH=Ajqp%uh@dR0GL97hK`kvyzO_7A#(Lg>p2{??pHQK_-iSYENw+%{lh~; z@v36h^X_K^euXBuq@BNNlz z0iTm!&&$s4aEUm~CS5nt@n3_QPuH_aR+h!+56W_y3=q3%FfA!V07(mh99&#kR>7KY z5CFevI#++OIhu#V%wm?HTxB^M_;3b#rj{S$<8xkL&l6PsybE1Wu}J%SUoy6=@S}@I z3SxS-Cu0H`8N~7q66|#ody{op66i&0tkS~))MPxrK5UXwQX6Qx@n8UejRl^gqqWD| zXEKe7jx~P?X%zw8(73j_y|=fQ0`tqekLzKnmQ@-YcGMZ@f{_V&6=qO|yj}@mk0zaP zvNRNma~xv>y`yvmQ^Q0^mb7b;sOdNQ#40-N@^b*iPFGr(&E}qfOpjGsIeDx<@N9ST zRYt!2PrsKfJyPTW0Ep6btDoOveEoVL{j{%c&x2=c8IXz`p9YF0V+kzR-C6-Q!)e?% z1KO!7TxdPC{qB`3lt0mI%wHkr@csNj|MP$D`)X3_OZ>Uoq#9olBiWlY_qx->Ds%Sb zjpO5E7yGT++1>p7ZL7xXOfc56{MW~xb2p))g48$!Sksvn1h(O-lyenZ(5FPxO_!Ty zXLGKhVS-rdw;tEPf+5*9Mhs$6E|NikL3;Xn!^6W_Qt^70u?o|5#AtkQEfi zFd_)87ruDjqk)Z#JX&Zr7aZVnyuM+_$(n=T<+K)W9N^<{D&8OB%+ipE9DQX7#oA36be>$PP)cm3p zV4~n;JLiyPh&TjbLE}|c^BAv0^VKUPhFK|b1>YRl_Va3}D@-+cHVw*#?2eX=>k!{` zLsL90`}P^OTy*$oXVTO_(ym1L;_RwgSID1&ipp_wWTW9MlkL;QJERh@jXBL%9*?WG zTqS-{QPB|M>!J`MuF-t?viE1io)_IZ`RrRu?LjDqC{GSiBzQAawCqQ9ZZBhjL!YkD zr~*7ekEV(;QYtp=+QTp#6w!bmW3`-7%_)Uktg;NKiREA;9yf!ejm}pSaN|HSkU^d` z^Z6PLq!JLww?Eyz;J)Q1uZ{!zc%eCo6+Tt zZ%r2G7Q%+In2J0U&FKK?R=zH$q2t*;>gTr_EmZ>PV?ov29T`A&c@@+T5Y4i(GBU7e zn?Z9RPo>}I+y~T6zuVi9N!cxDUiyA=*r~vxlzPr$)FX0>k_6R=3qnD%Zu~9$Z!!#I z+9yuLO?1~f?FMhKOe`QTQz2n0h>@92{Lqzg2ze7Vz0ud-&1fB4+@jNaP4k9FAtH+0 z3f~EIN2;Zvr#^AL?vjIVDzsxWUuPmKRkOg-N$GqHbHBlK6mP~uI)Bh5m;aWOK_IO2 zZA_}&Xu366A!;r)6Uu+p8Q4H<<)Qthd&B4}Z$>h1uLin&bgD#zN`}sAG55sB*x~5d zM5se_@e*J%zopWn4v3Zsq9m@@$LIH$O(MSKGk&YXkA# z%%m-W_N*K}&5=Q-vs>(NZ(v54x6i1aR*Cr|g6)&@Lz}}HnW{HY4HI(}k{kkL6r8?j z44t&qoxVgopO^^h-6n11*;{mkecn$5?MSGUFk45gM2JXEd`uaSO^nn~R85DS3`Hmi zag>&oE-zz}{USr19YFBoOqLMp|eJU^CA5Kd;!~5t!uUPSm|7Rb<~&uWw1_pYpvIMi5ALt`YDmU;6ucRInTZ8;NWG2 z032H7?TMP7+1cxz;jiXBZ?D5zgovG2F!DyZjJBV*YnF*_0yz<&MG2~=cTSv*JueJj zqQ7RK89Qk{SjOKPw{im40;jZHDh29Fii+hnt6kek=Aj*By4QZi`^7yyJ+u6KbLGw-1O)wm3C4b#Za=j+8IfMZiENqc-dvNr0X1>6Cv8*Lju?V7WHjC7U`;1^_bF@m;J$ zhC7CqtLIaNq)e0A7j-P> zOibh%7jeuv>9=>`0Epx*2D3G|FT`hrsG+E`G7^8f`>z+SpG{Soz(6S{*{BAhs?z{{ zRbL|axYklg2&8cUujErqc6PQG@oQ@8oYI>eXRxYhe;=u--#BwZ>AfWiG75@qt)>J% zv@y>lq1W{2;u`9Hc7=fQP(s3UwAllTRM^R>deqduZWd3C=&a|4T<{Ku72+ih9pB10 ztT3eos{?|AL8E+t(xW43PW@N7c!#6%QFpq_jc>l@89X7ETlUT92?4ulHBiXBdLPo( z{=4Dy(rht&aciuwyStwvt=0eOJn!KyNV^7JJJe{60(}!u-G~oFIc6b6q}6k~;nb$$ zO$YVQdXRcF&F`J*d|vTL>Gy2uz(Z}_f1Zre0ONnU&7r#%5fL$8%wGbA&rP;n(b}wS z$3d&K?bZ7p(aE0lZdi^Ks zvaN)TS`fWo{d(nt4)~m!>yYVL%d=?Wzv|t4m)o3y5e$}8AY*>DBw}@&*gyAiO6jlK z>`)puma4*=#-SzCTLJ>6_ayG+Ao~~`92D^tIfC}5usHVBplSP{3)}s19r@?H;jW$* zss>n9s@<}=g5BICBXEj*(Tx~%E|8!^{DN1vGVQ)>MKp=D&*Ye9q5tmc94oBpmO4HT zlHt(uA(mp#SWur~n#LDf5Q#JcJ8he|S)|nUT$KmEinl5 zjK4_0f{IM8SkWXt>dWt<8lla=&I5~pqF?Kj45j-9FkTQ|1^UB1L>8gRc0s=mrSYgZ z^e65yCc@TQkohm7SJM(u40yr-wEijjEifpE`%Ft&O4z~w8c>CHHJVL_UUm+9L`IEb zpu>)*>xvZ+9I${2M8`Q$huNpJY&<)h%T%~G)(Q>|yI5RUKygF}I9kwk{K$zX@LZvN z`ebX|bKwT@DIw4KVo&_-$#tkLfNlJIe7J~0ba*nOY&ye8ccv>;^1FzQK9+KCg8`p+ zgIUNpI6$&i6u$izf#&f|avm!MqEY#&#%^QC$H%ACHtZu!&}@7>WY*FVd?X7C3*!)G z$5pn-FsfmaqhJGiL;yAc)Z=QRL?1{cq>D^k7MkI6r?7OcE-RVVio2JsNCSYx@bKhU zQK%u|7LZB+?ND^fZI|fn>UZynG_@#&wf)O85+;ynjq+cQG#HO%PAJ86V&A?_Bm!@g&>DoIgy1IeAC%)JM zbH?Lf`kyg0XV`EWEd~929}+^$%f-d@d*+SXd9j1Vbb)5gAs{X&fP<8gk@4{018h7? zl=aOrk^uPw(RWEj*8Es31UN+-Nlf1voU9hAq-|mqXfkMS=olFKIy*c2`o`=VmbP)I zE~8o2d-HXkm^>F9J-rqbiwMNV5GTdSvu*s2PL9eRAQr}R#+`sT&MM7u3>-UJt>M7c zBhbr<{M_3|WH>!)-UGG+G(Pd1=mS8$3i8*<49QpzcbJh;^5yjWjq-)*KLc$xwBG>B zzii$Tk+>hrx2KG2yGn!N0%+^b$C~Cb1(7g~FV|S8D9LMQ7@Fp-WQK~wGVZEA|mf6>89GS55$wyIro+@oo4M5%19YEfB)=dt5ZC!5R_ zpO^@{Fiz=ci|U=>sO#n7KAlYa^$UQ1E2~ghaL!5NlnT6Q#HY_c?qU&O!N6O!O(dEVZ1$1vEwB^<@fRqC-&>FJSRMj@SdTE63Kmpel7aB(dsODO=^w~6gUMmCgw z3dq?c9_vG(HUU|;@Y+Vt)z#HE0(Q~&B3Kw$73Py<%M&Hhv`wKwL9Zw&WhA6DOY}0j zSG#(8?A{VC|Nb_d?y!48mng@W4TNAoiVGCaZ)2=`7K>%$m;}NG(v5bFN>sI7S1W+_ z?$!Iyx7&Tt6xTUT^)W?I^J;NB*31;@<9En>@8WSe7V|&d>21wQPfzOOX>b}`y3^{d zKqB9V5UMrlUQh4UOG{PFycy7SL?wJH7xvcrN?1TZ0KgNBhx*Jcv_=d;H}i#o;y<&HJmko%hm*({Lb+d6hApEHC6XcJ@&>> zLeTBX4~^g%G0z0Z3h6bfMv63aBHz%^&;VwKntD*LBwLA4U@ZO>YdBp z1VfWuEe|3nciL7F*xjX&Em?ZH@wdXK8uab5Vti%t%_j zr;i7XfSp{#q3-)d1pUfC?i;RY{p{%hh-H+)Dd<=PN7rZbp!O?KDVjrj!49Z?m0`04 z4?rj-WM*WJ-BrBllzVlzclcJN$*>E!VdXquNN=#m{z8lU~w`$6#(9W0)&~r z$O~wTkV$D6^=Z?ezx}*$^1X=PVOtf*n;xS+9{{R>qBZwBy^lx`-gj;u>Bt1i43SIs z8+ME7r$lekff5Q7fH_)qr$@`lRqFY|27`2dy6AVy#;I;E49qpRfxvRA0&MQr%faz! z;v;}%t+r=jB^|`vXA9nKKtPl?E~a*I-31ut*^#XNfbds#S|se|s-~v7HKFZ#@jwe? z-n?&?ZSr4<#-Tub~Ui@86LSgjF#I{QO**hP z68@WomaoEYOKlJaEz5~I$0FyeGWAI&>F4|cNC$0LvV@#AJ^>PvlK#&Kk|Ps`tF0q{ ze@on+uPQn;EeA`vS^|Mg)9K@_hwYb1#>R8Kfgb|WiLBp(1Ia082Qs1r18VIz9o7d@ zfBg9P`xxKBl^G*CDysgdkNZQWjKy@NmXni{iHXT7V{$}9QcR4pqAJhl=66N?v_4mx zc^3^X?)l>MbaXv4P!QZf^2YeOCzc$jbs{6bf1qbBF*5Bn>f^XD~6stz(>y9z|hdp z*ceHp>)7q3?FX>dmFcQ8InfLaMz8b~{F zaIq=LDVa)gKauqtl&CIYEde#-Mn>$NfYxv_5^+#|(0hH#tZ1^z%4)TQnHdZ5!6le6 z*woUd5;=gjJ-@oiBVa{BK`9cuidPag@M$-NKp<+x9|c5eiHL~k1BQl&0N+gGe=aox z*Xpg^@qN3K0x>OBqWC2X+iCuXxXDuQ7er1l55o$S$QpB)vagqTx z+Lu&A;(07@sl98({a@=SuB-rHZB?S`gD#U5`H&i@j2{LKDTH>fmZ}#35x_=;nWXg8 z&Z!siOEPJ7)spU2Ju=%bs(GWCYODf=w>^aOs}2<8l#08M{x;AB(mNkF&sm#HZ*7?> zB=HsJ9#ZrhHxCjF{4R9zBpE7}#P1G$gh`yt%)kr3&R_)|gZ0_&ffLBQ)a6uFSK|^! zHplZAeLx*;q^B$)VZ!&gC0fs+s9$6A;FBPh;DkBp+J{F8Q9V3*Z2^D?V`1lGUwHPG zFa!khTFpMA-oi+QxH@rakdMmC%SW@h_SgCBiSPhL#O?T8Lx-YsiZz_4N7K=-MI=I| zM8Zyu zk(D0iQO}Y2+Ndggd{T-1@KGOU(iY71w8QlWO<|(hqf&Q%XTd|tJ!eM3o68#yp8nt8 z2-qUmo?Sx3o;E&|>Y>*@=hD*B5-MY#wm!}i2naJPo0&`H_d{);RTB^p zP)SR4CM4P~Gz%DIL>0!fPO~OH4<68xG2T9(NT(JzzOfd?z(S@r6cl`bp*2S&W|y)z z_O+JvkGJct_37C&VDzeWFt@6g)+XFUUo%a>nsXt4P-r9=aXIcLjc>8_85)ra8yi!x zINIB!#4>0v8breJ!w@+UBw+$0~}z|eRV3f-G)FkX*`s2Xb( zD@t(Sa;A%84(1izkg~I%?tHh3jgCG!);wQJ453PKdIRv_@;3rf!U_q6&db+K64d%8 zZRg%`O6#$Ksg?f*;g#7##ObG$%?%9=ym&5TbTQuE-c0mT)ZZacgT8o|WyPZL>8Yt& zvvHm1rBUBJfXVuxD|7-UVsu3(wDG&q9xP{qL!PQN%xl+U7RT3R2k98tdCD#EcaWT` ztLMP{&{Qrq|M|jU5qG1d+1+vE^cX0gS^QhWV`A8OTByjRhXK&|dPG}iCO!qsgsG`1 zO$H8pS~x!rfAHActn8GL+v=MA=Kg_D$V#IG(>J>}Tb zc9c(tfAy{f0MfMRVkaSYi%$jXTe9;3E7 z-A5m7busE&={}(3`u#2FYPaD+Fu;?UN;kcO>faz;r4ZDhr#QbR!p)eL@cjYGc7GC= zw-gi^`@X*bcpRUelV6@+kx_AVedu@Tk~gZZt*s3pB*X3)P*kCi2B=E>X)B7ZA9F2n z1h9?abhozKLA!>wj-YpkIyKUw?Y`0`}ygF3;p%YDO1vRs zIWI((hMyGU5)od%ngL@&B35v-wy%ewD#%`$3l9fJIw9^eY$piF$r`5D`l-llt0yOJ zWP7~Z79^SclcS7#6OH2mG(i zvdu07<~YH-am%&thMnr_HW%Rr4gY$1`B;5=894v?@vcb2*TBUZ@%ojqz>#0p&dQsg z&&{)Z{rN{o0PCN|Z`;b!_Xo3H-OKu2Xrju_Pv+XYt#<#3t2bCsZ5!vlSXqK&)45~2 z=VaP0E}3ej96F&xMm%!Y+L8mN0=uRsUE8^JX=%};6e*uG?OHZEHTT(ne_8PEP4T9r zrP^uVs`i*(HJ!%Mtzh{7+RwkWe@mCYRy*RavS{VWVCnrCUw;2tvpLYN|NW7VlOO9m zUbkaY;dvgFQryFthcJj_@Hd`u5E{!`{eWk#`@Ls z6gCzgKexbsMM+xPwVms?zwd5y+kgH3r&RAlEiIa!_FO-hYsG)-?R~k{e*fC#yN_2q zT|0Zb*CfXJ22uT!@kLkjU!7R)9{GH0_BAiX^{?jxuNpzwGz8@RTMP=^;^N}?`1@a@ z)lZx|we4ok{Ok2`@$vpDGeiVkXXutcdkR{Upm{m?*6rK=bFD&aSKNA8B$ZeWobkEC zTUcyly!Kkg`s>x8QmCuzisZ_&-FtWKx+Rmy$I@h+_U8$3Pl{Rl?74c+7p`)iJ9lo{ z=1A_#Q-aF%cLO&=tOD-7*neNM!)MmXy#0rPyEm%b+}{MM~rZ4GQH=jQ4P z`_HsVJ$Q&Uc5dv{`5{uz+uLUYmktA6r=_jEyLuO}Kr0q|{>MaDS50l%!iD!PzOaZb zzm>P$Ta#aI&8G@Bu6KGIuMPtDZj`_1a{|tf&6{UutfTYi#YN?-rdNRr@h1o@dX;c> z=lcCp_kw_no68@ya01)sMHVt$PPQKrtfibtMKE<#ww;MQk$i@!ir-G9!PUwbMmEA#(-JiBba zxvHO6%)XkP%QD~pc`BQ{`X8{>^yyO(a5`=36M6OTF)uuU<1DYP`)fWceI55}-t6P+ zJ>CdDK=kkrXh?M{*15YMm(Jhw@y+J*cHe#^H#u#r$$h&KI07oo4&1>5Tt*+S7qKDX z?fYv|pCg(b_pVt}0*p|Xl%96gMcH>+<$v*Lhj|%p7GOf&;@`7qBlyfim$YYd-n^;2 z7#P@?aNuDakyLw)gTLE|f#6?H1e*NqFUhU4-ZZTjV zevM_!<$L%3Iq%^>DqiX{-?aU3mVVj0?_1D`gUn_#eZ0b*xME*6r+0hXf3h{)sN&fq zlDtD3p`}O45)^PvEQ0a1YHJmeZ|De1bN*9R{LMe%0k`4|53Z9(&h)T=4zz#*w~G;P zI`fZwpU(24spIFTe_wpAt0tzWJx;U#F%>C7)?JO@`M6%8t&V3`Qoqf&(@25(e+kg@ zNE?S4I!=giumHy;*S%i+R|RGdkS>sX13Eed1|$|QF?1D!@qqL(DKvSMGZuORIgpYg c!?6|hOxth&O=8)ac^G7dr>mdKI;Vst0PRD?t^fc4 diff --git a/content/vac/dst/wakurtosis/nomos/ci-integration.md b/content/vac/dst/wakurtosis/nomos/ci-integration.md deleted file mode 100644 index a60b0b00c..000000000 --- a/content/vac/dst/wakurtosis/nomos/ci-integration.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "CI Integration" ---- -## `vac:dst:wakurtosis:nomos:ci-integration` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - CI Integration: done, 2023-07-01, 2023-07-31 -``` - -- status: 100% -- CC: Alberto - -### Description - -Add Nomos integration to wakurtosis so Nomos can be also used in it. - -### Justification - -Nomos is under constant developmet. -With this integration, each time a change is done, a continuous integration test is done, making sure the consensus protocol works properly with a few nodes. - -### Info - -We stopped working on a follow up milestone since we deprecated Wakurtosis in favour of our new 10ktool. - -### Deliverables - -* first version of Nomos CI integration (https://github.com/vacp2p/wakurtosis/pull/141) - - - diff --git a/content/vac/dst/wakurtosis/vac/maintenance.md b/content/vac/dst/wakurtosis/vac/maintenance.md deleted file mode 100644 index 9625a49c7..000000000 --- a/content/vac/dst/wakurtosis/vac/maintenance.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: "Wakurtosis Maintenance" ---- -## `vac:dst:wakurtosis:vac: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 - Wakurtosis Maintenance: done, 2023-01-01, 2023-08-31 -``` - -- status: 100% -- CC: Alberto - -### Description - -Keep up to date the tool if there are crashing changes in the services that are being used in it (Waku, Nomos…) - -### Justification - -Services being used are in constant change, thus it can lead wakurtosis to break. - -### Info - -* Wakurtosis is deprecated. We do not actively maintain it anymore. - -### Deliverables - - - diff --git a/content/vac/dst/wakurtosis/vac/retrospective-rlog.md b/content/vac/dst/wakurtosis/vac/retrospective-rlog.md deleted file mode 100644 index 880bdddf9..000000000 --- a/content/vac/dst/wakurtosis/vac/retrospective-rlog.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Rlog: Wakurtosis Retrospective" ---- -## `vac:dst:wakurtosis:waku:retrospective-rlog` ---- - -```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 - Wakurtosis Retrospective: 2023-08-01, 2023-09-30 -``` - -- status: 50% -- CC: Jordi - -### Description - -Research log discussing what would we have needed from Wakurtosis to make it work for us beyond our smaller solution. -Why did we decide to drop Kurtosis and work towards a Kubernetes-based solution now. - -### Justification - -### Info - -* [Alberto's Opinion](https://www.notion.so/Alberto-s-Opinion-5f1af38a2e274f42baad0e322629f3a9) - -### Deliverables - - - diff --git a/content/vac/dst/wakurtosis/waku/features.md b/content/vac/dst/wakurtosis/waku/features.md deleted file mode 100644 index 34141e7b6..000000000 --- a/content/vac/dst/wakurtosis/waku/features.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "Wakurtosis Features" ---- -## `vac:dst:wakurtosis:waku:wakurtosis-features` ---- - -```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 - Wakurtosis Features: done, 2023-04-01, 2023-07-31 -``` - -- status: 100% -- CC: Alberto - -### Description - -* Features requested by Waku for the simulations done in wakurtosis (e.g. discv5 support). - - -### Justification - -* Discv5 is an important protocol to test. Also, we should be able to work with offline data once the simulation is finished. - -### Deliverables - - - diff --git a/content/vac/dst/wakurtosis/waku/techreport.md b/content/vac/dst/wakurtosis/waku/techreport.md deleted file mode 100644 index 619d7a3d7..000000000 --- a/content/vac/dst/wakurtosis/waku/techreport.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Techreport" ---- -## `vac:dst:wakurtosis:waku:techreport` ---- - -```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 - Techreport: done, 2023-06-01, 2023-07-31 -``` - -- status: 100% -- CC: Jordi - -### Description - - -### Justification - - -### Deliverables - -* [techreport](https://docs.google.com/document/d/1U3bzlbk_Z3ZxN9tPAnORfYdPRWyskMuShXbdxCj4xOM/edit?usp=sharing) - - diff --git a/content/vac/dst/wakurtosis/waku/techreport_02.md b/content/vac/dst/wakurtosis/waku/techreport_02.md deleted file mode 100644 index c50a77cc7..000000000 --- a/content/vac/dst/wakurtosis/waku/techreport_02.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Techreport_02" ---- -## `vac:dst:wakurtosis:waku:techreport_02` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Techreport_02: done, 2023-08-01, 2023-08-31 -``` - -- status: 100% -- CC: Jordi - -### Description - -Run extra batches of simulations of the non-Discv5 case with average degree K=13, and K=50. - -### Justification - -To be able to better compare non-Discv5 and Discv5 Waku behaviours, the Waku team asked us to run new simulation batches with maximum fanout. -Current simulation batches are hard to compare due to the dynamic nature of network generated by the Discv5 protocol. - - -### Deliverables - -* [techreport addendum](https://docs.google.com/document/d/18gU7Pxn7eBBwhtlj7kz4zbRR_Ae7txaUexo3MJQLbIY/edit#heading=h.3h1xpjk9k603) - - diff --git a/content/vac/index.md b/content/vac/index.md deleted file mode 100644 index 8937adfe1..000000000 --- a/content/vac/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Vac Roadmap ---- -## `vac` - -### Structure - -`vac::::_<counter>` -- `vac` indicates it is a vac milestone -- `unit` indicates the vac unit `p2p`, `dst`, `tke`, `acz`, `sc`, `zkvm`, `dr`, `rfc` -- `tag` tags a specific area / project / epic within the respective vac unit, e.g. `nimlibp2p`, or `zerokit` -- `for_project` indicates which Logos project the milestone is mainly for `nomos`, `waku`, `codex`, `nimbus`, `status`; or `vac` (meaning it is internal / helping all projects as a base layer) -- `title` the title of the milestone -- `counter` an optional counter; `01` is implicit; marked with a `02` onward indicates extensions of previous milestones - -### Vac Unit Roadmaps - -#### R&D Service Units - -- `p2p:` [[vac/p2p/index|Peer-to-peer]] -- `tke:` [[vac/tke/index|Token Engineering]] -- `dst:` [[vac/dst/index|Distributed Systems Testing]] -- `qa:` [[vac/qa/index|Quality Assurance]] -- `acz:` [[vac/acz/index| Applied Cryptography and Zero-knowledge]] -- `sc:` [[vac/sc/index| Smart Contracts]] -- `nim:` [[vac/nim/index|Nim]] -- `rfc:` [[vac/rfc/index|RFC (Specifications)]] - -#### Deep Research - -- `dr:` [[vac/dr/index|Deep Research]] - -#### Incubator Projects - -- `nes:` [[vac/nes/index|Nescience]] - -### Weekly Updates -- [weekly updates](tags/vac-updates) - diff --git a/content/vac/monthly-reports/2023-aug.md b/content/vac/monthly-reports/2023-aug.md deleted file mode 100644 index 2ee2afe75..000000000 --- a/content/vac/monthly-reports/2023-aug.md +++ /dev/null @@ -1,115 +0,0 @@ -# Vac Monthly Report - August 2023 - -## vsu::P2P - -### 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 - -### 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) - -## vsu::Tokenomics - -### 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 - -### 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 - -## vsu::Distributed Systems Testing (DST) - -### 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 - -### 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 - -## vsu::Smart Contracts (SC) - -### Projects -- Status: Community contracts (ERC721 and ERC20) -- Ongoing upskilling through Secureum courses - -### 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 - -### Maintenance -- Introduced Vac's own `foundry-template` for smart contract projects - -## vsu::Applied Cryptography & ZK (ACZ) - -### Projects -- RLN-relay enhancements for Waku -- Zerokit maintenance and v0.4 development - -### 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 - -### 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) - -## vip::zkVM - -### 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 - -### Documentation -- Updated the Nova questions document -- Prepared Plonky2 research document -- Started work on a blog post to explain findings and alternatives - -## 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 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 - -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/vac/monthly-reports/2023-oct.md b/content/vac/monthly-reports/2023-oct.md deleted file mode 100644 index 2a2efd459..000000000 --- a/content/vac/monthly-reports/2023-oct.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 2023 October Vac Monthly Report -date: 2023-10-30 -lastmod: 2023-11-14 -tags: - - monthly-report -draft: true ---- diff --git a/content/vac/monthly-reports/2023-sept.md b/content/vac/monthly-reports/2023-sept.md deleted file mode 100644 index 85aad9a49..000000000 --- a/content/vac/monthly-reports/2023-sept.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -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/vac/nes/index.md b/content/vac/nes/index.md deleted file mode 100644 index bf18ce2fe..000000000 --- a/content/vac/nes/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Nescience Incubation Project -description: Nescience Zero-knowledge Virtual Machine Environment -tags: -- zkvm -- vac -date: 2023-08-25 -lastmod: 2024-06-27 ---- - -### `vac:nes:state-separation` - -* [[vac/nes/state-separation/vac/state-separation-architecture-01 | state-separation-architecture-01 ]] -* [[vac/nes/state-separation/vac/state-separation-architecture-02 | state-separation-architecture-02 ]] - -### `vac:nes:proofsystems` - -* [[vac/nes/proofsystems/vac/research-existing-proofsystems|research-existing-proofsystems ]] -* [[vac/nes/proofsystems/vac/benchmarks|benchmarks]] - -### `vac:nes:zkvm` -* [[vac/nes/zkvm/vac/vm-foundations|vm-foundations ]] -* [[vac/nes/zkvm/vac/vm-ecosystem|vm-ecosystem ]] - - - - diff --git a/content/vac/nes/proofsystems/vac/benchmarks.md b/content/vac/nes/proofsystems/vac/benchmarks.md deleted file mode 100644 index 31089dd01..000000000 --- a/content/vac/nes/proofsystems/vac/benchmarks.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: "Benchmarks" ---- -## `vac:nes:proofsystems:vac:benchmarks` ---- - -```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 - Benchmarks: 2023-03-01, 2024-05-31 -``` - -- status: 70% -- CC: team - -### Description - -Since Nescience's main goal is to be innovative in privacy technology (by building a virtual machine that prioritizes privacy, -utilizing mainstream and specialized instruction sets optimized for Zero-Knowledge (ZK) applications), -a key focus is the evaluation of different proof systems especially new ones like the Nova-based proof system against alternatives to identify the best fit for our needs. -This milestone is important for advancing privacy-preserving technologies, setting a benchmark for the fair and effective comparison of ZKP systems. -It's important for both our project's infrastructure and the broader field. The diversity of ZKP system designs necessitates a standardized benchmarking approach to ensure fair comparison, -respecting each system's unique features (which we are aiming to achieve and accomplish) - -Comprises: - -* research log post -* make benchmark repo public + README (explaining how to execute benchmarks) -* benchmarks (recursive) for all current proof-systems (unless there is a good reason not to include one) -* scientific paper - -### Work Breakdown - -* By conducting deep investigation of ZKP systems, we aim to demystify the complexities of cryptographic benchmarking and highlight our findings' relevance to privacy technology advancement. - -* By rewriting circuits and using same techniques as recursive approach and Poseidon hash functions, we ensure that the comparison focuses on inherent system properties rather than external variables. -This approach will help normalize one of the key variables across systems, allowing for a more direct and fair comparison of their efficiency, scalability, and other critical metrics. - - -### Deliverables - -* Research blog post -* Public benchmark repo on Github (it includes and overall explanation, full circuits implementation and explanation, instructions to execute benchmarks, and testing results on diffferent machines) -* Implementation of recursive circuitsfor all current proof-systems (unless there is a good reason not to include one) -* scientific paper - -**Impact:** By selecting the most effective proof system, such as potentially Nova-based ones, based on superior performance, -we aim to strengthen our project's foundation and contribute valuable insights to the privacy field and the scientific community. -This milestone can be useful to any team within the organization to help choose the correct proof system based on their needs -and in general it help the scientific community to get useful insights to progress on different projects within the blockchain field. - diff --git a/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md b/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md deleted file mode 100644 index aff6ea89a..000000000 --- a/content/vac/nes/proofsystems/vac/research-existing-proofsystems.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "Research Existing Proofsystems" ---- -## `vac:nes:proofsystems:vac:research-existing-proofsystems` ---- - -```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 - Research Existing Proofsystems: 2023-01-01, 2024-12-31 -``` - -- status: ongoing -- CC: team - -### Description - -This milestone demonstrates our commitment to a continuous and long-term effort aimed at the comprehensive analysis and study of various proof systems, both established and emerging. -The primary objective is to maintain cutting-edge relevance by staying alongside of the latest developments in proof systems, ensuring our projects are at the forefront of privacy technology. -This is important for sustaining our competitive edge and fostering innovation within our projects. -This milestone is foundational to our strategy, enabling us to swiftly adapt to new technologies and incorporate groundbreaking methods that enhance our privacy objectives. - -### Work Breakdown - -Our approach involves a systematic review of current and nascent proof systems, identifying those with the potential to advance our research and project goals. -This includes evaluating their applicability, efficiency, and the privacy enhancements they offer. -By doing so, we aim to uncover novel insights and techniques that can be integrated into our work, furthering our mission to deliver robust privacy solutions. - -### Deliverables - -* Blog posts -* Potential benchmarks - -**Impact:** The ongoing research and analysis conducted under this milestone are expected to yield multiple benefits: -identification of promising proof systems that could revolutionize our approach to privacy, generation of innovative ideas for future development, -and ensuring our projects remain relevant and impactful in the rapidly advancing field of blockchain and privacy technologies. -This milestone is valuable both internally and externally. Within our organization, it caters to the diverse needs of various teams that utilize proof systems for distinct purposes. -Similarly, it offers the scientific community access to essential insights across different systems without the need to delve into each one individually. - diff --git a/content/vac/nes/state-separation/vac/state-separation-architecture-01.md b/content/vac/nes/state-separation/vac/state-separation-architecture-01.md deleted file mode 100644 index f344fea35..000000000 --- a/content/vac/nes/state-separation/vac/state-separation-architecture-01.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: "State Separation Architecture 01" -description: "Designing and refining a sophisticated model of state separation within the Nescience project" ---- -## `vac:nes:state-separation:vac:state-separation-architecture-01` ---- - -```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 - State Separation Architecture 01: 2024-01-02, 2024-12-31 -``` - -- status: 40% -- CC: Team - -### Description - -The main goal is to design and refine a sophisticated model of state separation within the Nescience project, -which is aimed at distinctly segregating and managing public and private computational processes, including specialized operations such as shielded and deshielded activities. -This model is focused on improving privacy through the use of Zero-Knowledge Proofs (ZKPs) and overcoming obstacles related to the traceability -and linkability of transactions by employing cutting-edge cryptographic methods and frameworks. -The goal is to create a nuanced architecture that adeptly balances public and private computational needs. -It will utilize an account-based system for public interactions and a UTXO (Unspent Transaction Output)-based method for private transactions, -effectively combining the benefits of public state efficiency and transparency with the strong privacy safeguards of private states. -This effort aims to tackle critical issues in enhancing privacy, engaging deeply with a zero-knowledge virtual machine (zkVM), and achieving significant advances in privacy assurance. - -The Nescience project elevates the concept of state separation to a new level, striking an unparalleled balance between privacy and scalability by enabling simultaneous public and private computations. -Unlike existing initiatives, our model not only integrates these two states but also innovates within the private state to support trusted computing, -achieving scalability without sacrificing privacy. We aim to redefine privacy-oriented technologies, -which are often criticized for their sluggish performance, by introducing a fast, intuitive, and developer-friendly approach to state separation. -Furthermore, we envision the public state serving as a vigilant monitoring layer, safeguarding privacy against any potential ZKP vulnerabilities or attacks, -thereby assuring users of their data security. -Our project distinguishes itself by offering a well-defined theoretical representation of state separation, -complete with graphical analyses for a clearer comparison with other privacy-preserving solutions, thus addressing the lack of specificity and clarity in existing models. - -Interactions with the virtual machine (VM) are pivotal, involving two critical junctures. -Initially, on the user (client) side, transactions that may contain multiple executions, including private, shielded, or deshielded types, are generated as ZK proofs. -These proofs, representing each execution, are then amalgamated into a single ZK proof for submission to the sequencer (VM). -The sequencer's role is to aggregate transactions from users, verify the proofs, validate nullifiers for conflict detection, -and then compile all verified proofs within an epoch to formulate a block. -This process also entails adjustments to the public state in response to the varied executions (public modifications, shielded, and deshielded executions). - -The design criteria for the zkVM include the necessity for high recursion capabilities and sufficient efficiency to ensure usability in terms of memory and computational time on the user side. -This requirement is critical for compatibility with complex tasks like concealing certain information within zkVM operations, -accommodating a significant volume of public and private inputs. The efficiency of verification, even in systems like Groth16 that offer theoretically constant-size verification times, -can be affected as the quantity of inputs grows, underscoring the need for a VM architecture that remains practical and responsive under varying loads. -This nuanced understanding underscores the project's comprehensive approach to leveraging state separation for enhanced privacy and scalability, -all while ensuring compatibility with an advanced zkVM framework. - -The most significant impact of our state separation approach in the Nescience project lies in its innovative privacy features, -which employ an account-based model for the public state and a UTXO-based model for the private state, allowing for individual or group-specific private states. -This method stands out by offering four distinct types of executions: public, private, shielded, and deshielded, each with unique characteristics to maintain privacy and scalability. -Public executions are transparent and swift, modifying accounts without the need for Zero-Knowledge Proofs (ZKPs). -In contrast, private, shielded, and deshielded executions, which involve transferring between public and private states or within private states, - utilize ZKPs to protect sensitive information like addresses, transaction amounts, and smart contract invocations through kernel circuits. - -These executions are further enriched by allowing transactions to comprise various execution types, -ensuring that sensitive data is processed on the user side with ZKPs to prevent exposure in the public state. -For example, transactions involving private tokens or smart contract interactions remain confidential, with minimal information reflected publicly. -This architecture addresses potential risks like linkability and double-spending through the innovative use of nullifiers and accumulators, enhancing privacy without sacrificing security. - -Our approach also introduces Private Directed Acyclic Graphs (PDAGs) as a tool for analyzing and enhancing privacy. -As an extension of Transaction Directed Acyclic Graphs (TDAGs), PDAGs are specifically designed to address and measure two critical aspects of privacy: -unlinkability and untraceability. Unlinkability refers to the property that ensures individual transactions cannot be linked to each other, -making it impossible to trace the flow of assets between transactions from an external observer's perspective. -This feature is crucial for protecting user identities and preventing the exposure of transaction histories. -Untraceability, on the other hand, ensures that it is infeasible to trace transactions back to their source or destination, -providing a further layer of privacy by obscuring the relationship between senders and receivers. -This means that, even if an entity were to observe the network, they would not be able to determine the parties involved in any given transaction. -PDAGs incorporate these principles by structuring transaction records in a way that leverages the benefits of directed acyclic graphs (DAGs), -a type of data structure that allows for efficient data management and retrieval without the limitations of linear or hierarchical arrangements. -In the context of blockchain, DAGs enable faster transactions and greater scalability, while PDAGs extend these benefits with a focus on privacy. -By calculating unlinkability and untraceability metrics within a PDAG framework, it becomes possible to quantitatively assess the privacy level of a blockchain network. -This analytical approach allows for comparisons with other privacy-centric solutions, such as CoinJoin, Tornado Cash, and privacy-focused blockchains like Monero and Zcash. -Through PDAGs, developers can identify potential weaknesses in privacy measures and enhance the network's resistance to analysis and tracking, ensuring a secure and private environment for users. -By incorporating decoy inputs in shielded and deshielded transactions, we further obscure the link between public and private states, significantly reducing the risk of privacy breaches. - -In essence, the Nescience project's state separation method not only advances privacy and scalability in blockchain technology -but also sets new standards in protecting user data through a sophisticated blend of theoretical models and practical implementations. -This approach not only addresses current privacy concerns but also lays the groundwork for future investigations into efficient and secure private state exchanges. - -To provide a structured approach to the development of the advanced State Separation Architecture for the Nescience project, -focusing on privacy enhancement, we can break down the milestone into distinct sub-milestones, each with its own specific work breakdown and deliverables. - - ---- - -### Justification - -### Work Breakdown and Deliverables - -* * [x] Sub Milestone 1 (Q2 2024): Execution Types and Privacy Mechanism Design - - **Work Breakdown:** Define and design the distinct execution types (public, private, shielded, and deshielded) and their respective privacy mechanisms, integrating Zero-Knowledge Proofs (ZKPs) for enhanced privacy. - - * * [x] **Deliverables:** Set of comprehensive deliverables, including an Execution Type Design Document that offers an in-depth analysis of the specifications and workflows for public, private, shielded, and deshielded executions in the Nescience state separation architecture -> [Execution Types Document](https://notes.status.im/s/5NsmY46LB). - - * * [x] Sub Milestone 2 (Q2 2024): Cryptographic Infrastructure and Nullification Strategy - - **Work Breakdown:** Develop the cryptographic infrastructure necessary for the state separation architecture, including nullifiers and accumulators, to prevent double-spending and ensure unlinkability of notes. First step would be identifying and selecting suitable cryptographic primitives for nullifiers and accumulators, then implementing the selected primitives in the architecture. - - * * [x] **Deliverables:** A document providing a comprehensive guide on the implementation and integration of nullifiers and accumulators within the state separation model, detailing their specific roles and functions within the overall architecture -> [Nullification Strategy Document](https://notes.status.im/s/iN82QzydC). - -* * [x] Sub Milestone 3 (Q3 2024): State Separation Document - - **Intro:** In this milestone, the first part (https://vac.dev/rlog/Nescience-A-zkVM-leveraging-hiding-properties) focuses on conducting detailed exploration of the multifaceted challenges, -potential solutions, and alternatives that lay ahead building Nescience, a privacy-first blockchain project aiming to enable private transactions and provide a general-purpose execution environment -for classical applications. The second part aims to delve deeper into the selected strategic paths for developing a privacy-first blockchain, detailing the methodologies for addressing the identified challenges, -the decisions made to enhance privacy, and the expected outcomes. - - **Work Breakdown:** Document all the research findings, the development steps and the methodologies, explaining the utility and adoption process of each solution to reinforce privacy within the project and the shift in focus towards detailing the chosen paths for the project development, including the rationale behind these decisions and their alignment with privacy enhancements. Finally, Review future directions, potential areas of research, and ongoing development efforts to continue advancing privacy within the Nescience project - - ** [x] Deliverables:** Blog posts and/or scientific papers -> [Nescience: A User-Centric State-Separation Architecture](https://vac.dev/rlog/Nescience-state-separation-architecture) - - **Impact:** By clearly articulating the exploration from identifying challenges to implementing solutions, -Part Two of the State Separation Document aims to serve as a comprehensive guide and reference for enhancing privacy in blockchain technologies, -marking a significant milestone in the Nescience project's development. - - -* * [ ] Sub Milestone 4 (Q3 2024): Enhancing Transaction Privacy with Decoy Inputs - - **Work Breakdown:** Incorporate empty notes as decoy inputs for shielded and deshielded executions to enhance the untraceability and unlinkability of transactions. First we aim to design the mechanism for integrating decoy inputs into transactions to act as noise; then we develop a prototype that demonstrates the effectiveness of decoy inputs in enhancing transaction privacy. - - **Deliverables:** A prototype showcasing the implementation of decoy inputs, accompanied by evaluation results highlighting their impact on privacy enhancement. - -* * [ ] Sub Milestone 5 (Q4 2024): Nescience devnet deployment - - **Work Breakdown:** Deploy a Nescience Devnet by integrating simplified components into the zkVM and state separation architecture to achieve a fully functional Nescience environment. Add the necessary simplified components to the zkVM and state separation architecture such as P2P communication layer, Consensus layer, and Network layer. Focus on node deployment (Configure and start Nescience nodes on designated machines and ensure nodes operate independently, with a full structure that includes the consensus layer, network layer, etc.). Ideally, the Nescience Devnet should function autonomously, without reliance on external blockchain environments whereas existing components can be utilized ensuring that the system should be able to run on its own. - - **Deliverables:** A fully operational Nescience Devnet, capable of running nodes independently with integrated P2P communication, consensus, and network layers, all within the zkVM and state separation framework. - - - -### Risks - -We currently have 2 open positions for hiring a 1) Zero Knowledge Research Engineer and a 2) Zero Knowledge Researcher. -Currently we are finding some difficulties in finding the best candidates for these positions and therefore we need to consume Vac resources (namely Ugur and Marvin) for a longer time to focus on Nescience projects. - - diff --git a/content/vac/nes/state-separation/vac/state-separation-architecture-02.md b/content/vac/nes/state-separation/vac/state-separation-architecture-02.md deleted file mode 100644 index 589c6c4ee..000000000 --- a/content/vac/nes/state-separation/vac/state-separation-architecture-02.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: "State Separation Architecture 02" -description: "Designing and refining a sophisticated model of state separation within the Nescience project" ---- -## `vac:nes:state-separation:vac:state-separation-architecture-02` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - State Separation Architecture 02: 2025-01-02, 2025-12-31 -``` - -- status: 0% -- CC: Team - -### Description - -contiunation of `vac:nes:state-separation:vac:state-separation-architecture-02` - -### Justification - -### Work Breakdown and Deliverables - -* Sub Milestone 1 (2025): TDAG & PDAG Integration for Privacy Enhancement - - **Work Breakdown:** Use Transaction Directed Acyclic Graphs (TDAGS) and Private Directed Acyclic Graphs (PDAGs) for a comparative analysis of the Nescience architecture's privacy features. The main idea is to implement PDAGs to improve unlinkability and untraceability within the project, enhancing privacy features. This can be done by developing and integrating PDAG structure, oncluding data structures, algorithms and the integration mechanism with the existing system; by conducting thorough testing of the PDAG implementation to identify issues or areas of improvements; and by monitoring its performance and impact on privacy enhancement. - - **Deliverables:** - * Report on PDAG reearch and analysis. - * PDAG integration technical specifications and design documents. - * A functioning PDAG implementation with testing reports. - * Documentation on PDAG privacy improvements and security analysis. - -* Sub Milestone 2 (2025): Kernel-based Architecture Implementation - - **Work Breakdown:** Develop a kernel-based framework for verifying private function executions accurately, using a recursive SNARKs approach to build and validate a call stack. This is to ensure robust proof of execution sacrificing computational resources (raising gas fees due to the intensive nature of generating SNARK proofs and handling recursive computations). We will focus on balancing the precision of recursive verification with its computational costs, aiming for a system that guarantees the integrity of private functions while managing resource use efficiently. - - **Deliverables:** - * A data structure to manage recursive function calls, ensuring efficiency and security. - * A system to securely accumulate and manage proof data for recursive calls, facilitating tamper-resistant proof handling. - * Generation of intermediary SNARK proofs for each recursive call, with aggregation capabilities for comprehensive stack validation. - * Establishment of a maximum recursion depth with enforcement mechanisms to prevent computational overflow. - * A fully integrated recursive verification system with extensive testing to ensure functionality, security, and performance under varied conditions. - -* Sub Milestone 3 (2025): Seamless Interaction Design - - **Work Breakdown:** Address the challenge of potential information leakage between private and public transactions by ensuring composability between contracts and secure integration of functions. Moreover, we would like to be able to create secure channels for contract composability and interaction layers that prevent private data exposure by implementing strategic safeguards against information leakage. - - **Deliverables:** - * Intermediary smart contracts for secure public-private interactions. - * Confidential sidechains and cross-chain protocols employement. - * Fragmentation of data across shards for private interaction. - - -* Sub Milestone 4 (2025 / 2026): zkVM deployment - - **Work Breakdown:** Our aim is to deploy our work in progress state separation architecture within a privacy-first zero knowledge virtual machine since it places an emphasis on privacy enhancements (which we need for our privacy-first zkVM). - - **Deliverables:** A functioning privacy-first zkVM that ensures that while private state data remains undisclosed, public state transitions can still be carried out and subsequently verified by third parties. - -* Sub Milestone 5 (2025 / 2026): State Separation Doc - - **Description**: This open milestone is crucial for ensuring that our development aligns with the evolving needs and expectations of users and organization. -We aim not only to address the immediate challenges of developing a privacy-first blockchain but also to lay the groundwork for future innovations in blockchain privacy and security. -Note: This is an ongoing and long term milestone with possible deliveries within the year 2024. The timing and nature of these deliveries are contingent upon our continuous findings -and their subsequent impact on privacy for both the organization and the community. - - **Work Breakdown:** - * Document all the research findings, the development steps and the methodologies. - * Explain the utility and adoption process of each solution to reinforce privacy within the project - * Explain the shift in focus towards detailing the chosen paths for the project development, including the rationale behind these decisions and their alignment with privacy enhancements. - * Review future directions, potential areas of research, and ongoing development efforts to continue advancing privacy within the Nescience project - - **Deliverables** - * Blog posts. - * Scientific papers. - - - - - diff --git a/content/vac/nes/zkvm/vac/vm-ecosystem.md b/content/vac/nes/zkvm/vac/vm-ecosystem.md deleted file mode 100644 index 6cb3b58b3..000000000 --- a/content/vac/nes/zkvm/vac/vm-ecosystem.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "VM Ecosystem" ---- -## `vac:nes:zkvm:vac:vm-ecosystem` ---- - -```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 - VM ecosystem: 2025-01-01, 2025-12-31 -``` - -- status: 0% -- CC: team - -### Description - - - -### Work Breakdown & Deliverables - -* Sub Milestone 1 (2025): Deployment and Real-World Application Testing - - **Work Breakdown:** Deploy the privacy-centric zkVM in a controlled environment and test its real-world applicability and performance, focusing on privacy-preserving computations. - - **Deliverables:** An outline for deploying the zkVM in a test env, including infrastructure and security considerations, along with results of testings focusing on ptivacy preservation. - - -* Sub Milestone 2 (2025): Community Engagement and Open-Source Contributions - - **Work Breakdown:** Engage with the cryptographic and privacy communities and teams within the organization to gather feedback, share insights, and contribute to the open-source ecosystem, fostering wider adoption and collaboration. - - **Deliverables:** Release of the developed cryptographic libraries and zkVM source code to the open-source community, accompanied by comprehensive documentation and guides for implementation and use. - - -**Impact:** This plan underscores the goal for delivering a zkVM with strong focus on privacy enhancements. By identifying and integrating advanced cryptographic primitives, and considering the deployement within environments like Nexus VM or similar VMs, this milestone aims to make significant contributions to the field of privacy-preserving computation. Sub milestones may slightly change and some of them might be accomplished faster than others especially that during the previous period, we have focused on existing zkVMs and extensively studied the integration of cryptographic primitives to enhance pivacy. - - - diff --git a/content/vac/nes/zkvm/vac/vm-foundations.md b/content/vac/nes/zkvm/vac/vm-foundations.md deleted file mode 100644 index 66012709c..000000000 --- a/content/vac/nes/zkvm/vac/vm-foundations.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: "VM Foundations" ---- -## `vac:nes:zkvm:vac:vm-foundations` ---- - -```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 - VM Foundations: 2024-03-01, 2024-12-31 -``` - -- status: 40% -- CC: team - -### Description - -The focus of this milestone is on the significant adaptation of a Zero-Knowledge Virtual Machine (zkVM) that places an emphasis on privacy enhancements. By modifying existing zkVM frameworks, the goal is to integrate advanced cryptographic primitives to create a highly secure, privacy-preserving computational environment. This includes exploring and implementing cutting-edge research in cryptographic techniques and ensuring these can be efficiently executed within our zkVM framework, with an example pathway through Nexus VM for specific Rust-based cryptographic implementations. The analysis includes RISC Zero, GKR-based VMs, and Layer 2 zkVMs, with a focus on their instruction set architectures, privacy capabilities, proof complexities, and specific innovations or limitations. This milestone will be divided in several sub-milestones in order to understand which paths to take and which path would better fit in order to get tangible output (see Work Breakdown and Deliverables) - - ---- - -### Work Breakdown & Deliverables -* * [x] Sub Milestone 1: Privacy Cryptography Research and Selection - - **Work Breakdown:** Conduct exhaustive research into cryptographic primitives that enhance privacy, determining which are most applicable and promising for integration into a zkVM. - - **Deliverables:** - * * [x] A comprehensive review of current cryptographic techniques that enhance privacy, including signature schemes and MPC schemes, focusing on those with potential for zkVM integration -> [1. List of zkVMs](https://notes.status.im/s/_4MmpSCc9) and [2. In-depth Review](https://github.com/vacp2p/zk-explorations/issues/40). - * * [x] Analysis of selected cryptographic primitives for implementation in Rust, considering their compatibility with the zkVM environment, specifically within frameworks like Nexus VM -> [List of Primitives and Privacy Requirements](https://notes.status.im/s/AFBtW3Prj). - * * [x] A blogpost reflecting the research that have been conducted. -> [Exploring zkVMs: Which Projects Truly Qualify as Zero-Knowledge Virtual Machines?](https://vac.dev/rlog/zkVM-explorations) - -* * [ ] Sub Milestone 2: Cryptographic Implementation and Testing (Related to Sub Milestone 1) - - **Work Breakdown:** Implement the selected cryptographic primitives in Rust (From Sub Milestone 1), ensuring they are optimized for privacy enhancement within the zkVM framework. - - **Deliverables:** Repo documenting the testing processes, performance evaluations, and optimizations applied to the cryptographic implementations to ensure privacy efficiency and scalability within the zkVM. - - -* * [ ] Sub Milestone 3: zkVM Adaptation for Privacy - - **Work Breakdown:** Adapt an existing zkVM to integrate the implemented cryptographic primitives, prioritizing privacy preservation. For instance we can think about replacing Merkle trees with Verkle trees within existing VMs, or adding proof compression layer to replace logarithmic proof sizes with constant sized proofs. The possible prototype could potentially incorporate selected features and optimizations from the previous phases. This involves implementing privacy-preserving properties, selecting appropriate instruction sets, and integrating advancements such as Nova-based proof systems. - - **Deliverables:** - * Potential Privacy-Centric zkVM Prototype: A zkVM that integrates the Rust-based cryptographic libraries, showcasing enhanced privacy capabilities. - * Detailed documentation on performance metrics and comparative analysis with existing systems. - -**Impact:** This plan underscores the goal for delivering a zkVM with strong focus on privacy enhancements. By identifying and integrating advanced cryptographic primitives, and considering the deployement within environments like Nexus VM or similar VMs, this milestone aims to make significant contributions to the field of privacy-preserving computation. Sub milestones may slightly change and some of them might be accomplished faster than others especially that during the previous period, we have focused on existing zkVMs and extensively studied the integration of cryptographic primitives to enhance pivacy. - - - diff --git a/content/vac/nim/core-libs/vac/chronos-maintainance.md b/content/vac/nim/core-libs/vac/chronos-maintainance.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/nim/index.md b/content/vac/nim/index.md deleted file mode 100644 index 42c2d57a2..000000000 --- a/content/vac/nim/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Nim Unit -tags: - - nim - - vac -date: 2024-06-01 -lastmod: 2024-06-18 ---- - -## `vac:nim:` ---- - -### `tooling:vac:` -* [ ] [[vac/nim/tooling/vac/nim-suggest|nim-suggest]] -* [ ] [[vac/nim/tooling/vac/nimble|nimble]] -* [ ] [[vac/nim/tooling/vac/compiler|compiler]] -* [ ] [[vac/nim/tooling/vac/editor|editor]] -* [ ] [[vac/nim/tooling/vac/lsp|lsp]] - - -### `core-libs:vac:` -* [ ] [[vac/nim/core-libs/vac/chronos-maintainance|chronos-maintainance]] diff --git a/content/vac/nim/tooling/vac/compiler.md b/content/vac/nim/tooling/vac/compiler.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/nim/tooling/vac/editor.md b/content/vac/nim/tooling/vac/editor.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/nim/tooling/vac/lsp.md b/content/vac/nim/tooling/vac/lsp.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/nim/tooling/vac/nim-suggest.md b/content/vac/nim/tooling/vac/nim-suggest.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/nim/tooling/vac/nimble.md b/content/vac/nim/tooling/vac/nimble.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/p2p/index.md b/content/vac/p2p/index.md deleted file mode 100644 index e6666880f..000000000 --- a/content/vac/p2p/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: P2P Service Unit -tags: -- p2p -- vac -date: 2023-08-25 -lastmod: 2023-09-05 ---- - -## `vac:p2p:` - ---- - -### `nimlibp2p:vac:` - -The P2P Service unit develops `nim-libp2p`. -nim-libp2p roadmap on github: https://github.com/status-im/nim-libp2p/issues/777 - -* [x] [[vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844|gossipsub-improvements-eip-4844]] -* [[vac/p2p/nimlibp2p/vac/webrtc-transport|webrtc-transport]] -* [[vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation|gossipsub-ddos-mitigation]] -* [[vac/p2p/nimlibp2p/vac/gossipsub-stagger-send|gossipsub-stagger-send]] -* [[vac/p2p/nimlibp2p/vac/maintenance|maintenance]] - -### `nimchronos:vac:` - -* [[vac/p2p/nimchronos/vac/maintenance|maintenance]] diff --git a/content/vac/p2p/nimchronos/vac/maintenance.md b/content/vac/p2p/nimchronos/vac/maintenance.md deleted file mode 100644 index f792df489..000000000 --- a/content/vac/p2p/nimchronos/vac/maintenance.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Libchronos Maintenance" ---- -## `vac:p2p:nimchronos:vac:maintenance` ---- - -- status: ongoing -- CC: p2p team - -### Description - -- repo: https://github.com/status-im/nim-chronos - - - diff --git a/content/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md b/content/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md deleted file mode 100644 index 66a90c15b..000000000 --- a/content/vac/p2p/nimlibp2p/vac/gossipsub-ddos-mitigation.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Gossipsub DDoS Mitigation" ---- -## `vac:p2p:nimlibp2p:vac:gossipsub-ddos-mitigation` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Gossipsub DDoS mitigation: 2023-07-01, 2023-10-31 -``` - -- status: 30% -- CC: Diego - -### Description - - -### Deliverables - diff --git a/content/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md b/content/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md deleted file mode 100644 index e39f76057..000000000 --- a/content/vac/p2p/nimlibp2p/vac/gossipsub-improvements-eip-4844.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Gossipsub Improvements EIP 4844" ---- -## `vac:p2p:nimlibp2p:vac:gossipsub-improvements-eip-4844` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Gossipsub Improvements EIP 4844: done, 2023-03-01, 2023-07-31 -``` - -- status: 100% -- CC: Tanguy - -### Description - - -### Deliverables - diff --git a/content/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md b/content/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md deleted file mode 100644 index 492ff4d56..000000000 --- a/content/vac/p2p/nimlibp2p/vac/gossipsub-stagger-send.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Gossipsub Stagger Send" ---- -## `vac:p2p:nimlibp2p:vac:gossipsub-stagger-send` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Gossipsub Stagger Send: 2023-06-01, 2023-10-31 -``` - -- status: 20% -- CC: Tanguy - -### Description - -* specification -* first implementation (not deployable yet, deploy version will be in a separate milestone after syncing with other implementations) - -### Deliverables - diff --git a/content/vac/p2p/nimlibp2p/vac/maintenance.md b/content/vac/p2p/nimlibp2p/vac/maintenance.md deleted file mode 100644 index e75b423d0..000000000 --- a/content/vac/p2p/nimlibp2p/vac/maintenance.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Libp2p Maintenance" ---- -## `vac:p2p:nimlibp2p:vac:maintenance` ---- - -- status: ongoing -- CC: p2p team - -### Description - -- repo: https://github.com/status-im/nim-libp2p - - - diff --git a/content/vac/p2p/nimlibp2p/vac/webrtc-transport.md b/content/vac/p2p/nimlibp2p/vac/webrtc-transport.md deleted file mode 100644 index 1a56bc1b3..000000000 --- a/content/vac/p2p/nimlibp2p/vac/webrtc-transport.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: "WebRTC Transport" ---- -## `vac:p2p:nimlibp2p:vac:webrtc-transport` ---- - -```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 - WebRTC Transport: 2023-04-01, 2023-07-31 -``` - -- status: 70% -- CC: Diego - -### Description - - -### Deliverables - - diff --git a/content/vac/qa/g/codex/test-automation-codex-discovery.md b/content/vac/qa/g/codex/test-automation-codex-discovery.md deleted file mode 100644 index 0dfdf4986..000000000 --- a/content/vac/qa/g/codex/test-automation-codex-discovery.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Test Automation Codex Discovery" ---- -## `vac:qa::codex:test-automation-codex-discovery` ---- - -```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 Codex Discovery: 2024-09-01, 2024-10-30 -``` - -- status: 0% -- CC: Florin - -### Description - -- The goal of this milestone is to check unit and integration coverage of [nim-codex](https://github.com/codex-storage/nim-codex) and other repos in [Codex org](https://github.com/codex-storage) which nim-codex depends on. -- Deliverables will be a document showcasing existing testing coverage, gaps, CI capabilities and recommended improvements. - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/nomos/test-automation-cryptarchia.md b/content/vac/qa/g/nomos/test-automation-cryptarchia.md deleted file mode 100644 index efbd6b263..000000000 --- a/content/vac/qa/g/nomos/test-automation-cryptarchia.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Test Automation cryptarchia" ---- -## `vac:qa::nomos:test-automation-cryptarchia` ---- - -```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 cryptarchia: 2024-05-01, 2024-08-31 -``` - -- status: 0% -- CC: Florin, Alex, Roman - -### Description - -- Cryptarchia test plan -- Integration tests -- E2E tests -- Performance tests - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/nomos/test-automation-data-availability.md b/content/vac/qa/g/nomos/test-automation-data-availability.md deleted file mode 100644 index 8a723d59f..000000000 --- a/content/vac/qa/g/nomos/test-automation-data-availability.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Test Automation Data Availability" ---- -## `vac:qa::nomos:test-automation-data-availability` ---- - -```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 Data Availability: 2024-07-29, 2024-10-31 -``` - -- status: 0% -- CC: Florin, Roman - -### Description - -- Test plan -- Unit tests -- Integration tests -- Performance tests - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/vac/test-automation-nim-libp2p.md b/content/vac/qa/g/vac/test-automation-nim-libp2p.md deleted file mode 100644 index b543fabf5..000000000 --- a/content/vac/qa/g/vac/test-automation-nim-libp2p.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Test Automation nim-libp2p" ---- -## `vac:qa::vac:test-automation-nim-libp2p` ---- - -```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 nim-libp2p: 2024-01-01, 2024-12-31 -``` - -- status: 0% -- CC: Alex, Roman, Florin - -### Description - -Add tests and increase coverage for all the [modules](https://github.com/vacp2p/nim-libp2p?tab=readme-ov-file#modules) implemented in nim libp2p - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/vac/test-automation-nim-tooling.md b/content/vac/qa/g/vac/test-automation-nim-tooling.md deleted file mode 100644 index 255ac93d1..000000000 --- a/content/vac/qa/g/vac/test-automation-nim-tooling.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Test Automation nim-tooling" ---- -## `vac:qa::vac:test-automation-nim-tooling` ---- - -```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 nim-tooling: 2024-06-17, 2024-12-31 -``` - -- status: 0% -- CC: Roman, Alex, Florin - -### Description - -- build process testing -- contribution to Nim devel docker images -- Nimble/Nim features testing -- collect feedback from devs -> create issues - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/waku/interop-testing-02.md b/content/vac/qa/g/waku/interop-testing-02.md deleted file mode 100644 index 42a7d9df9..000000000 --- a/content/vac/qa/g/waku/interop-testing-02.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Interop Testing Part 2" ---- -## `vac:qa::waku:interop-testing-02` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - tickInterval 1month - dateFormat YYYY-MM-DD - section Status - Interop Testing Part 2: 2024-07-01, 2024-12-31 -``` - -- status: 0% -- CC: Florin, Roman - -### 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 - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/waku/interop-testing.md b/content/vac/qa/g/waku/interop-testing.md deleted file mode 100644 index b5cc4f52a..000000000 --- a/content/vac/qa/g/waku/interop-testing.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: "Interop Testing" ---- -## `vac:qa::waku:interop-testing` ---- - -```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 - Interop Testing: 2023-09-01, 2024-04-30 -``` - -- status: 100% -- CC: Florin, Roman - -### Description - -Create an interop testing framework that can run Waku nodes and cover it's - -* filter -* lightpush -* store (incl. store v3) -* relay -* nwaku <> go-waku interop -* ci integrations -* nightly reports - -### Justification - - -### Deliverables - -* Created scalable pytest framework -* Reached ~ 320 tests -* Created CI github actions workflows that: - * Runs nightly on latest nwaku and go-waku versions - * Runs tests between multiple nwaku nodes but with nwaku as service node and go-waku as client nodes in an interop way - * Can be run on demand against any nwaku / go-waku version - * Publishes nice reports with history and logs using github pages, [check example](https://waku-org.github.io/waku-interop-tests/nim/210/) - * Notifies waku discord channel about results of tests and pings developers if there are failures -* Coverage: - * [filter](https://github.com/waku-org/waku-interop-tests/tree/master/tests/filter) - * [lightpush](https://github.com/waku-org/waku-interop-tests/tree/master/tests/light_push) - * [relay](https://github.com/waku-org/waku-interop-tests/tree/master/tests/relay) - * [store](https://github.com/waku-org/waku-interop-tests/tree/master/tests/store) - * [sharding](https://github.com/waku-org/waku-interop-tests/tree/master/tests/sharding) -* Nwaku issues found: - * 2719: store v3 response format issues - * 2717: nwaku crashes for a store v3 request with invalid cursor format - * 2716: passing a cursor that doesn't correspond to any message in the store will return all messages - * 2715: store v3 returns error "waku message hash parsing error: Incorrect base64 string" for some cursors - * 2644: nwaku node fails to start without a shard flag - * 2586: node doesn't store messages if relay is disabled - * 2582: contentTopic naming not consistent in the store response where is's content_topic - * 2567: lightpush fails with Failed to request a message push: dial_failure after the peer node restart - * 2565: strange errors when light pushing messages with payload >= 300 kb - * 2552: node ca be started on multiple clusters - * 2550: node crashes with Message: AsyncEventQueue size exceeds limits when there are many flags to the docker start command - * 2546: only receive messages if someone subscribes explicitly via REST API to a pubsubTopic - * 2538: autosharding resolves content topics to wrong shard - * 2512: some lightnodes are not receiving filter push in certain conditions - * 2437: relay publish fails with 400 Bad Request when message contains an unknown field - * 2436: relay publish fails with 400 Bad Request when message contains ephemeral field - * 2388: relayed messages reach recently started peer with a big delay (~60 seconds) - * 2380: Relayed messages are not stored when running nwaku with docker compose - * 2372: failed to setup archive driver: Postgres has been configured but not been compiled. Check compiler definitions - * 2371: multiple messages published in the same second via RLN RELAY are not dropped - * 2320: Filter relay/v1/messages GET returns duplicate messages - * 2319: Relay publish returns Failed to publish: timedout when a peer filter node is disconnected - * 2315: updating a non existing subscriptions returns no error - * 2299: Relay connection works no more - * 2286: filter/v2/subscriptions response not in the expected format - * 2255: pubsub topic not mandatory for filter/v2/subscriptions - * 2214: relay publish fails with 400 Bad Request when message contains meta field - * 2198: relay push with malformed timestamp crashes nwaku - * 2147: store query cursor misbehaving for specific cursors - * 2117: store response is empty when requests contains invalid cursor -* Go-Waku issues found: - * 1110: store v3 - passing a cursor that doesn't correspond to any message in the store will return all messages - * 1109: store v3 returns error "illegal base64 data at input byte" for some cursors/hashes - * 1108: pubsubTopic and contentTopics are required for store v3 requests - * 1107: standardize store types by using camel case instead of snake case - * 1106: store v3 local queries time out - * 1087: failed to negotiate protocol: protocols not supported: [/vac/waku/store/2.0.0-beta4] when the peer node has store disabled - * 1079: missing RequestId field error when lightpush has unexpected payload of content topic - * 1078: lightpush on non subscribed pubsub topic hangs - * 1076: strange errors when light pushing messages with payload >= 300 kb - * 1074: all REST API calls return 200 with empty response - * 1068: ephemeral field is ignored and not returned when retrieving messages even if the message contained this field - * 1064: subscription not found if we start the node with the --pubsub-topic and we attempt to retrieve messages - * 1061: dont harcode clusterid for autosharding - * 1054: filter subscribe on a pubsubtopic from a different cluster id freezes - * 1034: DELETE /relay/v1/subscriptions freezes in certain conditions - * 988: invalid memory address or nil pointer dereference when trying to connect nodes - * 972: filter/v2/subscriptions take a lot of time and even timeout sometimes - * 971: Unsubscribing from one pubsubtopic seems to unsubscribe from all - * 970: ping request failed with 503 when peer has no subscription - * 969: PUT /filter/v2/subscriptions doesn't exist - * 968: 503 instead of 400 when a filter/v2/subscriptions bad request is sent - * 967: filter/v2/subscriptions freezes when pubsubtopic is from the non-default (0) cluster - * 960: Strange "not subscribed to pubsubTopic" errors for filter/v2/messages GET requests - * 928: encoding/hex: odd length hex string for filter/v2/subscriptions POST requests - * 923: discv5/discover.go messages flooding the docker DEBUG logs - * 922: duplicate validator for topic error when trying to re-subscribe to previously unsubscribed topic - * 914: REST relay publish returns HTTP 500 Internal Server Error instead of 4XX for invalid requests E:REST API service node diff --git a/content/vac/qa/g/waku/maintenance-go-waku.md b/content/vac/qa/g/waku/maintenance-go-waku.md deleted file mode 100644 index e8f6974d2..000000000 --- a/content/vac/qa/g/waku/maintenance-go-waku.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Maintenance go-waku" ---- -## `vac:qa::waku:maintenance-go-waku` ---- - -```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 - Maintenance go-waku: 2024-03-18, 2024-12-31 -``` - -- status: 0% -- CC: Roman - -### Description - -This milestone comprises various (ad-hoc) tasks essential to maintaining and enhancing our project's operational efficiency. - -It is specifically designated for updates and fixes to tests that were introduced in previously closed milestones, ensuring that all our testing frameworks remain robust and up-to-date. - -It also offers a space for small, ad-hoc developer requests, for instance, we can use this milestone when we are requested assistance with reproducing steps for a bug or to conduct an investigation into a specific failure. - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/waku/maintenance-js-waku.md b/content/vac/qa/g/waku/maintenance-js-waku.md deleted file mode 100644 index ea40c58e4..000000000 --- a/content/vac/qa/g/waku/maintenance-js-waku.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "Maintenance js-waku" ---- -## `vac:qa::waku:maintenance-js-waku` ---- - -```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 - Maintenance js-waku: 2024-03-18, 2024-12-31 -``` - -- status: 0% -- CC: Florin - -### Description - -This milestone comprises various (ad-hoc) tasks essential to maintaining and enhancing our project's operational efficiency. - -It is specifically designated for updates and fixes to tests that were introduced in previously closed milestones, ensuring that all our testing frameworks remain robust and up-to-date. - -It also offers a space for small, ad-hoc developer requests, for instance, we can use this milestone when we are requested assistance with reproducing steps for a bug or to conduct an investigation into a specific failure. - -### Justification - - -### Deliverables - diff --git a/content/vac/qa/g/waku/maintenance-nwaku.md b/content/vac/qa/g/waku/maintenance-nwaku.md deleted file mode 100644 index 4f08b2d65..000000000 --- a/content/vac/qa/g/waku/maintenance-nwaku.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Maintenance nwaku" ---- -## `vac:qa::waku:maintenance-nwaku` ---- - -```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 - Maintenance nwaku: 2024-03-18, 2024-12-31 -``` - -- status: 0% -- CC: Alex, Roman - -### Description - -This milestone comprises various (ad-hoc) tasks essential to maintaining and enhancing our project's operational efficiency. - -It is specifically designated for updates and fixes to tests that were introduced in previously closed milestones, ensuring that all our testing frameworks remain robust and up-to-date. - -It also offers a space for small, ad-hoc developer requests, for instance, we can use this milestone when we are requested assistance with reproducing steps for a bug or to conduct an investigation into a specific failure. - -### Justification - - -### Deliverables diff --git a/content/vac/qa/g/waku/test-automation-go-waku.md b/content/vac/qa/g/waku/test-automation-go-waku.md deleted file mode 100644 index c0ebbc27b..000000000 --- a/content/vac/qa/g/waku/test-automation-go-waku.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Test Automation go-waku" ---- -## `vac:qa::waku:test-automation-go-waku` ---- - -```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 go-waku: 2023-10-01, 2024-02-29 -``` - -- status: 100% -- CC: Roman - -### Description - -* filter (t) -* lightpush (t) -* store (t) -* relay -* peer exchange -* discv5 -* peer & connection management -* CI integration - -### Justification - - -### Deliverables - -- filter: - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/filter/filter_ping_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/filter/filter_proto_ident_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/filter/filter_push_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/filter/filter_subscribe_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/filter/filter_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/filter/filter_unsubscribe_test.go - - -- lightpush: - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/lightpush/waku_lightpush_test.go - -- store: - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/store/waku_store_client.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/store/waku_store_protocol_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/store/waku_store_query_test.go - -- relay: - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/relay/waku_relay_test.go - -- peer exchange: - - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/peer_exchange/waku_peer_exchange_test.go - -- peer & connection management: - - https://github.com/waku-org/go-waku/blob/master/waku/v2/peermanager/connection_gater_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/peermanager/service_slot_test.go - - https://github.com/waku-org/go-waku/blob/master/waku/v2/peermanager/topic_event_handler_test.go - -- discv5 - - https://github.com/waku-org/go-waku/blob/master/waku/v2/discv5/discover_test.go - -- CI integration - - https://github.com/waku-org/waku-interop-tests/actions/workflows/test_common.yml - - go_waku_daily which is now changed. - diff --git a/content/vac/qa/g/waku/test-automation-js-waku.md b/content/vac/qa/g/waku/test-automation-js-waku.md deleted file mode 100644 index 44d23c81b..000000000 --- a/content/vac/qa/g/waku/test-automation-js-waku.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Test Automation js-waku" ---- -## `vac:qa::waku:test-automation-js-waku` ---- - -```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 js-waku: 2023-09-15, 2024-02-29 -``` - -- status: 100% -- CC: Florin - -### Description - -* filter (t) -* lightpush (t) -* store (t) -* relay -* peer exchange -* discv5 -* peer & connection management -* CI integration - -Additional requirements: -It should be possible to choose the nwaku version the js waku test use (done via github actions inputs) - -### Justification - - -### Deliverables - -* [filter](https://github.com/waku-org/js-waku/tree/master/packages/tests/tests/filter) -* [lightpush](https://github.com/waku-org/js-waku/tree/master/packages/tests/tests/light-push) -* [store](https://github.com/waku-org/js-waku/tree/master/packages/tests/tests/store) -* [relay](https://github.com/waku-org/js-waku/tree/master/packages/tests/tests/relay) -* [peer exchange](https://github.com/waku-org/js-waku/tree/master/packages/tests/tests/peer-exchange) -* [peer & connection management](https://github.com/waku-org/js-waku/tree/master/packages/tests/tests/connection-mananger) -* [CI integration](https://github.com/waku-org/js-waku/blob/master/.github/workflows/test-node.yml) diff --git a/content/vac/qa/g/waku/test-automation-nwaku.md b/content/vac/qa/g/waku/test-automation-nwaku.md deleted file mode 100644 index 8eaa45d07..000000000 --- a/content/vac/qa/g/waku/test-automation-nwaku.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: "Test Automation nwaku" ---- -## `vac:qa::waku:test-automation-nwaku` ---- - -```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 nwaku: 2023-09-15, 2024-02-29 -``` - -- status: 100% -- CC: Alex - -### Description - -* filter (t) -* lightpush (t) -* store (t) -* relay -* peer exchange -* discv5 -* peer & connection management -* CI integration - -### Justification - - -### Deliverables - -# Filter - - https://github.com/waku-org/nwaku/pull/2023 - - https://github.com/waku-org/nwaku/pull/2034 - - https://github.com/waku-org/nwaku/pull/2035 - - https://github.com/waku-org/nwaku/pull/2046 - - https://github.com/waku-org/nwaku/pull/2057 - - https://github.com/waku-org/nwaku/pull/2085 - - https://github.com/waku-org/nwaku/pull/2095 - - https://github.com/waku-org/nwaku/pull/2096 - - * [tests/node/test_wakunode_filter.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/test_wakunode_filter.nim) - * [tests/waku_filter_v2/test_waku_client.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_filter_v2/test_waku_client.nim) - -# Lightpush - - https://github.com/waku-org/nwaku/pull/2269 - - * [tests/node/test_wakunode_lightpush.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/test_wakunode_lightpush.nim) - * [tests/waku_lightpush/test_client.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_lightpush/test_client.nim) - -# Store - - https://github.com/waku-org/nwaku/pull/2234 - - https://github.com/waku-org/nwaku/pull/2235 - - https://github.com/waku-org/nwaku/pull/2240 - - * [tests/waku_store/test_client](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_store/test_client) - * [tests/node/test_wakunode_store](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/test_wakunode_store) - -# Relay - - https://github.com/waku-org/nwaku/pull/2101 - - https://github.com/waku-org/nwaku/pull/2224 - - * [tests/waku_relay/test_message_id.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_relay/test_message_id.nim) - * [tests/waku_relay/test_protocol.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_relay/test_protocol.nim) - -# Peer Exchange - - https://github.com/waku-org/nwaku/pull/2464 - - * [tests/node/test_wakunode_peer_exchange.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/test_wakunode_peer_exchange.nim) - * [tests/test_relay_peer_exchange.nim (partial)](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/test_relay_peer_exchange.nim (partial)) - * [tests/waku_peer_exchange/test_protocol.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_peer_exchange/test_protocol.nim) - * [tests/waku_peer_exchange/test_rpc_codec.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_peer_exchange/test_rpc_codec.nim) - -# Peer & Connection Management - - https://github.com/waku-org/nwaku/pull/2321 - - https://github.com/waku-org/nwaku/pull/2566 - - * [tests/node/peer_manager/peer_store/test_migrations.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/peer_manager/peer_store/test_migrations.nim) - * [tests/node/peer_manager/peer_store/test_peer_storage.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/peer_manager/peer_store/test_peer_storage.nim) - * [tests/node/peer_manager/peer_store/test_waku_peer_storage.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/peer_manager/peer_store/test_waku_peer_storage.nim) - * [tests/node/test_wakunode_peer_manager.nim](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/node/test_wakunode_peer_manager.nim) - -# Discv5 - - https://github.com/waku-org/nwaku/pull/2487 - - * [tests/waku_discv5/test_waku_discv5.nim (refactor and implementation)](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_discv5/test_waku_discv5.nim (refactor and implementation)) - * [tests/waku_enr/test_sharding.nim (refactor)](https://github.com/waku-org/nwaku/blob/840e012294d8fba7f989c87a6f69689fbd397c92/tests/waku_enr/test_sharding.nim (refactor)) - -# CI Integration - - None diff --git a/content/vac/qa/g/waku/test-automation-rln.md b/content/vac/qa/g/waku/test-automation-rln.md deleted file mode 100644 index 1d53def98..000000000 --- a/content/vac/qa/g/waku/test-automation-rln.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -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/vac/qa/g/waku/test-automation-sharding.md deleted file mode 100644 index d24be72ce..000000000 --- a/content/vac/qa/g/waku/test-automation-sharding.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "Test Automation Sharding" ---- -## `vac:qa::waku:test-automation-sharding` ---- - -```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 Sharding: 2024-01-01, 2024-04-30 -``` - -- status: 100% -- CC: Roman, Florin, Alex - -### Description - -* nwaku unit tests -* gowaku unit tests -* js-waku unit tests -* interop sharding tests - - -### Justification - - -### Deliverables -- gowaku: - - https://github.com/waku-org/go-waku/commit/a453c027b71cbf8d1b01d009e769d1b7d0faa8b5 - -- interop: - - https://github.com/waku-org/waku-interop-tests/tree/master/tests/sharding - -- js-waku: - - https://github.com/waku-org/js-waku/tree/master/packages/tests/tests/sharding - - https://github.com/waku-org/js-waku/blob/master/packages/utils/src/common/sharding.spec.ts - -- nwaku: - - https://github.com/waku-org/nwaku/pull/2603 diff --git a/content/vac/qa/g/waku/test-automation-status-go-cli-2.md b/content/vac/qa/g/waku/test-automation-status-go-cli-2.md deleted file mode 100644 index ab72a4375..000000000 --- a/content/vac/qa/g/waku/test-automation-status-go-cli-2.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Status-go CLI Testing 2" ---- -## `vac:qa::waku:status-go-cli-testing-2` ---- - -```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 - Status-go CLI Testing 2: 2024-08-19, 2024-12-31 -``` - -- status: 0% -- CC: Florin - -### Description - -- Review the current test coverage of chat functionalities in status-go and proceed with further coverage. Start with community creation and usage in dedicated shards -- Review testing in status-go related to chat functionalities that rely on external systems (e.g., Waku fleet) and migrate them to an interoperable testing framework. Decouple CI tests from external/unreliable fleets -- TBD (discussions are still ongoing, Hanno will reach out to Status people to define the requirements) - -### Justification - - -### Deliverables - - diff --git a/content/vac/qa/g/waku/test-automation-status-go-cli.md b/content/vac/qa/g/waku/test-automation-status-go-cli.md deleted file mode 100644 index 4995d84df..000000000 --- a/content/vac/qa/g/waku/test-automation-status-go-cli.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "Status-go CLI Testing" ---- -## `vac:qa::waku:status-go-cli-testing` ---- - -```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 - Status-go CLI Testing: 2024-06-01, 2024-09-02 -``` - -- status: 100% -- CC: Florin - -### Description - -* Testing the reliability of message sending via the status-go CLI tool. See [details](https://docs.google.com/document/d/1L8HvXtAYk-JqQL6w3RgCskXwegcTa0J5nyH9YL4LrQE/edit#heading=h.q8bx3xjzsxn9) -* [Ticket](https://github.com/status-im/status-go/issues/5144) -* Potential [tool](https://github.com/status-im/status-go/blob/develop/cmd/status-cli/README.md) to use - -### Justification - - -### Deliverables - -- Created [new framework](https://github.com/status-im/status-cli-tests) that: - - builds and runs nodes using status cli tool - - provides API to interact with different features - - runs tests for all requested features: - - contact_request - - create_private_groups - - fetch_community - - join_community - - leave_community - - one_to_one_messages - - private_group_messages - - reuses communities to not clout the staging env - - runs each night on status master branch - - generates test report with history: https://status-im.github.io/status-cli-tests/122/ - - found multiple issues that are under investgation by Pablo -- Ability to simulate for all the above scenarios: - - Latency - - Packet loss - - Low bandwith - - Hybernation - -### PR list: -- https://github.com/status-im/status-cli-tests/pull/1 -- https://github.com/status-im/status-cli-tests/pull/2 -- https://github.com/status-im/status-cli-tests/pull/3 -- https://github.com/status-im/status-cli-tests/pull/4 -- https://github.com/status-im/status-cli-tests/pull/5 -- https://github.com/status-im/status-cli-tests/pull/6 diff --git a/content/vac/qa/g/waku/test-plan-rln.md b/content/vac/qa/g/waku/test-plan-rln.md deleted file mode 100644 index 9fa91c272..000000000 --- a/content/vac/qa/g/waku/test-plan-rln.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Test Plan RLN" ---- -## `vac:qa::waku:test-plan-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 Plan RLN: 2023-02-01, 2024-02-29 -``` - -- status: 100% -- CC: Florin - -### Description - -Test plan for the Waku RLN relay. - - -### Justification - - -### Deliverables - -* [RLN Relay test plan](https://www.notion.so/RLN-Relay-9dd36da3029847aa86dda2cb4ccbc145) diff --git a/content/vac/qa/g/waku/test-plan-sharding.md b/content/vac/qa/g/waku/test-plan-sharding.md deleted file mode 100644 index 159d8a9d4..000000000 --- a/content/vac/qa/g/waku/test-plan-sharding.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Test Plan Sharding" ---- -## `vac:qa::waku:test-plan-sharding` ---- - -```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 Plan RLN: 2023-12-01, 2024-02-29 -``` - -- status: 100% -- CC: Florin - -### Description - -Test plan for the Waku Sharding. - - -### Justification - - -### Deliverables - -* [Sharding Test plan](https://www.notion.so/Sharding-fc4b21238cde41f3bed8c9aab016bd58) diff --git a/content/vac/qa/g/waku/test-plans.md b/content/vac/qa/g/waku/test-plans.md deleted file mode 100644 index 87daea6db..000000000 --- a/content/vac/qa/g/waku/test-plans.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Test Plans" ---- -## `vac:qa::waku:test-plans` ---- - -```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 Plans: 2023-09-01, 2024-02-29 -``` - -- status: 100% -- CC: Florin - -### Description - -unit + integration test -(contains actually understanding the protocols, critically engage with the protocols) -(instruct the engineer) - -* filter -* lightpush -* store -* relay -* peer exchange -* discv5 -* peer & connection management - -### Justification - - -### Deliverables - -* [test plans](https://www.notion.so/Test-Plans-09c8c7b7f6784c459fb774792665e37c) - diff --git a/content/vac/qa/g/waku/ws-stress-testing.md b/content/vac/qa/g/waku/ws-stress-testing.md deleted file mode 100644 index 0bc572411..000000000 --- a/content/vac/qa/g/waku/ws-stress-testing.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "WebSockets Stress Testing" ---- -## `vac:qa::waku:ws-stress-testing` ---- - -```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 - WebSockets Stress Testing: 2024-03-18, 2024-12-31 -``` - -- status: 0% -- CC: Florin, Roman - -### Description - -[WIP] : This milestone is designated as a specific request from the Waku Team, focusing on conducting a stress test to evaluate the robustness and reliability of the nim-websocket implementation versus HTTP. - -(more info will be added once the Waku 2024 milestones are finalized) - -### Justification - - -### Deliverables diff --git a/content/vac/qa/index.md b/content/vac/qa/index.md deleted file mode 100644 index 1ccb2e657..000000000 --- a/content/vac/qa/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: QA Service Unit -tags: -- dst -- vac -date: 2024-02-06 -lastmod: 2024-08-19 ---- - -## `vac:qa::` ---- - -### `waku:` -* [x] [[vac/qa/g/waku/test-plans|test-plans ]] -* [x] [[vac/qa/g/waku/test-plan-rln|test-plan-rln ]] -* [x] [[vac/qa/g/waku/test-plan-sharding|test-plan-sharding ]] -* [x] [[vac/qa/g/waku/test-automation-js-waku|test-automation-js-waku ]] -* [x] [[vac/qa/g/waku/test-automation-nwaku|test-automation-nwaku ]] -* [x] [[vac/qa/g/waku/test-automation-rln|test-automation-rln ]] -* [x] [[vac/qa/g/waku/test-automation-sharding|test-automation-sharding ]] -* [x] [[vac/qa/g/waku/test-automation-go-waku|test-automation-go-waku ]] -* [x] [[vac/qa/g/waku/interop-testing|interop-testing ]] -* [[vac/qa/g/waku/interop-testing-02|interop-testing-02 ]] -* [[vac/qa/g/waku/maintenance-js-waku|maintenance-js-waku ]] -* [[vac/qa/g/waku/maintenance-nwaku|maintenance-nwaku ]] -* [[vac/qa/g/waku/maintenance-go-waku|maintenance-go-nwaku ]] -* [[vac/qa/g/waku/ws-stress-testing|ws-stress-testing ]] -* [x] [[vac/qa/g/waku/test-automation-status-go-cli|test-automation-status-go-cli ]] -* [[vac/qa/g/waku/test-automation-status-go-cli-2|test-automation-status-go-cli-2 ]] - -### `vac:` -* [[vac/qa/g/vac/test-automation-nim-libp2p|test-automation-nim-libp2p ]] -* [[vac/qa/g/vac/test-automation-nim-tooling|test-automation-nim-tooling ]] - -### `nomos:` -* [[vac/qa/g/nomos/test-automation-cryptarchia|test-automation-cryptarchia ]] -* [[vac/qa/g/nomos/test-automation-data-availability|test-automation-data-availability ]] - -### `codex:` -* [[vac/qa/g/codex/test-automation-codex-discovery|test-automation-codex-discovery ]] diff --git a/content/vac/rfc/index.md b/content/vac/rfc/index.md deleted file mode 100644 index 0d76c1683..000000000 --- a/content/vac/rfc/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: RFC Specifications Service Unit -tags: -- rfc -- vac -date: 2023-08-25 -lastmod: 2024-05-03 ---- - -## `vac:rfc:` - ---- - -### `rfc:status:` - -* [x] [[vac/rfc/rfc/status/port-status-specs|port-status-specs]] - -### `rfc:nomos:` - -* [x] [[vac/rfc/rfc/nomos/carnot-specification|carnot-specification]] -* [x] [[vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification|carnot-vote-2-3rds-vote-aggregation-specification ]] -* [[vac/rfc/rfc/nomos/specs-init|specs-init]] - -### `rfc:codex:` -* [[vac/rfc/rfc/nomos/specs-init|specs-init]] - -### `rfc:waku:` - -* [x] [[vac/rfc/rfc/waku/waku-keystore|waku-keystore]] -* [[vac/rfc/rfc/waku/core-rfc-updates|core-rfc-updates]] - -### `rfc:vac:` - -* [x] [[vac/rfc/rfc/vac/rfc-process-update|rfc-process-update]] -* [[vac/rfc/rfc/vac/rfc-index|rfc-index]] - -### icebox - -* [[vac/rfc/rfc/nomos/carnot-threat-model-informational|carnot-threat-model-informational ]] -* [[vac/rfc/rfc/nomos/inter-chain-protocol-specification|inter-chain-protocol-specification ]] -* [[vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification|multi-leader-and-multi-overlay-carnot-specification ]] - diff --git a/content/vac/rfc/rfc/codex/specs-init.md b/content/vac/rfc/rfc/codex/specs-init.md deleted file mode 100644 index ef4732adf..000000000 --- a/content/vac/rfc/rfc/codex/specs-init.md +++ /dev/null @@ -1,2 +0,0 @@ -Init the effort of specifying Codex protocols. -Go through existing docs and identify. diff --git a/content/vac/rfc/rfc/nomos/carnot-specification.md b/content/vac/rfc/rfc/nomos/carnot-specification.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/rfc/rfc/nomos/carnot-threat-model-informational.md b/content/vac/rfc/rfc/nomos/carnot-threat-model-informational.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md b/content/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md deleted file mode 100644 index 8daeda0ee..000000000 --- a/content/vac/rfc/rfc/nomos/carnot-vote-2-3rds-vote-aggregation-specification.md +++ /dev/null @@ -1 +0,0 @@ -- part of the DR roadmap: [[carnot-vote-2-3rds-vote-aggregation-specification| carnot-vote-2-3rds-vote-aggregation-specification ]] diff --git a/content/vac/rfc/rfc/nomos/inter-chain-protocol-specification.md b/content/vac/rfc/rfc/nomos/inter-chain-protocol-specification.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification.md b/content/vac/rfc/rfc/nomos/multi-leader-and-multi-overlay-carnot-specification.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/vac/rfc/rfc/nomos/specs-init.md b/content/vac/rfc/rfc/nomos/specs-init.md deleted file mode 100644 index 568099807..000000000 --- a/content/vac/rfc/rfc/nomos/specs-init.md +++ /dev/null @@ -1,2 +0,0 @@ -Init the effort of specifying Nomos protocols. -Go through existing docs and identify. diff --git a/content/vac/rfc/rfc/status/port-status-specs.md b/content/vac/rfc/rfc/status/port-status-specs.md deleted file mode 100644 index 87492f6e5..000000000 --- a/content/vac/rfc/rfc/status/port-status-specs.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Port Status Specs" ---- -## `vac:rfc:rfc:status:port-status-specs` ---- - -```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 - Port Status Spec: 2023-08-01, 2023-11-31 -``` - -- status: 85% -- CC: Jimmy - -### Description - - -This milestone comprises the first version of each of the specifications. Iterations on spec parlance and further enhancements will be covered in future milestones. -The goal we want to aim for is to take down and completely get rid of https://specs.status.im/ and its accompanying repo https://github.com/status-im/specs , so that all Status protocol specs are in the https://github.com/vacp2p/rfc repo - -Tasks: - -* determine which specs from https://specs.status.im/ are still relevant as protocol specs, and which old specs are no longer relevant and can be discarded -* out of the still relevant protocol specs that haven't yet been moved over to the Vac RFC repo, update these specs as needed and move them into the Vac RFC repo -* once done, take down https://specs.status.im/ and archive the https://github.com/vacp2p/rfc repo - -The new Status website will have a 'Specs' section inside the 'Developers' part of the website, and this Specs section will pull in and render all specs from https://rfc.vac.dev/ with "STATUS-" in their title. -Note that feature specs should NOT be added to the Vac RFC repo, only protocol specs should go here. - -RFCs to be moved / updates: - -* (todo add RFCs we already ported) -* [x] `6/PAYLOADS` (needs significant update) -* [x] `2/ACCOUNT` -* [x] `16/Keycard` (discuss with keycard team) -* `16/Push-Notifications` (raw, needs update) -* `10/waku-usage` (outdated, check if we need that, update to Waku 2 if makes sense) - -#### out of scope? - -* `14/Dapp browser API usage` (this is not part of chat SDK, is this still a RFC? API doc would be more fitting here.) -* `13/3RD-PARTY` (investigate, most likely out-of-scope as it is not a protocol spec) -* `8/EIPS` (clarify if we have to port this → this should not be an RFC, needs constant updates, link EIPS in RFCs where needed) - -#### stable - deprecated -(just copy these; confirm this is OK) - -* `4/whisper-mailserver` -* `11/Waku-Mailserver` - -### Justification - - -### Deliverables - -* https://rfc.vac.dev/spec/53/ -* https://rfc.vac.dev/spec/54/ -* https://rfc.vac.dev/spec/55/ -* https://rfc.vac.dev/spec/56/ -* https://rfc.vac.dev/spec/61/ -* https://rfc.vac.dev/spec/63/ - - diff --git a/content/vac/rfc/rfc/vac/rfc-index.md b/content/vac/rfc/rfc/vac/rfc-index.md deleted file mode 100644 index 947da5e4d..000000000 --- a/content/vac/rfc/rfc/vac/rfc-index.md +++ /dev/null @@ -1 +0,0 @@ -Build up and maintain rfc.vac.dev and https://github.com/vacp2p/rfc-index diff --git a/content/vac/rfc/rfc/vac/rfc-process-update.md b/content/vac/rfc/rfc/vac/rfc-process-update.md deleted file mode 100644 index 033fc1a0e..000000000 --- a/content/vac/rfc/rfc/vac/rfc-process-update.md +++ /dev/null @@ -1 +0,0 @@ -RFC process update diff --git a/content/vac/rfc/rfc/waku/core-rfc-updates.md b/content/vac/rfc/rfc/waku/core-rfc-updates.md deleted file mode 100644 index 791cdc300..000000000 --- a/content/vac/rfc/rfc/waku/core-rfc-updates.md +++ /dev/null @@ -1 +0,0 @@ -Waku core RFC updates diff --git a/content/vac/rfc/rfc/waku/waku-keystore.md b/content/vac/rfc/rfc/waku/waku-keystore.md deleted file mode 100644 index 46274bf91..000000000 --- a/content/vac/rfc/rfc/waku/waku-keystore.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "Waku Keystore" -description: "Waku Keystore" ---- -## `vac:rfc:rfc:waku:waku-keystore` ---- - -```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 - Waku Keystore RFC: 2023-11-01, 2023-11-31 -``` - -- status: 0% -- CC: Jimmy - -### Description - -Waku keystore offers a secure way to store RLN credentials, -which consist of the user's `identityCredential`, -the `identityIndex` (the index of their commitment in the tree), -and the `membershipContract` (the contract to which this credential is registered). -We follow EIP-2335 closely, with some changes that are more evident from the code. - -* nwaku implementation of keystore - https://github.com/waku-org/nwaku/tree/master/waku/waku_keystore -* go-waku implementation of keystore - https://github.com/waku-org/go-waku/blob/master/waku/v2/protocol/rln/keystore/keystore.go -* js-waku implementation of keystore - https://github.com/waku-org/js-rln/tree/master/src/keystore -* Sample keystore - https://github.com/waku-org/js-rln/blob/891ee3474aa97e8fe5ac1b35b7ed7387f395a537/src/keystore/keystore.spec.ts#L16-L95 - -The RFC should describe the credential encryption format, the supported kdf's, as well as a sample keystore. - -### Justification - - -### Deliverables - -* RFC - - diff --git a/content/vac/sc/g/codex/contracts-formal-verification.md b/content/vac/sc/g/codex/contracts-formal-verification.md deleted file mode 100644 index 8478698ec..000000000 --- a/content/vac/sc/g/codex/contracts-formal-verification.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -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/vac/sc/g/codex/review-codex-contracts.md b/content/vac/sc/g/codex/review-codex-contracts.md deleted file mode 100644 index 6682c6687..000000000 --- a/content/vac/sc/g/codex/review-codex-contracts.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -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/vac/sc/g/finance/access-control-safe-support.md b/content/vac/sc/g/finance/access-control-safe-support.md deleted file mode 100644 index c6419fa60..000000000 --- a/content/vac/sc/g/finance/access-control-safe-support.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -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/vac/sc/g/status/community-contracts-ERC20.md b/content/vac/sc/g/status/community-contracts-ERC20.md deleted file mode 100644 index 64e790c4e..000000000 --- a/content/vac/sc/g/status/community-contracts-ERC20.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -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/vac/sc/g/status/community-contracts-ERC721.md b/content/vac/sc/g/status/community-contracts-ERC721.md deleted file mode 100644 index ceccb087c..000000000 --- a/content/vac/sc/g/status/community-contracts-ERC721.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -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/vac/sc/g/status/community-contracts-batch-tx-ext.md b/content/vac/sc/g/status/community-contracts-batch-tx-ext.md deleted file mode 100644 index 78fae2834..000000000 --- a/content/vac/sc/g/status/community-contracts-batch-tx-ext.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -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/vac/sc/g/status/community-contracts-curation-dapp-contracts.md b/content/vac/sc/g/status/community-contracts-curation-dapp-contracts.md deleted file mode 100644 index 35bd90099..000000000 --- a/content/vac/sc/g/status/community-contracts-curation-dapp-contracts.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -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/vac/sc/g/status/community-contracts-deployer.md b/content/vac/sc/g/status/community-contracts-deployer.md deleted file mode 100644 index f191d83df..000000000 --- a/content/vac/sc/g/status/community-contracts-deployer.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -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/vac/sc/g/status/community-contracts-maintenance.md b/content/vac/sc/g/status/community-contracts-maintenance.md deleted file mode 100644 index 0c3aa9f06..000000000 --- a/content/vac/sc/g/status/community-contracts-maintenance.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Community Contracts Maintenance" ---- -## `vac:sc::status:community-contracts-maintenance` ---- - -- status: ongoing -- CC: Andrea - -### Description - - -### Justification - - -### Deliverables - - - diff --git a/content/vac/sc/g/status/community-contracts-token-import.md b/content/vac/sc/g/status/community-contracts-token-import.md deleted file mode 100644 index 93b47145a..000000000 --- a/content/vac/sc/g/status/community-contracts-token-import.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -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/vac/sc/g/status/community-contracts-vault-token-airdrop.md b/content/vac/sc/g/status/community-contracts-vault-token-airdrop.md deleted file mode 100644 index 7d64c042e..000000000 --- a/content/vac/sc/g/status/community-contracts-vault-token-airdrop.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -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/vac/sc/g/status/ens-usernames-maintenance.md b/content/vac/sc/g/status/ens-usernames-maintenance.md deleted file mode 100644 index f81ab4a7d..000000000 --- a/content/vac/sc/g/status/ens-usernames-maintenance.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -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/vac/sc/g/status/governance-contract-mvp.md b/content/vac/sc/g/status/governance-contract-mvp.md deleted file mode 100644 index 1c6b23eba..000000000 --- a/content/vac/sc/g/status/governance-contract-mvp.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -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/vac/sc/g/status/minime-token-enhancement.md b/content/vac/sc/g/status/minime-token-enhancement.md deleted file mode 100644 index c50d6aa55..000000000 --- a/content/vac/sc/g/status/minime-token-enhancement.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -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/vac/sc/g/status/minime-token-maintenance.md b/content/vac/sc/g/status/minime-token-maintenance.md deleted file mode 100644 index cac9490e9..000000000 --- a/content/vac/sc/g/status/minime-token-maintenance.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -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/vac/sc/g/status/snt-optimism-bridge.md b/content/vac/sc/g/status/snt-optimism-bridge.md deleted file mode 100644 index fb368509e..000000000 --- a/content/vac/sc/g/status/snt-optimism-bridge.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -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/vac/sc/g/status/staking-contract-maintenance.md b/content/vac/sc/g/status/staking-contract-maintenance.md deleted file mode 100644 index 394b85791..000000000 --- a/content/vac/sc/g/status/staking-contract-maintenance.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -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/vac/sc/g/status/staking-contract-mvp.md b/content/vac/sc/g/status/staking-contract-mvp.md deleted file mode 100644 index 5a210351d..000000000 --- a/content/vac/sc/g/status/staking-contract-mvp.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -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/vac/sc/g/status/staking-contract-v1.md b/content/vac/sc/g/status/staking-contract-v1.md deleted file mode 100644 index d47084786..000000000 --- a/content/vac/sc/g/status/staking-contract-v1.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -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/vac/sc/g/status/swap-aggregator.md b/content/vac/sc/g/status/swap-aggregator.md deleted file mode 100644 index c0573f812..000000000 --- a/content/vac/sc/g/status/swap-aggregator.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -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/vac/sc/g/vac/rln-contract-support.md b/content/vac/sc/g/vac/rln-contract-support.md deleted file mode 100644 index 45edb2d57..000000000 --- a/content/vac/sc/g/vac/rln-contract-support.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -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/vac/sc/g/vac/secureum-upskilling.md b/content/vac/sc/g/vac/secureum-upskilling.md deleted file mode 100644 index c56b1f4e4..000000000 --- a/content/vac/sc/g/vac/secureum-upskilling.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -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/vac/sc/index.md b/content/vac/sc/index.md deleted file mode 100644 index 56389f1c0..000000000 --- a/content/vac/sc/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -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/vac/tke/g/codex/bandwidth-incentives.md b/content/vac/tke/g/codex/bandwidth-incentives.md deleted file mode 100644 index 441ec01ad..000000000 --- a/content/vac/tke/g/codex/bandwidth-incentives.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Codex Bandwidth Incentives" ---- -### `vac:tke::codex:bandwidth-incentives` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Bandwidth Incentives :, 2025-01-01, 2025-07-01 -``` - -- status: 0% -- CC: Frederico - -### Description -TBD - -### Justification -As part of Codex Technical Milestones #4 ("Bandwidth Incentives"). - -### Deliverables -- Modeling and Simulations -- Report - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Review of Bandwidth Provider role -- Analysis of Bandwidth Provider costs, pricing, behavior and expectations -- Economics and game theoretical analyses of the Bandwidth Providers - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/cdx-fees.md b/content/vac/tke/g/codex/cdx-fees.md deleted file mode 100644 index a9f650df0..000000000 --- a/content/vac/tke/g/codex/cdx-fees.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "Codex Fee Mechanism" ---- -### `vac:tke::codex:cdx-fees` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Fees :, 2024-02-01, 2024-07-01 -``` - -- status: 95% -- CC: Frederico - -### Description -Understand the mechanisms to implement protocol fees, e.g. burn-and-mint equilibrium model; - -### Justification -Understand the security of the system. As part of the Codex Technical Milestone #5 ("Tokenomics"). - -### Deliverables -- Specific parts of three chapters of the Codex Litepaper (Use Cases, Contract Lifecycle, and CDX Tokenomics) (the milestones [cdx](cdx.md), [cdx-insurance](cdx-insurance.md), and [cdx-lender](cdx-lender.md) cover the remaining parts of these chapters). -- One section of the Codex Whitepaper (CDX Tokenomics) - -### Tracking Metrics -Completion of the respective sections in the Codex Litepaper and Whitepaper. - -### Work breakdown -Definition of value accrual, capture and incentive mechanisms of the Codex protocol. - -### Perceived Risks -Technical and legal constraints. \ No newline at end of file diff --git a/content/vac/tke/g/codex/cdx-insurance.md b/content/vac/tke/g/codex/cdx-insurance.md deleted file mode 100644 index c4c9abf16..000000000 --- a/content/vac/tke/g/codex/cdx-insurance.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Codex Insurance Mechanism Analysis" ---- -### `vac:tke::codex:cdx-insurance` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Insurance Mechanism :, 2024-02-01, 2024-07-01 -``` - -- status: 95% -- CC: Frederico, Juan - -### Description -Mechanisms to make the system more stable - -### Justification -Understand the roles that impact the performance and security of the protocol. As part of the Codex Technical Milestone #5 ("Tokenomics"). - -### Deliverables -- Specific parts of three chapters of the Codex Litepaper (Use Cases, Contract Lifecycle, and CDX Tokenomics) (the milestones [cdx](cdx.md), [cdx-fees](cdx-fees.md), and [cdx-lender](cdx-lender.md) cover the remaining parts of these chapters). -- One section of the Codex Whitepaper (CDX Tokenomics) - -### Tracking Metrics -Completion of the respective sections in the Codex Litepaper and Whitepaper. - -### Work breakdown -- Definition of insurance role. -- Analysis of CDX impact on system security. -- Comparison against protocols which don’t have any embeeded stabilization mechanism. - -### Perceived Risks -Technical and legal constraints. \ No newline at end of file diff --git a/content/vac/tke/g/codex/cdx-lender.md b/content/vac/tke/g/codex/cdx-lender.md deleted file mode 100644 index e3993fa56..000000000 --- a/content/vac/tke/g/codex/cdx-lender.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Codex Lender Analysis" ---- -### `vac:tke::codex:cdx-insurance` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Lender :, 2024-05-01, 2024-07-01 -``` - -- status: 95% -- CC: Juan - -### Description -Design and modeling of the lender role - -### Justification -Understand the roles that impact the performance and security of the protocol. As part of the Codex Technical Milestone #5 ("Tokenomics"). - -### Deliverables -- Specific parts of three chapters of the Codex Litepaper (Use Cases, Contract Lifecycle, and CDX Tokenomics) (the milestones [cdx](cdx.md), [cdx-fees](cdx-fees.md), and [cdx-insurance](cdx-insurance.md) cover the remaining parts of these chapters). -- One section of the Codex Whitepaper (CDX Tokenomics) - -### Tracking Metrics -Completion of the respective sections in the Codex Litepaper and Whitepaper. - -### Work breakdown -- Definition of insurance role. -- Analysis of CDX impact on system security. -- Comparison against protocols which don’t have any embeeded stabilization mechanism. - -### Perceived Risks -Technical and legal constraints. \ No newline at end of file diff --git a/content/vac/tke/g/codex/cdx.md b/content/vac/tke/g/codex/cdx.md deleted file mode 100644 index 01c0d928d..000000000 --- a/content/vac/tke/g/codex/cdx.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Analysis of the Codex Token" ---- -### `vac:tke::codex:cdx` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - CDX :, 2024-02-01, 2024-07-01 -``` - -- status: 95% -- CC: Frederico - -### Description -Codex token as utility token for all participants (collateral and payment), impact on system security. - -### Justification -Development of Codex own utility token. As part of the Codex Technical Milestone #5 ("Tokenomics"). - -### Deliverables -- Specific parts of three chapters of the Codex Litepaper (Use Cases, Contract Lifecycle, and CDX Tokenomics) (the milestones [cdx-fees](cdx-fees.md), [cdx-insurance](cdx-insurance.md), and [cdx-lender](cdx-lender.md) cover the remaining parts of these chapters). -- One section of the Codex Whitepaper (CDX Tokenomics) - -### Tracking Metrics -Completion of the respective sections in the Codex Litepaper and Whitepaper. - -### Work breakdown -- Definition and analysis of Codex economy -- CDX as utility token for all participants (collateral and payment). - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/contract-defaults.md b/content/vac/tke/g/codex/contract-defaults.md deleted file mode 100644 index 8019ef6ff..000000000 --- a/content/vac/tke/g/codex/contract-defaults.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Codex Contract Default" ---- -### `vac:tke::codex:contract-defaults` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Contract Defaults :, 2024-10-01, 2024-12-31 -``` - -- status: 0% -- CC: Frederico - -### Description -Design of the systemic slashing mechanism. - -### Justification -As part of Codex Technical Milestones #3 ("Marketplace Interactions"). - -### Deliverables -- Modeling and Simulations of the slashing mechanisms -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-finalization](contract-finalization.md), [contract-initiation](contract-initiation.md), [contract-matching](contract-matching.md), [proof-aggregators](proof-aggregators.md), [recovery-auction](recovery-auction.md), [slot-repair](slot-repair.md), and [tax-system](tax-system.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Review consequences for SPs, Clients and PAs -- Economic and game theoretical analysis of these consequences - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/contract-finalization.md b/content/vac/tke/g/codex/contract-finalization.md deleted file mode 100644 index 0f78d5ec6..000000000 --- a/content/vac/tke/g/codex/contract-finalization.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Codex Contract Finalization" ---- -### `vac:tke::codex:contract-finalization` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Contract Finalization :, 2024-10-01, 2025-01-01 -``` - -- status: 0% -- CC: Frederico - -### Description -SPs & Users obligations, data retrieval incentives, collateral retrieval, contract extension. - -### Justification -As part of the contract finalization process. As part of Codex Technical Milestones #3 ("Marketplace Interactions"). - -### Deliverables -- Modeling and Simulations of the data retrieval process -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-initiation](contract-initiation.md), [contract-matching](contract-matching.md), [contract-defaults](contract-defaults.md), [proof-aggregators](proof-aggregators.md), [recovery-auction](recovery-auction.md), [slot-repair](slot-repair.md), and [tax-system](tax-system.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown - - -### Perceived Risks -Technical and legal constraints. - diff --git a/content/vac/tke/g/codex/contract-initiation.md b/content/vac/tke/g/codex/contract-initiation.md deleted file mode 100644 index c382eee4a..000000000 --- a/content/vac/tke/g/codex/contract-initiation.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Codex Contract Initiation" ---- -### `vac:tke::codex:contract-initiation` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Contract Initiation :, 2024-10-01, 2024-12-31 -``` - -- status: 0% -- CC: Frederico - -### Description -Mechanics of Codex contract initiation. - -### Justification -As part of Codex Technical Milestones #3 ("Marketplace Interactions"). - -### Deliverables -- Modeling and Simulations of the Client behavior -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-matching](contract-matching.md), [contract-defaults](contract-defaults.md), [contract-finalization](contract-finalization.md), [proof-aggregators](proof-aggregators.md), [recovery-auction](recovery-auction.md), [slot-repair](slot-repair.md), and [tax-system](tax-system.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Definition of default settings -- Facilitate the matching of pricing and collateral size -- Analysis of client payment (full vs. partial upfront) -- Analysis of potential gamifications and penalties - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/contract-matching.md b/content/vac/tke/g/codex/contract-matching.md deleted file mode 100644 index 149249456..000000000 --- a/content/vac/tke/g/codex/contract-matching.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Codex Contract Matching" ---- -### `vac:tke::codex:contract-matching` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Contract Matching :, 2024-10-01, 2024-12-31 -``` - -- status: 0% -- CC: Frederico - -### Description -Define how slots are reserved and filled. - -### Justification -As part of the slot reservation mechanism. As part of Codex Technical Milestones #3 ("Marketplace Interactions"). - -### Deliverables -- Modeling and Simulations of the slot reservation mechanism -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-initiation](contract-initiation.md), [contract-defaults](contract-defaults.md), [contract-finalization](contract-finalization.md), [proof-aggregators](proof-aggregators.md), [recovery-auction](recovery-auction.md), [slot-repair](slot-repair.md), and [tax-system](tax-system.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Economics and game theoretical analysis of the Slot Reservation Mechanism - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/economic-analysis.md b/content/vac/tke/g/codex/economic-analysis.md deleted file mode 100644 index 66c332d7b..000000000 --- a/content/vac/tke/g/codex/economic-analysis.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Codex Economic Analysis" ---- -### `vac:tke::codex:economic-analysis` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Economic Analysis :, 2023-01-20, 2024-02-04 -``` - -- status: 100% -- CC: Matty, Frederico, Martin - -### Description -Codex economic analysis, Codex token utility, Codex collateral management - -### Justification -Per Dimitry and Jesse, required by Codex team for completing implementation of system and planning launch - diff --git a/content/vac/tke/g/codex/proof-aggregators.md b/content/vac/tke/g/codex/proof-aggregators.md deleted file mode 100644 index f40e4529f..000000000 --- a/content/vac/tke/g/codex/proof-aggregators.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: "Codex Proof Aggregators" ---- -### `vac:tke::codex:proof-aggregators` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Proof Aggregators :, 2024-07-01, 2024-10-01 -``` - -- status: 10% -- CC: Frederico - -### Description -Economics of the proof aggregator (incentives, costs, pricing). - -### Justification -As part of Codex Technical Milestones #1 ("Proof Aggregation") and #2 ("Aggregator Network"). - -### Deliverables -- Modeling and Simulations of the Proof Aggregator actor and process -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-initiation](contract-initiation.md), [contract-matching](contract-matching.md), [contract-defaults](contract-defaults.md), [contract-finalization](contract-finalization.md), [recovery-auction](recovery-auction.md), [slot-repair](slot-repair.md), and [tax-system](tax-system.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Definition of the Proof Aggregator role -- Analysis of PA costs and pricing -- Definition of the Proof Aggregation economy -- Analysis of the interactions between PAs - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/recovery-auction.md b/content/vac/tke/g/codex/recovery-auction.md deleted file mode 100644 index 759fb5a1d..000000000 --- a/content/vac/tke/g/codex/recovery-auction.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Codex Recovery Auction" ---- -### `vac:tke::codex:recovery-auction` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Recovery Auction :, 2024-10-01, 2024-12-31 -``` - -- status: 0% -- CC: Frederico - -### Description -Define details of the auction mechanisms for the slot recovery. - -### Justification -As part of Codex Technical Milestones #6 ("Data Repair"). - -### Deliverables -- Modeling and Simulations of the auction mechanism -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-initiation](contract-initiation.md), [contract-matching](contract-matching.md), [contract-defaults](contract-defaults.md), [contract-finalization](contract-finalization.md), [proof-aggregators](proof-aggregators.md), [slot-repair](slot-repair.md), and [tax-system](tax-system.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Define what triggers and ends the auction recovery mechanism -- Design the Dutch Auction -- Evaluate impact on CDX price stability - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/slot-repair.md b/content/vac/tke/g/codex/slot-repair.md deleted file mode 100644 index 42417c7b4..000000000 --- a/content/vac/tke/g/codex/slot-repair.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Codex Slot Repair" ---- -### `vac:tke::codex:slot-repair` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Slot Repair :, 2024-10-01, 2025-01-01 -``` - -- status: 0% -- CC: Frederico - -### Description -Design of the slot recovery mechanism. - -### Justification -As part of Codex Technical Milestones #6 ("Data Repair"). - -### Deliverables -- Modeling and Simulations of the slot repair mechanism -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-initiation](contract-initiation.md), [contract-matching](contract-matching.md), [contract-defaults](contract-defaults.md), [contract-finalization](contract-finalization.md), [proof-aggregators](proof-aggregators.md), [recovery-auction](recovery-auction.md), and [tax-system](tax-system.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Economics and game theoretical analysis of the Slot Recovery Mechanism -- Definition of the trigger of the Recovery Auction -- Ensure data availability. - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/tax-system.md b/content/vac/tke/g/codex/tax-system.md deleted file mode 100644 index 812be3b94..000000000 --- a/content/vac/tke/g/codex/tax-system.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Codex Tax System" ---- -### `vac:tke::codex:tax-system` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Tax System :, 2024-07-01, 2024-10-01 -``` - -- status: 10% -- CC: Frederico - -### Description - - -### Justification -As part of Codex Technical Milestones #1 ("Proof Aggregation") and #2 ("Aggregator Network"). - -### Deliverables -- Modeling and Simulations of the CDX stability -- One section of the Codex Litepaper "Modeling" chapter (the milestones [contract-initiation](contract-initiation.md), [contract-matching](contract-matching.md), [contract-defaults](contract-defaults.md), [contract-finalization](contract-finalization.md), [proof-aggregators](proof-aggregators.md), [recovery-auction](recovery-auction.md), and [slot-repair](slot-repair.md) cover the remaining parts of this chapter). - -### Tracking Metrics -- Timely delivery of the report -- Agreement with Codex team and stakeholders - -### Work breakdown -- Definition of a tax system -- Analysis of the application of taxes -- Analysis of CDX price stability - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/codex/testnet-incentive.md b/content/vac/tke/g/codex/testnet-incentive.md deleted file mode 100644 index 2a944e0bf..000000000 --- a/content/vac/tke/g/codex/testnet-incentive.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: "Codex Testnet Incentives" ---- -### `vac:tke::codex:testnet-incentive` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Codex - Incentivized Tesnet :, 2024-06-01, 2024-07-01 -``` - -- status: 40% -- CC: Frederico, Martin, Juan - -### Description -Design incentives for testnet. - -### Justification -As part of Codex Production Milestone #4 (Codex v1 Mainnet Launch). - -### Deliverables -Report with analyses of incentives and expected consequences. - -### Tracking Metrics -Delivery of the report, and agreement with team and stakeholders. - -### Work breakdown -- Definition of optimization goals -- Definition of metrics -- Analysis of incentives - -### Perceived Risks -Technical and legal constraints. diff --git a/content/vac/tke/g/finance/growth-models.md b/content/vac/tke/g/finance/growth-models.md deleted file mode 100644 index 4a19cbea2..000000000 --- a/content/vac/tke/g/finance/growth-models.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "Financial Growth Models" ---- -### `vac:tke::finance:growth-models` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Finance - Growth Models :, 2024-02-05, 2024-07-31 -``` - -- status: 80% -- CC: Martin - -### Description -Ad hoc assistance and consulting the use and further expansion of the growth model. - -### Justification - diff --git a/content/vac/tke/g/finance/real-option-models.md b/content/vac/tke/g/finance/real-option-models.md deleted file mode 100644 index 3b9223406..000000000 --- a/content/vac/tke/g/finance/real-option-models.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "Finance Real Option Models" ---- -### `vac:tke::finance:real-option-models` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Finance - Real Option Models :, 2024-02-05, 2024-07-31 -``` - -- status: 20% -- CC: Frederico - -### Description -Development of pricing models based real option analysis. - -### Justification - diff --git a/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md b/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md deleted file mode 100644 index ee200cf01..000000000 --- a/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Cryptarchia Wealth Concentration Estimated Stake" ---- -## `vac:tke::nomos:cryptarchia-wealth-concentration-estimated-stake` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Nomos - Economic Analysis :, 2024-02-15, 2024-02-19 -``` -- status: 100% -- CC: Frederico - -### Description - -Understand whether the algorithm that learns the total stake of the system affects wealth concentration. If so, under which conditions. - -### Justification - -Nomos develops a private PoS system. diff --git a/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md b/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md deleted file mode 100644 index 47ddb556b..000000000 --- a/content/vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Cryptarchia Wealth Concentration Known Stake" ---- -## `vac:tke::nomos:cryptarchia-wealth-concentration-known-stake` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Nomos - Economic Analysis :, 2024-02-05, 2024-02-14 -``` -- status: 100% -- CC: Frederico - -### Description - -Understand whether wealth concentration happens or not in traditional PoS. If so, under which conditions. - -### Justification - -Nomos introduces a PoS system. diff --git a/content/vac/tke/g/nomos/delegation-research.md b/content/vac/tke/g/nomos/delegation-research.md deleted file mode 100644 index 562646b68..000000000 --- a/content/vac/tke/g/nomos/delegation-research.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Delegation Research" ---- -## `vac:tke::nomos:delegation-research` ---- - -- status: 0% -- CC: Frederico - -### Description - -Understand what other chains are doing with respect to delegation and restaking. - -### Justification - -As part of Nomos PoS development. diff --git a/content/vac/tke/g/nomos/economic-analysis.md b/content/vac/tke/g/nomos/economic-analysis.md deleted file mode 100644 index 51c42631e..000000000 --- a/content/vac/tke/g/nomos/economic-analysis.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Nomos Economic Analysis" ---- -## `vac:tke::nomos:economic-analysis` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Nomos - Economic Analysis :, 2023-05-01, 2024-02-04 -``` -- status: 100% -- CC: Frederico - -### Description - -Nomos economic analysis, Nomos token utility, requirements and constraints - -### Justification - -Required for ensuring economic security and censorship resistance of Nomos chain diff --git a/content/vac/tke/g/nomos/enshrined-delegation.md b/content/vac/tke/g/nomos/enshrined-delegation.md deleted file mode 100644 index 96b1f5b27..000000000 --- a/content/vac/tke/g/nomos/enshrined-delegation.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Enshrined Delegation" ---- -## `vac:tke::nomos:enshrined-delegation` ---- - -- status: 0% -- CC: Frederico - -### Description - -Define the best way is to incorporate delegation and restaking into Nomos. - -### Justification - -As part of Nomos PoS development. diff --git a/content/vac/tke/g/nomos/mixnet-incentives.md b/content/vac/tke/g/nomos/mixnet-incentives.md deleted file mode 100644 index 7a08252a5..000000000 --- a/content/vac/tke/g/nomos/mixnet-incentives.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Nomos Mixnet Incentives" ---- -## `vac:tke::nomos:mixnet-incentives` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Nomos - Mixnet Incentives :, 2024-03-04, 2024-04-03 -``` -- status: 1% -- CC: Frederico - -### Description - -Sustainable mixnets need to be properly incentivized. - -### Justification - -As part of Nomos privacy requirements. diff --git a/content/vac/tke/g/nomos/non-private-L2-consensus.md b/content/vac/tke/g/nomos/non-private-L2-consensus.md deleted file mode 100644 index 1673f1545..000000000 --- a/content/vac/tke/g/nomos/non-private-L2-consensus.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Non Private L2 Consensus" ---- -## `vac:tke::nomos:non-private-L2-consensus` ---- - -- status: 0% -- CC: Frederico - -### Description - -These will work likely with isolated pools. Since these are pools, would also be important to understand. - -### Justification - -As part of Nomos development. diff --git a/content/vac/tke/g/nomos/penalizable-actions.md b/content/vac/tke/g/nomos/penalizable-actions.md deleted file mode 100644 index b668f890f..000000000 --- a/content/vac/tke/g/nomos/penalizable-actions.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Penalizable Actions" ---- -## `vac:tke::nomos:penalizable-actions` ---- - -- status: 0% -- CC: Frederico - -### Description - -Define actions that lead to a slash on Nomos. - -### Justification - -As part of PoS development. diff --git a/content/vac/tke/g/nomos/rewarded-actions.md b/content/vac/tke/g/nomos/rewarded-actions.md deleted file mode 100644 index 901997b05..000000000 --- a/content/vac/tke/g/nomos/rewarded-actions.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Rewarded Actions" ---- -## `vac:tke::nomos:rewarded-actions` ---- - -- status: 0% -- CC: Frederico - -### Description - -Define actions that lead to rewards on Nomos. - -### Justification - -As part of PoS development. diff --git a/content/vac/tke/g/nomos/selfish-behavior.md b/content/vac/tke/g/nomos/selfish-behavior.md deleted file mode 100644 index 1e85742ba..000000000 --- a/content/vac/tke/g/nomos/selfish-behavior.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Validator Rewards" ---- -## `vac:tke::nomos:selfish-behavior` ---- - -- status: 0% -- CC: Frederico - -### Description - -Understand what problems can emerge when validators modify the fork choice rule of the protocol to another one that best suits them. - -### Justification - -As part of PoS development. diff --git a/content/vac/tke/g/nomos/shared-liquidity.md b/content/vac/tke/g/nomos/shared-liquidity.md deleted file mode 100644 index 05b9d7544..000000000 --- a/content/vac/tke/g/nomos/shared-liquidity.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Shared Liquidity" ---- -## `vac:tke::nomos:shared-liquidity` ---- - -- status: 0% -- CC: Frederico - -### Description - -Understand the problem of L2 liquidity fragmentation in general. - -### Justification - -As part of PoS development. diff --git a/content/vac/tke/g/nomos/supply-policy.md b/content/vac/tke/g/nomos/supply-policy.md deleted file mode 100644 index 299f832d5..000000000 --- a/content/vac/tke/g/nomos/supply-policy.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Supply Policy" ---- -## `vac:tke::nomos:supply-policy` ---- - -- status: 0% -- CC: Frederico - -### Description - -Define initial supply, distribution, allocations. - -### Justification - -As part of PoS development. diff --git a/content/vac/tke/g/nomos/tdc-objectives.md b/content/vac/tke/g/nomos/tdc-objectives.md deleted file mode 100644 index b15cfb5e7..000000000 --- a/content/vac/tke/g/nomos/tdc-objectives.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "Nomos TDC Objectives" ---- -## `vac:tke::nomos:tdc-objectives` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Nomos - TDC Objectives :, 2024-02-05, 2024-03-13 -``` -- status: 70% -- CC: Frederico - -### Description - -Write the Objectives & Requirements section of the Token Design Canvas. - -### Justification diff --git a/content/vac/tke/g/nomos/transaction-fee.md b/content/vac/tke/g/nomos/transaction-fee.md deleted file mode 100644 index 9ab9651a8..000000000 --- a/content/vac/tke/g/nomos/transaction-fee.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Transaction Fee" ---- -## `vac:tke::nomos:transaction-fee` ---- - -- status: 0% -- CC: Frederico - -### Description - -Design block space pricing mechanism. - -### Justification - -As part of Nomos PoS development. diff --git a/content/vac/tke/g/nomos/validator-rewards.md b/content/vac/tke/g/nomos/validator-rewards.md deleted file mode 100644 index 5398942f7..000000000 --- a/content/vac/tke/g/nomos/validator-rewards.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "Nomos Validator Rewards" ---- -## `vac:tke::nomos:validator-rewards` ---- - -- status: 0% -- CC: Frederico - -### Description - -Define how much tokens are distributed as rewards to block proposers. - -### Justification - -As part of PoS development. diff --git a/content/vac/tke/g/nomos/whitepaper.md b/content/vac/tke/g/nomos/whitepaper.md deleted file mode 100644 index 06998ea2b..000000000 --- a/content/vac/tke/g/nomos/whitepaper.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "Nomos Whitepaper" ---- -## `vac:tke::nomos:whitepaper` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Nomos - Nomos Whitepaper :, 2024-02-05, 2024-02-29 -``` -- status: 100% -- CC: Frederico - -### Description - -Provide feedback. - -### Justification diff --git a/content/vac/tke/g/status/L2-deployment.md b/content/vac/tke/g/status/L2-deployment.md deleted file mode 100644 index 4c50d4f1d..000000000 --- a/content/vac/tke/g/status/L2-deployment.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Status L2 deployment ---- - -## `vac:tke::status:L2-deployment` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - Status L2 deployment: 2024-02-05, 2024-05-31 -``` - -- status: 20% -- CC: Martin - -## Description -TBD - -## Justification - diff --git a/content/vac/tke/g/status/incentivized-communitities.md b/content/vac/tke/g/status/incentivized-communitities.md deleted file mode 100644 index 1a06b64f6..000000000 --- a/content/vac/tke/g/status/incentivized-communitities.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Incentivize Status Communitities ---- - -## `vac:tke::status:incentivized-communitities` ---- - -- status: 0% -- CC: Martin - -## Description - -TBD - -## Justification - -TBD - diff --git a/content/vac/tke/g/status/snt-governance-proposal.md b/content/vac/tke/g/status/snt-governance-proposal.md deleted file mode 100644 index 1eab71b09..000000000 --- a/content/vac/tke/g/status/snt-governance-proposal.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: SNT Governance Proposal ---- - -## `vac:tke::status:SNT-governance-proposal` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - SNT Governance Proposal: 2023-09-01, 2024-06-30 -``` - -- status: 50% -- CC: Martin - -## Description - -* took precedence over SNT litepaper -* first draft being prepared for next review with John on 2023/09/12 -* organizing snapshot voting - -## Justification - -* Per John’s request, high importance for involving community for relaunch of Status app and refresh of SNT token diff --git a/content/vac/tke/g/status/snt-litepaper.md b/content/vac/tke/g/status/snt-litepaper.md deleted file mode 100644 index 50509f15e..000000000 --- a/content/vac/tke/g/status/snt-litepaper.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: SNT Litepaper ---- -## `vac:tke::status:SNT-litepaper` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - SNT Litepaper: 2023-01-20, 2024-08-30 -``` - -- status: 70% - delayed: governance proposal taking precedence -- CC: Matty - -## Description - -* delayed, other milestones took precedence -* Per confirmation with John on 2023/08/22 litepaper is not a pressing need, much lower priority than governance proposal - -## Justification - -* helpful to support relaunch of Status app and describe SNT’s new staking features diff --git a/content/vac/tke/g/status/snt-staking.md b/content/vac/tke/g/status/snt-staking.md deleted file mode 100644 index 2e5d4ce28..000000000 --- a/content/vac/tke/g/status/snt-staking.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "SNT Staking" ---- -## `vac:tke::status:SNT-staking` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - SNT Staking :, 2023-01-20, 2024-03-30 -``` - -- status: 90% -- CC: Frederico (Python), Martin -- collab: [[vac/sc/index|smart contracts team]] - -### Description: - - -### Risks - -* implementation of the smart contract is being handed off to smart contract team - diff --git a/content/vac/tke/g/status/waku-sharding.md b/content/vac/tke/g/status/waku-sharding.md deleted file mode 100644 index d0dbb0f98..000000000 --- a/content/vac/tke/g/status/waku-sharding.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Waku Sharding ---- - -## `vac:tke::status:waku-sharding` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Status - Waku Sharding: 2024-07-01, 2024-07-30 -``` - -- status: 0% -- CC: Martin - -## Description - -TBD - -## Justification - diff --git a/content/vac/tke/g/waku/economic-analysis.md b/content/vac/tke/g/waku/economic-analysis.md deleted file mode 100644 index 9da53b9aa..000000000 --- a/content/vac/tke/g/waku/economic-analysis.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Waku Economic Analysis" ---- -## `vac:tke::waku:economic-analysis` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Waku - Economic Analysis :, 2023-06-01, 2024-02-04 -``` -- status: 100% -- CC: Martin - -#### Description - -Waku economic analysis diff --git a/content/vac/tke/g/waku/general-incentives.md b/content/vac/tke/g/waku/general-incentives.md deleted file mode 100644 index 0551af9a9..000000000 --- a/content/vac/tke/g/waku/general-incentives.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Waku General Incentives" ---- -## `vac:tke::waku:general-incentives` ---- - -- status: 0% -- CC: Martin - -#### Description - -Give feedback and assist Waku's team in drafting incentivization mechanisms. diff --git a/content/vac/tke/g/waku/rln-membership.md b/content/vac/tke/g/waku/rln-membership.md deleted file mode 100644 index d4348f3bd..000000000 --- a/content/vac/tke/g/waku/rln-membership.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "Waku RLN Membership" ---- -## `vac:tke::waku:rln-membership` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Waku - Economic Analysis :, 2024-02-05, 2024-03-30 -``` - -- status: 30% -- CC: Martin - -#### Description - -Desigh a comprehensive strategy for RLN memberships, perhaps following the NFT-like approach. Strategy should consider pricing mechanisms, payment options, dev/node compensation and project sustainability, security, etc. diff --git a/content/vac/tke/g/waku/rln-risks-L2.md b/content/vac/tke/g/waku/rln-risks-L2.md deleted file mode 100644 index 587c658a7..000000000 --- a/content/vac/tke/g/waku/rln-risks-L2.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Waku RLN Risks" ---- -## `vac:tke::waku:rln-risks-L2` ---- - -- status: 0% -- CC: Martin - -#### Description - -Drive the discussion around feasibility/risks for RLN on L2, leading to a recommendation of a specific L2. diff --git a/content/vac/tke/g/waku/rln-risks-attacks-vectors.md b/content/vac/tke/g/waku/rln-risks-attacks-vectors.md deleted file mode 100644 index f5ffa95ba..000000000 --- a/content/vac/tke/g/waku/rln-risks-attacks-vectors.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Waku RLN Attacks Vectors" ---- -## `vac:tke::waku:rln-risks-attacks-vectors` ---- - -- status: 0% -- CC: Martin - -#### Description - -Risk/attack analysis for RLN; recovery mechanisms. diff --git a/content/vac/tke/g/waku/store-incentives.md b/content/vac/tke/g/waku/store-incentives.md deleted file mode 100644 index 8cc38673d..000000000 --- a/content/vac/tke/g/waku/store-incentives.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Waku Store Incentives" ---- -## `vac:tke::waku:store-incentives` ---- - -```mermaid -%%{ - init: { - 'theme': 'base', - 'themeVariables': { - 'primaryColor': '#BB2528', - 'primaryTextColor': '#fff', - 'primaryBorderColor': '#7C0000', - 'lineColor': '#F8B229', - 'secondaryColor': '#006100', - 'tertiaryColor': '#fff' - } - } -}%% -gantt - dateFormat YYYY-MM-DD - section Waku - Economic Analysis :, 2024-02-05, 2024-03-30 -``` -- status: 20% -- CC: Martin - -#### Description - -Give feedback and assist Waku's team in drafting store incentivization MVP. diff --git a/content/vac/tke/index.md b/content/vac/tke/index.md deleted file mode 100644 index be07d4dbc..000000000 --- a/content/vac/tke/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Token Engineering Service Unit -tags: -- p2p -- vac -date: 2023-08-25 -lastmod: 2024-05-31 ---- - -## `vac:tke::` ---- - - -### `status:` -* [[vac/tke/g/status/snt-litepaper|snt-lightpaper]] -* [[vac/tke/g/status/snt-governance-proposal|SNT-governance-proposal]] -* [[vac/tke/g/status/snt-staking|SNT-staking]] -* [[vac/tke/g/status/L2-deployment|L2-deployment]] -* [[vac/tke/g/status/waku-sharding|waku-sharding]] -* [[vac/tke/g/status/incentivized-communitities|incentivized-communitities]] - -### `codex:` -* [[vac/tke/g/codex/economic-analysis|economic-analysis]] -* [[vac/tke/g/codex/cdx|cdx]] -* [[vac/tke/g/codex/cdx-fees|cdx-fees]] -* [[vac/tke/g/codex/cdx-insurance|cdx-insurance]] -* [[vac/tke/g/codex/cdx-lender|cdx-lender]] -* [[vac/tke/g/codex/testnet-incentive|testnet-incentive]] -* [[vac/tke/g/codex/proof-aggregators|proof-aggregators]] -* [[vac/tke/g/codex/tax-system|tax-system]] -* [[vac/tke/g/codex/contract-initiation|contract-initiation]] -* [[vac/tke/g/codex/contract-matching|contract-matching]] -* [[vac/tke/g/codex/contract-defaults|contract-defaults]] -* [[vac/tke/g/codex/contract-finalization|contract-finalization]] -* [[vac/tke/g/codex/slot-repair|slot-repair]] -* [[vac/tke/g/codex/recovery-auction|recovery-auction]] -* [[vac/tke/g/codex/bandwidth-incentives|bandwidth-incentives]] - -### `nomos:` -* [[vac/tke/g/nomos/economic-analysis|economic-analysis]] -* [[vac/tke/g/nomos/cryptarchia-wealth-concentration-known-stake|cryptarchia-wealth-concentration-known-stake]] -* [[vac/tke/g/nomos/cryptarchia-wealth-concentration-estimated-stake|cryptarchia-wealth-concentration-estimated-stake]] -* [[vac/tke/g/nomos/whitepaper|whitepaper]] -* [[vac/tke/g/nomos/tdc-objectives|tdc-objectives]] -* [[vac/tke/g/nomos/mixnet-incentives|mixnet-incentives]] -* [[vac/tke/g/nomos/selfish-behavior|selfish-behavior]] -* [[vac/tke/g/nomos/rewarded-actions|rewarded-actions]] -* [[vac/tke/g/nomos/penalizable-actions|penalizable-actions]] -* [[vac/tke/g/nomos/validator-rewards|validator-rewards]] -* [[vac/tke/g/nomos/delegation-research|delegation-research]] -* [[vac/tke/g/nomos/enshrined-delegation|enshrined-delegation]] -* [[vac/tke/g/nomos/transaction-fee|transaction-fee]] -* [[vac/tke/g/nomos/supply-policy|supply-policy]] -* [[vac/tke/g/nomos/shared-liquidity|shared-liquidity]] -* [[vac/tke/g/nomos/non-private-L2-consensus|non-private-L2-consensus]] - -### `waku:` -* [[vac/tke/g/waku/economic-analysis|economic-analysis]] -* [[vac/tke/g/waku/rln-membership|rln-membership]] -* [[vac/tke/g/waku/rln-risks-L2|rln-risks-L2]] -* [[vac/tke/g/waku/rln-risks-attacks-vectors|rln-risks-attacks-vectors]] -* [[vac/tke/g/waku/store-incentives|store-incentives]] -* [[vac/tke/g/waku/general-incentives|general-incentives]] - -### `finance:` -* [[vac/tke/g/finance/growth-models|growth-models]] -* [[vac/tke/g/finance/real-option-models|real-option-models]] diff --git a/content/vac/updates/2023-07-10.md b/content/vac/updates/2023-07-10.md deleted file mode 100644 index 549d77ac1..000000000 --- a/content/vac/updates/2023-07-10.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -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/vac/updates/2023-07-17.md b/content/vac/updates/2023-07-17.md deleted file mode 100644 index 429b82aa5..000000000 --- a/content/vac/updates/2023-07-17.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -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/vac/updates/2023-07-24.md b/content/vac/updates/2023-07-24.md deleted file mode 100644 index 25def57f1..000000000 --- a/content/vac/updates/2023-07-24.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -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/vac/updates/2023-07-31.md b/content/vac/updates/2023-07-31.md deleted file mode 100644 index f7fc3e9ec..000000000 --- a/content/vac/updates/2023-07-31.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -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/vac/updates/2023-08-07.md b/content/vac/updates/2023-08-07.md deleted file mode 100644 index 46a50604f..000000000 --- a/content/vac/updates/2023-08-07.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -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/vac/updates/2023-08-14.md b/content/vac/updates/2023-08-14.md deleted file mode 100644 index 2817d56e6..000000000 --- a/content/vac/updates/2023-08-14.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -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/vac/updates/2023-08-21.md b/content/vac/updates/2023-08-21.md deleted file mode 100644 index 2fdd72661..000000000 --- a/content/vac/updates/2023-08-21.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -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/vac/updates/2023-08-28.md b/content/vac/updates/2023-08-28.md deleted file mode 100644 index 543d39a86..000000000 --- a/content/vac/updates/2023-08-28.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -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/vac/updates/2023-09-04.md b/content/vac/updates/2023-09-04.md deleted file mode 100644 index 9b0a27678..000000000 --- a/content/vac/updates/2023-09-04.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -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/vac/updates/2023-09-11.md b/content/vac/updates/2023-09-11.md deleted file mode 100644 index 7ce773184..000000000 --- a/content/vac/updates/2023-09-11.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -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/vac/updates/2023-09-18.md b/content/vac/updates/2023-09-18.md deleted file mode 100644 index 34db528c3..000000000 --- a/content/vac/updates/2023-09-18.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -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/vac/updates/2023-09-25.md b/content/vac/updates/2023-09-25.md deleted file mode 100644 index 10b776ae4..000000000 --- a/content/vac/updates/2023-09-25.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -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/vac/updates/2023-10-02.md b/content/vac/updates/2023-10-02.md deleted file mode 100644 index 56cc722a3..000000000 --- a/content/vac/updates/2023-10-02.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -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/vac/updates/2023-10-09.md b/content/vac/updates/2023-10-09.md deleted file mode 100644 index a323c721c..000000000 --- a/content/vac/updates/2023-10-09.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -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/vac/updates/2023-10-16.md b/content/vac/updates/2023-10-16.md deleted file mode 100644 index e0429be2a..000000000 --- a/content/vac/updates/2023-10-16.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -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/vac/updates/2023-10-23.md b/content/vac/updates/2023-10-23.md deleted file mode 100644 index 2581f31cc..000000000 --- a/content/vac/updates/2023-10-23.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -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/vac/updates/2023-10-30.md b/content/vac/updates/2023-10-30.md deleted file mode 100644 index f5a7b488a..000000000 --- a/content/vac/updates/2023-10-30.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -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/vac/updates/2023-11-06.md b/content/vac/updates/2023-11-06.md deleted file mode 100644 index eb6e3dc40..000000000 --- a/content/vac/updates/2023-11-06.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -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/vac/updates/2023-11-13.md b/content/vac/updates/2023-11-13.md deleted file mode 100644 index 5c7934cea..000000000 --- a/content/vac/updates/2023-11-13.md +++ /dev/null @@ -1,152 +0,0 @@ ---- -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/vac/updates/2023-11-20.md b/content/vac/updates/2023-11-20.md deleted file mode 100644 index fafd9ffa9..000000000 --- a/content/vac/updates/2023-11-20.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -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/vac/updates/2023-11-27.md b/content/vac/updates/2023-11-27.md deleted file mode 100644 index 42c805cc8..000000000 --- a/content/vac/updates/2023-11-27.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -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/vac/updates/2023-12-04.md b/content/vac/updates/2023-12-04.md deleted file mode 100644 index e8d2bc72b..000000000 --- a/content/vac/updates/2023-12-04.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -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/vac/updates/2023-12-11.md b/content/vac/updates/2023-12-11.md deleted file mode 100644 index 670d7d1bc..000000000 --- a/content/vac/updates/2023-12-11.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -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/vac/updates/2023-12-18.md b/content/vac/updates/2023-12-18.md deleted file mode 100644 index 462e3f0d8..000000000 --- a/content/vac/updates/2023-12-18.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -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/vac/updates/2023-12-25.md b/content/vac/updates/2023-12-25.md deleted file mode 100644 index b5944f4b2..000000000 --- a/content/vac/updates/2023-12-25.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -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/vac/updates/2024-01-01.md b/content/vac/updates/2024-01-01.md deleted file mode 100644 index ecf7e690f..000000000 --- a/content/vac/updates/2024-01-01.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -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/vac/updates/2024-01-08.md b/content/vac/updates/2024-01-08.md deleted file mode 100644 index 26598f21a..000000000 --- a/content/vac/updates/2024-01-08.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -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/vac/updates/2024-01-15.md b/content/vac/updates/2024-01-15.md deleted file mode 100644 index 854a18f1a..000000000 --- a/content/vac/updates/2024-01-15.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -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/vac/updates/2024-01-22.md b/content/vac/updates/2024-01-22.md deleted file mode 100644 index a52d5f69e..000000000 --- a/content/vac/updates/2024-01-22.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -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/vac/updates/2024-01-29.md b/content/vac/updates/2024-01-29.md deleted file mode 100644 index 07ebdeed2..000000000 --- a/content/vac/updates/2024-01-29.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -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/vac/updates/2024-02-05.md b/content/vac/updates/2024-02-05.md deleted file mode 100644 index a336226d1..000000000 --- a/content/vac/updates/2024-02-05.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -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/vac/updates/2024-02-12.md b/content/vac/updates/2024-02-12.md deleted file mode 100644 index 5305afbc3..000000000 --- a/content/vac/updates/2024-02-12.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -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/vac/updates/2024-02-19.md b/content/vac/updates/2024-02-19.md deleted file mode 100644 index 271923c03..000000000 --- a/content/vac/updates/2024-02-19.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -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/vac/updates/2024-02-26.md b/content/vac/updates/2024-02-26.md deleted file mode 100644 index ef47d3ecd..000000000 --- a/content/vac/updates/2024-02-26.md +++ /dev/null @@ -1,216 +0,0 @@ ---- -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/vac/updates/2024-03-04.md b/content/vac/updates/2024-03-04.md deleted file mode 100644 index 2d0750e48..000000000 --- a/content/vac/updates/2024-03-04.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -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/vac/updates/2024-03-11.md b/content/vac/updates/2024-03-11.md deleted file mode 100644 index 55d11c9c4..000000000 --- a/content/vac/updates/2024-03-11.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -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/vac/updates/2024-03-18.md b/content/vac/updates/2024-03-18.md deleted file mode 100644 index d2cd49256..000000000 --- a/content/vac/updates/2024-03-18.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -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/vac/updates/2024-03-25.md b/content/vac/updates/2024-03-25.md deleted file mode 100644 index 1427418f8..000000000 --- a/content/vac/updates/2024-03-25.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -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/vac/updates/2024-04-02.md b/content/vac/updates/2024-04-02.md deleted file mode 100644 index ac1d4453a..000000000 --- a/content/vac/updates/2024-04-02.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -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/vac/updates/2024-04-08.md b/content/vac/updates/2024-04-08.md deleted file mode 100644 index 6dbcdd2b8..000000000 --- a/content/vac/updates/2024-04-08.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -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/vac/updates/2024-04-15.md b/content/vac/updates/2024-04-15.md deleted file mode 100644 index e556795f1..000000000 --- a/content/vac/updates/2024-04-15.md +++ /dev/null @@ -1,136 +0,0 @@ ---- -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/vac/updates/2024-04-22.md b/content/vac/updates/2024-04-22.md deleted file mode 100644 index ce80c6c0a..000000000 --- a/content/vac/updates/2024-04-22.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -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/vac/updates/2024-04-29.md b/content/vac/updates/2024-04-29.md deleted file mode 100644 index d0b0a9472..000000000 --- a/content/vac/updates/2024-04-29.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -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/vac/updates/2024-05-06.md b/content/vac/updates/2024-05-06.md deleted file mode 100644 index af2d1fe15..000000000 --- a/content/vac/updates/2024-05-06.md +++ /dev/null @@ -1,148 +0,0 @@ ---- -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/vac/updates/2024-05-13.md b/content/vac/updates/2024-05-13.md deleted file mode 100644 index e28b4de37..000000000 --- a/content/vac/updates/2024-05-13.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -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/vac/updates/2024-05-21.md b/content/vac/updates/2024-05-21.md deleted file mode 100644 index 570b8acfb..000000000 --- a/content/vac/updates/2024-05-21.md +++ /dev/null @@ -1,148 +0,0 @@ ---- -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/vac/updates/2024-05-27.md b/content/vac/updates/2024-05-27.md deleted file mode 100644 index e87435c91..000000000 --- a/content/vac/updates/2024-05-27.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -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/vac/updates/2024-06-03.md b/content/vac/updates/2024-06-03.md deleted file mode 100644 index 20f99a9f8..000000000 --- a/content/vac/updates/2024-06-03.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -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/vac/updates/2024-06-10.md b/content/vac/updates/2024-06-10.md deleted file mode 100644 index 17c4c0bdb..000000000 --- a/content/vac/updates/2024-06-10.md +++ /dev/null @@ -1,146 +0,0 @@ ---- -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/vac/updates/2024-06-17.md b/content/vac/updates/2024-06-17.md deleted file mode 100644 index 95ff5739f..000000000 --- a/content/vac/updates/2024-06-17.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -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/vac/updates/2024-06-24.md b/content/vac/updates/2024-06-24.md deleted file mode 100644 index 55b31ab18..000000000 --- a/content/vac/updates/2024-06-24.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -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/vac/updates/2024-07-01.md b/content/vac/updates/2024-07-01.md deleted file mode 100644 index 61309c8b8..000000000 --- a/content/vac/updates/2024-07-01.md +++ /dev/null @@ -1,172 +0,0 @@ ---- -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/vac/updates/2024-07-08.md b/content/vac/updates/2024-07-08.md deleted file mode 100644 index 717810ef1..000000000 --- a/content/vac/updates/2024-07-08.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -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/vac/updates/2024-07-15.md b/content/vac/updates/2024-07-15.md deleted file mode 100644 index 6df8d9304..000000000 --- a/content/vac/updates/2024-07-15.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -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/vac/updates/2024-07-22.md b/content/vac/updates/2024-07-22.md deleted file mode 100644 index 302e7d201..000000000 --- a/content/vac/updates/2024-07-22.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -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/vac/updates/2024-07-29.md b/content/vac/updates/2024-07-29.md deleted file mode 100644 index 72eebe61b..000000000 --- a/content/vac/updates/2024-07-29.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -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/vac/updates/2024-08-05.md b/content/vac/updates/2024-08-05.md deleted file mode 100644 index d21422330..000000000 --- a/content/vac/updates/2024-08-05.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -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/vac/updates/2024-08-12.md b/content/vac/updates/2024-08-12.md deleted file mode 100644 index 62aa024ad..000000000 --- a/content/vac/updates/2024-08-12.md +++ /dev/null @@ -1,180 +0,0 @@ ---- -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/vac/updates/2024-08-19.md b/content/vac/updates/2024-08-19.md deleted file mode 100644 index b68be8fb0..000000000 --- a/content/vac/updates/2024-08-19.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -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/vac/updates/2024-08-26.md b/content/vac/updates/2024-08-26.md deleted file mode 100644 index 656e73f4d..000000000 --- a/content/vac/updates/2024-08-26.md +++ /dev/null @@ -1,176 +0,0 @@ ---- -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/vac/updates/2024-09-02.md b/content/vac/updates/2024-09-02.md deleted file mode 100644 index 71e68c324..000000000 --- a/content/vac/updates/2024-09-02.md +++ /dev/null @@ -1,176 +0,0 @@ ---- -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/vac/updates/2024-09-09.md b/content/vac/updates/2024-09-09.md deleted file mode 100644 index 156ef8a65..000000000 --- a/content/vac/updates/2024-09-09.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -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/vac/updates/2024-09-16.md b/content/vac/updates/2024-09-16.md deleted file mode 100644 index 09965eaed..000000000 --- a/content/vac/updates/2024-09-16.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: "2024-09-16 Vac weekly" -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/vac/updates/2024-09-23.md b/content/vac/updates/2024-09-23.md deleted file mode 100644 index 17d35dbb4..000000000 --- a/content/vac/updates/2024-09-23.md +++ /dev/null @@ -1,196 +0,0 @@ ---- -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] - -