vacp2p / research

Thinking in code
MIT License
62 stars 4 forks source link

Positioning: RLNP2P #146

Open oskarth opened 1 year ago

oskarth commented 1 year ago

(Discussed during PM call)

Problem

Currently RLN and RLN-Relay are kind of treated as one thing in terms of positioning. Additionally, we see a lot of potential usage of RLN and RLN in a p2p setting outside of Waku Relay only. E.g. Dandellion, GossipSub, Tor, Cell Phone tower... etc.

It is desirable to make this distinction more clear, as well as distinction with RLN on its own. Both for ourselves but also for other projects who aren't familiar with details of RLN, Waku, RLNP2P etc.

Additionally, RLNP2P can be seen as its own product bet, similar to how how Waku was spawned out of Vac Research.

Details

(Can be broken out into separate issues)

Probably missing a few things, but I think this is a start. If we keep each item minimal basics should be doable within ~1w or so. Then it can be expanded from there.

Acceptance criteria

Reposition RLNRelay to RLN-P2P in all relevant places, see details above.

oskarth commented 1 year ago

cc @staheri14 @rymnc

oskarth commented 1 year ago

Can possibly be a milestone too

staheri14 commented 1 year ago

FYI: There was already a tracking issue https://github.com/vacp2p/research/issues/110, would be great to merge them and only track from one place.

oskarth commented 1 year ago

Reposition RLNRelay to RLN-P2P in all relevant places, see details above.

This issue is different in scope from previously cut one, but can link/supersede as appropriate

amirhouieh commented 1 year ago

RLNP2P is going to be a fully standalone product (similar to Waku) but not fully developed or as mature probably and therefore we need to manifest it within the Vac website without detaching it from the Vac context. (correct me if i am wrong). in this case, I can think of two approaches;

  1. Create a subdirectory including a couple of MD files inside the vac.dev repo. This would be then listed on the sidebar in a similar fashion as "research" section.

  2. Create one MD file and include all relevant information inside that file.

AtHeartEngineer commented 1 year ago

👋 Hey we are working on a p2p chat using RLN, https://github.com/kayleegeorge/zk-chat is the repo, https://hackmd.io/dX1qoy6cTtSXJ7TdB8muIw?both is our rough plan. We are planning on building a library using Waku with Gossipsub over WebRTC/WebSockets for use in the browser, and then building a browser extension on top of that.

Just talked to @staheri14 some about this and wanted to start a communication effort in this area.

CC: @kayleegeorge

oskarth commented 1 year ago

@AtHeartEngineer Nice! This sounds exactly what @fryorcraken and @richard-ramos et al has done with RLN in Waku in the browser, with nodes validating on nwaku/go-waku.

A bit off-topic for OP, but probably worth linking up with @fryorcraken if you guys haven't already? Using e.g. https://github.com/waku-org/js-waku-examples/blob/master/rln-js/index.html and https://github.com/status-im/nwaku/blob/master/docs/tutorial/rln-chat-cross-client.md as a starting point seems like it'd make a lot of sense

oskarth commented 1 year ago

Put up a very basic first cut of site just to have something up: https://rlnp2p.vac.dev/

It definitely needs to be improved wrt to content, structure etc, but this is the minimally useful thing for workshop. Was easier to just do first cut myself.

I suggest further enhancements can be made as PRs in github.com/vacp2p/rlnp2p repo

rymnc commented 1 year ago

As discussed with @oskarth, the next two issues to be tackled are in this order of priority -