775 판독값
775 판독값

Waku 네트워크: P2P 확장, 개인정보 보호에 초점을 맞춘 커뮤니케이션

~에 의해 Logos10m2024/02/27
Read on Terminal Reader

너무 오래; 읽다

Waku 네트워크는 P2P 메시징에 대한 서비스 거부(DoS) 보호를 제공하는 최초의 분산형 개인 정보 보호 네트워크입니다. 혁신적인 프로토콜과 기술을 구현하여 P2P 통신의 개인정보 보호와 보안을 강화하는 것을 목표로 합니다.
featured image - Waku 네트워크: P2P 확장, 개인정보 보호에 초점을 맞춘 커뮤니케이션
Logos HackerNoon profile picture

지난 12월, 우리는 Waku Network를 발표했습니다 .


Waku 네트워크는 P2P 메시징에 대한 서비스 거부(DoS) 보호를 제공하는 최초의 분산형 개인 정보 보호 네트워크입니다. 혁신적인 프로토콜과 기술을 구현하여 P2P 통신의 개인 정보 보호와 보안을 강화하는 것을 목표로 합니다.


Waku Network가 무엇인지, 왜 존재하는지 자세히 알아보세요.

기원

WakuStatus를 팔로우해 보신 분들이라면 아마도 Waku의 유래에 대해 잘 알고 계실 것입니다. Status 모바일 앱은 합의를 위한 Ethereum, 저장을 위한 Swarm, 통신을 위한 Whisper라는 세 가지 기본 원칙을 활용하는 Ethereum 생태계에 대한 포털인 web3 슈퍼 앱으로 만들어졌습니다.


Status 개발팀은 Whisper를 사용하여 Status를 구축하려고 시도했지만 이 프로토콜은 특히 휴대폰과 같이 리소스가 제한된 장치의 경우 근본적인 제한이 있었습니다. Waku는 Whisper의 후속 제품으로 탄생했으며, 모바일 및 브라우저에 적합한 확장 가능한 P2P 통신 네트워크를 제공하기 위해 결함을 학습했습니다.

과제/원하는 속성

Waku는 다음과 같은 과제를 극복하는 것을 목표로 합니다.

  • 일반화된 메시징: Waku는 임의의 페이로드 전송을 가능하게 하는 프로토콜과 네트워크를 제공하는 것을 목표로 합니다. Waku는 원래 채팅 애플리케이션인 Status를 위해 만들어졌지만 목표는 Waku에서 분산형 통신 또는 신호 애플리케이션을 구축할 수 있을 만큼 일반화하는 것입니다.


  • 임시 메시징: Waku는 한 명 또는 여러 명의 사용자가 작은 데이터 페이로드를 교환할 수 있도록 공정한 대기 시간을 제공하는 것을 목표로 하는 실시간 통신 문제를 해결하는 것을 목표로 합니다. 이는 대기 시간과 응답성을 희생하면서 대량의 데이터를 저장할 수 있는 방법을 제공하는 IPFS 또는 기타 분산형 스토리지 시스템과 대조됩니다.


  • 검열 저항: Waku는 외부 행위자가 사용자의 Waku 인프라 액세스를 차단할 수 없는 검열 저항 솔루션을 제공하는 것을 목표로 합니다. 그러나 앱 개발자가 왕국에 대한 열쇠와 사용자의 플랫폼을 탈피할 수 있는 능력이 없는 사악한 사고방식으로 앱을 구축할 수 있도록 하기 위한 것이기도 합니다.


  • 개인정보 보호: 앱 개발자가 사용자의 데이터 및 메타데이터 수집과 관련하여 악한 행위를 할 수 없다는 원칙에 따라 운영할 수 있는 기능을 제공합니다. 즉, 자신이나 제3자가 원하거나 압력을 받더라도 사용자로부터 소셜 그래프나 활동 패턴과 같은 메타데이터를 수집할 수 없다는 의미입니다.


  • 익명성: 개인정보 보호와 유사하게 이는 사용자가 개인 식별 정보(PII)를 Waku 네트워크 또는 네트워크를 사용하는 애플리케이션에서의 활동에 연결하지 않는 기능입니다. 여기서 고려되는 PII는 네트워크(IP 주소), 블록체인(예: 이더리움 주소) 및 라우팅(메시지 상관 관계)과 관련됩니다.


  • 리소스 제한 장치: 앞서 언급했듯이 Waku를 설계할 때 개발자가 이러한 플랫폼용 DApp을 구축하고 위에 나열된 속성을 최대한 많이 제공할 수 있도록 모바일 및 브라우저와 같은 환경을 고려하려는 노력이 이루어집니다.


  • 확장성: Waku는 위의 원칙을 유지하면서 수백만 명의 사용자를 지원하는 것을 목표로 합니다. 이는 신중하게 설계되고 테스트되어야 합니다.


위의 모든 속성은 Waku를 설계할 때 다른 문제를 극복해야 함을 의미합니다.

  • DOS 보호: 네트워크에 메시지가 넘쳐 리소스가 적은 사용자가 네트워크에서 부팅되는 것을 방지합니다.


  • 네트워크 지속 가능성 및 인센티브: 브라우저 및 모바일 장치와 같은 장치가 네트워크에 액세스할 수 있도록 네트워크에서 충분한 리소스를 어떻게 보장합니까?


  • 분산화: Waku는 이러한 속성을 활성화하기 위해 여러 수준에서 분산화되어야 합니다. 이러한 자산이 시간이 지나도 유지되도록 공정한 수준의 분산화를 어떻게 유지합니까?

와쿠 네트워크

Waku Network는 위의 속성을 제공하는 데 어떻게 도움이 됩니까?


네트워크에 결합된 다양한 Waku 프로토콜과 이를 통해 이러한 성과를 달성할 수 있는 방법을 검토해 보겠습니다.

동료 발견

P2P 시스템이 안정적이고 분산되려면 해당 시스템에서 일반적으로 피어 검색 이라고 하는 새로운 피어나 노드를 찾는 메커니즘이 있어야 합니다.


Waku는 Ethereum과 유사한 discv5를 사용합니다. Waku 노드가 광고할 수 있도록 ENR이 약간 개선되었습니다.


  • 그들이 운영 중인 샤드( 메시지 라우팅 - 샤딩 참조)
    • 그들이 활성화한 프로토콜

    • 예를 들어 브라우저가 WebSocket을 통해 해당 노드에 연결하기 위한 대체 다중 주소가 있을 수 있습니다.


Discv5는 분산형이므로 공격자가 네트워크에 대한 조작된 보기를 제공하기 위해 피해자의 노드를 둘러싸려고 시도하는 잠재적인 시빌 공격을 방지할 수 있습니다.


이는 익명성, 개인 정보 보호 및 검열 저항을 활성화하는 데 도움이 됩니다.


광고되는 서비스 프로토콜 덕분에 휴대폰과 브라우저는 이를 서비스할 수 있는 노드를 찾을 수 있습니다.

메시지 라우팅 - Gossipsub

Ethereum과 유사하게 Waku는 libp2p-gossipsub를 사용합니다. 이는 다음과 같은 몇 가지 이점을 제공합니다.

  • Whisper와 비교하여 향상된 대역폭 성능: gossipsub에서 노드는 메시지를 보내는 이웃 그룹(메시)을 형성합니다. 특정 노드는 연결을 유지하고 다른 노드와 적극적으로 메시지를 교환하려고 시도합니다. 각 메시지가 업로드되거나 다운로드되는 횟수를 줄입니다.


  • 신뢰성: gossipsub에는 중복성이 내장되어 있어 노드가 안정적이거나 선량하게 작동한다고 신뢰할 수 없는 분산형 P2P 네트워크에서 작동할 때 상당한 신뢰성을 제공합니다.


  • 익명성: 노드가 메시에 있는 다른 노드의 메시지를 전달하고 개별 메시지에 메타데이터가 존재하지 않기 때문에(예: 일반 텍스트 서명 없음) 관찰자가 이웃이 시작되었는지 또는 전달되었는지 알 수 없으므로 이는 공정한 익명성을 제공합니다. 메세지. 이는 discv5와 같은 분산형 피어 검색 메커니즘과 결합될 때 작동합니다.


우리는 Waku의 gossipsub 사용, 프로토콜 및 네트워크를 명명했습니다. 와쿠 릴레이.

메시지 라우팅 - 샤딩

Gossipsub의 단점 중 하나는 네트워크의 모든 노드가 약간의 증폭을 통해 네트워크의 모든 메시지를 수신하고 전송한다는 것입니다. 이것이 확장성을 어떻게 제한하는지 알 수 있습니다. 즉, 가정의 인터넷 연결에서 네트워크의 전체 트래픽을 트래픽할 것으로 기대할 수는 없습니다.


이 문제를 해결하기 위해 하나의 gossipsub 네트워크 대신 샤딩을 사용합니다. Waku 네트워크는 여러 개의 고유한 메시지 라우팅 하위 네트워크 또는 샤드로 세분화됩니다. 현재 Waku 네트워크는 8개의 샤드로 분할되어 있습니다. 이는 Waku 애플리케이션의 모든 사용자가 전체 네트워크의 1개 샤드 또는 (대략) 1/8의 트래픽만 중계한다는 것을 의미합니다.


8은 처음부터 작고 임의의 숫자였습니다. 우리의 이론적 분석에 따르면 샤드는 약 4Mbps의 평균 대역폭 요구 사항을 유지하면서 약 10,000명의 활성 사용자를 지원할 수 있으며 이는 전체 네트워크에 대해 80,000을 의미합니다.


우리는 가정을 확인하기 위해 추가 시뮬레이션을 실행하는 중입니다. 우리는 또한 이론을 테스트하기 위해 네트워크에 개발자와 사용자를 등록합니다. 목표는 시간이 지남에 따라 네트워크의 샤드 수를 늘리는 것입니다.


discv5의 향상된 기능 덕분에 노드는 연결하기 전에 다른 피어가 어떤 샤드를 서비스하고 있는지 알 수 있습니다.

메시지 라우팅 - 자동 샤딩

샤딩과 관련된 한 가지 문제는 사용자와 애플리케이션이 사용할 샤드를 알아야 한다는 것입니다.


하나의 애플리케이션은 사용할 샤드를 임의로 결정할 수 있지만, 특히 새 샤드를 추가할 때 많은 작업이 필요할 수 있습니다. 개발자가 내려야 할 또 하나의 결정이기도 합니다. 우리는 개발자 경험을 가능한 한 쉽게 만드는 것을 선호합니다. 또한 개발자는 샤드 선택을 사용자에게 위임하지 않고도 여러 샤드에 분산되는 애플리케이션을 구축할 수 있습니다.


자동 샤딩은 애플리케이션을 기반으로 샤드에 메시지를 전달하는 간단한 프로토콜입니다.

메시지 라우팅 - RLN 릴레이

Waku는 일반화되었으며 개인정보를 보호하므로 모든 종류의 페이로드를 전송할 수 있습니다. 따라서 "스팸"에 대한 엄격한 정의는 없습니다. 메시지에 밈이 포함되어 있든 비공개 DeFi에 대한 zk 메모가 포함되어 있든 Waku는 내용조차 알 수 없습니다. 메타데이터와 데이터는 비공개로 유지되어야 합니다.


따라서 누군가가 기가비트의 데이터를 네트워크에 전송할 위험이 있습니다. 이는 다양한 수준에서 문제가 될 수 있습니다.

  • 대역폭 사용량: 이로 인해 사용자의 대역폭이 부족해지고 다른 서비스(스트리밍, 스테이킹)에 영향을 미치거나 예상치 못한 요금이 청구될 수 있습니다.


  • 연결성: 노드에 gossipsub 계층의 모든 메시지를 보내고 받을 수 있는 대역폭이 충분하지 않은 경우 연결이 끊어진 다른 노드에서는 해당 동작이 잘못된 것으로 보일 수 있습니다.


  • 신뢰성: 트래픽이 사용 가능한 대역폭보다 높으면 노드가 안정적으로 메시지를 보내고 받지 못할 수 있습니다.


  • 기타 리소스: 메모리 사용량은 트래픽과 상관관계가 있으며 매장 서비스를 위한 디스크 공간도 마찬가지입니다.


따라서 "스팸" 메시지가 어떻게 생겼는지 정의하는 대신 샤드당 대역폭 사용량을 제한하여 Waku를 공정하게 사용할 수 있도록 네트워크에 속도 제한을 도입했습니다. 이는 특정 게시자가 보내는 메시지의 속도를 제한하는 RLN(Rate Limiting Nullifier)을 사용하여 수행됩니다. 현재 1msg/s로 설정되어 있습니다.


최대 메시지 크기(150kB) 및 최대 게시자 수(80k, TBD)를 결합하면 샤드당 최대 대역폭 사용량(약 10Mbps)을 가정할 수 있습니다.


검열에 저항하고 비공개적인 방식으로 게시자를 속도 제한하는 것은 어렵습니다. 이것이 바로 우리가 영지식 기술을 사용하는 이유입니다.

  1. 사용자는 자신의 RLN 자격 증명을 스마트 계약(현재 Ethereum Sepolia 테스트넷에 있음)에 푸시합니다.


  2. 노드는 계약에 등록된 모든 멤버십을 추적합니다.


  3. 메시지를 보낼 때 사용자는 현재 에포크(초 단위의 타임스탬프)가 포함된 메시지에 RLN 증명을 첨부합니다.


  4. 노드는 사용자의 이더리움 주소(스마트 계약에 사용됨)를 전송되는 메시지와 연관시키지 않고도 증거를 확인할 수 있어 익명성이 유지됩니다.


  5. 사용자가 초당 1개 이상의 메시지를 보내려고 시도하는 경우 노드는 이를 감지하고 메시지 과잉 또는 스팸을 삭제하여 네트워크를 보호할 수 있습니다.

대부분 오프라인 상태이고 리소스가 제한된 장치에 대한 서비스 제공

마지막으로 Waku는 휴대폰이나 웹 브라우저와 같이 리소스가 제한된 장치에 어떻게 유용합니까? Waku는 이러한 장치가 항상 온라인 상태이거나 막대한 양의 리소스를 소비하지 않고도 Waku 네트워크에 액세스할 수 있도록 여러 [요청-응답 프로토콜( https://rfc.vac.dev/spec/10/#requestreply-domain )]을 정의합니다. 대역폭, 즉 Waku Relay 네트워크에 참여하지 않습니다.


라이트 푸시 프로토콜(문서 링크)을 사용하면 라이트 클라이언트가 원격 노드로부터의 수신 승인을 받아 Waku Relay 네트워크로 전달할 메시지를 보낼 수 있습니다. 필터 프로토콜을 사용하면 라이트 클라이언트가 원격 피어를 구독하고 샤드에서 전송되는 모든 메시지 대신 메시지의 하위 집합만 요청할 수 있습니다.


마지막으로, 스토어 프로토콜을 사용하면 라이트 클라이언트릴레이 노드가 누락되었을 수 있는 기록 메시지를 검색할 수 있습니다.

Waku Network의 가치 제안

원하는 속성과 기술을 정의했지만 Waku Network의 잠재적인 사용 사례를 이해하는 것이 중요합니다. 이번 호에서는 현재 여러 USP(고유 가치 제안)에 대해 설명하고 있으며 해당 주제에 대해 더 자세히 문서화할 예정입니다. 기계 대 기계 또는 인간 대 인간 통신 앱을 구축하는 것 이상의 몇 가지 주목할만한 사용 사례는 다음과 같습니다.


  • No-Infra DApps: 다양한 분산 기술(Waku, Ethereum, IPFS)을 결합하여 중앙 호스팅 공급자에게 비용을 지불하지 않고 DApp을 배포합니다.


  • 라이트 클라이언트를 위한 분산형 네트워크에 대한 검열 방지 액세스: 요청-응답 프로토콜을 사용하여 라이트 클라이언트가 중앙 집중식 검열 가능한 웹 게이트웨이에 의존하지 않고도 P2P 네트워크에 액세스할 수 있도록 합니다.


  • 신호 네트워크: Waku 네트워크를 사용하여 다른 피어를 찾고 특정 매개변수를 협상하여 Waku 여부에 관계없이 다른 규칙(더 높은 속도 제한 등)이 있는 네트워크를 형성하기 위해 특정 매개변수를 협상합니다.

아직 공백 인가요?

우리는 Waku가 원하는 속성과 Waku Network가 이를 어떻게 제공하는지 설명했습니다. Waku가 검열에 저항하고 비공개이며 지속 가능하고 확장 가능하다는 뜻인가요? 좀 빠지는.


부트스트래핑은 우리가 다루지 않은 모든 P2P 네트워크의 구성 요소입니다. 새 노드가 네트워크에서 다른 노드를 어떻게 찾나요? 우리는 부트스트래핑(ENR + DNS Discovery)을 위해 Ethereum 기술을 사용합니다. 그러나 이 기술은 더욱 분산화될 수 있습니다. 우리는 2024년 말이나 2025년 말쯤에 이러한 잠재력을 개선할 계획입니다.


일반적으로 원하는 속성을 달성하려면 네트워크를 분산화해야 합니다. 기술 중 일부는 이러한 분산화를 가능하게 하지만(우리는 그렇지 않은 부분을 개선하기 위해 노력하고 있습니다), 이 문제에는 사회적 요소가 있습니다. Waku 팀이 노드를 실행하는 유일한 사람이라면 본질적으로 네트워크는 분산화되어 검열 저항성 등으로 간주될 수 없습니다.


이를 해결하려면 Waku 팀에 의존하지 않고 노드를 운영하는 노드 운영자 및 개발자의 좋은 기반을 구축할 수 있도록 Waku 네트워크 채택을 추진해야 합니다.


우리는 작년에 이러한 노력을 강화했으며 올해도 계속할 것입니다. 또 다른 측면은 노드 운영자에게 금전적 인센티브를 제공하여 노드를 운영함으로써 네트워크가 자립 가능해질 수 있도록 하는 것입니다. 우리에게는 그러한 프로토콜이 없습니다. 우리는 첫 번째 PoC를 구축하고 있습니다.


여기서 Waku Network가 중요한 역할을 합니다. 이러한 프로토콜이 사용 가능해지면 개발자/사용자 및 운영자가 서로를 찾을 수 있는 공통(시장) 장소가 필요합니다. Waku Network가 바로 그런 곳이겠지요.

결론

Waku는 특정 속성과의 주권적 통신을 가능하게 하는 것을 목표로 합니다. Waku 네트워크는 이러한 목표를 달성하고 개발자가 구축할 수 있는 공통의 분산형 네트워크를 만드는 데 중요한 이정표이며 더 많은 프로토콜을 추가할 수 있습니다. Waku가 오늘날의 목표 전부라고 말할 수는 없지만, 이미 허가가 없고 여러 계층에 분산되어 있습니다.


우리는 이제 프로토콜에 누락된 부분을 추가하는 것뿐만 아니라 Waku의 채택을 추진하여 사실상 분산화하여 모든 사람이 개인 및 검열에 저항할 수 있도록 노력하고 있습니다.


수백만 명의 사용자에게 P2P 통신을 제공하는 데 초점을 맞춘 같은 생각을 가진 커뮤니티에 가입하고 싶다면 Waku Discord 에 가입하거나 X 에서 우리를 팔로우하세요.


월간 뉴스레터 에 등록하시면 받은 편지함에서 바로 뉴스를 받아보실 수 있습니다.


기술이 당신에게 도움이 된다면 채용 공고를 확인하거나 포상금을 받으세요.

또한 자신만의 Waku 노드를 실행하여 분산화를 유지하는 데 도움을 줄 수도 있습니다!

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks