OpenChat ~WhatsApp(LINE) on ICP~

OpenChat (web3 on ICP) まとめ
~Web3型WhatsApp/Lineとは~
こんにちわNAFです。
本日はWeb3 on ICP シリーズの第3段として、OPENCHATについてまとめていきたいと思います。
一言でいいますと、ICPチェーン上で稼働するWhatsAppやLineのようなものです。
1.OpenChat概観
例によって形から入っていきましょう。
UIはこのようになっています。

はい、思いっきりWhatsAppですね。しかしながらこれだけでは終わりません。

なんと、すでにICPの送受信が実装されています。UIもすばらしく感覚的に操作できます。
いかがでしょうか。サクっと使いたい方は、早速ポチりにいきましょう。
https://6hsbt-vqaaa-aaaaf-aaafq-cai.ic0.app/
2.OpenChatとは
OpenChatの概要についてまとめていきます。
・OpenChatは、WhatsAppやSignalのような機能を持つインスタントメッセージDappsです。
・既存の仕組みとの大きな違いは、OpenChatがすべてインターネットコンピュータのブロックチェーン上で動作することです
・コードとデータを束ねたキャニスター型スマートコントラクトをベースとしたアーキテクチャにより、インターネットコンピュータ上で動作するDappsは、Web3の可能性を示す機能やアビリティを実装することができます
・インターネットコンピュータ上のスマートコントラクトは、Webブラウザにインタラクティブなコンテンツを安全に提供することができます。OpenChatは、エンドツーエンドでブロックチェーン上で動作し、クラウドプロバイダや中央集権的な仲介者に依存することなく機能することができます
・OpenChatのユーザーは、OpenChatを通じてICPユーティリティートークンを転送できるようになり、インターネットコンピュータのエコシステムの中でSocialFiがどのように形づくられているかを示しています。
・インターネットコンピュータのBTCネットワークとの直接統合が完了し、ビットコインAPIの開発者プレビューがすでに利用可能であるため、OpenChatユーザーはまもなくインスタントメッセージ経由でBTCを転送することもできるようになり、この機能は最終的にインターネットコンピュータに存在するあらゆるトークンに拡張される予定です。
つらつら書きますが、一言でいいますと「非中央集権でトークンも送付できるIC上のWhatsApp」のイメージですね。

3.OpenChatの機能面の特徴
LineやWhatsAppお使いの方はイメージつくと思いますが、言語化すると下記のような特徴があります。
<標準的な機能>
・他のユーザにメッセージを送信
・メッセージが OpenChat サービスによって受信され、受信者によって読まれると、チェックマークが表示
・メディアメッセージ(写真、ビデオなど)を送信機能
・オンライン・ユーザー向けのインスタント・メッセージ
・連絡先が現在メッセージを入力中かどうかを確認する機能。
・グループチャット機能。
・近々、通知の統合により、ブラウザで Open Chat を開いていなくても、メッセージを待っているかどうかを確認することができます
<OpenChat独自機能>
・Internet Identityブロックチェーン認証技術との統合により、ユーザ名やパスワードなしで、どのデバイスを使っても匿名で、安全にサインインできる(基本的には、WebAuthnプロトコルにより、WebブラウザがTPMチップ、例えばMacBookの指紋センサー、携帯電話のFace IDシステム、YubiKeyなどのHSMデバイスを介して統合することができるようになります)
・Internet ComputerのブロックチェーンネットワークをホストするノードマシンでSEVが有効になると、セキュリティを損なうことなく、チャット履歴全体を検索することができるようになる
・インターネット・コンピュータの計算に使用されるcycleを、他のデベロッパーに送信する機能
上述の通りトークン送付は大きな特徴ですね

4.OpenChatのテクニカルな特徴
テクニカルには下記のような特徴があるようです。つらつら書きます。
(途中から難解になってくるので、飽きたら適当にスキップしてください)
・OpenChatは、インターネット・コンピュータのブロックチェーン上にインストールされたキャニスター・スマート・コントラクト上で動作します。
・さまざまなキャニスター・スマートコントラクトが、ユーザーレジストリやWebRTC接続処理などの中心的なサービスを実行します。
・すべてのメッセージはスマートコントラクトによって処理され保存されますが、インターネットコンピュータは状態を変えるトランザクションを確定するのに2秒程度かかります
・そこで、WebRTCを使ってスマートコントラクトをフロントランすることで、より速く利用できるようにし、チャットの「インスタント」を維持します(ただし、ブロックチェーンにとって2秒は非常に速い)
・スマートコントラクトは、チャットをホストするウェブブラウザ間のピアツーピアWebRTC接続を仲介し確立します。
・インターネット・コンピュータ上のスマート・コントラクトは、エンドユーザーのブラウザにインタラクティブなウェブ・コンテンツを安全に提供し、そのコンテンツはスマート・コントラクトと安全に対話可能です。
・このように、Open Chatはブロックチェーンをエンドツーエンドで使用して機能を提供しており、クラウドサービスやその他の中央集権的で安全でないレガシー技術には依存していません。
・シンプルなアーキテクチャを使用して拡張するために、各ユーザーに対して新しいキャニスタースマートコントラクトのインスタンスが作成され、そのチャット履歴と設定情報のコピーが保存されます。インターネット・コンピュータ固有のセキュリティにより、ユーザーは自分自身のキャニスターデータ(グループチャットの場合はグループ参加者)にしかアクセスすることができません。
・近い将来、コードがオープンソース化されれば、各キャニスター上で動作しているソフトウェアの正確なバージョンを特定し、ソース管理上の特定のリビジョンにリンクして検証することが可能になります。
・さらに、オープンなインターネットサービスとして、OpenChatはNNSと同様のガバナンスシステムを持ち、OpenChatトークン所有者のグローバルコミュニティによって投票・承認された提案の結果としてのみ変更が可能になります。
・インターネットコンピュータの安全性、実行中のソフトウェアの可視性、そしてOpenChatコミュニティ自身が各変更を承認する責任を負うことを考えると、インターネットコンピュータのノードでSEV-ESが有効になると、ユーザーは、メッセージの受信者を除いて、現在も将来も自分以外の人がデータにアクセスできないことにつながります
・さらなるセキュリティのために、OpenChat は、すでに安全なインターネット・コンピュータ・ネットワーク上でエンド・ツー・エンドの暗号化を提供する予定です。
・このオプションを有効にすると、チャットデータは、チャット参加者が自分のデバイスでのみアクセスできるようになり、それ以外は関連するキャニスターのメモリ内で暗号化されることになります。
・これは、WhatsAppがユーザーデータを保護する方法に匹敵しますが、チャット履歴を検索する唯一の方法は、デバイス上であることを意味します。
・前述の通り、チャット履歴は、その所有者のために作成された関連するスマートコントラクトに保存されます。
・しかし現在、1つのキャニスター・スマートコントラクトは最大4GBの永続メモリしか利用できないため(増加予定)、一部のユーザーが保持したいチャット履歴やメディアの量が制限されます(グループチャットも同様)
・これを回避するために、私たちはブロックチェーン上に作成するBigMapスマートコントラクトデータベースのバージョンで、画像やビデオを維持する機能をユーザーに提供する予定です。
・これは、広く共有されたメディアを一度だけ保存するようなコンテンツアドレッシングを使用する可能性があり、より効率的で費用対効果が高いですが、間違いなくいくつかのプライバシーに関する懸念をもたらす代償となります - しかし、我々はこれに対処することを目指しています。
5.今後の展望~Dapp tokenization~
さわっていただけるとわかりますが、完成しきっている感すらあるOpenChatです。もちろん細かいUI/UXは進化していくはずです。
今後の大きな流れとして、1点だけ下記をご紹介しておきます。
~Dapp tokenization~
・OpenChatがオープンなインターネットサービスに移行すると、インターネットコンピュータの次期Service Nervous System機能によってアプリがトークン化され、OpenChatを統治するユーザーコミュニティDAOが形成されます
・アーリーアダプターや貢献者にはOpenChatトークンが与えられ、このトークンはサービスのガバナンスに参加するために使用されます。
・インターネット・コンピュータのNNSと同様に、OpenChatトークン保有者のグローバル・コミュニティによって投票され承認された提案によってのみ、dappの変更が行われます。
・また、OpenChatを積極的に利用し、プラットフォーム上のコンテンツを管理したり、バグを報告したり、他の人にアプリを紹介したりすると、ユーザーにガバナンストークンが与えられる計画もあります。
・最終的には、OpenChatのユーザーは、将来的にアプリがどのように進化し、革新し続けるかを決定するチームの一員となります。
他でも書いた通り、DAO化~トークン発行は潮流ですね。

6.おススメOPENCHAT部屋
下記あたりに、日本人のICP民の方がよくいらっしゃいます。
Japanese
https://6hsbt-vqaaa-aaaaf-aaafq-cai.ic0.app/#/2kbrg-bqaaa-aaaaf-abf2q-cai
SUSHI TENPURA IZKAYA
https://6hsbt-vqaaa-aaaaf-aaafq-cai.ic0.app/#/i5fs6-cyaaa-aaaaf-aaebq-cai
ICP民の集い
https://6hsbt-vqaaa-aaaaf-aaafq-cai.ic0.app/#/dlw7x-rqaaa-aaaaf-ad6ea-cai
英語でも問題無く、情報収集したい方は画面左側からキーワード検索できますので是非。
そうそう。素晴らしいことに、OpenChatは日本語化対応されています。
ICP界隈の重鎮、HWRD (@juyounaiaccount) さんが、おかしな翻訳があると、定期的にメンテしてくださっています。安心して使えて良いですよね。
今回は以上になります。
どこの部屋も初心者の方もふくめ大歓迎ですので、是非あそびにきていただけると喜びます。
(参考)
https://medium.com/dfinity/openchat-a-truly-decentralized-alternative-to-whatsapp-d0d051479b9a
+++++++++++++++++++++++++++++++
突然ですが、パブロ・ピカソが有名になった最大の理由は、
「絵のクオリティが圧倒的に卓越していた」のではなく、
「作品点数が圧倒的に多かったため」と聞きます。
15万点の膨大な作品を量産したからこそ、彼は後世に残る画家になりえたようです。
自分はピカソではないですが、アウトプット量にもっとこだわっていこうと思います。
量が質をつくるとも言いますので、あやかってみようかなと。
Nafは ICP x NFT promoterとして、ICP界隈が盛り上がるような取り組みを行っています
ICP発展に資する活躍をしていきますので、宜しくお願いします。