神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:大型社交媒体平台给生活提供了便利,同时也带来了一些问题,其中最大的一个问题就是侵犯用户隐私。社交媒体的去中心化是一个长期趋势。在去中心化的情况下,用户可以完全享受网络带来的便利,还能够拥有对自己内容的控制权和隐私权,这才是互联网的初心。本文作者是罗斯·乌布利希(Ross Ulbricht),是丝绸之路网站(SilkRoad)的创始人,目前正在监狱服刑,本文是他对去中心化问题的一些思考。原文篇幅较长,译文共分为上下两篇,本文是上篇。本文译自Medium,原标题为" Decentralize Social Media"。
相关阅读:社交媒体该如何实现“去中心化”?(下)
社交媒体网络的中心化给社交媒体平台及其用户带来一堆问题。这些问题包括侵犯隐私,产生审核数十亿用户内容等不可能完成的任务。
下面我将介绍一种去中心化的社交协议(decentralized social protocol ,DSP),它可以通过让用户控制自己的内容,并负责网络内的价值创造和转移,帮助解决或缓解这些问题。通过允许用户从众多界面提供商、内容服务器和广告商中进行选择,而不是由单一平台将这些必要角色垄断于一身,这一设想才可能得以实现。我会描述去中心化的解决方案,包括配置文件管理、隐私保护、托管、用户界面、广告网络、内容过滤器、元数据等的去中心化解决方案。简而言之,这覆盖了社交媒体的所有基本组成部分。
不言而喻,去中心化协议的主要设计原则之一就是去中心化。但是,中心化的趋势很强大。只要有可能,中心就会形成,而预测中心在哪里扎根和发展,是需要有远见的。
以互联网上广泛使用的TCP/IP和HTTP协议为例。当它们被采用时,似乎完全是去中心化的。任何人都可以建立一个网站,任何人都可以访问它,只要能连接互联网和一个IP地址就能访问。还有什么能比这个更平等的呢?我们看到了早期的网络在这种环境下的繁荣。然而,没有人预见到网络效应将发挥主导作用。
如今,任何人都可以建立一个与Facebook、YouTube、Reddit或Twitter竞争的网站。但这都已经不重要了,因为没有人会使用它。它可以有更好的隐私保护,更好的功能,而且没有广告,但它不具备这些科技巨头所拥有的不可逾越的优势:其他用户。即使拥有庞大用户基础的谷歌试图通过打造谷歌+与Facebook竞争,但在花费了7年时间和数十亿美元后,最终还是失败了。
在TCP/IP和HTTP协议环境下,去中心化在URL处戛然而止。谁控制URL,谁就控制了它背后的一切。结果是,facebook.com、google.com、amazon.com 等 URL 已成就了世界上一些最强大、市值最高的公司。
在DSP下,我们必须走得更远。
在社交环境中,最小的、不可减少的单位是个人,即用户。所以当我们谈论去中心化的时候,我们谈论的是,把所有的决策权和权力放在用户的手中。仅仅给他们建立网站和选择访问哪些网站的权力已经不够了。
由于中心化将在任何可能的地方蔓延生长,因此去中心化社交协议设计者和开发者必须竭尽所能阻止中心化。不幸的是,这需要想象力和努力。实现不完全的去中心化要容易得多,将真正困难的部分留给他人或用自己的中心化平台填补空白。科技巨头已经实现部分去中心化。它们不生成内容,这是留给用户的。去中心化社交协议必须拥有他们已实现中心化的功能,设计一种将这些功能也实现去中心化的系统。
信息从根本上不同于实体资产,信息基本上可以在没有成本的情况下进行复制,因此当人们谈论“拥有”数据时,可能会感到困惑。版权法的存在就是为了对抗这种信息固有的丰富,防止复制副本(为了保障内容创造者的利益)。有关保密的法律也是如此,这些法律惩罚那些未经同意就分享信息的人。但是,P2P 文件共享破坏了这些法律;而吹哨人的涌现,也破坏了保密法律。控制信息、阻止信息传播变得非常困难。
在去中心化系统中,不能依靠中心机构来执行此类法律,因此我们必须按事先规定的条款处理信息。我们谈论的不是谁拥有用户内容的问题,而是谈论谁有权访问用户的内容。现代社交媒体平台的默认立场是平台拥有内容,并集中执行访问权。在DSP下,内容创建者(用户)应该使用涉及密钥共享的加密方案来控制访问。在可能的情况下(理想情况下),服务提供商不可以访问未加密的用户内容,只有创建者已授予访问权限的人才可以访问它。
加密将控制权直接交到密钥持有者手中,因此,在我们寻找可以遏制中心化的地方时,去中心化社交协议中保存加密密钥的位置将为我们指明方向。密钥必须尽可能(理想情况下)由用户掌管。除非是为公众特别创建,否则所有信息,无论是存储的还是传输的信息,都应默认加密。
这是当前范式的一个根本性转变。当用户能够控制自己的数据时,网络效应就失去了它赖以生存的唯一支柱。如果组成各种社交网络的内容和关联在协议级别进行管理,网站就失去了对用户的垄断。
再一次(就像早期的互联网一样),任何人都可以建立一个竞争性的网站或应用程序。只是这一次用户将掌控自己的所有内容以及他们有权访问的其他内容,而不是两手空空。用户的切换成本将降至最低,因为新网站将只是相同内容的一个新界面。这样的环境将促进创新的蓬勃发展,扩大用户的选择范围,并显著改善用户体验的方方面面。
社交媒体平台每年带来数百亿美元的收入。这些收入几乎全部来自广告投放。忽视资金问题很简单,让去中心化社交协议服务提供商发明自己的商业模式,并希望在用户转换成本较低的情况下,提供商可以有出色表现并满足用户的需求。但是,协议中内置的假设导致我们这个世界今天变成了这个样子。
我们必须面对的事实是,钱是中心化的关键要素。用户带来广告主,广告主带来金钱,钱为服务的扩展和开发提供了经费,更好的服务带来了更多的用户。资金对于这种反馈回路至关重要,这种反馈回路将所有人吸引到同一个服务提供商,其真正的业务是为用户的眼球关注匹配广告。
这可能是DSP设计中最具挑战性的部分,但也可以说是最重要的部分。无论如何,用户必须处于这个价值创造和传递过程的中心。考虑到用户的关注是系统价值的来源,这个问题应该是可以克服的。
在牢记上述设计原则的基础上,让我们来看看,下一代社交媒体平台的利益相关者之间的关系,以及在DSP下这些关系应该如何重构。
图1
图1描绘了构成当前以平台为中心范式的四个组件。共有三个利益相关者:平台(红色)、广告商(绿色)和用户(蓝色)。一切都经过平台。该平台拥有并中心化控制内容服务器,存储用户通过其界面生成的内容,并从该内容中提取部分内容予以显示。至关重要的是,该平台是用户和广告商之间的纽带。广告商向平台付费以向用户显示广告,从而为广告商产生点击。在这种架构下,平台掌控所有钥匙。它控制着系统生成的所有价值。
图2
在DSP下,系统必须以用户为中心。如图2所示,用户是其他三个利益相关者之间的纽带:界面提供者、内容服务器和广告商。不是由平台作为用户和广告商之间的纽带,而是广告商直接向用户付费,通过竞标在用户界面上投放广告。然后,界面提供商和内容服务器将争夺这一广告收入。不再是提供交互界面的单一平台,而是很多界面提供商可以向用户提供其服务。不再是平台拥有和控制所有内容,而是内容服务器竞争托管用户的加密内容。在去中心化社交协议下,用户可以控制所有钥匙,并控制系统生成的所有价值。
这种以用户为中心的范式需要重新思考在线服务是如何设计和构建的。当前的平台可以分为三部分:内容、用户界面和有时被称为“业务逻辑”的部分。“业务逻辑”是平台用来收集相关内容,并将其发送到用户界面显示的所有指令。这就是搜索、排序和操作内容的算法存在的地方。推荐引擎、聚合器和各种形式的人工智能都是业务逻辑。
图3
图3简单演示了如何通过当前的中心化平台将内容交付给用户。用户通过用户界面发出请求,用户界面将请求传递到业务逻辑服务器(步骤1和2)。该服务器确定需要什么内容,然后从内容服务器获取它(步骤3和4)。然后准备好要显示的内容,并发送到用户界面,用户界面将其显示给用户(步骤5和6)。业务逻辑和内容服务器由平台控制,并在平台的计算机上运行,而用户界面(例如浏览器或应用程序)在用户的计算机上运行。
在DSP下,由于交互界面提供者无权访问内容,因此它们无法自行执行业务逻辑。这必须在用户端通过所谓的「用户客户端」来完成。用户客户端只是一个应用程序或浏览器插件,可以执行业务逻辑,并管理用户的配置文件和钱包。然后,接口提供商的功能只是将业务逻辑发送给用户客户端,指示其收集内容并进行编纂,以通过用户界面进行显示。
图4
图4显示了这是如何实现的。用户再次通过用户界面发出请求,该请求被传递到界面提供商的业务逻辑服务器(步骤1和2)。然后,界面提供商将适当的业务逻辑发送回用户处的用户客户端(第3步)。用户客户端执行业务逻辑——根据需要从内容服务器收集内容——将输出发送到用户界面以显示给用户(步骤4至7)。在用户客户端和用户界面之间执行的步骤6是在用户设备上本地运行的。单个应用或带有去中心化社交协议插件的浏览器可以同时处理用户客户端和界面,因此从用户角度来看,用户客户端可能“隐藏在底层”。
为简单起见,图3和图4中没有显示广告客户。如果加入广告商,它们将连接到图3中的业务逻辑服务器和图4中的用户客户端之间。更复杂的关系也是可能的。例如,用户客户端可以根据用户设置、钱包余额或任何其他本地存储的信息,在初始请求发送到接口提供商之前对其进行修改。所有这些都未在图中演示,因此图中只是看到了社交网络的基本重组。
到目前为止,我们一直在相当高的层次上讨论设计原则。本文的其余部分将讨论去中心化社交协议在实践中如何运行的想法。把它们当作讨论的起点,而不是最终答案。
DSP的核心是什么?如果我们看看主要的社交媒体平台,我们会看到Twitter主打简短的公开言论,Facebook强调与朋友分享,Reddit侧重于小众社区,Instagram侧重于图片,YouTube 侧重于视频,等等。我们不需要为它们一一复制一个去中心化版本,因为它们的本质是相同的,区别仅仅在于与他人交流和共享内容的方式不同。仅此而已。从这个抽象层次来处理DSP的设计,既可以简化它,也可以最大限度地实现它。
上面列出的所有社交媒体平台,以及更多的无论是现有的还是尚未想象到的平台,都应该能够在DSP上运行。这些平台(以及任何通信平台)的差异维度如下:
内容类型
内容访问
语境
1) 内容类型
视频、图像、音频、文本或任何其他内容类型之间没有本质上的区别。它们都可以被简化为1和0,并且需要用相同的基本方法来处理。存储、访问、语境和各种元数据(仅举几个例子)应该由DSP以相同的方式处理,而不考虑内容类型。Instagram、YouTube和SoundCloud基本上是同一个网站,只是它们强调的内容类型有所不同。DSP应该被抽象化,这样所有的内容——包括新的内容类型(如VR,触觉)——都可以被支持。
2) 内容访问
公开推文、好友状态更新、群聊、私信,根据对内容的访问权限不同,它们都有所不同。DSP将需要使用加密,以确保只有获得许可的人才可以查看内容,但同时也要足够灵活,界面提供商可以设计出各种各样的共享内容的方案。
公共内容很容易处理,因为每个人都可以查看,所以不需要加密。为了限制访问,我们需要加密。实现此目的的一种方法是,使用对称密码对内容进行加密,以便只有具有特定于该内容的密钥的人才可以查看该内容,然后使用非对称密码将该密钥分发给共享内容的各方。
不用说,这种复杂性不会展现在用户眼前。用户只需要知道已经与他们共享了新内容。
默认情况下,服务提供者(界面提供者和内容服务器) 不可以访问未加密的内容。
3) 语境
说到交流,语境至关重要。语境不同,一个笑话可以变成一种威胁,喷子也可以是哲学家。所有内容都有语境,因此DSP必须有一种稳健的方法来捕获上下文作为元数据,这样它就可以按照内容创建者的意图呈现。
通常情况下,内容的上下文是其他内容:视频上的一条评论或点赞,一个向下的大拇指,一个转发,等等。一个指向所引用内容的简单指针就足够了。然而,这一内容和所有内容都需要分类。
我们需要将一个系统集成到去中心化社交协议中,该系统可以捕获从子贴subreddit 到朋友圈,从LinkedIn风格的网站到博客的所有内容。一种方法是使用标签。我建议从当前平台收集语境分类,并编纂一个标签列表。这些不应硬编码到去中心化社交协议中,而应作为文档开放给服务提供商,以供其借鉴和添加。
通常,这种复杂性应该对用户隐藏起来。当用户创建内容时,他们通常不会有意识地考虑语境,他们只知道自己在发推问文,在猫主子meme subreddit发帖,或单击他们所喜爱视频旁边的心形图标。生成的内容应根据所使用的界面提供商的业务逻辑进行自动打标签(更多信息请参见下文)。这样,不管使用的是什么界面,当用户生成内容时,其他界面提供者就会知道如何向用户解释和显示内容。
例如,如果有人在twitter风格的网站上给你的内容点赞了,而另一个人在Facebook风格的网站上为你点赞了,无论别人使用哪个网站,查看您内容的每个人都会看到两个赞。
通过调整这三个参数,可以使用去中心化社交协议复制所有各种平台。更重要的是,在没有网络效应的情况下,其他无法赢得受众的社交媒体和传播服务现在应该发现,它们可以满足小众社区的需求。
有人可能会说,上面所列举的三个清单中缺少“内容约束”。Twitter与众不同之处不是将用户推文长度限制为280个字符吗?确实是这样,但是去中心化社交协议不需要处理内容约束,因为它可以通过语境来实现。
例如,对于twitter风格的服务,使用其界面(推文)生成的内容可以这样标记。该界面不允许用户生成超过280个字符的内容,因此该界面上标记为推文的所有内容都将不超过280个字符。如果用户独立生成一条长度超过280个字符的推文,twitter服务将不会将其显示给其他用户。
用户是给DSP协议带来生命的一环。在处理用户配置文件时,去中心化协议的主要挑战是名称空间。中心化平台通过将所有已注册用户名的列表放在一个位置,并在用户尝试注册新名称时检查是否重复来处理其名称空间。(当然,用户必须在他们使用的每个平台上重新注册,并且可能会发现他们在一个平台上注册的用户名,在另一个平台上已经被人占用)。对于一个去中心化的协议来说,事情并没有那么简单。没有要查询的中央列表,也没有中央权威拒绝重复。
然而,我们可以转向密码学寻求解决方案。。公钥密码学将使任何人都可以通过任何界面提供商,轻松创建公钥和私钥对。公钥代表您在去中心化社交协议网络中的身份,而私钥将由您的用户客户端保留,并用于证明在该身份背后的是您。公钥是伪随机生成的,因此两个人生成同一密钥的几率非常小,可以放心地忽略。瞧!现在您在网络上拥有唯一的名称和身份。但是,谁愿意自己的名字是一串随机的字符呢?
处理这个问题的一种方法与在现实世界中处理它的方法相同:让人们随意称呼自己,忽略重复。然后,如果您不确定您在与谁打交道,只需检查唯一ID即可。
另一种方法是建立一个名称服务器方案,类似于将唯一的IP地址转换为唯一的域名的方式。在本例中,公钥类似于IP地址,用户名类似于域名。为了实现去中心化,用户客户端和界面提供者可以保存他们遇到的所密钥/名称对的列表。当注册一个新名字时,用户客户端可以在网络上“询问”这个名字是否在任何人的名单上。如果没有,则宣布新的密钥/名称对。如果用户遇到已经在列表中重复使用的名称,则该界面可能会用随机数(1、2、3等)或其他一些区别来消除歧义。
另一个解决方案是使用区块链来记录无重复的密钥/名称对。在区块链上注册的问题是它会侵犯隐私。区块链必然是公开的,但是并非所有用户都如此在意名称空间的重复,以至于希望全世界都知道他们的去中心化社交协议身份。他们可能只使用去中心化社交协议与亲朋好友建立联系,而消除歧义并不是一个大问题。
区块链注册还需要支付以区块链原生代币计价的费用。这就产生了一个问题,因为新用户已经免费使用现代平台数十年了,他们不可能再为使用DSP付费。
选择应该由用户来决定,这不是用户必须考虑和处理的问题,而是用户客户端或界面提供商需要考虑和处理的问题。无论是区块链、名称服务器,还是仅仅轮询网络中连接的人,都需要在成本、隐私和去中心化之间进行权衡。在底层,可以用公钥解决这个问题,但是界面提供者必须想出一些方法来处理用户名与公钥的匹配问题。
译者:Jane