Realtime Price(实时价格):

科普 | 解决去中心化数字货币双重支付的两大利器——UTXO与时间戳

作者:OK情报局

发布时间:2018年11月24日

网络来源:来自链得得内容开放平台“得得号”

2008年,有个叫中本聪的人发表了一篇论文《比特币:一个点对点的电子现金系统》,这篇论文描述了比特币的详细操作方案,标志着“比特币”的诞生。

比特币白皮书,也就是中本聪写的那篇论文《比特币:一个点对点的电子现金系统》,看似非常复杂,其实通过白皮书的简介,我们可以发现,中本聪想要解决的终极问题是“去中心化问题”,去中心化是他的终极理想。但是,想要实现去中心化,要面很多,对现在中心化体系来说,不是问题的问题。在中本聪看来,其中最大的问题就是“双重支付”的问题,就是我们说的“双花问题”。

“双花问题”是怎么回事?

双花问题,简单讲就是一笔钱能被花两次三次很多次。为什么双花问题会成为比特币系统里面一个这么重要的问题呢?原因就在于,比特币,是虚拟货币,它是虚拟的,通过代码形式呈现出来的,是可以被复制下来的。一旦被攻破了代码漏洞,那么就可以循环使用同一笔比特币,这样一来,比特币就失去了货币的价值了。我们想一下,要是一笔钱可以花很多次,你有500块钱,你去买一件500块钱的衣服,还能循环使用,再去买一双500块钱的鞋,这样一来,钱的价值在哪里呢?它就没有价值了啊!

所以,中本聪在设定比特币系统的时候,他所有的技术手段基本上都是围绕着解决双花问题的,来保护比特币作为一种货币,它自身的一个价值。

其实,这个双花问题在我们现在的中心化世界里面根本不是问题,因为有银行啊!钱的交易结算都是通过银行,很安全,有问题直接找银行。但是在去中心化世界里面呢,没有银行这样一个中心机构,还必须保证一笔钱只能花一次,怎么样实现在去中心化的前提下,杜绝“双花问题”呢,这是一个难题。

这里插一句,中本聪为什么如此执着的追求“去中心化”呢,自找烦恼吗?不是,他希望能够通过去中心化,来解决一些社会问题,其中最主要的问题就是因为权力机构过量发行货币造成的通货膨胀。

所以总结一下他的逻辑:中心化的货币增发导致通货膨胀——所以我们要实现去中心化——去中心化要面临很多问题,最大的问题是双花问题——所以我们要解决双花问题——怎么解决双花问题?

这里,中本聪就引入了UTXO和“时间戳”概念,依靠这两种手段来解决双花问题。

UTXO

UTXO的中文意思叫作“未花费的交易输出”(Unspent Transaction Output)。UTXO是数字货币中的账户模型,这个模型和我们现在银行的账户模型是不一样的。

拿转账来说,现在的情况是:我要给小赵转2000块钱,我要从我的招商银行卡里面给她转账,我的卡里面有5000块钱,转给她2000块钱以后,我的招商银行账户就被扣除了2000块钱,还剩下3000块钱。

那么如果是基于比特币的UTXO,我有5000比特币,我给小赵转2000比特币,2000比特币消耗掉了对不对?注意,这2000不是从我这5000总数里面扣除的,而是:我的比特币总额会分成两份(一份2000,一份3000),这就是所谓“生成两个新的UTXO”:小赵收下2000比特币,我自己收下3000比特币,3000算是给我的找零。

转账成功以后,我给小赵的2000比特币目前已经使用过了,被消耗掉了,就不能再叫UTXO了,而找零给我的3000比特币目前我还没有使用,所以它还能称作UTXO ,也就是未花费的交易输出。

那么,如果我总共有5000比特币,我全部转给小赵,那么就只需要生成一个新的UTXO给小赵就可以了,不需要找零了。

基于UTXO,每笔交易出现,都要确认比特币之前的情况,检验比特币是不是存在于我的UTXO中,如果不存在,那么系统就会拒绝你的交易行为。这样一来,每笔交易的输入和输出都是有关系的,可以通过UTXO不断向前追溯,一直追溯到比特币诞生的时候,也就是挖矿的源头。

如果我想用同一笔UTXO发送给两个人,那么系统只确认先接受到的那一笔,一旦确认UTXO已经被消耗了,那么你就不可以再把它转给下一个人,这样就避免了双重支付的问题。

时间戳

为了防止双花问题,系统会给每一个区块的交易信息都自动加上时间戳,给它打上时间烙印,这个时间你花了多少钱,花了就是花了,已经记录上了,不能再用它买别的东西了。

具体怎么记录的呢?其实还是通过计算,把时间戳和区块上的其他交易信息,通过复杂的计算,得出一个加密数值,这个加密数值叫作“哈希值”,每一个新区块都包含前一个区块的哈希值,由此形成一条区块链。

所以我们说:比特币系统,实际上是一个层层嵌套、永不停歇的、非常强大的时间戳系统,它利用的是时间戳保证每一个区块按照时间顺序链接成“链”(也就是区块链)。

从这里我们这样理解,时间戳,字面意思是给区块打上时间印记,它的实际作用在于:为之后计算哈希值提供一个重要参数,是计算和核对过程中一个必不可少、非常重要的信息。

最后,我们总结一下今天的内容。今天主要介绍了两个名词:UTXO和时间戳,这两个名词呢,是解决双花问题的重要手段,能够保证比特币可以在没有第三方机构的情况下,不被多次使用。

相关文章:

比特币布道者

比特币的坚定信仰者!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注