主页 > imtoken官方地址 > 比特币交易过程是如何完成的

比特币交易过程是如何完成的

imtoken官方地址 2023-01-17 12:40:29

本文解释了比特币交易的内容、目的和结果。以下解释适用于新手和中级比特币用户。

作为加密货币用户,您需要熟悉交易的基本原理 - 以便您对这种不断发展的创新充满信心,并作为理解新兴的多重签名交易和合约的基础,这两者都将在本文后面进行探讨系列。这不是一篇纯粹的技术文章,解释将集中在您需要了解的有关标准比特币交易的知识——我们通常进行的支出交易——我们将掩盖您可以安全忽略的内容。

本文底部的信息图全面展示了从钱包到区块链的整个比特币交易流程。

注意:即使是核心开发人员也承认,用于描述事务及其组件的某些语言可能会导致人们误解实际发生的情况。在下面的解释中避免了这些误解。因此,在尝试使描述尽可能简单的同时,借助一些图表,让我们直接进入。

术语和缩写的定义 什么是比特币交易?为什么?

1.定义

比特币交易是向网络广播的签名数据,如果有效,最终会出现在区块链的一个块中。

2.目的

怎样用比特币进行交易

比特币交易的目的是将一定数量比特币的所有权转移到一个比特币地址。

3.结果

当您发送比特币时,您的钱包客户端会创建一个单一的数据结构,即比特币交易,并将其广播到网络。网络上的比特币节点将对交易进行中继和重播,如果交易有效,节点会将其包含在他们正在挖掘的区块中。通常,在 10-20 分钟内,一笔交易将与区块链中的一个区块中的其他交易一起包含在内。此时,收款人可以在他们的钱包中看到交易金额。

4.示例

这是今年早些时候包含在区块链中的示例交易:

怎样用比特币进行交易

此标准交易的主要组成部分采用颜色编码:

比特币交易输入和输出

首先,关于交易的四个公理:

进入我们钱包的金额不像实体钱包中的硬币那么混乱。收到的金额没有混合,但与钱包收到的确切金额保持独立和不同。这是一个例子:

例子:

您创建一个全新的钱包并立即收到三个 0.01、0.2 和 3BTC 金额怎样用比特币进行交易,如下所示:您将 3BTC 发送到与钱包关联的地址,并将 Alice 支付到另一个地址。

怎样用比特币进行交易

钱包报告余额为 3.21BTC,但如果你真正查看钱包内部,你会看到 - 不是 321,000,000 satoshi(321 mil satoshi),但三个不同的金额仍然通过它们的原始交易组合在一起: 0.01,0.2 和 3BTC。

收到的比特币金额不会混合,而是与发送到钱包的确切金额分开。上述示例中的三个金额称为其原始交易的输出。

比特币钱包始终保持输出独立且唯一。

输出输出是发送到比特币地址的金额(通过标准交易),以及一组解锁输出金额的规则。用比特币的说法,输出被称为“未使用的交易输出”或 UTXO。

怎样用比特币进行交易

可以使用与接收地址关联的私钥解锁标准交易输出。地址及其关联的公钥/私钥对将在本系列的后面部分介绍。目前,我们只关注总数。

例子:

让我们考虑一个跟踪资金的示例,您将 0.15BTC 发送给 Bob。

正如我们所看到的,你的钱包不会从未区分的 3.21 亿聪中选择 15 百万 miloshi (0.15 BTC) 来弥补钱包余额。相反,钱包从钱包中包含的三个现有输出中选择一个支出候选者。因此,它选择(由于各种原因,现在不重要)0.2BTC 输出。钱包将解锁 0.2 BTC 输出并使用整个 0.2BTC 作为新的 0.15 BTC 交易的输入。0.2BTC 输出花费在这个过程中。

由您的钱包创建的支出交易将发送 0.15BTC 到 Bob 的地址 - 这将作为输出存入他的钱包 - 等待最终支出。

怎样用比特币进行交易

0.05BTC 差额(0.2 BTC 输入减去 0.15 BTC 输出)称为找零,交易将通过新创建的地址发送回您的钱包。更改后的 0.05 BTC 金额将作为新输出存入您的钱包 - 等待最终支出。所以,现在你的钱包将显示以下内容:

“等待花费”的三个输出中的每一个都被锁定到其接收地址,直到其中一个或多个被选择作为新花费交易的输入。

在后台,不同的钱包客户端在选择 UTXO 作为新交易的输入时应用不同的逻辑规则。一个理智的钱包策略是尽可能首先使用旧的 UTXO,但实现方式不同。我们现在不关心选择 UTXO,因为我们的目标一直是强调我们的钱包收到的金额是独立且不同的。

比特币交易如何完成的总结

各种收到的金额不会像实体钱包那样混在一起。相反,当我们花费比特币时,收到的金额(UTXO)单独使用(或组合使用)。在创建支出交易时怎样用比特币进行交易,我们的钱包会选择一个 UTXO(对于我们想要发送的金额而言它具有足够的价值),并且通常会创建两个新输出:一个用于接收方,另一个用于我们收到的钱包更改。更改成为我们钱包中全新的 UTXO,我们发送的金额成为锁定到收件人地址的 UTXO - 这可能与钱包相关联,例如冷存储。用作支出交易输入的原始 UTXO 将被“支出”并永久销毁。

这是对钱包软件如何处理输出(UTXO)的介绍。一旦选择了 UTXO 进行支出,它就需要与接收它的地址相关联的私钥。此私钥被兑换为 UTXO,并允许它成为新支出交易的输入。以前的交易输出被重用作为新交易的输入的机制是比特币协议功能的核心——完全符合 Satoshi 的设计。

我们建议您浏览我们的各种编程语言的区块链教程和区块链技术博客,以了解有关区块链、比特币、加密货币、以太坊和智能合约的更多信息。