為何Ergo堅守UTXO模型而棄用賬戶模型?

Ergo承襲了比特幣的UTXO模型,放棄了以太坊等的賬戶模型。 UTXO可將幣追溯至產幣交易,讓維護安全性變得更簡單,且對側鍊和閃電網絡等鏈下協議也更友好。

作者:Ergo團隊

Ergo承襲了比特幣最安全、最完善的功能,並在其堅實的基礎上實現全新高級加密功能。本系列文章探討了我們在創建Ergo時所做的選擇。作為系列中的首篇文章,本文展示了UTXO模型的優勢。

當您處理財務價值時不能冒險。加密貨幣平台中的每個架構決策都有影響。雖然不同的方法可以解決同一個問題,但和其他解決方案相比,有些解決方案經過更好測試且更可靠。

與比特幣一樣,Ergo堅守“UTXO”(未花費交易輸出)模型,放棄了以太坊等平台採用的賬戶模型。我們做出這個選擇的原因有很多,但首先有必要解釋一下UTXO或“盒子”模型的工作原理。

大多數人認為賬戶餘額是一個簡單的數字,在您發送或接收資金時會更新。這是處理問題的直觀方法;畢竟,這就是金錢在現實世界中的有效運作方式。當進行不同的資金轉入和轉出時,您的銀行賬戶餘額會增加或減少。這就是“賬戶”模型的運作方式:您在區塊鏈上的餘額會因進出賬戶的交易而改變。

可追溯至產幣交易

比特幣率先採用的UTXO模型完全不同。您可以把這想像成一個人拿著一系列麵包麵團塊。它們的餘額是這些麵團塊或UTXO的總和。在將麵團塊發送到新地址之前,它們可以被分割或組合,但您總是知道它們來自哪裡。例如:

Alice有100g麵團(100枚ERG)。她掰下75g遞給Bob,並為自己保留了25g的“零錢”。 Charlie有250g麵團。他取下150g給了Bob,為自己保留了100g零錢。 Bob從Charlie給他的150g麵團中掰下20g,並將剩餘的130g與Alice給他的75g麵團合併。他將205g的總量給了Dave,自己保留了20g的零錢。 Dave現在有205g麵團,這以前屬於Charlie。在Charlie擁有它之前,75g曾經屬於Alice,而130g曾經屬於Bob。

在UTXO模型中,可以組合和分割“幣塊”,但與麵團不同的是,它們不會混合在一起。您可以將資金的歷史記錄直接追溯到首次挖掘這些幣的coinbase交易(譯註:即產幣交易)。這與賬戶模型截然不同,賬戶模型只是簡單地更改了每個賬戶的餘額。 (當然,您可以檢查區塊鏈以核實賬戶內容,但在UTXO方法中這本質上並不必要。)

為什麼選擇UTXO?

UXTO模型有幾個隱含條件。首先,每個對像都是不可變的——不能像在進行交易時編輯賬戶餘額那樣“編輯”幣塊。餘額是根據交易歷史記錄計算得出的,可以回溯到這些幣最初出現的時間點。

這使得維護安全性變得更加簡單,因為UTXO要么以您期望的形式存在,要么根本不存在。使用賬戶模型,您需要仔細檢查您正在處理的賬戶是否處於應有的狀態(開發者通常不會正確執行此操作)。這也使UTXO對鏈下協議更加友好,例如側鍊和閃電網絡。

賬戶可以使得存儲“狀態”變得更簡單,但簡單並不總是意味著更好。借助Ergo的擴展UTXO模型,狀態轉換更加明確,因此更加清晰——不會出現意外情況。這處理起來可能有點麻煩,但在安全性方面要好得多,也更直接。

聲明:本文著作權歸原作者所有,所寫內容僅代表原作者觀點,不做投資理財建議。

展開全文打開碳鏈價值APP 查看更多精彩資訊

Total
0
Shares
Related Posts