天天看點

BUTXO詳解

BUTXO詳解

在比原鍊中,每個交易消耗之前交易生成的BUTXO 然後生成新的 BUTXO,賬戶的餘額即所有屬于該位址的未花費 BUTXO 集合,BTM 的全局狀态即目前所有未花費的BUTXO 集合。我們用一個具體的例子說明。

比原的狀态是通過BUTXO來實作的。比原的價值轉移是通過轉賬實作的。更特别地是,我們可以通過建立轉賬花費1個或多個,并且将他們的BUTXO作為轉賬輸入。比原BUTXO不能部分花費。如果我們花費0.5個比原(使用他們僅有的BUTXO,價值1比原),他們需要特意地發回0.5個比原。如果他們不發送這部分,那麼這個0.5比原就會丢失,并且給到挖出轉賬的礦工。過程如下圖所示:

BUTXO詳解

比原鍊的BUTXO沒有包含使用者賬戶餘額。通過比原,使用者可以簡單地持有私鑰,在任何時間點都可以進行一個或者多個BUTXO。如下圖:

BUTXO詳解

總結:

  • BUTXO = 未花費的交易輸出;
  • 傳統的賬戶模型一個“賬戶”的餘額就是一個數字;
  • BUTXO模型中餘額是由所有和“賬戶”相關的UTXO組成的;

那可能有小夥伴好奇,比原鍊的BUTXO和UTXO模型有什麼差別呢?

BUTXO是比原鍊在UTXO的模型上柔和了支援多資産,進而保證了資産互動操作的原子性,異步交易的時候可以進行驗證,支援多資産上鍊,智能合約結果bool化。由于BUTXO的無狀态,是以在一定程度上增強了使用者的匿名性。如下圖:

BUTXO詳解

我們檢視了比原的BUTXO結構體,發現比原的結構體中的多了AssetID,ControlProgram等字段。比原鍊中BUTXO的結構體如下:

BUTXO詳解

這是比原鍊專門為了多資産和智能合約而擴充的,目的是支援多種資産上鍊,以及智能合約bool化。是以比原鍊的BUTXO和UTXO的最大差別就是支援多種資産和柔和智能合約。跟UTXO模型比,這是比原鍊BUTXO的最大優勢。

此外,計算是在鍊外的,交易本身既是結果也是證明。節點隻做驗證即可,不需要對交易進行額外的計算,也沒有額外的狀态存儲。交易本身的輸出 的計算是在錢包完成的,這樣交易的計算負擔完全由錢包來承擔,一定程度上減少了鍊的負擔。BUTXO 模型是無狀态的,更容易并發處理。是以比原鍊能更好的支援多種業務場景,能很好的服務多種資産在鍊發行,流通。

繼續閱讀