탈중앙화 통신 프로토콜 Push Protocol에 대한 자세한 설명
원문 제목:《Buidler DAO:Push Protocol이 web3 통신의 공백을 어떻게 메우는가》
저자:JasonChen、Rui,Buidler DAO
서론
Push Protocol은 Web3의 탈중앙화 통신 프로토콜로, 모든 스마트 계약, dApp, 심지어 전통 서비스가 지갑 주소로 알림을 보낼 수 있게 합니다. 물론 이 지갑 주소가 이러한 채널의 메시지를 수신하기로 선택해야 합니다. Web3의 모든 장면에 적용될 수 있으며, DeFi의 자산 청산, ens의 도메인 만료, 미디어의 뉴스 푸시 등 다양한 분야에서 활용됩니다. 현재 6만 명의 구독자에게 1,770만 건의 메시지를 전송했으며, 탈중앙화 통신 분야의 선두 프로젝트입니다.
이름과 포지셔닝의 변화
2022년 9월 이전 PUSH의 이름은 EPNS였으며, 이는 "이더리움 메시지 알림 서비스"를 의미합니다. 이름에서 알 수 있듯이, 그 이전에는 이더리움에 초점을 맞춘 프로젝트였으며, 그 당시에는 서비스가 아닌 프로토콜로 자신을 포지셔닝했습니다. 따라서 이 오래된 이름은 이더리움, 메시지 알림 및 서비스라는 3부분으로 나눌 수 있습니다. 새로운 이름은 이 세 부분을 깨뜨렸습니다. Polygon 등 다른 체인을 지원하기 시작하면서 이더리움을 넘어 다른 L1 및 L2로 확장하게 되었고, 응용 장면도 알림에 국한되지 않고 모든 메시지 푸시 장면으로 확대되었습니다. 마지막으로 다중 체인과 다중 장면을 지원함으로써 특정 서비스가 아닌 프로토콜이 되었기 때문에 EPNS라는 이름을 계속 사용하는 것은 자신의 비즈니스와 브랜드를 제한하게 됩니다. 그래서 Push Protocol로 이름을 변경했습니다.
왜 탈중앙화 통신 프로토콜이 필요한가
메시지 푸시는 전통적인 Web2의 모든 측면에 통합되었습니다. IM 채팅, 뉴스, 다양한 마케팅 정보, 알림 등 다양한 분야에서 이미 매우 성숙해졌습니다. 그러나 Web3에서는 메시지 푸시 기능을 갖춘 Dapp을 사용하는 경우가 드뭅니다. 알림의 필요는 대부분 이메일로 해결되고 있으며, 주요 원인은 다음과 같습니다:
- 현재 Dapp의 대부분은 PC 웹 형태로, 모바일 단말의 발전이 매우 느립니다. 메시지 푸시는 즉시성이 요구되므로 모바일 단말의 부재는 메시지 푸시 장면의 발전을 제약합니다. 반면 Web2는 모바일 인터넷이 등장한 후에야 메시지 푸시가 광범위하게 적용되었습니다.
- Web3의 기반 레이어에서 메시지 푸시는 현재 확실히 발전이 더딘 분야입니다. 성숙한 솔루션이 많지 않습니다.
그럼에도 불구하고 Web3에는 여전히 많은 메시지 푸시가 필요한 장면이 있습니다. 예를 들어 DeFi 가격 변동, 투표 결과 알림 등과 같은 경우가 있으며, Lens Protocol과 같은 소셜 프로토콜 제품도 Push Protocol을 통합했습니다. 사용자 간의 관심, 좋아요 등도 많은 알림 장면이 존재하며, CoinDesk도 통합하여 CoinDesk 블로그에 새 기사가 게시될 때마다 사용자에게 알림을 보내어 업계 동향을 빠르게 파악할 수 있도록 합니다. 따라서 Web3의 발전에 따라 메시지 푸시 장면은 점점 더 많아질 것입니다.
Web2와 PUSH 메시지 푸시 논리 비교
모든 사람의 스마트폰은 매일 많은 APP에서 메시지를 받습니다. 여기에는 소셜 미디어의 친구 메시지, 뉴스 매체의 헤드라인 사건, 전자상거래 플랫폼의 할인 혜택 등이 포함됩니다. 이들은 어떻게 구현될까요? 아래 그림은 iPhone에서 APP이 스마트폰에 메시지를 보내는 프로세스를 보여줍니다. 핵심은 APNS(Apple Push Notification Service)라는 중개 서비스로, 3단계로 나뉩니다:
단계 1: 상류 프로젝트가 보낼 메시지와 수신할 iPhone 식별자를 패키징하여 APNS에 보냅니다.
단계 2: APNS는 Push 서비스에 등록된 iPhone 목록에서 해당 식별자가 있는 iPhone을 찾아 메시지를 iPhone으로 보냅니다.
단계 3: iPhone은 수신한 메시지를 애플리케이션에 전달하고 설정에 따라 Push 알림을 표시합니다.
아래 그림은 Push Protocol의 원리입니다. 구조적으로 Web2의 APNS와 일치하며, 최상위의 dapp, 서버 및 스마트 계약의 세 가지가 입력 레이어에 위치합니다. 즉, 메시지가 생성되는 출처로, 메시지를 Push Protocol에 전달한 후 내부의 노드는 프로토콜 스마트 계약의 이벤트를 청취하고 메시지를 해당 수신자에게 중개합니다.
간단히 말해, 계약, 백엔드 서비스 등 상류에서 메시지 푸시가 필요한 곳에 EPNS 코드를 삽입하고 해당 메시지 내용을 전달하면 Push Protocol이 이 메시지를 해당 주소로 전달합니다. 물론 하류에는 메시지를 수신하고 표시할 프론트엔드가 필요합니다. Push Protocol은 프로토콜 레이어로서 메시지 배포 과정만 담당하며, 사용자 편의를 위해 플러그인 형태의 메시지 박스를 제공하여 Push Protocol을 통해 수신한 메시지도 그 안에 표시됩니다.
PUSH의 구조: 사용자, 채널, 구독자
Push Protocol에는 주로 3가지 개념이 있습니다: 사용자, 채널 및 구독자.
- 사용자: EPNS 내의 모든 개체를 지칭하며, 계약, 지갑, 개인 등이 포함됩니다.
- 채널: Push Protocol에 등록된 메시지 발신자이며, 사용자는 채널을 구독해야 해당 메시지를 받을 수 있습니다.
- 구독자: 구독 행동을 발생시킨 사용자입니다.
아래 그림과 같이 Push Protocol의 운영 대시보드를 열고 channels 항목을 클릭하면 많은 채널이 나타납니다. 이 채널들은 사용자가 생성한 메시지 발신자입니다.
저는 특정 채널에 가입하거나 탈퇴할 수 있으며, 가입할 때는 해당 채널의 구독자가 되기 위해 서명을 해야 합니다. 서명이 완료되면 채널 내에서 발생하는 메시지가 제 지갑 주소로 전송됩니다. 사용자는 언제든지 구독을 취소할 수 있으므로, 사용자는 메시지 수신 권한을 절대적으로 보유하며, 스팸 메시지에 대한 걱정이 필요 없고, 채널이 알림을 보내려면 비용을 부담해야 하며, ETH 또는 DAI로 지불해야 합니다. 이는 일정 부분 스팸 메시지의 전송을 방지할 수 있습니다.
현재 채널의 다양성이 매우 강하며, 거의 대부분의 주요 Web3 제품과 프로토콜인 Snapshot, MakerDAO 등이 입주해 있으며, 심지어 연재 소설도 입주했습니다. 따라서 Push Protocol의 응용 장면은 상상할 수 있는 공간이 매우 큽니다.
채널이 되기 위해서는 50 $PUSH를 스테이킹해야 하며, 그 중 10 $PUSH는 계약 생성의 프로토콜 비용으로 사용되고, 나머지 토큰은 채널 소유자의 계약 풀에 저장됩니다. 채널이 중단되면 풀의 토큰은 반환됩니다.
채널은 3가지 유형의 메시지를 발송할 수 있습니다: 브로드캐스트 알림, 타겟 알림 및 서브셋 알림.
브로드캐스트 알림: 한 번에 메시지를 해당 채널의 모든 구독자에게 전송합니다.
타겟 알림: 특정 지갑 주소로 전송할 수 있으며, 물론 그들이 해당 채널을 구독해야 합니다.
서브셋 알림: 타겟 알림의 변형으로, 특정 그룹의 구독자에게 알림을 보냅니다.
PUSH Protocol 통합 방법
Push Protocol은 스마트 계약, PUSH dApp, SDK 등 다양한 방법으로 메시지를 전송할 수 있으며, 스마트 계약을 예로 들어보겠습니다. 먼저 IPUSHCommInterface 계약 인터페이스를 가져와야 합니다.
그리고 채널의 주소를 정의합니다. 각 사용자가 생성한 채널은 고유한 채널 주소가 할당되며, 수신 주소를 설정할 수 있습니다. 특정 구독 주소를 지정할 수도 있고, 모든 구독자가 수신하는 브로드캐스트 모드로 직접 설정할 수도 있습니다.
이렇게 하면 계약 코드가 해당 위치에 도달했을 때 메시지 내용을 트리거할 수 있으며, Push Protocol의 노드가 내용을 중개합니다. 메시지가 발송된 후, 하류에서는 메시지를 수신하고 표시해야 하며, Push Protocol은 세 가지 수신 방법을 제공합니다.
수신한 메시지 데이터 형식은 다음과 같으며, 메시지 수신 주소, 메시지 내용, 유형 등의 정보를 포함합니다.
이 외에도 Push Protocol은 자체 Web3 네이티브 채팅 소프트웨어를 개발했습니다. 아래 그림과 같이 텍스트, 이모지, 첨부 파일의 내용을 전송할 수 있으며, 이 채팅 기능은 SDK 통합을 지원하여 어떤 dapp도 접속하여 네이티브 Web3 채팅 기능을 갖출 수 있습니다.
미래의 중요한 발전 방향
PUSH는 모든 dApp, 스마트 계약, 백엔드, 프로토콜, 심지어 모든 분산 기술이 사용자 지갑 주소와 직접 통신할 수 있도록 허용합니다. 현재 PUSH의 협력자는 각 중요한 분야에 걸쳐 있습니다:
DeFi는 PUSH를 통해 거래 관련 정보를 전송합니다: 탈중앙화 금융 활동은 Web3의 주체입니다. PUSH의 활용 장면은 다음과 같습니다: 일상 상태에서 사용자 교육 및 최신 동향과 풀에 대한 정보를 발송하고, 긴급 상태에서는 대출이나 담보가 청산에 가까워질 때 PUSH를 통해 사용자에게 행동을 취하도록 알립니다. 활동에 참여할 때는 사용자에게 상금 풀의 변화 및 수상 상황 등을 알릴 수 있습니다.
DAO 조직은 PUSH를 통해 거버넌스 및 투표를 진행합니다: 탈중앙화 자치 조직은 일상적으로 많은 제안, 투표, 공시가 필요합니다. 그러나 Discord와 같은 플랫폼을 사용할 경우, 사람들은 중요한 정보를 차단하거나 무시하는 경향이 있습니다. PUSH를 사용하면 사용자에게 DAO 거버넌스에 참여하도록 엔드 투 엔드로 알릴 수 있습니다.
GameFi는 PUSH를 통해 사용자 인센티브를 제공합니다: 플레이어와 플랫폼은 직접 통신할 수 있으며, PUSH를 통해 모든 NFT 에어드롭, 보상, 업그레이드 진행 상황을 알림으로 제공하여 사용자를 유도하고 유지할 수 있습니다.
데이터 분석 프로토콜은 PUSH와 결합하여 더 신속한 사용자 알림을 제공합니다: 시장에는 많은 Web3 데이터 분석 프로토콜이 있으며, PUSH와 결합하여 사용자는 자신의 요구를 직접 정의할 수 있습니다. 예를 들어, 집계 거래 플랫폼의 특정 NFT 거래량을 추적하거나, sushiswap의 스왑 및 페어를 읽거나, 특정 NFT의 바닥가가 하락할 때 알림을 받을 수 있습니다.
결론적으로, 모든 중요한 ToC 분야에서 PUSH가 자리 잡을 수 있는 가능성이 있습니다. 예를 들어, 법률 계약 서명 시 진행 상황을 실시간으로 알리거나, 거래소 파산 사건이 발생했을 때 사용자에게 즉시 알리거나, 안전 계약 감사 결과를 커뮤니티에 직접 방송하는 등의 상황이 있습니다.
2년의 발전을 거쳐 Push Protocol은 메시지 푸시 분야의 선두 프로젝트가 되었으며, Web3 산업에서 필수적인 중요한 인프라가 되었습니다. 앞으로 PUSH가 크로스 체인 엔드 투 엔드 통신에서 발전하기를 바라며, Buidler DAO도 Web3의 통신 경로에서 그 발전을 지원할 것입니다.