一文詳解去中心化通信プロトコル Push Protocol
原文标题:《Buidler DAO:Push Protocol が Web3 コミュニケーションの空白を埋める方法》
作者:JasonChen、Rui,Buidler DAO
前言
Push Protocol は Web3 の分散型通信プロトコル であり、任意のスマートコントラクト、dApp、さらには従来のサービスがウォレットアドレスに通知を送信できるようにします。もちろん、これらのウォレットアドレスがこれらのチャネルのメッセージを受信することを選択することが前提です。Web3 の全シーンに適用可能であり、DeFi の資産清算、ENS のドメインの期限切れ、メディアのニュースプッシュなどを含み、現在は 6 万人の購読者に 1770 万件のメッセージを送信しています。これは分散型通信分野のトッププロジェクトです。
名称とポジショニングの変更
2022 年 9 月以前、PUSH の名前は EPNS であり、中国語の意味は「イーサリアムメッセージ通知サービス」です。この名前から、以前はイーサリアムに特化したプロジェクトであり、その時点での自らのポジショニングはプロトコルではなくサービスであったことがわかります。この古い名前は 3 つの部分に分解されます:イーサリアム、メッセージ通知、サービス。新しい名前はこれらの 3 つの部分を打破しました。Polygon など他のチェーンをサポートし始めることで、イーサリアムから他の L1 および L2 へと突破し、通知に限らずすべてのメッセージプッシュシーンに適用されるようになりました。 最後に、マルチチェーンとマルチシーンをサポートするため、特定のサービスではなくプロトコルとなったため、EPNS と呼び続けることは自らのビジネスとブランドを制限することになります。したがって、Push Protocol に改名されました。
なぜ分散型通信プロトコルが必要なのか
メッセージプッシュは、IM チャット、ニュース、さまざまなマーケティング情報、通知など、従来の Web2 のあらゆる側面に浸透しています。アプリケーションシーンや技術的には非常に成熟していますが、Web3 ではメッセージプッシュ機能を持つ Dapp を使用することはほとんどありません。通知のニーズは主にメールで解決されています。その主な理由は次のとおりです:
- 現在の Dapp のほとんどは PC 端のウェブ形式であり、モバイル端末の発展は非常に遅れています。メッセージプッシュは即時性があるため、モバイル端末の欠如がメッセージプッシュシーンの発展を制約しています。Web2 もまた、モバイルインターネットが登場してからメッセージプッシュが広く適用されるようになりました。
- Web3 の基盤層のメッセージプッシュは確かに発展の凹地です。成熟した解決策はあまり見られません。
それでも、Web3 には依然としてメッセージプッシュが必要なシーンが多数存在します。たとえば、DeFi の価格変動、投票結果の通知などです。また、Lens Protocol のようなソーシャルプロトコル製品も Push Protocol を統合しています。ユーザー間で発生するフォローやいいねなども多くの通知シーンが存在します。CoinDesk も統合を行っており、CoinDesk のブログに新しい記事が公開されるたびに、ユーザーは通知を受け取り、業界の動向を迅速に把握できます。したがって、Web3 の発展に伴い、メッセージプッシュのシーンはますます増えていくでしょう。
Web2 と PUSH メッセージプッシュロジックの比較
皆さんのスマートフォンは、毎日多くのアプリからメッセージを受け取ります。これには、ソーシャルメディアの友人からのメッセージ、ニュースメディアのヘッドライン、eコマースプラットフォームの割引情報などが含まれます。これらはどのように実現されているのでしょうか?下の図は、iPhone のアプリがあなたのスマートフォンにメッセージを送信するプロセスを示しています。核心は APNS(Apple Push Notification Service)という中継サービスで、3 つの段階に分かれています:
段階 1: 上流のプロジェクトが送信するメッセージと受信する iPhone の識別子をパッケージ化し、APNS に送信します。
段階 2: APNS は Push サービスに登録された iPhone のリストの中から、該当する識別子を持つ iPhone を探し、メッセージを iPhone に送信します。
段階 3: iPhone は送信されたメッセージをアプリケーションに渡し、設定に従って Push 通知を表示します。
下の図は Push Protocol の原理を示しています。構造的には Web2 の APNS と一致していることがわかります。最上層の dapp、サーバー、スマートコントラクトの 3 つのカテゴリが入力層にあり、メッセージの発生源です。メッセージが Push Protocol に入力されると、内部のノードがプロトコルのスマートコントラクト内のイベントを監視し、メッセージを対応する受信者に中継します。
簡単に言えば、コントラクトやバックエンドサービスなどの上流が、メッセージプッシュが必要な場所に EPNS のコードを埋め込み、対応するメッセージ内容を入力することができます。Push Protocol はこのメッセージを対応するアドレスに伝達します。もちろん、下流にはメッセージを受信して表示するフロントエンドが必要です。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 では、メッセージを受信するための 3 つの方法が提供されています。
得られたメッセージデータのフォーマットは以下の通りで、メッセージ受信アドレス、メッセージ内容、タイプなどの情報が含まれます。
さらに、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 の通信の道を支援し、その発展を促進していきます。