區塊鏈初學者指南——五歲孩子都能理解
如今,從理髮師到在股市工作的朋友,人人都在談論比特幣。別擔心,這篇文章不是那種討論如何從比特幣中賺錢的文章,我將努力幫助你理解比特幣的基層技術,以及區塊鏈在未來幾十年裡如何發揮作用。
歷史回顧
2008年10月31日,一個名為Satoshi Nakamoto的匿名人士(或組織)發表了一份白皮書,介紹了一種不涉及任何金融中介機構、直接從傳送方到接收方匯款的新方法。
文中給這個概念起了個名字——比特幣。由於比特幣使用了密碼學的一些基本概念,這種新的貨幣交換方式被歸類為加密貨幣。比特幣的唯一用途是用於金融交易,但研究人員意識到,可以利用它的基礎技術構建其他安全可靠的應用程式,從而徹底改變當前系統的工作方式。
“區塊鏈”就是這個基礎技術的名字。你覺得有很多專業詞彙?沒關係,讓我們來簡化一下!
什麼是區塊鏈?——類比真實世界
想象你住在一個城市,這個城市有一個可以同時停放200輛車的大停車位(假設只有一層)。這個停車位有一個大門,大門是鎖著的,只有當有車輛進出時才會開啟。現在讓我們從不同的角度來分析這個單層的停車場建築:
-
價格 :由於一些私人企業建造了這個專用停車位,所有的維護費用將由業主公司承擔,所以出租一個停車位將會有很高的租金。
-
安全 :如果小偷進入大門,他們可以很容易地進入你的車(取走車輪燃料,或損壞剎車等任何東西!)
-
限制 :如果你所在城市的汽車數量從200輛增加到300輛會怎樣?停車位將沒有足夠的空間容納所有的汽車,一些其他的私人機構將不得不建造一個新的停車位。
-
信任 :你信任停車位公司,他們有責任確保車子的安全性和可靠性。
-
集中式 :因為所有的車都在一棟樓裡,我們可以把它當成一個集中式停車場。
現在,讓我們修改當前的場景。想象一下,你的城市裡有200個住戶,所有人都有兩個車庫。簡單來說,我們假設每個住戶只有一輛車(所有的車都填滿了上面描述的大停車位)。所以,每戶都有一個空車庫。現在,假設這個城市的人們決定把多餘的車庫出租給任何需要停車的人。這種提供停車位的模式將解決200輛或更多汽車停車問題,而不需要為整個城市建造任何更大的中央停車位。與前面的場景類似,我們來分析一下這個場景:
-
價格 :由於第二個車庫不是專門出租的,而且維修費用也比較低,所以相對於中央大停車位來說,多出的空間租金也比較低。
-
安全性 :每輛車都鎖在不同的車庫裡,因此小偷必須開啟所有車庫裡的門才能進入汽車,從而提供更多的安全性。(區塊鏈中的安全性略有不同,但是為了簡單起見,我們現在就這樣考慮吧!)
-
限制 :隨著房屋數量的增長,假設每個新房子都有額外的車庫空間,那麼容納更多汽車的空間將持續增加,從而也增加了承租人和出租人間的聯絡網。
-
信任缺失 :由於沒有中央機構控制這些分散的停車位,我們假設所有的車庫業主在出租他們的車位時會制定一定的規則。
-
去中心化 :如前所述,這些停車位分佈在整個城市,我們可以認為它是一個去中心化的停車場。
上面的類比為理解區塊鏈的實際技術基礎架構提供了基礎。
停車模式到技術模式
這個停車模型用現實世界語言展示了區塊鏈的基本概況。現在,讓我們嘗試將停車示例的元件與實際的技術模型匹配起來:
這個大型中央停車場是一個像AWS、Google Cloud等的集中系統(這些雲平臺也在一定程度上是分散式,但為了簡單起見,我們將它們假設為一個單一的實體)。
汽車是資料和應用。
分散式停車場是一個分散的系統——區塊鏈。
等等!我們似乎錯過了一些東西。
不是所有的分散系統都是區塊鏈!!是的,區塊鏈是一種特殊型別的分散系統,具有獨特的特性。哪種特性?我們來討論一下。
“塊”組成了區塊鏈
讓我們重新審視一下我們的分散式停車示例,並做一些小小的更改。我們假設一個特定車庫的鎖是當一輛車停在裡面的時候產生的(假設同一輛車每天去同一個停車場)。另外,假設所有的分散式車庫已經按順序編號。50號車庫的鎖鑰匙對是基於49號車庫的鎖鑰匙對,也是基於50號車庫內停放的汽車的特徵(如顏色、重量、發動機編號等),這個過程從1號車庫開始,一直持續到200號車庫甚至更多。
每個車庫的鎖鑰匙對取決於車庫內汽車的功能和前一個車庫的鎖鑰匙對。
因此,如果一個小偷試圖進入49號車庫並修改車子的特徵時,說出它的顏色或註冊號,停在49號車庫的車的特點將會改變,這也意味著一個新的49號車庫的鎖鑰匙對將會生成。因為50號車庫的鎖鑰匙對取決於49號車庫的鎖鑰匙對,50號車庫的鎖鑰匙對也將改變,其他的車庫也一樣。
現在,讓我們做一個最後的假設。假設計算一個鎖鑰匙對需要大量的計算資源,這意味著如果任何一個小偷修改了任何汽車的任何特徵,我們必須重新計算這些對,這將是幾乎不可能的。
如果一個鎖鑰匙對改變了,會發生什麼?
希望你還記得我們說過的所有的車庫主人都要遵守一些規則?
這些規則之一就是檢查一個有效的車庫。如果你可以驗證一個車庫的鎖鑰匙對,那麼這個車庫就是有效的。如果任何一個鎖鑰匙對被更改,那麼之後的所有車庫的鎖鑰匙對都是無效的,因為每一個鎖鑰匙對都依賴於前一對。(與生成鎖鑰匙對相比,驗證特定車庫的鎖鑰匙對的過程非常快)。
這種一個對取決於前一個對的形式組成了一個車庫鏈,在技術世界中,這些車庫是“塊”,因此得名區塊鏈(一串積木鏈)。
區塊鏈中的塊透過hashes連線到下一個塊,就像我們的示例中的鎖鑰匙對一樣。與車庫示例類似,如果修改了一個塊中的hashes,那麼需要重新計算下面所有塊的hashes,因為計算hashes是一個非常耗費資源的操作,所以實際上不可能做到這一點,因此網路會排除無效的塊。hash的計算過程被稱為挖掘,我們將在本系列的下篇中詳細討論它。
如何從修改中恢復塊?
在區塊鏈網路上的所有計算機,都會保留一個完整的區塊鏈副本,因此,如果一個特定計算機或多臺計算機上的一個塊或一個完整的鏈被修改,整個網路會試圖與自己的完整副本鏈進行比較。
如果網路上的大多數節點(或計算機)發現修改後的鏈是無效的,則將修改後的鏈替換為來自其他節點的有效鏈,這使得區塊鏈中51%的節點可能受攻擊。簡單地說,如果網路上超過50%的節點是惡意的(或者有一個修改過的鏈),那麼整個網路都可能受到攻擊。
結論
唷!!有很多資訊需要消化。這是完整的初學者指南的第一部分,提供了基本的區塊鏈基礎。我希望這篇文章能為你和你的朋友討論區塊鏈時提供幫助。請檢視本系列的下一篇,其中我們將討論Ethereum、智慧契約和挖掘。
原文連結:
以上資訊來源於網路,由“京東雲開發者社群”公眾號編輯整理,不代表京東雲立場。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2670008/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【區塊鏈學習】《區塊鏈學習指南》學習筆記區塊鏈筆記
- 區塊鏈初識區塊鏈
- 1.3 初識區塊鏈:區塊鏈分類區塊鏈
- Qtum區塊鏈指南QT區塊鏈
- 初識區塊鏈 - 用JS構建你自己的區塊鏈區塊鏈JS
- Kotlin初學者指南Kotlin
- Nginx初學者指南Nginx
- Groovy初學者指南
- 菜鳥理解的區塊鏈區塊鏈
- 【譯】GraphQL 初學者指南
- OAuth 2.0初學者指南OAuth
- Apache Hudi初學者指南Apache
- 初學者都能學會的ElasticSearch入門實戰Elasticsearch
- 區塊鏈學習區塊鏈
- 給開發者的區塊鏈技術指南 | JTalk 掘金線下活動第五期區塊鏈
- 從Java到區塊鏈:如何成為區塊鏈開發者?Java區塊鏈
- Java初學者入門指南Java
- 區塊鏈100講:TOKEN≠數字貨幣,區塊鏈開發者要如何正確理解TOKEN的價值!區塊鏈
- 區塊鏈學習筆記01--區塊鏈常識區塊鏈筆記
- 區塊鏈的幾個小故事.小白學區塊鏈01區塊鏈
- tendermint區塊鏈五分鐘入門區塊鏈
- 理解區塊鏈的非對稱加密區塊鏈加密
- 區塊鏈開發公司區塊鏈+遊戲”二者結合區塊鏈遊戲
- 【區塊鏈學院】第五期 “連結未來”區塊鏈創新專案專項路演區塊鏈
- 區塊鏈100講:區塊鏈為什麼叫“區塊”“鏈”?區塊鏈
- 給初學者的Web安全指南Web
- 圖資料庫初學者指南資料庫
- Electron 的初學者詳細指南
- 5S管理--初學者指南
- 從區塊鏈技術研發者的角度,說說我的區塊鏈從業經歷和對它的理解區塊鏈
- 世鏈財經|區塊鏈專案開發指南,如何開發一款區塊鏈專案區塊鏈
- 前言-如何學習區塊鏈區塊鏈
- 區塊鏈學習資料區塊鏈
- 【PPT已更新】給開發者的區塊鏈技術指南 | JTalk 掘金線下活動第五期區塊鏈
- 《區塊鏈技術指南》電子書推薦!區塊鏈
- 區塊鏈知識,區塊鏈簡史區塊鏈
- 區塊鏈系列1-區塊鏈概述區塊鏈
- 區塊鏈 2.0:房地產區塊鏈(四)區塊鏈