主页 > imtoken官方 > 比特币是如何转移的?原来如此! |区块链话题(3)

比特币是如何转移的?原来如此! |区块链话题(3)

imtoken官方 2023-07-14 05:09:47

我们在日常生活中经常会遇到转机的情况。这时候,我们可能需要做以下事情:

第一步要知道对方的账号、开户名和开户行名;

第二步,我们会使用手机银行或到柜台填写转账表格(网上转账需要填写的信息要少得多),包括转账金额、收款账户等信息;

第三步,我们将填写好的表格提交给银行服务器(交给柜台的营业员),然后等待处理完成通知结果并打印凭证。

这样,我们就完成了整个转账流程,其核心是基于账户的设计,主要依靠关系型数据库(RDBMS)来保证数据的一致性比特币怎么转给别人,即原子性、一致性、隔离性、持久性(酸)。

比特币网络与我们的传统机制有何不同?如何处理资产多次发行的问题?

让我们用一个例子来说明它。

比特币网络原理

例如,一个名叫小吴的人在山上采矿。今天,他很幸运,发现了一块价值一万元的稀有金属。为了感谢小三和小四借钱,所以他想分别给小三和小四转100块和400块钱,表示感谢。为了感谢小三,小四告诉小舞他想借他的工具(刚借工具就得到了400块钱),为了表达对小四的感谢小三转了150表示感谢。让我们看看账户是怎么处理的,比特币是怎么处理的。

基于帐户

首先有三个帐户:

然后小舞挖了一个区块,对于价值10000的稀有金属,账户状态如下(仅说明过程,其他除外):转账100和400比特币怎么转给别人,账户状态如下:

最后第四个转150给第三个,账户状态如下:

三人最终账户状态如下:

这是我们记账币系统的核心,只对账户做加减运算,账户状态为最终状态。每次开户前,都要对账户的余额做出判断,是否具备成立条件,就像上面小四转账给小三150一样,这个时候,如果小四的账户是150 不够,传输会失败。

未使用的交易输出(UTXO)

我们用基于账户的设计解释了上面的例子,让我们看看它在比特币网络中是如何处理的。

先说明Unspent Transaction Output,中文为“未使用的交易输出”,其中Transaction缩写为TX表示交易。

UTXO交易类型分为CoinBase,一种是挖矿获得的奖励,另一种就是我们所说的普通交易。 CoinBase 类型的交易必须是区块中记录的第一笔交易。接下来我们用UTXO解释上面的例子。

第一步,小舞挖出了一块价值一万的稀有矿石。我们使用下表来描述 UTXO:

第二步,第五步,小舞分别将100和400转给小三和小四。我们使用下表来描述 UTXO:

第三步,小四给小三转150,我们用下表来描述UTXO:

通过以上三个表格,我们可以得出以下结论:

1、 比特币网络中的普通交易必须有输入,输入为上一笔交易输出中的UTXO。前面搜索的是小吴转给小司的400对应的交易地址和序列号。

2、输入输出两边一定要平衡,还是小四转小三转150。根据输入,我们知道这次交易的输入是400,有两个输出项,一个是转移到第三个是150,另一个是第四个剩下的250。

3、 比特币网络中的账户余额是所有 UTXO 的总和。比如小三应该有250,是#10001#1加到#10002#1得到的,小四也有250,是#10002#2赚到的,因为#10001#2已经用完了。

经过上面的讲解,相信大家应该对UTXO有了一些了解。比特币网络中的转账如何?有什么问题可以在评论区留言,一起讨论吧。