清华启迪区块链科技园:如何一笔链上交易实现BTC、ETH、BTM、EOS多种资产互换——图解BUTXO技术

  

  如何一笔链上交易实现BTC、ETH、BTM、EOS多种资产互换——图解BUTXO技术,上周文中的两张表格(输入结构和输出结构)在阅读界面显示压缩状态,因此今天文章重发一遍。

  聊聊UTXO

  众所周知,比特币的交易模型和一般的以账户为中心模型不同,比特币的交易都是基于未花费输出(UTXO)。在比特币没有余额概念,只有分散到区块链里的UTXO。如下图所示:

  

  用户在交易的过程中,会将之前接受的输出使用自己的密钥进行解锁作为自己交易的输入,从而别人会得到这笔输入作为以后的输出。

  比原链的BUTXO

  比原链借鉴了比特币UTXO的思想,但是为了解决特有的问题进行创新,从而成为另外一套体系。

  比原链需要满足多资产交互的场景,那么需要从底层就支持多资产,在比原链的BUTXO中会存在一个Assert ID的字段,从而标记是哪种类型的资产。

  从广义上来看BUTXO分为上层的输入输出和内核的哈希值,上层的输入输出代表交易,而内核中的哈希值则用作验证,狭义的BUTXO则是指内核中的哈希值。

  

  交易层的输入输出将会记录上链,每个节点都会同步到该信息,并将相关的信息hash后写入内核,方便每笔交易的验证。

  输入结构(以钱包为例)

  

  输出结构

  

  内核层中存储的BUTXO是对交易资产类型,资产数量,地址和资产混合的一个哈希,代表的是对某个交易中某地址拥有某一种资产的一个证明,存这个结构可以方便其他节点进行验证,同时也节约了存储的空间。

  BUTXO=HASH(AssertID,Amount,Address,Mux)

  Mux时一个资产混合器结构的哈希值,这里不做展开。

  交易过程详解

  我们来解析一下,假设从Alice转账给Bob 5个BTC资产,然后Bob转账2个BTC和30个BTM资产,这个过程中BUTXO会如何变化?

  

  首先,Alice的账户中含有一笔10个BTC的输出和一笔200BTM的输出,在内核中也保留了这两笔输出的BUTXO(哈希值)。

  Alice使用自己的公钥和签名解锁这两笔未花费的输出,将五个比特币转到Bob的地址(将这些比特币加锁,只能由Bob的私钥签名能解),同时使用自己的BTM给矿工付手续费(手续费的直接进入coinbase的UTXO这里不做展现)。

  这个时候我们发现内核当中的BUTXO已经变化了,重新生成了两个和Alice地址相关的BUTXO,同时生成了一个和Bob地址相关的BUTXO,这个BUTXO将只能被Bob使用(只有Bob的私钥签名可以解锁)。

  然后Bob再转移2BTC和30个BTM给其他人,交易发出后,Bob的5BTC和50BTM的BUTXO被删除,重新生成了2个找零的BUTXO,又多了两个对其他地址的BUTXO,作为支付给其他人的凭证。

  地址即脚本

  在比特币的交易过程中,为了防止UTXO被任意使用,需要使用加锁脚本进行锁定,等到使用时再由拥有者拿签名进行解锁。

  比原链也是如此,但是比原链不会直接在BUTXO中放入脚本,而是由系统直接将地址默认关联到某个脚本(P2WSH)。

  

  通过Bob地址生成的默认加锁脚本只有Bob的私钥签名才能解锁,同样的Cari的脚本只有她自己才能解锁。

  基于BUTXO的展望

  Butxo模型天然设计成针对多资产的交互,所以后续有很多的组合和玩法,正如之前钱包高级教程中的资产上链,多资产批量交易和资产销毁,这里通过BUTXO来探索更多的玩法。

  1、链上交易

  通过比原多资产输入输出的恒等原理(既在一笔交易中,各种资产的输入和输出必须相等,否则交易失败)来设置一个智能合约,通过程序自动完成多种资产的交易过程。

  比如Alice想要用1个BTC,10个ETH换取1000个EOS和10000BTM,她只需要这么设置一个如下合约:

  

  当有人在该智能合约里面填入10000BTM,1000个EOS的输入,1个BTC和10个ETH的输出,那么该交易自动生效,Alice账户被扣除一个BTC和10个ETH并获取10000BTM和1000个EOS,交易成功。这个过程无需第三方协助,使用的是比原链交易功能,信任来源于可执行的智能合约代码。

  2、基于区块高度的自动资产发放

  比原链每2.5分钟产生一个区块,通过难度值的调整,从长期来看使用区块高度作为一个时间的衡量是可以的,那么我们可以设置一个基于区块高度的资产自动发放系统,通过实时监测当前的区块高度,判断是否想要发放资产。

  

  3、基于外部条件的资产对赌

  根据获取真实可靠的外部信息,双方对资产进行博弈,比如Alice和Bob将一定的资产混入一笔交易中,当满足A条件,全部打入Alice账户,如果满足B条件,则全部打入Bob的账户。

  

  小结:

  1、没有比原币,只有BUTXO,和比特币一样,比原链没有余额的概念,只有一个个的BUTXO。

  2、BUTXO天然支持多资产的交互,在一笔交易中可以进行多种资产的交互。

  3、使用BUTXO的多资产交互能力,我们可以产生很多新的资产玩法,展望部分介绍了三种可行的玩法,希望抛砖引玉,获得更多好点子。

  更多专栏文章:http://www.qukuaiwang.com.cn/zhuanlan

  声明:本文由入驻区块网专栏作者撰写,观点仅代表作者本人,绝不代表区块网赞同其观点或证实其描述。

文章内容系本站作者个人观点,不代表本站对其观点赞同或支持,文章的版权归该作者所有。如需转载,请注明文章来源。本文地址:http://www.cis.net.cn/kejikuaixun/43920.html
留言与评论(共有 条评论)
验证码:

最新文章

如何一笔链上交易实现BTC、ETH、BTM、EOS多种资产互换——图解BUTXO技术

科技快讯
如何一笔链上交易实现BTC、ETH、BTM、EOS多种资产互换——图解BUTXO技术,上周文中的两张表格(输入结构和输出结构)在阅读界面显示压缩状态,因此今天文章重发一遍。聊聊UTXO众所周知,比特币的交易模型和一般的以账户为中心模型不同,比特币的交易都是基于未花费输出(UTXO)。在比特币没有余额概念,只有分散到区块链里的UTXO。如

区块链的社会意义:认清协议中政治差异的意义

科技快讯
前言本文是“区块链的社会意义”系列的第三篇,之前以太坊创始人vitilik说过,“社区比代码更重要”,在区块链的开源世界里,技术是自由流动的,而人类的思维的限制是固定的,社区隐喻着一个更重要的因素:政治。本文就立论于此,简述了区块链协议中政治差异的重要性。1.永恒的左右之争人类从来没有在政治上达成过一致。在价值取向、税收和

爆发空前“燃料危机”,面对高昂Gas费,以太坊怎么办

科技快讯
以太坊正处于“燃料(gas)危机”之中。至少,MyCrypto的首席执行官泰勒?莫纳汉(TaylorMonahan)是这么认为的。本周他在推特上提醒用户在使用这个世界第二大的区块链时设置交易费用的最佳实践。这种担忧绝非危言耸听,而是有根有据的——由于以太坊网络环境的变化

RNTB正式登上新国际交易所

科技快讯
随着BitRent平台正式进军房地产市场以来,备受全球各地产界与区块链行业投资人的喜爱,近日,BitRent平台的RNTB于2018年4月17日正式登上新国际交易所EtherDelta平台。EtherDelta(以德)是

万向系(万向鲁伟鼎)

科技快讯
“数字经济”,逐渐成为了热词。什么是数字经济?数字经济诞生在数字世界,依据数学算法来运行。数字经济不能等同于互联网经济,也不是“互联网+”那么简单。我非常认同中国科学院王飞跃研究员的观点:数字世界与物理世界是一种平行世界的关系,它是物理世界的映射,

黑吃黑只服币圈,Bit-Z镰刀手又入场

科技快讯
交易所是加密数字货币产业中的关键一环,也被称为最大的中心。它掌握着这个市场中最强的盈利能力以及在缺乏监管背景下极大的话语权与操纵空间。此前Fcoin这匹黑马曾打破交易所平台格局,其采取的“交易挖矿”模式吸引了大批用户,日交易额曾超过排名第2-9位交易所

风险资本主义解锁:使用区块链技术降低进入门槛

科技快讯
科西莫风险投资公司的CiaranHynds谈如何在区块链的作用下,让创投资金变得更加民主多年来,风险资本家一直投资于早期科技公司,允许优步、Airbnb和Twitter等家喻户晓的公司从小规模的初创企业转型为行业巨头。不过,尽管围绕风投基金的兴趣逐渐增加,风投的投资模式基本上保持不变。事实上,尽管互联网等科技力量正在走向民主化,风投基金

房间里的EOS大象

科技快讯
在过去几天里,我越来越关注前21名EOS超级节点的分布和特征。一些优秀的超级节点,为EOS社区带来了巨大价值,目前正被挤出前20位。而与此同时,一些超级节点缺乏基本的治理披露,为社区的价值增加而言,它们贡献不足;或者有些是过去两周才正式宣布参选的超级节点,他们正在获得让人难以置信

比特币ATM机在希腊蓬勃发展

科技快讯
在过去的几个月里,加密ATM机在全球金融市场的各个地区变得越来越受欢迎,许多市场参与者也加入了进来。加密自动取款机允许用户买卖他们的数字资产,如比特币、莱特币、以太坊、达世币等。希腊是这些机器迅速普及的国家之一。是什么让它们嗨起来的?目前,希腊塞萨洛尼基地区有1台加密ATM机,雅典有4台。媒体报道显示,在不