社交一直是一个热门赛道,我们的日常生活也离不开各种各样的社交应用。但无论是在 Web2 还是 Web3,社交应用都存在着一些问题。
在 Web2 中,如 Telegram 、Sinal、Whatsapp、Facebook 、Twitter、微信等社交应用,虽然产品体验丝滑,部分软件也能够实现通信加密,但由于运营方式中心化,隐含着停止服务、内容审查、隐私泄露的风险。
在 Web3 中,如 Lenster、Link3、Ethereum World、Farcaster 等社交应用,虽然实现了去中心,相比 Web2 社交应用更加抗审查、保护用户隐私,但存在延时、成本高、多次授权的问题,影响用户体验。
最近,Odaily星球日报发现了一个叫做 Berty 的即时通讯 App。它不是一个最近推出的新产品,而是一个不断更新,直到最近才勉强可用的、与众不同的产品。
它基于 IPFS 构建,每个用户下载的 Berty 都是一个 IPFS 节点,它既是客户端也是服务器,所有 Berty 共同构成一个点到点的分布式网络,因此实现了去中心与抗审查。除此之外,它还具备端到端加密通讯、免身份注册、断网通讯、完全开源的特点。
与此同时,在《What are the advantages of Berty compared to the other messengers?》中,Berty 认为它们在开源、分布式、电话号码、匿名使用、端到端加密、离线消息、多设备通讯等12个维度超越全世界的 16 款主流即时通讯工具。
下文 Odaily星球日报将向大家介绍 Berty 上的基础操作、存在问题以及与 Web3 链上社交应用的比较。
教程
首先在官网下载 App,完成之后点击创建账户就能够免信息地直接创建一个 Berty 账户。
接下来跟随新手引导就可以完成账户创建的全过程。左上角是刷新,右上角是设置,点击右下角可以添加好友与群组。
目前 Berty 功能较少,操作也较为简单,下文主要向大家演示 Berty 如何完成离线通讯。我们点击右上角进入设置界面,点击离线通讯并允许蓝牙。
完成设置后我们就可以关闭网络,通过打开蓝牙,可以直接与附近同样打开蓝牙的 Berty 客户端进行通讯,但通讯距离比较近,非常鸡肋。
根据 Odaily星球日报测试,两个客户端之间第一次通过蓝牙建立通讯需要大约 40 秒时间。如果两个客户端第一次通过互联网建立通讯,需要约两分钟的时间。
问题
在完成一些基本的交流和测试后,我们发现 Berty 显著的问题是慢,非常慢。当用户初次向好友与群组发送信息会花费大量的等待时间,这个时间会随着距离的增加而延长。
当第一次与另一个客户端建立联系,物理距离越短,初次发送消息需要等待的时间就越长,随后的通讯延迟将会极大地缩短。如果是面对面第一次建立联系需要 40 秒左右,如果另一个客户端距离太远,可能需要极长的时间,我在北京与远在丹麦的好友在都开通互联网的情况下,第一次建立联系花费了超过一个小时的时间,但最终仍未成功。
关于网络加载缓慢的问题,官方给出的优化建议是启用路由器的 IPv6 网络。
除此之外,缓慢的问题还可以随着 Berty 用户数量的增加而得到解决。由于 Berty 是一个 IPFS 节点,所有的 Berty 共同组成了一个分布式网络,网络上的信息传播速度会随着节点的增加而提高,因此,当 Berty 用户在全球较为均匀地分布,且数量达到百万级别的时候,通信质量将会得到巨大改善。但目前根据 IPFS 官方数据,全球 IPFS 节点只有约 20 万,Berty 的提速进程任重而道远。
Berty 除了慢以外,还存在在自定义设置节点期间闪退的问题。
比较
在体验方面,Berty 不像 Web3 社交应用那么难用,却也没有 Web2 社交应用那么好用,特别是在初次发送小消息的时候会花费大量时间。
在机制方面,将区块链上的社交应用与 Berty 对比,链上社交应用需要共识、互联网和验证等待时间,会给用户体验造成延迟影响。而且由于有限的区块成本高昂,这会增加用户的使用成本,因此区块链更适合在没有中央权威的情况下验证交易,而不是匿名交换经济效益几乎为零的消息。
而 Berty 由于基于分布式网络的设计,它自始至终都是以“非共识”的理念构建的,因此可以在没有互联网访问的情况下运行,也可以在只有少数用户的情况下运行,相比去中心的区块链社交应用更加强大。
下图说明了去中心的区块链与点对点的分布式网络之间的区别。
总结
Berty 是一个基于 IPFS 开发的即时通讯工具,既是客户端也是服务器,具备端到端加密通讯、免身份注册、断网通讯、完全开源等特点。
所有的 Berty 客户端共同组成一个分布式网络,以实现网络内的通信。与去中心的区块链网络相比,Berty 部署在分布式对等网络上更加抗审查,成本更低。
Berty 目前的产品还很早期,明显的缺点是慢,用户初次发送消息需要大量的等待时间。但这可以随着 Berty 用户数量或者 IPFS 节点数量的增加而得到解决。