BUTXO详解

简介: 在比原链中,每个交易消耗之前交易生成的BUTXO 然后生成新的 BUTXO,账户的余额即所有属于该地址的未花费 BUTXO 集合,BTM 的全局状态即当前所有未花费的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 模型是无状态的,更容易并发处理。所以比原链能更好的支持多种业务场景,能很好的服务多种资产在链发行,流通。

相关文章
|
4月前
|
存储 JavaScript Java
若依修改,如何安装wangEditor,图片上传接口编写。建议暴露专门写一个图片存储的接口
若依修改,如何安装wangEditor,图片上传接口编写。建议暴露专门写一个图片存储的接口
若依修改,如何安装wangEditor,图片上传接口编写。建议暴露专门写一个图片存储的接口
|
5月前
|
关系型数据库 MySQL 数据库
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
|
Java
JAVA 抽象类(Abstract Class) 和 接口(Interface) 的区别
对于面向对象编程来说,抽象是它的一大特征之一。在 Java 中,可以通过两种形式来体现 OOP 的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。今天我们就一起来学习一下Java中的接口和抽象类抽象类不能用于实例化对象,抽象类往往用来表示抽象概念。举个例子,中国人(Chinese 类)和美国人(American 类)都有“吃饭”这个行为,因此可以先定义一个 Person 类,然后让 Chinese 和 American 都继承这个类。但如何在父类 Person 中定义“吃饭”这个方法呢?一般
130 0
|
6月前
|
机器学习/深度学习 编解码 自然语言处理
SAM究极进化版开源 | SAM与CLIP互相学习,带来最强Open-Vocabulary SAM,万物皆可
SAM究极进化版开源 | SAM与CLIP互相学习,带来最强Open-Vocabulary SAM,万物皆可
498 0
|
5月前
|
人工智能 安全 数据库
Windows的新Recall功能:隐私和安全的噩梦?
Windows的新Recall功能:隐私和安全的噩梦?
|
Java 数据库
java实现数据库排序功能|compare排序出现IllegalArgumentException: Comparison method violates its general contract
java实现数据库排序功能|compare排序出现IllegalArgumentException: Comparison method violates its general contract
|
6月前
|
关系型数据库 Linux PostgreSQL
linux postgresql 常用指令
linux postgresql 常用指令
34 0
|
弹性计算 安全 数据安全/隐私保护
安装 Putty 工具远程连接 ECS 服务器 | 学习笔记
快速学习 安装 Putty 工具远程连接 ECS 服务器
253 0
安装 Putty 工具远程连接 ECS 服务器 | 学习笔记
|
分布式计算 数据挖掘 云计算
重看SAAS
重看SAAS
46 0
|
Ubuntu 网络协议 Linux
13-Window10安装CentOS(服务器版)
13-Window10安装CentOS(服务器版)