# 即时通讯工具展望

By [metabody](https://paragraph.com/@melomiki77) · 2022-04-16

---

本文基于我一次意外收到他人nft事件，所引发的思考和对即时通讯工具的展望。

1.事件背景
------

前几天我在玩链游时，钱包里突然多了几个不属于我的nft。当时我既喜又惊，喜的是这是一笔天降横财，惊的是这到底是谁操作失误发到我的地址中。

理智战胜贪婪，随即在电报群询问是否有人误操作转移了nft,电报群有8000多人，很快我的消息就被淹没在其他人的聊天中。

此时我是多么希望能有一个点对点的即时聊天工具，能让我通知到对方，并询问缘由。我想到了之前由以太坊官方开发的chat工具，随即上线给对方发了一条信息，果不其然，没人回复。仔细一想也很能理解，目前这个软件受众太小，而且对比目前市面上的聊天软件，使用门槛高，必须在浏览器登录才能查看信息，没有其他有力的触达方式，所以这条路也被断了。

第二天起床，又在电报群重新问了一句，有人随口问，但并不是当事人。又过了半小时，有人在微信群@我，询问情况，后来经过私聊，确认了对方即为转错nft的失主，随后将nft转移回给对方。

整个事件历时约12小时，期间这批NFT已经在我的不同钱包之间转移了3次，最后还好是相互认识，否则这次失误，可能就真造成了无法挽回的损失。

跳出这个事件本身，我不由在想，用户如何在这种误操作情况下，及时联系到对方以提供一个挽回损失的途径。一个自然而然的解决方案就是可触达的即时聊天工具。

2.web3的信息触达功能缺失
---------------

目前圈内一个很有意思的现象是，区块链技术满足了用户转账的诉求，但是对于信息传递，似乎并没有一个很好的解决方案。

OG们常夸赞web3的优点，比如传递的不是信息而是价值等等。但是对于简单的信息传递，目前还是依赖着传统web2的产品来实现，比如社区的运营，依赖discord和电报；比如官方的公告和推广，依赖twitter。

看似合理的背后其实正是目前圈内很大的痛点，即缺少一个wallet之间点对点的沟通方式。 我们来假想两个场景：

1.  用户A在opensea上挂单一个NFT，用户B觉得该NFT很不错，但是认为价格太高了，希望能有商量的余地，于是直接的操作是出价bid。讨价还价是交易中很常见的行为，在这个场景中，没有用户之间的沟通，仅仅通过bid，很难促使交易成交。
    
2.  正如上述背景一样，用户A转账失误，将资产转给了用户B，用户A希望能够与用户B进行沟通，挽回损失。这种场景下用户A是不知晓用户B联系方式，链上均为匿名化，也没有第三方来界定该笔转账无效，如果没有沟通渠道，事件的结局就只能完全依赖用户B的个人意愿。
    

当然产品经理们是能够发现用户这一痛点的，市场上也有一些基于钱包的通讯工具，其中最引人瞩目的当属今年1月由Etherscan团队推出的Blockscan Chat，其产品流程为使用浏览器打开Etherscan，连接钱包，授权，输入对方地址，输入信息点击发送即可。而信息接受者，同样需要完成以上登陆动作，才能在页面上被消息触达。

![blockscan chat](https://storage.googleapis.com/papyrus_images/77ca22c6a2a3560c230104c5308aba956730db6fcf696ce5d25c43924cbc06ca.png)

blockscan chat

这种产品本身没有严重的功能缺陷，只是对于当前的圈内用户习惯，不足以很好满足用户需求，主要原因在于交互流程过于繁琐，用户一定要到etherscan平台才行。试想一个场景，一个BSC土狗玩家，为什么要来使用以太坊浏览器呢？

3.web3即时通讯工具展望
--------------

需求推动产品，用户决定场景。开始展望前，回答一个问题，用户在进行链上交互的场景下，绝大多数都会使用什么功能？

答案是“钱包”，这里的“钱包”指的是metamask、tp、imtoken这种钱包软件，而不是一对公私钥组成的属于用户的钱包。钱包软件实际上是调用钱包功能的前端产品，绝大多数人进行交易、交互都是基于钱包软件进行的，毫无疑问，钱包软件掌握了绝大多数流量，这是一个做信息分发的天然流量池。

我对目前圈内最优的即时通讯工具的预期，即是基于钱包软件来实现的，metamask也好、tp也、imtoken也好，如果能基于一套公认的协议，执行信息的分发，保证信息的触达，即能够很好的满足用户进行沟通的需求。

产品功能其实很简单，无非是仿照传统聊天工具进行开发。最难的是如何打通生态，做到公私钥维度的信息互通，即使我使用不同的钱包软件，也能收到信息，因为对于用户来讲，属于自己的是底层钱包，而不是钱包软件。这里有两种思路：

1.  传统web2模式
    
    各钱包软件各自设计自己的通讯功能，各钱包地址即为各个用户，可以在单独的钱包生态内，给对方发送消息。信息交互在链下完成，数据由中心化的钱包软件进行存储。
    
    这套模式其实和传统聊天工具没有什么太大区别，只是登陆方式变成了钱包登陆。这种方式不会受圈内玩家欢迎，而且各产品直接是割裂的，很难找到一个利益共同点将不同的产品给串联起来打通生态。
    
2.  web3链上+链下模式
    
    opensea的NFT上链的内容只是NFT背后的唯一编码，而并不是NFT本身，链上存储信息+链下信息映射。这种模式虽然被人诟病，但是也确实是目前存储成本高背景下的较优解决方式。
    
    在通讯领域同样可以考虑这种方式，由第三方公链主导，记账信息编码，信息内容由公链公司进行中心化存储。钱包基于交易hash，调取公链公司接口，读取信息内容，并且展示给用户。
    
    产品流程如下：
    
    ● 信息发送：
    
    用户在钱包软件中，登陆授权聊天功能，编写并发送信息，授权并提交gas，信息上链，钱包软件将信息本身同步给第三方公链公司，第三方公链公司记录hash以及对应的信息内容和聊天对象。
    
    ● 信息读取： 用户在钱包软件中，登陆授权聊天功能，钱包软件调取链上hash值，根据hash值调取第三方公链公司的接口获取对应信息内容，并在前端展示给用户。
    
    商业逻辑如下：
    
    信息的发送可以直接基于公链进行，而对信息的写入和读取可以考虑基于POW逻辑，钱包可以作为节点，写入和读取，都视作挖矿，同时为用户提供服务，因此钱包产品也有动力去完成这件事。
    

这种web3+web2的模式，虽然在用户功能层面很简单，但是在底层的产品、商业设计上会比较麻烦，其中还有很多细节笔者没有进行构思，比如是否每一条信息都单独上链，比如如何解决高gas，比如是否可以直接作为某条公链的layer 2，比如以及产品间的信息传递以及商业规则如何设置等等。

总而言之，笔者认为，目前解决地址与地址间无法高效沟通的痛点，基于钱包软件来搭建即时通讯功能会是比较好的方案。

---

*Originally published on [metabody](https://paragraph.com/@melomiki77/03JbBYakccJFHJU8q5Hd)*
