mirror of https://github.com/waku-org/waku.org.git
chore: update subpages
This commit is contained in:
parent
f5cc9a716c
commit
fb2edf2a03
|
@ -3,27 +3,27 @@ title: Description and architecture
|
|||
sidebar_position: 2
|
||||
---
|
||||
|
||||
Waku is a family of protocols that enable private, censorship-resistant communications; a suite of open-source software; and the name of the public, permissionless and decentralised network facilitating generalised messaging. By communications, we mean the exchange of data or messages between two or more entities, whether they are users, devices or nodes.
|
||||
Waku is a family of protocols that enable private, censorship-resistant communications over an open-source, decentralised network. By communications, we mean the exchange of data or messages between two or more entities, whether they are users, devices, or nodes.
|
||||
|
||||
Waku was built as open-source public goods infrastructure to serve as the communications layer of the decentralised web. As such, its development focuses on the following:
|
||||
|
||||
- **Generalised:** Waku's focus on generalised and ephemeral messaging facilitates communication between users, subsystems or nodes according to developers' needs.
|
||||
- **Generalised:** Waku's focus on generalised and ephemeral messaging facilitates communication between users, subsystems, or nodes according to developers' needs.
|
||||
|
||||
- **Peer-to-peer:** Waku is implemented via a decentralised p2p network, yielding the advantages of censorship resistance while remaining adaptive and scalable.
|
||||
- **Peer-to-peer:** The Waku network has a decentralised peer-to-peer topology, preventing censorship and providing surveillance resistance. It is composed of adaptive nodes and is designed to scale to millions of users.
|
||||
|
||||
- **Runs anywhere:** Waku was designed to run in resource-restricted environments—like phones and browsers—enabling users operating lower-spec hardware or with intermittent bandwidth to participate as peers.
|
||||
- **Runs anywhere:** Waku was designed to run in resource-restricted environments like phones and browsers, enabling users operating lower-spec hardware or with limited bandwidth to participate as peers.
|
||||
|
||||
- **Privacy first:** Waku empowers developers to build apps that cannot harvest users' metadata, removing the need for them to trust that their data is not used maliciously or without their consent.
|
||||
|
||||
- **Modular:** Waku's modularity enables developers to make tradeoffs according to their users' privacy expectations and performance demands by implementing only those protocols that are relevant to their applications. While one app might value privacy above all else, another may be willing to make compromises to deliver a more frictionless UX.
|
||||
- **Modular:** Waku's modularity enables developers to make tradeoffs according to their users' privacy expectations and performance demands, by implementing only those protocols that are relevant to their applications. For example, while one app might value privacy above all else, another may be willing to make compromises to deliver a more frictionless UX.
|
||||
|
||||
- **Platform agnostic:** Waku can run on any platform or in any environment making it a suitable messaging solution for decentralised applications regardless of the network on which they're deployed.
|
||||
- **Platform agnostic:** Waku can run on any platform or in any environment, making it a suitable messaging solution for decentralised applications regardless of the network on which they're deployed.
|
||||
|
||||
<br/>
|
||||
|
||||
## Network architecture
|
||||
|
||||
The Waku team has developed three clients to run in different environments along with a range of SDKs in Rust, React Native, Kotlin and Swift:
|
||||
The Waku team has developed three clients to run in different environments along with a range of SDKs in Rust, React Native, Kotlin, and Swift:
|
||||
|
||||
- nwaku: Waku's reference implementation written in Nim.
|
||||
|
||||
|
@ -31,19 +31,19 @@ The Waku team has developed three clients to run in different environments along
|
|||
|
||||
- js-waku: Waku's JavaScript implementation for browser environments.
|
||||
|
||||
Waku is best thought of as a cohesive whole in terms of its capabilities. However, under the hood are three distinct network interaction domains: gossip, discovery and request/response.
|
||||
Waku is best thought of as a cohesive whole in terms of its capabilities. However, under the hood are three distinct network interaction domains: gossip, discovery, and request/response.
|
||||
|
||||
### Waku protocols
|
||||
|
||||
Waku compromises multiple protocols, including but not limited to the following:
|
||||
Waku consists of multiple protocols, including but not limited to the following:
|
||||
|
||||
**Waku Relay**: The heart of Waku v2, the relay protocol specifies a pub/sub approach to P2P messaging with a focus on privacy, censorship resistance and security, and is currently implemented as a minor extension of the libp2p GossipSub protocol.
|
||||
**Waku Relay**: Waku Relay is the backbone of the Waku network. It specifies a pub/sub approach to P2P messaging with a focus on privacy, censorship resistance, and security, and is currently implemented as a minor extension of the libp2p GossipSub protocol.
|
||||
|
||||
**Waku Filter**: A lighter-weight version of the relay protocol for resource-restricted devices, Waku Filter enables light nodes to only receive the messages they want from full nodes.
|
||||
|
||||
**Waku Store**: Enables querying of messages stored by other nodes through Waku Relay.
|
||||
**Waku Store**: Enables devices that cannot participate in the Waku Relay network to retrieve messages they missed while being offline.
|
||||
|
||||
**Waku Light Push**: A request/response protocol that enables nodes with short connection windows or limited bandwidth to publish messages to the Waku network
|
||||
**Waku Light Push**: A request/response protocol that enables nodes with short connection windows or limited bandwidth to publish messages to the Waku network.
|
||||
|
||||
|
||||
<br/>
|
||||
|
|
|
@ -3,25 +3,25 @@ title: About
|
|||
sidebar_position: 1
|
||||
---
|
||||
|
||||
Waku is the communication standard for the decentralised web. A suite of generalised messaging protocols, it enables private, secure, bidirectional human-to-human, machine-to-machine and human-to-machine communication without reliance on centralised intermediaries.
|
||||
Waku is a suite of generalised messaging protocols aiming to be the communication standard for the decentralised web. It enables private and secure human-to-human, machine-to-machine, and human-to-machine communication without reliance on centralised intermediaries. Messaging through Waku is possible from one-to-one to many-to-many.
|
||||
|
||||
Waku serves as the communications branch of the [Logos](https://logos.co/) tech stack. Alongside the computational branch, [Nomos](http://www.nomos.tech), and the storage branch, [Codex](http://www.codex.storage), it is one of the Logos Collective's foundational projects.
|
||||
Waku serves as the communications layer of the [Logos](https://logos.co/) tech stack. Alongside the trustless agreement layer, [Nomos](http://www.nomos.tech), and the storage layer, [Codex](http://www.codex.storage), it is one of the Logos Collective's foundational projects.
|
||||
|
||||
<br/>
|
||||
|
||||
### Motive
|
||||
|
||||
Today's internet is increasingly controlled by a vanishingly small number of tech giants. The Googles, Amazons and Metas of the world dictate what we see and with whom we can communicate. Their influence is absolute, and their actions shape global public opinion and even geopolitics.
|
||||
Today's internet is increasingly controlled by a small number of tech giants. Google, Amazon, Meta, and a few others dictate what we see and with whom we can communicate. Their influence is almost limitless, and their actions shape global public opinion and even geopolitics.
|
||||
|
||||
To anyone that understands the internet's present architecture, this outcome should be expected. The centralised entities through which we communicate have privileged access to reams of data that we, as internet users, produce daily, presenting an opportunity for the kind of surveillance that was once confined to the pages of science-fiction literature. Thinking that the most powerful commercial and political institutions would not leverage this would be naive.
|
||||
|
||||
Yet, it doesn't have to be this way. Advances in cryptography, P2P technologies and decentralised networking provide an alternate path forward.
|
||||
Yet, it doesn't have to be this way. Advances in cryptography, peer-to-peer networking, and decentralised technologies provide an alternate path forward.
|
||||
|
||||
<br/>
|
||||
|
||||
### (Slowly) moving toward a decentralised web
|
||||
|
||||
The early Ethereum community realised this. Initially, the plan was to rebuild the web's architecture along decentralised lines by developing the so-called "Holy Trinity of the Decentralised Web." Ethereum itself would handle computation, Swarm was the reimagined web's storage layer and Whisper would take care of messaging.
|
||||
The early Ethereum community realised this. Initially, the plan was to rebuild the web's architecture along decentralised lines by developing the so-called Holy Trinity of the Decentralised Web: computation, storage, and communication. Ethereum itself would handle computation, Swarm was the reimagined web's storage layer, and Whisper would take care of messaging.
|
||||
|
||||
<br/>
|
||||
|
||||
|
@ -29,17 +29,18 @@ The early Ethereum community realised this. Initially, the plan was to rebuild t
|
|||
|
||||
<br/>
|
||||
|
||||
Whisper was a promising start but scalability shortcomings quickly became apparent. Meanwhile, for reasons upon which we can only speculate, the development of Swarm and Whisper was relegated to a backseat while Ethereum took centre stage. Yet, without adequate communication and storage layers, the decentralised web's potential for disruption remained severely handicapped.
|
||||
Whisper was a promising start but scalability shortcomings quickly became apparent. Meanwhile, the development of Swarm and Whisper was seemingly relegated to a backseat while Ethereum took centre stage. Yet, without adequate communication and storage layers, the decentralised web's potential for disrupting human coordination remained severely encumbered.
|
||||
|
||||
Status, the decentralised messaging application, hoped to leverage Whisper but with development grinding to a snail's pace, it was forced to take up the job itself. Consequently, the R&D group [Vac](https://vac.dev/) was put together in 2018 to research solutions to Whisper's scaling woes.
|
||||
Status, the decentralised messaging application, was built to leverage Whisper but because of Whisper’s development delays, the team decided to build their own communication protocol. Consequently, the R&D group [Vac](https://vac.dev/) was put together in 2018 to research solutions to Whisper's scaling woes.
|
||||
|
||||
|
||||
<br/>
|
||||
|
||||
### The birth of Waku
|
||||
|
||||
In 2020, Waku v1 was released. A fork of the Whisper codebase, this initial version introduced various Vac-proposed optimizations, resulting in a more performant messaging protocol. Yet, it was clear that further changes were needed if Waku was to handle the volume of messages an application like Status would produce.
|
||||
In 2020, Waku v1 was released. As a fork of the Whisper codebase, this initial version introduced various Vac-proposed optimizations, resulting in a better performing messaging protocol. Yet, it was clear that further changes were needed for Waku to be able to handle the volume of messages an application like Status would produce.
|
||||
|
||||
The following year, work on a complete protocol rewrite began. Waku v2, as the version under development today is known, introduced a relay protocol that implements pub/sub over libp2p. Additionally, further capabilities were included to make Waku more useful, including historic message retrieval for often-offline devices, adaptive nodes to make participation more accessible to users with limited or intermittent connections and lower-spec hardware, and various bandwidth preservation techniques.
|
||||
The following year, work on a complete protocol rewrite began. Waku v2, as the version under development today is known, introduced a relay protocol that implements pub/sub over libp2p. Additionally, further capabilities were included to make Waku more useful, including historic message retrieval for mostly-offline devices, adaptive nodes to make participation more accessible to users with limited or intermittent connections and lower-spec hardware, and various bandwidth preservation techniques.
|
||||
|
||||
Waku was first announced as a core Logos project in June 2023.
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
---
|
||||
title: Development roadmap
|
||||
sidebar_position: 4
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
Waku v1 is in production and was quickly adopted by the Status Mobile application. Yet, this initial version was unable to handle the scale required to support popular applications, prompting the v2 rewrite. Waku v2 has seen encouraging initial adoption beyond Status by projects such as Railgun's private transaction system, The Graph's indexer communication network Graphcast and the messaging platform XMTP.
|
||||
Waku v1 is in production and was quickly adopted by the Status Mobile application. Yet, this initial version was unable to handle the scale required to support popular applications, prompting the v2 rewrite. Waku v2 has seen encouraging initial adoption beyond Status by projects such as Railgun's private transaction system and The Graph's indexer communication network Graphcast.
|
||||
|
||||
Given Waku v1's scaling difficulties, the team behind Waku is primarily focused on ensuring v2 scales securely. By the end of Q2 2023, we aim to support more than one million users.
|
||||
Given Waku v1's scaling difficulties, the team behind Waku is primarily focused on ensuring v2 scales securely. By the end of Q3 2023, we aim to support one million users.
|
||||
|
||||
Meanwhile, the team is also working on ensuring production readiness alongside network and development sustainability. Although work on these areas is already underway, our efforts will intensify as we progress toward our million-user-milestone. Finally, Waku aims to promote itself among developers looking to add decentralised communications to their applications.
|
||||
Meanwhile, the team is also working on ensuring production readiness alongside network and development sustainability. Though work on these areas is already underway, our efforts will intensify as we progress toward our million-user-milestone. Finally, Waku aims to promote itself among developers looking to add decentralised communications to their applications.
|
||||
|
||||
<br/>
|
||||
|
||||
|
@ -17,17 +17,17 @@ Alongside Vac researchers, Waku is producing and implementing various RFCs to de
|
|||
|
||||
## Production readines
|
||||
|
||||
We will consider Waku v2 production ready when it's performant, stable and bug-free while satisfying user requirements. This process will involve collaboration with Status teams to test the protocols, and further simulations to assess future updates' expected performances. Ensuring that Waku has adequate protection against spam and DoS attacks is critically important to this milestone.
|
||||
We will consider Waku v2 production ready when it's performant, stable, and bug-free while satisfying user requirements. This process will involve collaboration with Status teams to test the protocols, as well as further simulations to assess future updates' expected performances. Ensuring that Waku has adequate protection against spam and DoS attacks is critically important to this milestone.
|
||||
|
||||
## Network sustainability
|
||||
|
||||
Many of Waku's core value propositions—privacy and resistance to censorship, for example—are reliant on its decentralisation. While our most passionate users may well operate network infrastructure altruistically, incentivization mechanisms will ensure a wider node distribution and, thus, strengthen Waku's more disruptive properties.
|
||||
Many of Waku's core value propositions (privacy and resistance to censorship, for example) are reliant on its decentralisation. While our most passionate users may well operate network infrastructure altruistically, incentivization mechanisms will ensure a wider node distribution, and strengthen Waku's disruptive properties.
|
||||
|
||||
This process will involve defining a viable incentivization structure via RFC and studying its efficacy to tweak parameters through test net simulations before implementation on the main net.
|
||||
This process will involve defining a viable incentivization structure via RFC and studying its efficacy to tweak parameters through test net simulations, before implementation on the main net.
|
||||
|
||||
## Development sustainability
|
||||
|
||||
We believe Waku will only realize its true potential if its community and users believe in its longevity. As such, Waku's development must remain funded. Again, arriving at a suitable funding mechanism will involve several RFCs to define how much of the network's extractable value can be diverted toward R&D efforts.
|
||||
We believe Waku will only realise its true potential if its community and users believe in its longevity. As such, Waku's development must remain funded. Again, arriving at a suitable funding mechanism will involve several RFCs to define how much of the network's extractable value can be diverted toward R&D efforts.
|
||||
|
||||
## Growth
|
||||
|
||||
|
@ -35,14 +35,4 @@ After achieving the above milestones, we will be in a position to aggressively m
|
|||
|
||||
Promotion is an ongoing process that is already underway, involving conference attendance and sponsorship, hosting developer workshops, producing promotional material, and appearing on industry-focused podcasts.
|
||||
|
||||
|
||||
<br/>
|
||||
|
||||
## Roadmap rationale
|
||||
|
||||
Completing the roadmap objectives described above will best position Waku for maximum user adoption. Proving Waku is scalable and reliable must come before subsequent milestones as the network's non-functionality will discourage infrastructure operators regardless of the incentive structure we put in place.
|
||||
|
||||
Similarly, it makes little sense to promote Waku aggressively until we are confident that it can handle waves of new users without degraded performance. Without first achieving secure scalability and proving production readiness, it will be very difficult to convince all but the most ideologically driven developers to continue believing in Waku's potential if their first experience is a negative one.
|
||||
|
||||
|
||||
[Contribute to Waku](https://github.com/waku-org)
|
||||
|
|
|
@ -1,12 +1,19 @@
|
|||
---
|
||||
title: Core contributors
|
||||
sidebar_position: 3
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
Leading Waku's R&D efforts is Franck Royer. Franck draws on more than five years of experience within the blockchain and crypto ecosystem, and over 13 years as a software engineer and team lead with a primary focus on backend development for mission-critical applications.
|
||||
|
||||
The core contributors building Waku are split into three subgroups:
|
||||
|
||||
- Waku Research
|
||||
|
||||
- Waku Development
|
||||
|
||||
- Waku Eco Dev
|
||||
|
||||
|
||||
## Waku Research
|
||||
|
||||
Our research efforts are led by a former telecoms engineer with almost a decade of experience, and supported by a post-doctoral research engineer who specialises in communications networks.
|
||||
|
@ -15,16 +22,16 @@ Our research efforts are led by a former telecoms engineer with almost a decade
|
|||
|
||||
Waku's development arm is broken down by client implementation.
|
||||
|
||||
- nwaku: The team building nwaku, our implementation in Nim, comprises two software engineers with more than two decades of combined experience in backend development, open-source development, artificial intelligence and finance.
|
||||
- nwaku: The team building nwaku, our implementation in Nim, consists of three software engineers with more than two decades of combined experience in backend development, open-source development, artificial intelligence, and finance.
|
||||
|
||||
- js-waku: Our JavaScript implementation is developed by a senior and intermediate software engineer, one with extensive experience in the web3 sector and another who previously worked with renowned tech companies, such as Microsoft and Ubisoft.
|
||||
|
||||
- go-waku: Building Waku's Golang implementation is a senior software engineer with almost 15 years of experience, including five in web3.
|
||||
- go-waku: Building Waku's Golang implementation are two senior software engineers with over 25 years of combined experience, including significant experience in web3.
|
||||
## Waku Eco Dev
|
||||
|
||||
## Waku Outreach
|
||||
|
||||
Ensuring that Waku attracts developers and users is the Waku Outreach team. It comprises a developer relations engineer and a technical writer. Both members are steeped in web3, having previously worked with Wallet Connect and Unstoppable Domains, and regularly presenting on the crypto conference circuit.
|
||||
|
||||
Waku is looking to expand the above structure and currently has openings for core contributors. As an open-source public goods project Waku also welcomes community contributions.
|
||||
Waku is looking to expand the above structure and currently has openings for core contributors. As an open-source public goods project, Waku also welcomes community contributions. Please check out our [Github repo here](https://github.com/waku-org).
|
||||
|
||||
[Work with us](https://jobs.status.im/)
|
||||
|
|
Loading…
Reference in New Issue