首頁 >後端開發 >Golang >使用 Utreexo 改進比特幣網絡

使用 Utreexo 改進比特幣網絡

WBOY
WBOY原創
2024-07-30 08:03:14954瀏覽

Improving the Bitcoin network using Utreexo

世界日益數位化,我們生活的越來越多面向變得越來越無形。貨幣並沒有被排除在外,從實體現金到無現金系統,再到現在的加密貨幣。自2009 年第一個比特幣區塊誕生以來,它的採用率增長得如此之快,隨著採用率的提高,網路的穩定性和信任度也隨之提高,這只會增加它的採用率。

首先,什麼是比特幣,比特幣是如何運作的?

比特幣是一種去中心化的點對點網路數位貨幣,由一個名為中本聰的偽匿名實體於 2008 年創建。比特幣網路是由電腦組成的網絡,也稱為相互互連的節點,有助於在整個網路中傳播交易並驗證交易。該網路使用數位貨幣比特幣(BTC)。這些交易儲存在使用區塊鏈技術的去中心化公共分類帳上。
比特幣區塊鏈由連結到每個前面的區塊的區塊組成,除了第一個區塊也稱為創世區塊,它不連接到任何前面的區塊。區塊由多筆交易組成,這些交易在執行挖掘過程之前已由礦工驗證並仔細添加到區塊中。交易基本上是比特幣錢包之間的價值轉移。礦工負責在網路上執行主要工作,確認或「挖掘」新區塊並將其添加到區塊鏈中。
有多種線上資源可以幫助您了解比特幣。這些資源提供了有關比特幣功能的更多詳細資訊。
儘管比特幣有很多優點,但可擴展性始終是一個主要問題。比特幣區塊的大小限制為 1MB,大約每 10 分鐘開採一個區塊。截至撰寫本文時,比特幣區塊鏈的當前大小約為 580 GB,比去年增長了約 18%。為了讓全節點加入區塊鏈並驗證網絡,他們需要下載整個區塊鏈並開始對所有舊區塊和新添加的區塊執行驗證。這個大小肯定會每天持續增長,在某個時候,可能會變得太大,以至於由於資源限製而阻止一些普通用戶加入網路。
除了區塊鏈的大小之外,節點還驗證並儲存網路的當前狀態。這種狀態是當前未花費的交易輸出集(UTXO),其大小相對整個區塊鏈要小得多,但是,隨著越來越多的用戶在網路上執行更多交易,這種狀態也保證會保持快速成長。此集合是網路中所有未花費交易輸出的集合。

那麼 Utreexo 是什麼呢?

Utreexo 引入了基於雜湊的動態累加器,它可以顯著減少目前狀態的大小。它允許節點在不知道系統的整個狀態的情況下完全驗證交易的輸入。它透過讓資金所有者保留資金確實存在的證據來實現這一點,然後當他們要花費資金時提供這些資金。
Utreexo 引入了一種稱為緊湊狀態節點的新型節點。這些節點僅儲存狀態的累加器表示。為了讓這些節點驗證交易,它們需要包含證明。當他們即將花費一些輸入時,支出交易會提供此證明。

Utreexo 如何改善比特幣網路?

如上所示,Utreexo 允許將比特幣網路的狀態表示為動態累加器,這些累加器的大小只有幾千字節,而比特幣目前的狀態則超過 5GB。
要了解 Utreexo 的工作原理,我們必須先了解什麼是加密累加器以及它是如何運作的。加密累加器可讓我們查詢一個集合,而無需儲存或洩漏該集合的所有成員。這種累加器構造方法非常適合比特幣 UXTO 集,因為對於每筆交易,我們都會查詢正在花費的 TXO 是否確實是 UTXO 集的成員,如果不是,則拒絕該交易。
普通節點在加入網路時必須下載超過 580GB 的整個區塊鏈歷史記錄並驗證交易並建立自己的 UTXO 集副本。然後,他們必須驗證影響節點的所有狀態變更。所有這些過程都是資源密集型操作,從而限制了網路參與者的數量,從而限制了可擴展性。
此初始同步過程(也稱為初始區塊下載 (IBD))可能需要很長時間,具體取決於網路連線和硬體資源。影響此IBD操作速度的主要因素之一是所使用的儲存磁碟的類型和I/O操作的速度,特別是快速執行隨機存取讀取的能力。這就是為什麼使用固態硬碟的電腦(通常具有更優越的隨機存取讀取時間)與使用硬碟機的電腦相比,驗證交易的時間要少 30 倍以上。
使用 Utreexo,所使用的磁碟類型不會產生如此大的差異,因為我們只會看到 SSD 電腦和 HDD 電腦之間的輕微效能差異
Utreexo 引入了基於雜湊的動態累加器,沒有可信任設定或管理器要求。如上所述,累加器是集合的緊湊表示,可以向其中添加和證明元素。 Utreexo 累加器使用完美的 Merkle 樹森林,可以有效地從累加器中刪除元素,從而減少發生刪除時森林中葉子的總數。
新增可以在沒有累加器和要新增的元素之外的任何資料的情況下計算,並且刪除可以透過要刪除的資料的包含證明來計算。
累加器的設計是完美二元哈希樹的森林。必須儲存的累加器的表示形式包括:儲存的元素數量,以及森林中每棵樹的根。
完美二元樹的邏輯結構超出了本文的範圍,因為這只是一篇介紹文章。不過,完整的 Utreexo 論文可以在這裡找到。

結論

基於 Utreexo 哈希的累加器旨在將比特幣狀態的大小減少到數千字節,允許幾乎任何設備加入比特幣網路並開始驗證交易,而無需昂貴的頂級硬體。這將大大提高比特幣網路的可擴展性,因為累加器的大小增長非常緩慢(Onlogn)空間複雜度。

以上是使用 Utreexo 改進比特幣網絡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn