BUTXO詳解

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

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

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

總結:

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

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

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

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章