From 4e70b92f05d6ba6d87bf022c699c1966e74c294c Mon Sep 17 00:00:00 2001 From: Oskar Thoren Date: Fri, 3 Jul 2020 14:23:41 +0800 Subject: [PATCH] Move out notes to issue; bump alpha1 --- specs/waku/waku-v2.md | 56 +------------------------------------------ 1 file changed, 1 insertion(+), 55 deletions(-) diff --git a/specs/waku/waku-v2.md b/specs/waku/waku-v2.md index 13f36005..6483ec6c 100644 --- a/specs/waku/waku-v2.md +++ b/specs/waku/waku-v2.md @@ -1,64 +1,10 @@ --- title: Waku -version: 2.0.0-alpha0 +version: 2.0.0-alpha1 status: Raw authors: Oskar Thorén --- -**NOTE: This is a very early raw version of Waku v2 over libp2p** - -## General notes and TODOs - -### General -In general, we want to remove as much as possible. WakuSub should be a thin layer on top of PubSub. - -A good question to ask: what is the minimal subset we have to support? - -How can we defer specific properties to other protocols? - -### Data field -Can we assume data field stays the same? There is nothing in data field about RLPx AFAICT: -https://github.com/vacp2p/specs/blob/master/specs/waku/envelope-data-format.md - -### How do we deal with PoW etc? -If basically only full nodes set PoW to 0 then it be fine. But if light nodes also set this (afair they do) we have a compatibility issue. Though we also have mailservers. - -Simplest might might be to basically send both envelopes, just take out the data thing: -- v1 [ expiry ttl topic data nonce ] -- v2 [ ... data ... ] - -### Get rid of privileged point of node for RPC? -We could have JSON RPC for now and then use alt method later. We need to make -sure the interface with Stimbus and Core/Desktop makes sense. - -It'd be useful if a node in browser could use another node without giving away -private keys (WalletConnect, e.g.). - -### Are filters a useful abstraction? -Not sure I like this filter businesss, just deliver on a topic. If we want to do -that it can be done separately with a shim and have that specified at a -different layer. Removing coupling of routing and crypto. - -### Consumer spec -Consumer: https://specs.status.im/spec/10 - -### Factoring out -Separate out into constituent pieces, keep main spec small here. What are the pieces? -- RPC/Node API -- Filter shim / crypto key compatibility -- Data field -- Waku v1 bridge - -### App topics and waku topics -Ensure path forward for sharding topics. See Eth2 networking spec too. - -Ensure topic interest in payload (not for routing, only edge nodes). Current Waku topics. - -### Clarity of purpose -Make it very clear what we provide over e.g. FloodSub. -- Privacy, resource restriction (offline, topic interest, etc) -- Thin layer on top of PubSub - ## Table of Contents TODO