圖靈獎得主、Algorand 創始人 Silvio Micali 認爲追蹤新冠肺炎要在現有技術的幫助下兼顧安全與隱私,並提出用非許可型區塊鏈增強 Google-Apple 藍牙解決方案。

推薦閱讀:《鏈聞精選好文|疫情下的區塊鏈行業行動與思考

原文標題:《Algorand 創始人 Silvio Micali 教授提出基於區塊鏈的新冠肺炎追蹤方法》
撰文:Silvio Micali,Algorand 創始人

新冠肺炎疫情已經擾亂了全球各地的商業運作和個人生活。新冠病毒的病毒性和傳染性極強,各國政府不得不在經濟活動和民衆安全之間做出權衡。在疫情的傳播和嚴重程度得到控制之前,這種情況都會持續下去。

延緩疫情蔓延的最有效手段是大規模接種有效疫苗。接種疫苗不僅能保護個人,也能保護整個人羣。由此產生的羣體免疫將極大減少病毒的可感染宿主,有望切斷病毒傳播鏈。對免疫低下者、新生兒等不能接種疫苗的人羣而言,羣體免疫至關重要。我們相信疫苗研發正在迅速推進當中,因爲當前全球醫學界都萬衆一心、專注於此。然而,讓大多數人羣都完成疫苗接種可能需要很長時間。

要對抗尚無疫苗可用的傳染病,我們可以運用其他手段。幾個世紀以來,隔離和接觸者追蹤一直是控制疫病的常用輔助方法(回想下 1348 年黑死病爆發時的威尼斯隔離)。實際上,通過隔離或治療發現並阻斷傳播鏈,是非常有效的疾病蔓延控制方法。

當然,無論設計得有多好,接觸者追蹤應用也替代不了能檢測每個人的完善醫療系統。但即使所有其他措施都已到位,接觸者追蹤仍舊十分重要。事實上,鑑於此疾病甚至能通過無症狀感染者傳播,在可以開展廣泛檢測的情況下,接觸者追蹤是最有用的。

追蹤新冠肺炎如何兼顧安全與隱私?Algorand 創始人提出區塊鏈解決方案

採用哪種接觸者追蹤方法?

最近業界提出了幾種自動化接觸者追蹤方法,利用幾乎無處不在的智能手機助力數據收集。如果不考慮隱私問題,這些方法能夠很容易地生成詳細的社交互動圖表。

我們不認同那種緊急情況下隱私和安全不能兩全的想法:在現有技術的幫助下,完全能做到兩者兼顧。我們所考慮的新冠肺炎追蹤解決方案既要行之有效,也要尊重基本自由。

藍牙方法

利用手機的藍牙(低功耗)技術,是全世界範圍內廣受青睞的一類方法。意大利政府已決定支持此種方法;而 Google 和 Apple 則提出了另一種方法。如果說意大利的方法是「以政府爲中心」,那麼 Google 和 Apple 的方法則是「以個人爲中心」。

Google-Apple 方法可高度概括如下。每部手機都持續掃描附近的其他藍牙設備,並生成一系列臨時「假名」。[1] 兩部手機如果近距離接觸(例如彼此距離小於 1 碼)達到至少幾分鐘,便會交換當前假名,並各自生成此次接觸的記錄,記錄內容包括對方提供的假名。如果一個手機主人檢測出新冠肺炎陽性,那麼從概念上講,他 / 她的手機會在中央數據庫發佈過去 14 天中用過的所有假名。每部手機 X 定期查詢此中央數據庫,下載與過去 14 天期間相關的假名,檢查其中有無同一時期出現在其接觸記錄中的假名。如果找到這樣的記錄,手機 X 就會警示用戶,其最近接觸過新冠肺炎陽性個體。收到警示的用戶即可要求檢測並暫時自我隔離。

藍牙方法受人青睞的地方有很多。事實上,這些方法不僅自動運行,還非常高效。人們很難回憶起過去 14 天來可能接觸過的每一個人。因此,要一一找出一個新確診新冠肺炎患者的近期接觸人羣,可能需要相當複雜的問詢過程。此外,聯繫所有接觸者也是一項非常繁重的工作。

藍牙方法針對個體對自身數據的可控性方面可能各不相同。就 Google-Apple 提案來說,他們非常尊重個人隱私,接觸記錄僅存儲於個人手機,不會外泄,所有超出 14 天的接觸記錄會被永久刪除。

意大利方法中,收集到的個人接觸數據發往政府機構,由政府機構計算每個人的傳染風險水平,再向風險較高的人發出警示。接觸數據的傳輸是加密的(且經過數字簽名)。這一步很重要,可防止個人數據被不當利用。不過必要時,相關機構能夠使用這些數據。

誠然,可利用零知識證明和複雜加密來協調隱私與正確性。但此處很關鍵的一點是簡單性。原因有二:首先,大國的國家級解決方案規模龐大;其次,相比依賴密碼學家,只要能讓公衆理解一個方案的有效性,他們就更易採納並使用這個方法,從而實現大規模推廣!

缺失要素:通用全局視圖

然而,兩種藍牙方法都缺失了一些東西。也就是顯示一天中密切接觸者數量的通用全國視圖。

Google-Apple 方法中,無論政府還是個人,都不具備任何此類全國視圖。事實上,該方法中唯一的國家數據庫含有給定日期新冠肺炎檢測呈陽性的人員數量,而不是當天該國出現的密切接觸次數。

意大利方法中,唯一具有全國視圖的是該國政府:公民個人僅有自己的個人視圖,無法確定政府掌握的全國視圖是否真的是「他們各自個人視圖的彙總」。

Algorand 認爲應該創建一份全國視圖。實際上,如果能準確高效地瞭解國家當前社交互動程度,將有利於政府決定如何選擇新政策或調整舊政策。我們還認爲,此視圖不僅應是全國性的,還應是通用的。事實上,

如果要求所有公民保持社交隔離,那麼他們都應有權獲得政府用於決策的那些信息。

通用全國視圖可使公民理解政府決策背後的原因,這是民主的關鍵要素。僅僅讓政府與公衆「共享」其決策依據是不夠的。更好的做法是向公衆保證,共享的信息確實是事實真相。因此我們認爲,真正去中心化的非許可型公有區塊鏈所提供的透明度是成功的新冠肺炎追蹤解決方案的重要組成部分:因爲數據的驗證和不變性(以及由此確立的真相)是該系統本身的關鍵元素。

當然,爲了通用,全國視圖不應犧牲公民的個人數據隱私。下一章中,我們將描述生成密切接觸者通用全國視圖的具體方法,該方法既尊重個人隱私,又有助於做出良好決策。

不同的國家 / 地區在社會權益與公民權利之間的權衡各不相同。願意爲了公共利益而披露更多個人數據的國家 / 地區,可能會選用比我們設想的更爲詳細的通用全國視圖。

這些國家 / 地區還可能會另外重構一套完全不公開的全國視圖,僅供適當的政府機構使用。然而,擁有通用全國視圖總是有好處的。下面我們就來看看如何生成這樣的視圖。

Algorand 的方法

我們建議用非許可型區塊鏈增強 Google-Apple 藍牙解決方案。這個增強的概念非常簡單,且該增強方案是自願的。

區塊鏈

區塊鏈本質上是一個去中心化的數據庫,可保證以下三個屬性:

  1. 任何人都可以在數據庫中寫入條目。
  2. 任何人都可以讀取數據庫中的任何條目。
  3. 任何人都無法刪除、修改數據庫條目,也無法更改條目的順序。

如果某一方可獲得所有人的信任,就可以很容易地保證以上屬性。該受信任方 (a) 可以在收到寫入請求後立即執行請求;(b) 可以在收到讀取請求後立即返回正確的條目;並且 (c) 不會擦除、修改所維護數據庫的條目,也不會打亂條目的順序。但遺憾的是,讓所有人都信任的一方很難找到,甚至很可能並不存在。因此,完全去中心化的區塊鏈非常有價值,因爲它無需任何受信任方就可以保證上述三個屬性。

總體構想

選擇加入該計劃的一位公民用其手機 X 下載合適的應用程序。

手機 X 選擇了自己的假名 Px。(爲簡單起見,我們暫時假設每部手機只生成一個假名。臨時假名可用於 Google-Apple 方案。)

手機 X 將自己的假名發送給與其有密切接觸的另外一部手機 Y,反之亦然。

當存在符合條件的接觸情況(即手機 X 與至少另一部手機密切接觸的時間達到預定義時間)時,X 會生成 (1) 個人記錄和 (2) 編輯後接觸記錄。個人記錄僅在 X 內部存儲,並且會註明接觸的時間、時長和距離,以及所涉及的全部手機的假名。[1] 編輯後接觸記錄則可以採用以下簡化格式:「假名爲 P x 的手機的用戶與至少一位假名手機用戶發生符合條件的接觸」。

每天結束時,手機 X

(a) 將所有編輯後接觸記錄的列表發送至一個或多個運營中心 (OC),並
(b) 在區塊鏈上發佈該列表的哈希值(即加密壓縮形式)。

運營中心會在可公開訪問的網站上發佈收到的所有上述列表。任何人都可以從運營中心的網站上獲取上述列表,對列表進行哈希處理並將所獲得的哈希值與手機在區塊鏈上發佈的哈希值進行比較,來驗證其真實性。

如果手機 X 的用戶新冠肺炎檢測結果呈陽性,則該用戶會指示 X 在 (1) 區塊鏈和 (2) 運營中心網站上發佈以下信息:「假名爲 Px 的手機用戶新冠肺炎檢測結果呈陽性」。

手機 Y 每天都會訪問運營中心網站,以瞭解當天報告的新冠肺炎檢測呈陽性的所有用戶的手機假名。手機 Y 會檢查每個這樣的假名 Px 是否出現在其最近 14 天符合條件的接觸個人記錄中。如果曾出現過,Y 會警示其用戶接受測試,並進行自我隔離以保護他人安全。

注意事項

  • 選擇加入計劃時,公民可指定共同居住人員或日常交互人員的手機號碼。與上述手機的接觸不會被視爲符合條件的接觸。
  • 如果編輯後記錄始終採用我們所提出的簡化格式,那麼手機 X 的編輯後記錄列表內容可替換爲僅包含 X 在給定的某一天中經歷的符合條件的接觸數量。當然,編輯後記錄可以包含更多信息(例如,接觸的大致持續時間),但採用上述簡化格式的記錄已經足以得出有價值的通用全國視圖。
  • 除採用簡化格式的編輯後接觸記錄列表外,如果在每天結束時,手機會報告前述應用程序保持打開狀態的時長,可能會有很大幫助。這將有助於評估通用全國視圖的意義。
  • 手機每天發佈一次編輯後接觸列表(的哈希值),以避免發佈次數過多導致區塊鏈擁擠。這一點非常重要,因爲隨着對社交互動的限制逐漸放鬆,符合條件的接觸數量也會越來越多。由於到運營中心的帶寬可由政府或適當的私營企業進行任意設置,因此手機可在相應的接觸發生時立刻向運營中心發送編輯後記錄。但是,若每天將所有編輯後記錄一起發送,則手機將能夠隱藏符合條件的接觸發生的時間。
  • 符合條件的接觸的編輯後記錄屬於極其隱私的信息。每部手機 X 都由假名 Px 代替,並且由手機自行選擇假名。此外,每條有關 Px 的編輯後記錄均不包含任何其他假名。因此,即使手機 X 和手機 Y 之間發生了符合條件的接觸,也沒有人能夠從 X 和 Y 的編輯後記錄中推斷出這一結論。
  • 準確而有效地瞭解每天選擇加入系統的公民數量以及每天發生符合條件的接觸數量,對於政府制定有關放開經濟的決策來說至關重要。此類信息還非常有助於評估近距離社交互動的次數是否因新實施的政策或新發布的官方信息發生了變化,以及發生了怎樣的變化。
  • 查看國內的社交互動信息並非政府的特權。任何人都可以訪問運營中心的網站並分析所有編輯後接觸記錄列表。外國政府、國際學者和所有公民都可以研究和分析這些編輯後記錄,並給出自己的結論和建議。實際上,隨着技術的發展和新的數據挖掘方法出現,人們將能夠更好地理解這些記錄。編輯後記錄甚至可以成爲重要的知識來源,在未來發生疫情時幫助制定相關行動決策。
  • 在上述系統中,手機 X 的用戶最多有兩次給出明確同意。第一次發生在用戶最初選擇加入系統時。第二次只有在用戶發現自己的新冠肺炎檢測結果呈陽性後纔會發生,此時用戶會再次選擇加入系統並指示其手機在區塊鏈上發佈以下信息:「假名爲 Px 的手機用戶新冠肺炎檢測結果呈陽性」,其餘全部操作將由其手機自動完成。這種方式無疑是可取的,因爲它可以爲用戶節省很多寶貴時間,但前提是用戶可以隨時選擇退出。
  • 區塊鏈能夠保證所有編輯後記錄的真實性。任何運營中心都無法以任何方式更改報告的編輯後接觸記錄而不被發現,因爲發佈在區塊鏈上的數據具有不可更改性,而且手機會將自己的編輯後接觸記錄的哈希值直接發佈在區塊鏈上。
  • 爲確保運營中心如實發布其接收的所有數據,可以考慮使用多個運營中心。實際上,最好的方法是允許任何有意願成爲運營中心的一方進行自薦。一天結束時,任何手機在將其新的和編輯後的接觸記錄列表的哈希值發佈在區塊鏈上後,都會將該列表發送至「官方」運營中心,以及其信任的另外一個或多個運營中心,以公開發布其列表。在這種情況下,如果官方運營中心沒有發佈給定手機的列表,則用戶自己選擇的另一個運營中心將進行發佈。這樣可保證上述全國通用列表 (1) 不會被僞造,並且 (2) 將全部可用。
  • 將編輯後記錄發佈在運營中心的網站上,並且僅將其哈希值發佈在區塊鏈上,可以確保在社會同意將額外信息納入編輯後記錄時,區塊鏈不會變得擁擠。實際上,無論列表本身有多長,編輯後記錄列表的哈希值長度始終爲 32 字節。
  • 任何像 Algorand 這樣安全、可擴展、去中心化的區塊鏈都可以用於此方案。[1] 安全性保證了數據的不可更改性。可擴展性保證了區塊鏈可以處理一個非常大的國家 / 地區中所有手機的哈希值。去中心化保證了任何政府以及任何一方都無法審查或影響區塊鏈將發佈哪些經過哈希處理的記錄。
  • 有些區塊鏈具備了安全和去中心化特性,但無法滿足本應用場景所需的可擴展性要求,由 Algorand 率先開發的密碼抽籤技術將有效賦能此類區塊鏈。從本質上講,利用 Algorand 的密碼抽籤技術,能使該系統以確保公平的方式獲得編輯後記錄的隨機樣本(例如 1% 的記錄)。無論擁有多大的權限,任何人都無法影響系統選擇給定編輯後記錄的概率。發佈在區塊鏈上的每條編輯後記錄均可證明其經過公平選擇,而且任何人都可以輕鬆覈查該證明的正確性。只將經過加密處理的公平選擇的編輯後記錄發佈到區塊鏈,能夠減少可發佈的記錄數量,從而防止區塊鏈發生擁擠。但是,由於選擇每條編輯後記錄的概率都是預先確定的並且是衆所周知的,因此任何人都可以僅通過發佈在區塊鏈上的記錄反推出編輯後記錄的實際數量。

重要系統細節

數字簽名

上述方案的安全性可通過數字簽名來保證。在數字簽名方案中,用戶 X 生成兩個單獨的密鑰:驗證密鑰 Px 和與之匹配的簽名密鑰 Sx。用戶 X 使用密鑰 Sx 對消息進行數字簽名。知道 Px 的任何人都可以驗證 X 通過 Sx 生成的數字簽名,但只有知道 Sx 的人可以代表 X 生成數字簽名。而且,這兩個祕鑰不會相互造成泄露。也就是說,僅憑藉 Px 無法找出 Sx。因此,爲保障自身利益,X 應公開 Px,從而使任何人都可以驗證 X 生成的數字簽名,但 X 需要對 Sx 保密,以防止其他任何人僞造 X 的數字簽名。Px 通常被稱爲 X 的公鑰,而 Sx 通常被稱爲 X 的私鑰。

將簽名驗證密鑰作爲假名

對於手機 X 而言,較有利的做法是同時生成驗證密鑰 Px 和與之匹配的簽名密鑰 Sx,並把假名用作 Px。在將其當日符合條件的接觸列表發送到運營中心時,以及在將該列表的哈希值發佈到區塊鏈上時,X 還可以發送併發布相應數量的數字簽名,以防止有人冒名頂替 X 發送併發布虛假信息。(即使假名頻繁變更,仍然可以將假名繼續用作驗證密鑰。)

認證驗證祕鑰

當手機 X 下載加入系統所必須的應用程序並生成一個驗證簽名對(Px,Sx)時,該應用程序將對 Px 進行數字簽名,以向所有人證明假名 Px 是由適當的手機使用適當的軟件生成的。該應用程序對 Px 的簽名實際上是 Px 的證書,可證明 Px 的真實性,進而證明有關 Px 的任何數字簽名信息的真實性。

洋蔥路由

洋蔥路由是一種人們所熟知的信息傳遞方式,能夠隱藏信息發送者的身份和 / 或位置。手機使用洋蔥路由技術向運營中心發送自己的編輯後接觸記錄列表,並將這些列表的哈希值發佈在區塊鏈上。

交錯發佈

爲防止區塊鏈擁擠,每部手機將每隔 24 小時發佈一次自己的編輯後接觸記錄列表的哈希值,但不一定要在同一天結束時與所有其他手機同時發佈。

安全硬件

手機不會以明文形式存儲其用戶的個人記錄,而是存儲在自己的安全計算機芯片中。如果沒有用戶的密碼或指紋,任何人都無法獲取存儲在該安全區域的任何數據。因此,丟失手機不會導致個人記錄的丟失。

不斷變化的假名

如上所述,系統中的每部手機都有自己的單個假名。但是,系統可允許定期變更假名,Google-Apple 方案也是如此。

系統增強

剛剛專注於討論如何生成全局視圖,現在我們提一下另外兩個不同的挑戰。挑戰其一,我們需要確保沒有惡意公民上傳自己確證陽性的錯誤信息;其二,專家意見——即能讓公民與權威醫生 / 自動醫療服務分享自己的個人信息,以基於他的健康史來選擇最佳應對方案。而其實無需區塊鏈,只要基於純粹的密碼學協議,就能在不暴露任何系統參與者身份的情況下,解決這兩個挑戰。

協力合作

應當明確的是,如果沒有行業、技術提供商和政府之間的快速協調,就無法成功發佈我們基於區塊鏈的跟蹤系統。面對此次疫情,我們的行動或許已經爲時已晚,但我們必須開發準確的接觸者追蹤技術,以便在未來出現某種新病毒時,能在採取極端措施之前及時阻止病毒的傳播。

在此次疫情期間,區塊鏈的實用性已在其他領域中得到證實。特別值得一提的是,Algorand 基金會成功開發了 一款應用程序,能讓用戶收集自我報告的診斷信息。

區塊鏈的社會潛力

區塊鏈具有改善民主並將其提升至一個全新高度的潛力。它將幫助我們建立信任、確立共同的事實,並在必要時達成社會共識。

區塊鏈能夠以高效直接的方式形成通用全局視圖,同時避免傳統中心化方法所固有的審查和篡改風險,堪稱人類前所未有的強大工具,並將在我們實現共同抱負的道路上發揮至關重要的作用。

來源鏈接:mp.weixin.qq.com