區塊鏈工作原理是什麼?區塊鏈技術的工作原理是什麼?

買賣虛擬貨幣

區塊鏈工作原理是什麼?區塊鏈技術的工作原理是什麼?大家都知道,“比特幣”是一種數字貨幣。而“區塊鏈”就是比特幣的記賬系統。可以把區塊鏈想象成一個賬本,上面記錄了全球所有的比特幣交易資訊。那麼,區塊鏈跟傳統的銀行記賬有什麼區別呢?這就涉及到區塊鏈的本質了:區塊鏈是一種去中心化的分散式資料庫。我會一一解釋這三個關鍵詞。

資料庫:

所謂“資料庫”,就是計算機上的一組表格,它可以存放大量的有結構的資訊(可以類比Excel,但遠比Excel複雜)。比如我們去銀行存款、取款、匯款,這些交易資訊都是要上傳到銀行的資料庫的。

分散式:

這個資料庫可以存放在銀行的一臺超級電腦上,也可以放在多臺電腦上。比如工行可能在華北、華中、華東、華南等地區各有一臺伺服器,每個地區的交易資訊傳送到本地區的伺服器上,各個伺服器之間透過銀行的內部網路連線。這就叫“分散式資料庫”。

去中心化:

傳統的伺服器,不管是不是分散式的,都是有“管理員”的。也就是說,有一個銀行內部的“超級使用者”可以檢視所有的交易資訊,並且可以隨意新增、修改這些資訊。這就叫“中心化”。

而區塊鏈則是“去中心化”的。也就是說,區塊鏈這個資料庫中不存在管理員,所有人都是平等的,都有權檢視、新增資訊。去中心化是區塊鏈的本質特徵。

既然所有人都有權往區塊鏈上新增資訊,那麼這個“賬本”難道不會亂七八糟嗎?要搞清楚這點,我們需要了解什麼是“區塊”,什麼是“鏈”。

何為“區塊”何為“鏈”?“區塊”是區塊鏈的基本組成。區塊就是一個資料塊。類比賬本的話,區塊就相當於賬本上的一頁,這一頁上記錄了多條交易資訊。而把這些分散在整個網際網路上的“頁”串成一條鏈,就可以形成一個完整的“賬本”。那麼,“區塊”是怎麼串成“區塊鏈”的呢?

雜湊值與防篡改:

除了比特幣交易資訊之外,區塊上還包含了這個區塊本身的一些特徵資訊。可以類比一頁上的“頁碼”,只不過這個“頁碼”比較複雜。“頁碼”中最重要的,就是“雜湊值”,它是理解區塊鏈可靠性的關鍵。

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

不同的資料,算出來的雜湊值一般來說是不同的。如果已知資料A的雜湊值是H,想偽造另一個資料B,使它的雜湊值也是H,這是極其困難的。也就是說,雜湊值具有不可偽造性,起到了“指紋”的作用。

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

區塊連線成區塊鏈

如果一個區塊上的交易資訊被人惡意篡改的話,“本區塊的雜湊值”就會改變。由於區塊鏈中下一個區塊包含了“上一個區塊的雜湊值”,為了讓下一個區塊依然能連到本區塊,需要修改下一個區塊。而這又導致下下個、下下下個......區塊也必須修改。

篡改了一個區塊,就要修改後面所有區塊

由於區塊鏈本身的一些機制(這個機制比較細節,我們這裡不討論),計算一個區塊的雜湊值是極其困難的,修改多個區塊的雜湊值則是難上加難。這樣,篡改區塊鏈中的交易資訊就成為幾乎不可能的事情。這就保證了區塊鏈的可靠性。

採礦:向區塊鏈寫入資訊的方式

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

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

如何避免主鏈分叉?

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

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

礦工B:我有一句喵喵喵不知當不當講

綜合上文,那麼比特幣交易的過程是怎樣的呢?

交易無非就是一條資訊:“買方-1$,賣方+1$。”(這裡涉及到一些非對稱密碼的知識,由於不是比特幣所獨有,不作討論。)當你發起一筆比特幣交易後,這個交易資訊就會從你的裝置上,逐漸傳送到整個比特幣網路。

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

這樣,雖然是多個礦工在競爭著寫入你的交易資訊,最後只能有一個礦工成功地寫入。這就保證了同一次交易中,你的錢不會被扣掉兩次。

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

小結一下以上的要點:區塊鏈是比特幣交易的可靠的、唯一的賬本,區塊鏈是一個無中心的分散式資料庫。它沒有管理員,網路中的所有使用者都可以平等地向區塊鏈中寫入新的區塊。

區塊根據“上個區塊的雜湊值”而連線成一條鏈,計算雜湊值的困難性,使得區塊和區塊鏈無法被篡改,保證了區塊和區塊鏈的可靠性。

一個區塊後面新增六個區塊才能使它正式加入區塊鏈,這使得區塊鏈不會產生分叉,保證了區塊鏈的唯一性,但同時,這也導致比特幣交易至少需要一個小時來確認,不具有即時性。

挖礦獎勵是比特幣唯一的發行機制,也是礦工挖礦的動力。好了,透過對以上的總結,大家對虛擬幣的各個方面有沒有了很深的瞭解呢?希望這篇文章會解答一下您的疑惑和讓您對您的幣種更加了解,會更加深入瞭解虛擬幣。希望大家收穫多多,錢包越來越鼓最後虛擬幣也有一定的風險,希望大家量力而行,要謹慎客觀的分析各方面的因素,綜合自己的自身條件來考慮到底要不要選擇一個幣種。希望本篇文章會幫助到你。如果有其他需要,大家也可以繼續多關注關注我們的文章,會不定時的推送,希望大家透過閱讀我們的文章對您的虛擬幣會有一個更加清晰的瞭解那麼謝謝您的閱讀。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;