"use strict";(self.webpackChunkwaku_guide=self.webpackChunkwaku_guide||[]).push([[8319],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>h});varn=r(67294);functiona(e,t,r){returntine?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}functioni(e,t){varr=Object.keys(e);if(Object.getOwnPropertySymbols){varn=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){returnObject.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}returnr}functiono(e){for(vart=1;t<arguments.length;t++){varr=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}returne}functions(e,t){if(null==e)return{};varr,n,a=function(e,t){if(null==e)return{};varr,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);returna}(e,t);if(Object.getOwnPropertySymbols){vari=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}returna}varc=n.createContext({}),l=function(e){vart=n.useContext(c),r=t;returne&&(r="function"==typeofe?e(t):o(o({},t),e)),r},p=function(e){vart=l(e.components);returnn.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){vart=e.children;returnn.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){varr=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(r),m=a,h=u["".concat(c,".").concat(m)]||u[m]||d[m]||i;returnr?n.createElement(h,o(o({ref:t},p),{},{components:r})):n.createElement(h,o({ref:t},p))}));functionh(e,t){varr=arguments,a=t&&t.mdxType;if("string"==typeofe||a){vari=r.length,o=newArray(i);o[0]=m;vars={};for(varcint)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[u]="string"==typeofe?e:a,o[1]=s;for(varl=2;l<i;l++)o[l]=r[l];returnn.createElement.apply(null,o)}returnn.createElement.apply(null,r)}m.displayName="MDXCreateElement"},40029:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});varn=r(87462),a=(r(67294),r(3905));consti={title:"Research",hide_table_of_contents:!0},o=void0,s={unversionedId:"learn/research",id:"learn/research",title:"Research",description:"The following features are currently experimental and under research and initial implementation:",source:"@site/docs/learn/research.md",sourceDirName:"learn",slug:"/learn/research",permalink:"/learn/research",draft:!1,editUrl:"https://github.com/waku-org/docs.waku.org/tree/develop/docs/learn/research.md",tags:[],version:"current",lastUpdatedAt:1715880135,formattedLastUpdatedAt:"16 May 2024",frontMatter:{title:"Research",hide_table_of_contents:!0},sidebar:"learn",previous:{title:"Security Features",permalink:"/learn/security-features"},next:{title:"Comparing Waku and libp2p",permalink:"/learn/waku-vs-libp2p"}},c={},l=[{value:"Economic spam resistance",id:"economic-spam-resistance",level:2},{value:"Prevention of denial of service (DoS) and node incentivisation",id:"prevention-of-denial-of-service-dos-and-node-incentivisation",level:2}],p={toc:l},u="wrapper";functiond(e){let{components:t,...r}=e;return(0,a.kt)(u,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"The following features are currently experimental and under research and initial implementation:"),(0,a.kt)("h2",{id:"economic-spam-resistance"},"Economic spam resistance"),(0,a.kt)("p",null,"We aim to enable an incentivised spam protection technique to enhance ",(0,a.kt)("inlineCode",{parentName:"p"},"Relay")," by using ",(0,a.kt)("a",{parentName:"p",href:"https://rfc.vac.dev/vac/32/rln-v1/"},"Rate Limit Nullifiers (RLN)"),".Inthisadvancedmethod,peersarelimitedtoacertainmessagingrateperepoch,andanimmediatefinancialpenaltyisenforcedforspammerswhobreakthis