chore(acz): new acz roadmap (#66)

This commit is contained in:
Aaryamann Challani 2024-05-27 18:42:12 +05:30 committed by GitHub
parent ee3a9a36ff
commit bec2e415a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 399 additions and 29 deletions

View File

@ -0,0 +1,37 @@
## `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: 0%
- 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
TBD

View File

@ -0,0 +1,40 @@
---
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

View File

@ -1 +0,0 @@
init cryptography consulting for codex

View File

@ -1,10 +1,10 @@
---
title: Applied Cryptography and Zero-knowledge Service Unit
tags:
- acz
- vac
- acz
- vac
date: 2023-09-12
lastmod: 2024-04-20
lastmod: 2024-05-13
---
## `vac:acz:`
@ -18,23 +18,39 @@ lastmod: 2024-04-20
* [[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]]
* [ ] [[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]]
* [[vac/acz/zerokit/vac/zerokit-v0-5|zerokit-v0.5]]
* [ ] [[vac/acz/zerokit/vac/zerokit-v0-5|zerokit-v0.5]]
* [[vac/acz/zerokit/vac/maintenance|maintenance]]
### `secure-channels:waku:`
* [[vac/acz/secure-channels/waku/mls-design|mls-design]]
* [[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]]
* [ ] [[vac/acz/secure-channels/waku/mls-design|mls-design]]
* [ ] [[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]]
### `cryptography-consulting:codex`
* [[vac/acz/cryptography-consulting/codex/init|init]]
### `consulting:codex:`
* [[proxy-re-encryption|proxy-re-encryption]]
### `cryptography-consulting:nomos`
* [[vac/acz/cryptography-consulting/nomos/init|init]]
### `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]]

View File

@ -0,0 +1,41 @@
---
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

View File

@ -0,0 +1,45 @@
---
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/

View File

@ -44,7 +44,7 @@ gantt
* [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
- [ ] blog post/RFC on Light RLN verifiers: https://github.com/vacp2p/vac.dev/pull/136
- [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

View File

@ -0,0 +1,51 @@
---
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 |

View File

@ -0,0 +1,42 @@
---
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 : , 2024-05-20, 2024-06-20
```
- due: 2024-06-20
- status: 0%
### Description
- [ ] Come up with final gas estimation after the optimizations (RLN v2 + RLN in resource-restricted)
- [ ] Deliver end-to-end PoC working in The Waku Network showcasing the new features.
- [ ] Bug fixes found along testing
- [ ] New smart contract with both RLNv2 and RLN in resource-restricted clients changes.
- [ ] Deploy and consider using a L2 testnet.
#### Goal
Run RLN relay v2 on TWN.
### Deliverables
- [ ] https://github.com/waku-org/pm/issues/168

View File

@ -31,13 +31,17 @@ gantt
### Description
* proof of concept implementation of [[vac/acz/secure-channels/waku/mls-design|mls-design]]
* todo: link repo
* 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
* specification (RFC) of a secure Ethereum-based chat protocol
* Engineers implementing the researchers advice on how to proceed with the PoC

View File

@ -0,0 +1,41 @@
---
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: 50%
- 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
- [ ] rename erc-5564-rs to `stealth-address-kit`

View File

@ -0,0 +1,16 @@
---
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

View File

@ -0,0 +1,39 @@
---
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

View File

@ -20,22 +20,21 @@ title: Zerokit v0.5 Release
gantt
tickInterval 1month
dateFormat YYYY-MM-DD
section zerokit
v0.5 Release: 2023-10-01, 2024-02-29
section Status
v0.5 Release: 2023-10-01, 2024-06-01
```
- status: 5%
- CC: Aaryamann
- status: 70%
- CCs:
- Ekaterina
- Aaryamann
### Description
* Release Planning issue:
* main focus: RLN performance improvements
- explore using kzg proofs
* Release Planning issue: https://github.com/vacp2p/zerokit/issues/237
### Deliverables
### Info
* We have a benchmarking suite done
- [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