BUTXO详解

在比原链中,每一个交易消耗以前交易生成的BUTXO 而后生成新的 BUTXO,帐户的余额即全部属于该地址的未花费 BUTXO 集合,BTM 的全局状态即当前全部未花费的BUTXO 集合。咱们用一个具体的例子说明。并发

比原的状态是经过BUTXO来实现的。比原的价值转移是经过转帐实现的。更特别地是,咱们能够经过建立转帐花费1个或多个,而且将他们的BUTXO做为转帐输入。比原BUTXO不能部分花费。若是咱们花费0.5个比原(使用他们仅有的BUTXO,价值1比原),他们须要特地地发回0.5个比原。若是他们不发送这部分,那么这个0.5比原就会丢失,而且给到挖出转帐的矿工。过程以下图所示:异步

比原链的BUTXO没有包含用户帐户余额。经过比原,用户能够简单地持有私钥,在任什么时候间点均可以进行一个或者多个BUTXO。以下图:spa

总结:it

  • BUTXO = 未花费的交易输出;
  • 传统的帐户模型一个“帐户”的余额就是一个数字;
  • BUTXO模型中余额是由全部和“帐户”相关的UTXO组成的;

那可能有小伙伴好奇,比原链的BUTXO和UTXO模型有什么区别呢?class

BUTXO是比原链在UTXO的模型上柔和了支持多资产,从而保证了资产交互操做的原子性,异步交易的时候能够进行验证,支持多资产上链,智能合约结果bool化。因为BUTXO的无状态,因此在必定程度上加强了用户的匿名性。以下图:im

咱们查看了比原的BUTXO结构体,发现比原的结构体中的多了AssetID,ControlProgram等字段。比原链中BUTXO的结构体以下:总结

这是比原链专门为了多资产和智能合约而扩充的,目的是支持多种资产上链,以及智能合约bool化。因此比原链的BUTXO和UTXO的最大区别就是支持多种资产和柔和智能合约。跟UTXO模型比,这是比原链BUTXO的最大优点。img

此外,计算是在链外的,交易自己既是结果也是证实。节点只作验证便可,不须要对交易进行额外的计算,也没有额外的状态存储。交易自己的输出 的计算是在钱包完成的,这样交易的计算负担彻底由钱包来承担,必定程度上减小了链的负担。BUTXO 模型是无状态的,更容易并发处理。因此比原链能更好的支持多种业务场景,能很好的服务多种资产在链发行,流通。集合

相关文章
相关标签/搜索