原文:《The Death of Decentralized Email》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 的死亡感到非常不滿。該協議不再可用。正如我們所看到的,這種權力下放是有機地發生的。
惡毒的權威沒有大陰謀奪取網絡。
沒有一個拐點會導致一切崩潰。
相反,我們通過許多不同的人多年來做出的許多次要工程決策的複合效應到達了這一點,並沒有優先考慮保持運營自己的電子郵件服務的低成本的決定,可以稱其為「商業捕獲」。
我很慚愧地承認我也要為是這個問題負一定的責任。當時我並沒有考慮太多,因為我沒有看大局,我只是專注於以任何必要的方式使我們的電子郵件基礎設施正常工作。
這與比特幣有什麼關係?
下面的可視化是一件美麗的事情。這是一個比特幣區塊在點對點網絡節點上傳播的動畫。這是自願制度中自我治理的鳥瞰圖。
正如我們所看到的,關鍵在於個人用戶如何能夠在對等網絡上作為主權實體進行操作。如果這樣做的成本變得太高,那麼用戶會將操作外包給第三方,並且對等點的數量將減少到少數實體成為看門人,他們可以決定網絡的治理和規則的程度,即使沒有正式改變網絡底層協議。
這就是為什麼如果要保護比特幣的寶貴屬性,那麼我們必須拒絕對生態系統進行任何大幅提高直接使用該協議的成本。這包括運行完全驗證節點、保護財富以及能夠自由交易等事情。想像類似的嚴厲機制來圍堵比特幣協議並不是一件容易的事。我們已經看到它以反洗錢的名義進行,並且了解您的客戶政策。而且您可以肯定任何此類措施都將作為為我們自己的利益而向全世界推銷。
如果你仔細想想,比特幣的擴容辯論的大部分內容都是與大公司試圖佔領網絡並為了我們自己的利益改善用戶體驗的鬥爭。
比特幣同胞們:我們必須保持警惕,我們必須抵制暴政的蔓延。如果我們變得自滿,如果我們滿足於方便而不是安全,我們可以期待這個優雅的協議變成一個怪物。