區塊鏈如何以7個步驟工作-清晰而簡單

2020年是去中心化金融Defi大爆發的一年,經過沉默,比特幣突然從約5,000美元迅速升至近20,000美元,區塊鏈由此重新進入人們對視野。

Coinmarketcap.com從2013年10月至2020年10月的比特幣價格走勢圖

區塊鏈到底是什麼?

首先;區塊鏈是存儲數據的數字概念。此數據以塊為單位,因此請想像數字數據的塊。這些塊鏈接在一起,這使得它們的數據不可變。當一個數據塊鏈接到其他塊時,其數據將永遠無法再更改。想要再次看到它的任何人,都將以公開的方式公開使用它,就像它曾經被添加到區塊鏈中一樣。那是非常革命性的,因為它使我們能夠記錄幾乎所有我們能想到的東西(例如:財產權,身份,貨幣餘額,病歷),而不會有人篡改這些記錄。如果我現在買房子並將照片添加到區塊鏈中,那麼我將永遠能夠證明我當時擁有這些權利。信息一旦出現在區塊鏈上,就沒有人可以更改(嗯,一種方法,但這是高級材料,所以我建議您稍後閱讀,儘管您可以在這裡找到它)。因此,區塊鏈是一種保存數據並使之不變的方法。聽起來不錯,但是當然最大的問題是:它是如何工作的?

第一階——交易數據

好吧,讓我們從一個例子開始:比特幣區塊鏈。比特幣區塊鏈是現有的最古老的區塊鏈。比特幣區塊鏈上的每個區塊包含大約1 MB的數據。在撰寫本文時,它約有525,000個塊,這意味著該區塊鏈上總共存儲了約525,000 MB。關於比特幣交易,比特幣區塊鏈上的數據完全不存在交易數據中。這是有史以來所有比特幣交易的良好記錄,一直追溯到第一筆比特幣交易。在本文中,我們將假定區塊鏈存儲交易數據,就像比特幣區塊鏈一樣。

第二階——(通過哈希運算)鏈接區塊

想像一下一堆交易數據塊(圖1)。

區塊鏈如何以7個步驟工作-清晰而簡單

三個區塊,全部包含一些交易數據。還不是很特別。您可以將其與一些獨立的Word文檔進行比較,這些文檔僅描述發生了哪些交易以及這些交易如何影響某些餘額。然後,文檔1將按時間順序描述發生在1 MB以下的第一個事務,此後,下一個事務將在文檔2中描述至另一個MB,依此類推。這些文檔是數據塊。這些塊現在正在鏈接(也稱為鏈接)在一起。為此,每個塊都獲得一個唯一的(數字)簽名,該簽名恰好與該塊中的數據字元串相對應。如果塊內的任何內容發生更改,甚至僅更改了一位數字,該塊都將獲得新的簽名。如何運作?這是通過散列發生的 稍後將在步驟3中進行詳細說明。

假設塊1註冊了兩個事務,即事務1和事務2。想像一下,這些事務總共佔1 MB(實際上這將是更多的事務)。現在,該數據塊將獲得此特定數據字元串的簽名。假設簽名為「 X32」。看起來像這樣:

區塊鏈如何以7個步驟工作-清晰而簡單

請記住,對塊1中的數據進行單個數字更改現在將導致其獲得完全不同的簽名在塊1中的數據現在已連結通過添加塊1的簽名到到框2數據塊2的簽名現在部分地基於塊1的簽名塊2的,因為它被包含的數據的字元串中在第2塊中,如下所示:

區塊鏈如何以7個步驟工作-清晰而簡單

簽名將塊彼此鏈接,使它們成為塊鏈。讓我們想像一下在這個區塊鏈中添加另一個區塊。塊3。這看起來像:

區塊鏈如何以7個步驟工作-清晰而簡單

現在,假設塊1中的數據是否被更改。假設Damian和George之間的交易發生了變化,現在據說Damian向George發送了500比特幣,而不是100比特幣。現在,塊1中的數據字元串不同,這意味著該塊也獲得了新的簽名。與此新數據集相對應的簽名不再是X32。假設現在改為「 W10」。這是現在發生的情況:

區塊鏈如何以7個步驟工作-清晰而簡單

簽名W10不再與先前添加到塊2的簽名匹配。現在認為塊1和2不再相互鏈接。這向該區塊鏈的其他用戶表明區塊1中的某些數據已更改,並且由於區塊鏈應該是不可變的,因此他們通過移回其所有區塊仍鏈接在一起的區塊鏈先前記錄來拒絕此更改(該記錄達米安向喬治發送了100 BTC)。更改不會被檢測到的唯一方法是,如果所有塊都保持鏈接在一起。這意味著為了不被發現更改,塊1的新簽名必須替換塊2的數據中的舊簽名。但是,如果塊2的數據發生變化,這也會導致塊2也具有不同的簽名。假設塊2的簽名現在是「 PP4」,而不是9BZ。現在,塊2和3不再鏈接在一起

區塊鏈如何以7個步驟工作-清晰而簡單

區塊鏈上的區塊對任何人都是公開可用的。因此,如果應該在區塊鏈上檢測不到變更,則所有塊都需要保持正確鏈接(否則,人們可以說某些塊無法正確鏈接)。這意味著改變一個塊需要一個新的簽名後,它自帶隔擋一路鏈的末端。認為這幾乎是不可能的。為了了解原因,您將需要了解如何創建簽名。

第三階——生成簽名(哈希值)

因此,讓我們再次想像一個圖塊;塊1。塊1僅記錄一次交易。托馬斯將100比特幣發送給David。現在,此特定的數據字元串需要簽名。在區塊鏈中,此簽名是由加密貨幣哈希函數創建的。密碼哈希函數是一個非常複雜的公式,它接受任何輸入字元串並將其轉換為唯一的64位輸出字元串。例如,您可以在此哈希函數中插入單詞「 Jinglebells」 (哈希演算法還有其他變體,但在此示例中我們將使用此演算法),您將看到此特定數據字元串的輸出為:

761A7DD9CAFE34C7CDE6C1270E17F773025A61E511A56F700D415F0D3E199868

例如,如果輸入的一位數字發生變化(包括空格,更改大寫字母或添加句點),則輸出將完全不同。如果您在此字詞上加上句號,然後將其設為「 Jinglebells」。相反,您將看到此特定數據字元串的輸出為:

B9B324E2F987CDE8819C051327966DD4071ED72D998E0019981040958FEC291B

如果現在再次刪除該周期,則將獲得與以前相同的輸出:

761A7DD9CAFE34C7CDE6C1270E17F773025A61E511A56F700D415F0D3E199868

密碼哈希函數始終為相同的輸入提供相同的輸出,但對於不同的輸入始終提供不同的輸出。比特幣區塊鏈使用此加密貨幣哈希函數為塊提供簽名。在這種情況下,密碼哈希函數的輸入是塊中的數據,而輸出是與此相關的簽名。讓我們再次看一下塊1。托馬斯將100比特幣發送給David。

區塊鏈如何以7個步驟工作-清晰而簡單

現在,假設該塊中的數據字元串如下所示:

托馬斯1區-100大衛+100

如果將此數據字元串插入到哈希演算法中,則輸出(簽名)將為:

BAB5924FC47BBA57F4615230DDBC5675A81AB29E2E0FF85D0C0AD1C1ACA05BFF

現在,此簽名已添加到塊2的數據中。假設David現在將100比特幣轉讓給Jimi。區塊鏈現在看起來像這樣:

區塊鏈如何以7個步驟工作-清晰而簡單

現在,塊2的數據字元串如下所示:

大衛2座-100吉米+100

BAB5924FC47BBA57F4615230DDBC5675A81AB29E2E0FF85D0C0AD1C1ACA05BFF

如果將此數據字元串插入到哈希演算法中,則輸出(簽名)將為:

25D8BE2650D7BC095D3712B14136608E096F060E32CEC7322D22E82EA526A3E5

因此,這就是塊2的簽名。加密貨幣散列函數用於為每個唯一塊創建數字簽名。哈希函數種類繁多,但比特幣區塊鏈使用的哈希函數是SHA-256哈希演算法。但是,簽名如何阻止某人在更改一個塊之後簡單地為每個塊插入一個新的簽名(如果所有塊都正確鏈接,則更改不會被檢測到,人們將無法分辨出有更改)?答案是在區塊鏈上僅接受滿足特定要求的哈希(簽名)。

第四階——什麼是合格的簽名?由誰來簽署區塊?

簽名並不總是合格的。僅當區塊鏈的數字簽名以(例如)連續的零開始時,才在區塊鏈上接受區塊。

例如; 只有簽名至少以十個連續零開頭的塊才有資格添加到區塊鏈中。但是,如第3章所述,每個數據字元串都綁定了一個唯一的哈希。如果塊的簽名(哈希)不以十個零開頭怎麼辦?

好了,為了找到符合要求的簽名塊,需要重複更改塊的數據字元串直到該特定的數據字元串導致以十個零開頭的簽名。因為交易數據和元數據(區塊編號,時間戳等)需要保持原樣,所以將少量特定的數據片段添加到每個無用的區塊中,除非重複更改以找到合格的簽名。這條數據稱為塊的現時。

隨機數是一個完全隨機的數字字元串(請注意:圖片也顯示其他數字,但是隨機數只能是數字)。總結一下剛才解釋的內容,現在包含一個塊。1)交易數據,2)前一個區塊的簽名,3)隨機數。重複更改隨機數並散列塊的數據以找到合格簽名的過程稱為挖礦。這是礦工的工作。礦工通過不斷改變區塊組成(即刻)並對其進行哈希處理直到找到合格的簽名(輸出),從而以計算能力的形式消耗電力。它們具有的計算能力越強,它們就可以越快地哈希不同的塊組成,並且越有可能更快地找到合格的簽名。這是一種反覆試驗的形式。您可以像這樣描繪它:

區塊鏈如何以7個步驟工作-清晰而簡單

注意:Nonce需要是一個數字

區塊鏈網路上的任何用戶都可以通過下載並啟動該特定區塊鏈的相應挖礦軟體來參與此過程。當用戶執行此操作時,他們將簡單地發揮計算能力,以嘗試解決一個塊的隨機數。這是最近添加到比特幣區塊鏈中的交易塊的示例,塊521,477:

區塊鏈如何以7個步驟工作-清晰而簡單

來自blockchain.com(區塊鏈瀏覽器

如您所見,此塊的哈希(簽名)和前一個塊的哈希都以零開頭。要找到這樣的哈希值並不容易,它需要大量的計算能力和時間,或者需要很多運氣。是的,有時會發生這樣的情況:礦工非常幸運,並在幾分鐘內找到了具有很少計算能力的匹配簽名。最近非常罕見的示例發生在塊523,034。一個只有很小的計算能力的小型礦工就能很快找到合格的簽名,而所有其他礦工加起來的計算能力卻高達7萬億倍。相比之下,贏得強力球彩票頭獎的幾率是2.92 億分之一,這意味著與該礦工相比,贏得強力球彩票大獎比贏得其他網路比賽要容易24,000倍。談論零。無論如何,從本章中理解很重要的一點是,很難找到合格的簽名。

第五階——區塊鏈的不可變性是如何是實現的?

如先前在步驟3中所討論的,更改一個塊會將其與後續塊解除鏈接。為了使更改後的塊被網路的其餘部分接受,需要將其再次鏈接到後續塊。看到這是怎麼回事?前面已經解釋過,這要求它之後的每個塊都必須具有新的簽名。並且該簽名需要滿足要求讓所有這些塊的一個新的簽名將是非常昂貴和費時的,但似乎是不可能不。無論如何,這仍然被認為是不可能的,這就是為什麼:

比方說 腐敗礦工已經更改了一個交易區塊,現在正嘗試為後續區塊計算新的簽名,以使網路的其餘部分接受他的更改。對他來說,問題在於,網路的其餘部分也在為新塊計算新簽名。損壞的礦工還必須為這些塊計算新的簽名,因為它們將被添加到鏈的末尾。畢竟,他需要保持所有的塊鏈接,包括不斷添加的新鏈接。除非礦工的計算能力超過網路其餘部分的總和,否則他將永遠不會趕上網路其餘部分的查找簽名。

區塊鏈如何以7個步驟工作-清晰而簡單

數以百萬計的用戶正在比特幣區塊鏈上進行挖礦,因此可以假定,網路上的單個不良行為者或實體永遠不會比網路的其餘部分加在一起擁有更多的計算能力,這意味著網路將永遠不會接受對比特幣區塊鏈的任何更改。

區塊鏈,使區塊鏈不可變。一旦將數據添加到區塊鏈,就無法再對其進行更改。

但是有一個例外。如果壞人什麼也更多的計算能力比網路的其它部分結合起來呢?從理論上講,這是可能的。這稱為51%攻擊過去曾發生在各種區塊鏈上。然而實際上,對比特幣區塊鏈的51%攻擊執行成本要比其回報高得多。這不僅需要大量的硬體,冷卻設備和存儲空間來提供計算能力,而且還存在被起訴的風險,更重要的是,它將極大地損害相應區塊鏈本身的生態系統,從而帶來比特幣的潛在回報。價值大幅下跌。嘗試進行51%的攻擊實際上是在嘗試自己獨自與區塊鏈上的所有其他用戶進行對抗。這也是用戶參與挖礦過程越多,區塊鏈變得越安全的原因。

第六階——如何治理區塊鏈?由誰決定規則?

比特幣區塊鏈遵循民主的治理模型,因此根據其大多數用戶所說的是事實,更新了其交易記錄(因此也更新了比特幣餘額)。區塊鏈協議通過始終遵循擁有的最長區塊鏈的記錄來自動執行此操作 ,因為它假定該鏈由多數代表。畢竟,創建最長版本的區塊鏈需要大多數計算能力。這也是大多數網路自動拒絕更改的塊的方式。大部分網路會自動拒絕更改的塊,因為它不再鏈接到最長的鏈。

在比特幣區塊鏈上,所有交易歷史和錢包餘額都是公開的(blockchain.info)。任何人都可以查詢一直到發生的第一筆交易(2009年1月3日)的所有錢包或交易。儘管任何人都可以公開檢查錢包餘額,但是這些錢包的所有者仍然未知。

第七階——這些對密碼學貨幣有何意義?第七階——這些對密碼學貨幣有何意義?

密碼學貨幣從本質上來說都是比特幣的變體。絕大多數加密貨幣都是按照自己的區塊鏈協議搭建的,遵循不同於比特幣的規則。比特幣應當被歸類為一種貨幣,也就是說它明確具備貨幣功能。門羅幣也是一種具有相同功能的加密貨幣,不過它的區塊鏈協議還增加了一些規則來增強隱私性(提高交易溯源的難度)。

不過,用區塊鏈發行的資產可以被賦予很多種不同的用途,這點由發行方決定,如此發行的資產一般被稱為「代幣」。這些代幣可以賦予其所有人某種權利,例如博彩執照、社交媒體渠道、 水電等等。所有這些資產交易都記錄在不同的區塊鏈上,並且可以通過幣安之類的交易所進行線上交易。

代幣其實是一種新型互聯網貨幣,可能會影響到一部分行業,其中一個典型的例子就是股票市場。在未來,公司股份之類的產權很有可能會以代幣的形式存儲到區塊鏈上。區塊鏈不僅限於以代幣的形式代表實物價值,也可以安全地記錄病歷、身份、歷史記錄、納稅記錄等數據。這就是區塊鏈技術的偉大之處,還不提區塊鏈的另一個重要特性:去中心化。

聲明:以上內容採集自互聯網,作品版權歸原創作者所有內容均以傳遞信息為目的,不代表本站同意其觀點,不作為任何投資指導。幣圈有風險,投資需謹慎
提示:投資有風險,入市需謹慎,本資訊不作為投資理財建議。請理性投資,切實提高風險防範意識;如有發現的違法犯罪線索,可積極向有關部門舉報反映。
你可能還喜歡