3/3 可免費閱讀文章篇數免費閱讀

本文出自

鏈結區塊鏈金脈

鏈結區塊鏈金脈

2017年8月號

理解區塊鏈,不能不知道密碼學

專訪密碼學專家陳君明
陳君明 Jimmy Chen , 採訪整理 ■ 李郁怡 Eve Li
瀏覽人數:28925
  • "理解區塊鏈,不能不知道密碼學"

  • 字放大
  • 文章授權
    購買〈理解區塊鏈,不能不知道密碼學〉文章授權
  • 購買文章
    購買〈理解區塊鏈,不能不知道密碼學〉PDF檔
    下載點數 10
張智傑 攝
現在人們熱切關注的「區塊鏈」(blockchain),運作基礎正是密碼學。本刊專訪台灣少數的密碼學專家,銓安智慧科技股份有限公司研發長、台灣大學數學系兼任助理教授陳君明,他表示:如果要評估區塊鏈應用的可行性,就不能對密碼學一無所知。

2014年,電影《模仿遊戲》(The Imitation Game)上映,英國數學家、密碼學家與資訊科學家圖靈(Alen Turing)在二戰期間,破譯德國納粹通訊密碼,幫助英美盟軍取勝,最後卻被迫害的人生經歷搬上了大螢光幕,連帶也將冷門的「密碼學」帶入普羅大眾的視野。有趣的是,現在人們熱切關注的話題:「區塊鏈」(blockchain),運作基礎正是密碼學。

銓安智慧科技股份有限公司研發長、台灣大學數學系兼任助理教授陳君明是台灣少數的密碼學專家。他認為,如果要評估區塊鏈應用的可行性,就不能對密碼學一無所知。

「區塊鏈是解決問題的工具,但絕非萬靈丹。」銓安智慧科技股份有限公司研發長、台灣大學數學系兼任助理教授陳君明在今年7月12日接受《哈佛商業評論》採訪時表示。

區塊鏈是比特幣(Bitcoin)運作的基礎。近年,隨著比特幣市場行情節節高升,輿論熱烈討論著區塊鏈的各種應用可能。許多人期待,除了金融應用之外、區塊鏈未來將取代現今網際網路應用架構,形成「新一代網際網路的運作模式」。

也因為輿論熱議,各種對於區塊鏈的應用想像紛紛出現。就在幾天前,陳君明從朋友的臉書看到一個公益機構討論著,是否採用區塊鏈來設計失蹤人口尋人機制;「明明有其他更適合的分散式資料庫可以選擇,用區塊鏈是『殺雞用了牛刀』。」「在我看來,現在人們對於區塊鏈應用的許多想像,有些是太過於誇大了!」陳君明表示。

而之所以有這樣的誤解,他認為,與現在輿論對區塊鏈的應用談得太多,但運作原理講得太少有關。

陳君明指出,儘管與其他的資訊工具應用相比,區塊鏈有降低交易衝突(friction),低成本、高效率的好處;但這些好處只有在其所需要解決的問題,必須要運用區塊鏈特性,例如「不可竄改」,在特定的前提下才會發生(見表1:「區塊鏈特色」)。

區塊鏈成為信任機制,

基礎在於「不可竄改」

陳君明解釋,在比特幣的發明者中本聰(Satoshi Nakamoto)發表論文之前,學術界研究數位貨幣已有三十年。數位貨幣要能夠運作,必須避免「雙重支付」(double spending)」。在實體世界,人們進行交易時,鈔票不會同時存在兩個人手上,舉例來說,甲付出新台幣一百元的紙鈔給乙時,甲手上持有的鈔票就不存在了。然而,電子形式的文件或檔案很容易複製,如果甲將數位貨幣給乙,但自己卻仍然持有原貨幣,「一百元就變成兩百元,」數位貨幣體系就無法運作。而解決問題的傳統做法是設立中央控管機制。

但中本聰巧妙結合現有密碼學、資訊科學與貨幣學和網路技術,設計比特幣,不需中央控管即可以避免「雙重支付」。透過他稱為「區塊鏈」的設計,數位貨幣交易有了不可竄改的特性,於是在虛擬世界,可被信任的機制出現,價值交換成為可能。

「無論是區塊鏈還是比特幣的運作,都與『密碼學』高度相關。」他表示。

數位簽章易算難解,

破解私鑰難上加難

陳君明指出,比特幣沒有中央控管機制,卻能避免「雙重支付」,做法是公開所有交易。當一筆交易完成,網路上所有節點都會知道交易已經進行,因此透過演算法設計,重覆交易無法發生。

舉例來說,比特幣使用數位簽章(digital signature)進行交易。每個比特幣帳戶有一對「私鑰」(private key)和「公鑰」(public key),都是由0與1組成的位元串。交易發起人必須妥善保存隱藏的私鑰,並對交易簽章(sign);而網路上任何人都可使用公開的對應公鑰,對交易進行驗章(verify),確認交易的來源與正確性。

利用私鑰很容易計算出公鑰,但若想從公鑰反推私鑰,幾乎不可能的特性,設計交易機制。陳君明在桌上攤開數十頁的簡報文件,翻開「數位簽章」那一頁,以最口語的方式解釋:「私鑰是兩個很大的質數,熟悉數學的人知道,質數很容易相乘算出乘積,但即使看到一個超大整數,分解還原兩個質數的難度極高,這就是數位簽章的運作原理。」比特幣的數位簽章,則是使用運作道理相同,但破解難度更高得多的橢圓曲線,作為密碼運作背後的數學工具。

但是,如何才能夠做到「不可竄改」?答案就在密碼學上被廣泛應用的「雜湊函數」(hash function)特性上(見表2:「雜湊函數特性」)。

實體世界有鎖、金庫、保險箱來保管財物;而在由位元組成的虛擬世界中,保護資訊安全,就必須使用密碼學。因此許多專家認為:比特幣的運作方式,本質上就是一套密碼協定(cryptographic protocol)。

密碼學滲透日常生活

其實無論是數位簽章或雜湊函數,都比一般人所認知的,更加滲透我們的日常生活。

「例如,你登入電子郵件信箱時,必須輸入密碼;提供電子郵件服務的平台,例如 Gmail,為了不讓駭客輕易拿到密碼,網站伺服器都不會直接儲存你的密碼,而是將密碼代入雜湊函數,儲存在伺服器上的就稱為『雜湊值』。駭客即使得到雜湊值,也沒辦法逆推得到你的密碼。」他說明。

比特幣或區塊鏈不可竄改的特性,正是以雜湊函數作為基礎。如果對雜湊函數的輸入值作任何微小更動,即使只改變一個位元,都會對輸出的雜湊值造成難以預期的大幅變化。

陳君明舉例,針對比特幣使用的雜湊函數SHA-256,若試圖從雜湊值逆推尋找輸入值,需要的運算量是2的256次方,而全宇宙的原子總數大約是2的266次方。

即使現在中美都致力發展的超級運算技術「量子計算」成熟了,逆推雜湊值仍需2的128次方,仍舊花一百年也算不出來。另一方面,從比特幣的公鑰逆推得到私鑰,所需運算量也是2的128次方。

既然如此,為什麼常出現比特幣被駭客偷的新聞呢?「那是因為駭客不是以計算得出比特幣的私鑰,而是駭入比特幣持有者的電腦,直接偷走沒保存好的私鑰。儘管比特幣所有交易在網路上完全公開,帳戶卻是匿名,就算知道數位貨幣被轉走,也不知拿走的人是誰,因此難以追查。」陳君明解釋。

複雜運算攸關成本,

影響最後報酬率

對於區塊鏈「不可竄改」的特性,為什麼會影響選用區塊鏈的組織或個人,是否得到預期效益呢?陳君明表示,這是因為運算需要投入人力、物力,自然也影響投入成本。

他再以比特幣為例,當初,中本聰在設計比特幣時,為人們如何找到比特幣設定了運算遊戲規則,能夠算出符合規定雜湊值的人,就可以得到比特幣。於是從2009年開始,新聞就常常出現想要得到比特幣的個人或是組織「挖礦」(mining)報導;這意思是說,透過像是挖礦一般的逐筆計算,最快得到夠小雜湊值的人,就可以得到比特幣。早年,由於投入計算的人比較少,人們用CPU晶片,就可以得到比特幣,後來,為了能夠打敗對手,比別人更快得到比特幣,各種提高運算能力的軟硬體投入,以「軍備競賽」方式不斷升級,推升了取得比特幣的成本。最近,他才有學生加入了某個「礦工聯盟」,儘管的確合作挖到比特幣,最後分到的幣值,卻還抵不上他要付的電費。

除了比特幣之外,如果有企業或組織想設置一個企業用的「私有鏈」(編按:區塊鏈的一種;相對於任何節點都可以參加與退出的公有鏈,通常是某個組織設計的,只提供參與者許可權的區塊鏈。)雖然不需要競爭挖礦,卻也涉及了組織既有的數位能力是否能夠駕馭區塊鏈運作、組織內既有資訊系統的整合、與管理介面能否與新的區塊鏈設計接軌。而這些投入,當然需要軟硬體投資,以及人力物力的投入。而最後是否產出預期效益,更攸關投資報酬率。

金融科技運用最有潛力

陳君明指出,這也就是為什麼,目前區塊鏈比較成熟的運用討論,集中於金融領域。「因為如果有銀行在幾秒之內就可以進行跨國轉帳,但沒有區塊鏈的銀行卻要花上兩、三天,將對競爭力造成顯著差距。」

除了金融領域之外,現在比較成熟的應用,或許在食品安全供應鏈管理、跨醫療院所的病歷管理等。因為這些需求,都有要求系統必須在保有隱私時跨界共享資訊,以及保護資訊不可隨意竄改的必要,恰好符合區塊鏈的特性。

至於其他不需要區塊鏈這些特性的需求,由於可以替代的資訊工具很多,區塊鏈並不見得是最有效益的選擇。

基於這個理由,陳君明認為,當人們談到區塊連可取代網際網路,甚至降低Google、Youtube等大型平台,成為下一世代數位世界基礎建設,並有更多的運用時,「即使會發生,也是在很久以後的未來了。」他表示。



陳君明 Jimmy Chen

銓安智慧科技股份有限公司研發長、台灣大學數學系兼任助理教授。數學、密碼學與資訊安全專家。



本篇文章主題資訊與技術

你可能還會想看