Elemental Chat - 构建点对点Web应用程序的第一步

快链头条
2023-07-11 16:15
新闻
840

作者: Holochain

编译: ChainCatcher

 

当我们第一次开始这个项目时,我们分享了我们对点对点 Web 应用程序互联网的愿景,该应用程序将使用户能够指导他们自己的在线体验。我们与成千上万的人建立了联系,他们也受到消除基础设施中内置的集中权力的可能性的启发,以便人类可以极大地扩展其创造和协作潜力。

在我们的 Alpha 测试中推出 Elemental Chat 当然并没有完成所有这些工作。但这是朝着实现这一承诺迈出的真正一步。在 HoloPorts 上运行的 Elemental Chat 没有中央数据库。每个运行该应用程序的人都将他们的消息签名到他们自己的链,然后自动将它们发布到由该应用程序的其他用户托管的共享数据库。这是某件事的开始。这不仅仅是一个想法的种子。 Holochain 和 Holo 的深根已经完全发芽,现在正在成长和壮大。

这种最近的快速增长在导致我们发布当前版本的事件时间表中得到了证明。

自 Holochain RSM 推出以来我们的发展速度表明其他人也能够多快多容易地将新的 P2P 应用程序推向市场。因此,让我们深入了解 Elemental Chat 是什么、不是什么以及它让我们向前迈进的事情。

Elemental Chat 只是一个概念应用程序的证明。我们的意思是,它不具备当今市场上流行的消息应用程序的所有功能。您可以创建频道,也可以发送消息。您还可以查询应用程序网络以查看连接了多少个节点以及有多少人在浏览器中打开了应用程序。

你不能做的是限制你看到或关注的频道,或者只向一个人发送消息。你也不能有回复线程,事实上,用户界面甚至没有展示 Holochain 中所有最好的功能。在这个超级基本的测试应用程序中,您可以看到所有内容,但几乎无法区分,这意味着用户体验不尽如人意。

Elemental Chat 没有包含这些出色的用户友好功能,这是有意为之的。我们想要一个只有几个功能的简单应用程序,以避免花费太多时间来测试和调试聊天应用程序,而我们的重点实际上是构建包含 Holo 分布式托管平台的底层基础设施。

Paul 在 12 月 24 日的 Dev Pulse 中很好地解释了我们选择 Elemental Chat 作为 Holo 的第一个分布式应用程序发布的一些原因:

"首先,我们认为测试会更有趣;其次,我们知道它会以会显示任何错误的方式推动 Holochain 的所有功能;第三,我们想要一些能告诉我们性能瓶颈在哪里的东西。"

但对我们来说另一个重要原因是因为聊天功能说明了 Holochain 与区块链相比的差异和潜力。

发布聊天应用程序——甚至是像 Elemental Chat 这样的玩具应用程序——明确表明 Holochain 旨在构建永远无法真正在区块链上运行的应用程序类。想想可扩展性、快速交易或交互等对基本功能至关重要的应用程序。我们生活中使用的绝大多数网络应用程序根本不需要区块链的全球共识,如果我们试图强迫它们进入共识模型,实际上可能会受到阻碍。 Chat 以最自然的方式向我们展示了这种差异。

想象一下与 25 到 100 个最亲密的朋友一起参加一个聚会,人们分成小组围坐在房间里聊天。许多不同的谈话同时在房间里进行。您可能能够听到其中许多的部分内容,但您可能比其他人更关注其中的一两个。房间里的每个人很可能都在做同样的事情——也就是说,他们正在听他们正在进行的谈话——而不是整个空间里谈话的一般嗡嗡声。正因为如此,每个人对所讲的内容都有自己独特的体验。我怀疑那个派对上的任何人都会说人们的交流方式有问题。事实上——这种非常正常的面对面多感官类型的设置正是我们许多人在过去一年因大流行而错过的。

因此,让我们来谈谈典型的区块链可能如何尝试为该聚会的通信建模。一个人(爱丽丝)可能会说些什么。另一个人(鲍勃)需要处理它并向其他人澄清所说的内容并记录下来并确保每个人都以完全相同的方式理解它。第一个人(爱丽丝)不能再说什么,直到房间里的每个人都处理完她说的第一句话。需要为谁在发言创建某种顺序,因为每个陈述都需要以正确的顺序放置并与房间中的每个其他人共享,以使对话被视为有效。

这听起来很可笑——因为确实如此。共识模型与许多人类需求无关,而且在协作方面,它们通常效率极低。区块链以多种方式证明了效率低下,但最明显的可能是极端的能源消耗和用于为网络供电的废物的产生。

事实上,许多应用程序只需要真正做好两件事:简化协调并达到最终一致性。

现在让我们来看看 Holochain 的自然模式方法如何模拟同一方。当您与一小部分朋友交谈时,您的消息会保存到您的本地链中。参与您对话的朋友会立即收到信号并听到您的消息。某人的消息保存到他们的本地链后,它也会保存到组数据库或 DHT。片刻之后,您的共享数据库部分将更新来自聚会中其他地方发生的其他对话的消息——最终您可以访问聚会中的所有八卦消息。听起来像是一场伟大而难忘的派对!

使用自然模式来模拟数字交互是 Holochain 与众不同的地方——这就是为什么 Holochain 使应用程序能够真正扩展,以及为什么它是协作的理想选择。 Holochain 确保每个用户的代理权,但不需要强加单一观点。

所以我们可以看到为什么 Holochain 非常适合建模聊天应用程序,但许多人期待我们发布将运行 Holo 的加密货币 HoloFuel 的应用程序。人们经常问"没有共识,HoloFuel 怎么工作?"

想象一下,社区中的一群父母创建了一个保姆时间交换系统,并拥有一个电话应用程序,我可以在其中记入您三个小时的保姆时间,而当我这样做时,我的保姆余额会减少三个小时。有些人提供的保姆服务比他们收到的要多,而且他们会显示出正平衡的小时数。其他人得到的保姆比他们提供的多,他们的工作时间就会出现负平衡。

如果 Alice 需要将一些信用转移给 Bob,我们真的需要全球共识吗?我们需要知道系统中每个账户的状态吗?不会。只有 Bob 和 Alice 的账户会从此交易中发生变化,并且他们是唯一有权更改其账户的机构。他们可以在他们的每条链上签署一个相同的交易(一个交易显示爱丽丝花费信用而鲍勃收到信用),当他们将它发布到网络的其余部分时,网络上的其他人将验证交易以确保它遵循共享协议。基本上就是这么简单。 (其实并没有那么简单,但为了更好地理解 Holochain 的工作原理,请观看这个 12 分钟的视频。)

这种货币模型更像是点对点的价值核算,你的链保存着你的交易历史。不是每个人都在保姆时间进行交易,但当您用分布式云托管作为服务取代保姆时,该模型的原理完全相同,它也适用于食品、能源和许多其他应用程序。

面向主持人的 Elemental Chat 的发布是这一旅程向前迈出的重要一步。不过,对我们来说,下一个基础设施里程碑是我们将要进行的事。届时,非主持人(普通网络用户)将真正获得创建帐户并登录托管在主持人 HoloPort 上的 Elemental Chat 的体验。我们已经开始了该里程碑的测试周期。

在接下来的几周内,您可以指望我们支持越来越多的主机将他们的端口连接到 Holo 网络并开始在 Elemental Chat 中聊天。我们将评估性能规模的好坏,并听取人们对此的看法。

我们很可能会对聊天应用程序进行一些小的更改,因为我们准备向网络用户更广泛地发布。我们将继续改进测试框架,以便托管应用程序可以更广泛地使用它,而不仅仅是我们直接安装在 HPOS 上的应用程序。

正如我们在上一篇文章中分享的那样,我们还在 Hosted Elemental Chat 之后的其他几个里程碑上向前迈进。我们甚至可能会同时发布主机控制台工作,但我们还没有承诺。之后,我们将专注于 HoloFuel 应用程序。

然而,从这些图表中看不到的是 Holochain 上的工作正在继续发展,这对于在我们的生态系统中构建应用程序的 Holo 和社区应用程序开发人员来说都是至关重要的。

Holochain 一直在稳步提高框架的可用性。当我们第一次发布 RSM 时,虽然它在技术上是一个巨大的改进,但我们还没有开始发布到 crates,也没有稳定 Holochain 开发工具包 (HDK)。我们最近对 HDK 进行了大量重大更改,现在应该相当稳定了。我们还\"修复\"了 Holochain 以使其更易于安装并确保协作者之间的安装相同。您可以通过 Holochain.love 了解最新的测试版本。

在接下来的几周内,Holochain 将会有更多的改进。在数据库引擎转换之后,我们将实施分片和其他关键网络扩展功能,然后再转向更多安全和身份管理功能。所有这些都是 Holo Beta 发布所必需的基础。

因此,我将再次向所有支持这项令人惊叹的工作的人大声喊叫。感谢开发团队将此版本带到终点线。感谢支持主机连接到网络的面向社区的团队。感谢社区中所有开发新功能并展示自然模式如何在 Holochain 中工作的应用程序开发人员。感谢所有与项目新人分享知识的管理员和志愿者。

温馨提示:
快链头条登载此文本着传递更多信息的缘由,并不代表赞同其观点或证实其描述。
文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。
提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。