去中心化电子邮件消亡史:Web3 能从中学到什么?
原文:《》by Jameson Lopp
编译:aiddiaojp.eth,Foresight News
有人说,无法历史中吸取教训的人,注定要重蹈覆辙。去中心化协议的支持者从前人的失败中吸取教训是至关重要的,这就是我们回顾电子邮件基础协议 40 年历史的原因所在。(相关阅读:《》)
现有最古老的大规模采用的互联网协议之一是 Jonathan Postel 在 1982 年发布的由 RFC 821 定义的 SMTP。
Jon Postel
SMTP 意为「简单邮件传输协议」,它是如何在两台机器之间发送电子邮件的标准。每天有数十亿人在使用 SMTP,这已经证明它非常成功。
背景
我是比特币教育者和工程师。但我曾经为一家名为 Bronto Software 的电子邮件营销公司开发软件和基础设施。当我在 Bronto 工作时,我们的客户每天通过我们的服务器发送数十万封电子邮件。十年后我离开时,这个数字已经超过每天 1 亿封电子邮件。
将电子邮件基础设施扩展到如此庞大的水平需要面临许多挑战,我们的工作在这方面处于领先地位。电子邮件的可传递性是一个极其复杂的问题,它只能通过技术手段解决。随着公司规模的扩大,我们最终不得不聘请全职的「交付专家」,他们不是工程师,而是关系经理,负责与电子邮件生态系统中的其他主要参与者(如 ISP 和垃圾邮件阻止列表)通过专业网络保持沟通。
SMTP 的起源
1980 年代互联网尚未商业化,主要用在军事设施、大学和企业研究实验室。当时互联网连接缓慢且不稳定,服务器数量少到所有参与者都可以相互识别。
第一封电子邮件是在这两台 ARPANET 计算机之间发送的
这是当时的阿帕网地图,互联网的前身。
在这种情况下,为了促进其快速被采用,SMTP 强调可靠性而不是安全性是合理的。许多系统管理员通过将他们的邮件服务器配置为开放中继来相互传递邮件。这意味着他们会接受原本要传递给其他系统用户的邮件,并将其转发到最终目的地。由于这种合作,新兴互联网上的电子邮件传输能够顺利送达,服务器管理员通常乐于帮助他们的同事,并获得帮助作为回报。
换句话说,尽管最初被设计为可以抵御核攻击的通信网络,但早期的互联网并不是一个对抗性网络。由于连接到网络的难度和成本,管理员通常无私贡献。
SMTP 协议
在这里,我们可以看到 SMTP 是一个客户端 – 服务器协议,它帮助预期发送的消息进行简单的往返传输。
SMTP 最初只支持未经身份验证、未加密的 ASCII 文本连接,但这些连接容易受到中间人攻击、欺骗和垃圾邮件的攻击。
早期的电子邮件无论其内容如何,每个电子邮件用户都受到平等对待。只要遵循协议的规则,就可以期望消息到达目的地。
ESMTP
1995 年 11 月,RFC 1869 定义了可扩展简单邮件传输协议 (ESMTP),它为当前和未来的扩展建立了一个通用架构,旨在添加原始 SMTP 中缺少的功能。
ESMTP 定义了一致且可管理的方式,通过该方式可以识别 ESMTP 客户端和服务器,并且服务器可以指示支持的扩展结果。消息传递和 SMTP-AUTH 于 1998 年和 1999 年被引入,两者都改变了电子邮件传递的性质。
最初,SMTP 服务器位于组织内部,从外部接收组织的邮件,并将消息从组织传输到外部。但随着时间的推移,SMTP 服务器在实践中扩展了它们的角色,成为用户的消息发送代理,其中一些正在从组织外部传输邮件。
由于万维网的迅速扩张和普及,SMTP 需要特定的规则来中继邮件和验证用户,以防止中继未经请求的电子邮件攻击。
发送消息的工作最初是因为流行的邮件服务器经常重写邮件,例如将域名添加到不合格的地址。
当正在修复的消息是初始传输时,此行为很有用,但当消息出现在其他地方并被中继时,这种行为是危险和有害的。邮件到服务和中继的明确分离被视为允许和鼓励重写提交,同时也是禁止重写中继的一种方式。
随着垃圾邮件变得越来越普遍,这种新范式被视为一种提供从组织发送邮件的权限以及可追溯性的方式。
垃圾邮件
垃圾邮件的第一个实例可以追溯到 1978 年,当时 Gary Thurek 向数百名 ARPANET 用户发送了未经请求的营销信息。该消息推广了 Digital Equipment Corporation 的新产品,Thurek 声称这封具有历史意义的电子邮件带来了 1300 万美元的销售额。
然而早期电子邮件用户的强烈抗议,阻止其他人重复这种策略。这种情况在 1990 年代发生了变化:数以百万计的人发现了互联网并注册了廉价的个人账户,而广告商发现了大量且愿意通过这个新渠道以低廉的价格接触到的受众。
第一堵墙升起
开放中继是垃圾邮件涌入的第一批受害者之一。在早期的主流互联网中,除了最大的实体之外,宽带连接对所有人来说都非常昂贵。垃圾邮件发送者很快就知道向公司服务器发送几条带有数千个条目的收件人列表的消息是很轻松的,这些服务器会很乐意转发它们。但系统管理员注意到他们的服务账单和用户投诉数量激增,没过多久,他们就意识到他们无法在不承担巨大成本和招致恶意的情况下帮助他们。
为了有目的地丢弃某些消息,以可靠性为主要特征的 SMTP 标准必须进行修改,但没有人知道如何进行。关闭开放式继电器似乎是简单的第一步,管理员们激烈地争论了很久,关于这是否是必要的改变。但最终,人们普遍认为旧互联网的信任本质已经死去,忽视新现实是疯狂的。
一些管理员将限制的想法更进一步,并决定他们不仅会关闭自己的中继,而且作为另一道防线,他们将不再接受来自任何开放中继的消息。随着这种策略被逐渐执行,管理员开始通过向其域名服务器添加特殊格式的条目来共享他们的中继列表,从而允许任何人可以请求这些数据,开启了备受争议的 DNS 黑洞列表时代。例如管理员争论是否可以接受主动测试远程服务器以查看它们是否在运行开放中继,进一步讨论了系统管理员在禁用开放中继后应遵循哪些程序来将其服务器从黑名单中删除。
最早的黑名单之一是邮件滥用预防系统 MAPS。MAPS 是垃圾邮件的反向拼写,它确定了发布反垃圾邮件黑名单的绝对权利,MAPS 发布了「如何起诉我们」页面,邀请垃圾邮件发送者帮助他们制定判例法。2000 年,MAPS 在不少于三起诉讼中被指定为被告,被 Yesmail、Media3 和调查巨头 Harris Interactive 起诉。2001 年,该公司为管理员设置了另一个障碍,即要求订阅才能访问黑名单。
MAPS 的目的是教育用户通过公认的 ISP 中继邮件,而不是运行他们自己的邮件服务器。这样做会带来各种优点和缺点。ISP 通常能够更彻底地监控他们的系统,以避免病毒、劫持者和其他威胁。此外它为有效利用 SPF 等策略铺平了道路,这些策略依赖 SMTP 身份验证来阻止电子邮件地址滥用。ISP 电子邮件中继与细粒度 IP 地址阻止不兼容:如果它们中继垃圾邮件并被阻止,则会影响 ISP 的所有客户。
列入黑名单附带损害的第一批受害者是那些邮件服务器因自身过错而被封锁的人。当过度热心或懒惰的黑名单运营商将整个 IP 地址块添加到他们的列表中时,就会发生这种情况,而非仅仅是针对特定的违规地址。一些黑名单管理员认为,为了防止这些问题,制定黑名单应该谨慎行事,而其他人则认为这会给开放中继管理员带来额外的压力,要求其停止运营。
2003:反垃圾邮件法案
美国制定了监管商业电子邮件的标准,制定了名为「控制未经请求的色情和营销攻击」的立法,更为人所知的是 CAN-SPAM 法案。在电子邮件发明 32 年后,乔治·W·布什总统于 2003 年将其签署为法律。
一些批评者说,这项法律做得仍然还不够。CAN-SPAM 使欺骗「收件人」定为轻罪,并要求人们选择退出。但是法律并未将发送未经请求的电子邮件营销信息定为非法,这促使一些人称其为「You-Can-Spam」法案。
在接下来的 20 年中,还有一些法律,例如加拿大的反垃圾邮件立法 (CASL) 和欧洲的通用数据保护条例 (GDPR)。
目前尚不清楚这些法律实际上有多大帮助。由于互联网的国际性质,很难起诉在其他国家开展业务的犯罪分子。我只能找到几十起针对垃圾邮件发送者的起诉,并且在过去 20 年的大部分时间里,未经请求的电子邮件的数量一直保持在 50% 以上。
衡量反垃圾邮件策略的有效性
目前很难获得一致准确的垃圾邮件流行统计数据。鉴于电子邮件的点对点性质,同时很难跟踪,甚至跟踪它的提供商也往往只坚持了几年。
2000 年代中期是僵尸网络成熟的时期,垃圾邮件的数量激增至所有电子邮件的 80% 以上,在 2010 年达到 89% 的峰值。
2011 年垃圾邮件率下降到 75%,原因是三个大型僵尸网络被摧毁,以及垃圾邮件发送团伙之间的骚乱。
2015 年再次出现大幅下降,但主要是由于犯罪团伙开始从垃圾邮件转向恶意软件和勒索软件。这是一场永无止境的战斗,即使在今天,据估计超过 50% 的电子邮件都是垃圾邮件。
内容过滤时代
随着电子邮件滥用的增加,ISP 不得不采取措施避免在客户的邮箱中塞满不需要且不相关的电子邮件。为了应对越来越多的垃圾邮件,ISP 开始使用基于关键字、模式或特殊字符的粗略过滤器。随着时间的推移,这演变成更复杂的贝叶斯滤波器。Spamassassin 是应用最广泛的项目,拥有超过一千条过滤规则。
虽然会有一些效果,但这些措施仍然不准确,并导致许多误报。即使它们完全没问题并且实际上是收件人想要的,许多电子邮件礽仍然会被过滤或阻止。ISP 尽最大努力通过猜测用户在收件箱中真正想要的内容来改善问题,但早期创建准确过滤器的尝试都以失败告终。
更多的墙被竖立起来
虽然开放式中继在 90 年代消亡,但在接下来的十年中,提供商通常会使用基于内容的过滤器勉强维持。但随着互联网连接变得更容易获得,垃圾邮件发送者编写恶意软件来攻击 ISP 网络上的计算机,大多数无知的用户甚至不知道他们的计算机已加入僵尸网络。此后不久,许多 ISP 开始完全阻止端口 25 上的流量,这是 SMTP 的默认端口,也是他们能够减少垃圾邮件泛滥的唯一方法。
声誉证明
垃圾邮件过滤非常不准确的事实导致 ISP 需要向发件人和 ESP(电子邮件服务提供商)提供通信渠道。这反过来又将合法发件人列入白名单,以规避基于内容的静态垃圾邮件的限制过滤器,也是 ISP 的「邮政主管部门」的开始。这在一段时间内效果很好,但这种让发件人发送电子邮件的新方法并不是万无一失的。由于 ISP 通常仍然没有足够的数据来证明其发件人的声明是合法的,并且他们的电子邮件是收件人所需要的,因此滥用仍在继续。拥有良好的「ISP」关系变得至关重要,因为现在是人为决定您的电子邮件是否被阻止、发送到垃圾邮件文件夹或发送到收件箱。
新兴的中间商行业
电子邮件可传递性的下一个主要发展包括信誉评分的标准化。此时出现了「SenderScore」和其他信誉系统。添加发件人身份验证机制(如发件人策略框架、发件人 ID 和域密钥识别邮件)进一步减少了误报。
它们中的大多数都依赖于分配 IP 地址和控制域注册的集中式网关。这些实际上都没有为电子邮件发件人提供任何主权。
选择实施基于信誉的传递过滤机制的致命缺陷是没有去中心化的在线信誉服务;因此,这实质上在分散的简单邮件传输协议之上添加了一个高度集中的元协议层。
集权
多年来,随着垃圾邮件成为一个更大的社会问题,并且公认的解决方案是建立有效的声誉系统,但这对能够处理大量电子邮件的接收产生了高昂的成本,对于最终用户来说并不适用。因为防止垃圾邮件的方法不是寻求阻止大量发送者的经济解决方案,这给接收者带来了成本。维护声誉列表所需的复杂性必须外包给专家,而筛选大量传入邮件的成本不断增加,除了最大的几家企业外,其他所有企业都被淘汰了。
结果,今天超过 90% 的电子邮件用户被 5 家公司捕获。
今天的电子邮件服务器会声称接受传入的邮件,但会在收到邮件后立即删除,这种做法称为黑洞。科技巨头运营的电子邮件服务器将大量 IP 地址永久列入黑名单,并在不通知的情况下删除其电子邮件。他们的后端基础架构在庞大的数据集上运行算法,因此大多数垃圾邮件不会出现在您的收件箱中。
它有效吗?当然。但它付出了巨大的代价,很少有人意识到其所付出代价。
参与度证明
近年来,垃圾邮件过滤和评估收件人实际想要接收的内容发生了进一步的变化,因为现在问题已经变得不仅仅是未经请求的电子邮件。许多人收到的合法电子邮件比他们可能阅读的还要多。
电子邮件服务不再依赖自己的任意判断,而是通过提供更复杂的功能来管理传入邮件,从而将权力还到用户手中。ISP 已经接受了大数据计算,并对其用户的所有操作进行分析,以确定哪些电子邮件是最理想的。为参与度指标收集的大量数据有助于几乎完全消除误报。
一些参与示例:
- 将电子邮件移至垃圾邮件或垃圾箱会对发件人造成不良影响。
- 将电子邮件长时间保存在收件箱中、回复、转发表明积极参与。
- 将发件人添加到地址簿是需要他们的电子邮件的最佳指示。
当然,虽然这些参与度指标在统计上是合理的,但它们对电子邮件发件人毫无用处,除非他们可以首先跳过前面提到的所有环节,以便首先实际发送到收件箱。
反垃圾邮件措施
1997 年,Adam Back 意识到垃圾邮件的根本问题在于发送成本太低。他发布了一种解决方案 hashcash 白皮书,其中提到在发送电子邮件而不是接收电子邮件时收取费用。
Hashcash 是一种基于加密哈希的工作量证明算法,它需要可配置的工作量来解决给定的难题,但任何人都可以立即验证该计算的证明。hashcash 标记被添加到电子邮件的标题中,以证明发件人在发送电子邮件之前已经花费了算力来计算标记。换句话说,因为在数学上证明发件人在发送电子邮件之前已经花费了一定的时间来生成标记,所以他们不太可能是垃圾邮件发送者,大量这样做在计算上会令人望而却步。
hashcash 标头如下所示:
当收件人收到一封电子邮件时,它首先检查该电子邮件是否具有 hashcash 标头,然后对标头进行散列,并检查它是否具有所需数量的前导零位。接收者只需要计算一次哈希,因此,验证邮票所需的时间远少于找到有效邮票所需的时间。
垃圾邮件发送者通常可以同时向成百上千的收件人发送垃圾邮件。但是,hashcash 需要为每个单独的接收者单独印章,有效阻止了这一行为。
SpamAssassin 从 2.70 版开始就能够检查 Hashcash 标记,为有效的、未使用的 hashcash 标记做标记(即不太可能是垃圾邮件)。然而虽然 hashcash 插件默认是打开的,但它仍然需要配置一个地址模式列表,该列表必须与 hashcash 资源字段匹配,然后才能使用它。
为什么 hashcash 没有被广泛采用?一个原因是它的工作机制存在先有鸡还是先有蛋的问题。你希望几乎所有电子邮件用户同时迁移他们的电子邮件客户端和服务器以开始支持 hashcash,否则就会出现大量合法电子邮件因不包含有效的 hashcash 标头而被拒绝。
调查损害
我们所走的不幸之路至少部分是由于个别服务器管理员可以零碎地采用不合适的声誉过滤解决方案,进而导致了数十年的衰落。个别服务器管理员举手投降,向新的电子邮件霸主科技巨头屈服。
我们还剩下什么?
- 无法成功使用家庭电子邮件服务器。
- 无法在云上 VPS 成功使用电子邮件服务器。
- 无法在自己数据中心的裸机机器上成功使用电子邮件服务器。
在某些时候,可能是由于 IP 邻居发送垃圾邮件、你自己的某个用户被入侵,或者是由于任意数量的任意原因,你的 IP 地址必然会被禁止。这不是会不会发生的问题,而是何时发生的问题。一个错误的举动或不幸的事件,就会被禁止。
如今如果想构建发送电子邮件的服务,就必须向业内其他人的电子邮件服务提供商付费。我们创造了一个中间商行业,它维持了他们的反竞争护城河,所以他们被激励继续把关。
我对宣布 SMTP 的死亡感到非常不满。该协议不再可用。正如我们所看到的,这种权力下放是有机地发生的。
恶毒的权威没有大阴谋夺取网络。
没有一个拐点会导致一切崩溃。
相反,我们通过许多不同的人多年来做出的许多次要工程决策的复合效应到达了这一点,并没有优先考虑保持运营自己的电子邮件服务的低成本的决定,可以称其为「商业捕获」。
我很惭愧地承认我也要为是这个问题负一定的责任。当时我并没有考虑太多,因为我没有看大局,我只是专注于以任何必要的方式使我们的电子邮件基础设施正常工作。
这与比特币有什么关系?
下面的可视化是一件美丽的事情。这是一个比特币区块在点对点网络节点上传播的动画。这是自愿制度中自我治理的鸟瞰图。
正如我们所看到的,关键在于个人用户如何能够在对等网络上作为主权实体进行操作。如果这样做的成本变得太高,那么用户会将操作外包给第三方,并且对等点的数量将减少到少数实体成为看门人,他们可以决定网络的治理和规则的程度,即使没有正式改变网络底层协议。
这就是为什么如果要保护比特币的宝贵属性,那么我们必须拒绝对生态系统进行任何大幅提高直接使用该协议的成本。这包括运行完全验证节点、保护财富以及能够自由交易等事情。想象类似的严厉机制来围堵比特币协议并不是一件容易的事。我们已经看到它以反洗钱的名义进行,并且了解您的客户政策。而且您可以肯定任何此类措施都将作为为我们自己的利益而向全世界推销。
如果你仔细想想,比特币的扩容辩论的大部分内容都是与大公司试图占领网络并为了我们自己的利益改善用户体验的斗争。
比特币同胞们:我们必须保持警惕,我们必须抵制暴政的蔓延。如果我们变得自满,如果我们满足于方便而不是安全,我们可以期待这个优雅的协议变成一个怪物。