社交网络的充分去中心化
来源:老雅痞
作者:Varun Srinivasan,印度人,毕业于卡内基梅隆大学,曾在微软工作,后又创立了帮助听障人士的SoundFocus,目前在 Coinbase 担任主管。
每年,中心化的社交网络都会对用户和开发者的行为施加更多限制。他们似乎相信,限制选择是通往健康网络的道路,而事实可能恰恰相反。 一个去中心化的社交网络可以通过做出中心化网络无法做到的两个强有力的承诺来挑战这一假设。 他们可以保证用户拥有与受众的直接关系,而且开发者可以一直在网络上建立应用。
中心化的社交网络密切控制其用户接触受众的能力。他们突出一些帖子,压制其他帖子,以增加页面浏览量和广告收入。但是,可靠地接触受众对用户来说是有价值的,而且不仅仅是在发帖后获得报酬的那种方式。例如, 马斯克 的推特粉丝使他的公司很容易从公众那里筹集到数十亿美元。当人们发现公司为了自己的利益而限制访问时,他们的沮丧是可以理解的。当他们意识到公司控制了他们的身份,并可以将他们踢出网络而没有任何追索权时,他们会更加不安。
网络与开发者的关系也有争议,他们带来了数百万的早期用户。开发者们建立了备用的客户端,发明了用户界面范例,甚至推出了价值数十亿美元的游戏公司。但随着他们的成长,网络意识到他们不再需要开发者了。大多数用户被锁在里面,不会离开,因为他们会失去一部分的受众。开发者的API成为减少收入和增加复杂性的负担,并被限制或完全关闭。现在,只有那些在公司内部拥有政治权力的人可以尝试新的想法。
一个去中心化的社交网络协议可以通过确保对网络的开放来改变这种动态。公司仍然可以通过提供服务赚钱,就像Gmail的电子邮件和Github的Git一样。但去中心化的访问确保他们不能垄断和忽视用户。它创造了一个基于市场的方法,最好的想法可以在平等的基础上竞争。
足够的去中心化
如果两个用户可以找到对方并进行交流,即使网络的其他部分想要阻止,那么社交网络就实现了充分的去中心化。这意味着用户总是可以接触到他们的受众,这只有在开发者可以在网络上建立许多客户端的情况下才可能是真的。如果只有一个客户端存在,它可以阻止用户的交流。实现这一点只需要三个去中心化的功能:要求一个独特的用户名,在这个名字下发布信息,以及读取任何有效名字的信息。
当然,社交网络做的不仅仅是发送消息。首先,他们将信息组织成一个线程,发送推送通知,并推荐新的用户来关注。这些功能不容易去中心化,而且人们想要的东西清单会比去中心化的能力增长得更快。但这些功能并不影响充分的去中心化,所以客户可以以集中的方式建立这些功能。电子邮件采取了类似的方法,发送消息是协议的一部分,但客户端必须开发自己的垃圾邮件过滤器。
有些人认为,去中心化要求整个社交网络都在区块链上。这是不必要的,甚至是不可取的。社交网络每年产生PB级的数据,在链上存储可能非常昂贵。区块链也使得数据很难被永远删除,这对用户来说是一个理想的功能。利用链上系统来分散所有权,同时利用链下系统来获得更好的用户体验的网络设计,是构建社交网络的更好路径。
我们已经在去中心化的社交网络上洒了很多墨水,但大多数用户仍然在中心化的网络上。为什么这种情况还没有改变呢?在去中心化的社交网络中,有三个具有挑战性的问题减缓了采用的速度:扩展网络,去中心化的名称注册,以及建立新的社交原语。但是,这三个问题第一次有了实际的解决方案。
扩大网络规模
社交网络是用户之间通过中心化服务器传递的一系列信息。减少中心化的一个简单方法是消除对中心化服务器的需求。用户可以选择任何他们喜欢的服务器来存储他们的信息,并使用一对公钥/私钥对每个服务器进行签名(1)。公钥成为用户的唯一标识符,并且消息是防篡改的。
以去中心化的方式使用社交网络应该是免费和直接的,但这在实践中是困难的。用户希望他们的信息可以被所有的追随者看到,这就需要在云端有一个永远在线的服务器。一个合理的预期是,自我托管将像运行你自己的网站一样复杂和昂贵。但我们不可能通过要求每个人运行一台服务器来接纳数十亿人。
这就是管理型主机的作用。这些公司托管用户的社会数据,就像Gmail和Outlook托管电子邮件一样。管理型主机可以提供一些对用户来说不切实际的功能,如内容审核系统。他们可以提供更好的用户体验,我们应该期待大多数人使用他们而不是运行自己的服务器。
反对管理型主机的一个常见论点是,它们可以使网络中心化。例如,受欢迎的供应商可以联合起来,对某些信息向用户收取更多费用。从长远来看,这种行为是负和的,因为它们激励开发者制造新的管理型主机,而用户则转而使用它们。像电子邮件和加密货币这样的协议从第一天起就使更换供应商变得很容易,这反过来又使串通行为变得罕见和短暂。
去中心化的名字注册
一个用户的追随者需要找到正确的主机来发送和接收信息。名称注册处可以帮助将每个用户的唯一公钥映射到一个主机的URL和一个难忘的、独特的用户名,如@alice。一个追随者可以向注册处询问@alice的主机,并收到正确的URL。一个去中心化的注册表,只允许Alice改变这个URL,可以保护他们免受恶意主机的侵害。如果一个主机停止为他们的信息提供服务,他们可以修改注册表以指向一个新的主机,而他们的追随者就会切换到新的位置。
去中心化名称注册表是困难的,早期的尝试做出了困难的权衡。ActivityPub没有提供一种方法,在不影响去中心化的情况下使用一个管理的主机。Secure Scuttlebutt允许去中心化,但不允许使用独特和易记的名字,这使得识别人更加困难。Keybase实现了一个注册表,但以中心化的方式。
然而,智能合约终于使去中心化的注册表成为可能。用户可以向区块链上的智能合约进行交易,该合约执行了去中心化注册表的功能。该合约确保只有该用户可以改变URL,如果有两个人试图同时注册同一个名字,区块链会提供冲突解决。ENS和Unstoppable Domains已经在 以太坊 上实现了类似的系统。
注册表是网络中唯一需要在区块链上进行同步的部分。所有其他的动作都可以通过用密钥对签名来安全地发生在链外。如果你收到一个声称来自@alice的消息,你可以向注册中心索取@alice的公钥,并验证签名是否来自@alice的私钥。
新颖的社交原语
用户并不只是想要一个现有社交网络的去中心化版本。用户从一个新的社交网络中真正想要的是地位或娱乐,以及去中心化带来的好处。任何新的网络都必须提供一种引人注目的方式来实现这两点,否则它将面临一场艰苦的战斗,难以起步。
区块链已经创造了获得地位的新方法。成为早期用户、代币持有者或投票者会赋予人们地位。区块链用户的社交网络可以使人们很容易产生这种活动的证明。然后,该网络可以提供代币门控社区、NFT持有人的验证徽章和代币持有人的匿名投票等功能。最好的链上系统也是高度可组合的,所以为ERC-721等标准设计的社交功能会自动适用于添加到网络中的每一个新代币。
成功的社交网络通常都是围绕着新的通信原语建立的。Facebook有墙,Twitter有140字的推特,Snapchat有短暂的信息。你可以用去中心化的身份、区块链和zk-proofs做的事情的想法格局很大,很奇怪,也很有趣,可能有很多基元等待被发现。去中心化的社交网络应该探索这种方式来吸引用户。提供一个尚不存在的产品体验,远比克隆一个现有的网络更有说服力。
结论
中心化的社交网络影响着我们生活的方方面面,而它们的缺点是痛苦的。密码学和区块链的改进提供了可行的解决方案,以实现充分的去中心化。我们有一个合理的方法来建立一个去中心化的名字登记处,一个混合的链外/链上架构来扩展网络,以及有趣的新社交原语来建立。更重要的是,人们对现状不满意,想要更好的东西。如果你是一个想改变世界的雄心勃勃的建设者,这是一个可以开始工作的伟大问题空间。
感谢Dan Romero、Shaun Young、Tim Beiko、Lakshman Sankar和Brian Gu对草稿的帮助。
灵感来自Secure Scuttlebutt的设计。