【恭賀 本校電機資訊學院張耀文院長榮膺2020年 ACM Fellow】
.
電機資訊之光,也是該領域的一大盛事! 位於美國紐約的計算機學會(The Association for Computing Machinery,簡稱ACM)公布2020年 ACM Fellow(ACM 會士)名單,共有來自全球95 位科學家入選,包含來自澳大利亞、奧地利、加拿大、中國大陸、德國、以色列、荷蘭、韓國、新加坡、西班牙、瑞典、瑞士、臺灣、英國和美國的學者。亞洲部分臺灣一位、新加坡一位、韓國一位、香港一位和中國大陸四位(歷年最多),這是繼 2015年後,臺灣學者再次獲選。
.
國內ACM Fellow 共計有七位,其中臺大四位 (陳銘憲副校長、郭大維前代理校長、林智仁教授)、中研院一位(李德財院士,臺大電機資訊學院合聘教授)、交通大學一位(前科技部政務次長和現任台灣聯合大學系統副校長林一平教授)和甫過世的清華大學前校長劉炯朗院士。至2020年亞洲各國ACM fellow 的總數有54人,包含中國大陸 16人,印度 13人, 臺灣7人、日本7人、韓國4人、香港4人、新加坡2人和馬來西亞1人。
.
計算機學會創立於1947年,是資訊領域最重要的國際組織,有全世界 130 多國家超過10萬名從事資訊相關領域的會員。計算機學會於1993年開始設置ACM Fellow榮銜,表彰在資訊領域有傑出貢獻的優秀人士,總名額不超過會員數的1%。ACM 所評選的圖靈獎(A. M. Turing Award)被公認為世界「計算機領域的諾貝爾獎」,今年獲得 ACM Fellow 的學者,包括Whitfield Diffie、Adi Shamir、Manuel Blum等三位圖靈獎得主。
.
ACM 主席 Gabriele Kotsis說:「我們挑選 2020 年 Fellows的任務更具挑戰性,因為我們從世界各地獲得的提名數量創記錄。2020 年的 ACM Fellows 在許多計算機領域中表現卓越。這些Fellows對改變整個領域產業和人類生活的技術做出關鍵的貢獻。我們期待這些新的 ACM Fellows 將繼續在各自領域中領航發展。」
.
張耀文院長因對電子設計自動化(electronic design automation,EDA) 領域的卓越貢獻獲此殊榮,他是第一位來自非歐美機構的全球最重要EDA組織 IEEE CEDA (Council on EDA,國際電機電子工程師學會電子設計自動化專業學會) 總裁 (2020/2021),為臺灣二十餘年來第二位IEEE專業學會的總裁。近三十年來,張院長在EDA領域最頂尖的會議 DAC和 ICCAD,和最頂尖的期刊IEEE TCAD,論文發表總數名列全球第一,他合著當今備受歡迎的934頁EDA 英文教科書。國內外獲獎無數,2013年獲選為IEEE Fellow (IEEE 會士),同年獲得頂尖會議 DAC 五十周年四項學術貢獻獎,為全球第二多的獲獎人。2017年在約700件論文中,獲得57年來國內唯一的DAC全領域第一名最佳論文獎。近五年論文引用數,曾名列微軟 (Microsoft) 學術搜尋資料庫 (Academic Search Database) 硬體和結構領域 (Hardware & Architecture),全球超過四萬名學者中的第一名。曾經擔任頂尖會議 ICCAD和 ISPD 大會主席,獲得 2015年IEEE CEDA的卓越服務獎。2015年合創至達科技 (Maxeda),提供業界最佳品質之一的電路擺置器,獲得多家 IC設計大廠採用。
.
#ACMFellow #電機資訊學院 #張耀文院長
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
diffie 在 台灣物聯網實驗室 IOT Labs Facebook 的最讚貼文
姚前談區塊鏈和央行數字貨幣的「前世今生」
北京新浪網 (2019-11-14 07:31)
「我認為央行加密貨幣(CBCC)是央行數字貨幣研發的重要方向之一,我國央行的研究起點也就是CBCC。過去十年,數字技術在支付、清算和結算方面出現了重要的新發展。加密貨幣代表了這一波大潮的前沿。」
【編者按】
區塊鏈,這個之前主要在IT和金融領域被廣泛討論的概念,因為中央政治局一次集體學習而迅速在普通民眾間成為高頻詞和「網紅」。一時間,與區塊鏈有關的概念、技術和產業都受到前所未有的關注。
在這其中,區塊鏈與數字貨幣、電子支付等概念關聯更是關注的焦點。「金銀天然不是貨幣,但貨幣天然是金銀」,那麼,區塊鏈作為一種不可篡改和不可偽造的分散式資料庫,其與數字貨幣之間是否也存在這種關係?區塊鏈和數字貨幣到底有何關聯?央行數字貨幣的未來將向什麼方向發展?
就此,中國證券登記結算有限責任公司總經理、央行數字貨幣研究所前所長姚前向新京報記者講述了區塊鏈和數字貨幣的淵源。
中國證券登記結算有限責任公司總經理、央行數字貨幣研究所前所長姚前。
區塊鏈的密碼學緣起及演化
現代密碼學的一個革命性突破是解決對稱密碼演算法無法在大規模的信息加密傳輸中普及的問題。對稱密碼演算法是指加密和解密共用一個密碼,也稱單鑰密碼演算法。
1976年,Diffie(迪菲)和 Hellman(赫爾曼)提出,將原來的一個密鑰一分為二成一對密鑰,一個密鑰用於加密,一個密鑰用於解密。加密密鑰公開,稱為公鑰。解密密鑰不能公開,唯獨本人秘密持有,不能給別人知道,稱為私鑰。比如,張三想給李四發信息,張三要用李四的公鑰對信息進行加密,只有李四的私鑰才能解開,其他任何人都解不開。
1978年,Rivest(李維斯特)、Shamir(薩莫爾)和Adleman(阿德曼)提出RSA密碼演算法,首次實現了非對稱密碼演算法。非對稱密碼演算法除了解決開放系統中密鑰大規模分發的問題,還帶來原來對稱密碼體制不具備的功能,那就是非常獨特的認證功能。比如,張三想給別人發信息,張三不僅用別人的公鑰對報文進行加密,同時還可用張三的私鑰進行簽名,這樣別人就可以用張三的公鑰進行驗簽,判定報文是不是由張三發出。
哈希演算法是現代密碼學的又一個飛躍,它又稱信息摘要。最早的SHA哈希演算法由美國國家安全局設計,於1993年發佈。2010年,中國國家密碼管理局公佈中國商用密碼哈希演算法標準:SM3密碼哈希演算法。
與對稱加密和非對稱加密不同,哈希函數是一種快速收斂的演算法,從輸入到輸出的計算非常快,迅速收斂數值,無須耗費巨大的計算資源,而從輸出倒推輸入又幾乎不可行。基於這樣優秀的特性,哈希函數得到廣泛的應用,我們習以為常的人民幣冠字型大小碼可以理解為是由哈希演算法產生的。
在數字貨幣領域,哈希演算法更是得到廣泛的應用。比如,哈希演算法常常被當做數字貨幣交易挖礦、交易區塊鏈接以及錢包地址壓縮生成的工具。
數字貨幣的由來
一直以來,密碼學家有個想法,既然郵件能夠加密、簽名發送出去,那麼手裡的現金能不能像郵件一樣,加個數字信封,進行加密和簽名后,從一端發送到另外一端?這就是最早的數字現金思想的由來。
1982年,David Chaum(大衛·喬姆)在頂級密碼學術會議美密會上發表了一篇論文《用於不可追蹤的支付系統的盲簽名》。論文中提出了一種基於RSA演算法的新型密碼協議——盲簽名。利用盲簽名構建一個具備匿名性、不可追蹤性的電子現金系統,這是最早的數字貨幣理論,也是最早能夠落地的試驗系統,得到了學術界的高度認可。
但是Chaum當時建立的模型還是傳統的「銀行、個人、商家」中心化模式。隨著交易量的上升,已花費數字貨幣序列號資料庫就會變得越來越龐大,驗證過程也會越來越困難。
2008年,中本聰發表了經典論文《比特幣:一種點對點的電子現金系統》,提出了一種全新的去中心化的電子現金系統,其核心思想之一就是是通過對等網路方式消除單中心依賴,實現點對點交易,同時將已花費的數字貨幣序列號資料庫轉變成未花費的數字貨幣序列號(UTXO)資料庫,控制數據規模,並利用哈希演算法,打上時間標記,縱貫相連。通過這種方式可以構建一種全新的基於全網共識的分散式賬本,把通常意義上的集中式簿記分拆為約每十分鐘一次的分散式簿記,簿記的權利由全網競爭選取,簿記數據按時間順序連接起來並廣播全網。任何節點均可同步到網路上的全部簿記記錄,均可投入計算資源參與簿記權的爭奪。攻擊者如果不掌握全網 50%以上的計算資源,就無法攻擊這套簿記(鏈接)系統。
通過這樣的設計,以前人們隔著萬水千山做不到的點對點交易,現在不依賴銀行等中介機構而僅靠分散式賬本就可以實現。
區塊鏈的革新之處
從系統架構看,區塊鏈技術是一種全新的信息網路架構,打開了傳統中心化系統的圍牆,各節點既可以是客戶端,也可以是伺服器端。這使得C端客戶的自主掌控能力及其在系統中的話語權得到極大的增強。
從會計學角度看,它是一種全新的分散式賬本技術(DLT),採用了全新的記賬方法:每個人都可以參加,所有參與者共有、共享賬本信息,都能檢測、驗證賬本信息。與傳統賬本技術相比,DLT賬本技術的優勢在於不易偽造,難以篡改,開放透明,且可追溯,容易審計不僅能保障多方賬本一致,還能自動實時完成賬證相符、賬賬相符、賬實相符。從技術可行性看,瞬時的資產負債表編製或將成為可能。
從賬戶角度看,它是全新的賬戶體系,傳統上我們所有的金融業務都是圍繞著銀行的賬戶開展的,而現在私鑰本地生成,非常隱秘,從中導出公鑰,再變換出錢包地址,自己給自己開賬戶,不需要中介,賬戶體系發生了變革,這在金融史上是一個非常重大的變化。
從資產交易角度看,它是一種全新的價值交換技術,基於這一技術,我們可以創造一種全新的金融市場模式:作為信任機器,資產交易可以去中介化。
從組織行為學角度看,它使有效的分散式協同作業真正成為可能:沒有董事會,沒有公司章程,沒有森嚴的上下級制度,沒有中心化的管理者,大家共建共享,這是經濟活動組織形式的變革。
從經濟學角度看,它開創了一種新型的演算法經濟模式,以去中介化、開放為特徵,強調和尊重市場交易的自願原則,發揮市場價格的激勵協調機制,兼具計劃和市場兩種機制的優點,是一種更加接近市場的經濟模式。
區塊鏈的不足
一是性能問題。區塊鏈技術的理念之一是分散式共享,但假設近萬個節點都要共享數據的時候,速度自然就慢下來,效率不高。目前比特幣的成交至少要等10分鐘,有時候要等1個小時以上,這是許多人不能容忍的。
二是隱私保護。比特幣的整個賬本是公開的,隱私保護成為了區塊鏈技術的一個研究熱點,一些解決方案已經出現,比如採用零知識證明、同態加密等技術手段。
三是安全問題。目前智能合約還處於初級階段,一旦有漏洞就會被人攻擊,可能出現重大的風險,其安全性需要在技術上進一步改進,形式化驗證是一個可能的解決思路。私鑰的安全保護更是一個至關重要的問題。
四是治理缺失。當社區面臨重大決策事件時,如何讓社區參與進來,以某種機制形成社區意見,最終在區塊鏈上表達出來。
五是互操作性問題。區塊鏈作為新一代價值互聯網並沒有通用的協議,目前都還是社區自組織模式,跨鏈互操作沒有統一的規範,很大程度上限制了應用創新。
區塊鏈技術發展方向
共識協議是區塊鏈的關鍵技術,其核心指標包括共識協議的強壯性、高效性及安全性。目前看,共識協議最大的難題在於如何實現安全性與高效性的平衡。在保障安全性的前提下,大概有幾種提高效能的思路:一是新型共識協議;二是新型數據結構;三是不改變共識協議的系統改進;四是硬體和算力的改進;五是分層分片技術。
現在有各種鏈:公鏈、聯盟鏈和私有鏈。當不同機構之間業務發生交互時,不同的鏈與鏈之間怎麼交互,會成為很大的問題。跨鏈技術是下一步區塊鏈技術發展的重點。
區塊鏈本身即是一種天然投票系統,此前,許多國家的監管部門傾向於將初始代幣發行(ICO)的代幣界定為證券。為此,證券型代幣的區塊鏈系統需要考慮如何將監管部門提出的合規要求內嵌於系統,總體思路是在技術上設置監管介面,改造公有鏈,建立監管聯盟鏈,為監管者提供客戶識別、反洗錢、反恐融資、項目盡調、風險評級、信息披露、風險監測等監管功能。
區塊鏈使自主身份成為可能。它本身可以作為去中心化公鑰基礎設施(PKI)來使得公鑰體系更有用和更安全。
區塊鏈技術創造了一種全新的隱私保護模式:用戶無需讓渡數據權利,個人數據自主可控。例如,用戶自主產生本地公私鑰,通過公鑰計算髮布有效的錢包地址,來隔斷錢包地址和錢包持有人真實身份的關聯,並通過控制私鑰在區塊鏈網路自主完成交易。
數字錢包方面,目前數字錢包都在嘗試從單純的錢包服務轉向數字資產生態入口,希望藉此獲取更大的市場份額,發展更豐富的資產管理服務,主要有資產管理、資產交易、信息聚合、DApp分發等方向。隨著數字資產產業的不斷發展,生態的不斷完善,數字錢包的場景功能將會越來越重要。其未來發展重點有三個方面:一是保證錢包服務的安全、開放和便捷;二是圍繞資產增值需求,搭建數字資產管理平台,為用戶提供豐富的金融產品,提高用戶轉化率;三是打通數字資產與現實世界的連接,豐富數字資產應用場景,構建數字資產生態。
建立在智能合約之上的自組織商業應用,有助於提升區塊鏈技術的價值,使可編程經濟模式的適用範圍和領域不斷擴大。關於智能合約的應用,一方面需要從技術層面保障其安全性;另一方面需要從法律層面明確其合規性。由於智能合約具備天然的確定性,不具有普通合同的靈活性和可選擇性,因此在特定場景中,需要建立允許代碼暫停或終止執行的干預機制。
在與其他科技的融合上,常說的雲計算、大數據、人工智慧、區塊鏈技術等,實質上均是「演算法+數據」的體現,相互之間的融合也是必然。例如,在資產證券化的場景中,需要對底層資產的信息進行持續的披露,同時還需要實現大規模分散式文件存儲。區塊鏈技術可以通過交易簽名、共識演算法和跨鏈技術,保證各交易相關方分散式賬本的一致性,從而在保障交易背景真實性的基礎上,自動實時完成信息披露,從而實現賬證相符、賬賬相符、賬實相符,大大提高可交易產品的信用等級,又大幅降低成本。將區塊鏈技術與分散式文件系統、大數據分析、雲計算、人工智慧等進行融合是未來發展的一個重要方向。
加密貨幣與第三方支付的差異
支付寶的數據傳輸過程加了密,並不代表它就是加密貨幣。兩者的賬戶體系有根本的區別,如果將支付寶的技術比擬為4G,通過加密貨幣的支付更像是5G。
在金融普惠性上,目前的支付體系是多層次賬戶系統,以及對應的信息傳輸專用通道,成本耗費巨大,尤其是跨國支付,導致金融服務費用和門檻高企,金融發展嚴重不平衡,損害金融普惠。同時,支付機構實際掌控了用戶的支付過程,其封閉體系和商業競爭,有可能限制和影響用戶自主選擇權。而通過加密貨幣的支付,省去了「鋪路架橋」的費用,不受傳統賬戶體系和封閉專網限制,直接復用現有的互聯網基礎設施,任何能連接互聯網的人皆可參與,任何參與方都具有技術上的對等性。
在用戶隱私保護上,第三方支付屬於傳統中心模式,個人無法完全控制自己的數據,中心節點很容易濫用用戶數據,且容易成為被攻擊的目標,一旦爆發風險,對個人和平台的危害巨大,Facebook就曾發生過5000萬用戶數據泄露事件。但是區塊鏈技術,創造了一種全新的不依賴中心、多方共享環境下、基於密碼學、用戶自主可控的隱私保護新模式,數據不單點存儲於第三方機構,用戶自主可控地對個人數據匿名化,無需讓渡數據權利。也就是說,數據向哪些人透明、透明程度、是否可被追蹤均由用戶自主掌控。
央行數字貨幣的未來方向
Facebook沒有簡單拷貝比特幣、Ripple幣,也沒有簡單模仿支付寶,而是推出了全新理念的Libra,說明真正代表未來技術發展方向的數字貨幣很可能是既要吸收借鑒先進成熟的數字貨幣技術,又要把傳統貨幣長期演進中的合理內涵繼承下來。
我認為央行加密貨幣(CBCC)是央行數字貨幣研發的重要方向之一,我國央行的研究起點也就是CBCC。過去十年,數字技術在支付、清算和結算方面出現了重要的新發展。加密貨幣代表了這一波大潮的前沿。
中國法定數字貨幣的原型構思,可以從筆者2016年的一篇文章中看到,文中提到我們需充分吸收借鑒國際上先進成熟的知識和經驗,深入剖析數字貨幣的核心技術。一方面,從理論入手,梳理國內外學術界對密碼貨幣的研究成果,構建中國法定數字貨幣的理論基礎;另一方面,從現實入手,對運營中的各類典型電子與數字貨幣系統進行深入分析,構建中國法定數字貨幣的基礎原型。
目前各國開展的央行數字貨幣試驗,比如加拿大央行Jasper項目、新加坡金管局Ubin項目、歐洲中央銀行和日本中央銀行Stella項目等,大都是基於區塊鏈技術的加密數字貨幣試驗,但還停留在批發(機構端)應用場景。這是因為中央銀行一向被認為不擅長零售端業務,有種擔憂是當數字貨幣向社會公眾發行流通時,中央銀行可能會面臨極大的服務壓力和成本。
我們的數字貨幣原型系統探索了區塊鏈的應用,但並不完全依賴該技術。在設計上,它利用分散式賬本不可篡改、不可偽造的特性,構建了一個基於區塊鏈的CBCC確權賬本,對外通過互聯網提供查詢服務,相當於網路「驗鈔機」。這種設計一方面將核心的發行登記賬本對外界進行隔離和保護,同時利用分散式賬本的優勢,提高確權查詢系統和數據的安全性和可信度。另一方面,交易處理仍由採用傳統分散式架構的發行登記系統來完成,分散式賬本僅用於對外提供查詢訪問。交易處理子系統和確權查詢子系統分離並採用不同的技術路線,可以有效規避現有分散式賬本在交易處理上的性能瓶頸。
同時,原型系統還採用了「總/分雙層賬本結構」,既減輕了中央銀行壓力,又保障中央銀行的全局掌控能力。
目前來看,學術界的熱點大多是基於區塊鏈技術的央行加密貨幣的研究。
Libra與各國央行數字貨幣的對比
兩者雖然均採用加密貨幣技術,技術路線有相似之處。但在發行方、技術平台、可追溯性、匿名性、與銀行賬戶耦合程度、是否支持資產發行等方面存在差異。
從貨幣層次看,央行貨幣是M0層次,銀行存款等傳統信用貨幣在M1和M2層次,而Libra則是在更高的貨幣層次。最新統計數據顯示,我國的M0與M2的比值約為4%。與數字M0相比,數字M1、M2……Mn更具想像空間。
從創新角度看,各國央行數字貨幣試驗基本上是比較秘密的「曼哈頓」工程,這種方式未必符合現代開源開放社區的發展需求。
而Libra項目的代碼按照Apache2.0標準開源,任何人都可以按照開源協議標準來查看、複製、部署Libra的底層源代碼,也可以根據自己的想法提交對開源代碼的修改建議,一旦Libra協會批准,該修改就會被納入生產系統。按照開源社區十年來的運作經驗,這種開放和眾智的方式,充分體現了絕大多數參與者的利益,保證項目的凝聚力,促其快速發展壯大,同時也充分促進了技術系統與市場需求的匹配融合,最終培育出一個技術先進、市場認可的數字貨幣生態。
任何數字貨幣均要接受市場的考驗和競爭。
資料來源:https://news.sina.com.tw/article/20191114/33310568.html
diffie 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] 隱私、區塊鏈與洋蔥路由
✍️ Juin Chiu
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
隱私為何重要?區塊鏈是匿名的嗎?洋蔥路由如何改進區塊鏈?
前言
自2008年區塊鏈以比特幣的面貌問世後,它便被視為 Web 3.0,並被期許能夠進一步為人類帶來金融與治理上的大躍進。區塊鏈或許會成為如同全球資訊網一般的基礎建設,如果我們已經開始注重個人於網路上的隱私,那麼我們更應該關心這項全新的技術是否能更好地保護它。
筆者將於本文中闡述隱私的重要性,接著進一步分析區塊鏈是否能夠保護用戶隱私,最後再簡介一個知名的匿名技術 — 洋蔥路由,並列舉幾個其用於改進區塊鏈(特別是以太坊)的相關提案。
特別感謝以太坊研究員 Chih-Cheng Liang 與民間高手敖烏協助校閱並給予回饋。
隱私的重要
網際網路(Internet)無疑是 20 世紀末最偉大的發明,它催生了全新的商業模式,也使得資訊能以位元的形式進行光速傳播,更使人類得以進行前所未有的大規模協作。而自從 1990 年全球資訊網(World Wide Web)的問世以來,網路已和現代文明生活密不可分。經過近 30 年的發展,人類在網路上製造了巨量的資料,這些資料會揭露使用者的隱私。透過一個人的資料,企業或者政府能夠比你自己更了解你。這促使用戶對隱私的愈發重視 — 正如同你不會允許第三者監聽你的電話,你也不希望有第三者監看你的瀏覽器搜尋歷史。
然而,如今的網路是徹底的中心化,中心化也意謂著過大的權力,有種種跡象顯示:網路正在成為政府當局監控人民的工具。例如:中國的淨網衛士[1]、美國的稜鏡計劃[2]等。那麼,政府應該監控人民嗎?其中一派的人認為平日不做虧心事,半夜不怕鬼敲門,這也就是常見的無所隱瞞論[3]:
我不在乎隱私權,因為我沒什麼好隱瞞的。
不過持有這類論點的人通常會被下面的說法反駁:
既然沒什麼好隱瞞的,那請把你的 Email 帳號密碼給我,讓我揭露其中我認為有趣的部分。
大多數正常人應該都不會接受這個提議。
隱私應當與言論自由一樣,是公民的基本權利。事實上,隱私是一個既廣且深的題目,它涉及了心理學、社會學、倫理學、人類學、資訊科學、密碼學等領域,這裡[4]有更多關於關於隱私的討論以及網路隱私工具的整理。
隱私與區塊鏈
有了網際網路後,接下來人類或許可以透過區塊鏈來建構出一個免除人性且完全仰賴自然法則(數學)運行的去中心化系統。在中心化世界中,我們需要免於政府監控的隱私;在去中心化世界中,我們仍然需要隱私以享有真正的平等。
正如同本文的前言所述:區塊鏈也許會成為如同全球資訊網一般的基礎建設,如果我們已經開始注重網路隱私,那麼我們更應該關心區塊鏈是否能更好地保護它。
隱私與匿名
Privacy vs Anonymity [5]
當我們論及隱私時,我們通常是指廣義的隱私:別人不知道你是誰,也不知道你在做什麼。事實上,隱私包含兩個概念:狹義的隱私(Privacy)與匿名(Anonymity)。狹義的隱私就是:別人知道你是誰,但不知道你在做什麼;匿名則是:別人知道你在做什麼,但不知道你是誰。
隱私與匿名對於隱私權來說都很重要,也可以透過不同的方法達成,接下來本文將聚焦於匿名的討論。另外,筆者在接下來的文章中所提及的隱私,指的皆是狹義的隱私。
網路的匿名
以當今的網路架構(TCP/IP 協定組)來說,匿名就是請求端(Requester)向響應端(Responder)請求資源時藏匿其本身的 IP 位址 — 響應端知道請求端在做什麼(索取的資源),但不知道是誰(IP 位置)在做。
IP 位置會揭露個人資訊。在台灣,只需透過 TWNIC 資料庫就可向台灣的網路服務供應商(Internet Service Provider, ISP),例如中華電信,取得某 IP 的註冊者身份及姓名/電話/地址之類的個資。
ISP 是網路基礎建設的部署者與營運者,理論上它能知道關於你在使用網路的所有資訊,只是這些資訊被法律保護起來,並透過公權力保證:政府只在必要時能夠取得這些資訊。萬一政府本身就是資訊的監控者呢?因此,我們需要有在 ISP 能窺知一切的情形下仍能維持匿名的方法。
區塊鏈能保護隱私、維持匿名嗎?
區塊鏈除了其本身運作的上層應用協定之外,還包含了下層網路協定。因此,這個問題可以分為應用層與網路層兩個部分來看 。
應用層
應用層負責實作狀態機複製(State Machine Replication),每個節點收到由共識背書的交易後,便可將交易內容作為轉換函數(Transition Function)於本機執行狀態轉換(State Transition)。
區塊鏈上的交易內容與狀態是應當被保護的隱私,一個保護隱私的直覺是:將所有的交易(Transaction)與狀態(State)加密。然而實際上,幾乎目前所有的主流區塊鏈,包含以太坊,其鏈上的交易及狀態皆為未加密的明文,用戶不僅可以查詢任一地址的交易歷史,還能知道任一地址呼叫某智能合約的次數與參數。也就是說,當今主流區塊鏈並未保護隱私。
雖然區塊鏈上的交易使用假名(Pseudonym),即地址(Address),但由於所有交易及狀態皆為明文,因此任何人都可以對所有假名進行分析並建構出用戶輪廓(User Profile)。更有研究[6]指出有些方法可以解析出假名與 IP 的映射關係(詳見下個段落),一旦 IP 與假名產生關聯,則用戶的每個行為都如同攤在陽光下一般赤裸。
區塊鏈的隱私問題很早便引起研究員的重視,因此目前已有諸多提供隱私保護的區塊鏈被提出,例如運用零知識證明(Zero-knowledge Proof)的 Zcash、運用環簽章(Ring Signature)的 Monero、 運用同態加密(Homomorphic Encryption)的 MimbleWimble 等等。區塊鏈隱私是一個大量涉及密碼學的艱澀主題,本文礙於篇幅不再深入探討,想深入鑽研的讀者不妨造訪台北以太坊社群專欄,其中有若干優質文章討論此一主題。
網路層
節點於應用層產生的共識訊息或交易訊息需透過網路層廣播(Broadcast)到其他節點。由於當今的主流區塊鏈節點皆未採取使網路維持匿名的技術,例如代理(Proxy)、虛擬私人網路(Virtual Private Network, VPN)或下文即將介紹的洋蔥路由(Onion Routing),因此區塊鏈無法使用戶維持匿名 — 因為對收到訊息的節點來說,它既知道廣播節點在做什麼(收到的訊息),也知道廣播節點是誰(訊息的 IP 位置)。
一個常見的問題是:使用假名難道不是匿名嗎?若能找到該假名與特定 IP 的映射關係的話就不是。一般來說,要找到與某假名對應的 IP 相當困難,幾可說是大海撈針,但是至少在下列兩種情況下可以找到對應關係:1. 該假名的用戶自願揭露真實 IP,例如在社群網站公開以太坊地址;2. 區塊鏈網路遭受去匿名化攻擊(Deanonymization Attack)[6]。
洩漏假名與 IP 的關聯會有什麼問題? 除了該 IP 的真實身份可能被揭露外,該區塊鏈節點亦可能遭受流量分析(Traffic Analysis)、服務阻斷(Denial of Service)或者審查(Censorship),可以說是有百害而無一利。
區塊鏈如何維持匿名?
其實上文已給出了能讓區塊鏈維持匿名的線索:現有匿名技術的應用。我們先來進一步理解區塊鏈網路層與深入探討網際網路協定的運作原理。
區塊鏈網路層的運作原理
P2P Overlay Network [7]
區塊鏈是一個對等網路(Peer-to-peer, P2P),而對等網路是一種覆蓋網路(Overlay Network),需建構於實體網路(Physical Network)之上。
覆蓋網路有兩種常見的通訊模式:一種是基於中繼的(Relay-based)通訊,在此通訊模式下的訊息皆有明確的接收端,因而節點會將不屬於自己的訊息中繼(Relay)給下一個可能是接收端的節點,分散式雜湊表(Distributed Hash Table, DHT)就是一種基於中繼的對等網路;另一種是基於廣播的(Broadcast-based)通訊,在此通訊模式下的訊息會被廣播給所有節點,節點會接收所有訊息,並且再度廣播至其他節點,直到網路中所有節點都收到該訊息,區塊鏈網路層就是一種基於廣播的對等網路。
覆蓋網路旨在將實體網路的通訊模式抽象化並於其上組成另一個拓墣(Topology)與路由機制(Routing Mechanism)。然而實際上,實體網路的通訊仍需遵循 TCP/IP 協定組的規範。那麼,實體網路又是如何運作的呢?
網際網路的運作原理
OSI Model vs TCP/IP Model
實體網路即是網際網路,它的發明可以追朔至 Robert Kahn 和 Vinton Cerf 於1974 年共同發表的原型[12],該原型經過數年的迭代後演變成我們當今使用的 TCP/IP 協定組[8]。全球資訊網(WWW)的發明更進一步驅使各國的 ISP 建立基於 TCP/IP 協定組的網路基礎建設。網際網路在多個國家經過近 30 年的部署後逐漸發展成今日的規模,成為邏輯上全球最巨大的單一網路。
1984 年,國際標準化組織(ISO)也發表了 OSI 概念模型[9],雖然較 TCP/IP 協定組晚了 10 年,但是 OSI 模型為日後可能出現的新協定提供了良好的理論框架,並且與 TCP/IP 協定組四層協定之間有映射關係,能夠很好地描述既存的 TCP/IP 協定組。
TCP/IP 協定組的各層各有不同的協定,且各層之間的運作細節是抽象的,究竟這樣一個龐大複雜的系統是如何運作的呢?
Packet Traveling [10][11]
事實上,封包的傳送正如同寄送包裹。例如筆者從台北寄一箱書到舊金山,假設每個包裹只能放若干本書,這箱書將分成多個包裹寄送,每個包裹需註明寄件地址、收件地址、收件者。寄送流程從郵局開始,一路經過台北物流中心 → 北台灣物流中心 → 基隆港 → 洛杉磯港 → 北加州物流中心 → 舊金山物流中心 → 收件者住處,最後由收件者收取。
這如同從 IP 位於台北的設備連上 IP 位於舊金山的網站,資料將被切分成多個固定大小的封包(Packet)之後個別帶上請求端 IP、響應端 IP 及其他必要資訊,接著便從最近的路由器(Router)出發,一路送至位於舊金山的伺服器(Server)。
每個包裹上的收件地址也如同 IP 位置,是全球唯一的位置識別。包裹的收件地址中除了包含收件者的所在城市、街道,還包含了門號,每個門號後都住著不同的收件者。門號正如同封包中後綴於 IP 的連接埠(Port),而住在不同門號的收件者也如同使用不同連接埠的應用程式(Application),分別在等待屬於他們的包裹。實際上,特定的連接埠會被分配給特定的應用程式,例如 Email 使用連接埠 25、HTTPS 使用連接埠 443 等等。
雖然包裹的最終目的地是收件地址,但包裹在運送途中也會有數個短程目的地 — 也就是各地的物流中心。包裹在各個物流中心之間移動,例如從北部物流中心到基隆港,再從基隆港到洛杉磯港,雖然其短程目的地會不斷改變,但其最終目的地會保持不變。
封包的最終目的地稱為端點(End),短程目的地稱為轉跳(Hop) — 也就是路由器(Router)。路由器能將封包從一個網段送至另一個網段,直到封包抵達其端點 IP 所在的網段為止。封包使用兩種定址方法:以 IP 表示端點的位置,而以 MAC 表示路由器的位置。這種從轉跳至轉跳(From Hop to Hop)的通訊是屬於 TCP/IP 協定組第一層:網路存取層(Network Access Layer)的協定。
那麼要如何決定包裹的下一個短程目的地呢?理論上,每個物流中心皆需選擇與最終目的地物理距離最短的物流中心作為下一個短期目的地。例如對寄到舊金山的包裹來說,位於基隆港的包裹下一站應該是洛杉磯港,而不是上海港。
封包則使用路由器中的路由表(Routing Table)來決定下一個轉跳位置,有數種不同的路由協定,例如 RIP / IGRP 等,可以進行路由表的更新。從端點到端點(From End to End)的通訊正是屬於 TCP/IP 協定組第二層:網際層(Internet Layer)的協定。
若一箱書需要分多次寄送,則可以採取不同的寄送策略。至於選擇何種寄送策略,則端看包裹內容物的屬性:
求穩定的策略:每個包裹都會有個序號,寄包裹前要先寫一封信通知收件者,收件者於收到信後需回信確認,寄件者收到確認信後“再”寫一次信告訴收件者「我收到了你的確認」,然後才能寄出包裹。收件者收到包裹後也需回確認信給寄件者,如果寄件者沒收到某序號包裹的回信,則會重寄該包裹。
求效率的策略:連續寄出所有的包裹,收件者不需回信確認。
橫跨多個封包的通訊是屬於 TCP/IP 協定組第三層:傳輸層(Transport Layer)的協定。這兩種策略也對應著傳輸層的兩個主要協定:TCP 與 UDP。TCP 注重穩定,它要求端點於傳送封包前必須先進行三向交握(Three-way Handshake),也就是確認彼此的確認,以建立穩固的連線,且端點在接收封包後也會回傳確認訊息,以確保沒有任何一個封包被遺失;反之,UDP 注重效率,它不要求端點在通訊前進行繁瑣的確認,而是直接傳送封包。
包裹本身亦可以裝載任何內容:這箱書可以是一套金庸全集,也可以是一年份的交換日記;同理,封包內的資料也可以是來自任何上層協定的內容,例如 HTTPS / SMTP / SSH / FTP 等等。這些上層協定都被歸類為 TCP/IP 協定組第四層:應用層(Application Layer)的協定。
維持匿名的技術
區塊鏈仰賴於實體網路傳送訊息,欲使區塊鏈網路層維持匿名,則需使實體網路維持匿名。那麼實體網路如何匿名呢? 若以寄包裹的例子來看,維持匿名,也就是不要讓收件者知道寄件地址。
一個直覺的思路是:先將包裹寄給某個中介(Intermediary),再由中介寄給收件者。如此收件者看到的寄件地址將會是中介的地址,而非原寄件者的地址 — 這也就是代理(Proxy)以及 VPN 等匿名技術所採取的作法。
不過這個作法的風險在於:寄件者必須選擇一個守口如瓶、值得信賴的中介。由於中介同時知道寄件地址與收件地址,倘若中介將寄件地址告知收件人,則寄件者的匿名性蕩然無存。
有沒有辦法可以避免使單一中介毀壞匿名性呢?一個中介不夠,那用兩個、三個、甚至多個呢?這便是洋蔥路由的基本思路。由於沒有任何一個中介同時知道寄件地址與收件地址,因此想破壞寄件者匿名性將變得更困難。
洋蔥路由與 Tor
洋蔥路由(Onion Routing)最初是為了保護美國政府情報通訊而開發的協定,後來卻因為其能幫助平民抵抗政府監控而變得世界聞名。
1997 年,Michael G. Reed、Paul F. Syverson 和 David M. Goldschlag 於美國海軍研究實驗室首先發明了洋蔥路由[13],而 Roger Dingledine 和 Nick Mathewson 於美國國防高等研究計劃署(DARPA)緊接著開始著手開發 Tor,第一版 Tor 於 2003 年釋出[14]。2004 年,美國海軍研究實驗室以自由軟體授權條款開放了 Tor 原始碼。此後,Tor 開始接受電子前哨基金會(Electronic Frontier Foundation)的資助;2006年,非營利組織「Tor 專案小組」(The Tor Project)成立,負責維護 Tor 直至今日。
Tor [15]是洋蔥路由的實作,它除了改進原始設計中的缺陷,例如線路(Circuit)的建立機制,也加入若干原始設計中沒有的部分,例如目錄伺服器(Directory Server)與洋蔥服務(Onion Service),使系統更強健且具有更高的匿名性。
Tor 自 2004 年上線至今已有超過 7000 個由志願者部署的節點,已然是一個強大的匿名工具。然而這也使其成為雙面刃:一方面它可以幫助吹哨者揭露不法、對抗監控;另一方面它也助長了販毒、走私等犯罪活動。但不論如何,其技術本身的精巧,才是本文所關注的重點。
Tor 的運作原理
Tor Overview [16]
Tor 是基於中繼的(Relay-based)覆蓋網路。Tor 的基本思路是:利用多個節點轉送封包,並且透過密碼學保證每個節點僅有局部資訊,沒有全局資訊,例如:每個節點皆無法同時得知請求端與響應端的 IP,也無法解析線路的完整組成。
Tor 節點也稱為洋蔥路由器(Onion Router),封包皆需透過由節點組成的線路(Circuit)傳送。要注意的是,Tor 線路僅是覆蓋網路中的路徑,並非實體網路的線路。每條線路皆由 3 個節點組成,請求端首先會與 3 個節點建立線路並分別與每個節點交換線路密鑰(Circuit Key)。
請求端會使用其擁有的 3 組線路密鑰對每個送出的封包進行 3 層加密,且最內層密文需用出口節點的密鑰、最外層密文需用入口節點的密鑰,如此才能確保線路上的節點都只能解開封包中屬於該節點的密文。被加密後的封包被稱為洋蔥,因其如洋蔥般可以被一層一層剝開,這就是洋蔥路由這個名稱的由來。
封包經過線路抵達出口節點後,便會由出口節點送往真正的響應端。同樣的線路也會被用於由響應端回傳的封包,只是這一次節點會將每個送來的封包加密後再回傳給上一個節點,如此請求端收到的封包就會仍是一顆多層加密的洋蔥。
那麼,請求端該選擇哪些節點來組成線路呢?Tor 引入了目錄伺服器(Directory Server)此一設計。目錄伺服器會列出 Tor 網路中所有可用的節點[17],請求端可以透過目錄伺服器選擇可用的洋蔥路由器以建立線路。目前 Tor 網路中有 9 個分別由不同組織維護的目錄,中心化的程度相當高,這也成為 Tor 安全上的隱憂。
Tor 線路的建立機制
Tor Circuit Construction [18]
Tor 是如何建立線路的呢?如上圖所示,Tor 運用伸縮(Telescoping)的策略來建立線路,從第一個節點開始,逐次推進到第三個節點。首先,請求端與第一個節點進行交握(Handshake)並使用橢圓曲線迪菲 — 赫爾曼密鑰交換(Elliptic Curve Diffie–Hellman key Exchange, ECDH)協定來進行線路密鑰的交換。
為了維持匿名,請求端接著再透過第一個節點向第二個節點交握。與第二個節點交換密鑰後,請求端再透過第一、二個節點向第三個節點交握與交換密鑰,如此慢慢地延伸線路直至其完全建立。線路建立後,請求端便能透過線路與響應端進行 TCP 連線,若順利連接,便可以開始透過線路傳送封包。
洋蔥服務
Clearnet, Deepweb and Darknet [21]
洋蔥服務(Onion Service)/ 隱藏服務(Hidden Service)是暗網(Darknet)的一部分,是一種必須使用特殊軟體,例如 Tor,才能造訪的服務;與暗網相對的是明網(Clearnet),表示可以被搜尋引擎索引的各種服務;深網(Deep Web)則是指未被索引的服務,這些服務不需要特殊軟體也能造訪,與暗網不同。
當透過 Tor 使用洋蔥服務時,請求端與響應端都將不會知道彼此的 IP,只有被響應端選定的節點:介紹點(Introduction Point)會引領請求端至另一個節點:會面點(Rendezvous Point),兩端再分別與會面點建立線路以進行通訊。也就是說,請求端的封包必須經過 6 個節點的轉送才能送往響應端,而所有的資料也會採取端對端加密(End-to-end Encryption),安全強度非常高。
洋蔥服務及暗網是一個令人興奮的主題,礙於篇幅,筆者將另撰文闡述。
混合網路、大蒜路由與洋蔥路由
這裡再接著介紹兩個與洋蔥路由系出同源的匿名技術:混合網路與大蒜路由。
Mix Network Overview [22]
混合網路(Mix Network)早在 1981 年就由 David Chaum 發明出來了[23],可以說是匿名技術的始祖。
洋蔥路由的安全性奠基於「攻擊者無法獲得全局資訊」的假設[24],然而一旦有攻擊者具有監控多個 ISP 流量的能力,則攻擊者仍然可以獲知線路的組成,並對其進行流量分析;混合網路則不僅會混合線路節點,還會混合來自不同節點的訊息,就算攻擊者可以監控全球 ISP 的流量,混合網路也能保證維持匿名性。
然而高安全性的代價就是高延遲(Latency),這導致混合網路無法被大規模應用,或許洋蔥路由的設計是一種為了實現低延遲的妥協。
Garlic Routing Overview [25]
混合網路啟發了洋蔥路由,洋蔥路由也啟發了大蒜路由。2003年上線的 I2P(Invisible Internet Project)便是基於大蒜路由(Garlic Routing)的開源軟體,可以視為是去中心化版的 Tor。幾乎所有大蒜路由中的組件,在洋蔥路由中都有對應的概念:例如大蒜路由的隧道(Tunnel)即是洋蔥路由的線路;I2P 的網路資料庫(NetDB)即是 Tor 的目錄;I2P中的匿名服務(Eepsite)即是 Tor 的洋蔥服務。
不過,大蒜路由也有其創新之處:它允許多個封包共用隧道以節省建立隧道的成本,且其使用的網路資料庫實際上是一個分散式雜湊表(DHT),這使 I2P 的運作徹底去中心化。若想進一步理解 DHT 的運作原理,可以參考筆者之前所撰寫的文章:
連Ethereum都在用!用一個例子徹底理解DHT
I2P 最大的詬病就是連線速度太慢,一個缺乏激勵的去中心化網路恐怕很難吸引足夠的節點願意持續貢獻頻寬與電費。
區塊鏈與洋蔥路由
那麼,基於實體網路的區塊鏈能不能使用洋蔥路由或大蒜路由/混合網路/其他技術,以維持節點的匿名?答案是肯定的。事實上,目前已經出現數個專案與提案:
全新的專案
Dusk:實作大蒜路由的區塊鏈[32],不過官方已宣布因其影響網路效能而暫停開發此功能。
cMix:透過預先計算(Precomputation)以實現低延遲的混合網路[33],是混合網路發明者 David Chaum 近期的研究,值得期待。
Loki:結合 Monero 與 Tor/I2P 的區塊鏈 [34],並使用代幣激勵節點貢獻頻寬與電力,由其白皮書可以看出發明者對於匿名技術的熱愛與信仰。
於主流區塊鏈的提案
比特幣:全世界第一條區塊鏈,將於其網路使用一個不同於洋蔥路由的匿名技術:Dandelion++[30][31],該匿名技術因其訊息傳播路徑的形狀類似浦公英而得其名。
閃電網路(Lightning Network):知名的比特幣第二層方案,將於其網路內實作洋蔥路由[27]。
Monero:使用環簽章保護用戶隱私的區塊鏈,將於其網路內實作大蒜路由,已開發出 Kovri[28] 並成為 I2P 官方認可的客戶端之一[29]。
於以太坊的提案
2018 年 12 月,Mustafa Al-Bassam 於以太坊官方研究論壇提議利用洋蔥路由改進輕節點之資料可得性(Light Client Data Availability)[36]。若讀者想了解更多關於以太坊輕節點的研究,可以參考台北以太坊社群專欄的這篇文章。資料可得性是輕節點實現的關鍵,而這之中更關鍵的是:如何向第三方證明全節點的資料可得性?由於這個提案巧妙地運用了洋蔥路由的特性,因此在今年 7 月在另一則討論中,Vitalik 亦強烈建議應儘速使洋蔥路由成為以太坊的標準[35]。
在這個提案中,輕節點需建立洋蔥路由線路,然而線路節點並非由目錄中挑選,而是由前一個節點的可驗證隨機函數(Verifiable Random Function, VRF)決定。例如線路中的第二個節點需由第一個節點的 VRF 決定。線路建立後,出口節點便可以接著向全節點請求特定的可驗證資料。由於輕節點在過程中維持匿名,因此可以防止全節點對輕節點的審查(Censoring)。取得可驗證資料後,其便與 VRF 證明沿著原線路傳回輕節點,輕節點再將可驗證資料與 VRF 證明提交至合約由第三方驗證。若第三方驗證正確,則資料可得性得證。
結語
隱私與匿名是自由的最後一道防線,我們應該盡可能地捍衛它,不論是透過本文介紹的匿名技術或者其他方式。然而,一個能保護隱私與維持匿名的區塊鏈是否能實現真正的去中心化?這是一個值得深思的問題。
本文也是筆者研究區塊鏈至今跨度最廣的一篇文章,希望讀者能如我一樣享受這段令人驚奇又興奮的探索旅程。
參考資料
[1] Jingwang Weishi, Wikipedia
[2] PRISM, Wikipedia
[3] privacytools.io
[4] Nothing-to-hide Argument, Wikipedia
[5] Anonymity vs Privacy vs Security
[6] Deanonymisation of Clients in Bitcoin P2P Network, Alex Biryukov, Dmitry Khovratovich, Ivan Pustogarov, 2014
[7] Example: P2P system topology
[8] Internet protocol suite, Wikipedia
[9] OSI model, Wikipedia
[10] Packet Traveling: OSI Model
[11] Packet Traveling — How Packets Move Through a Network
[12] A Protocol for Packet Network Intercommunication, VINTON G. CERF, ROBERT E. KAHN, 1974
[13] Anonymous Connections and Onion Routing, Michael G. Reed, Paul F. Syverson, and David M. Goldschlag, 1998
[14] Tor: The Second-Generation Onion Router, Roger Dingledine, Nick Mathewson, Paul Syverson, 2004
[15] Tor, Wikipedia
[16] What actually is the Darknet?
[17] Tor Network Status
[18] Inside Job: Applying Traffic Analysis to Measure Tor from Within, Rob Jansen, Marc Juarez, Rafa Galvez, Tariq Elahi, Claudia Diaz, 2018
[19] How Does Tor Really Work? The Definitive Visual Guide (2019)
[20] Tor Circuit Construction via Telescoping
[21] The DarkNet and its role in online piracy
[22] Mix network, Wikipedia
[23] Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms, David Chaum, 1981
[24] The differences between onion routing and mix networks
[25] Monitoring the I2P network, Juan Pablo Timpanaro, Isabelle Chrisment, Olivier Festor, 2011
[26] I2P Data Communication System, Bassam Zantout, Ramzi A. Haraty, 2002
[27] BOLT #4: Onion Routing Protocol
[28] Kovri
[29] Alternative I2P clients
[30] Bitcoin BIP-0156
[31] Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees, Giulia Fanti, Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Bradley Denby, Shruti Bhargava, Andrew Miller, Pramod Viswanath, 2018
[32] The Dusk Network Whitepaper, Toghrul Maharramov, Dmitry Khovratovich, Emanuele Francioni, Fulvio Venturelli, 2019
[33] cMix: Mixing with Minimal Real-Time Asymmetric Cryptographic Operations, David Chaum, Debajyoti Das, Farid Javani, Aniket Kate, Anna Krasnova, Joeri De Ruiter, Alan T. Sherman, 2017
[34] Loki: Private transactions, decentralised communication, Kee Jefferys, Simon Harman, Johnathan Ross, Paul McLean, 2018
[35] Open Research Questions For Phases 0 to 2
[36] Towards on-chain non-interactive data availability proofs
隱私、區塊鏈與洋蔥路由 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌