2019杭州區塊鏈周丨上海交大教授來學嘉:區塊鏈讓密碼學變得更“值錢”了

2019年5月16日,由巴比特主辦的“2019杭州區塊鏈周”正式開幕。在首日的Chainge技術開放日活動中,上海交大教授,密碼學家來學嘉發表了題為《區塊鏈與密碼學互動》的演講。

來學嘉教授認為密碼學與區塊鏈是密不可分的,區塊鏈是密碼算法搭建起來的,同時區塊鏈又給密碼學增加了新功能。此外,來學嘉教授還在演講中談到了“加密貨幣”、“去中心化”以及“共識”等圈內常用詞的正確理解。

2019杭州區塊鏈周丨上海交大教授來學嘉:區塊鏈讓密碼學變得更“值錢”了

以下為巴比特整理的演講內容(做出了不改變原意的刪減):

今天很高興有機會到這兒來和大家分享一下自己的看法,也是向大家來學習。我的演講題目是《區塊鏈和密碼學互動》。

與密碼算法密不可分的區塊鏈

首先,區塊鏈是密碼算法搭起來的,所以說它和密碼算法是不可分割的。另一方面,反過來區塊鏈又對密碼學有貢獻,它對密碼學的發展提供了一些新的思路或者新的方向。最後捎帶提一些我們常用的術語,應該怎麼樣建立正確的認識。

區塊鏈本質是什麼呢,是全局分佈而且同步的賬本,大家都有一個一樣的東西。這套東西能驗證賬本內容,而這些內容是每個人都可以驗證的。同時還能保證賬本中放的是交易,你又能驗證交易是不是合法。

說到區塊鏈不得不提到比特幣,因為區塊鏈是從比特幣來的。比特幣是分佈式電子系統,利用網絡在沒有事先信任情況下實現交易支付。比特幣的交易通過數字簽名鏈來實現,然後把這些交易記錄放到一個數據庫,一個共同驗證的數據庫,就是區塊鏈。密碼裡有幾個基本的密碼函數,數字簽名、Hash函數還是最常用的,其中最古老的叫做加密,但比特幣沒有加密。

2019杭州區塊鏈周丨上海交大教授來學嘉:區塊鏈讓密碼學變得更“值錢”了

比特幣是什麼東西,其實就是我們常說的地址。誰知道私鑰誰就擁有比特幣,因為我有私鑰,可以對它做操作,做支付,這就是交易。支付就是很簡單,因為我有私鑰,可以選一個想給的人,把他的地址拿過來,把我的簽名和地址、錢綁到一起,就表明轉到他那兒。因為他有他的私鑰,可以用他的私鑰接著往下做交易。

持有者對前期交易和收款人的地址做簽名,就是交易。這個過程是可以公開驗證的,因為數字簽名的一個特性就是隻有知道私鑰的人,才能夠生成簽名,而其他人都可以驗證,而且只能驗證,這樣的話就有一種抗抵賴的功能。

數字貨幣有一個很大的問題,就是copy的問題,因為一個文件和它的拷貝件是不可區分的,這樣的話,電子貨幣原則上完全可以重複使用。這樣的貨幣系統就失去了它的意義,所以需要一個方法防止雙花問題。傳統解決方案是靠一個第三方,必須經過銀行檢查這個錢是否用過。比特幣想了一個更好的辦法,為了防止重複花費,就把所有用過記錄全部公開,這樣的話就無法重複使用了。公開記錄的數據庫就叫做賬本,或者Blockchain,區塊鏈就是這樣來的。也就是說,區塊鏈是比特幣為了防止雙花,而提出的一種系統。

這個記賬的過程我們把它叫做挖礦,其實挖礦這個東西比較有意思在於,它做了好幾件事:一,挖礦要驗證新出現的交易是合法的;二,要把這些驗證過的交易記錄下來,放到賬本里面進行記賬,產生一個新的區塊鏈。在產生新區塊的同時,實際上又生成新的貨幣。挖礦從密碼學角度講,它是很有意思的一個過程。最後,它又運用一個密碼函數,Hash函數單向性控制挖礦的速度。用代碼控制了挖礦的難度,實際上是控制Hash函數,函數碼0的個數,因為Hash是單向函數,計算的過程實際上是破譯的過程。破譯的難度可以控制,每10分鐘生成一個新的區塊。

密碼學——因為區塊鏈而更加“值錢”

看下來就知道了,區塊鏈就是用密碼算法搭起來的。經過數字簽名的鏈保證交易正確,然後Hash函數保證完整性和不可篡改,保證數據可以驗證及其可信性。Hash函數單向性可以用來控制貨幣的生成速度,這是一方面。另一方面,區塊鏈的形成對密碼學又產生新的貢獻,做出我們一些過去做不到的事情。

有了區塊鏈以後,密碼學“值錢”了,過去密碼學是賠錢的,密碼是保護數據用的,成本比較高。但有了區塊鏈後,密碼學就變成值錢的東西。因為我們通過生成符合某些條件的Hash碼,經過一些密碼函數計算結果變成了錢。同時,有了區塊鏈,有了比特幣這類應用後,這些做密碼的人突然好像吃得開了,所以說密碼學“值錢”了。密碼函數還有勒索軟件,勒索軟件是什麼東西,就是把密碼函數算一下,把你的文件變成一個密文,問你要比特幣。

2019杭州區塊鏈周丨上海交大教授來學嘉:區塊鏈讓密碼學變得更“值錢”了

真正從學術和技術上來講,密碼學真正貢獻在哪裡呢,就是Non-Repudiation(不可否認性)。圖示這五個性質是ISO定義的安全服務要素。保密性就是加密,認證真實性就是數字簽名,完整性就是Hash函數。Non-Repudiation是不可否認性、抗抵賴,數據函數只有一個性質,其他人只能驗證。數字簽名為抗抵賴提供一個證據。

密碼學過去實現不了抗抵賴,區塊鏈出來之後就有意思了,你就發現區塊鏈本身提供了抗抵賴的平臺,因為區塊鏈就是我們現在可信第三方,大家都服從它。鏈上說什麼就是什麼,很自然就可以起到抗抵賴的作用,這也是比特幣中的雙花問題。

還有一種,我們過去做不到的事情是抗捏造。這件事情過去密碼算法也做不到,因為密碼學裡用的是單向函數,必須已經有了數據之後才能實現某些功能。區塊鏈就把你過去做的事情全部記下來,你想捏造,捏造不出來,大家只認賬上的東西。總之來說,區塊鏈就給密碼學中或者安全中需要的抗抵賴、抗捏造,從這個角度講提供了一套完整的解決方案。

安全服務裡這一大塊實際上是密碼的東西,但有了區塊鏈後密碼學的作用又能更多一點,因為區塊鏈是由密碼函數構造,對密碼學起了促進作用,在抗抵賴、抗捏造方面有了新的方法。

常用術語的正確理解

看了比特幣構造之後,用了簽名、Hash就是沒有用加密,不管怎麼說,首先基本的區塊鏈、比特幣沒有加密,儘量避免用加密貨幣這個詞。但是另一方面完全公開的內容又讓區塊鏈應用受到限制,很多人不願意把他乾的事情全部公開,讓每個人知道。我們現在乾的事情就是把加密功能放到區塊鏈裡,但這就麻煩了,區塊鏈特性是公開可驗證,參與人都可以驗證這件事情,我接受記賬才有效。這時候用了保密,就是說驗證人看不到內容,還要承認他,怎麼辦呢,密碼學的方法就是零知識證明、環簽名等等,過去我們認為高精尖技術都堆到這裡來了,雖然比較困難,但它又解決了很多實際問題。

很多人都在說區塊鏈的去中心化,仔細想想,區塊鏈根本沒有去中心,而是重新建立了一箇中心,大家就認這個唯一的中心,更強的中心,就是鏈本身,大家只認數據。或者說我們重新造一個上帝作為中心,所謂去中心,理解的角度是從比特幣來講。比特幣去掉了發行貨幣的銀行作為中心,也就是在交易時沒有中心了。但真正用區塊鏈實際上是創造出了一箇中心。所以“去中心化”這個詞用起來也要當心。

無論是POW還是POS,真正共識、唯一的共識,就是我們參與者只認可最長鏈的內容。POW、POS等等本質上是記賬權,是在比特幣中挖礦的結果,挖礦的目的是為了驗證交易,同時因為驗證交易的行為獲取獎勵,就是創造新的比特幣。

什麼叫公有鏈呢,公有鏈就是每個人都有記賬權,全民投票。聯盟鏈是隻有大股東才有投票權、記賬權。私有鏈是老闆記賬,回到中心化。有了這些東西后,再來看看公有、聯盟、私有角度,看看區塊鏈什麼地方能用。從區塊鏈角度講,記賬功能和交易功能是相對獨立的兩件事情,也就是這邊記賬,那邊是賬本里交易。如果是公有鏈,交易也是公開的,那就是比特幣。如果是私有鏈,交易也是私有,只有特定人才能幹,其實就是數據庫,沒什麼新鮮的。用得最多是聯盟鏈,有權限限制的各種交易和有權限限制的記賬功能。從應用角度講,這句話很重要,即區塊鏈真正意義是什麼,它重建了信任機制。

上個月天津海關的一個區塊鏈跨境貿易平臺上線,用的就是平安壹賬鏈,我剛好參與這個項目。這個項目幹了什麼事情呢,就是把境內境外買方賣方,還有銀行、物流這些都放到一個鏈上。通過這個鏈,任何一方都可以看看相關的內容是否可信。比如賣方,從買方購買記錄、物流記錄、銀行記錄等看出是否相信他,銀行也從記錄裡看出是否給他貸款。

總結一下,這裡講了三件事,密碼學搭建了區塊鏈,區塊鏈反過來給密碼學增加了新功能,以及從這個角度理解,一些常用的詞要如何正確使用。

謝謝大家。

相關推薦

推薦中...