Files
research.logos.co/assets/js/91ce8bda.fd1cd27b.js
2026-02-13 14:54:16 +00:00

1 line
14 KiB
JavaScript

"use strict";(self.webpackChunkresearch_logos_co=self.webpackChunkresearch_logos_co||[]).push([[3926],{28453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var i=n(96540);const o={},r=i.createContext(o);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:t},e.children)}},60280:e=>{e.exports=JSON.parse('{"permalink":"/rlog/future-of-waku-network","source":"@site/rlog/2023-04-03-waku-as-a-network.mdx","title":"The Future of Waku Network: Scaling, Incentivization, and Heterogeneity","description":"Learn how the Waku Network is evolving through scaling, incentivization, and diverse ecosystem development and what the future might look like.","date":"2023-04-03T00:00:00.000Z","tags":[],"readingTime":5.755,"hasTruncateMarker":true,"authors":[{"name":"Franck","twitter":"fryorcraken","github":"fryorcraken","key":"franck","page":null}],"frontMatter":{"layout":"post","name":"The Future of Waku Network: Scaling, Incentivization, and Heterogeneity","title":"The Future of Waku Network: Scaling, Incentivization, and Heterogeneity","date":"2023-04-03T00:00:00.000Z","authors":"franck","published":true,"slug":"future-of-waku-network","categories":"platform, operator, network","image":"/img/black-waku-logo-with-name.png","discuss":"https://forum.research.logos.co/t/discussion-the-future-of-waku-network-scaling-incentivization-and-heterogeneity/173","hide_table_of_contents":false},"unlisted":false,"prevItem":{"title":"Device Pairing in Js-waku and Go-waku","permalink":"/rlog/device-pairing-in-js-waku-and-go-waku"},"nextItem":{"title":"Waku for All Decentralized Applications and Infrastructures","permalink":"/rlog/waku-for-all"}}')},60971:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var i=n(60280),o=n(74848),r=n(28453);const s={layout:"post",name:"The Future of Waku Network: Scaling, Incentivization, and Heterogeneity",title:"The Future of Waku Network: Scaling, Incentivization, and Heterogeneity",date:new Date("2023-04-03T00:00:00.000Z"),authors:"franck",published:!0,slug:"future-of-waku-network",categories:"platform, operator, network",image:"/img/black-waku-logo-with-name.png",discuss:"https://forum.research.logos.co/t/discussion-the-future-of-waku-network-scaling-incentivization-and-heterogeneity/173",hide_table_of_contents:!1},a=void 0,l={authorsImageUrls:[void 0]},c=[{value:"DOS Mitigation for Status Communities",id:"dos-mitigation-for-status-communities",level:2},{value:"A Heterogeneous Waku Network",id:"a-heterogeneous-waku-network",level:2},{value:"Reversing the Incentivization Question",id:"reversing-the-incentivization-question",level:3},{value:"RLN and Service Credentials",id:"rln-and-service-credentials",level:3},{value:"Waku Network: Ethereum or Cosmos?",id:"waku-network-ethereum-or-cosmos",level:2},{value:"Scalability and Discovery Protocols",id:"scalability-and-discovery-protocols",level:2},{value:"Open Problems",id:"open-problems",level:2},{value:"The Evolving Waku Network",id:"the-evolving-waku-network",level:2},{value:"References",id:"references",level:2}];function h(e){const t={a:"a",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Learn how the Waku Network is evolving through scaling, incentivization, and diverse ecosystem development and what the future might look like."}),"\n","\n",(0,o.jsx)(t.p,{children:"Waku is preparing for production with a focus on the Status Communities use case. In this blog post, we will provide an\noverview of recent discussions and research outputs, aiming to give you a better understanding of how the Waku network\nmay look like in terms of scaling and incentivization."}),"\n",(0,o.jsx)(t.h2,{id:"dos-mitigation-for-status-communities",children:"DOS Mitigation for Status Communities"}),"\n",(0,o.jsxs)(t.p,{children:["Waku is actively exploring DOS mitigation mechanisms suitable for Status Communities. While RLN\n(Rate Limiting Nullifiers) remains the go-to DOS protection solution due to its privacy-preserving and\ncensorship-resistant properties, there is still more work to be done. We are excited to collaborate with PSE\n(Privacy & Scaling Explorations) in this endeavor. Learn more about their latest progress in this ",(0,o.jsx)(t.a,{href:"https://twitter.com/CPerezz19/status/1640373940634939394?s=20",children:"tweet"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"a-heterogeneous-waku-network",children:"A Heterogeneous Waku Network"}),"\n",(0,o.jsxs)(t.p,{children:["As we noted in a previous ",(0,o.jsx)(t.a,{href:"https://forum.research.logos.co/t/waku-payment-models/166/3",children:"forum post"}),", Waku's protocol\nincentivization model needs to be flexible to accommodate various business models. Flexibility ensures that projects\ncan choose how they want to use Waku based on their specific needs."]}),"\n",(0,o.jsx)(t.h3,{id:"reversing-the-incentivization-question",children:"Reversing the Incentivization Question"}),"\n",(0,o.jsx)(t.p,{children:'Traditionally, the question of incentivization revolves around how to incentivize operators to run nodes. We\'d like to\nreframe the question and instead ask, "How do we pay for the infrastructure?"'}),"\n",(0,o.jsx)(t.p,{children:"Waku does not intend to offer a free lunch.\nEthereum's infrastructure is supported by transaction fees and inflation, with validators receiving rewards from both sources.\nHowever, this model does not suit a communication network like Waku.\nUsers and platforms would not want to pay for every single message they send. Additionally, Waku aims to support instant\nephemeral messages that do not require consensus or long-term storage."}),"\n",(0,o.jsx)(t.p,{children:'Projects that use Waku to enable user interactions, whether for chat messages, gaming, private DeFi, notifications, or\ninter-wallet communication, may have different value extraction models. Some users might provide services for the\nproject and expect to receive value by running nodes, while others may pay for the product or run infrastructure to\ncontribute back. Waku aims to support each of these use cases, which means there will be various ways to "pay for the\ninfrastructure."'}),"\n",(0,o.jsxs)(t.p,{children:["In ",(0,o.jsx)(t.a,{href:"https://research.logos.co/building-privacy-protecting-infrastructure",children:"his talk"}),", Oskar addressed two strategies: RLN and service credentials."]}),"\n",(0,o.jsx)(t.h3,{id:"rln-and-service-credentials",children:"RLN and Service Credentials"}),"\n",(0,o.jsx)(t.p,{children:"RLN enables DOS protection across the network in a privacy-preserving and permission-less manner: stake in a contract,\nand you can send messages."}),"\n",(0,o.jsx)(t.p,{children:"Service credentials establish a customer-provider relationship. Users might pay to have messages they are interested in\nstored and served by a provider. Alternatively, a community owner could pay a service provider to host their community."}),"\n",(0,o.jsx)(t.p,{children:"Providers could offer trial or limited free services to Waku users, similar to Slack or Discord. Once a trial is expired or outgrown,\na community owner could pay for more storage or bandwidth, similar to Slack's model.\nAlternatively, individual users could contribute financially, akin to Discord's Server Boost, or by sharing their own\nresources with their community."}),"\n",(0,o.jsx)(t.p,{children:"We anticipate witnessing various scenarios across the spectrum: from users sharing resources to users paying for access to the network and everything in between."}),"\n",(0,o.jsx)(t.h2,{id:"waku-network-ethereum-or-cosmos",children:"Waku Network: Ethereum or Cosmos?"}),"\n",(0,o.jsx)(t.p,{children:"Another perspective is to consider whether the Waku network will resemble Ethereum or Cosmos."}),"\n",(0,o.jsx)(t.p,{children:"For those not familiar with the difference between both, in a very concise manner:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Ethereum is a set of protocols and software that are designed to operate on one common network and infrastructure"}),"\n",(0,o.jsx)(t.li,{children:"Cosmos is a set of protocols and software (SDKs) designed to be deployed in separate yet interoperable networks and infrastructures by third parties"}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"We want Waku to be decentralized to provide censorship resistance and privacy-preserving communication.\nIf each application has to deploy its own network, we will not achieve this goal.\nTherefore, we aim Waku to be not only an open source set of protocols, but also a shared infrastructure that anyone can leverage to build applications on top, with some guarantees in terms of decentralization and anonymity.\nThis approach is closer in spirit to Ethereum than Cosmos.\nDo note that, similarly to Ethereum, anyone is free to take Waku software and protocols and deploy their own network."}),"\n",(0,o.jsx)(t.p,{children:"Yet, because of the difference in the fee model, the Waku Network is unlikely to be as unified as Ethereum's.\nWe currently assume that there will be separate gossipsub networks with different funding models.\nSince there is no consensus on Waku, each individual operator can decide which network to support, enabling Waku to maintain its permission-less property."}),"\n",(0,o.jsx)(t.p,{children:"Most likely, the Waku network will be heterogeneous, and node operators will choose the incentivization model they prefer."}),"\n",(0,o.jsx)(t.h2,{id:"scalability-and-discovery-protocols",children:"Scalability and Discovery Protocols"}),"\n",(0,o.jsx)(t.p,{children:"To enable scalability, the flow of messages in the Waku network will be divided in shards,\nso that not every node has to forward every message of the whole network.\nDiscovery protocols will facilitate users connecting to the right nodes to receive the messages they are interested in."}),"\n",(0,o.jsx)(t.p,{children:"Different shards could be subject to a variety of rate limiting techniques (globally, targeted to that shard or something in-between)."}),"\n",(0,o.jsx)(t.p,{children:"Marketplace protocols may also be developed to help operators understand how they can best support the network and where\ntheir resources are most needed. However, we are still far from establishing or even assert that such a marketplace will be needed."}),"\n",(0,o.jsx)(t.h2,{id:"open-problems",children:"Open Problems"}),"\n",(0,o.jsx)(t.p,{children:"Splitting traffic between shards reduces bandwidth consumption for every Waku Relay node.\nThis improvement increases the likelihood that users with home connections can participate and contribute to the gossipsub network without encountering issues."}),"\n",(0,o.jsx)(t.p,{children:"However, it does not cap traffic.\nThere are still open problems regarding how to guarantee that someone can use Waku with lower Internet bandwidth or run critical services, such as a validation node, on the same connection."}),"\n",(0,o.jsx)(t.p,{children:"We have several ongoing initiatives:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["Analyzing the Status Community protocol to confirm efficient usage of Waku ",(0,o.jsx)(t.a,{href:"https://github.com/vacp2p/research/issues/177",children:"[4]"})]}),"\n",(0,o.jsxs)(t.li,{children:["Simulating the Waku Network to measure actual bandwidth usage ",(0,o.jsx)(t.a,{href:"https://github.com/waku-org/pm/issues/2",children:"[5]"})]}),"\n",(0,o.jsxs)(t.li,{children:["Segregating chat messages from control and media messages ",(0,o.jsx)(t.a,{href:"https://github.com/waku-org/specs/blob/master/standards/core/relay-sharding.md/#control-message-shards",children:"[6]"})]}),"\n"]}),"\n",(0,o.jsx)(t.p,{children:"The final solution will likely be a combination of protocols that reduce bandwidth usage or mitigate the risk of DOS attacks, providing flexibility for users and platforms to enable the best experience."}),"\n",(0,o.jsx)(t.h2,{id:"the-evolving-waku-network",children:"The Evolving Waku Network"}),"\n",(0,o.jsx)(t.p,{children:'The definition of the "Waku Network" will likely change over time. In the near future, it will transition from a single\ngossipsub network to a sharded set of networks unified by a common discovery layer. This change will promote scalability\nand allow various payment models to coexist within the Waku ecosystem.'}),"\n",(0,o.jsx)(t.p,{children:"In conclusion, the future of Waku Network entails growth, incentivization, and heterogeneity while steadfastly\nmaintaining its core principles. As Waku continues to evolve, we expect it to accommodate a diverse range of use cases\nand business models, all while preserving privacy, resisting censorship, avoiding surveillance, and remaining accessible\nto devices with limited resources."}),"\n",(0,o.jsx)(t.h2,{id:"references",children:"References"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/waku-org/specs/blob/master/standards/core/relay-sharding.md",children:"WAKU2-RELAY-SHARDING"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://rfc.vac.dev/status/raw/simple-scaling",children:"57/STATUS-Simple-Scaling"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://rfc.vac.dev/vac/raw/rln-v2",children:"RLN-V2"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/vacp2p/research/issues/177",children:"Scaling Status Communities: Potential Problems"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/waku-org/pm/issues/2",children:"Waku Network Testing"})}),"\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"https://github.com/waku-org/specs/blob/master/standards/core/relay-sharding.md/#control-message-shards",children:"WAKU2-RELAY-SHARDING: Control Message Shards"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}}}]);