【原創】劫波研究系列之十七:不可篡改,加密與風險(6)

比特幣系統主要運用了公鑰密碼、單向散列函數及數字簽名三項密碼學技術。

除了提供簡單的技術工具之外,密碼學還將促進整個區塊鏈系統的制度創新。

【原創】劫波研究系列之十七:不可篡改,加密與風險(6)


— 公鑰即身份 數字簽名 哈希指針 —


第四個工具是消息認證碼技術,它用來確認自己收到的信息是否就是發送者的本意,這裡同樣會存在對稱密鑰中遇到的密鑰配送問題。因為和我們討論的區塊鏈技術關係不大,這裡不再做具體展開。

第五個工具是數字簽名技術,它是基於公鑰密碼的原理,將其反過來進行使用的。簡單來說就是發送方可以利用自己的私鑰為消息附加數字簽名,消息發送後,接收方可以使用發送方的公鑰來檢查信息的真實性和完整性。通過數字簽名技術,可以實現現實世界中的簽字、蓋章的功能。

最後一個工具是偽隨機數生成器,它是通過密碼學技術構造的生成隨機數的軟件。隨機數的核心是不可預測性,因為依靠人為編程製作的軟件無法生成真正的隨機數,因此要加上一個“偽”字。

以上六種技術結合起來,共同構成了密碼學所需要達成的信息安全保護的目標,即機密性、完整性、認證和不可否認性。那麼,區塊鏈的不可篡改和加密技術究竟吸取了其中的哪些部分呢?我們以區塊鏈上第一個完整的應用,也是最具代表性的比特幣為例來進行說明。

比特幣最主要運用到了上述密碼學工具箱中的三項,即公鑰密碼、單向散列函數及數字簽名。為了實現交易的公開可驗證,比特幣上擁有眾多的開放賬戶地址,每一筆交易被記錄上鍊之前都需要進行有效性地檢驗,並且事後不得篡改。

基於公鑰密碼技術,用戶無須他人批准,就可以任意創建匿名比特幣賬戶。這裡公鑰即用戶的賬戶身份,在互聯網中心化的環境下,賬戶的申請需要獲得平臺的授權,密碼等信息資料也需要存放在平臺的服務器上。在比特幣系統中,賬戶可以任意生成,任何人均可查詢,但必須通過用戶本人的私鑰才可以解密相關的信息。

通過使用私鑰對比特幣交易進行數字簽名,只需幾分鐘,就可以發送比特幣給全球任何人。交易被簽名後,有比特幣礦工負責驗證交易的有效性,並更新相關比特幣賬戶的餘額。數字簽名的引入保證了用戶的交易不能夠被偽造,以此保障了個體在系統中的權利,也為比特幣大規模真實可信地傳遞交易信息提供了技術支撐。

比特幣使用的數字簽名方案叫做橢圓曲線數字簽名算法。這個算法經過了數年的細緻密碼分析,被普遍認為是安全的。在使用橢圓曲線生成交易數字簽名的時候,確保隨機性良好來源至關重要,這裡就會涉及到一些偽隨機數生成器技術的應用。

單向散列函數(常被音譯為哈希函數)有很多,SHA-256是一個主要被比特幣世界採用的,而且效果還很不錯的哈希函數。哈希函數被稱為密碼學中的瑞士軍刀,其被廣泛應用在比特幣的架構中。首先是信息的存儲,在比特幣中我們會遇到哈希指針,它指的是一個指向數據存儲位置及其位置數據的哈希值的指針。除此之外,哈希指針還可以明晰某個時間戳下該數據的哈希值。

通過哈希指針構建一個鏈表,我們將這個數據結構稱為區塊鏈。比特幣就是將信息打包進這樣一個個前後單向連接的區塊當中,其中每個區塊既有數據又有一個指向上一個區塊的哈希指針。這種情況下,每個區塊不僅能告訴我們上一個區塊的值在哪裡,還包含了該值的哈希值摘要,使得我們能夠驗證那個值沒有改變。

【原創】劫波研究系列之十七:不可篡改,加密與風險(6)


這種結構最大的好處就是防篡改,如果有人修改了區塊鏈中的任意部位的數據,那麼將會導致下一個區塊的哈希指針不正確。如果他希望繼續嘗試,並通過篡改下一個區塊的哈希值掩蓋這次篡改,他就需要一直沿著區塊改動下去。因而只要我們將鏈表頭部的哈希指針(也被為稱為創世區塊)存儲在無法改動的地方,就沒有人能夠做到在不被檢測到的前提下,篡改任何區塊。

通過公鑰密碼、哈希函數及數字簽名三種技術,比特幣呈現出了不可篡改和加密這兩大屬性:在涉及群體的不可篡改方面,基於哈希函數生成的哈希指針,確保了已經存儲入區塊的信息難以被篡改;在個體的加密方面,公鑰密碼實現了去中心化的身份認證,數字簽名則保證了用戶在交易中的權利義務與自己的承諾掛鉤。

除了上述核心技術之外,在開源和開放、激勵和協調預期兩大技術中,比特幣也通過應用密碼學給原本的網絡架構帶來了新鮮的設計。在第一個方面,整個比特幣系統是基於世界上廣泛使用的密碼技術以公開的方式設計的。密碼學有一個非常反常識的原則就是不要使用保密的密碼算法,這是因為使用一個公開數年的、經過無數破譯者嘗試仍無法破譯的算法顯然會更加安全。

我們知道,比特幣其實是在TCP/IP協議之上構建的。在繼承了互聯網開源和開放的代碼精神的基礎上,它進一步將一系列密碼學的技術引入其中。事實上,除了採用上面三項密碼學技術形成更加可信的、系統規則和用戶個人信息均得到更好保障的狀態之外,比特幣本身並沒有使用任何加密算法(此處加密和我們討論的個體加密不同,泛指密碼學的信息加密技術)。從這角度來說,密碼對於比特幣更多是一種權利保護的手段,而不會與網絡原本的開放精神背道而馳。

在另一個方面,讓我們來關注一下比特幣的激勵設計。我們在之前談到了通過將數據打包進區塊形成鏈表結構,這保證了數據一旦生成,後面想要篡改起來是非常困難的。但是在這個過程中,如何保證節點誠實的提供數據呢?比特幣採用了一個非常巧妙的設計,就是對哈希函數進行解謎運算。

在這一運算過程中,節點們通過爭相計算這個謎題獲得一次交易記賬的機會,並將該筆記錄寫入區塊。一個區塊是由若干條交易記錄構成的,其中創建區塊的節點可以在這個區塊中加入一筆特別的交易,這筆交易就是一個造幣的交易。由於向區塊鏈中添加區塊就好像從金礦中挖出比特幣一樣,因此被稱為挖礦,而從事挖礦的人則被稱作礦工。

這個過程實際就是在暴力破解哈希函數。當然,這種破解只是為了證明某個礦工確實投入了大量的計算資源來完成工作,而不是說真正要去攻擊哈希函數。通過這樣的獎勵機制,比特幣保證了大多數節點誠實地去記錄區塊的信息。

上述這兩個方面,嚴格來說並不僅僅是單純運用密碼學的技術,而是以密碼學技術為基礎做出的系統和制度層面的創新。比如各方競相破解哈希函數的設計,就是我們在之前的文章中談到的博弈論的情形。從這個地方開始,比特幣創設了之前的博弈論沒有遇到過的基於密碼學的,信息完全透明的環境。

比如將多種密碼技術置於擁有大規模數據樣本的區塊鏈系統後,將可能推動整個密碼學的研究和發展,進而促進密碼學和經濟、社會等學科的交叉和結合。也正是在這樣一系列類似的創新措施的幫助下,比特幣才得以呈現出欣欣向榮的生長力量,由此揭開了整個區塊鏈世界的序幕。


*文章為作者李凱龍原創獨立觀點。 未經授權, 禁止擅自轉載。

*李凱龍,數字機構劫波科技創始人兼CEO。

李先生就讀於清華大學經濟管理學院和法學院獲得碩士學位,擁有香港中文大學mba及北京外國語大學語言文學學士文憑,並被公派到歐洲多個國家留學。李先生曾供職中美頂級的一/二級市場投資及基金;曾於騰訊從事研究與投資工作,期間在騰訊研究院擔任首席研究員;曾出任中國五百強佳兆業金融控股總裁助理職務,負責戰略業務規劃及金融/科技/消費板塊的投融資和運營管理。李先生還是清華-伯克利深圳學院和香港中文大學博士及研究生課程講授學者,併為清華大學院系校友會之理事。

相關推薦

推薦中...