現在,從理髮師到在股市工做的朋友,人人都在談論比特幣。別擔憂,這篇文章不是那種討論如何從比特幣中賺錢的文章,我將努力幫助你理解比特幣的基層技術,以及區塊鏈在將來幾十年裏如何發揮做用。安全
2008年10月31日,一個名爲Satoshi Nakamoto的匿名人士(或組織)發表了一份白皮書,介紹了一種不涉及任何金融中介機構、直接從發送方到接收方匯款的新方法。網絡
文中給這個概念起了個名字——比特幣。因爲比特幣使用了密碼學的一些基本概念,這種新的貨幣交換方式被歸類爲加密貨幣。比特幣的惟一用途是用於金融交易,但研究人員意識到,能夠利用它的基礎技術構建其餘安全可靠的應用程序,從而完全改變當前系統的工做方式。
「區塊鏈」就是這個基礎技術的名字。你以爲有不少專業詞彙?不要緊,讓咱們來簡化一下!架構
想象你住在一個城市,這個城市有一個能夠同時停放200輛車的大停車位(假設只有一層)。這個停車位有一個大門,大門是鎖着的,只有當有車輛進出時纔會打開。如今讓咱們從不一樣的角度來分析這個單層的停車場建築:分佈式
如今,讓咱們修改當前的場景。想象一下,你的城市裏有200個住戶,全部人都有兩個車庫。簡單來講,咱們假設每一個住戶只有一輛車(全部的車都填滿了上面描述的大停車位)。因此,每戶都有一個空車庫。如今,假設這個城市的人們決定把多餘的車庫出租給任何須要停車的人。這種提供停車位的模式將解決200輛或更多汽車停車問題,而不須要爲整個城市建造任何更大的中央停車位。與前面的場景相似,咱們來分析一下這個場景:ide
上面的類比爲理解區塊鏈的實際技術基礎架構提供了基礎。區塊鏈
這個停車模型用現實世界語言展現了區塊鏈的基本概況。如今,讓咱們嘗試將停車示例的組件與實際的技術模型匹配起來:
這個大型中央停車場是一個像AWS、Google Cloud等的集中系統(這些雲平臺也在必定程度上是分佈式,但爲了簡單起見,咱們將它們假設爲一個單一的實體)。
汽車是數據和應用。ui
分佈式停車場是一個分散的系統——區塊鏈。加密
等等!咱們彷佛錯過了一些東西。spa
不是全部的分散系統都是區塊鏈!!是的,區塊鏈是一種特殊類型的分散系統,具備獨特的特性。哪一種特性?咱們來討論一下。設計
讓咱們從新審視一下咱們的分佈式停車示例,並作一些小小的更改。咱們假設一個特定車庫的鎖是當一輛車停在裏面的時候產生的(假設同一輛車天天去同一個停車場)。另外,假設全部的分佈式車庫已經按順序編號。50號車庫的鎖鑰匙對是基於49號車庫的鎖鑰匙對,也是基於50號車庫內停放的汽車的特徵(如顏色、重量、發動機編號等),這個過程從1號車庫開始,一直持續到200號車庫甚至更多。
所以,若是一個小偷試圖進入49號車庫並修改車子的特徵時,說出它的顏色或註冊號,停在49號車庫的車的特色將會改變,這也意味着一個新的49號車庫的鎖鑰匙對將會生成。由於50號車庫的鎖鑰匙對取決於49號車庫的鎖鑰匙對,50號車庫的鎖鑰匙對也將改變,其餘的車庫也同樣。
如今,讓咱們作一個最後的假設。假設計算一個鎖鑰匙對須要大量的計算資源,這意味着若是任何一個小偷修改了任何汽車的任何特徵,咱們必須從新計算這些對,這將是幾乎不可能的。
但願你還記得咱們說過的全部的車庫主人都要遵照一些規則?
這些規則之一就是檢查一個有效的車庫。若是你能夠驗證一個車庫的鎖鑰匙對,那麼這個車庫就是有效的。若是任何一個鎖鑰匙對被更改,那麼以後的全部車庫的鎖鑰匙對都是無效的,由於每個鎖鑰匙對都依賴於前一對。(與生成鎖鑰匙對相比,驗證特定車庫的鎖鑰匙對的過程很是快)。
這種一個對取決於前一個對的形式組成了一個車庫鏈,在技術世界中,這些車庫是「塊」,所以得名區塊鏈(一串積木鏈)。
區塊鏈中的塊經過hashes鏈接到下一個塊,就像咱們的示例中的鎖鑰匙對同樣。與車庫示例相似,若是修改了一個塊中的hashes,那麼須要從新計算下面全部塊的hashes,由於計算hashes是一個很是耗費資源的操做,因此實際上不可能作到這一點,所以網絡會排除無效的塊。hash的計算過程被稱爲挖掘,咱們將在本系列的下篇中詳細討論它。
在區塊鏈網絡上的全部計算機,都會保留一個完整的區塊鏈副本,所以,若是一個特定計算機或多臺計算機上的一個塊或一個完整的鏈被修改,整個網絡會試圖與本身的完整副本鏈進行比較。
若是網絡上的大多數節點(或計算機)發現修改後的鏈是無效的,則將修改後的鏈替換爲來自其餘節點的有效鏈,這使得區塊鏈中51%的節點可能受攻擊。簡單地說,若是網絡上超過50%的節點是惡意的(或者有一個修改過的鏈),那麼整個網絡均可能受到攻擊。
唷!!有不少信息須要消化。這是完整的初學者指南的第一部分,提供了基本的區塊鏈基礎。我但願這篇文章能爲你和你的朋友討論區塊鏈時提供幫助。請查看本系列的下一篇,其中咱們將討論Ethereum、智能契約和挖掘。
歡迎點擊「京東雲」瞭解更多精彩內容
以上信息來源於網絡,由「京東雲開發者社區」公衆號編輯整理,不表明京東雲立場。