3.4 應用場景

xiaohuanglv發表於2018-08-25

密碼演算法在區塊鏈系統中的重要性,相當於整個體系的骨骼,如果沒有骨骼會怎樣?毫無疑問,整個大廈將會坍塌,我們來舉一些例子,看看都起哪些作用。

(1)賬戶地址生成

這個其實就是對公開金鑰演算法的巧妙使用,首先生成一對金鑰,即私鑰和公鑰,由於公鑰是可以公開的,因此可以作為自己對外的一個賬號,而又由於公鑰必須和對應的私鑰匹配才能驗證通過,因此這種方式生成的地址,先天就具備可驗證性。

(2)價值轉移保衛

我們不展開對價值轉移本身經濟意義的論述,就說實現方式,這又是公開金鑰演算法的一個用武之地了。無論是比特幣、以 太坊、超級賬本Fabric還是其他區塊鏈系統,要想在一個分散式的公網上傳送一筆代表價值的資料(比如數字貨幣、證券、資產所有權等),必須解決掉兩個 基本的問題:

1)證明這筆資料確實是發出者的,不是篡改或者偽裝的;

2)確保只有接收者才能解碼這筆攜帶價值的資料。

毫無疑問,這兩點要求,可以通過公開金鑰演算法完美地解決,傳送者使用自己的私鑰進行簽名,相當於蓋上了自己的公 章,接收者可以使用傳送者公開的那個公鑰進行身份驗證以確保無誤。傳送者不但使用了自己的私鑰簽名,還使用了接收者的公鑰進行了一段關鍵的加密,只有接收 者使用自己的私鑰才能解密這個公鑰,因此就能保證不被別人截獲,或者說即使被截獲了也沒關係,因為別人沒有對應的私鑰來解碼。

(3)完整性證明

這個領域就是我們雜湊演算法的戰場,我們在上述內容中也有介紹,在節點同步區塊資料時,通過構建的交易雜湊樹來驗證資料是否一致。

(4)零知識證明

要想證明自己擁有某筆資產或者擁有某個能力,或者更直接地說,要想證明自己具備對區塊鏈上某一筆交易的所有權,應 該怎麼辦?通常的思路自然是提交自己的密碼,看能不能解鎖匹配,可是這樣的話,密碼就洩露了,不但密碼會洩露,交易內容也可能就此公開了,隱私全沒了,那 該怎麼辦?毫無疑問,在這個場合,密碼演算法起到了非常大的作用,只要解碼一段與交易內容相關但是又不洩露真正交易內容的編碼,能夠解碼成功就能證明所有權 了。

密碼演算法在區塊鏈中的應用是非常重要的,以上只是列舉了一些常見的應用點,在實際應用中,還有很多地方是有非常巧 妙的應用的,老實說,直到現在,筆者也仍然驚歎於比特幣一開始通過公鑰生成錢包地址的做法,雖然現在看起來已經沒什麼大不了的了,然而換做當年,捫心自 問,本人還真很難設計出如此絕妙的主意,傳統的技術,加上創新的用法,可以產生非常大的威力。


來源:我是碼農,轉載請保留出處和連結!

本文連結:http://www.54manong.com/?id=101

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();

相關文章