在比原鏈中,每一個交易消耗以前交易生成的BUTXO 而後生成新的 BUTXO,帳戶的餘額即全部屬於該地址的未花費 BUTXO 集合,BTM 的全局狀態即當前全部未花費的BUTXO 集合。咱們用一個具體的例子說明。併發
比原的狀態是經過BUTXO來實現的。比原的價值轉移是經過轉帳實現的。更特別地是,咱們能夠經過建立轉帳花費1個或多個,而且將他們的BUTXO做爲轉帳輸入。比原BUTXO不能部分花費。若是咱們花費0.5個比原(使用他們僅有的BUTXO,價值1比原),他們須要特地地發回0.5個比原。若是他們不發送這部分,那麼這個0.5比原就會丟失,而且給到挖出轉帳的礦工。過程以下圖所示:異步
比原鏈的BUTXO沒有包含用戶帳戶餘額。經過比原,用戶能夠簡單地持有私鑰,在任什麼時候間點均可以進行一個或者多個BUTXO。以下圖:spa
總結:it
那可能有小夥伴好奇,比原鏈的BUTXO和UTXO模型有什麼區別呢?class
BUTXO是比原鏈在UTXO的模型上柔和了支持多資產,從而保證了資產交互操做的原子性,異步交易的時候能夠進行驗證,支持多資產上鍊,智能合約結果bool化。因爲BUTXO的無狀態,因此在必定程度上加強了用戶的匿名性。以下圖:im
咱們查看了比原的BUTXO結構體,發現比原的結構體中的多了AssetID,ControlProgram等字段。比原鏈中BUTXO的結構體以下:總結
這是比原鏈專門爲了多資產和智能合約而擴充的,目的是支持多種資產上鍊,以及智能合約bool化。因此比原鏈的BUTXO和UTXO的最大區別就是支持多種資產和柔和智能合約。跟UTXO模型比,這是比原鏈BUTXO的最大優點。img
此外,計算是在鏈外的,交易自己既是結果也是證實。節點只作驗證便可,不須要對交易進行額外的計算,也沒有額外的狀態存儲。交易自己的輸出 的計算是在錢包完成的,這樣交易的計算負擔徹底由錢包來承擔,必定程度上減小了鏈的負擔。BUTXO 模型是無狀態的,更容易併發處理。因此比原鏈能更好的支持多種業務場景,能很好的服務多種資產在鏈發行,流通。集合