區塊鏈如何運作?
首頁
文章
區塊鏈如何運作?

區塊鏈如何運作?

中等
發佈時間 Dec 9, 2018更新時間 Jan 5, 2024
5m

什麼是區塊鏈?

簡而言之,區塊鏈是作為去中心化數位帳本的資料記錄列表。資料被組織成區塊,按時間順序排列,並受密碼學保護。 

最早的區塊鏈模型在 1990 年代初建立。當時電腦科學家 Stuart Haber 和物理學家 W. Scott Stornetta 在區塊鏈中採用加密技術,以保護數位文件不受資料的篡改。 

Haber 和 Stornetta 的工作無疑啟發了許多其他電腦科學家和密碼學愛好者的工作;這最終促成比特幣誕生,作為第一個去中心化的電子現金系統(或簡單來說是第一個加密貨幣)。

儘管區塊鏈技術比加密貨幣更古老,但直到 2008 年比特幣誕生之後,它的潛力才開始得到認可。從那時起,人們對區塊鏈技術的興趣逐漸增長,加密貨幣現在得到了更大範圍的認可。

區塊鏈技術主要用於記錄加密貨幣交易,但它適用於許多其他類型的數位資料,並且可以應用於廣泛的用例。最古老、最安全、最大的區塊鏈網路之一是比特幣,它在設計時謹慎平衡地結合了密碼學及博弈論


區塊鏈如何運作?

在加密貨幣的背景下,區塊鏈由穩定的區塊鏈組成,每個區塊都儲存一個先前確認的交易列表。 由於區塊鏈網路由分佈在世界各地的無數台電腦一起維護,它就像是一個去中心化的資料庫(或分類帳)。這代表每個參與者(節點) 都維護著一份區塊鏈資料的複製,並且相互通信,來確保它們都在同一個頁面(或區塊) 上。

因此,區塊鏈交易發生在點對點的全球網路中,這就是比特幣成為無國界、抗審查的去中心化數位貨幣的原因。此外,大多數區塊鏈系統被認為是不可信的,因為它們不需要任何類型的信任。沒有單一的權威機構可以控制比特幣。

幾乎每個區塊鏈的核心部分都是挖礦的流程,而挖礦依賴於雜湊演算法。比特幣使用 SHA-256 演算法(安全雜湊演算法 256 位元)。它可以接受任意長度的輸入,並會生成總是相同長度的輸出。產生的輸出稱為「雜湊」,在本例中,總是由 64 個字元(256 位元)組成。

因此,無論該過程重複多少次,相同的輸入都會導致相同的輸出。但如果對輸入進行微小的變更,輸出將會截然不同。因此,哈希函數是具有確定性的,在加密貨幣世界中,它們中的大多數被設計為單向哈希函數。

作為單向函數意味著幾乎不可能從輸出中計算出輸入。人們只能猜測輸入是什麼,但猜對的機率極低。這就是為什麼比特幣區塊鏈很安全的原因之一。

現在我們知道了演算法的作用,讓我們透過一個簡單的交易示例來演示區塊鏈的運作方式。

想像一下,現在有兩個人,Alice 與 Bob,我們知道他們的比特幣餘額。假設 Alice 欠 Bob 2 個比特幣

由於 Alice 要向 Bob 發送 2 個比特幣,Alice 向網路中的所有礦工廣播了一條消息,告知她想要進行的交易。

在這筆交易中,Alice 向礦工提供了 Bob 的地址,以及她想要發送的比特幣金額,以及數位簽名和她的公共金鑰。簽名是用 Alice 的私鑰製作的,礦工可以驗證 Alice 實際上就是這些代幣的所有者。

一旦礦工確定交易有效,他們就可以將其與許多其他交易一起放入一個區塊中,並嘗試挖掘該區塊。這是透過將區塊放入 SHA-256 演算法來完成。輸出需要以一定數量的 0 開頭才能被視為有效。所需 0 的數量取決於所謂的「難度」,難度取決於網路上有多少計算能力。

為了在開始時產生具有所需數量的 0 的輸出哈希,礦工在透過演算法運行之前將所謂的"nonce" 新增至區塊中。由於輸入的微小變化會導致輸出大相徑庭,礦工會嘗試隨機 nonce,直到找到有效的輸出哈希。

一旦區塊被開採,礦工將新開采的區塊廣播給所有其他礦工。然後他們會檢查以確保該區塊有效,以便他們可以將其新增到他們的區塊鏈副本中,此時交易完成。但在區塊中,礦工還需要包含來自上一個區塊的輸出哈希,從而將所有區塊關聯在一起,因此成為區塊鏈。這是重要的一個環節,因為系統運作自己的信任方式。

每個礦工在他們的電腦上都有自己的區塊鏈複製,每個人都相信哪個區塊鏈上投入的運算量最多,就是最長的區塊鏈。如果礦工改變了前一個區塊的交易,該區塊的輸出雜湊值將會發生變化,這將導致之後的所有雜湊值也發生變化,因為這些區塊是由雜湊值所連結起來的。礦工需要重做所有工作,以便任何人都接受他的區塊鏈是正確的。因此,如果礦工想作弊,他將需要超過 50% 的網路運算能力,這是不太可能的。因此,像這樣的網路攻擊被稱為 51% 攻擊

讓電腦工作以產生區塊的模型稱為工作量證明 (PoW),還有其他模型,例如權益證明 (PoS),此類模型不需要很多計算能力,只需要消耗較少的電力,同時還能夠擴展至更多使用者。

分享貼文
註冊帳戶
立即開通幣安帳戶,將您的知識付諸實踐。