比特币交易是如何运作的

比特币交易是签名的信息,用于将一定数量的比特币的所有权从一个人转移到另一个人。交易记录发件人未使用的比特币的所有细节,其来源(由交易ID或交易的散列表示),转移金额和接收者的公共地址。它被广播到比特币网络进行验证,如果它通过,则将其放入称为区块链的在线分类账中进行传输。将验证的事务添加到信息块中,然后将该块链接到另一个块,创建一个块链(因此,区块链)。

为了更好地了解比特币交易的工作原理,我创建了图解和详细的指南,您将在下面找到它们。我在示例中使用了名称以便于阅读,但比特币交易的一个主要优点是匿名,因此各方从不知道每个人的个人信息。实际上,完成比特币交易所需的只是发件人和收件人的地址。

比特币交易的输入和输出

如果Alex向Natalie发送1比特币的付款,交易将如下所示:

这是比特币交易的简化版本,但我们可以添加更多信息以获得更大的图片。例如,Alex的1比特币的来源是他从Andreas收到的一笔付款,来自之前的交易。Alex从Andreas收到的东西在交易中被称为输入,而Alex对Natalie的支付称为输出。输入始终指示比特币的来源和数量,而输出指定目的地和用于收件人的比特币数量,娜塔莉。

知道这一点,我们现在可以这样说明比特币交易:

在我们的示例中,只有一个Input和一个Output,但比特币事务可以包含多个Inputs和Outputs。比特币交易有一个输入和输出列表,每个列表都有自己的索引或序列号。数字零(0)始终被视为第一个条目。

请注意Andreas和Alex之间第一笔交易的输入和输出的修改。Andreas有3个比特币,他在之前的交易中收到了客户的付款,他不得不向Alex发送1比特币的金额。比特币协议令人着迷的是加密货币不可分割。意思是,在这种情况下,Andreas不能只向Alex发送1比特币。相反,安德烈亚斯将所有3个比特币发送给亚历克斯,然后收到2比特币作为改变。

交易安全

在收到安德烈亚斯的比特币之后,亚历克斯必须证明他是他所声称的人,然后才将比特币发送给娜塔莉。为了做到这一点,Alex必须用他的私钥“解决”输入脚本。有关私钥的更多信息,请参阅我的比特币密钥和地址文章。

一旦Alex做到这一点,他就可以继续将比特币用在输入中。这个循环还在继续,因为亚历克斯将不得不为娜塔莉创建一个脚本来解决,以便她能够支付她从他那里收到的款项。其他信息 - 例如事务的版本,锁定时间(即将事务添加到区块链的指定时间)以及需要遵循的任何其他特定规则 - 是事务详细信息的一部分。

最后,就像每种金融交易一样,必须有某种形式的识别。在比特币的情况下,它以交易ID的形式出现。

一旦创建了事务,它就会被中继到网络上的其他节点以进行验证过程。反过来,比特币网络节点将调查拟议交易的信息以进行验证。那里有所有的信息吗?未使用的比特币数量是否实际可用且未花费?有双重支出的问题吗?交易签名是否有效?

如果经过验证,则将传递事务以进行确认,并将其添加到事务块以进行下一步。这是挖掘部分,这是交易最终进入区块链所必需的,以及我将在以后的文章中介绍的内容。