"use strict";(self.webpackChunkvac_dev=self.webpackChunkvac_dev||[]).push([[4991],{61356:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const i={layout:"post",name:"Privacy-preserving p2p economic spam protection in Waku v2",title:"Privacy-preserving p2p economic spam protection in Waku v2",date:new Date("2021-03-05T12:00:00.000Z"),authors:"sanaz",published:!0,slug:"rln-relay",categories:"reserach",image:"/img/rain.png",discuss:"https://forum.vac.dev/t/privacy-preserving-p2p-economic-spam-protection-in-waku-v2-with-rate-limiting-nullfiers/66",toc_min_heading_level:2,toc_max_heading_level:5},o=void 0,s={permalink:"/rlog/rln-relay",source:"@site/rlog/2021-03-03-rln-relay.mdx",title:"Privacy-preserving p2p economic spam protection in Waku v2",description:"This post is going to give you an overview of how spam protection can be achieved in Waku Relay through rate-limiting nullifiers. We will cover a summary of spam-protection methods in centralized and p2p systems, and the solution overview and details of the economic spam-protection method. The open issues and future steps are discussed in the end.",date:"2021-03-05T12:00:00.000Z",formattedDate:"March 5, 2021",tags:[],readingTime:20.775,hasTruncateMarker:!0,authors:[{name:"Sanaz",twitter:"sanaz2016",github:"staheri14",key:"sanaz"}],frontMatter:{layout:"post",name:"Privacy-preserving p2p economic spam protection in Waku v2",title:"Privacy-preserving p2p economic spam protection in Waku v2",date:"2021-03-05T12:00:00.000Z",authors:"sanaz",published:!0,slug:"rln-relay",categories:"reserach",image:"/img/rain.png",discuss:"https://forum.vac.dev/t/privacy-preserving-p2p-economic-spam-protection-in-waku-v2-with-rate-limiting-nullfiers/66",toc_min_heading_level:2,toc_max_heading_level:5},prevItem:{title:"Presenting JS-Waku: Waku v2 in the Browser",permalink:"/rlog/presenting-js-waku"},nextItem:{title:"[Talk] Vac, Waku v2 and Ethereum Messaging",permalink:"/rlog/waku-v2-ethereum-messaging"}},c={authorsImageUrls:[void 0]},p=[],l={toc:p};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"This post is going to give you an overview of how spam protection can be achieved in Waku Relay through rate-limiting nullifiers. We will cover a summary of spam-protection methods in centralized and p2p systems, and the solution overview and details of the economic spam-protection method. The open issues and future steps are discussed in the end."))}u.isMDXComponent=!0},3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>v});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=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))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=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])}return a}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),m=p(r),v=a,d=m["".concat(c,".").concat(v)]||m[v]||u[v]||i;return r?n.createElement(d,o(o({ref:t},l),{},{components:r})):n.createElement(d,o({ref:t},l))}));function v(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var p=2;p<i;p++)o[p]=r[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"}}]);