比特币、以太币存放在区块链的何处?

我们常常听到某一间商店、电商等,已经开始接受虚拟加密货币的支付,又或者是您可以拿虚拟加密货币,与交易所兑换法定货币等等行为,好像就像一间无形的银行,在背后支撑着虚拟加密货币的交易,您是否会不禁怀疑这些虚拟加密货币,到底存放在区块链的何处,又是如何进行交易的呢?本文章会介绍,目前交易量较大与知名的两大区块链系统(比特币、以太币),的虚拟加密货币存放机制。

比特币

在比特币系统里面,并没有一个帐户来储存一个帐号的余额,那要如何得知一个帐号有多少虚拟加密货币呢?比特币使用了UTXO(Unspent transaction output)模型,来作为其虚拟加密货币交易系统,简单来说就是你的帐户有多少Bitcoin,是来自于上一个交易输出的总合,下图为UTXO的交易模型示意图,可以看到交易1(TX 1)的input0,是来自于交易0(TX 0)的output0。

UTXO (图片来源:bitcoin.org )

我们用一个简单的例子来介绍它,Mark给Alice 3个BTC,而Jordan给Alice 7个BTC,所以我们可以说总合起来的这10BTC为UTXO,当Alice要把给Julia 10个BTC时,就会创建TX3,并把TX1的3块BTC,与TX2的7个BTC当做TX3的input,而比特币系统透过UTXO可以防止双花(Double Spending),在交易的过程中认证节点(矿工),会检查其他交易在先前的区块当中,已经使用过这笔Unspent Output,如果已经使用过,就不会执行这笔交易。

另外在区块链系统中,虚拟加密货币是可以分割的,所以如果Alice只想转9.5个BTC给Julia怎么办?答案是,比特币系统再创建TX3时,会再多一个output并把剩下的0.5BTC交易给Alice自己。

以太币

Ethereum系统在虚拟加密货币储存的方式,是使用帐户模型(Account model),也就是说每个使用者帐户,都会有一个对应的balance储存空间,这样就比较像是现实世界的银行户头一样,所以在Ethereum里面无论是进行交易、余额查询等,都是直接对帐户进行操作,这样的概念是比较直觉得,[图1]为在Ethereum节点里进行帐户余额查询。

图1. Ethereum节点进行帐户余额查询

在[图2]中,我们透过帐户0xca9b…,转500 ETH给0x8022…,并查询这笔交易的资讯,可以看到from 帐户0xca9b…,to 帐户0x8022… 500 ETH,非常的直觉。

图2. 交易查询

本文介绍了,两种区块链系统的交易模型,而每个方法都会有它的优劣处,比如UTXO方法在隐私层面就会比较高,而以太坊使用account model,有一个重要的优势是,使智能合约开发人员更容易开发智能合约。

本文链接地址:https://www.wwsww.cn/qkl/6406.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。