区块链架构
- 28 次浏览
【区块链】去中心化社交网络
去中心化社交网络的努力希望通过让用户能够轻松更改服务并控制他们的身份和数据,在结构上改变权力平衡,有利于用户。将网络称为“去中心化”仅通过它不是什么来定义它——它不依赖于由一家公司运行的一组服务器。它的实际情况可能看起来像许多不同的东西。联合和点对点 (p2p) 协议是设计从结构上赋予用户权力的网络的不同方法。
Twitter、Facebook 和 Instagram 等传统社交应用程序在客户端-服务器模型上运行。作为用户,您的所有交互都通过一家公司的服务器进行。在联合网络中,用户仍然与服务器交互,但任何人都可以运行与网络中其他人互操作的服务器,从而为用户提供更多提供商选择。在 p2p 网络中,客户端和服务器之间没有区别。每个用户的设备都可以充当两者,使它们在功能上等同于对等设备。
这篇文章将概述一些最流行的联合和点对点社交网络设计。我将详细介绍 ActivityPub 和 ssb,并介绍它们的主要实现如何解决身份、审核和货币化等难题。与 Matrix 和 Aether 的快速比较将描述一些替代方法是如何工作的。在每个部分的末尾,我将列出联邦模型和 p2p 模型的主要优缺点。基于区块链的社交网络将在后续帖子中讨论。
联合协议
联合网络让用户可以选择一台服务器进行注册,这使他们可以访问分布在许多不同服务器上的整个网络。这为用户提供了更多的应用程序、策略和社区文化选择。电子邮件是互联网上每个人都使用的联合协议的一个例子。 Gmail 是一种流行的电子邮件应用程序,但如果您使用不同的提供商,您仍然可以通过电子邮件地址与任何人通信。
活动贴吧(ActivityPub)
ActivityPub 是一个联合协议,它通过特定的 API 定义了一组可互操作的社交网络交互。任何实现此协议的服务器都可以与网络的其余部分进行通信。
Mastodon 建立在 ActivityPub 之上,是 Twitter 的流行联合替代品,拥有约 220 万用户。在 Mastodon 之前,像 GNU social 和 Diaspora 这样的项目试图让联合社交网络扩展,但失败了。 Mastodon 的成功在很大程度上是因为它创建了一个熟悉的用户界面,其外观和行为都类似于 Twitter,允许不满意的用户以最少的努力找到新的着陆点。
身份
用户在服务器(一个“实例”)上创建一个帐户,但可以与其他实例上的用户进行通信。 可以互操作的整个实例群被称为“联邦宇宙”。 完整的用户名是用户的句柄加上用户所属实例的名称,例如:
帐户凭据由用户的实例管理,因此如果用户忘记密码,他们可以要求重置密码。
审核
每个实例都通过管理员的单方面决定或某种集体投票来设置自己的审核策略。 管理员可以禁止整个实例,切断它们的可见性。 如果一个实例被许多其他人禁止,它的用户仍然可以相互交谈,但他们将与 Fediverse 的其余部分隔离。 这发生在 Gab.com 上,它设置了一个实例。
货币化
联合社交网络需要托管和开发成本来维护。每个实例都由其自己的管理员和社区资助。 Mastodon 的开发是通过主要开发商运营的 Patreon 资助的。它目前每年带来大约 70k 的收入,这支持他全职工作,并支付托管费用和 mastodon.social 实例的审核团队。
另一个联合协议:Matrix
Matrix 是一个更适合聊天而不是社交网络的协议,但值得一提的是,它已经实现了具有良好 UX 规模的联合聊天体验,并且在提高身份和审核方面做了有价值的工作。该协议目前有大约 1100 万用户,他们使用各种客户端。它由 New Vector 公司开发,该公司在 2019 年筹集了 800 万美元的 A 轮融资。 Matrix 拥有比大多数去中心化协议更灵活的身份解决方案——用户拥有 Matrix 用户 ID,但也可以使用 3rd 方 ID。 Matrix 帐户链接到 ID,例如电子邮件地址、社交帐户和电话号码。可信身份服务器的全球联合集群验证并复制映射。 Matrix 团队也一直在集中精力开发用于审核的工具,详见此处,并计划很快发布 p2p 实现。
联邦的利弊
联合网络提供熟悉的用户体验,因为用户不必对其帐户凭据承担全部责任,并且可以按照他们习惯的方式与内容交互。用户可以在同一网络中选择更适合他们需求的不同服务,而不必适应截然不同的做事方式。
然而,联合服务器也继承了一些与集中式服务器相同的缺点。服务器依赖于管理员,这些管理员通常是资源比大型社交媒体公司少的个人或组织。服务器管理员可能会滥用权力或关闭服务,因为他们无法跟上成本。阻止访问或要求后门集中服务的政府可以轻松地对联合服务器做同样的事情。根据实施的不同,用户身份可能会绑定到服务器,这意味着用户在迁移时会丢失连接和数据。隐私保护各不相同——Mastodon 当前不加密内容,因此服务器管理员可能会看到所有消息,包括私人消息。
P2P协议
P2p 协议让用户可以直接相互通信,因为网络中的所有设备都是对等的,既请求数据又响应请求。一些节点可能有特殊的角色,比如帮助新用户连接到网络的公共引导节点,但每个节点在功能上仍然是等效的。这种设计给了用户最大的控制权,也给了用户最大的责任。
Ssb
Ssb,或secure-scuttlebutt,是一种专为社交分享而设计的分布式八卦协议。每个节点都有网络的局部视图,这使得很难计算有多少总用户,但根据开发人员在 2019 年 11 月运行的网络爬虫,ssb 上大约有 16,000 个节点。用户分布在几个不同的客户端应用程序中,这些应用程序可在桌面(Patchwork)和移动设备(Manyverse、Planetary)上运行。
每个用户都有一个公钥/私钥对,用于对帖子进行签名,验证其真实性。每个帖子都附加到最后一个,在一个仅附加的日志中,从第一个开始建立时间顺序。由于每个帖子都链接到最后一个,因此目前无法删除或编辑帖子。当您关注用户时,您将开始存储和同步他们的帖子。当您使用 ssb 应用程序时,它会在后台不断与其他节点共享数据。
身份
在 ssb 中,用户由公钥标识。我的公钥是:
@3QHXrXl762sf7P/Q1RMtscA7IRipfUFnE5tpie5McvE=.ed25519
用户可以选择与他们的密钥相关联的人类可读的昵称,但昵称不是唯一的,因为没有全局注册表。其他人可以用我的昵称@arcalinea 提及我,但其他人也可以使用相同的名字。
密钥管理是最大的挑战之一,因为用户不可避免地会丢失和忘记他们的密码。用户可以完全控制他们的身份。这意味着如果他们丢失了他们的加密密钥,他们可能会永久失去对他们帐户的访问权限。密钥目前也存储在设备上,这使得无法在多个设备上登录一个帐户——这是社交网络用户所期望的基本功能。
为了解决密钥管理问题,ssb 生态系统中的一个项目 Dark Crystal 实施了社交密钥恢复系统。它将密钥分成碎片,与可信任的家人和朋友一起存储,以帮助重建丢失的密钥。
审核
在 ssb 协议级别,有一个“标志”功能可以发送关于不良行为者的强烈负面信号。没有全球审核,也没有专门的审核员。建立在 ssb 之上的应用程序允许用户“阻止”和“忽略”。 ssb 中的块比集中式网络中的块功能更强大,因为这意味着被阻止的用户不再让他们的数据通过这些节点。如果有足够多的人阻止一个用户或一组用户,他们的网络部分将与其他部分切断。
货币化
p2p 网络的维护者不必支付托管费用,因为没有服务器,并且随着新用户的加入,网络容量自然会增长。想要在志愿者基础上工作的开发人员需要找到自己的资金。 ssb 生态系统通过各种赠款、捐赠、附带项目和咨询的收入以及一些筹集资金在 ssb 上构建应用程序的公司得到支持。
另一个 p2p 协议:Aether
Aether 是一个类似于 Reddit 的 p2p 社交网络。它的数据结构不是仅附加日志,而是 DAG(有向无环图),并且它使帖子变得短暂。您可以编辑和删除帖子,它们会在一段时间不活动后自动删除,这与 ssb 不同,它存储每个帖子。 p2p 版本由自托管的 Aether Pro 版本提供资金支持。它有多个设备登录的策略——您可以从远程后端存储和同步加密密钥。每个子社区都有自己的版主,由社区自行选举或弹劾。
P2P的优缺点
P2p 网络让用户完全控制他们的数据和身份。数据层在功能上与应用程序视图分离,因此用户可以在应用程序之间无缝切换,同时保留所有积累的帖子和连接。 p2p 网络的容量自然会随着需求而扩展,因为新用户会向网络添加资源,而不仅仅是消费。 P2p 网络具有最大的弹性和抗审查性。因为 p2p 网络不需要服务器,所以即使互联网的其余部分出现故障,只要网络上的两个设备之间存在本地连接,应用程序也可以继续工作。帐户都有加密密钥对,因此很容易支持私人消息——ssb 提供端到端的加密私人消息。
然而,控制的另一面是责任的负担。没有任何服务可以帮助恢复丢失或被盗的密码。审核依赖于未经大规模测试的自下而上的方法,这使得这些网络容易受到集中式站点上相同类型的滥用。在后台存储数据或运行八卦协议的 p2p 功能可能会消耗用户设备上不成比例的资源。 P2p 网络没有全局“喜欢”或“分享”计数,有些网络不允许用户编辑或删除帖子。这种行为可能令人惊讶,并说明了用户认为理所当然的功能和性能如何在 p2p 网络中复制具有挑战性。扩大技术挑战,网络也是围绕客户端-服务器模型的假设构建的,因此尝试完全 p2p 的网络必须非常低级并处理 NAT 穿越等问题。
未来可能会克服联邦和 p2p 协议的一些缺点。密钥管理、身份和审核等关键领域的研究和开发将有助于显着提高可用性。一个障碍是当前的实施仍然资源不足——上面列出的所有项目都通过捐赠、赠款或风险投资找到了一些资金,但没有一个开发出可持续的商业模式。
另一个障碍是,去中心化协议本质上比中心化应用程序发展更慢,因为进行协议更新和让所有客户参与进来需要社区协调。像 W3C 这样的标准机构倾向于协调更新,否则随着时间的推移,实现之间的不兼容性将分裂网络。
就目前而言,集中式应用程序更容易构建、迭代更快、货币化更直接,但一个充满热情的社区继续致力于去中心化的替代方案,因为这些技术架构改变了用户和平台之间的关系,为用户提供了更多选择.
你可以在 Mastodon、Matrix 和 SSB 上找到我:
- Mastodon: @arcalinea@mastodon.social
- Matrix: @arcalinea:matrix.org
- SSB: @arcalinea
- @3QHXrXl762sf7P/Q1RMtscA7IRipfUFnE5tpie5McvE=.ed25519
我也在 Aether 上作为 @arcalinea,尽管它是按主题而非用户组织的。
如果您使用另一个想要提及的去中心化社交网络,请随时在评论中写下它。
原文:https://medium.com/decentralized-web/decentralized-social-networks-e5a7…
本文:
- 52 次浏览