From a3d192b14e463653bb6fe51bc6e474fd6815c843 Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Mon, 22 May 2023 11:53:23 +0100 Subject: [PATCH] add The Graph + fix node-peer phrasing --- docs/overview/concepts/network-domains.md | 2 +- docs/overview/concepts/protocols.md | 6 +++--- docs/overview/concepts/transports.md | 2 +- .../reference/research-in-progress.md | 2 +- docs/overview/reference/security-features.md | 2 +- docs/powered-by-waku.mdx | 7 +++++++ sidebars.js | 1 + src/components/PoweredByCard.js | 6 +++--- static/custom.css | 10 ++------- static/img/the-graph-logo.svg | 21 +++++++++++++++++++ 10 files changed, 41 insertions(+), 18 deletions(-) create mode 100644 static/img/the-graph-logo.svg diff --git a/docs/overview/concepts/network-domains.md b/docs/overview/concepts/network-domains.md index dfd0e26..c375c1a 100644 --- a/docs/overview/concepts/network-domains.md +++ b/docs/overview/concepts/network-domains.md @@ -6,7 +6,7 @@ Waku is a unified and cohesive entity that offers a rich ecosystem with three di ## Discovery Domain -Peer discovery in Waku facilitates locating other nodes within the network. As a modular protocol, Waku incorporates various discovery mechanisms, such as [`Discv5`](/overview/concepts/peer-discovery#discv5) and [`Peer Exchange`](/overview/concepts/peer-discovery#peer-exchange). These mechanisms allow developers to choose the most suitable option(s) for their specific use cases and user environments, including mobile phones, desktop browsers, servers, and more. +Peer discovery in Waku facilitates locating other peers within the network. As a modular protocol, Waku incorporates various discovery mechanisms, such as [`Discv5`](/overview/concepts/peer-discovery#discv5) and [`Peer Exchange`](/overview/concepts/peer-discovery#peer-exchange). These mechanisms allow developers to choose the most suitable option(s) for their specific use cases and user environments, including mobile phones, desktop browsers, servers, and more. ## Gossip Domain diff --git a/docs/overview/concepts/protocols.md b/docs/overview/concepts/protocols.md index 3614d58..a525405 100644 --- a/docs/overview/concepts/protocols.md +++ b/docs/overview/concepts/protocols.md @@ -6,15 +6,15 @@ Waku takes a modular approach, providing a range of protocols that enable applic ## [Relay](https://rfc.vac.dev/spec/11/) -The `Relay` protocol employs a Pub/Sub architecture to facilitate message routing among nodes. It extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md) to create a privacy-focused peer-to-peer messaging protocol that enables secure communication channels, encryption, and protection against censorship. +The `Relay` protocol employs a Pub/Sub architecture to facilitate message routing among peers. It extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md) to create a privacy-focused peer-to-peer messaging protocol that enables secure communication channels, encryption, and protection against censorship. ## [Filter](https://rfc.vac.dev/spec/12/) -The `Filter` protocol allows light nodes to selectively subscribe to specific messages transmitted by other nodes. It is designed to be a lightweight alternative to the `Relay` protocol, particularly tailored for devices with limited bandwidth. +The `Filter` protocol allows light nodes to selectively subscribe to specific messages transmitted by other peers. It is designed to be a lightweight alternative to the `Relay` protocol, particularly tailored for devices with limited bandwidth. ## [Store](https://rfc.vac.dev/spec/13/) -The `Store` protocol is responsible for storing messages relayed on the network, making it possible to query and retrieve them later. This functionality benefits offline nodes by enabling them to retrieve missed messages upon reconnection. +The `Store` protocol is responsible for storing messages relayed on the network, making it possible to query and retrieve them later. This functionality benefits offline peers by enabling them to retrieve missed messages upon reconnection. :::info Using `Relay` and `Filter` protocols is recommended when a node is online, as `Store` does not guarantee data availability. The `Store` protocol is suitable for retrieving messages when connecting to the network, like when a dApp starts. diff --git a/docs/overview/concepts/transports.md b/docs/overview/concepts/transports.md index f7df266..3959e4d 100644 --- a/docs/overview/concepts/transports.md +++ b/docs/overview/concepts/transports.md @@ -6,7 +6,7 @@ Transports help move data packets across a network by establishing connections b Waku is a transport-agnostic framework that allows developers to choose and support multiple protocols according to their requirements. For Waku nodes, the following transports are recommended: -- **TCP:** By default, Waku nodes utilize TCP for communication. Service nodes should employ TCP for listening to and connecting with other nodes. +- **TCP:** By default, Waku nodes utilize TCP for communication. Service nodes should employ TCP for listening to and connecting with other peers. - **Secure WebSocket:** In browser environments, secure WebSocket is used. Service nodes are encouraged to set up SSL certificates to enable incoming connections from browsers and serve them securely. - Other protocols like [WebRTC](https://github.com/waku-org/js-waku/issues/20), [WebTransport](https://github.com/waku-org/js-waku/issues/697), and QUIC have been researched and studied for potential integration. diff --git a/docs/overview/reference/research-in-progress.md b/docs/overview/reference/research-in-progress.md index 0d96983..3617691 100644 --- a/docs/overview/reference/research-in-progress.md +++ b/docs/overview/reference/research-in-progress.md @@ -12,7 +12,7 @@ We have prepared a PoC implementation of this method in JS: . +Denial of service signifies the case where an adversarial peer exhausts another peer's service capacity (e.g., by making a large number of requests) and makes it unavailable to the rest of the system. RnD on DoS attack mitigation can tracked from here: . In a nutshell, peers have to pay for the service they obtain from each other. In addition to incentivizing the service provider, accounting also makes DoS attacks costly for malicious peers. The accounting model can be used in `Store` and `Filter` to protect against DoS attacks. diff --git a/docs/overview/reference/security-features.md b/docs/overview/reference/security-features.md index 78ec506..bd36628 100644 --- a/docs/overview/reference/security-features.md +++ b/docs/overview/reference/security-features.md @@ -29,4 +29,4 @@ Confidentiality in Waku is ensured through data encryption, while integrity and ## [Security Considerations](https://rfc.vac.dev/spec/10/#security-considerations) -In protocols like `Store` and `Filter`, where direct connections are required for the designated service, anonymity or unlinkability is not guaranteed. This is because peers use their `PeerID` to identify each other during direct connections, making the service obtained in these protocols linkable to the beneficiary's `PeerID`, considered Personally Identifiable Information (PII). In `Store`, the queried node can link the querying node's `PeerID` to the topics being queried. Similarly, in `Filter`, a full node can link the `PeerID` of a light node to its content filter. \ No newline at end of file +In protocols like `Store` and `Filter`, where direct connections are required for the designated service, anonymity or unlinkability is not guaranteed. This is because nodes use their `PeerID` to identify each other during direct connections, making the service obtained in these protocols linkable to the beneficiary's `PeerID`, considered Personally Identifiable Information (PII). In `Store`, the queried node can link the querying node's `PeerID` to the topics being queried. Similarly, in `Filter`, a node can link the `PeerID` of a light node to its content filter. \ No newline at end of file diff --git a/docs/powered-by-waku.mdx b/docs/powered-by-waku.mdx index fa57817..04f23a1 100644 --- a/docs/powered-by-waku.mdx +++ b/docs/powered-by-waku.mdx @@ -33,5 +33,12 @@ import PoweredByCard from "@site/src/components/PoweredByCard"; > RAILGUN uses Waku to offer private gas payments to users, ensuring anonymity and privacy for their transactions. + + Waku powers the Graphcast SDK, enabling the development of gossip-powered applications within The Graph ecosystem. + ``` \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 88dbff1..4ee89e6 100644 --- a/sidebars.js +++ b/sidebars.js @@ -37,6 +37,7 @@ const sidebars = { "clients/js-waku/index" ], community: [ + "powered-by-waku", "community" ] }; diff --git a/src/components/PoweredByCard.js b/src/components/PoweredByCard.js index 6aacffa..14dbc3f 100644 --- a/src/components/PoweredByCard.js +++ b/src/components/PoweredByCard.js @@ -6,7 +6,7 @@ const PoweredByCard = ({ appLink, logoSrc, logoAlt, children }) => ( width: "100%", border: "1px solid #666", borderRadius: "8px", - padding: "1.5em" + padding: "1.5rem" }} >
( flexDirection: "column", alignItems: "center", backgroundColor: "#fff", - marginBottom: "1em" + marginBottom: "1rem" }}> (