mirror of https://github.com/vacp2p/rfc-index.git
Update simple-scaling.md
This commit is contained in:
parent
e95c5c6947
commit
27fae4fe91
|
@ -51,9 +51,9 @@ Sharding the [11/WAKU2-RELAY](../../waku/standards/core/11/relay.md) network is
|
||||||
[51/WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md) specifies shards clusters, which are sets of `1024` shards (separate pubsub mesh networks).
|
[51/WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md) specifies shards clusters, which are sets of `1024` shards (separate pubsub mesh networks).
|
||||||
Content topics specified by application protocols can be distributed over these shards.
|
Content topics specified by application protocols can be distributed over these shards.
|
||||||
The Status app protocols are assigned to shard cluster `16`,
|
The Status app protocols are assigned to shard cluster `16`,
|
||||||
as defined in [52/WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md).
|
as defined in [WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md).
|
||||||
|
|
||||||
[51/WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md) specifies three sharding methods.
|
[WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md) specifies three sharding methods.
|
||||||
This document uses *static sharding*, which leaves the distribution of content topics to application protocols,
|
This document uses *static sharding*, which leaves the distribution of content topics to application protocols,
|
||||||
but takes care of shard discovery.
|
but takes care of shard discovery.
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ The 1024 shards within the main Status shard cluster are allocated as follows.
|
||||||
| 768 - 895 | 1:1 chat |
|
| 768 - 895 | 1:1 chat |
|
||||||
| 896 - 1023 | media and control msgs |
|
| 896 - 1023 | media and control msgs |
|
||||||
|
|
||||||
Shard indices are mapped to pubsub topic names as follows (specified in [51/WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md)).
|
Shard indices are mapped to pubsub topic names as follows (specified in [WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md)).
|
||||||
|
|
||||||
`/waku/2/rs/<cluster_id>/<shard_number>`
|
`/waku/2/rs/<cluster_id>/<shard_number>`
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ Status communities can be mapped to shards in two ways: static, and owner-based.
|
||||||
#### Static Mapping
|
#### Static Mapping
|
||||||
|
|
||||||
With static mapping, communities are assigned a specific shard index within the Status shard cluster.
|
With static mapping, communities are assigned a specific shard index within the Status shard cluster.
|
||||||
This mapping is similar in nature to the shard cluster allocation in [52/WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md).
|
This mapping is similar in nature to the shard cluster allocation in [WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md).
|
||||||
Shard indices allocated in that way are in the range `16 - 127`.
|
Shard indices allocated in that way are in the range `16 - 127`.
|
||||||
The Status CC community uses index `16` (not to confuse with shard cluster index `16`, which is the Status shard cluster).
|
The Status CC community uses index `16` (not to confuse with shard cluster index `16`, which is the Status shard cluster).
|
||||||
|
|
||||||
|
@ -260,7 +260,7 @@ Light protocols comprise
|
||||||
|
|
||||||
* [19/WAKU2-LIGHTPUSH](../../waku/standards/core/19/lightpush.md) for sending messages
|
* [19/WAKU2-LIGHTPUSH](../../waku/standards/core/19/lightpush.md) for sending messages
|
||||||
* [12/WAKU2-FILTER](../../waku/standards/core/12/filter.md) for requesting messages with specific attributes
|
* [12/WAKU2-FILTER](../../waku/standards/core/12/filter.md) for requesting messages with specific attributes
|
||||||
* [34/WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md) for discovering peers
|
* [WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md) for discovering peers
|
||||||
|
|
||||||
## Waku Archive
|
## Waku Archive
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ In fact, the archive service can be offered by infrastructure nodes.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
Shard discovery is covered by [51/WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md).
|
Shard discovery is covered by [WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md).
|
||||||
This allows the Status app to abstract from the discovery process and simply address shards by their index.
|
This allows the Status app to abstract from the discovery process and simply address shards by their index.
|
||||||
|
|
||||||
### Libp2p Rendezvous and Circuit-Relay
|
### Libp2p Rendezvous and Circuit-Relay
|
||||||
|
@ -289,7 +289,7 @@ To make nodes behind restrictive NATs discoverable,
|
||||||
this document suggests using [libp2p rendezvous](https://github.com/libp2p/specs/blob/master/rendezvous/README.md).
|
this document suggests using [libp2p rendezvous](https://github.com/libp2p/specs/blob/master/rendezvous/README.md).
|
||||||
Nodes can check whether they are behind a restrictive NAT using the [libp2p AutoNAT protocol](https://github.com/libp2p/specs/blob/master/autonat/README.md).
|
Nodes can check whether they are behind a restrictive NAT using the [libp2p AutoNAT protocol](https://github.com/libp2p/specs/blob/master/autonat/README.md).
|
||||||
|
|
||||||
> *Note:* The following will move into [51/WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md), or [33/WAKU2-DISCV5](../../waku/standards/core/33/discv5.md):
|
> *Note:* The following will move into [WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md), or [33/WAKU2-DISCV5](../../waku/standards/core/33/discv5.md):
|
||||||
Nodes behind restrictive NATs SHOULD not announce their publicly unreachable address via [33/WAKU2-DISCV5](../../waku/standards/core/33/discv5.md) discovery.
|
Nodes behind restrictive NATs SHOULD not announce their publicly unreachable address via [33/WAKU2-DISCV5](../../waku/standards/core/33/discv5.md) discovery.
|
||||||
|
|
||||||
It is RECOMMENDED that nodes that are part of the relay network also act as rendezvous points.
|
It is RECOMMENDED that nodes that are part of the relay network also act as rendezvous points.
|
||||||
|
@ -307,8 +307,8 @@ functionality offered by the libp2p circuit relay protocols, and
|
||||||
2) use [DCUtR](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md) to upgrade to a direct connection.
|
2) use [DCUtR](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md) to upgrade to a direct connection.
|
||||||
|
|
||||||
Nodes that do not announce themselves at all and only plan to use light protocols,
|
Nodes that do not announce themselves at all and only plan to use light protocols,
|
||||||
MAY use rendezvous discovery instead of or along-side [34/WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md).
|
MAY use rendezvous discovery instead of or along-side [WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md).
|
||||||
For these nodes, rendezvous and [34/WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md) offer the same functionality,
|
For these nodes, rendezvous and [WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md) offer the same functionality,
|
||||||
but return node sets sampled in different ways.
|
but return node sets sampled in different ways.
|
||||||
Using both can help increasing connectivity.
|
Using both can help increasing connectivity.
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ The app name, `my-app` is used to encode a single shard in the form:
|
||||||
<rs (utf8 encoded)> | <2-byte shard cluster index> | <2-byte shard index>
|
<rs (utf8 encoded)> | <2-byte shard cluster index> | <2-byte shard index>
|
||||||
```
|
```
|
||||||
|
|
||||||
Registering shard 2 in the Status shard cluster (with shard cluster index 16, see [52/WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md),
|
Registering shard 2 in the Status shard cluster (with shard cluster index 16, see [WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md),
|
||||||
the register query would look like
|
the register query would look like
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -463,7 +463,7 @@ It could be rate-limited with RLN.
|
||||||
|
|
||||||
This document makes several trade-offs to privacy and anonymity.
|
This document makes several trade-offs to privacy and anonymity.
|
||||||
Todo: elaborate.
|
Todo: elaborate.
|
||||||
See [45/WAKU2-ADVERSARIAL-MODELS](https://github.com/waku-org/specs/blob/waku-RFC/informational/adversarial-models.md) for information on Waku Anonymity.
|
See [WAKU2-ADVERSARIAL-MODELS](https://github.com/waku-org/specs/blob/waku-RFC/informational/adversarial-models.md) for information on Waku Anonymity.
|
||||||
|
|
||||||
## Copyright
|
## Copyright
|
||||||
|
|
||||||
|
@ -475,12 +475,12 @@ Copyright and related rights waived via [CC0](https://creativecommons.org/public
|
||||||
* [55/STATUS-1TO1-CHAT](.../55/1to1-chat.md)
|
* [55/STATUS-1TO1-CHAT](.../55/1to1-chat.md)
|
||||||
* [23/WAKU2-TOPICS](../../waku/informational/23/)
|
* [23/WAKU2-TOPICS](../../waku/informational/23/)
|
||||||
* [11/WAKU2-RELAY](../../waku/standards/core/11/relay.md)
|
* [11/WAKU2-RELAY](../../waku/standards/core/11/relay.md)
|
||||||
* [51/WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md)
|
* [WAKU2-RELAY-SHARDING](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/relay-sharding.md)
|
||||||
* [52/WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md)
|
* [WAKU2-RELAY-STATIC-SHARD-ALLOC](https://github.com/waku-org/specs/blob/waku-RFC/informational/relay-static-shard-alloc.md)
|
||||||
* [30/ADAPTIVE-NODES](../../waku/informational/30/adaptive-nodes.md)
|
* [30/ADAPTIVE-NODES](../../waku/informational/30/adaptive-nodes.md)
|
||||||
* [19/WAKU2-LIGHTPUSH](../../waku/standards/core/19/lightpush.md)
|
* [19/WAKU2-LIGHTPUSH](../../waku/standards/core/19/lightpush.md)
|
||||||
* [12/WAKU2-FILTER](../../waku/standards/core/12/filter.md)
|
* [12/WAKU2-FILTER](../../waku/standards/core/12/filter.md)
|
||||||
* [34/WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md)
|
* [WAKU2-PEER-EXCHANGE](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/peer-exchange/peer-exchange.md)
|
||||||
* [13/WAKU2-STORE](../../waku/standards/core/13/store.md)
|
* [13/WAKU2-STORE](../../waku/standards/core/13/store.md)
|
||||||
* [libp2p rendezvous](https://github.com/libp2p/specs/blob/master/rendezvous/README.md)
|
* [libp2p rendezvous](https://github.com/libp2p/specs/blob/master/rendezvous/README.md)
|
||||||
* [libp2p AutoNAT protocol](https://github.com/libp2p/specs/blob/master/autonat/README.md)
|
* [libp2p AutoNAT protocol](https://github.com/libp2p/specs/blob/master/autonat/README.md)
|
||||||
|
@ -490,8 +490,8 @@ Copyright and related rights waived via [CC0](https://creativecommons.org/public
|
||||||
* [DCUtR](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md)
|
* [DCUtR](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md)
|
||||||
* [scoring](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md#extended-validators)
|
* [scoring](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md#extended-validators)
|
||||||
* [Circuit Relay](https://docs.libp2p.io/concepts/nat/circuit-relay/)
|
* [Circuit Relay](https://docs.libp2p.io/concepts/nat/circuit-relay/)
|
||||||
* [45/WAKU2-ADVERSARIAL-MODELS](https://github.com/waku-org/specs/blob/waku-RFC/informational/adversarial-models.md)
|
* [WAKU2-ADVERSARIAL-MODELS](https://github.com/waku-org/specs/blob/waku-RFC/informational/adversarial-models.md)
|
||||||
|
|
||||||
## Informative
|
## Informative
|
||||||
* [Circuit Relay](https://docs.libp2p.io/concepts/nat/circuit-relay/)
|
* [Circuit Relay](https://docs.libp2p.io/concepts/nat/circuit-relay/)
|
||||||
* [31/WAKU2-ENR](/spec/31/)
|
* [WAKU2-ENR](https://github.com/waku-org/specs/blob/waku-RFC/standards/core/enr.md)
|
||||||
|
|
Loading…
Reference in New Issue