白話加密貨幣之加密技術與哈希算法

作為銀行從業人員,對區塊鏈在金融領域的巨大發展潛力有強烈的信心和期待。在一切還處于朦朧中時能夠領先一步深入學習了解,就能夠在未來獲得更多的機會。

一旦和錢扯上關系,安全性一定是每一個使用者關心的首要問題。在傳統互聯網金融的框架下,資產盜用問題已經讓很多人產生心理陰影,信用卡盜刷、支付寶盜用等屢見不鮮,而區塊鏈又是一個對大多數普通人而言不那么熟悉的新技術,大家不禁會問它到底安不安全呢。

有沒有發現我們常常會聽到「加密貨幣」(Cryptocurrency)這個詞,它是區塊鏈世界中諸如比特幣、以太坊等虛擬幣的另一種稱呼,字面上好像就在告訴我們,這種貨幣很安全,被加密了嘛。也常常看到這樣的說法,區塊鏈是去中心化的——分布式記賬,不可被篡改的——因為它是分布式去中心化的,但我還是想問,它到底是怎樣加密并實現這些特性的呢?

經過最近一段時間的學習了解,以下兩個方面讓我對加密貨幣有了更立體的認知。

加密技術

簡單來說加密技術主要有兩個發展階段,第一階段是對稱加密,第二階段是非對稱加密。

對稱加密的意思即傳輸信息的雙方掌握同一套算法,舉一個最簡單的例子,比如A要發出一段數字信息「1234」給B,通過將每位數字都+1來進行加密,所以B收到的數字是「2345」,他只要進行逆向運算解密,將每位數字減1即可獲取原始信息,但這種加密方法比較簡單,任意一方被攻破就必須更換整套算法來維持系統安全性。

第二階段的非對稱加密技術相對對稱加密技術就要安全得多,在信息發送雙方之間不再使用同一套算法,同樣舉一個簡化的例子就能秒懂:在數學中有這樣一個規律:「10001」乘以任意一個數字之后其末四位數不變。我們可以利用這條規律來對數字信息進行加密,比如A還是要傳輸一個數字「1234」給B,它先在「1234」的基礎上乘以「137」,得出「169058」,去掉前兩位,實際傳輸給B的數字是「9058」,B在收到「9058」這條信息后會怎么做呢?你一定會覺得很神奇,B用「9058」乘以「73」,得出「661234」,然后即可知道A要傳給他的信息就是末四位「1234」!為什么會這樣?因為「10001」這個數字可以拆解成兩個因子「137」和「73」,「137」乘以「73」即「10001」,也就是說A與B的手里各執一把鑰匙,放在一起就撬動了這個鎖,獲得想要傳輸的原始數據。那為什么要去掉前兩位,只傳輸「9058」呢?因為此時無論73乘以「9058」、「169058」還是「XX9058」,后四位不會改變,效果是一樣的,但通過傳輸殘缺的數據卻可以大大增加數據的安全性,何樂而不為呢。

這只是一個最簡化的例子用于理解非對稱加密的概念,實際應用中可以發展出比這個復雜得多的加密算法,加密貨幣目前使用的是RSA加密系統,確保虛擬貨幣數據傳輸過程的安全性。

哈希算法

這是另外一個對加密貨幣的安全性起到至關重要作用的概念。簡單來說,任意一個數據可以通過哈希算法計算出一個唯一的哈希值。在區塊鏈中每一個區塊包含一個表頭,表頭中包含一個哈希值,這個哈希值唯一對應上一個父區塊的數據內容。結構如圖所示:

區塊鏈表

而這個唯一性從何而來呢?哈希算法有一個非常重要的特性叫做「防碰撞性」,即兩個不同的輸入值,其哈希值必然不同,也就是說你可能找一輩子也找不出兩個不同的輸入值(沒有任何限定的數據),能夠得到一個相同的哈希值,由此我們稱這種算法具有防碰撞性。如比特幣用的是「SHA256」哈希算法,將區塊中的數據內容作為輸入值,計算生成一個固定256位長度的哈希值,存儲在下一個區塊的表頭中,只要數據有任何改動,哈希值就會發生變化,這就是哈希值可以唯一指向上一個區塊內容的根本原因。它最重要的作用就是可以防止篡改,因為黑客一旦篡改了某一個區塊中的數據,必然造成其后面區塊表頭的哈希值與上一個區塊被修改后的數據內容不匹配,所以如果想要篡改這一個區塊的數據必須篡改其后的所有區塊上的數據,這必須擁有全網51%的算力才可能做到,而這幾乎不可能實現,無論從技術上還是財力上,因此保證了加密貨幣在底層區塊鏈上數據的不可篡改性。

通過以上兩個方面的學習終于讓我對加密貨幣增加了更多安全感,同時深知自己學習的時間和深度還遠遠不夠,可能敘述中會有失偏頗或有理解不正確的地方,望得到拍磚指正,共同學習進步。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 所有貨幣都需要一些方法來控制供應,并強制執行各種安全屬性以防止作弊。在法定貨幣方面,像中央銀行這樣的組織控制貨幣供...
    Nutbox_Lab閱讀 3,152評論 1 3
  • 區塊鏈系統的核心之二-加密技術 加密技術主要是用來解決區塊鏈系統記錄的數據的所有權問題。 1哈希算法 1)...
    yrm23閱讀 1,656評論 0 4
  • 前言 “加密貨幣”這個名字,伴隨著在2017年持續了半年多的ICO風潮而被越來越多的人所知曉;但因為其有很高的技術...
    風靜縠紋平閱讀 3,138評論 2 11
  • 比特幣只是一個更廣泛的生態系統的一個組成部分(雖然是重要的一個),通常與之非常相似的貨幣稱為代幣。在本章中,我們將...
    Nutbox_Lab閱讀 2,365評論 0 7
  • 一個古老的測驗——好書的標準 如果你被警告。在一個荒島上度過余生,或者是很長的一段時間,而假設你有時間做一些準備,...
    RainbowKang閱讀 179評論 0 0