歐盟高規格 GDPR 數據保護法上路,AI 新創該如何應對?

Liying Wang, Legal Master (王琍瑩 / 法務輔導長 & 明日科技法律事務所主持律師)

帶領內建法務團隊,提供企業經營、合約協商、紛爭處理等各方面法律諮詢,輔導建立營運管理機制,必要時也協助團隊尋求「突破框架」的解方。曾任 HTC 全球營運資深法務經理、萬國法律事務所科技法律部律師,也曾服務於士林地方法院、台北高等行政法院。美國西北大學法學碩士、政大法學士、政大 EMBA,具備美國紐約州與台灣律師執照。

如果你是 Apple、Google 或 Yahoo 會員,最近登入帳號,一定會收到新版的隱私條款聲明,要求你按下同意。多數人可能直覺會以為,這是在 Facebook 的「劍橋分析」風暴後,各家業者亡羊補牢的對策。其實並非如此,而是影響層面更深更廣的歐盟個資保護新法 GDPR (General Data Protection Regulation)已在 5 月 25 日上路,是它讓大家嚴陣以待。

隱私權是個超過百歲的古典法律概念,但究竟為什麼, GDPR 會引發全球業界草木皆兵?在注重蒐集用戶數據的 AI 時代,這會產生哪些影響?

首先,GDPR 在適用對象、規範內容和處罰等面向,都宣示前所未見的管制力道。其次,GDPR 明文確認「賦權」(Empowerment) 與「當責」(Accountability) 的觀念,徹底顛覆政府與民間「上有政策、下有對策」的表面和諧。再者,GDPR 可算是首部「單挑」應用 AI 與 Big Data 的隱私保護法令,試圖直搗黑盒子核心。

可以想見, GDPR 上路後,數據利用與用戶隱私之間的權衡與折衝,將成為企業無法迴避的挑戰。壞消息是,GDPR 的「最廣、最嚴、最昂貴」讓企業稍有不慎,就可能嚴重受罰;好消息是,在與 AppWorks Accelerator 校友企業進行法務輔導的過程中,針對實務運作,整理出這篇「最小、最大、最透明」的教戰守則,在此公開分享,希望提醒企業看待 GDPR 不只是無奈的法遵成本,更是協助產品與服務最佳化的關鍵。

GDPR 之最廣、最嚴、最昂貴

GDPR 引發業界焦慮恐慌的紅色警戒,主要原因有以下三點:

1.適用對象史上最廣

GDPR 適用於任何在歐盟設立據點的企業,無論個資處理是否發生在歐盟境內。相對的,如果企業的產品或服務,有部分用戶是歐盟居民、蒐集或處理到歐盟居民的個資,無論是否為設立在歐盟的企業、不管是 B2C 或 B2B 領域,都在 GDPR 涵蓋的射程內。當然,企業請不要忽略,隱私保護不只影響到用戶黏著度、交易夥伴的合作意願,隨著 GDPR 帶動全球法規風向,法遵稽核勢必也將成為投資與併購案件 Due Diligence 的重要環節。所以,不論企業是否直接適用 GDPR,沒有人是局外人。

2.規範內容史上最嚴

GDPR 整份文件,光是前言就有 173 點,內文更長達 11 章共 99 條法規,鉅細靡遺規範了什麼才是合法、公平與透明的數據蒐集、處理、利用,包括:使用者權利、系統架構、資安管理、風險評估、通報機制、專責人員、標章制度、跨境傳輸、機關權限、爭議處理、緊急措施等。其中許多定義釐清與執行難度,目前仍存在爭議,有待將來累積個案經驗與實務見解,且戰且走。

3.天價罰鍰史上最貴

在台灣,現行「個人資料保護法」對違法企業,最高按次處以新臺幣 5 萬元以上、50 萬元以下罰鍰。但一旦違反 GDPR 情節嚴重,最高可能處以 2,000 萬歐元,或全球年營業額 4% 的罰鍰。無論是資料控制者 (Data Controller)、協助進行資料儲存或傳輸的資料處理者 (Data Processor),都可能受到裁罰。

教戰守則之最小、最大、最透明

GDPR 引進「賦權」與「當責」的觀念,將一直以來被誤認為配角的用戶與企業,重新拉回鎂光燈下,企業不再只是配合主管機關規定,或是請律師擬定隱私權政策文件的被動角色,這主要包括三個面向:

1.最小限度利用個資

隨著科技演進,個資的定義愈來愈廣,泛指一切可識別化的個人資料。GDPR 明文指出,以不可逆的方式得出完全無法辨識出用戶個人的「去識別化資料」(Anonymous Data) ,雖不屬於隱私保護範疇,但可透過交互比對、勾稽辨識出用戶個人身分的「去連結化資料」(Pseudonymised Data) ,仍可能構成個資。相對的,GDPR 也確立個資的蒐集、處理、利用都必須遵循「最小限度原則」,也就是不得逾越預先設定的「特定目的」。

從數據分析的效率而言,蒐集資料本來就不是愈多愈好,過多的雜訊、不知所以的運算,結果也只是 “Garbage in, garbage out.” 而已。話雖如此,卻是知易行難,舉例來說,當用戶使用 Google 的搜尋服務,Google 除了依賴輸入的關鍵字外,可能也參照用戶的 Gmail 使用行為、結合即時的位置資訊,從而得出最佳化的搜尋結果。類似這樣的數據再利用 (Data Recycling),便可能與「最小限度原則」相扞格。GDPR 為此提供了「特定目的相容性」的判斷基準,包括新舊目的關聯性、資料蒐集的背景脈絡、用戶與企業的關係、用戶的合理期待、允許使用的結果、資料的本質等等,可供企業斟酌參考。

2.最大程度賦權用戶

個資永遠屬於當事人,不是任何企業可以據為己有。GDPR 強調「賦權」用戶,包括接取資料權  (Right to Access)、遷移資料權 (Right to Data Portability)、更正權 (Right to Rectification) 與刪除權 (Right to Erasure / Right to Be Forgotten) 。事實上,由於用戶本人對個資的正確性最為熟悉,企業如果能夠藉由「賦權」機制,鼓勵用戶隨時主動更新個資,像玩樂高積木一樣,拼湊出自己認為的長相,不但能夠落實 GDPR 的法遵要求,更有助於優化數據分析。典型的例子,就是過濾垃圾郵件和 Facebook 廣告偏好 (Ad Preferences) 的設定機制,由用戶主動參與特徵標示,使企業得以進行更精準、更值錢的數據分析。

以實現「賦權用戶」為前提,GDPR 特別要求企業「講人話」來取代晦澀難懂的隱私政策。企業必須用最直接、最淺顯易懂的方式,揭露隱私政策,並且遵循「確認後同意」(Affirmative Consent) 的流程,前者例如「Multilayered Privacy Notice」,後者例如「Opt-in」機制。Facebook 在「劍橋分析」事件爆發後,陸續提出「Privacy Shortcut」、「Clear History」這些隱私保護優化措施,便是著眼於此。

3.最透明的決策機制

我們知道機器學習,尤其深度學習,有如在黑盒子內進行的過程,就像人類的神經網路,究竟如何決定數據的關聯性與權重以形成決策,向來是個難解的謎團。但是,我們也知道,過去人們以為電腦一定比人腦準確、不受外在因素影響,在人工智慧的領域已經不再適用,「演算法公平性」的議題因此興起。GDPR 強調「透明處理原則」,針對「個人化自動決策」(Automated Individual Decision-Making) 賦予用戶請求解釋、拒絕適用的權利 (Right to Explanation / Right Not to Be Subject),其實就是將近年來學術討論逐漸熱絡的「可信任/解釋的人工智慧」(Trustable/Explainable AI) 直接納入法律,試圖引起全面性的重視。

「可信任/解釋的人工智慧」主要探討如何盡可能減少黑盒的節點、避免演算法偏見與歧視。當「個人化自動決策」,對用戶形成法律效果或其他重大影響,包括個人資料的「剖析建檔」(Profiling),企業必須確保模型本身是由正確的數據訓練出來,不得標示種族膚色、宗教信仰、政治立場、性傾向等可能導致歧視的特徵,並應事先向用戶說明自動決策的存在、取得用戶同意。

此外,企業至少要有能力在足以保護用戶權益的範圍內,簡要說明怎樣的數據會導致怎樣的決策、數據的變動如何影響決策的變動,並賦予用戶可以拒絕適用、表達意見、要求「工人」智慧介入判斷的權利。

舉例來說,如果線上汽車保險業務完全透過演算法,自動決定用戶的保費金額,企業必須能夠說明如何計算保費高低?是由哪些因素所決定?例如,是受到用戶年齡、健康狀況、駕駛習慣、肇事紀錄等因素影響。而如果用戶認為權益受損,則可以表示異議。

GDPR 的「透明處理原則」,除了挑戰人工智慧的黑盒子以外,在技術層面也不斷對工程師喊話,主張從設計端開始的隱私保護 (Privacy by Design)。當企業判斷某項個資處理環節,可能侵害用戶權益時,就必須進行「資料保護影響評估」(Data Protection Impact Assessment),提出解決方案,必要時並應向主管機關彙報。此外,GDPR 也鼓勵企業常設資料保護專責人員 (Data Protection Officer) 協助建立常規,並建議主管機關與業界,協力建立行為準則與認證機制,共同促成法的實踐。

結語:企業要當太陽,不當北風

對台灣企業來說,即便完全遵守「個人資料保護法」,是否仍有違反 GDPR 的疑慮,恐怕是現階段最擔心的事情。有鑑於此,國發會已陸續邀集各部會研擬因應策略,除了進一步了解有無參照修法的必要之外,並針對各式各樣實務疑慮,循官方途徑展開協商。在這個過渡時期,我們建議企業兼顧天平的兩端,在策略方向上,必須掌握數據作為商業競爭的致勝關鍵,而在執行層面,仍應落實個人資料歸個人控制的原則,不能偏廢。

其實,當我們用資料科學的角度來解讀,就會清楚發現企業和用戶並非對立,而是站在同一陣線。看待 GDPR 未必要從法遵成本的角度來思考,當企業提供體貼用戶的隱私保護,確保用戶心甘情願提供個資、樂於即時更新資料,便能降低數據分析錯誤的風險,並優化產品與服務的效能與價值。

有了以上的認識,在 GDPR 上路後的數據利用,反而更像是「北風與太陽」的故事。一旦隱私保護內化成為企業 DNA,企業與用戶都將因此受益,到時候,如何處理數據不觸法,便不再是一個恐怖的話題。

歡迎所有 AI / Blockchain 新創加入專為你們服務的 AppWorks Accelerator

擁抱科技巨浪,AppWorks Accelerator 招募 AI、Blockchain 新創團隊

當 AI 與 Blockchain 在全球各領域吹響顛覆的號角,AppWorks 認為現在是繼 1998 年 Internet、2008 年 Mobile Internet 後,十年一次的絕佳創業時機,2018 年份的創業者,應該善用 AI 與 Blockchain 兩股巨浪背後的機器學習、深度學習、分散式交易網路、去中心化加密體系等技術,解決社會現存的大型問題,以建立長期偉大的新科技巨人。為了帶頭鼓勵更多優秀的年輕人投入 AI、Blockchain 創業,AppWorks Accelerator 從本期開始,限定招收 AI、Blockchain 團隊。

2010 年成立,目前是大東南亞地區 (台灣+東協各國) 校友規模最大的創業加速器 AppWorks Accelerator ,正在招募 AppWorks #17 (第 17 期) 創業加速器成員,廣邀台灣及東南亞 AI 與 Blockchain 領域的新創團隊加入。AppWorks #17 團隊將於 8 月正式進駐,預計招收 30 支團隊加入。

「AI 與 Blockchain 所帶來的衝擊,將如同 80 年代的 PC、90 年代的 Internet、2000 年代的 Mobile Internet,是改寫未來 30 年商業與生活的巨型典範轉移,」AppWorks 創辦合夥人林之晨指出。它們不僅是技術革新,更是在工作型態、交易過程、人際溝通、企業運作等面向上,從底層徹底改變既有的結構與模式。

對新創企業來說,面對快速發展的 AI 與 Blockchain 技術,沒有人是掌握全部面貌的專家,透過加入 AppWorks Accelerator ,則能快速掌握產業脈動以及提高創業成功率。除了與來自國際的優秀團隊彼此切磋和交流,還能加入AppWorks Accelerator 的校友網絡,並獲得超過 60 位創業導師的親自輔導。

8 年來,AppWorks Accelerator 已累積超過 300 家活躍新創校友。其中,在 AI 領域,共累積 30 家校友企業,代表性的校友,包括應用機器學習、打造出台灣最大民宿訂房平台的 AsiaYo (AW#12);產品銷售全球 30 餘國、並已募得兩輪資金共 980 萬美元的智能安控新創 Umbo CV (AW#9);運用 Chatbot 叫計程車、每日出車超過1,000趟的 TaxiGo (AW#11);推出全球第一支智能寶寶攝影機的 Cubo (AW#16) 等。

在 Blockcahin 領域,AppWorks Accelerator 則已累積有 10 家校友企業。代表性的校友,包括台灣最具代表性的 Crypto 交易所、並在近期發行代幣 BITO 創下 26 小時超過 6.5 億新台幣佳績的 BitoEX 幣託 (AW#6),專注於 Blockchain 資產交易的 WageCan (AW#5),以及聚焦 Blockchain 領域內容的社群媒體區塊客 (AW#14)、動區動趨 (AW#16) 等。

為鼓勵校友網絡間的經驗交流,AppWorks 特別邀請 AsiaYo 創辦人暨執行長鄭兆剛、幣託創辦人暨執行長鄭光泰,與林之晨對談,分享各自在 AI 與 Blockchain 珍貴的創業成功經驗。除了 AppWorks Accelerator 的校友身份外,鄭兆剛與鄭光泰也會加入創業導師的陣容,協助輔導新創團隊。

(右起) AppWorks 創辦合夥人林之晨、幣託創辦人暨執行長鄭光泰、AsiaYo 創辦人暨執行長鄭兆剛,將在 AppWorks Accelerator 協助 AI 與 Blockchain 的新創團隊,在創業的道路上走得更順利。

鄭兆剛說:「開發 AI 與機器學習的應用,對 AsiaYo 的營運幫助很大。」AsiaYo 成立之初,做決策是靠人為經驗去預估,例如開發新房源、規劃行銷版位等,但結果未必精準,於是先從內部開始,運用 AI 相關技術,建立決策 Dashboard ,讓資源投入更有效益,再逐漸發展出針對不同用戶的客製化服務。鄭兆剛指出,在擔任 AppWorks Accelerator 導師期間,非常樂意將 AsiaYo 運用 AI 的經驗,與新創團隊一起交流。

鄭光泰則說:「希望將幣託打造成以台灣為基地,面向國際的一流企業。」除了近期代幣 BITO 發行成功外,也陸續有國際團隊登門,希望與幣託策略聯盟。對於 ICO 前如何準備,鄭光泰認為有幾個重要條件:清楚透明的白皮書、優秀的承銷夥伴、頂尖的技術團隊。在擔任 AppWorks Accelerator 導師期間,鄭光泰希望用自己豐富的經驗,幫助更多優秀的團隊與創業者。

對 AI 與 Blockchain 新創,AppWorks 提供的價值主要有:

1.與國際一流 AI / Blockchain 新創一起創業

AppWorks #17 的進駐團隊,將是來自台灣、東南亞最優秀的 AI、Blockchain 新創,除了一同交流最前緣的產業觀察,從彼此的產品與商業模式中取得啟發,乃至於健康的同儕壓力之外,進駐期間累積的「戰友情誼」,也是往後繼續互相扶持、一同拓展市場的最佳助力。

2.獲得 AppWorks Mentor 的一對一輔導

AppWorks Accelerator 的 60 位導師,都是擁有 10、20 年經驗的成功創業家,能引導年輕創業者,用正確的心態去面對從 0 到 1、從 1 到 100 不同創業階段的各種挑戰。

3.站上 300 家校友企業的肩膀

AppWorks Accelerator 至今累積超過 300 家、涵蓋各 B2B 與 B2C 領域的活躍校友企業,加總年產值已經超過新台幣 400 億元,是 AI 新創連通數據水管 (data pipeline)、Blockchain 新創進入應用場域,最好的跳板。

4.AppWorks Masters 的專業輔導

AppWorks Master Team 包含專精於法務、財務、招募、工程、設計、行銷與公共關係等領域的 6 位輔導長,針對加速器校友企業,提供各種免費諮詢或輔導。在這幾大面向上,讓AI、Blockchain 新創在創業初期,能更無後顧之憂,將資源與心力聚焦在本身的核心競爭力。

5.與頂尖學術、企業機構交流

AppWorks 長期與創新第一線的學術、企業機構保持良好互動,協助新創企業最快掌握技術趨勢。包括由清華大學電機系教授孫民領軍的 AI 實驗室、AI 專家杜奕瑾帶領的台灣人工智慧學校,以及 AppWorks Funds 股東國泰金控的 FinTech 團隊、中信金控的 Blockchain 實驗室等。

6.價值超過 10 萬美元的實驗資源

Amazon Web Services、Microsoft Azure 與 Google Cloud Platform 是 AppWorks Accelerator 長期贊助企業。每支進駐團隊,可獲得價值超過 10 萬美元的贊助資源,大幅降低新創團隊的實驗成本。

立即申請加入,專為 AI 與 Blockchain 新創團隊服務的 AppWorks Accelerator

電商新創測試印尼市場前,務必先瞭解的四件事

Ching Tseng, Analyst (曾意晴 / 分析師)

負責投資,專注在年輕用戶的新情境。學生時期曾在 AppWorks 實習一年半,也曾加入 PIAD 拍廣告,與兩位共同創辦人一起尋找商業模式,對於電商特別喜愛。畢業於政治大學企業管理學系,嚐鮮是最大的興趣,熱愛音樂及旅遊。

為了幫助計畫將事業版圖拓展到大東南亞的新創團隊快速瞭解當地市場,2017 年 10 月底 ,AppWorks 展開第一次 Landing Pod 活動,帶領 AppWorks 校友團隊前往印尼考察,希望藉此進一步認識當地環境、市場和消費習慣。

在三週的行程中,我們參訪了 Go-Jek、Tokopedia、Sale Stock、VIVA 等印尼本土網路公司,也與雅加達前幾大商場 Kota Kasablanka 及 Grand Indonesia 的經營團隊進行交流,對當地數位產業有了概括性的瞭解,算是踏出了前進大東南亞的第一步。

印尼擁有多達 2.6 億的人口,雖然網路的硬體基礎建設不如台灣先進、便利,卻已養出了Go-Jek、Tokopedia、Traveloka 和 Bukalapak 四隻獨角獸,市場潛力不言可喻。想進入如此龐大的市場,自然要針對當地的需求和各種消費條件調整產品內容、行銷方式和市場策略。

印尼的生活型態和商業操作方式,和台灣有很大的差異,就算經營的是較為單純的電商業務,還是得重新瞭解印尼消費者使用網路的習慣、廣告投放效益,以及成交後的金流和物流等環節。

在此,我就根據這次在印尼觀摩的經驗,以及與 AppWorks 電商團隊交流後的心得,從以下幾個面向,和大家分享台灣電商團隊在拓展印尼市場時,需要注意的經營環節,以及必要的調整和改變。

網路使用習慣

台灣電商環境成熟,消費者對品牌或電商擁有自己專屬的 App 或獨立網站非常習以為常,網路流量與手機記憶體通常也非常足夠。但在印尼,對消費者而言, 4G 網路價格昂貴,多數印尼消費者使用的手機容量也相當有限,要下載 App 並不是一件太容易的事。有許多團隊因為已經習慣台灣發達的電商基礎建設,再加上為求方便管理,所以選擇直接翻譯台灣現有的網站來作為 Landing Page,沒有針對當地環境進行調整,這樣的做法很難吸引當地消費者到站。

在這個前提下,若想在當地開店販售商品、測試市場,除了另外架設一個新的網站,也可以考慮於當地電商平台上架開店,例如在 Tokopedia、Shopee 或者是 Blibli 等網站上先進行測試販售,事實上,這種做法偶爾也能享受到當地各大電商平台為了刺激消費而祭出補貼政策時,所帶來的紅利。

廣告投放

在台灣,許多團隊習慣透過投放小量 Facebook 廣告來測試商品是否符合市場需求。在拓展海外市場時,也有許多團隊會用這個方式來測試是否應該前進該市場。

以印尼的三大獨角獸 Tokopedia、Traveloka、GO-Jek 為例,它們都在路燈、建築外看板有大量的廣告曝光,更有統計指出,印尼人平均每天有 10 小時會待在戶外,因此,三家獨角獸幾乎都選擇在電視上、路邊大樓的電視牆、公路旁的告示板、路邊街燈的燈旗上投放廣告。因此,投放廣告時,不妨思考一下自己的產品是否應該購買實體廣告,實體和網路兩者的占比又以多少為佳。

此外,建議大家在投放 Facebook 廣告前,要先確認自己網站的金、物流是否已經針對當地消費習慣做調整,否則即使觸及率高、消費者感興趣,也會因為金、物流的障礙,只能得到極低的轉換率。

金流

台灣的消費者在進行網路購物時,已十分習慣用信用卡付費,但在印尼,只有 30-40% 的民眾擁有銀行帳戶,信用卡的滲透率更是只有 2%,因此,許多消費者在網路上購物時,都是透過超商繳費或 ATM 轉帳付款。

此外,因為印尼的消費者不願意支付跨行轉帳的費用,所以電商通常會提供多家銀行做為轉帳選項,方便消費者選擇自己使用的銀行帳戶來付款。

Citibank 在東南亞的客戶涵蓋 Lazada、traveloka、Tokopedia 及 Alibaba 等多家電商,根據他們提供的數據,印尼消費者在網路購物付款時,有約 50% 是同家銀行轉帳,40% 會選擇線下付款,包含貨到付款或是到當地前兩大便利商店付款,其餘的 10% 則是透過信用卡付款。

在轉帳付款方面,團隊需要注意的是,部分當地銀行會有 Black Hour 的問題,也就是說在非銀行營業時段,消費者透過轉帳付款,並無法即時對帳,需要等到下一個銀行營業時段,才會顯示。

如果不願透過當地代理商,想自己上當地平台,或者是處理金流,團隊必須有自己的銀行帳戶,也就是說要在當地設立公司,若有辦法申請工作簽證,也可以利用工作簽證在當地申請銀行帳戶,做 C2C 平台的生意。

物流

印尼的消費者下單後,若商品從台灣出貨,以一般國際物流來說,平均至少需要 10 天才能將商品送到印尼。想將產品從國外進口至印尼當地,需要通過一系列審核,以食品和化妝品來說,要通過一個名為 BPOM 的審核流程,每個 SKU 都需要個別申請,把一個 SKU 的進口申請手續跑完,至少需要六個月,在這之前,更需預留 4.5 個月註冊及登記公司,及申請進口牌照。

不過,印尼的倉庫反而相對成熟,多數都已經有 API 可以與開店平台或是團隊自己的網站串接,倉租及物流費用也不昂貴,以雅加達和其周圍城市來說,區域內運費約為 30,000 印尼盾,折合台幣約 60 元,並且兩天內就可到貨,加價即可享受當日到貨的服務。

目前各大電商平台在印尼競爭相當激烈,時常透過運費補貼來吸引消費者及商家,想拓展至印尼的電商團隊,亦可以抓準這波機會。

最後,要提醒大家的是,東南亞不是一個國家,馬來西亞、新加坡、印尼、越南每個國家的語言都不相同,不同城市的居民也各自有其消費習慣,想擴張時,務必記得要針對不同地區來調整商品內容,並提供相應的服務。

【歡迎所有 AI / IoT、Blockchain / DeFi、面向東南亞市場的創業者,加入專為你們服務的 AppWorks Accelerator

Photo: Visual Hunt

AppWorks Demo Day #16 is coming on June 6th

AppWorks’ highly anticipated semi-annual Demo Day brings you to the cutting edge of the region’s rapidly developing tech industry.

At the upcoming AppWorks Demo Day #16, 30 startups from Taiwan, Hong Kong, Singapore, US, and Belgium will be showcasing their groundbreaking new products and services in verticals such as AI / IoT, Blockchain / FinTech, e-commerce, and O2O.

Whether you’re looking for opportunities to invest, to collaborate, or to stay abreast of the latest trends in digital technologies, this is an event you definitely don’t want to miss.

半年一次,AppWorks Demo Day 帶你看見數位經濟最前緣。

本次 AppWorks Demo Day #16 將有超過 30 支團隊輪番登台,這群優秀的大東南亞創業者分別來自台灣、香港、新加坡、美國、比利時等地,開發的服務內容則涵蓋了 AI / IoT、Blockchain / FinTech、電商、O2O 等垂直領域。

無論您是想找投資機會、合作夥伴,或是想掌握數位經濟的脈動,這都是一場不能錯過的盛宴。當天台上的 30 支潛力新創團隊,極可能是未來主宰全球經濟舞台的要角,想提前掌握未來局勢的你,務必持續關注這股新興勢力。

AppWorks Demo Day #16

  • [Date] Wednesday, June 6th, 2018
  • [Venue] 台北萬豪酒店 Taipei Marriott Hotel, 5F Grand Ballroom (台北市中山區樂群二路 199 號 No. 199 Lequn 2nd Road, Taipei)
  • [Agenda]
    • 12:30 – 13:00 Opening Remarks
    • 13:00 – 14:30 Demo Batch I
    • 14:30 – 15:00 *Break*
    • 15:00 – 16:30 Demo Batch II
    • 16:30 – 17:30 Open Floor

從門羅幣的硬分叉,看 Crypto 的算力平衡課題

Bird Liang, Chief Engineer (梁子凌 / 技術長兼工程輔導長)

負責 AppWorks 技術策略與佈署,同時主導工程輔導。人生的第一份正職工作是創業,之後在外商圈電子業中闖蕩多年,經歷過 NXP、Sony、Newport Imagining、Crossmatch 等企業,從事無線通訊、影像系統、手機、面板、半導體、生物辨識等不同領域產品開發。熱愛學習新事物,協助團隊解決技術問題。放棄了幾近退休般的生活加入 AppWorks,為的是幫助更多在創業路上的人,並重新體驗創業的熱情。台大農機系、台科大電子所畢業,熱愛賞鳥、演奏管風琴,亦是不折不扣的熱血 Maker。

門羅幣 (Monero) 是加密貨幣 (Crypto) 的後起之秀。在大眾的目光仍停留在 Bitcoin、Ethereum 等主流加密貨幣時,許多需要真正匿名交易特性的使用者,已經悄悄轉投門羅幣的懷抱。

隨著 Crypto 的盛行,市場上出現了越來越多專為挖礦而設計的礦機。為了對抗使用ASIC (專用晶片) 挖礦的礦機,不讓這些礦機主導門羅幣的區塊鏈開採,門羅幣的開發者社群決定從第 1,546,000 個區塊開始,更改挖礦的演算法,讓晶片礦機無法投入門羅幣的開採。台北時間 4 月 6 日下午 4 點 22 分 11 秒,門羅幣區塊鏈的第 1,546,000 個區塊被挖出,從這裡開始,門羅幣將採用新的 CryptoNight V7 演算法來挖礦。

到底挖礦是怎麼回事,礦機又是如何運作的?為什麼門羅幣的開發者,對專用晶片的礦機這麼反感,乃至於要發起演算法變更這麼重大的動作,來對抗晶片礦機?這對加密貨幣,甚至未來區塊鏈技術的發展,產生哪些影響?

隨著加密貨幣的盛行、價格水漲船高,挖礦的利潤空間也越來越大,導致越來越多的使用者投入加密貨幣的挖礦行列。伴隨而來的,就是整體區塊鏈網路的算力提升。但像是 Bitcoin 這樣用礦工共識主導系統走向的網路設計,某些獲得高度算力的方法其實會導致算力的過度集中化,反而與 Blockchain 網路的去中心化精神背道而馳。門羅幣社群巧妙地利用修改演算法來防堵這種現象的發生,但這場算力提升與集中的戰爭似乎不可能永遠平息。

挖礦

加密貨幣的挖礦,指的是區塊鏈網路上的使用者,透過某種相互協調的方法,選出一個使用者來,由這個使用者來整理、打包這一回合的交易資料。這個選出幸運兒的方法,稱為共識演算法 (consensus algorithm)。

受到比特幣的啟發,現今絕大多數的加密貨幣,使用的共識演算法都是「工作量證明」 (Proof of Work, PoW) 演算法。PoW 演算法是這樣運作的:由大家各自解一個很難解,但是很容易驗證的題目,看誰先解出來,就對全世界大喊 「我解出來了,答案在這裡!此時大家會拿這個答案去驗算。如果驗算的結果正確,大家就承認第一個解出來的這個人,是這一輪的幸運兒,由他獲得這一輪打包資料的殊榮,同時也能領取這一回合的挖礦獎勵。

我們舉比特幣當範例,來說明挖礦怎麼挖。

比特幣選擇了 SHA256 這個雜湊函數 (hash function),當作它的挖礦演算法核心。所謂 hash function,就是前面提過的那種難解開、易驗算的題目之一。以 SHA256 來說,它的輸入是一個長度介於 0 到 (2^64-1) bits 的字串,而輸出則是一個 256bits 的數字。比如說我把 “Bird is handsome” 這個字串拿去做 SHA256 計算,就會得到這個數字:

SHA256(“Bird is handsome”)
-> 0x8066544d3ee23a0acf4dc9f21b14276f24bbfc1bb1de87ebdf3508ac4dbda367

如果我不小心把 handsome 打錯一個字母,把其中的 o 打成了 a,算出來的 SHA256 就會變成:

SHA256(“Bird is handsame”)
-> 0xb0327afc47f4fef6850236b2c854b3b3aff13d4514ec4417a48dda7d4d45c2d3

有沒有發現 ? 差之毫釐,失之千里。只不過改變了輸入中的一個字元,SHA256 算出來的結果就變得連他媽媽都不認得了。這就是 hash function 的特性:輸入中的任何變化,都會讓輸出有著完全無法預期的變化,而且你幾乎找不到任何關於「輸入的變化」與「輸出的變化」之間的規則,因此從 hash function 的輸出去反算輸入,理論上幾乎是不可能的。

我們現在可以用這個特性來出題了。假設我們在 “Bird is handsome” 這個字串後面加上一個 6 位數字:比如說 778899 好了,這時就會算出一個新的 SHA256 值:

SHA256(“Bird is handsome 778899”)
-> 0xa4cdaaadc70539d23342806fcee58399d6c5f8afa8ced80b61e03d3da01a877c

然後我把題目定為:請大家依照以上的格式,找出一個數字,使得這個字串的 SHA256 輸出,最前面的兩位數都是 0。

這要這麼解呢?依照 hash function 的特性,你完全無法從輸出猜測輸入,因此唯一的解法就是用試的,或是用猜的。我們就老老實實從 000000 開始試好了:

SHA256(“Bird is handsome 000000”)
-> 0x60101f7d7c7a7e61ac2e4db4f7f45fea43c2e548bfec1af36d523e8b66c8d70d

SHA256(“Bird is handsome 000001”)
-> 0x32136485e25a23e0bba4c2474ee267e71d48b6696596c2d25a81b5b5d3c48900

SHA256(“Bird is handsome 000002”)
-> 0xe7316c060d9510a995aa08f7c635786e866e284447046ddf393429569d065d9e
……

試到 000056 時,我們就找到了一組解:

SHA256(“Bird is handsome 000056”)
-> 0x00999635ad2ba3441af06f8738b7212a52060d6cd1e4b3feaf04ea70323c8e27

事實上這解不保證是唯一的,這是 hash function 的特性之一。如果有人從三千多開始往上試,也會找到另一組解:

SHA256(“Bird is handsome 003280”)
-> 0x00696cc645d0cd17f014aaac0273c004eceea1d534fdfe04f0d30f229c4cfe07

但如果題目變成「使得它的輸出,最前面的 3 位數都是 0」的話,難度就會上升許多,因為符合這個條件的數字一定比兩個 0 的要少很多。

因此,藉由調整使得解答成立的條件,我們可以控制題目的難度。

在比特幣中,那個字串來自前一個區塊的資訊,以及這個區塊需要打包的資料,而那個數字則是 header 中需要解算出來的一個欄位。

比特幣的每一個區塊都有一個 80 bytes 的 header,它的格式是這樣的:

前五個欄位都是已知的:版本就是目前使用的協定版本、從區塊鏈上拿到前一個區塊 header 的 SHA256 值、決定要打包哪些交易然後算出它們的 Merkle hash、時間看看電腦的時鐘就知道了、挖礦難度則有另外一個演算法根據前面一段時間挖礦的產出速度決定,當一個礦工把前面五個欄位準備好後,他就可以開始挖礦。

挖礦的方法就是:調整第六個欄位,也就是 nonce 的數字,使得整個 header 的 SHA256 值前面的 0 的數量,符合挖礦難度那一欄的值。

難度與算力

挖礦難度也是比特幣系統設計上一個很巧妙的地方。比特幣開始上線時,挖礦的難度是開頭 8 個 0,也就是找出來的 nonce 必須讓這個 header 的 SHA256 前面有 8 個 0。我們可以去比特幣的區塊鏈上查一下歷史紀錄就知道。撈一下 2009 年的幾個區塊來看:

可以看到當時算出來的 hash,前面只有 8 個 0 就算有效了。

但隨著成千上萬的礦工投入挖礦,整個網路的計算能力也大幅上升,為了維持差不多每 10 分鐘算出一個區塊的速度不變,比特幣網路就根據難度調整的演算法慢慢地把 0 的數量增加。

我們看看在今年四月挖出來的區塊:

有效 hash 值,所需要的 0 的數量已經暴增到 18 個。

每多一個 0,找到有效 hash 值的機率就變為原來的 1/16,也就是挖礦難度變成 16 倍。從 2009 年到現在已經多了 10 個 0,也就是説現在的挖礦難度是當年的 16^10 = 1,099,511,627,776 倍,1 兆倍。

換句話說,現在比特幣網路上的總計算能力,也就是大家一起猜數字的速度,是當年的 1 兆倍。

Nonce 是一個 32bit 的值,也就是有 2^32 差不多有 42 億種可能。當挖礦難度低的時候,這 42 億個數字中多半可以找到符合的解,

但是隨著挖礦難度增加,很有可能會遇到無法在這 42 億個數字裡找到有效解的狀況,這時候礦工就要稍微調整一下前面的幾個欄位,再重新尋找有效的 nonce。由於版本、前一個 block 的 hash 值、難度這幾個欄位都是固定的,只有時間和 Markle Root Hash 這兩個欄位可以更動。常見的做法是調整 Merkle Root Hash 這個欄位,細節還蠻複雜的,這裡先不解釋。

整個比特幣的挖礦過程中,最複雜的計算就是這個 SHA256 的計算。而挖礦這件事情,說穿了,就是大家比賽猜數字,把選定的數字丟到 SHA256 裡面去算,看看你是不是那個幸運兒。至於要怎麼猜,是一個一個照順序猜,還是跳著猜,還是亂猜,都無所謂,因為就機率模型來說,不管你怎麼選數字,結果都是一樣的。

計算 SHA256 的速度越快,在同樣的時間裡能猜的數字就越多,你就越有可能猜中。這就是 PoW 演算法的精神:藉由證明 (proof) 你所提供的工作量 (work),以換取你在這一回合獲取挖礦獎勵的機會。

隨著比特幣的價格上揚,挖礦開始變成一門不錯的生意。要挖得好、挖得快,關鍵就在於那個 SHA256 算得好不好、快不快。於是繼 CPU、GPU 被拿來挖礦之後,終於有人設計 IC 來挖礦了!

挖礦晶片

SHA256 演算法其實非常適合用 IC 來做,因為它的計算步驟都是單調、重複的布林運算和資料重排,用 Verilog 來寫的話其實才幾百行程式碼而已。於是就出現了用專用的 IC 來計算 SHA256 的挖礦機器,而且一舉把計算速度推升了好幾個數量級。

大部分的 GPU 計算比特幣 SHA256 的速度大概都在每秒 10 億次以下。但是!但是!重點來了,很多挖比特幣專用的 IC 都可以輕鬆達到每秒一兆次以上,而且耗電遠比 GPU 低得多。每秒一兆次是什麼概念呢 ? 就是一組 block header 的資料,所搭配的 40 億組可能的 nonce 值,遇到這種挖礦的 IC,它不用 0.1 秒就能試完。要是題目出得不夠快,還餵不飽這種挖礦 IC 呢。

這種挖礦用的 IC 既便宜又省電,計算能力還比顯示卡高上許多,因此有越來越多的人利用這種裝置投入比特幣的開採。比特幣現在整個網路的計算能力,大概是兩千多萬 Thash/sec (這數字大概是 2*10^19,用中文寫的話是 2000「京」),如果都用 1Ghash/sec 的顯示卡來挖,要兩百億張這種顯卡才能挖到這個速度,地球上哪來這麼多顯示卡?當然都是用專用 IC,也就是 ASIC 在挖呀。

用 ASIC 礦機挖礦的現象,導致整個比特幣網路的計算能力,集中在少數擁有大量礦機的團體手上,一般平民百姓不管是買不起礦機,還是不願為了挖比特幣而去買專門的礦機,都沒辦法自己在家裡用顯示卡參加挖掘比特幣的偉大行動,因為用顯示卡挖礦根本連 ASIC 礦機的車尾燈都看不到。

這個現象,讓比特幣的區塊鏈離「去中心化」的理念越來越遠。計算能力的過度集中,甚至導致中國的某個礦池一度掌握了超過全網一半以上的計算能力,而讓人擔憂比特幣網路會遭到所謂的「51% 攻擊」。51% 攻擊指的是,如果有單一節點掌握了整個區塊鏈網路一半以上的計算能力,它就有辦法操縱、甚至改寫區塊鏈上的資料。(所以其實不用 51%,有 50.1% 或 50.01% 也可以,差別只在於攻擊成功的機率。)

其它的加密貨幣開發者注意到這個現象,紛紛開始想辦法透過演算法的設計,來避免這種「ASIC 礦機之亂」。

以目前市值排名第二的加密貨幣以太坊 (Ethereum) 來說,它的挖礦演算法,不像比特幣只需要計算 SHA256 這麼簡單。挖掘以太坊的計算過程,需要參照一個叫做 DAG 的表格,這個表格每 30,000 個區塊要重新產生一次,而且它的大小會隨著區塊鏈的成長而增加。目前 Ethereum 的 DAG 表格大小大概是 2.4GB。

由於以太坊挖礦的計算過程,需要隨時參照這張表格,如果要挖得快挖得好,這張表格就得放在速度很快的記憶體中,以便計算核心可以快速讀取。但以目前的 ASIC 技術來說,就算用 embedded DRAM 製程也沒辦法在同一個晶片上做出這個大小的記憶體。而外掛記憶體或 stacked-DRAM 則需要處理匯流排、記憶體介面等複雜的設計,讓個整體的設計變得相當複雜,成本也會大幅增加。它不是做不到,而是沒辦法像比特幣的挖礦晶片那樣用划算的方法做到。總之,以太坊的的演算法有很多巧思,都是為了對抗 ASIC 挖礦而設計的。

因此,以太坊自 2015 年 7 月上線以來,雖然計算能力快速成長,始終沒有出現可以挖掘乙太幣的 ASIC 礦機。直到今年四月。
2018 年 4 月,中國的礦機大廠比特大陸 (Bitmain) 推出了一台叫做 Antminer E3 的 ASIC 礦機,售價八百美金,號稱能用 180Mhash/sec 的速度挖掘以太幣,而且只有 800W 左右的耗電。

雖然速度不像比特幣的 ASIC 礦機那麼快,但耗電和價格還是遠比使用顯示卡挖掘以太幣要低得多。這機器預計七月開始出貨,屆時對以太坊區塊鏈的算力會有多少衝擊,還有待觀察。唯一正面的影響,大概是顯示卡缺貨的問題可以得到紓解。現在在礦工們瘋狂掃貨下,顯示卡真的很難買呀。

門羅幣保衛戰

至於前面提到的門羅幣,在開發之初除了考慮到要對抗 ASIC 礦機之外,也用演算法拉近了 GPU 和 CPU 的挖礦能力。門羅幣使用的挖礦演算法叫 CryptoNight,這個演算法的開發社群開宗明義就說了,這是個 “Egalitarian” (平等主義) PoW 演算法。他們希望在這個演算法之下,除了不會存在 ASIC 挖礦這種明顯中心化的行為之外,你也不用去買貴森森的高階顯卡來挖礦,因為門羅幣讓顯卡挖礦的速度跟 CPU 挖礦的速度差不多。

CryptoNight 演算法,用了幾個方式實踐這個「挖礦之前,人人平等」的精神:

  1. 每個挖礦的單元需要 2MB 的記憶體。它不像以太幣挖礦需要的記憶體那麼大,但 2MB 對 ASIC 來說也是個不低的門檻。而這個大小,差不多可以符合現代 CPU 的 L3 快取記憶體大小 (以平均分配給每個核心的快取記憶體大小來計算)。
  2. 相對於 CPU 挖礦,GPU 挖礦的優勢在於它的平行處理架構:它可以同時執行成千上萬的挖礦工作。但由於每一個工作都需要各自的 2MB 記憶體,而且 CryptoNight 演算法存取這塊記憶體的行為非常隨機,因此顯示卡上的 GDDR 記憶體不見得能負荷這樣大的記憶體存取頻寬。GDDR 記憶體的優勢在於循序讀寫的頻寬,在隨機存取上反而沒有優勢。
  3. CryptoNight 演算法的核心用到一種稱為 AES 的加密演算法。現在的 x86/x64 架構處理器都有專用的硬體電路和指令集來加速 AES 計算,這方面顯示卡的 GPU 完全沒有任何優勢。

但賠錢的生意沒人做,殺頭的生意有人做。隨著門羅幣的價格上漲,它的挖礦利潤也越來越高,終於還是出現了可以挖門羅幣的 ASIC 礦機。

一樣是比特大陸 (Bitmain) 做的。

比特大陸在今年三月發表了一款叫做 Antminer X3 的礦機,宣稱在 550W 的耗電下,能以 220Khash/sec 的速度挖掘門羅幣。

但門羅幣陣營也不是省油的燈。Antminer X3 的消息一出來,門羅幣的主要開發者 Riccardo Spagni 就在推特上開嗆了: 他公開宣示:「Antminer 這種 ASIC 礦機對門羅幣不管用。」

為了要達到這個目標,門羅幣社群決定進行一次「硬分岔」(hard fork),也就是更改門羅幣的挖礦演算法,讓 ASIC 礦機難以在新的 CryptoNight V7 演算法上運作。

如同我們在文章一開始說的,門羅幣在第 1546000 個區塊進行了硬分岔,修改了挖礦演算法。究竟這個變更有沒有成功讓門羅幣網路上的 ASIC 礦機現形呢 ? 我們來看看門羅幣的算力變化就知道了。

就在門羅幣執行硬分岔後,整個門羅幣網路的算力暴跌了三分之二以上,而且至今都還沒有爬回硬分岔之前的算力水準。

這中間的算力差距,大概就是被硬分岔踢出去的 Antminer X3 礦機所擁有的算力。Antminer X3 仍未開始交貨,因此這些算力應該是比特大陸內部在測試機器時所貢獻的算力。

至此,門羅幣社群算是成功地防堵了 Antminer X3 礦機把持門羅幣網路的算力。但目前仍不知道 Antminer X3 的挖礦晶片有多少彈性,會不會只需要修改軟體,就能重新上線挖掘新演算法的門羅幣,還是它們就此跟門羅幣道別,改去挖其它仍使用舊版 CryptoNight 演算法的加密貨幣。

區塊鏈網路的中心精神是「去中心化」,但由於挖礦帶來的豐厚利潤,各種礦池、礦場的規模化在所難免,也因此導致各加密貨幣網路的算力,往集中化的趨勢傾斜。如同我們前面解釋過的,PoW 演算法藉由證明工作量來換取打包資料的權利以及領取挖礦獎勵,因此只要 PoW 演算法存在一天,這場開發者與礦機大戶的算力大戰就不會終止。

現在就是創辦 Blockchain / AI 最好的時間,歡迎所有區塊鏈、人工智慧創業者加入專為你們服務的 AppWorks Accelerator