一张老图告诉你比特币交易流程是什么?

资讯 11个月前 manoon
0

带你看一张老图,挺经典的。理解比特币交易过程可能过于直观和准确。话不多说,看图。

一张老图告诉你比特币交易流程是什么?

(图片来自比特币挖矿指南。Alec Liu)

自 2009 年 1 月开始比特币交易比特币网络已经平稳运行了 7 年多,没有专门的维护,在此期间没有出现停机。图为Bob从Alice那里接收比特币的场景,详细描述了比特币区块链的工作方式,并解释了所涉及的钱包地址(Wallets and Addresses)、私钥和私钥(Private Key)。和公钥)、加密哈希(Cryptographic Hashes)、随机数(Nonce)等概念。

钱包和地址

1、Bob 和 Alice 的笔记本上都有比特币钱包

2、wallet 是一个允许用户访问多个比特币地址的文件。

3、地址是一串字母和数字。

4、 每个地址都有自己的比特币余额。

创建新地址

5、Bob 创建一个新的比特币地址来接收 Alice 的付款

私钥和私钥

6、Bob 创建新地址时,他真正做的是生成一个由公钥和私钥组成的密钥对。如果使用公钥(只有自己知道)对消息进行签名,则可以通过对应的私钥进行验证(大家都知道)。 Bob 的新地址代表一个唯一的私钥,对应的公钥存储在他的钱包中。公钥允许每个人验证由公钥签名的消息的有效性。

7、 可以将地址视为建行帐号,但它的工作方式略有不同。比特币用户可以随意创建多个地址,并鼓励为每笔新交易分别创建一个新地址以提高隐私。只要没人知道 Alice 属于哪个地址,她的匿名性就受到保护。

提交付款

8、Alice 告诉她的比特币客户,她想向 Bob 的收款地址汇款。

9、Alice 的钱包包含她每个比特币地址的公钥。比特币客户端使用 Alice 这次使用的支付地址的公钥来签署她的交易请求。

10、此时,网络上的任何人都可以使用私钥来验证交易请求确实来自合法的帐户所有者。

验证交易

11、Gary、Garth 和 Glenn 都是比特币矿工

12、 他们的笔记本将过去 10 分钟内的交易打包成一个新的交易块。

13、民工的笔记本设置为估计密码哈希函数。

14、密码散列函数将数据集转换成具有特定宽度的字母和数字串,称为散列值。源数据的微小变化将完全改变哈希值的结果。并且基本无法预测初始数据集将形成的具体哈希值。

15、为相同的数据创建不同的哈希值。比特币使用随机数来实现这一点。随机数是在哈希估计之前添加到数据中的随机数。改变这个随机数会形成一个非常不同的哈希值。

16、 每个新的哈希值都包含有关所有先前比特币交易的信息。

17、民工的笔记本根据上一个区块的哈希值、新的交易区块和随机数估计新的哈希值。

18、 就估计而言,创建一个散列是微不足道的,但比特币系统需要一个新的散列值来具有特定的格式——它必须以特定数量的 0 开头。

19、Miners 很难预测哪个随机数会形成从所需数字 0 开始的哈希值,因此他们被迫创建许多具有不同随机数的哈希,直到得到一个有效的哈希。

20、 每个区块都包含一个名为 coinbase 的初始交易,即支付 50 比特币给获胜矿工——在本例中为矿工 Gary。格雷的钱包里生成了一个新地址,里面的余额就是新挖出的比特币数量。

交易验证

21、 随着时间的推移,Alice 给 Bob 的汇款被其他最近的交易埋没了。任何想要改变历史交易细节的人都必须重做Gary的工作,然后重做下一级矿工的所有工作,因为所有的改变都需要一个完全不同的获胜随机数。这样的操作几乎不可能成功。

注:仅在比特币发行的第一阶段,每个区块的 coinbase 支付给获胜矿工的新币数量为 50。从 2009 年 1 月 3 日创世区块的创建开始,新币的发行比特币大约每四年减半。 2012 年 11 月 28 日,第 2 阶段开始,每个区块包含的新币减少到 25 个。这是历史上第一个减半;预计今年7月11日,挖矿奖励将再次减半;直到第 33 次减半比特币交易网,每个区块将从 0.0021 新币的形成直接减少到 0 比特币总数固定在近 2100 万个。

从里面可以看出,所谓的比特币交易,就是将钱从一个比特币钱包转移到另一个比特币钱包,每笔交易都有数字签名,以保证安全。一笔交易一旦发生,就对所有人开放,每笔交易的历史都可以追溯到相应比特币最初被开采的那一刻。持有比特币等待其升值确实是个好主意,但如果有人不使用这些货币进行交易,那么比特币就没有实际意义,只需阅读一些提示即可。

世界上没有货币,只有交易记录

比特币不存在于任何地方,即使是在硬盘上。如果有人持有比特币,那么虽然他们有一个特定的比特币地址,虽然这个地址中并不直接存在所谓的货币,但该地址就相当于你的建行账户。但是世界上没有任何有形的实物或数据文件可以称为“比特币”。

有的只是各个地址之间的汇款记录,余额有增有减。所有的交易都存储在一个非常大的账本文件中,这个文件被称为“区块链”。如果你想知道一个比特币地址中的余额,那么这个不是直接存储在比特币地址中的,我们需要在区块链中进行估算。

为什么交易有十分钟的等待时间

因为交易在经过矿工验证确认后才会被纳入区块链,所以必须等待矿工挖矿成功。

比特币合约设定挖矿完成时间约为10分钟。因此,商店可能会等到您的交易块得到确认后才会发货给您。但也有一些商店不会让你等待。基于对您的信任,我相信您不会在交易确认之前拿同样数量的钱花在别处。但通常这只适用于小额交易。

如果输入输出的数量不相等怎么办?

因为比特币只以交易记录的形式存在,所以在你的一个地址中有很多交易。也许 Jane 向 Alice 发送了 40 个比特币,Lucy 发送了 40 个比特币,Eve 发送了 20 个比特币。这些是不同时间的不同交易。它们没有合成到爱丽丝的钱包中。有 100 个比特币。货币文件一直作为独立的交易记录存在。

当 Alice 想要将硬币转移给 Bob 时,她的钱包会找到几笔交易并将它们的金额添加到 Alice 想要转移的金额中。当然,也有可能当 Alice 想转账给 Bob 时,她找不到几笔交易并添加到转账金额中。也许她想转账30个币,但钱包里没有单笔交易,或者多笔交易的总和正好是这个金额。

同时,她也无法将一笔交易削减成小额交易。就是这样,你不能把一个大的交易分成多个小额,你必须每次都花掉整个交易。不过别怕,系统会把额外寄出的零钱给她,然后还给你。

Alice 然后可以将 Jane 发给她的两个硬币发送给 Bob,所以 Jane 是“输入”,Bob 是“输出”,“金额”是 30 个硬币。这时候,爱丽丝真的要汇出数量了。这样,Alice 的钱包会为她的交易手动创建两个输出:给 Bob 30 个硬币,并将剩余的 30 个放在一个新地址中。这是恢复的更改。

交易过程是否需要任何费用?

交易费用来自各种激励措施的组合。有些钱包允许您自动设置手续费。交易中对方未收到且找零不退还的部分为手续费。这笔钱最终将由那些有权保留账户的幸运矿工获得。目前,许多矿工不收取费用。但是,随着每次挖矿成功,系统奖励给矿工的币不断减少,未来肯定会有更多的矿工支付佣金。一直令人惊讶的一件事是,估算矿工费用的过程非常复杂且难以理解。但是后来你对合约做了相应的修改,现在软件可以手动处理矿工费问题了。

你能开支票吗?

比特币系统的设计没有考虑支票的问题。但是,在0.9 版本的比特币中,支付方式略有变化,使整个过程更加方便。 Bitpay等支付服务商也提供了基本交易流程所没有的功能,例如提供支票或交易确认页面。

我可以发送少量比特币吗?

比特币理论上可以无限切割。目前比特币的最小单位称为“中本聪”,相当于0.00000001比特币。

版权声明:manoon 发表于 2021-08-19 6:02:02。
转载请注明:一张老图告诉你比特币交易流程是什么? | 198区块链导航

暂无评论

暂无评论...