1. 程式人生 > >迅雷鏈張驍:區塊鏈是信任基石,密碼學是區塊鏈基石

迅雷鏈張驍:區塊鏈是信任基石,密碼學是區塊鏈基石

簽名 com 得到 http 自由 是否 分布 安全保護 afa

在12月22日舉行的迅雷鏈技術沙龍成都站上,迅雷鏈底層研發工程師張驍就區塊鏈安全問題和密碼學的關系做了主題分享,受到了現場開發者的踴躍提問。大家普遍對密碼學及信任體系的架構表現出了濃厚的興趣。張驍表示,區塊鏈之所以能夠解決人與人之間的信任問題,是因為它的不可篡改性,而這種特性本質上又是基於密碼學算法來實現的。因此密碼學在區塊鏈中的地位很關鍵,區塊鏈是信任的基石,密碼學則是區塊鏈的基石。

技術分享圖片

密碼學核心技術特點

張驍首先解釋從密碼學的角度分析“安全”的含義,他將其總結為三個方面。

1.機密性。信息數據在傳輸的時候,會進行加密處理。如果信息被未獲授權或者不擁有相應密鑰的人拿到時,也無法讀取信息的原文,這就是信息的加密性。

2.完整性。即所傳輸的信息要保證是完整狀態,不能夠在中間被惡意篡改或者增添、刪除一些信息。比如一張欠條,其中的金額數字、歸還日期以及欠款人等關鍵信息,不能夠被塗改,否則就被認為是完整性遭到破壞,直接作廢,這就是最常見的一種對信息完整性的要求。

3.可用性。指相應的密碼學的信息,在任何一個時間下都應該可以被外界所用。如前文所述的欠條,它應該保證在任何時候都能被拿出來、被展示出來,而不應該遺失、損毀。這就是信息安全中的可用性,也是信息安全保護的重要範疇。

不可篡改是密碼學的本質

技術分享圖片
張驍表示,區塊鏈的特點是因其能夠保證不可篡改,本質上能夠在原本互相不信任的人群或者不信任的機構之間,通過密碼學的算法來傳遞一種信任。

不可篡改的特性是通過3方面來實現的,分別是數字簽名、時間戳和集體維護。

數字簽名表達的是對信息的確權,保證了信息的完整性以及發送方的授權關系,發送方確認信息是由他發送,接收方確認消息來自相應的發送方,並且沒有被篡改過,也沒有被惡意***過。

時間戳是在區塊鏈的縱向保證數據的完整性,借助Hash鏈式的關系來保證前後的信息沒有被篡改過。

集體維護保證數據可用性,區塊鏈是基於分布式系統,特點就是能夠更有效的提供對外服務,中心化系統一旦宕機就無法運行,但分布式系統即便部分節點失效,其它節點一樣可以繼續提供服務。

區塊鏈中用到哪些密碼學技術?

在區塊鏈中使用的密碼學算法主要是Hash算法,它是指對一個任意長度的輸入,經過此算法映射成有固定長度、且有一定隨機性輸出的方法。

它的安全性基於以下這三個基本的性質。

1.單向性,單向性是指通過一個輸入X,通過哈希算法可以很容易地得到輸出結果Y,但是如果只擁有Y,則無法通過此算法找到原文X。

2.弱抗碰撞性,當X通過算法得出結果Y時,如果能找到一個不等於X的數據X’它的輸出結果和X的結果同樣都等於Y,這就叫數據的抗弱碰撞性。弱抗碰撞性就是指很難找到這樣的本身不同、但輸出結果相同的數據。

3.強抗碰撞性,指通過任何手段都無法有效的找到一對不相等的數據X和X’,使其滿足兩個數據的哈希輸出結果都等於一個相同的值Y時,這樣的哈希算法就滿足強抗碰撞性。

區塊鏈中還利用到了基於Hash算法的默克爾樹,它主要是保證一定數量的數據的完整性不被攻破,可以輕易地驗證出數據有沒有被篡改過。

數字簽名本身也可以視為一種密碼學算法的應用,它是公鑰密碼學以及Hash算法的結合。消息發送方先將待簽名的原文通過哈希算法映射成一段哈希值,然後對這段哈希值使用簽名者的私鑰進行簽名,最後把簽名和原文發送給相應接收者。接收者通過簽名驗證算法使用發送者的公鑰解出簽名消息的哈希值,然後對比原文的哈希值看是否匹配,如果匹配,則簽名有效,反之則可認為簽名是偽造。

迅雷鏈中如何與密碼學的算法相結合?
技術分享圖片

首先是要通過高性能,確保能夠高效地實現這些密碼學算法。

其次不同的開發者用戶對算法有不同的要求,為滿足這些需求,迅雷鏈將密碼學算法進行了抽象處理,方便用戶在實際使用中,根據配置方式自由選擇需要使用的算法,由此可以幫助開發者和企業,把迅雷鏈應用到更多的場景中。

張驍最後還展望了密碼學的發展前景,他指出同態密碼、零知識證明和量子密碼都是未來可能的重要發展方向,不過相關技術目前還處於非常早期的階段,離投入實際商用還有較遠距離。但他相信,未來區塊鏈的發展與密碼學在安全領域上的提升是密不可分的,所以迅雷鏈也會緊密地去關註密碼學未來的發展。

迅雷鏈張驍:區塊鏈是信任基石,密碼學是區塊鏈基石