汽車軟體深度報告:汽車軟體產業鏈及未來趨勢分析
北京新浪網 10-01 20:00
來源:未來智庫
關鍵結論
電動智能趨勢下,汽車逐步由機械驅動向軟體驅動過渡。近年 SDV(軟體定義汽車)概念逐步被行業認知,根源在於「汽車如何體現差異化」問題的變遷,隨著電 動化帶來的汽車電子構架革新,汽車硬體體系將逐漸趨於一致,軟體成為定義 汽車的關鍵,行業更具想像空間。即造車壁壘已經由從前的上萬個零部件拼合 能力演變成將上億行代碼組合運行的能力。本文通過對汽車軟體行業的系統性 梳理,幫助讀者把握行業成長中的投資機會。
我們提出零部件賽道三維篩選框架,基於起點(單車價值量)-持續時間(產品生 命周期)-斜率(產品升級速度)三維體系評價細分零部件的市場空間,軟體平均單車價值量由傳統車的 200 美元,提升至 2025 年新能源汽車的 0.23 萬美元,進 一步至 2025 年新能源汽車的 1.8 萬美元。未來十年軟體市場復合增速為 9%,2030 年 500 億美元空間,57%的增量來自於 ADAS 及 AD 軟體。
軟體如何定義汽車價值?百年汽車工業面臨由機械機器向電子產品過渡的新變 局。汽車「駕駛感」及車機 APP 化的功能實現發生在我們看不到的隱秘角落— —上百的電子控制單元循環執行軟體代碼功能塊,通過高性能的中央計算單元, 與硬體體繫結合以解析駕駛員需求,邏輯運算後向機械部件發送相應響應指令。
汽車軟體成為未來汽車構架重要組成部分。而整車電子電氣構架提供的硬體、 操作系統實現的管理功能、基礎軟體平台構架實現的抽象化為 SDV 不可或缺的 三大關鍵部分,軟硬體的分離(研發分離、功能發佈分離)成為實現 SDV 基礎。
發展史與整車廠戰略。汽車軟體隨產業技術升級持續迭代:1970 年代的簡單發 動機控制演算法→1980 年代中央計算單元創新→1990 年代信息娛樂系統創新→ 2000 年代安全系統→2010 年代開始向全新汽車電子構架及軟體系統演變。不 同於以前依靠多個 ECU 由部件供應商主導的無獨立軟體產品概念時代,主機廠 愈發需具備軟體的管理能力及核心軟體設計能力。整車廠中特斯拉引領車載軟 件行業最高技術,大眾重金重塑軟體架構,整車廠關乎開發周期、賦予附加值、 構架實現、軟體變現模式以及操作系統切入等問題上仍未進行標準化定義,卻 為影響行業發展的關鍵所在。
產業鏈機遇。新科技、軟體公司湧入帶動供應鏈管理的扁平化、邊界模糊化, 帶動供應鏈生態體系變革。供應模式上,預計 Tier1 與整車廠之間將採取兩種合作方式,其一,整車廠主導軟體,Tier1 負責硬體生產;其二,整車廠定義軟 件框架規範標準,Tier1 供應符合標準的相關軟體。盈利模式上,偏向製造業邏 輯的大部分汽車硬體由於堆橋數量將受到限制,終將會進入產業穩態階段,往 介面及功能上的標準化發展,維持較穩定的利潤率水平;軟體由於迭代周期快 且行業特性帶來的標準化程度低,賦予汽車新盈利模式。現階段特斯拉三大付 費模式打開車企軟體變現想像空間,開發基礎平台收許可費、供應功能模塊按 Royalty 收費及定製化的二次開發均為未來軟體供應商主流打法。
推演的 5 大未來趨勢。汽車終將成為搭載「差異化元素」的通用化平台。一方 面,ECU 功能模塊里循環迭代的代碼驅動汽車執行動作反饋;另一方面,車載 娛樂信息系統 APP 化吸引第三方開發者入場。海量數據將在車內流轉,關於賦 能域控制器、定位車機系統的各項軟體性能升級,包括功能中心化、乙太網應 用、整車 OTA 升級、信息交互上雲及深層次的信息安全防禦等,或將帶來汽車 軟體一系列發展機遇。
SDV 新階段:軟體如何定義汽車價值
百年汽車工業面臨由機械機器向電子產品過渡的新變局。跨入駕駛室,安靜的 啟動、柔中帶剛的加速、平穩過渡的剎車等為代表的汽車「駕駛感」逐步由機 械驅動向軟體驅動過渡,這一套功能的實現發生在我們看不到的隱秘角落—— 上百的電子控制單元循環執行軟體代碼功能塊,通過高性能的中央計算單元, 與硬體體繫結合以解析駕駛員需求,邏輯運算後向機械部件發送相應響應指令。近年來,SDV(Software Define Vehicles,即軟體定義汽車)概念逐步被整車 廠認知,根源在於「汽車如何體現差異化」問題的變遷,隨著電動化帶來的汽 車電子構架革新,汽車硬體體系將逐漸趨於一致,整車廠很難在硬體上打造差 異化,此時軟體成為定義汽車的關鍵,即造車壁壘已經由從前的上萬個零部件 拼合能力演變成將上億行代碼組合運行的能力。
汽車軟體為未來汽車構架重要組成部分
汽車軟體與硬體體系發生分化。近幾十年隨汽車構架升級、性能與用戶操作感 需求逐年提升,汽車軟硬體數量爆發,並愈發複雜化。在硬體方面,電控單元 數量迅速增長,於 2010 年面臨增速放緩的拐點(主要受整車成本與控制器數 量平衡的影響),2025 年隨行業集中式電子電氣架構趨勢持續推進,電控單元 邁向集成化從而控制器數量將較為平穩。在軟體方面,各大主機廠軟體功能體 系越做越大,其中「功能函數」作為軟體體系中的最小單元,其單車數量持續 增大,控制器內部的功能函數複雜度提升,疊加智能座艙新增的應用型軟體需 求,軟體重要性愈發凸顯。2010 年(增速放緩的硬體數量 VS. 急劇攀升的軟 件數量)與 2025 年(硬體產業成型 VS.軟體加速迭代塑造汽車差異性)為汽車 軟硬體發展中兩個重要的分水嶺。
汽車複雜的運作需軟硬體結合進行。無論是駕駛艙對汽車電子功能的調用,抑 或汽車與駕駛員和環境互動,均可抽化為軟硬體密切配合的模型,即駕駛員的 需求與汽車功能反應之間存在著複雜的控制鏈條:駕駛員通過機械硬體或部分 虛擬按鈕輸入期望(例如通過車載按鈕、踏板等輸入型機械硬體給出期望)→ 駕駛員動作轉換為電子信號傳入電控單元→執行器控制控制對象達到駕駛員的 需求→感測器向電控系統持續反饋控制達成的具體情況,軟體邏輯持續運算向 執行器發出指令,最終達成駕駛員的期望要求。以剎車輔助駕駛為例,在駕駛 員剎車信號不足或過慢的情況下,內置的一套軟體邏輯將被激活,讓制動系統 自動做出減速相應。在電控單元中快速進行的一次次軟體迭代循環,為汽車正 常運作的基石。
SDV 研發工具鏈仍以 V 流程為主。汽車研發系統過程能拆解為軟體、硬體、執 行器及感測器 4 大部分。與傳統車相同,V 模型為車企主流的開發流程,從產 品設計、子系統設計、控制器驗證及系統驗證等階段均有相對應的工具鏈進行 支撐,涵蓋從系統到軟體以及集成后的一系列測試等內容。SDV 模式下對工具 鏈的應用具部分變化:一方面,硬體愈發通用化,研發會集中在作為功能集群 的 ECU 開發上;另一方面,車的各種功能實現盡量靠軟體實現。
Step 1:產品設計階段。此階段核心為分析和拆解需求。由消費者的需求、車 型安全及性能的剛性需求以及法律法規需求定義出軟體的基礎構架,以及定義 出各大功能模塊。
Step 2:子系統設計階段。步驟為由系統構架需求定義軟硬體構架設計。關乎 軟體系統部分在這一步雛形初顯,能將技術問題具體化,例如定義軟體能實現 的功能、軟體功能模塊的分離、如何跟對應的控制器配合等。
Step 3:控制器驗證階段。完成硬軟體及控制器集成,代碼成型并迭代測試。
Step 4:系統驗證階段。測試軟硬體在整車上的裝載使用情況。
SDV不可或缺的三大關鍵部分——電子電氣架構、操作系統、軟體平台
整車電子電氣構架為硬體基礎。汽車電子電氣架構(Electronic and Electrical Architecture,文中簡稱 EEA)最初由德爾福公司提出,以博世經典的五域分類 拆分整車為動力域(安全)、底盤域(車輛運動)、座艙域/智能信息域(娛樂信 息)、自動駕駛域(輔助駕駛)和車身域(車身電子)等 5 個子系統。後續演變 成車企所定義的一套整合方式,可形象看作人體結構中的骨架部分,後續需要 「器官」、「血液」和「神經」進行填充。具體到汽車上來說,EEA 把汽車中的 各類感測器、ECU(電子控制單元)、線束拓撲和電子電氣分配系統完美地整合 在一起,完成運算、動力和能量的分配,實現整車的各項智能化功能。博世曾 經將汽車電子電氣架構劃分為三個大階段:傳統分散式電子電氣架構-域控制器 電子電氣架構-集中式電子電氣架構:
(1)傳統分散式的電子電氣架構:主要用在 L0-L2 級別車型,此時車輛主要由 硬體定義,採用分散式的控制單元,專用感測器、專用 ECU 及演算法,資源協同 性不高,有一定程度的浪費。產業鏈分工上,車型架構由整車廠定義,實現核 心功能的 ECU 及其軟體開發由 Tier 1 完成。
(2)域控制器電子電氣架構:從 L3 級別開始,通過域控制器的整合,分散的 車輛硬體之間可以實現信息互聯互通和資源共享,軟體可升級,硬體和感測器 可以更換和進行功能擴展。屬於過渡形態,ECU 仍承擔大部分功能實現,整車 廠將參與部分域控制器的開發。
(3)集中式電子電氣架構:以特斯拉 Model 3 領銜開發的集中式電子電氣架構 基本達到了車輛終極理想——也就是車載電腦級別的中央控制架構。此時集成 化趨勢將消減大部分 ECU,主機廠將逐漸主導原本屬於 Tier 1 參與的軟體部分 (預計以直接開發模式或定義規範標準后讓供應商參與),其目標是設計簡單的 軟體插件和實現物理層變化的本地化。
操作系統實現管理功能。車載操作系統(Car-OS)承擔著管理車載電腦硬體與 軟體資源的程序的角色。20 世紀 90 年代伊始,汽車上基於微控制晶元的嵌入 式電子產品的應運興起,需加入相關的軟體架構以實現分層化,即汽車電子產 品均需要搭載嵌入式操作系統。從產品品類上,汽車電子產品可歸納為兩類, 一是以儀錶,娛樂音響、導航系統為代表的車載娛樂信息系統;二是主管車輛 運動和安全防護的電控裝置。兩者對比而言,電控系統更強調安全性和穩定性, 因此應用於電控單元 ECU 的嵌入式操作系統標準更為嚴格。未來操作系統發展 面臨兩大趨勢,一是以 OSEK、AUTOSAR 為典型代表的操作系統標準聯盟將 定義統一的技術規範;二是智能網聯趨勢下數據融合度提升,由於各個部件的 安全標準等級不一從而整車上存在多種操作系統的運用,通常引入虛擬機管理 (可提供同時運行多個獨立操作系統的環境),如在智能座艙 ECU 中同時運行 Android(車載電子操作系統)和 QNX(電控操作系統)。
基礎軟體平台構架是實現抽象化的關鍵所在。從定義上,軟體架構為軟體系統 定義了一個高級抽象(軟體表達行為、屬性、相互作用、集成方式及約束均在 此架構上體現)。而 SDV 核心內涵是能夠通過軟體作用,動態地改變構架網路 節點之間的聯結或分離狀態,從而定義汽車不同的功能組成。基礎軟體平台需 具備三方面要求:一是可靠性,能保證汽車功能實現的實時和安全;二是通用 性,適用於不同車型和不同的操作系統上;三是網構架節點易於更換聯結方式。AUTOSAR 是全球各大整車廠、供應商聯合擬定開放式標準化的軟體架構,其 使得不同結構的電子控制單元的介面特徵標準化,從而軟體具更優的可擴展性 及可移植性,降低重複性工作,縮短開發周期。
汽車軟硬體分離為 SDV 基礎
軟硬體的分離涵蓋研發分離、功能發佈分離兩方面。軟硬體分離為實現 SDV 基 礎,電動化趨勢簡化造車流程,未來汽車硬體的研發、製造更偏向於流水線過 程,而軟體發展逐步具互聯網的快速迭代趨勢傾向。汽車軟硬體分離概念由此 而生,其包含兩方面內容,一方面,由於開發周期(汽車硬體 5-7 年的開發周 期 vs. 軟體 2-3 年的開發周期)及技術領域(偏向製造業 vs.偏向互聯網)的 差別,汽車軟硬體在開發上、供應上逐漸分開。另一方面,軟體的功能發佈可 以與車型完成分離,新軟體不僅適用於新車,仍可快速發佈到已量產車型上, 增強車型硬體的使用長尾期。
軟硬體分離在功能升級及工藝裝配上具優勢。基於軟硬體分離的新構架體系在 車型功能升級及製造模式上發生變化。功能升級上,新的擴充功能由軟體定義 通過雲端直接升級,無需再在硬體層面進行驗證;工藝製造上,與軟體分離后 的電子電氣構架不同於現階段「八爪魚」式的複雜構造,更易於自動化裝配。
當前車企實現更新的方式——硬體冗餘,後續依靠更新升級。
(1)硬體預置:傳統汽車定價由硬體及性能決定。而 SDV 模式下,相同硬體 的車型通過不同的軟體配置決定車與車之間不同的功能與體驗。車企在車型設 計之初需提前定義軟硬體,SOP 時將具備擴展功能的冗餘硬體預裝,後續將通 過付費型軟體升級或者功能開放回收成本。以特斯拉的 AutoPilot 為例,冗餘的 預設硬體將通過後期持續的軟體升級調動功能,為新創收模式。
(2)性能預置:性能預置分為兩個方面,控制器算力預留,為更多的軟體功能 和演算法預留空間。隨智能駕駛趨勢,車載算力大幅提升,由於無法預估後續所 需算力的極限,通常在實際情況中會預留算力空間。性能預留,通常在各性能 硬體上做事先預留,以應付如加速性能提升,續航里程提升,圖像的清晰度提 升,音響效果提升等升級事項。例如 2018 年 6 月,美國權威雜誌《消費者報 告》發現, Model3 剎車距離比皮卡福特 F-150 要長。ElonMusk 接受了《消 費者報告》的批評並承諾通過 OTA 儘快解決此問題。此後在不到一周時間, 特斯拉通過一次 OTA 升級解決了該個問題,《消費者報告》重新測試后發現, 升級后的 Model3 剎車距離縮短了 5.8 米。
追溯發展史:汽車軟體的前世
汽車軟體隨產業技術升級持續迭代:1970 年代的簡單發動機控制演算法(軟體嵌 入應用模式)→1980 年代中央計算單元創新(顯示車輛基本信息)→1990 年 代信息娛樂系統創新(GPS、自適應巡航控制出現)→2000 年代安全系統(出 現高級駕駛員輔助駕駛概念)→2010 年代開始向全新汽車電子構架及軟體系統 演變(電子化和軟體化,出現無人駕駛概念)。
1980 年代之前,汽車僅搭載車燈、啟動機、火花塞等簡易電子設備,並未運用 任何軟體部分。整車電子設備通信及電能供給依靠銅導線傳輸。部分豪華車裝 置僅由收音機為核心部件的車載娛樂系統。
1970 年代,發動機系統具備演算法功能。出現點火系統、電子燃油噴射等裝置, 軟體直接嵌入應用使用,軟體之間無關聯具獨立性。
1980 年代隨 IT 技術起步,電子電氣化革命在傳統機械部件上進行創新。油耗 及行駛距離等信息可在車內做電子化顯示,搭載軟體的電控單元開始出現,如 防抱死系統 ABS、車輛穩定系統 ESP、電子變速箱等電子系統誕生,新功能由 嵌入式軟體的演算法控制,CAN 及 LIN 匯流排解決不同控制器之間的通信問題。
1990 年代,信息娛樂系統持續創新,軟體成為汽車重要部分。汽車軟體構架愈 發分散,出現 GPS 及自適應巡航控制等較高階的電子組件及軟體。同時,不同 控制器間持續延長的通信匯流排成為車企後續進行成本管控的重要一環。
2000 年代,安全系統推出,軟體開始主導汽車創新。「高級輔助駕駛概念」在 此階段興起,例如駕駛員未及時反應的障礙物可以系統運算下汽車自發停車規 避。此時的軟體系統更為高階,行業引入 AUTOSAR 標準軟體構架。車型方面, 電子化特徵明顯,賓士 S 級轎車車型電控單元超 80 個,通信匯流排近 2000 條。
2010 年開始,汽車電動化帶來電子電氣構架、汽車軟體新變局。智能駕駛、車 聯網概念引入,造車新勢力、互聯網企業等多玩家參與進造車環節,以特斯拉 為代表的整車廠重新定義軟體系統,新創 OTA 新升級模式。
產業鏈機遇:SDV重塑市場格局
新科技、軟體公司的湧入帶動了供應鏈管理的扁平化、邊界模糊化,推動產業 競爭要素髮生本質變化,帶動供應鏈生態體系變革。在傳統封閉式供應鏈的汽 車製造商在整條供應鏈中只負責一個環節,主要擔任汽車研發製造的角色。而 在新生態體系中,汽車軟硬體分離重塑產業格局,主機廠、供應商以及互聯網 企業均參與進汽車新生態體系,從汽車全生命周期覆蓋整個產業鏈條。
供應模式轉變,主機廠、供應商及互聯網企業入局
SDV 軟體開發模式下,不同於以前依靠多個 ECU 由部件供應商主導的無獨立 軟體產品概念時代,主機廠愈發需具備軟體的管理能力及核心軟體設計能力, 並引入供應商及互聯網企業參與此環節。在軟體領域,預計未來 Tier1 與整車 廠之間將採取兩種合作方式:
其一,整車廠主導整車軟體部分,Tier1 負責硬體生產。在傳統車企巨頭入場燃 油車領域 100 多年的歷史里,造車流水線仍以機械製造為主,Tier1 以分擔主機 廠重資產角色存在,通常與整車廠車型生產周期形成相應配套。而在智能化時 代,軟體主要以輕資產模式運轉,出於掌握核心技術考量通常為主機廠所主導。其二,整車廠定義軟體框架規範標準,Tier1 供應符合此標準的相關軟體。瞬息 萬變的技術導致車企研發容錯率下降。尤其對新入場的造車勢力而言,若在前 1~2 款車連續失敗,大概率將面臨淘汰。因此對部分在技術儲備、研發及資金 實力較弱的主機廠而言,可在其定義軟體標準後由 Tier1 進行對應的開發配套。
盈利模式轉換,將逐漸由硬體逐漸向軟體傾斜
硬體發展具天花板效應,軟體持續賦予車型新附加值。以經過 15 年發展的手機 產業鏈為例,硬體體系隨處理器性能持續提升、攝像頭像素及攝像頭個數持續 增加、屏幕材質與大小升級,其產業增速趨緩,硬體盈利模式逐漸固化。而隨 蘋果 iPhone 產品橫空出世定義軟體附加值新模式,小米做低手機硬體利潤並將 其定位於功能載體,至此軟體與服務成為手機產業鏈盈利模式的重要來源。對 標至汽車,偏向造業模式的傳統車具較固定的盈利模式,從而車企具較穩定的 利潤率,而目前在汽車電子電氣化架構趨勢下,軟體有多樣性應用的空間,無 論硬體抑或軟體體系均包含升級或新生環節,盈利模式尚未定型。而長遠來看, 偏向製造業邏輯的大部分汽車硬體由於堆橋數量將受到限制,終將會進入產業 穩態階段,往介面及功能上的標準化發展,維持較穩定的利潤率水平;軟體由 於迭代周期快且行業特性帶來的標準化程度低,賦予汽車新盈利模式。
特斯拉已構築初階車企軟體盈利模式。矽谷出身的特斯拉已證實一條軟體大規 模變現的可行性路徑,分為 FSD 付費、軟體應用商城及訂閱服務三種模式:
(1)FSD 付費模式:特斯拉車型在售出后標配 Autopilot 輔助駕駛功能,而實 現自動泊車、智能召喚的 FSD 全自動駕駛功能需付費使用。FSD 單價並未固 定,過去一年內特斯拉 FSD 售價經過三次提價(國外 8000 美元,國內 6.4 萬 元),成為特斯拉利潤的重要來源。以 2019 年 36.7 萬輛的交付量計算(30 萬 輛 Model3,6.7 萬輛 ModelS/X),假定 35%的 FSD 裝載率,6500 美元的 ASP, 則軟體收入近 8.3 億美元(其毛利率大概率高於 80%)。
(2)軟體應用商城:類似手機應用商城,可即時購買性能升級軟體包(包括輔 助駕駛功能、FSD 及各類性能升級包),通過 OTA 進行升級。
(3)訂閱服務:2019Q4 推出定價 9.9 美元/月的車聯網高級連接服務,包括流 媒體、卡拉 OK、影院模式等功能。2020Q2,特斯拉宣布計劃在年底推出定價 100 美元/月的 FSD 套件訂閱服務,為 FSD 的使用提供另一選擇。
對於第三方汽車軟體供應商,盈利模式仍不明晰,參考手機產業模式及目前行 業發展情況,預計其未來有望採用以下 3 種主流盈利模式:
(1)受主機廠委託,開發基礎平台並收取許可費用。
(2)供應功能模塊按汽車出貨量 Royalty收費(按銷售量和單價一定比例分成)。
(3)基於車企平台為其做定製化的二次開發,並收取費用。
市場空間:未來十年軟體市場復合增速為 9%,2030 年 500 億美元空間
軟體市場進入快速擴張期。包括系統軟體和應用軟體在內的軟體系統將在智能 化趨勢中,由低基數實現快速擴張,據麥肯錫預計,軟體在 D 級車整車價值中 所佔的比例有望在 2030 年達到 30%,將成為未來汽車行業最重要的領域。
市場規模方面:電動智能化趨勢下硬體發展周期領先於軟體,增量市場彈性小 於軟體。據麥肯錫,2020-2030 年汽車軟體和 E / E 架構市場預計復合年增長 7%, 從目前的 2380 億美元增長至 2030 年的 4690 億美元。拆分來看,2020-2030 年軟體市場規模(操作系統、中間件及功能軟體)復合增速為 9%(由 2020 年 的 200 億美元,增長至 2025 年的 370 億美元,進一步增長至 2030 年的 500 億美元)。2020-2030 年動力系統市場規模復合增速為 15%,主要受動力源更 迭拉動。在硬體方面,ECU/DCU、感測器以及其他電子元件的復合增速分別為 5%、8%及 3%。軟體的應用帶動汽車集成及驗證環節革新,2020-2030 年集成 及驗證市場規模復合增速為 10%。
單車價值量方面:汽車軟硬體實現分離后兩者的發展模式將出現分化。其中硬 件體系的價值量隨模塊化、集成化發展,在規模化降本過程中其單車價值量增 長將較為平緩或略下降態勢;而軟體體系迭代速度快,在其對附加值模式的持 續探索下,價值量將持續上行。據麥肯錫預計,汽車中軟體單車價值量增速最 大,純電動車型將由 2025 年的 0.23 萬美元增長 7倍至 2030 年的 1.82 萬美元。同期 ECU/DCU、感測器、動力系統(除電池)及其他電子器件增速分別為 37%、 27%、-7%、5%。此外,在豪華車及主打智能化車型上,軟體的價值量佔比及絕對值將處較高水平。
汽車結構方面:全球汽車軟體與硬體內容結構正發生著重大變化,軟體驅動逐 漸成為主導。據麥肯錫預測,2016年軟體驅動佔比從 2010年的 7%增長到 10%, 預計 2030 年軟體驅動的佔比將達到 30%,屆時硬體驅動佔比僅為 41%。
軟體內容方面:應用型軟體為汽車軟體發展主力,ADAS 及 AD 軟體為主要增 量。據麥肯錫預測,2020-2030 年一體化軟體、驗證型軟體及功能性軟體市場 規模復合增速分別為 9%、10%、10%,其中功能性型軟體佔據汽車軟體半壁江 山(結構上佔比 6 成)。2020-2030 年按軟體功能劃分的市場規模中,最大增量 為 ADAS 及 AD 軟體,佔市場規模增量的 57%;信息娛樂、安全及聯網相關軟 件次之,占 20%;操作系統和中間件、車身和動力系統相關軟體、動力總成和 底盤相關軟體分別佔據 10%、10%、2%。
整車廠戰略思路:軟體為必爭之地
在汽車構架三步走過程中——傳統分散式電子電氣架構-域控制器電子電氣架 構-集中式電子電氣架構,主機廠將逐漸主導原本由 Tier 1 包攬的定製軟體部分, 軟硬體進行拆分發包的趨勢近年來愈發明顯。車企和互聯網軟體企業紛紛入局, 特斯拉引領車載軟體行業最高技術,大眾計劃緊跟,組建 5 千名軟體工程師開 發旗下所有車型統一的操作系統「vw.OS」,汽車屬性已然將逐漸由代步工具轉換 為移動的第三空間(例如未來的娛樂、辦公場所)。現階段整車廠與 Tier 1 的合 作模式仍在探索中,關乎開發周期、賦予附加值、構架實現、軟體變現模式以 及操作系統切入等問題上仍未進行標準化定義,卻為影響行業發展的關鍵所在。
特斯拉在軟體層面最大亮點是OTA 升級模式
特斯拉創整車 OTA 升級先河。其升級主要在兩個方面:一方面,將軟體升級發 送到車輛內的車載通訊單元,更新車載信息娛樂系統內的地圖和應用程序以及 其他車機類軟體。例如升級車機的運算速度、屏幕操作流暢度,運行高畫質游 戲以及增強可視化效果等,屬於駕駛艙內「看得見」的升級。另一方面,以直 接將軟體增補程序傳送至有關的電子控制單元(ECU),為 Autopilot 持續引入 及優化新功能。例如提升時速、修復駕駛漏洞等。軟硬體分離開發、硬體性能 冗餘的設計思路是實現 OTA 的必要條件,隨法規放開、演算法逐漸完善,特斯拉 以 OTA 升級軟體模式逐步解鎖新運用功能。此外,特斯拉顛覆車載軟體盈利模 式,以 6.4 萬元的 FSD 選裝軟體包定價、2000 美元的「 Acceleration Boost」 動力性能加速升級包獨創軟體付費的商業模式。
集中式電子電氣架構提供 OTA 基礎。特斯拉的整車 OTA 升級需要其超前的汽 車電子電氣架構做配套配合,傳統車企分散式電子電氣架構中 ECU 數量龐大, 單個 ECU RAM 內存容量有限,同時供應商的底層代碼和嵌入軟體差別較大, 難以完成整車功能的統一更新。而特斯拉採用集中式的電子電氣架構,分為 CCM(中央計算模塊,整合ADAS 及 IVI 域功能)、BCM LH(左車身控制模塊)、 BCM RH(右車身控制模塊)三個部分,2015 款的 Model S 大約有 15 個 ECU, 此後發佈的 Model 3 則直接通過 Hardware3.0 和三個車身控制器執行來控制行 駛、轉向和停止等功能,集中的架構和高算力的控制模塊支撐了特斯拉整車 OTA 升級。目前特斯拉已經可以通過 OTA 的方式實現改善車輛的底盤、信息娛樂、 電池續航、ADAS 乃至自動駕駛等多項功能,讓車的功能迭代更加靈活和便捷, 最終變成一台可以不斷進化的智能終端。
OTA 升級過程需數據網路配合,其安全性尤為重要。特斯拉 OTA 升級即指將程序從主機廠伺服器更新到指定 ECU,主要步驟為:車輛與伺服器通過蜂窩網 絡進行安全連接,將待更新的固件傳輸至車輛遠程信息處理系統及 OTA Manager,OTA Manager 將固件分發至需更新的 ECU 並管理更新過程,更新 完畢後向伺服器發送確認信息。整個 OTA 升級過程面臨安全考驗,騰訊科恩實 驗室曾實現對特斯拉的無物理接觸遠程攻擊,並將漏洞情況報告給特斯拉以做 修復。OTA 模式的信息安全(信息包加密及隔離)及功能安全(車輛狀態信息 傳輸)需得到足夠保障。
特斯拉 OTA 依然屬於行業標杆,傳統車企追趕特斯拉在研發 OTA 過程中仍面 臨困境。具先發優勢的特斯拉在 OTA 對動力和底盤系統有效升級層面、用戶體 驗、系統成熟和穩定性方面均處於行業領先地位,引領傳統車企和造車新勢力 跟隨布局,但仍面臨較多困難,體現在三個方面:其一,需投入較大的人力、 物力、財力,考驗主機廠研發實力;其二,OTA 打破固有的經銷商提供增值服 務的模式,利潤蛋糕重新切分具一定阻力;其三,OTA 安全性和穩定性上要求 較高,主機廠需理解部分互聯網領域技術。
大眾重塑軟體架構,推行 vw.OS 規劃
曾囿於軟體問題車型延遲交付。在特斯拉軟體技術快速迭代壓力下,大眾加緊 開發基礎架構,或因為開發過於倉促等因素,曾多次發生軟體問題,如新一代 純電動汽車 ID.3 因為軟體開發延遲造成交付時間推遲,新款高爾夫也曾因為倉 促上馬新技術(全數字座艙)於車輛中發現軟體問題而臨時停售。
大眾已著手構建軟體架構體系。為抗衡特斯拉及科技巨頭等新勢力的布局,大 眾愈發重視汽車軟體開發業務。2020 年 1 月 1 日起,大眾集團所有軟體開發工 作被集中至獨立新部門——Car.Software(2019 年 6 月份成立)。Car.Software 分為「互聯汽車和設備平台」「智能車身和駕駛艙」「自動駕駛」「車輛運動和能源」以 及「數字業務和出行服務」五個業務單元,其所有功能都將用於開發 vw.OS 車機 系統。一系列車型軟體問題出現后,寶馬製造工程高級副總裁 Dirk Hilgenberg 加入成為 Car.Software 負責人。此外大眾也對智能駕駛研發體系進行重組,如 拆分 L4 智能駕駛研發部分、合併各部門自動輔助駕駛研發。
大眾軟體計劃的內在驅動力來源於兩個方面:
其一:汽車軟體代碼愈發複雜。大眾曾做過統計,汽車軟體的行代碼遠大於其 他應用終端(汽車軟體 1 億行代碼 VS. Facebook 8 千萬行代碼 VS. PC 電腦 4 千行代碼 VS. 飛機 2.5 千萬行代碼 VS. 谷歌瀏覽器 1 千萬行代碼),是智能 手機的 10 倍。2020 年整車代碼量有望超 2 億行,達 L5 級智能駕駛代碼量有 望超 10 億行。
其二:汽車成為複雜的聯網設備,軟體將扮演重要角色。在大眾傳統車型上僅 需約 70 個 ECU,功能相對較為分散。而在未來的集成化計算單元體系下,軟 件的重要性將愈發凸顯,與 ECU 配合定義汽車功能,涵蓋操作系統、基礎軟體 以及其他應用軟體的車載軟體大眾均會自主開發。
大眾對研發投入、人員安排及軟體化目標做出規劃:
投入方面,大眾集團將在未來三到五年內投入 90 億美元(約合人民幣 630 億 元)資金進行軟體開發。員工方面,不同於製造環節的裁員情況,數字化部門 員工由 5000 名再次擴編至 1 萬人。軟體化目標方面,內部研發軟體佔比由不 足 10%提升到 60%以上,同時提出「8 合 1 目標」(將現有的 8 個電子平台整 合為一個平台)。2025 年前,所有新車型將使用 vw.OS 操作系統和定製的雲服 務(大眾與微軟合作),軟體在汽車創新中佔據 90%份額。
汽車軟體的未來推演
若考慮對汽車開發的終極假想,汽車最終會成為搭載「差異化元素」的通用化 平台。以目前視角,差異化元素涵蓋智能座艙(人與車互動的生態系統,包括 包括全液晶儀錶、車聯網、車載信息娛樂系統 IVI、ADAS、HUD、AR、AI、全 息、氛圍燈、智能座椅等方面)及智能駕駛(L1~L5 級智能駕駛等級)領域。而差異化元素主要由車型全新的電子電氣架構和軟體兩方面定義,一方面,ECU 里的功能模塊持續循環迭代的代碼驅動汽車執行最適宜的動作反饋;另一方面, 車載娛樂系統越發 APP 化吸引較多第三方開發者入場。海量數據在車內流轉, 其深層次的安全防禦(檢測和防禦網路攻擊)愈發重要。經過產業趨勢推演, 提出以下 5 大汽車軟體趨勢預判。
趨勢 1.往車輛集中式電子電氣架構發展,功能中心化
集中式電子電氣架構為終極構架體系。以域控制器為代表產品的跨域集中式電 子電氣架構再往後走,就是集成化程度更高的車輛集中式電子電氣架構—— Vehicle computer and zone concept(車載電腦),終極階段為 Vehicle cloud computing(車雲計算)。未來車輛通過用高性能的中央計算單元取代現在常用 的分散式計算的架構,將實現「軟體定義車輛」的終極目標。再此過程 ECU 的整合過程持續提升,應用程序完全從硬體中抽象出來,控制單元概念最終被 智能節點計算網路接棒。
趨勢2.更高傳輸性能的乙太網作為主幹網路承擔信息交換任務
乙太網作為車內通信網路大勢所趨。隨車內數據傳輸總量及對傳輸速度要求持 續提升,以及在跨行業的標準協議需求驅動下,支撐更多應用場景、更高速的 乙太網有望取代 CAN(主要用於車載控制數據傳輸,最大帶寬 1MB/s)、LIN(低 成本通用串列匯流排,主要用於車門、天窗及座椅控制)、Most(主要用於發數據 包)等傳統汽車車內通信網路成為車內通信網路。在對同樣的 ECU 的軟體進行 更新時,CAN 模式下的傳輸時間是乙太網的 30 倍。因此,乙太網的運用趨勢 得到主流整車廠(如寶馬、通用等)及半導體公司(如博通、恩智浦等)認可, 均推出符合乙太網的應用元件。未來趨勢上,乙太網並非能一蹴而就完全替代 CAN、LIN,預計多種通信模式將在較長一段時間內共存——CAN、LIN 用於傳 感器和執行器等封閉低級網路間的數據傳輸;乙太網(取代 MOST 等技術)用 於域控制器及子部件間的信息交換。
趨勢3.OTA 空中升級模式普及
OTA 由特斯拉引領,向全行業普及。由特斯拉最先推行的 OTA 升級功能模塊 能持續修復汽車軟體缺陷、解決部分故障、解鎖或引入新功能以滿足用戶需求, 成為汽車軟體發展的主流趨勢。按照升級對象的不同,OTA 可分為 FOTA(硬 件在線升級)、SOTA(軟體在線升級)兩個大類,其中 FOTA 主要針對基礎硬 件和汽車底層安全相關功能的升級需求,例如剎車系統、制動系統及 BMS 等;SOTA 主要對座艙娛樂系統進行升級。對 ECU 而言,其內部為備份軟體準備了 額外區域空間,以備當前運行程序出現故障或升級中發生斷錯誤時自動滾回備 份軟體系統,防止車輛出現安全事故。
趨勢4.汽車在雲端交換信息
更為靈活的雲服務是 SDV 載體。從早期的機械時代過渡到目前的硬體時代,在 進一步進化至未來的軟體時代,汽車的功能實現方式持續演變,隨著客戶的個 性化定製需求日益增加,加之雲計算對智能、靈活和自動化的天然要求,由「軟 件定義」來操控硬體資源成為更合適的解決方案,未來大部分汽車功能在雲端 運行,為車企轉型提供聯接使能、數據使能、生態使能和演進使能。因此,在 雲計算的計算、存儲和網路等各方面的基礎設施上,均呈現出從軟硬體捆綁, 到硬體+閉源軟體,再到白盒硬體+開源軟體的演進趨勢。而雲服務也成為 AI、 智能汽車、大數據等新興科技實現商業化落地的載體(例如特斯拉在雲服務載 體上進行 OTA 升級)。近年來雲服務市場實現爆髮式增長,而車載環節尚處於 發展初期,後續增量空間大。
趨勢5.信息安全領域需深層次防禦
汽車電子的運用及智能網聯化趨勢推進車載信息安全要求提升。汽車脫離孤立 單元后,隨之而來的是攻擊面的新增,一方面車輛聯網后其數據面臨被盜取、 泄露風險,另一方面電控系統普及后存在轉向、剎車等關鍵功能被外部控制的 可能性(例如破解車機、T-Box、網管后,向 CAN 發送惡意指令)。即接入汽車控制終端的 APP、網路系統、ECU 代碼均可能成為新攻擊向量。雲(車聯網 平台)-管(車聯網基礎設施)-端(車載智能及聯網設備)均存在信息安全問 題,將造成車輛功能性安全隱患:
(1)雲端與管端:接送關鍵數據的中央互聯網關直接連接至車企後台,部分第 三方公司被允許數據訪問。目前網聯實現通常會通過 APP 實現應用層功能(例 如解鎖車門、調用空調功能等),此時存在手機端與雲端的通信過程,且應用程 序供應商能直接訪問開放的相關數據介面。通過雲端和對外通信管端能對車機 端直接進行攻擊。
(2)車機端:當功能系統被授權時,黑客能對CAN匯流排發送相關指令控制ECU。騰訊道恩實驗室曾對特斯拉 Model S 進行過無物理破解實驗,以 Wifi 熱點接入 向車載娛樂系統植入軟體取得車機許可權,在破解網關后能控制其多個電控單元。
為抵禦外部攻擊需建立深層次的安全防禦系統,嚴控與功能安全及數據連接。汽車的防護措施隨交互信息增多其力度持續提升。車企安全團隊通常基於雲-管 -端對症建立安全防禦系統以應對外部攻擊:
(1)雲端:車載終端是汽車安全架構的核心,主要注意 T-BOX(用於車端和 外界通信)和 OBD(用於將汽車外部設備連接到 CAN 匯流排)兩大塊的信息防 護。實時進行入侵檢測,防止 DDos 攻擊。
(2)管端:汽車在未來將頻繁接入和退出網路節點,存在被篡改信息的風險。通常需要對通訊過程及傳輸數據進行加密,採用專門的 APN 接入網路。
(3)車機端:加強安全固件驗簽及防 root 機制,管理介面並建立監控體系。此外,可在車輛功能模塊上單設安全晶元對數控進行校驗。
部分第三方供應商能參與至信息安全環節。汽車安全防禦對於以特斯拉、蔚來、 小鵬等為代表的有互聯網基因的造車新勢力來說,擁有一定先天的優勢。包括 特斯拉在成立之初便組建了來自谷歌、微軟等互聯網企業的 40 人的網路安全專 家,小鵬和蔚來與阿里、騰訊等互聯網廠商進行深度合作,未來華為等供應商 是此領域的預備軍。目前網路安全系統仍缺乏標準的信息安全方案,原本的汽 車軟硬體供應商難以以統一標準滿足不同整車廠的信息安全要求,並且在測試 階段很難直接接入車企平台進行網路安全試驗。預計未來行業將有提供信息安 全方案、網路安全模塊以及某一特定領域防禦系統的第三方軟體供應商出現。
投資建議和推薦標的
百年汽車工業面臨由機械機器向電子產品過渡的新變局,在我們看不到的隱秘 角落——上百的電子控制單元循環執行軟體代碼功能塊,通過高性能的中央計 算單元,與硬體體繫結合以解析駕駛員需求,邏輯運算後向機械部件發送相應 響應指令。近年來,SDV(軟體定義汽車)概念逐步被整車廠認知,根源在於 「汽車如何體現差異化」問題的變遷,硬體體系將逐漸趨於一致,軟體成為定 義汽車的關鍵,即造車壁壘已經由從前的上萬個零部件拼合能力演變成將上億 行代碼組合運行的能力。
SDV 趨勢下汽車軟硬體分離重塑市場格局,盈利模式由硬體向持續賦予附加值 的軟體傾斜。主機廠愈發需具備軟體的管理能力及核心軟體設計能力,並引入 供應商及互聯網企業參與此環節,開發基礎平台並收取許可費用、供應功能模 塊按汽車出貨量 Royalty 收費及基於車企平台做定製化的二次開發均為未來主 流的軟體供應商盈利模式。預計 2030 年 500 億美元市場空間,復合增速 9%。
汽車最終會成為搭載「差異化元素」的通用化平台。一方面,ECU 里的功能模 塊持續循環迭代的代碼驅動汽車執行最適宜的動作反饋;另一方面,車載娛樂 信息系統越發 APP 化吸引較多第三方開發者入場。海量數據在車內流轉,其深 層次的安全防禦(檢測和防禦網路攻擊)愈發重要。關於賦能域控制器、定位 車機系統的各項軟體性能升級,包括車內乙太網應用、整車 OTA 升級、信息交 互上雲及深層次的信息安全防禦等,或將帶來一系列發展機遇。
資料來源:https://m.news.sina.com.tw/article/20201001/36497492.html?fbclid=IwAR1zWwTMiTHwfLyqZ7Qx698UjYwI3v0c-hs3gXdy560Rf5BgAS4Ts4QLbOQ
同時也有25部Youtube影片,追蹤數超過3萬的網紅李祥數學,堪稱一絕,也在其Youtube影片中提到,成為這個頻道的會員並獲得獎勵:https://www.youtube.com/channel/UCU2axN3MDyvq01LOK1umZGQ/join 追蹤我的ig:https://www.instagram.com/garylee0617/ 加入我的粉絲專頁:https://www.face...
複變函數可解析 在 李開復 Kai-Fu Lee Facebook 的最佳貼文
分享好文,中學生要學電腦嗎?
作者:創新工場CTO、人工智慧工程院執行院長 王詠剛
文章来自半轻人微信公众号(ban-qing-ren)
………………………………
朋友的孩子高中剛畢業,已拿到美國頂尖大學(非電腦專業)的錄取通知。疫情影響,不知何時才能去學校報到。孩子想抓緊學習一下程式設計,為大學打好基礎。這孩子找我聊了一個多小時,從如何學程式設計,聊到非電腦專業和電腦專業的路徑差異,又聊到如何從不同角度認識電腦與程式設計。聊得比較寬泛,不知是否對這孩子有用。
回想我自己的高中時代:那時雖迷戀程式設計,卻完全沒有懂行的人指導。在我們那個四線城市的廠礦中學裡,開設電腦興趣課的老師知道的資訊還沒我多。我高一時跑到北京中關村逛街,卻完全沒意識到中國第一代頂尖程式師當時就在我身邊的低矮辦公樓裡寫代碼(這話說得並不準確,比如求伯君那年就主要是在珠海做開發),鼎鼎大名的UCDOS、WPS、CCED就出自他們之手……我在當時街邊的一家書店(位置似乎就在今天的鼎好大廈對面)買到了許多種印刷品質極低劣的電腦圖書。用今天的標準看,那就是一批盜版影印或未授權翻譯的國外圖書。可那批書竟成了我高中時代最寶貴的程式設計知識來源。
顯然,我在高中時根本就是野路子學電腦。現在後悔也沒用,當時我的眼界或能觸及的資源就那麼多。如果能穿越回30年前,我該對喜歡程式設計的自己說些什麼呢?這些年,我與世界上最好的一批程式師合作過,也參與過世界上最有價值的軟體系統研發——我所積累的一些粗淺經驗裡,有哪些可以分享給一個愛程式設計的中學生?
【問題1】中學生要不要學電腦?
當然要!
每個中學生都要學。只不過——建議大部分中學生使用“休閒模式”,小部分(不超過10%)中學生使用“探險模式”。
啊?兩個模式?那我該進入哪個模式?⟹請跳轉至【問題2】
【問題2】選哪個模式?
你癡迷電腦嗎?比如,你玩遊戲時會特別想知道這遊戲背後的代碼是如何編寫的嗎?再比如,就算老師家長不同意你學電腦,甚至當著你的面把電腦砸了,你也要堅持學電腦嗎?如果是,恭喜你進入“探險模式”⟹請跳轉至【問題200】
你對數學有興趣嗎?比如,你看到街邊建築的曲線,就會在腦子裡琢磨曲線對應的函數或方程嗎?每當手裡攥著幾粒骰子,你就會不由自主地計算概率嗎?如果是,歡迎進入“探險模式”⟹請跳轉至【問題200】;當然,如果有些猶豫,也可以先進入“休閒模式”⟹請跳轉至【問題100】
即便你對電腦和數學興趣不大,家長、老師還是強烈建議你學電腦嗎?就算你一百個沒時間一千個不願意,家長、老師還是會逼著你學電腦嗎?如果是,建議你主動進入“休閒模式”並向家長、老師彙報說“我已經按照前谷歌資深軟體工程師的專業建議在認真學程式設計了”⟹請跳轉至【問題100】
其他情況,一律進入“休閒模式”。⟹請跳轉至【問題100】
【問題100】休閒模式 | 主要學什麼?
“休閒模式”將電腦視為我們生活、工作中的必備工具,主要學習如何聰明、高效、優雅地使用計算設備。這裡說的計算設備,包括所有形式的電腦、手機、遊戲機、智慧家電以及未來一定會進入生活的自動駕駛汽車。
什麼什麼?你已經會用電腦、會玩手機、會打遊戲了?別著急,慢慢往下看。
【問題101】休閒模式 | 我會用搜尋引擎嗎?
我知道你會用百度搜習題答案。但,習題答案不是知識。你會用搜尋引擎來搜索和梳理知識嗎?請試著用電腦和你喜歡的搜尋引擎來解決如下兩個問題:
(1)圓周率𝜋的計算方法有多少種?每種不同的計算方法分別是由什麼人在什麼時代提出的?借助電腦,今天人們可以將圓周率𝜋計算到小數點後多少位?將圓周率𝜋計算到小數點這麼多位元,一次大概需要花掉多少度電?
(2)全球大約有多少個廁所?在發展程度不同的國家,分別有多少比例的人可以享用安裝了抽水馬桶的衛生廁所?為什麼比爾·蓋茨曾大力推動一個設計新型馬桶的研發專案?比爾·蓋茨的公益組織在這個專案上大約花費了多少資金,最終收到了多大的效果?
如果你沒法快速得到上述問題的全部答案,那就給自己設一個小目標:一個月內,學會用搜尋引擎系統地獲取、梳理一組知識點的全部技巧。
【問題102】休閒模式 | 接下來學什麼?
建議學好典型的工具軟體。比如,我知道你會用Office了,但用Office和用Office是很不一樣的。對生活、學習、工作來說,學好、學透一個工具軟體比鑽研程式設計技巧更實用。
你會用Excel來管理班級公益基金的預算和實際收支情況嗎?
你會用Excel做出過去20年裡全球大學排名的演變趨勢圖嗎?
你會用Word排版一篇中學生論文嗎?論文中的圖表和最後的參考文獻部分該如何排版?
你會用Word編排一份班級刊物,包含封面、扉頁、目錄、插圖頁、附錄、封底等部分,可以在列印後直接裝訂成冊嗎?
PowerPoint呢?你有沒有研究過蘋果公司發佈會上那些幻燈片的設計?當約伯斯(多年以前)或蒂姆·庫克站在幻燈片前的時候,他們的演講思路是如何與幻燈片完美結合的?
還有哦,別忘了學學如何為數碼照片做後期,如何用電腦或手機剪視頻,如何為剪輯好的視頻配字幕,如何將照片、音樂、視頻等素材結合起來,做出一段吸引人的快手/抖音短視頻。
最後,抽空玩玩那些設計精妙的遊戲吧,比如《紀念碑穀》、《塞爾達傳說:曠野之息》之類;同時,遠離那些滿屏廣告,或者一心騙你在遊戲裡充值花錢的垃圾。
【問題103】休閒模式 | 不學學知識嗎?
當然要學知識。下面每種實用的電腦知識都夠大家學一陣子了。
(1)色彩知識:你知道同一張數碼照片在不同品牌的手機螢幕上、不同的電腦螢幕上、不同的智慧電視上顯示時,為什麼經常有較大色差嗎?你知道有一些色彩只適合螢幕顯示,不適合列印輸出嗎?你知道軟體工具裡常用的RGB、HSL之類的色彩空間都是什麼意思嗎?如何在設計PowerPoint幻燈片時選擇一組和諧美觀的色彩?
(2)字體知識:你知道什麼是襯線字體,什麼是無襯線字體嗎?你知道網頁中常用的英文字體都有哪些嗎?你知道商務演講時最適用于幻燈片的英文字體有哪些嗎?你知道電腦和手機常用的黑體、宋體、仿宋體、楷體等中文字體分別適合哪些實際應用場合嗎?你會將不同字體混排成一個美觀的頁面嗎?
(3)網路知識:你知道5G是什麼嗎?你知道5G和4G在通信頻寬、通信距離上的具體區別嗎?你知道什麼是路由器,什麼是防火牆嗎?你知道如何配置路由器,如何配置防火牆嗎?微信或QQ聊天時,對方發的文字、語音或視頻是如何傳送到你的手機上的?
(4)應用知識:淘寶中搜索得到的商品資訊是從哪裡來的?商品是按什麼方式排序的?為什麼購物APP經常會推薦給你一些曾經買過、看過的商品?你知道如何為自己建立個人網站嗎?你知道如何管理微信公眾號嗎?
(5)安全知識:你知道網路上的釣魚攻擊是怎麼回事兒嗎?你知道什麼是電腦漏洞嗎?你知道駭客為什麼想把一大批受攻擊的電腦變成可以遠端操控的傀儡機嗎?你知道為什麼現在很多手機APP都要通過短信發送驗證碼嗎?如果驗證碼被壞人截獲,你會面臨哪些風險?
這裡只是舉例。實用的電腦知識還有很多。大家可以自己發掘。
【問題104】休閒模式 | 我需要學程式設計嗎?
可以學,但不是必須。即便學,也只需要根據自己的需要,學那些最能幫你解決現實問題的部分。
【問題105】休閒模式 | 我該學什麼程式設計語言?
在“休閒模式”裡,電腦就是工具,程式設計也是工具,夠用就好。學什麼程式設計語言,完全看你想要電腦幫你做什麼。
• 如果你想對資料處理有更多自主權,那不妨學學Python;
• 如果你想做簡單的交互演示程式,那就先把JavaScript學起來;
• 如果你想更好、更快地寫論文,那不妨學學LaTeX(什麼什麼,LaTeX不是程式設計語言?你太小看LaTeX了);
• 如果你想學做簡單的手機APP,那麼,Android手機就學Java,蘋果手機就學Swift好了;
• 如果你只想知道程式設計是怎麼回事,那……從Python或JavaScript開始就行。其實,跟五六歲的小朋友一起學學Scratch圖形程式設計也不錯。
【問題106】休閒模式 | 我需要學人工智慧嗎?
在“休閒模式”裡,最需要學的不是“人工智慧的實現原理”,而是“什麼是人工智慧”,以及“人工智慧能做什麼,不能做什麼”。
• 在手機上試一試,人工智慧做語音辨識時能做到什麼水準?哪些話容易識別,哪些話不容易識別?
• 打開機器翻譯軟體,試一試哪些資訊翻譯得好,哪些資訊翻譯得不好?
• 手機上的拍照軟體一般都有人臉識別功能。試一試人臉識別在什麼場景下做得好,什麼場景下做得不好?
• 找一部講人工智慧的科幻電影,用自己的判斷解讀一下,電影裡哪些技術有可能成為現實,哪些技術存在邏輯矛盾。
【問題107】休閒模式 | 推薦什麼參考書、參考文獻?
書不重要,豆瓣評分7分以上的電腦應用、程式設計甚至科普類圖書都可以拿來翻翻。
直接在知乎裡搜索你想瞭解或學習的知識點可能更有效率。
如果你意猶未盡,覺得自己剛活動開筋骨,還想挑戰更高層次,歡迎進入“探險模式”。⟹請跳轉至【問題200】
否則,“休閒模式”到此結束。⟹請離開此問答
【問題200】探險模式 | 主要學什麼?
“探險模式”需要有挑戰精神。電腦科學的世界技術演進快,脈絡複雜,要想在探索時不迷路,你得通過有順序、有系統地學習電腦知識,慢慢構建出一張可以在未來幫你走得更遠的思維地圖來。
在“探險模式”裡,電腦就不止是一件能快速計算的工具了。電腦更像是我們大腦的一種延伸。這既包括認知能力的延伸,也包括認知邏輯的延伸。隨著學習深入,大家會逐漸體會到電腦所具有的多維度能力:
電腦是一種可以表示不同類型資訊(數、符號、文字、語音、圖像、視頻、虛擬空間、抽象邏輯)的“資訊管理機”;
同時,電腦也是一種可以連續執行指令以完成特定的資訊處理任務的“指令處理機”;
同時,電腦還是一種可以在知識與邏輯層面完成特定推理任務的“知識推理機”;
同時,電腦也是一種可以從人類給定的資料或自我生成的資料中總結規律,建立模型,自主完成某些決策的“智慧學習機”。
“探險模式”的目標就是盡可能準確地認識電腦,掌握有關電腦運行的最基本規律。有了這些基礎。未來在大學期間或工作中,你就能更容易地設計電腦軟硬體系統,或是設計出碳基大腦(人類)與矽基大腦(機器智慧)之間的最佳協作方案。
【問題201】探險模式 | 我的英語水準足夠嗎?
蘋果每年秋季的新品發佈會,不加字幕的話,你能聽懂多少?
能聽懂大部分:建議在學習電腦的過程中,盡可能使用英文教材、英文文檔。
能聽懂小部分:建議將原來準備學電腦的時間,分出一部分來學英語。
只能聽懂“你好”“再見”之類:⟹請離開此問答。然後,把原來準備學電腦的時間用於學英語,六個月後再回來。
【問題202】探險模式 | 我的數學水準足夠嗎?
如果你是數學和數學應用小能手——較複雜的數學問題總能快速找到核心思路,或快速簡化為簡單問題;很容易就能將抽象概念映射到具體的數學圖形,或將數學問題與相應的現實問題關聯在一起:請繼續探險之旅。
如果你應付正常數學課程感到吃力:建議將原來準備學電腦的時間,分出一部分來學數學。
如果你還搞不清楚什麼是方程、函數、集合、概率……:⟹請離開此問答。然後,把原來準備學電腦的時間用於學數學,六個月後再回來。
【問題203】探險模式 | 為什麼強調英語和數學?
(1)統計上說,最好的電腦參考資料大都是英文寫的,最好的電腦課程大都是用英文講的,最新的電腦論文大都是用英文發表的。
(2)函數、方程、坐標系、標量、向量、排列組合、概率這些中學數學裡會初步學習到的數學知識,是電腦科學的基礎。
【問題204】探險模式 | 電腦知識那麼多,正確的學習順序是什麼?
最重要的順序有兩個。建議先從順序一開始,學有餘力時兼顧兩個順序。
順序一:自底向上,即,自底層原理向上層應用拓展的順序。
電腦原理的基礎知識:
為什麼每台電腦(包括手機)都有CPU、記憶體和外部設備?
(馮·諾依曼體系結構的)記憶體中為什麼既可以存儲資料,也可以存儲指令?
CPU是如何完成一次加法運算的?
程式設計語言的基礎知識:
資料類型,值,變數,作用域……
語句,流程控制語句……
過程、方法或函數,類,模組,程式,服務……
編譯系統的基本概念:
電腦程式是如何被解釋或編譯成目標代碼的?
演算法和資料結構的基礎知識:
陣列,向量,鏈表,堆,棧,二叉樹,樹和圖……
遞迴演算法,排序演算法,二叉樹搜索演算法,圖搜索演算法……
應用層的基礎知識:
為什麼電腦需要作業系統?設備驅動程式是做什麼的?
網路通信的基本原理是什麼?流覽器是怎麼找到並顯示一個網頁的?
資料庫是做什麼用的?
虛擬機器是怎麼回事?
人工智慧系統的基礎知識:
先熟悉些線性代數、概率和數學優化的基礎知識。
什麼是機器學習?從簡單的線性回歸中體會機器學習的基本概念、基本思路。
什麼是神經網路?什麼是深度神經網路?為什麼神經網路可以完成機器學習任務?
如何使用PyTorch或TensorFlow實現簡單的深度學習功能?
順序二:自頂向下,即,自頂層抽象邏輯向下層具體邏輯拓展的順序。
• 電腦的本質是什麼?
• 什麼是圖靈機?什麼是通用圖靈機?
• 什麼是讀取﹣求值﹣輸出迴圈(Read–eval–print Loop,REPL)?
如何用自頂向下的方式理解(解析、解釋、編譯)一段程式碼?
• 靜態語言和動態語言的區別?
如何理解變數與資料類型之間的綁定關係?
• 什麼是函數式程式設計?
程式設計語言中,函數的本質是什麼?
函數為什麼可以像一個值一樣被表示、存儲、傳遞和處理?
• 什麼是物件導向?
類的本質是什麼?
如何用物件導向的方式定義個功能介面?
如何依據介面實現具體功能?
• 什麼是事件驅動?
什麼是事件?事件如何分發到接收者?
如何在事件驅動的環境中理解代碼的狀態和執行順序?
【問題205】探險模式 | 如何提高程式設計水準?
在掌握基本知識體系的基礎上,學好程式設計只有一條路:多程式設計,多參加程式設計比賽,多做程式設計題,多做實驗項目,多找實習機會——其中,能參與真實專案是最有價值的。
【問題206】探險模式 | 該從哪一門程式設計語言學起?
我個人推薦的程式設計入門語言(可根據情況任選):
Python
Java
Swift
C#
JavaScript / TypeScript
Ruby
……
可能不適合入門,但適合後續深入學習的語言:
C
C++
Go
Objective-C
組合語言
機器語言(CPU指令集)
Shell Script
Lua
Haskell
OCaml
R
Julia
Erlang
MATLAB
……
【問題207】探險模式 | 如何選參考書和參考資料?
(1)強烈推薦的參考書和參考資料:
• MIT、Stanford、CMU、UC Berkeley這四所大學中任何一個電腦專業方向使用的教學參考書或參考資料。網上可以查到這些學校電腦專業方向的課程體系,有的學校甚至公開了課程視頻。其中往往會列舉參考書和參考資料連結。
• 維琪百科(英文)上的數學、電腦科學相關條目。
• Github上star數在1000以上的開原始程式碼和開來源文件。
(2)強烈推薦但須小心辨別的參考資料:
知乎上的數學、電腦科學相關條目。使用時需要格外注意三件事:
儘量只看高贊答案或高贊文章;
辨別並避開廣告軟文;
辨別並避開純抖機靈的故事或段子。
Stack Overflow上的程式設計問題解答:
自己動手實驗,辨別解答是否有效。
CSDN上的程式設計問題解答:
自己動手實驗,辨別解答是否有效。
(3)其他推薦的參考書和參考資料:
國內專業作者寫作的專業技術書籍(豆瓣評分7分以上的)。
大廠(Google、Facebook、Microsoft、Amazon、阿裡、騰訊、百度、頭條等)資深工程師的技術公號、專欄、博客等。
著名圖書系列:如O’Reilly的動物封面的系列圖書(請注意最新版本和時效性)。
國內翻譯的著名技術圖書(譯本在豆瓣評分7分以上的)。
(4)儘量避免的參考書和參考資料:
• 已經過時的圖書或參考資料。
• 作者或譯者人數比章節數還多的專業圖書。
• 百度百科上的數學或電腦科學相關資料。
什麼什麼?你這篇問答居然沒有推薦一本具體的圖書?是,沒錯。如果你覺得即便有了上面的線索,自己還是找不到好書好資料,那也許你還是適合“休閒模式”⟹請跳轉至【問題100】
複變函數可解析 在 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.
👏 歡迎轉載分享鼓掌
複變函數可解析 在 李祥數學,堪稱一絕 Youtube 的精選貼文
成為這個頻道的會員並獲得獎勵:https://www.youtube.com/channel/UCU2axN3MDyvq01LOK1umZGQ/join
追蹤我的ig:https://www.instagram.com/garylee0617/
加入我的粉絲專頁:https://www.facebook.com/pg/garylee0617/
有問題來這裡發問:https://www.facebook.com/groups/577900652853942/
喜歡這支影片,記得按個"喜歡",並且分享
訂閱就可以看到最新的影片
你最棒,記得按鈴鐺^^
高中數學重要觀念解析:https://www.youtube.com/playlist?list=PLOAKxvSm6LGkzAh5k3h-CI0-clwS7xsWm
數學思考題型:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmx__4F2KucNWpEvr1rawkw
關於數學的兩三事:https://www.youtube.com/playlist?list=PLOAKxvSm6LGlD5ABfGtLkOhNIRfWxIRc5
真的祥知道:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmQC77bAQPdl_Bw5VK8KQc-
YouTube合作影片:https://www.youtube.com/playlist?list=PLOAKxvSm6LGlQk7b-jDmCaUjJ57UMSXsf
高中數學講座:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmgafYQliX1Ewh2Ajun9NNn
學測總複習:https://www.youtube.com/playlist?list=PLOAKxvSm6LGko-fghK4k3eZJ23pmWqN_k
指考數甲數乙總複習https://www.youtube.com/playlist?list=PLOAKxvSm6LGlrdoVFRflK46Cm25CGvLBr
統測考前猜題:https://www.youtube.com/playlist?list=PLOAKxvSm6LGkP_Nvl8iToZUWNfOHT42Pg
抖音精選:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmoWuzdrsxoeKQBR_GgZyIk
國中會考總複習:https://www.youtube.com/playlist?list=PLOAKxvSm6LGlbMqjF4W6ElHM_lrFZijkg
複變函數可解析 在 李祥數學,堪稱一絕 Youtube 的最佳解答
上集在「羅文好公民」,請點擊以下網址前往觀看並多多訂閱喔:https://youtu.be/G9xdu5qy9Ic
成為這個頻道的會員並獲得獎勵:https://www.youtube.com/channel/UCU2axN3MDyvq01LOK1umZGQ/join
追蹤我的ig:https://www.instagram.com/garylee0617/
加入我的粉絲專頁:https://www.facebook.com/pg/garylee0617/
有問題來這裡發問:https://www.facebook.com/groups/577900652853942/
喜歡這支影片,記得按個"喜歡",並且分享
訂閱就可以看到最新的影片
你最棒,記得按鈴鐺^^
高中數學重要觀念解析:https://www.youtube.com/playlist?list=PLOAKxvSm6LGkzAh5k3h-CI0-clwS7xsWm
數學思考題型:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmx__4F2KucNWpEvr1rawkw
關於數學的兩三事:https://www.youtube.com/playlist?list=PLOAKxvSm6LGlD5ABfGtLkOhNIRfWxIRc5
真的祥知道:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmQC77bAQPdl_Bw5VK8KQc-
YouTube合作影片:https://www.youtube.com/playlist?list=PLOAKxvSm6LGlQk7b-jDmCaUjJ57UMSXsf
高中數學講座:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmgafYQliX1Ewh2Ajun9NNn
學測考前猜題:https://www.youtube.com/playlist?list=PLOAKxvSm6LGko-fghK4k3eZJ23pmWqN_k
指考數甲數乙總複習https://www.youtube.com/playlist?list=PLOAKxvSm6LGlrdoVFRflK46Cm25CGvLBr
統測考前猜題:https://www.youtube.com/playlist?list=PLOAKxvSm6LGkP_Nvl8iToZUWNfOHT42Pg
抖音精選:https://www.youtube.com/playlist?list=PLOAKxvSm6LGmoWuzdrsxoeKQBR_GgZyIk
國中會考總複習:https://www.youtube.com/playlist?list=PLOAKxvSm6LGlbMqjF4W6ElHM_lrFZijkg
複變函數可解析 在 吳老師教學部落格 Youtube 的最佳解答
Big Data資料加值應用研習班課程分享(105/2/16)
Big Data海量資料的分析概說:
Big Data資料加值應用與相關範例
如何取得Big Data的方式?
開放資料範例
內政部實價登錄、YAHOO股市資料
GOOGLE表單
範例:GOOGLE試算表複選結果資料切割
如何處理與統計分析Big Data?
EXCLE統計函數
範例:黑名單篩選、樂透彩中獎機率
樞紐分析表
範例:銷貨系統分析
開放資料加值應用實例
範例:實價登錄、用EXCEL一鍵批次下載股市資料
EXCLE VBA(與R語言比較)
PowerPivot增益集
海量資料的分析工具-PowerPivot實作演練
視覺化數位儀表與報表–PowerView資料地圖實作
上課影音內容:
01_課程說明與參考書籍
02_問卷結果與檔案下載
03_大數據的定義與成功範例
04_範例_樂透彩機率統計函數說明
05_格式化前七名與VBA設定
06_前七名的VBA程式撰寫說明
07_樂透彩VBA程式說明
08_GOOGLE表單與複選結果切割
09_複選結果切割VBA程式說明
10_複選結果切割註解與按鈕相關
11_黑名單篩選查詢資料說明
12_黑名單篩選查詢VBA程式與進度列
13_台北市實價登錄範例VBA程式解說
14_批次下載股市資料程式說明與結尾
完整連結:
https://www.youtube.com/playlist?list=PLgzs-Q3byiYPsxtU9N_n81087ggNwggyK
與大數據課程的經驗
超過20年的程式設計與教學經驗(VBA、VB.NET、ASP.NET、JAVA、ANDROID、PHP等)
台北市公務人員訓練處:Big Data資料加值應用
新北市勞工大學:EXCEL VBA大數據自動化進階
東吳大學進修推廣部:EXCEL VBA 與資料庫雲端設計(初階與進階)
自強工業基金會:從Excel函數到VBA雲端巨量資料庫應用班
多年的實務與教學經驗所累積的課程範例,最短時間學會處理大數據,以提高效率,正確決策。
Big Data海量資料的分析概說:
根據維基百科:
大數據(英語:Big data或Megadata),或稱巨量資料、海量資料、大資料
指的是所涉及的資料量規模巨大到無法透過人工,在合理時間內達到擷取、管理、處理、並整理成為人類所能解讀的形式的資訊。
可用來察覺商業趨勢、判定研究品質、避免疾病擴散、打擊犯罪或測定即時交通路況等;這樣的用途正是大型資料集盛行的原因
維基百科定義
在一份2001年的研究與相關的演講中,麥塔集團(META Group,現為高德納)分析員道格·萊尼(Doug Laney)指出資料增長的挑戰和機遇有三個方向:
量(Volume,資料大小)
速(Velocity,資料輸入輸出的速度)
多變(Variety,多樣性),合稱「3V」或「3Vs」
另外,有機構在3V之外定義第4個V:真實性(Veracity)
大數據必須藉由計算機對資料進行統計、比對、解析方能得出客觀結果。
美國在2012年就開始著手大數據,歐巴馬更在同年投入2億美金在大數據的開發中,更強調大數據會是之後的未來石油。
巨量資料應用的成功案例
Google – 流感趨勢預測
Google發現,某些搜尋關鍵字有助於追蹤流感疫情發展,彙總搜尋資料,提供近乎即時的全球流感疫情趨勢預測
Google曾在美國的九個地區做了測試,發現此技術比聯邦疾病控制和預防中心提前7到14天準確預測了流感爆發
阿里巴巴將消費者數據轉化為企業獲利,小額貸款無需抵押和擔保,直接實現了網路數據的價值。截至2013年,阿里小貸累計獲貸客戶數64.2萬家,累計放款1,722億元人民幣
電視新聞與巨量資料結合,2014年春運(36億人次),百度利用巨量分析觀察大陸過年時人類的遷移行為,並以易懂的視覺化呈現在人們眼前
吳老師 105/2/15
台北市公務人員訓練處,big data應用,big data定義,big data是什麼,大數據分析教學,excel數據分析,excel數據圖表,大數據應用實例,大數據應用案例,開放資料應用,open data應用