「區塊鏈通識課」:從《九陰真經》到區塊鏈的加密演算法 | 第12講 - 冷萃財經

「區塊鏈通識課」:從《九陰真經》到區塊鏈的加密演算法 | 第12講

文章摘要:你好,歡迎收聽由火星財經推出的《區塊鏈通識課50問》。和許多新事物一樣,區塊鏈技術是經過了長久的技術積澱,才通過比特幣來到了世人面前。在這些技術中,最為核心、同時也是歷史最悠久的,就是密碼學。

你好,歡迎收聽由火星財經推出的《區塊鏈通識課50問》。

和許多新事物一樣,區塊鏈技術是經過了長久的技術積澱,才通過比特幣來到了世人面前。在這些技術中,最為核心、同時也是歷史最悠久的,就是密碼學。

雙十一銷售額每年都刷新記錄,最近一次超過了2000億元。普通人每年要收幾十甚至上百個包裹。更不要說這幾年外賣的興起,給人們提供了就餐的方便。這些包裹經過物流公司和快遞員的手,最終到達了收貨地址。對於地址,不知道大家有沒有思考過其中的學問。所有的收件地址,都是按照一定規則來填寫的,一般是省市、區縣、街道、門牌號,再加上收件人的名字和聯繫電話,這一連串信息就能保證快遞員逐級將範圍縮小,然後將貨物準確送到我們手中。現在,國內的網購一般不用填寫郵編了,主要是我國的郵編指定的是一片地區,定位性不好。英國的郵編和我國有極大不同,英國的每個郵編都能準確定位每棟建築,它的規則是城市的字母縮寫、區號,最後加上街道的編號,有點像我國給汽車上牌照。

無論是填寫收穫地址的規則,還是郵編的規則,最終生成的都是一個具有唯一指向的地址。在比特幣中,每個賬戶也有一個唯一地址,因此也需要一套對應的規則。這個規則,在計算機領域被稱為哈希演算法,同時也被稱為散列演算法,哈希演算法的目的就是通過一套規則,生成一個具有固定長度的結果。這個結果被稱為哈希值。

就像從公司去機場可以開車、坐計程車、坐地鐵,對於一個生成哈希值的任務,也存在多種可行的哈希演算法。那麼應該選擇哪種哈希演算法呢?好的哈希演算法要具備如下三個特點:

- 必須能快速計算出結果,但是倒推困難;

- 只要原始內容發生一點變化,哈希值的變化就很大;

- 不同的原始內容很難得到相同的哈希值。

要滿足這三點要求,可用的哈希演算法其實就不多了。尤其是第一條,隨著計算能力的不斷提高,破解哈希演算法變得相對容易了,破解時間也縮短了。

比特幣在生成賬戶地址時,使用的哈希演算法是SHA256,SHA是安全哈希演算法的英文字母縮寫,是由美國國家安全局研發的。沒錯,就是在稜鏡門中斯諾登工作的部門。256是其在該系列演算法中的代號。

具備了這三個特點的哈希演算法,算出來的哈希值一定程度具備了原始內容的特徵性,因此也可以被稱為」指紋"。就像人的指紋可以用來解鎖手機一樣,哈希值也可以用來對原始內容進行識別。

但是這僅僅是針對一塊數據的哈希計算,對於比特幣這種超級區塊鏈,它的區塊總數馬上就要超過60萬了,對於如此大量的數據,如果直接對原始數據做哈希運算,再進行比較,會耗費很長時間。

在《紅樓夢》中,曹雪芹通過賈史王薛四大家族的故事,展現了人生百態。紅樓夢中出場人物近千,讀者很容易就被錯綜複雜的人物關係搞糊塗了,但是卻不難記住這四大家族的姓氏是賈史王薛。因為在大家庭中長大,除了有父母,還有許多親戚,賈寶玉和賈璉是堂兄弟,賈寶玉和薛蟠是表兄弟,所有的親人關係構成了一個大族譜。假如在一個家族中,每一對夫妻只生一個孩子,再將這張族譜倒過來,也就是將子女放在上邊,父母放在下邊,所得到的金字塔,就具有了默克爾樹的形狀。

就像在族譜中的距離可以表示血緣關係的遠近。默克爾樹最大的優點是可以大大減少數據的傳輸量以及計算的複雜程度:只要有一個區塊的內容發生了變化,最頂部的哈希值就會發生變化,就可以判斷兩棵默克爾樹是不同的,從而這兩棵樹所對應的數據也是不同的。使用默克爾樹,可以快速對數據做完整性驗證,比特幣在支付過程中就使用了默克爾樹的原理。

作為一種複雜技術,區塊鏈為了防止從賬戶地址倒推原始內容,除了要使用哈希演算法,還要使用加密手段。

在小說《射鵰英雄傳》中,九陰真經就是被加過密的,加密的方法是先將梵語翻譯成漢語,再用漢語將讀音標註出來。因此只有懂得這兩種語言的人才能破解經文。雖然經過華山論劍一番爭鬥,全真派得到了九陰真經,但是沒人能破解。最後是郭靖將古怪繞口的經文強行背了下來,機緣巧合之下,通過一燈大師破解的。

給九陰真經加密的方法,在密碼學中被稱為加密演算法。僅僅有加密演算法,對原文的保護力度還不夠。如果使用特定的工具才能操作加密演算法,就像必須用鑰匙才能打開鎖一樣,加密的等級又可以得到提高。類似的,密碼學中使用的」工具」就是秘鑰。在鑰匙和鎖的例子中,上鎖和開鎖使用的鑰匙相同,這就是典型的對稱加密。除此之外,旅行箱上使用的一種鎖叫做海關鎖,我們可以使用自己的鑰匙鎖上箱子,海關人員卻可以利用海關鑰匙打開和鎖上所有人的旅行箱。自己的鑰匙在密碼學中稱為私鑰,海關人員的鑰匙被稱為公鑰,開箱和鎖箱的過程稱為非對稱加密。比特幣密碼學中的私鑰和公鑰要遠比這個例子複雜,最重要的區別是公鑰是通過私鑰生成的。

今年夏天,我國將推出新版人民幣,新幣將使用最新的防偽技術。因為貨幣涉及到國家經濟的方方面面,所以採用新防偽技術是非常重要的。對於普通人而言,因為筆跡是比較難於模仿的,所以常常會通過簽名簽署各樣的文件。經過簽名的文件,就具備了簽名人的身份認證。

正如海關鎖的例子,私鑰和公鑰都可以對消息進行加密,也可以彼此解密。也就是說,一對私鑰和公鑰,用私鑰加密之後可以用公鑰解密,公鑰加密之後也可以用私鑰解密。

按照字面意思也很好理解,私鑰既然叫做私鑰,肯定就是只能讓自己一個人知道,而公鑰是可以告訴別人的。

此時,假如我們想要對一段消息加密,如果是用私鑰加密的,那麼理論上所有拿到和私鑰對應的公鑰的人,都可以將消息解密。所以用私鑰進行加密,是沒有實際意義的。要對消息進行加密,就一定要使用公鑰進行加密,當加密內容傳到了正確的人手中,自然就可以用私鑰解密了。

那麼,私鑰加密的意義是什麼呢?因為私鑰是只有真正的主人才知道的,假如我用自己的私鑰對一個文件進行了加密,只要有人能用公鑰將這個文件解密成功,他就能判斷,對文件加密的人一定是我。這種情況下,用來加密的私鑰就可以作為簽名來使用,可以用來判斷某個用戶的身份。就像家裡的大門鑰匙,家庭成員每人都有一把,只要能用鑰匙將門打開(當然不包括特工使用的特殊鑰匙),肯定就是一家人。

講到現在,我們已經知道了區塊是什麼,區塊鏈是什麼,也知道了區塊鏈的是如何通過加密提高安全性的。是什麼東西將它們串起來的呢,我們下一講再見。

冷萃財經原創,作者:Awing,轉載請註明出處:https://www.lccjd.top/2019/11/04/%e3%80%8c%e5%8c%ba%e5%9d%97%e9%93%be%e9%80%9a%e8%af%86%e8%af%be%e3%80%8d%ef%bc%9a%e4%bb%8e%e3%80%8a%e4%b9%9d%e9%98%b4%e7%9c%9f%e7%bb%8f%e3%80%8b%e5%88%b0%e5%8c%ba%e5%9d%97%e9%93%be%e7%9a%84%e5%8a%a0/?variant=zh-tw

0

掃一掃,分享到微信

猜你喜歡

文章評論

電子郵件地址不會被公開。 必填項已用*標註

後發表評論

    上一篇

    區塊鏈招聘現狀:平均薪酬16317元,深圳領跑人才需求

    下一篇

    ACM:洞見閃電網路未來世界 | CITEX礦幣研究院出品

    微信公眾號

    微信公眾號