OpenChat的功能与WhatsApp相似,不同之处在于OpenChat完全在互联网计算机上运行,是世界上第一个具有互联网规模的区块链应用。
今年年初,WhatsApp 宣布了一项经过修改更新后的的隐私政策,要求用户接受将他们的帐户详细信息包括:电话号码、元数据(为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能)、财务交易、日志报告、位置、设备标识符和 IP 地址将与 Facebook 共享的要求。用户被告知如果不接受新的隐私政策,会面临无法访问其帐户的风险。这引起了社会的激论,最后政策发生了变化:如果用户不接受,通讯程序从现在起将逐渐降低其对用户的服务水平,直到用户完全不能访问。
这就是构建OpenChat的原因,这是一个去中心化的消息服务应用,其功能与现有的消息应用程序(例如 WhatsApp 和 Signal)非常相似,主要区别就在于 OpenChat 在区块链互联网计算机上是端到端的运行。
可以打开链接试用Alpha版本(Alpha版本的产品仍然需要完整的功能测试,而其功能亦未完善,但是可以满足一般需求,它是整个软件开发周期中的第一个主要阶段):
https://oc.app
用户的聊天消息数据由高级智能合约链处理和维护,在互联网计算机语言中其被称为“容器”,因为它们是一堆网络汇编字节码和持久内存页面,并使用软件参与者模型并行运行,允许数据应用程序扩展。
OpenChat 的架构将允许它覆盖到数百万用户的同时仍可供普通用户免费使用,以前没有在公共区块链上构建一个可扩展的系统,而且价格便宜到可以免费提供给用户的情况的可能。此外,在撰写本文时,在以太坊上存储1 GB 数据的成本为6086万美元(在最近达到 8.69 亿美元的峰值之后),由于它的可扩展架构和Chain Key使得互联网计算机可以高效率运转,其储存成本将保持稳定在每年/每GB/5美元左右。
一旦在互联网计算机上启用令牌,OpenChat 将成为开放式互联网应用,这意味着Dapp 将完全去中心化并完全由社区管理——没有公司会跟踪和出售用户的数据。OpenChat 将由其治理代币的持有者拥有和管理,这些代币将广泛分发给世界各地的用户,以实现去中心化决策并激励用户参与平台治理。作为一项开放的互联网应用,所有的程序的修改都必须通过公共治理提案进行。任何想要参与平台治理的 OpenChat 代币持有者都可以对这些提案进行投票,只有获得足够支持的提案才会被采纳和实施。
OpenChat 由于正处于测试阶段,所以限量发行,目前有 10,000 名使用用户的限制,其代码也将很快公开并向任何想要参与OpenChat的开发者开放。开放互联网应用的出现将用 OpenChat 代币来奖励应用功能的错误修复的开发者,从而创建一个优秀的开放的产品。与此同时,最终用户将能够享受安全的、开放式的聊天应用程序!
开放式聊天系统的技术简述
聊天系统在互联网计算机区块链上的智能合约上运行,所有的消息都由智能合约处理和存储,但是互联网计算机仍然需要2秒的时间来完成改变交易的状态。因此,尝试使用WebRTC提前运行智能合约可以更快速,并在聊天中保持在线状态。智能合约代理在托管聊天的网络浏览器之间建立点对点的WebRTC连接。
需要注意的是,互联网计算机上的智能合约可以安全地将交互式web内容传输到最终用户的浏览器中,然后该内容可以与智能合约安全地交互。因此,开放聊天系统使用区块链端到端提供其功能,并且不依赖于云服务或任何其他集中化和不安全的技术。
为了使用简单的体系结构进行扩展,将为每个用户创建一个新的容器智能合约,它将存储聊天历史记录和配置信息的副本,互联网计算机的固有安全意味着用户只能访问他们自己的容器数据,或者在组聊天的情况下,组内的聊天数据。
代码一旦开始开源,就可以识别并验证在每个容器上运行的软件版本,并链接到源代码管理中的特定版本。此外,作为一种开放的互联网应用,OpenChat将具有一个类似于NNS的治理系统的功能,因此只有由全球OpenChat令牌持有人投票和接受的提案才可以实施。考虑到互联网计算机的安全性质,软件的可见性时刻保持的,开放式聊天社区本身将负责批准每个软件的修改措施,一旦SEV-ES在互联网计算机节点上启用,用户可以确信他们的数据现在或将来不会被除他们自己之外的任何人访问和盗取。
为了增强安全性能,OpenChat将在已经安全的互联网计算机网络上提供端到端加密。启用此选项后,聊天参与者只能在自己的设备上访问聊天数据,如果使用其他设备访问,相关的数据会再次进行加密,这与WhatsApp保护用户数据的方式相似,但这意味着搜索聊天历史记录的唯一方法是通过自身设备。
如前所述,聊天历史记录将存储在为其所有者创建的相关智能合约中。不过目前,单罐智能合约最多只能使用4GB的持久内存,尽管这在未来会增加,但这将限制一些用户希望保存下来的的聊天历史数据。为了解决这一问题,我们将为用户提供在区块链上创建的BigMap智能合约数据库中维护储存图像和视频的能力,该数据库可以存储无限量的数据。这样广泛共享的媒体只需存储一次,这更高效、更具成本效益,尽管是引入一些隐私问题为代价——但未来将会解决这些问题。
功能特征
以下是OpenChat目前提供的且其他通讯软件也具备的功能:
向其他用户发送消息,并设定OpenChat何时接收消息并由收件人阅读。
发送媒体信息的能力,如照片和视频等。
针对联机用户的即时消息传递。
能够查看联系人当前是否正在输入消息。
组聊天功能。
即使在浏览器中没有打开打开聊天,也可以查看是否有消息在等待回复。
以下是一些OpenChat具备而其他消息通讯应用中没有的功能 :
区块链身份验证技术,使用户无需用户名或密码即可以在安全的情况下匿名使用其任何设备登录(本质上,WebAuthn 协议允许网络浏览器与TPM芯片集成,例如通过 Mac Book 上的指纹传感器、手机上的面容 ID系统或 HSM 设备,例如 YubiKey)。
一旦在托管互联网计算机区块链网络的节点机器上启用 SEV,就能够在不影响安全性的情况下搜索整个聊天历史记录。
将循环发送给其他开发人员的能力,用于驱动互联网计算机上的计算——以及其他高级标记化功能,这尚未公布。
未来规划:
在不久的将来,随着开放式聊天转变成为一个开放的互联网应用,早期使用者和贡献者将被奖励开放式聊天标记,可以用来参与该服务的治理,治理将采用服务神经系统模型,这是来自互联网计算机的网络神经系统。用户应该参与他们通过治理而有变得有价值的服务,最终也应该成为团队的一部分,通过参与作为论坛的公共聊天群组等任务来获得奖励。
DfinityClub是专注于DFINITY生态社区的自媒体,已与DFINITY众多生态项目达成合作,会第一时间发布DFINITY最新的消息。关注DfinityClub,加入交流群,之后有项目的最新信息,会第一时间通知到您!在群中提出的关于DFINITY的疑惑,也会第一时间得到解答。
文章来源:DFINITY
翻译:DfinityClub