一览表
如果你想给你的朋友寄一些钱,在传统的银行系统中,你可能会使用银行应用程序或网站来转账,银行会处理幕后的一切。然而,您可以发送比特币,而不需要像银行这样的中央机构。比特币交易流程确保交易是合法、安全和透明的。以下是比特币交易概述:
- 创建交易:当您发送比特币时,您从数字钱包创建交易。此交易包括发件人地址(公钥)、收件人地址(公钥)、要发送的比特币金额以及您愿意向矿工支付的交易费用。
- 数字签名:为了证明您是要发送的比特币的所有者,必须通过加密过程使用您的私钥对交易进行签名。这被称为数字签名。保守你的私钥保密至关重要,因为它就像你的数字密码。
- 广播和确认:一旦签署,交易就会被广播到比特币网络并进入mempool,这就像等待确认的交易的等候室。矿工可以从mempool中挑选交易来形成新的块。第一个解决难题数学问题的矿工进入下一个区块。获胜的矿工广播了其新区块,这得到了网络其他成员的确认。
- 交易完成:一旦确认,新块将添加到每个网络参与者的区块链副本中。新区块中的交易被视为已确认。然而,通常的做法是等待至少六个确认(在包含您交易的块后再添加六个块)才能考虑最终交易。这是为了确保在区块链中出现临时分叉的情况下,交易不会被逆转或重复使用。
比特币作为比特币交易的记录存在
我们将比特币定义为数字签名链。每个所有者通过数字签名上一笔交易的哈希和下一个所有者的公钥,并将这些添加到硬币的末尾,将比特币转移到下一个。收款人可以验证签名以验证所有权链。
比特币本身并不“存在”。没有实体比特币,比特币所有者也没有“帐户”。相反,有一个“区块链”,你可以把它想象成比特币地址之间所有交易的分类账或记录。这些交易记录由比特币网络参与者(节点)更新,并随着余额的增加和减少在每个节点之间共享。你可以使用一个’块状浏览器如果您想查看任何给定比特币地址的历史记录以及当前余额。
公钥和私钥
要发送比特币,您必须能够访问与您要发送的比特币数量相关的公钥和私钥。当我们谈论某人“拥有”比特币时,它实际上意味着这个人可以访问一个“密钥对”,包括:
- 之前发送过一定数量的比特币的公钥(地址)
- 相应的唯一私钥(密码),该密码授权将之前发送到上述公钥(地址)的比特币发送到其他地方。
公钥,也称为比特币地址,是随机生成的字母和数字序列,其功能类似于电子邮件地址或社交媒体网站用户名。顾名思义,它们是公开的,因此您可以安全地与他人分享它们。事实上,当您希望其他人向您发送比特币时,您必须将您的比特币地址提供给其他人。私钥是另一个字母和数字序列,也是随机生成的。然而,私钥,如电子邮件或其他帐户的密码,应保密。永远不要与你100%不信任的人分享你的私钥,不要从你那里偷窃。
你可以把你的比特币地址想象成一个透明的保险箱。其他人可以看到里面的东西,但只有那些拥有私钥的人才能解锁保险箱以访问里面的资金。
交易输入和输出
虽然可以单独处理硬币,但对转账中的每美分进行单独交易是笨手的。为了允许价值被拆分和组合,事务包含多个输入和输出。通常,要么有更大的先前交易的单个输入,要么有多个输入组合较小的金额,最多两个输出:一个用于付款,另一个将更改(如果有的话)返回给发件人
让我们通过在实践中查看示例交易来分解比特币白皮书的这一部分:
马克想给杰西卡发送1个BTC。为此,他使用私钥“签署”带有特定交易详细信息的消息。此消息必须广播到网络,将包含以下内容:
输入。这包含有关之前发送到Mark地址的比特币的信息。例如,想象一下Mark之前从Alice那里收到了0.6 BTC,从Bob那里收到了0.6 BTC。现在,为了向Jessica发送1个BTC,可能有两个输入:一个是以前来自Alice的0.6 BTC的输入,另一个是以前来自Bob的0.6 BTC的输入。
数量。在这种情况下,Mark想要发送的金额是1 BTC。
输出。有两个输出。第一个是1 BTC到Jessica的地址。第二个是0.2 BTC作为“更改”返回给Mark。第二个输出计算为输入的总和[0.6 + 0.6 = 1.2],减去Mark想要发送的金额[1 BTC]。
这可能看起来很令人困惑,但这样做是为了提高效率——好消息是,发送或接收比特币不需要了解比特币交易的幕后细节。你的比特币钱包照顾好那个!
广播和确认
在上面的示例中,Mark(通过他的钱包软件)将向比特币网络广播他提议的交易。网络中一群被称为“矿工”的特殊参与者验证了Mark的密钥是否能够访问他之前收到他声称控制的比特币的输入(即地址)。矿工还收集了与马克同时向网络广播的其他交易列表,并将其形成一个区块。任何完成“工作证明”的矿工都可以提出一个新的块,该块将添加到链中或“附加”,并引用最后一个块。然后将该新块广播到网络。如果其他网络参与者(节点)同意它是一个有效的块(即它包含的交易遵循协议的所有规则,并正确引用上一个块),他们将传递它。最终,另一个矿工将在它上面构建,在提出下一个块时将其引用为上一个块。之前区块中的任何交易现在都将由下一个矿工“确认”。随着块被添加到链中,马克交易的确认数量会增加。
为什么一些比特币交易确认需要这么长时间?
每个块只能包含一定数量的交易,该数量主要由每个块的可用空间或1MB的“块大小”决定。有限的空间引发了收费市场,收取费用的矿工选择在下一个区块中只包括那些包含足够高费用的交易。因此,更高的费用可以激励矿工优先考虑您的交易。
请注意,块大小是一个任意限制,但比特币社区选择将块大小尽可能小,以便人们更容易操作比特币节点。比特币现金是比特币的分叉,块大小更大,因此交易费用要低得多。
比特币交易费用是多少?
发送比特币的费用可能从几美分到100美元不等。巨大变化的原因是比特币费用取决于供应和需求(即给定时间网络拥堵程度)和交易的“规模”。大小主要受输入的影响,因此,如果您的交易有很多输入,它将占用更多的块空间,并要求更高的费用。例如,如果您想发送10个BTC,与您想要发送1个BTC相比,您的交易很可能需要更多的输入。10个BTC交易可能包括5+2+1+1+1(因此总共5个输入),而1个BTC交易可能只是两个输入,如我们上面的Mark/Jessica示例。
许多钱包,允许用户手动设置交易费用。这有助于你避免超额支付。例如,如果您不着急,您可以将费用设置得更低,以便在网络拥堵较少时由矿工收取费用。您还可以通过增加费用来确保您的交易立即得到处理。
投稿者:撸币侠。 转载请注明出处:
https://www.lubibi.com/archives/4442.html