區塊鏈的工作原理是怎樣的

“比特幣”是一種數字貨幣。而“區塊鏈”就是比特幣的記賬系統。

區塊鏈:去中心化的分布式數據庫5LS顯卡之家

大家都知道,“比特幣”是一種數字貨幣。而“區塊鏈”就是比特幣的記賬系統??梢园褏^塊鏈想象成一個賬本,上面記錄了全球所有的比特幣交易信息。那么,區塊鏈跟傳統的銀行記賬有什么區別呢?5LS顯卡之家

這就涉及到區塊鏈的本質了:區塊鏈是一種去中心化的分布式數據庫。我會一一解釋這三個關鍵詞。5LS顯卡之家

數據庫:5LS顯卡之家

所謂“數據庫”,就是計算機上的一組表格,它可以存放大量的有結構的信息(可以類比Excel,但遠比Excel復雜)。比如我們去銀行存款、取款、匯款,這些交易信息都是要上傳到銀行的數據庫的。5LS顯卡之家

分布式:5LS顯卡之家

這個數據庫可以存放在銀行的一臺超級電腦上,也可以放在多臺電腦上。比如工行可能在華北、華中、華東、華南等地區各有一臺服務器,每個地區的交易信息發送到本地區的服務器上,各個服務器之間通過銀行的內部網絡連接。這就叫“分布式數據庫”。5LS顯卡之家

去中心化:5LS顯卡之家

傳統的服務器,不管是不是分布式的,都是有“管理員”的。也就是說,有一個銀行內部的“超級用戶”可以查看所有的交易信息,并且可以隨意添加、修改這些信息。這就叫“中心化”。5LS顯卡之家

而區塊鏈則是“去中心化”的。也就是說,區塊鏈這個數據庫中不存在管理員,所有人都是平等的,都有權查看、添加信息。去中心化是區塊鏈的本質特征。5LS顯卡之家

既然所有人都有權往區塊鏈上添加信息,那么這個“賬本”難道不會亂七八糟嗎?要搞清楚這點,我們需要了解什么是“區塊”,什么是“鏈”。5LS顯卡之家

何為“區塊”何為“鏈”?“區塊”是區塊鏈的基本組成。區塊就是一個數據塊。類比賬本的話,區塊就相當于賬本上的一頁,這一頁上記錄了多條交易信息。而把這些分散在整個互聯網上的“頁”串成一條鏈,就可以形成一個完整的“賬本”。那么,“區塊”是怎么串成“區塊鏈”的呢?5LS顯卡之家

區塊鏈賬本的記賬原理5LS顯卡之家

哈希值與防篡改:5LS顯卡之家

除了比特幣交易信息之外,區塊上還包含了這個區塊本身的一些特征信息??梢灶惐纫豁撋系?ldquo;頁碼”,只不過這個“頁碼”比較復雜。“頁碼”中最重要的,就是“哈希值”,它是理解區塊鏈可靠性的關鍵。5LS顯卡之家

所謂“哈希值”,可以理解為數據的一個“指紋”。我們簽合同有時會摁手印,以后只要把自己的指紋和合同上的指紋對比一下,就可以證明合同是自己簽的。類似地,我們在網上下載一個軟件,有些網站會給出安裝包的哈希值(可能稱為CRC或SHA)。我們下載完安裝包后,只需用專門的工具計算一下這個SHA值,再跟官網上給的SHA值對比一下,就可以知道自己下載的和網站提供的是否100%一致,下載過程有沒有被人做了手腳。5LS顯卡之家

不同的數據,算出來的哈希值一般來說是不同的。如果已知數據A的哈希值是H,想偽造另一個數據B,使它的哈希值也是H,這是極其困難的。也就是說,哈希值具有不可偽造性,起到了“指紋”的作用。5LS顯卡之家

一個區塊中,包含了兩種哈希值:“上一個區塊的哈希值”和“本區塊的哈希值”。因為每個區塊都包含了上一個區塊的哈希值,所有的區塊就依次連成一條(邏輯上的)鏈。“上一個區塊的哈希值”就起到了“頁碼”的作用——給頁排序。5LS顯卡之家

5LS顯卡之家

▲區塊所包含的內容5LS顯卡之家

區塊鏈的工作原理是怎樣的5LS顯卡之家

▲區塊連接成區塊鏈5LS顯卡之家

如果一個區塊上的交易信息被人惡意篡改的話,“本區塊的哈希值”就會改變。由于區塊鏈中下一個區塊包含了“上一個區塊的哈希值”,為了讓下一個區塊依然能連到本區塊,需要修改下一個區塊。而這又導致下下個、下下下個。..。..區塊也必須修改。5LS顯卡之家

區塊鏈的工作原理是怎樣的5LS顯卡之家

▲篡改了一個區塊,就要修改后面所有區塊5LS顯卡之家

由于區塊鏈本身的一些機制(這個機制比較細節,我們這里不討論),計算一個區塊的哈希值是極其困難的,修改多個區塊的哈希值則是難上加難。這樣,篡改區塊鏈中的交易信息就成為幾乎不可能的事情。這就保證了區塊鏈的可靠性。5LS顯卡之家

采礦:向區塊鏈寫入信息的方式5LS顯卡之家

采礦:向區塊鏈寫入信息的方式“采礦”,就是計算出一個潛在區塊的哈希值,使這個區塊正式加入整個區塊鏈的過程。一個區塊加入區塊鏈后,其中包含的交易信息才能成為事實。由于比特幣設計者的一些考慮,采礦的過程需要消耗大量時間和資源。前面已經提到,計算區塊的哈希值是極其困難的。具體有多困難呢?如果比特幣網絡中的計算機都參與哈希值的計算,平均每十分鐘才能算出一個哈希值。5LS顯卡之家

從事采礦活動的人,稱為“礦工”?;ヂ摼W上的任何人都可以加入比特幣網絡,成為礦工。既然采礦需要消耗大量時間和資源,為什么礦工會自愿加入呢?這是因為比特幣協議規定,挖到新區塊的礦工會得到比特幣獎勵。這是礦工采礦的動力;也因為礦工持續得挖礦,比特幣交易信息才能被確認,比特幣交易才能正常進行。同時,這也是比特幣總量唯一的增加方式。比特幣不像傳統貨幣,它的總量不能通過國家或機構人為印發的方式增加,只能通過挖礦獎勵的方式“自然地”增加。5LS顯卡之家

如何避免主鏈分叉?5LS顯卡之家

既然挖礦會有比特幣獎勵,比特幣的交易方也會給礦工一些手續費作為報酬,礦工之間難免會產生大量競爭。如果兩個礦工同時挖到了某個區塊的下一個區塊,那么誰挖到的那個區塊有資格加入區塊鏈呢?如果都可以加入區塊鏈,區塊鏈產生了分叉,這樣如何保證區塊鏈的“唯一性”呢?5LS顯卡之家

區塊鏈協議規定,如果一個分叉上的新增區塊達到了六個,那么它就成為區塊鏈的“正統”;而同一時刻其他沒有達到六個區塊的分叉,就會被不幸淘汰,這些區塊上的交易信息也不會被認可。這就避免了區塊鏈的分叉。由于一個區塊在被挖出來后,后面必須跟上六個新區塊,而平均每十分鐘才能挖到一個新區塊,這樣,一筆交易至少需要一個小時才能被確認(被寫進區塊鏈)。5LS顯卡之家

區塊鏈的工作原理是怎樣的5LS顯卡之家

▲礦工B:我有一句喵喵喵不知當不當講5LS顯卡之家

綜合上文,那么比特幣交易的過程是怎樣的呢?5LS顯卡之家

交易無非就是一條信息:“買方-1$,賣方+1$。”(這里涉及到一些非對稱密碼的知識,由于不是比特幣所獨有,不作討論。)當你發起一筆比特幣交易后,這個交易信息就會從你的設備上,逐漸發送到整個比特幣網絡。5LS顯卡之家

為了挖礦獎勵,許多礦工都會收集你的交易信息,并拼命挖新的區塊。如果一個礦工挖出了一個新的區塊,他就會把你的交易信息寫入區塊。在這之后,他還需要再挖出六個新的區塊,以保證整個區塊鏈采用了這個區塊。這時你的交易信息才能正式寫入區塊鏈,得到確認。而那些沒有挖到六個區塊的礦工的成果則會被淘汰。5LS顯卡之家

這樣,雖然是多個礦工在競爭著寫入你的交易信息,最后只能有一個礦工成功地寫入。這就保證了同一次交易中,你的錢不會被扣掉兩次。5LS顯卡之家

一旦一個新的區塊正式加入了區塊鏈,這個區塊就會被同步到所有礦工的機器上,新的區塊只能跟在這個區塊后面。而挖到這個區塊的礦工會獲得一些比特幣作為獎勵,這也是新比特幣發行的過程。5LS顯卡之家

小結一下以上的要點:5LS顯卡之家

區塊鏈是比特幣交易的可靠的、唯一的賬本。5LS顯卡之家

區塊鏈是一個無中心的分布式數據庫。它沒有管理員,網絡中的所有用戶都可以平等地向區塊鏈中寫入新的區塊。5LS顯卡之家

區塊根據“上個區塊的哈希值”而連接成一條鏈。5LS顯卡之家

計算哈希值的困難性,使得區塊和區塊鏈無法被篡改,保證了區塊和區塊鏈的可靠性。5LS顯卡之家

一個區塊后面新增六個區塊才能使它正式加入區塊鏈,這使得區塊鏈不會產生分叉,保證了區塊鏈的唯一性。5LS顯卡之家

但同時,這也導致比特幣交易至少需要一個小時來確認,不具有即時性。5LS顯卡之家

挖礦獎勵是比特幣唯一的發行機制,也是礦工挖礦的動力。5LS顯卡之家

來源:IT之家5LS顯卡之家

相關推薦

麻将技巧 免费永久计划软件手机版 华东15选5官网 股票历史走势查看 黑龙江十一选五走势图在哪里 炒股知识 五分赛车官方开奖 重庆福彩幸运农场水果走势图 七星彩论坛 黑龙江11选五玩法技巧 扑克牌双人玩法