當前位置:
首頁 > 最新 > 區塊鏈入門教程-區塊鏈是什麼?

區塊鏈入門教程-區塊鏈是什麼?

小米創始人雷布斯有句著名的話「站在風口上,豬都能飛起來」,互聯網科技圈每年都有一些「風口」:

2014年火了自媒體平台和O2O

2015年VR(虛擬現實)和共享經濟(優步、滴滴)大熱

2016年迎來短視頻和共享單車資本狂潮

2017年AI(人工智慧)被納入國家戰略規劃

從17年開始到現在,「幣圈」和區塊鏈頻繁的出現在各種社交平台和新聞媒體上,尤其是「炒幣」吸引了大批的大媽跑步進場投機。

作為比特幣底層技術的區塊鏈,現如今堪稱投資圈、IT圈、科技圈的「當紅炸子雞」,不少大佬宣稱區塊鏈技術將如同互聯網一樣:

顛覆現有世界的秩序,創造奇蹟。

不少人在聽了大佬的雞湯後,蠢蠢欲動想要一探究竟。

區塊鏈畢竟是一項比較底層的技術,在網上百度出來的關於區塊鏈的介紹,滿篇都是什麼代碼、演算法,一看就頭皮發麻;

市面上有很多自媒體以及網文介紹區塊鏈,但大部分說的都較為晦澀難懂或只見樹木,不見森林。

大而化之地講區塊鏈的意義在哪裡的空泛文章,要不然就是一水的礦工和挖礦,像盲人摸象。

無法讓人形成有效的系統認識,於是我就想來簡單通俗的介紹一下區塊鏈,它究竟是什麼?它又有什麼特別之處?

我的理解

說到區塊鏈,就不得不提比特幣。

首先,要說明一個問題,比特幣天生是區塊鏈的產物,但區塊鏈不是比特幣。

很多人一提到區塊鏈,就扯什麼礦工、挖礦、ICO等,這是認知是上的誤區。

區塊鏈到目前為止,由於它誕生的時間較晚、發展速度太快,業界還沒有一個明確的定義。

我們只能從使用的技術上和應用進行判別,我的理解大致如下:

區塊鏈是一個對新增區塊數據必須達成全網共識,而且一旦寫入就無法篡改的分散式去中心化鏈狀資料庫系統。

符合以上特點的系統就是區塊鏈。

區塊鏈的特點

首先,它必須是一個分散式的去中心化的資料庫系統

去中心化和分散式,是說它沒有一個可控的中心伺服器,不像銀行系統,任何人的數據記錄變動都由銀行自己進行控制。

因為銀行提供信任擔保中介,你信任的是銀行。

在某些情況下,一旦具有惡意的人侵入了中心化系統,就可以改變資料庫的記錄,如果沒有什麼備份保護措施,你就無法查出這筆數據是經過惡意篡改的。

但在去中心化的系統中,每一個終端節點皆是一個記賬節點,你可以記賬,我也可以,只要大家認可;

即使你修改了本地的數據記錄,也無法修改其他網路節點的數據,因為這種篡改大家都不認可。

每個終端節點都存有全網的數據,任何一個節點的數據發生了新增,都會向全網廣播,整個網路其他節點都會同步記錄這次數據新增,從而達到全網節點數據的一致性。

正因為它的去中心化,所以沒有什麼人能控制整個資料庫,除非極端情況下,某些組織能強大到控制全網的終端節點數據寫入,但這種情況是根本不可能出現的,這個世界上沒有誰能有如此巨大的算力。

顯而易見,這種系統的缺點就是會佔用大量的數據空間,在IT人士眼裡,數據冗餘性太大了,簡直就是極大的浪費。

其次,區塊鏈使用密碼學技術保證已有數據無法被篡改

記住,是已有數據無法被篡改,一旦寫入,不可反悔

就是上帝也不能修改。

實現這個技術,要基於密碼學的哈希運算和非對稱加密。

哈希運算是很神奇的一道門,任何數據不管數據量大小,經過哈希運算之後,都會得到一個固定長度為256bit的字元串,而且這個字元串還有全宇宙唯一的特點。

也就是說,在這個世界上,任何人都無法找出哈希值相同但內容不同的數據。哪怕數據內容你只是修改了一丁點,修改前後得出的哈希值那是相差十萬八千里,所以這個技術一般用於信息真偽的驗證。

你傳輸一段數據給別人,在這個數據之後附上這段數據的哈希值,接收方根據收到的數據計算一下哈希值,跟之前的哈希值一比較,如果不一致,則說明這段數據被人修改過。

還有一點,哈希函數是不可逆的,

也就是說從一段數據,你可以算出它的哈希值,但是給你一個哈希值,你無法反推算出原來的數據內容,即使調用全世界的計算機來反推算也不行

它沒有任何規律可言,我們只能用窮舉法去存貯世界上所有信息的哈希值來反推,但這個工作量大到上帝也一籌莫展。

非對稱加密技術,這個很好理解,既然有非對稱加密技術,那肯定有對稱加密。如果加密和解密的密鑰是同一個,這種加解密技術就是對稱加密。而非對稱加密,用於加密的秘鑰和用於解密的密鑰是不同的。

每個人都可以有一個屬於你的其他人都知道的公共密鑰,稱為公鑰,與公鑰相對應的就是私鑰,它也是你的,但是其他人不知道。

這兩個密鑰是一一對應的,你用公鑰加密的數據,只有用你的私鑰能解密,反之,使用你的私鑰加密的數據,也只有你的公鑰能解密。

這種非對稱加密技術除了用於加解密之外,還用於身份驗證,也就是數字簽名。

在發送消息之前,對這段消息進行哈希運算,生成一個摘要,然後使用私鑰加密這段摘要。收信人收到信之後,使用你的公鑰解密得到消息的摘要,然後對消息進行哈希運算算出摘要,如果算出的摘要和使用公鑰解密得到的摘要相同,那說明這段信息就是你發送的,沒有被修改過;反之,就說明你的信息在傳輸過程中被人動了手腳,因為哪怕到1bit的修改,都會導致哈希運算出來的摘要結果差異巨大。

那麼這個技術在區塊鏈上是怎麼運用的呢?

區塊鏈(Block Chain)是由一個個的區塊首尾相連形成的一個鏈狀資料庫,每個區塊分為區塊頭和區塊體。

區塊頭中記錄了該區塊鏈接的上一個區塊的哈希值,通過這個值,每個區塊都能找到它的上一個區塊,於是各個區塊就像鏈條一樣鏈起來了。

這裡要說明一下,第一個區塊,也稱之為創世區塊,它沒有鏈接到任何區塊,存什麼都行。

區塊體重主要記錄了全網發生的交易信息,每一筆交易都由交易的發起人通過數字簽名保證交易的真實與合法性,區塊的數據一旦發生變化,哪怕是1bit,都會引起整個區塊哈希值的變化,這個區塊的下一個區塊就無法鏈接到它了,因此,區塊鏈里的數據就變成不可修改的了。

最後,區塊鏈使用共識演算法達成新區塊的添加

共識演算法的目的,就是為了讓所有的節點對新增的區塊都達成共識,也就是說,所有人都必須認可這個新增的區塊,那麼這個區塊的數據才能加入進來。

在中心化系統中,就不用這麼干,因為大家都聽中心的,中心說怎麼做就怎麼做。但在區塊鏈中,由於無法保證每個節點都是沒有惡意的,因此這個問題就非常複雜了,必須在全網通過共識演算法達成一致時,當前節點才能向區塊鏈中加入新的區塊。

共識演算法類比我們生活中的例子,譬如開車,首先你得證明你是一名合格的駕駛員,你才有資格去開車。怎麼證明你是合格的駕駛員呢?通過駕駛證啊,取得了駕駛證,就說明你曾經去駕校學了駕駛課程最終通過了法定的駕駛執照考試,就可以給你頒發駕駛證。

在區塊鏈中,往往採用POW(Proof of Work工作量證明機制)或POS(Proof of Stake股權證明機制)或DPOS(Delegated Proof of Stake委託代理股份證明機制)來達成對新增的區塊達成共識。

POW這種演算法說的簡單點,誰提供的區塊哈希值越符合系統的需要,誰取得記賬權的概率就越大。因為哈希值運算本身是一個概率事件,誰的算力越大,找到符合條件的哈希值的概率就越大。當某個節點提供出一個合理的區塊哈希值,說明該節點確實經過了大量的嘗試計算,當節點擁有佔全網n%的算力時,該節點即有n/100的概率找到哈希值。找到了哈希值,就獲取了新增區塊的權力。

而POS機制,則是比較每個節點誰持有的數字貨幣越多,則誰取得記賬權的概率越大。

DPOS機制則類似於人民代表大會制度,它的原理是讓每一個持有幣的節點進行投票,選出一批代表作為超級節點,這些節點一般為礦池,他們的權利是完全對等的,並不因為算力的差異形成差別。。如果代表不能履行他們的職責(當輪到他們時,沒能生成區塊),他們會被除名,網路會選出新的超級節點來取代他們。

總結

以上簡單介紹了區塊鏈的幾個特點和原理,區塊鏈也不是什麼特別難的東西,核心的概念很簡單,幾句話就能說清楚。

讀完此文,你應該就會明白「什麼系統是區塊鏈」。

需要說明的是,我並非這方面的專家。雖然很早就關注,但是仔細地了解區塊鏈,還是從去年開始,文中的錯誤和不準確的地方,歡迎大家指正。

感謝諸位在我成長過程中的相伴,成為我的讀者,我會持續分享更多有「價值」的東西給大家,因為我相信真誠、有「價值」的分享會帶來信任,會帶給你成長,希望我能持續的給你帶來驚喜。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 快刀亂麻 的精彩文章:

TAG:快刀亂麻 |