打破平臺壟斷,不妨試試技術解法

renyuneyun Sat 23 January 2021 1 mins

2021年頭一個月針對美國總統換屆的種種爭奪中,最讓人大跌眼鏡的便是以Twitter爲首的互聯網媒體平臺對特朗普賬號的絞殺——找個理由,將其禁言乃至封號,並且是以一種近乎連坐的方式。這和他們以前喜歡標榜的言論自由態度大相徑庭,以至於美國人也終於看到了它們手上有且有意願使用的這種權力。

然而美國人的討論卻又走上了老路,即企業是否有權對自己平臺上的數據隨意修改,或者是這一行爲是否違背了法律規定的言論自由。這種討論大約是不會有什麼結果的,而哪怕這一次有結果也在長期上作用不明顯——法律的滯後性已經顯現出來了,所以它們是否違反了「過去」的法律條紋並不是核心,核心的是如何確保它們將來不會再在另一個角度作出類似的事情。

在我看來,新形勢下需要新的思路,而這個新思路就着落在技術本身——是否有新的(或者老的)互聯網技術可以降低平臺的掌控力(權力)?

答案是肯定的,而且這些技術早已存在。它們的理念十分簡單,但相當多人欠缺一個知道它們以及知道它們好在哪裏的機會。

我在以前的文章中對這類平臺有所簡單介紹,不過是出於社交媒體這個特定用途的。這篇文章嘗試用簡單的語言解釋這些技術的核心,以便讓更多的人對「另一個可能的互聯網」有所瞭解。當然,不可避免地,其中會涉及一些技術理念,但我會儘量減少它們對理解正文的影響。

最基本的網絡服務模式

大多數人熟悉的互聯網(或者更確切的叫因特網)是由網站以及一些需要聯網的軟件(智能手機的軟件被稱爲app)所組成的。它們的服務方式很直接:軟件的提供方運營着一個平臺(本質上是服務器),每個用戶通過對應軟件連接到平臺上,然後平臺提供對應的服務。

舉個例子:騰訊有一些服務器運行着QQ的服務(平臺),QQ的用戶需要安裝QQ客戶端(即對應的軟件),然後在客戶端上登錄自己的賬號(連接到平臺上),然後繼續在客戶端上和好友聊天(平臺提供相應服務,但需要你使用對應的軟件)。

網站也是一樣的模式,但更通用化:網站的建設者搭建服務器(平臺),用戶通過通用的軟件「瀏覽器」通過「網址」連接到對應的服務器上,然後服務器返回網頁(提供服務)。

在計算機尤其是互聯網的語境下,「通用」就意味着「標準化」,也意味着「開放」。

但「開放」什麼?開放的是「協議」——前面提到的「對應的軟件」和「平臺」之間的通信會通過某一種固定的預先決定好的方式進行,這種特定的方式被稱爲「協議」。

所以爲什麼QQ必須使用專門的客戶端訪問?因爲QQ的協議是封閉的,而且騰訊公司不遺餘力地確保其協議不被解析(或至少明面上不被解析)。

爲什麼網站可以通過任意的瀏覽器訪問而不用使用特定的某個公司的瀏覽器?因爲網站和瀏覽器之間通信的協議HTTP(本文不討論HTTP和HTTPS等的區別,因爲這些細節不影響大框架)是開放的,而網頁本身也是由標準化的HTML寫成的,所以任何人都可以製作一個軟件(瀏覽器)來和網站通信並展示網頁。這一系列標準及其上的東西被稱爲「萬維網」(WWW,World Wide Web)。

那麼爲什麼B站既有網站也有對應的軟件(app)?因爲B站的服務器同時支持兩種協議,分別爲瀏覽器和其軟件使用。

上面這些你也許在其他地方也看過,但我覺得還是有必要敘述一下,因爲重點馬上就到:

大多數現有的服務有一個共同的特點:你只能在它們的服務器上和它們服務器上的其他用戶/數據交互,而不能和其他服務器上的用戶/數據交互。

比如說,我有一個QQ號,而我的朋友某甲沒有QQ號卻有Skype/Line/Slack賬號,那麼我不能從QQ上添加某甲的這些賬號爲好友(更不能給某甲的賬號發送消息)。同理,新浪微博的用戶不能關注網易微博/騰訊微博上的用戶,反過來也不能。

許多人可能會覺得這是「理所當然」的,因爲他們「從一開始使用網絡時就是這個樣子」。這種邏輯的謬誤再顯然不過,但不將其拎出來很多人完全意識不到。正如先人所說,我們使用的工具會塑造我們的思維模式。

一些人可能意識到了,萬維網和這些服務還稍有差別:你可以在一個網頁上「超鏈接」到另一個網頁(用戶點擊時進行「跳轉」),而完全不用考慮它們是不是同一個公司/網站上的。是的,萬維網的確比它們優秀,但還有更優秀的例子——電子郵件。

被部分人遺忘的電子郵件系統

許多活在壟斷互聯網企業支配下的低年齡新用戶可能根本沒有怎麼使用過電子郵件,但電子郵件系統源遠流長且歷久彌新。

用過電子郵件的人應該都知道,當你想發送郵件時,需要填寫收件人,而收件人的格式是AAA@BBB.CCC。其中BBB.CCC部分是和網站服務同源的「域名」,標明了該用戶所使用的郵件服務提供商,比如qq.com和foxmail.com是騰訊的,outlook.com和hotmail.com是微軟的。而其中的AAA則是該用戶在該服務器下的用戶名。

通過這樣的模式及相應的機制,郵件系統可以讓在服務商A上的用戶與服務商B上的用戶交流。其方式簡單且有效。再加上電子郵件也有標準化的「用戶(客戶端)-服務器」通信協議(POP3、IMAP、SMTP),於是不同用戶手上的(使用不同客戶端的)電子郵件體驗可能天差地別,但他們依然可以無任何障礙地交流。

之所以電子郵件郵件系統可以這樣,而QQ、B站等服務做不到,正是由於電子郵件系統有標準的「服務器間」通信協議:它和前面那種簡單的「用戶-服務器」模式有顯著不同,除了「用戶-服務器」的通信協議外,還有「服務器-服務器」的通信協議。

這種添加了「服務器-服務器」通信協議的服務模式,被稱爲「互聯」(federated)服務/系統。

互聯系統

電子郵件只是互聯系統的一個最常見且典型的例子。事實上,你日常中所用的多數服務都可以是互聯的。

一時之間你可能想不到都有什麼,那麼我就來提幾個醒:即時通信服務(如QQ、微信),微博客服務(如新浪微博、Twitter),社交網絡服務(如QQ空間、Facebook),視頻平臺(如B站、Youtube),購物平臺(如淘寶、亞馬遜)。

比方說,即時通信可以選擇基於XMPP協議的或者是基於matrix協議的服務(個人更傾向於後者),微博客可以選擇mastodon或者GNU Social,社交網絡可以選擇friendica或者diaspora*,等等等等。這些都是不同的軟件,任何一個人搭建的任一服務器實例(常被稱爲pod或hub),都可以和相兼容的另一pod交互——之所以說是「相兼容的」而不是說「同一軟件的」,是因爲有許多軟件之間也是可以互相交互的,是相互兼容的。

那麼,和非互聯的系統相比,互聯系統有什麼劣勢呢?尤其重要的是,爲什麼企業都選擇封閉的系統而非互聯的系統呢?

第二個問題的解答很簡單:互聯系統會讓企業失去很多依靠壟斷可得的盈利機會,所以企業不選擇。 因爲如果是互聯的系統,如果企業A的服務不好(比如有許多廣告),那麼用戶完全可以在企業B的服務上註冊賬號,且不損失任何與企業A上的用戶交互的能力;如果所有企業的服務都不好,那麼還可以自建服務器,或選擇非企業的服務器。 這和技術優秀與否關係不大,甚至和是否需要投入額外成本(去寫文檔)的關係都不大,純粹利益的考量足以使企業不願意這麼做。

當然,如果從純粹的技術角度考慮,互聯系統也有一些繞不過去的問題需要解決。但這些問題從用戶的角度幾乎是無感的,所以用戶沒有任何理由站在非互聯系統一邊。

互聯系統繞不過去的問題主要是「服務器-服務器」之間的傳輸速度問題,或者說是由此引起的「延遲(延時)」問題以及更技術一些的「一致性」問題。但從用戶的角度看,在這些服務上,多數十乃至數百毫秒的延遲並沒有影響,畢竟用戶自己的網絡抖動都可能引入不止這些的延遲。至於視頻通話,多數情況下都是P2P連接,也就是視頻的雙方直接建立連接,完全繞過軟件的一般通信結構,所以也不需要操心。

那麼(對用戶來說)只要引入系統間互聯就是完美的「另一種」方案了麼?也不是。用戶的數據依然存儲在某一個服務商的服務器上,當需要切換服務時這仍然會有問題。哪怕引入GDPR的機制要求數據全部可導出,你的聯繫人仍然需要手動重新添加。

有辦法解決這個問題麼?有,引入「遊牧身份」(nomadic identity)。

遊牧身份

遊牧身份的概念建立於互聯系統之上,專門爲了解決「無縫切換服務商」這個問題。至少以我所知,它是由HubZilla/Zot提出的一種理念(技術)。

它的理念很容易理解:不強行假設用戶從屬於「某一」實例(pod),不使用基於實例的用戶標識,而使用另一種和實例無關的方法來標識用戶。在HubZilla上,所選擇的方法是爲每個「用戶」(實際是每個channel,但對理解概念來說不重要)生成一個非對稱密鑰對,用公鑰來標記用戶。

因而,每個用戶可以任意選擇一個實例作爲自己的起點,然後添加聯繫人。之後在其他的備用的實例上「關聯」上自己原先的實例,這樣不同實例之間就進行了同步,在任一實例上都可以完整、同步地進行操作。在需要切換實例時,用戶只需要刪除原先實例上的身份即可。

這可以說是對互聯系統中的用戶身份遷移的最完美解法了,而且它沒有引入許多額外的成本(除了用戶所挑選的每個pod都需要存儲一份該用戶的信息外)。但目前少有其他系統使用類似的方案,不知道究竟只是沒打算/來得及實現,還是對技術猶有疑慮——用戶的唯一身份標識目前採取非對稱密鑰,但在「將來」會有被破解的風險。

分佈式平臺

像前面每個方案一樣,遊牧身份的方案仍然有一個繞不過去的假設:每個pod都需要具有可以正常訪問的(長期的)公網IP地址。另外,各個實例之間通信的安全也需要保障,一般的選擇都是通過HTTPS/SSL/TLS,所以也需要確保DNS解析沒有問題以及可以拿到SSL證書(通過Let's Encrypt基本可以解決第二個)。

但如我們所知,IPv4地址早已枯竭,IPv6的廣泛使用還欠缺不少火候,於是許多人自己的電腦無法拿到公網IP地址。但仍有人希望可以將數據完全握在自己手中,希望可以在自己的電腦上搭建服務器。也有人純粹就是不想遵循上述模式。

於是還有另一種完全不同的技術路線,它使用(幾乎)完全的分佈式理念,以在這種需求下運行。解釋其理念會需要解釋大量技術及細節(且每個協議的做法都不盡相同),所以本文不對其詳細解釋。但重要的是有這樣的平臺,其數據完全存儲在用戶(們)自己的設備上,完全不需要商業公司或大平臺。

但由於這些特點,經營非法勾當的人也喜歡這類平臺,以至於它們已經幾乎成爲非法的代名詞。但技術畢竟只是技術。

至於該技術路線本身,延遲是其最顯著的劣勢。這裏不再是多少毫秒,而是多少秒或是多少分鐘的延遲。在一些領域中,該性質導致其已幾乎不可用。但在一些其他領域中,它也有其不同尋常的優勢。最顯著的一個便是在沒有廣域網連接的情況下,局域網中該類技術可以迅速將人連接、組織起來。在災難情況下可以說這是唯一的方案。

優劣和選項

前面談及了三種(或者說兩種)備選的技術方案,都可以用來解決平臺壟斷的問題,且各有各的特點(優劣勢)。

以我個人的觀點來看,互聯系統是打破壟斷但又不影響創新激勵的最佳選項。主要理由有三點(基於「平臺之間可以保證互聯」這個前提):

  1. 用戶不會被鎖死在一個平臺上,所以平臺不能無限擴大自己的權力。
  2. 平臺可以通過改善自己的服務來吸引用戶,創新仍然受到激勵。且用戶有更大的動力切換到更優的平臺而不必受制於「原先的聯繫人都在那裏,我一旦切換就再也聯繫不上了」這類因素。
  3. 平臺之間雖然有競爭,但由於互聯,所以不會出現惡性競爭。比如不會出現競爭後達成壟斷,用戶體驗低於競爭之前的狀況。

當然,如前面所說,互聯也有其對性能的少許可能劣勢,但畢竟瑕不掩瑜,且隨着網絡硬件的提升以及存儲器的進步,這些劣勢也許都不再重要。具體選擇哪種方式來實現互聯,則是需要繼續討論的。但無論哪種,至少互聯的基礎是確定的,而且沒有技術難度的,所以總之是可以推進第一步的。

這樣還有一個好處,那就是對內容的分類/分級也可以根據不同的平臺來進行,而不再是一個平臺一刀切。一個平臺可以決定是否接受其他某些特定平臺的內容(或只接受某些特定平臺的內容),進而組合成更靈活的社區分級。當然,這些都需要進一步討論,但至少提供了另一種可能性。

爲了防止一些人的奇談怪論,這裏需要強調兩點:

  1. 開放性和創新完全不矛盾,也和對自己的改進完全不矛盾。比如matrix協議就在不斷升級和擴展,這一切都不影響服務的正常運行。
  2. 開放性必然導致互聯網企業現有的收入模式受到影響(比如通過鎖死用戶,然後大量投放廣告;或者違規使用/處理用戶數據)。但哪一次的技術創新不會對其產生影響呢?每次的影響之後都會有新的收入模式出現,而且一般也都帶來了更好的用戶體驗。

我們可以想象互聯場景進入應用後的新互聯網生態:在基礎協議上,各個服務器/平臺之間可以互相交互;各個平臺各有其獨特之處,所以都能留住各自的用戶;平臺上的對協議的創新可以首先在自己平臺應用,在一定時間後,協商確定如何將該創新的協議部分開放成標準協議的一部分;新入場的開發者/企業不必太過操心如何將用戶導入自己的平臺,主要精力放在開發產品即可,因爲平臺的基礎是開放的,必然有相應的開源服務端軟件可以直接使用。

創新沒有激勵的話,就沒有人會進行創新,所以(在共產主義社會實現之前)不能要求每個創新都立即完全公開;但同樣自然地,企業是不願意自己的搖錢樹被公用的,所以我們需要一種企業之外的力量保證其運行。

而在另一個方向上,在討論大規模實行的技術時,也應當考慮分佈式平臺。一個近期的實例便是歐美多國(人)所用的新冠接觸追蹤系統,就是通過藍牙信號判斷和其他人的接觸密切程度,之後再通過對數據庫的檢查反向查找陽性患者的密切接觸人員。這一系統的最大優勢就是不用擔心信息泄漏,因爲信息沒有存儲在除了自己手機以外的任何其他地方,甚至也不需要移動通信公司追蹤用戶的信號。當然它也有劣勢,所以我更傾向於將該方案和我國的方案結合一下,形成一個更好的新方案。

總結

上面討論的是技術方案,但其背後的理念並不僅限於互聯網。類比到線下,則是在大公司進行圈地並不斷擴張的過程中,需要有人(比如政府)打擊大公司,劃出公共空間(互聯系統),保障它們不被大公司圈走(私有平臺)。並且需要建立新的「馳道」(標準協議),統一行車標準,而非由各個獨立王國出於各自利益建立不同標準(封閉協議)。換句話說,就是對網絡生態進行一次「車同軌,書同文」的改造,並且保障改造的持續。

希望這篇文章提到的技術可以啓發大家的思考,並在有選擇時儘量傾向於更優秀的方案。我知道市場不是萬能的,所以更希望國家嘗試規範互聯網企業的時候考慮運用一下這些技術的思維,給出一個更加理想的解決方案。

希望我們的「信息基礎設施」可以更進一層,從僅有硬件和網絡本身的保障,擴展到對信息產業生態的保障。畢竟,壟斷最終會扼殺創新,而信息產業中壟斷者(大企業)手中還有人質(用戶的數據)和對建築的引爆器(生態),比老式的壟斷的危害更顯著。


Related posts: