首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CyberKuber白话区块链系列课程1:流动的黄金UTXO

前言

流动的黄金,这个比喻与谷歌的TensorFlow有点异曲同工,在Ulord系统里,就好像有很多的UTXO在流动。要想了解Ulord区块链的运行的基本原理,UTXO是一个很好的切入点。

在Ulord的转账过程中,有一个特别值得一提的概念,叫UTXO。了解过比特币的小伙伴应该比较清楚,UTXO是比特币的原创,那么对于跻身于比特币系的Ulord公链来说,自然免不了涉及到这个天才设计。前段时间,在进行在Ulord主节点申请过程中,有一个环节就是要锁定10000UT(UT是Ulord公链的通证,UlordToken的缩写),作为主节点的基本要求,然而,这看似十分简单的动作,却闹出了不少“笑话”,一些小伙伴为了凑齐10000UT,转入转出,来来回回折腾了无数次,最后还是求助技术人员才把这“庞大的工程”完成。那么,到底为什么会出现这种本不应该出现的难题呢?仔细想来,罪魁祸首应该就是这个UTXO!

账户余额模型

在详细介绍UTXO之前,我们先从熟悉的东西入手,看看传统的账户余额模型是怎么工作的。在现实生活中,银行卡采用的账户余额模型,想想下面一种场景:Cyber要给乐淘淘转100元。

首先, Cyber有一个账户,假设里面有余额500 元,乐淘淘也有一个账户,假设有余额200元。当Cyber付给乐淘淘100元时,系统会做如下操作:

1. 检查Cyber账户余额为500元,大于100元,将Cyber账户里减去100元(如果加上手续费,Cyber的账户的实际余额应该小于400元);

2. 在乐淘淘的账户里增加100元(乐淘淘的账户余额为300元)。

账户余额模型可以通过中心化(传统银行系统)或者去中心化(以太坊)的方式实现,不同点主要是在于谁来记账。

UTXO模型

现在来看看UTXO,UTXO 是 Unspent Transaction Output的缩写,其中TX表示Transaction。相似的应用场景,Cyber要给乐淘淘转100UT。在UTXO模型中,系统会有哪些流程呢?

首先,Cyber有一个UT钱包,钱包里面可使用的UT是500。乐淘淘有一个UT钱包,钱包内有300UT。注意了,需要敲一下桌子!Cyber的UT钱包里面的500UT,其实在Ulord区块链上记录的是一笔笔的转账,假设Cyber的UT来源是李雷转入的200UT和韩梅梅转入的300UT。这个时候,Cyber拥有两个UTXO的使用权,一个是200UT,一个是300UT。每一个UTXO是一个整体,只能作为一个整体使用。好的,接下来,我们再来看看,Cyber给乐淘淘转100UT时,Ulord系统做了什么:

1.选择一个大于100UT的UTXO,这里选择200UT的这个UTXO;

2.创造一个100的UTXO给乐淘淘,同时创造一个99.99UT的UTXO给Cyber作为找零(这里假设系统收取Cyber的转账手续费为0.01UT,实际上没这么高,多少还可以自己调节!)。

我们再来看看转账结束后两个人的UTXO变化,Cyber拥有两个UTXO:一个99.99UT,一个100UT;乐淘淘增加了一个100UT的UTXO。

从上面的例子我们可以看到,其实UTXO就像纸币,每一个UTXO都有自己的面值,但和纸币不同的是,在一次支付过程中有旧的UTXO被销毁,新的UTXO被生成。UTXO的面值是变化的,转账多少,新生成的UTXO面值就是多少。对比而言,纸币在支付的过程中,没有新的纸币产生,而是把支付方的纸币给到收款方,找零是由收款方给到支付方,且纸币的面值是固定有限的。

说到这里,大家应该大概知道了UTXO模型的一些特性,这里我总结一下:

1.每一个UTXO只能以一个整体使用,像使用一张纸币;

2.一个交易过程,有旧的UTXO销毁,新的UTXO产生,销毁与产生的UTXO等值(不考虑手续费);

3.UTXO有自己的“面值”,每次支付可以用掉多个UTXO,保证支付足够多的UT。

结束语

随着我们对UTXO的了解,又产生了一个新的疑惑,既然每个交易都是有UTXO的销毁与产生,且输入与输出的UTXO面值相等(不考虑手续费的情况下),以保持系统内部Token的数量恒定,那么这些Token是怎么来的呢?这好像类似于一个鸡生蛋的问题。其中的缘由就是coinbase 交易,关于coinbase 的相关介绍,请关注下一篇文章《CyberKuber白话区块链系列课程2:动力的源泉coinbase 交易》。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180928A1AEWB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券