mirror of https://github.com/waku-org/waku.org.git
1 line
5.8 KiB
JavaScript
1 line
5.8 KiB
JavaScript
"use strict";(self.webpackChunkwaku_docusaurus_template=self.webpackChunkwaku_docusaurus_template||[]).push([[608],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),c=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(r),h=n,m=p["".concat(l,".").concat(h)]||p[h]||d[h]||o;return r?a.createElement(m,i(i({ref:t},u),{},{components:r})):a.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:n,i[1]=s;for(var c=2;c<o;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}h.displayName="MDXCreateElement"},47925:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const o={},i="The Waku Network",s={unversionedId:"waku-network",id:"waku-network",title:"The Waku Network",description:"The Waku Network Gen 0 is the first iteration of a public network for peer-to-peer messaging built on the Waku protocol stack. Its goal is to offer a permissionless, auto-scalable, DoS protected shared messaging layer for the decentralized web.",source:"@site/about/waku-network.md",sourceDirName:".",slug:"/waku-network",permalink:"/about/waku-network",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"defaultSidebar",previous:{title:"Core contributors",permalink:"/about/team"}},l={},c=[{value:"Motive",id:"motive",level:2},{value:"Sharding and rate limiting",id:"sharding-and-rate-limiting",level:2}],u={toc:c},p="wrapper";function d(e){let{components:t,...r}=e;return(0,n.kt)(p,(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"the-waku-network"},"The Waku Network"),(0,n.kt)("p",null,"The Waku Network Gen 0 is the first iteration of a public network for peer-to-peer messaging built on the Waku protocol stack. Its goal is to offer a permissionless, auto-scalable, DoS protected shared messaging layer for the decentralized web."),(0,n.kt)("h2",{id:"motive"},"Motive"),(0,n.kt)("p",null,"The Waku Network is a solution to achieve scalability and reasonable Denial of Service (DoS) protection, even when sharing a decentralised message routing layer with other applications. The Waku Network is actively addressing the challenge of scaling a shared routing layer, where each user participates in relaying traffic for all applications. As the adoption of Waku continues to grow, the bandwidth consumption skyrockets. Users with limited bandwidth capabilities are becoming increasingly marginalised and unable to participate fully in the Waku Relay network. "),(0,n.kt)("p",null,"The Waku Network also aims to mitigate the risk of users being susceptible to spam or DoS attacks that may occur when the network is fully accessible to all users and applications."),(0,n.kt)("p",null,"Waku\u2019s mission is to enable anyone across the globe to opt out of using applications built on centralised communication components, that\u2019s why Waku protocols are designed to work on even resource-restricted devices. Without finding a way to limit bandwidth consumption, the protocol would be at risk of not enabling this mission."),(0,n.kt)("h2",{id:"sharding-and-rate-limiting"},"Sharding and rate limiting"),(0,n.kt)("p",null,"There are two main technological advances that the Waku Network Gen 0 introduces which enable the public network:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Sharding;")),(0,n.kt)("p",null,"Instead of having one relay network, the Waku Network is split into several GossipSub topics so that the application user is not required to relay all of the applications\u2019 traffic but rather just the subset of traffic on the same shard. Auto-sharding will automatically allocate messages for an application and does not require a centralised allocator. "),(0,n.kt)("ol",{start:2},(0,n.kt)("li",{parentName:"ol"},"Rate limiting.")),(0,n.kt)("p",null,"Rate limiting prevents attackers from flooding the network beyond the maximum expected bandwidth usage. The RLN DoS protection caps publishers to 1 message per second with a 20-second grace period before additional messages are restricted. In the future, a dimensioning mechanism will give publishers a maximum allocation of messages per day, limiting the maximum rate of these messages within the overall network."))}d.isMDXComponent=!0}}]); |