主页 > 苹果下载imtoken教程 > 交易、区块、挖矿和区块链

交易、区块、挖矿和区块链

苹果下载imtoken教程 2023-04-22 06:14:48

目录交易、区块、挖矿和区块链

比特币系统的组成:

从比特币的千分之一 (1 毫比特) 到比特币的十亿分之一 (1 satoshi 比特币),比特币网络可以处理任意小额交易。

比特币交易

交易就像复式会计账簿中的行。每笔交易都包含一个或多个“输入”,即对比特币账户的负债。

在交易的另一端,有一个或多个“输出”作为贷方记入比特币账户。这些投入和产出(负债和信贷)的总和不必相等。相反,当输出累积略低于输入时,差额代表隐含的“矿工费”,这是将交易记入账本的矿工收取的小额付款。

该交易还包含每个传输的比特币的所有权证明(输入),它以所有者的数字签名的形式存在,并且可以由任何人独立验证。

在比特币术语中,“花费”是指签署交易:将先前交易的比特币转移给由比特币地址标识的新所有者。

交易是资金从交易输入到输出的移动。输入指代币的来源,通常是先前交易的输出。交易的输出是通过关联一个密钥给新的所有者钱。目标键称为 Encumbrance。这对资金增加了一个要求:在未来的交易中赎回资金需要签名,并且一笔交易的输出可以作为另一笔新交易的输入,这样当资金从一个地址转移到另一个地址的同事时所有权链。

常见的交易形式

1、最常见的交易形式是从一个地址到另一个付款的简单交易,其中通常包括对付款人的“更改”。所以它包含一个输入和两个输出:

输入:付款人;

输出:收款人,付款人;

2、another 一种常见的交易形式是将多个输入聚合为一个输出。相当于在现实生活中用很多小零钱换大面额。

钱包有时会使用此类交易来清除支付过程中收到的少量零钱。

3、最后,比特币账本中常见的另一种交易形式是将一个输入分配给多个输出。商业实体有时会使用此类交易来分配资金。

交易结构

钱包应用甚至可以完全离线创建交易。

比特币交易是在未链接到比特币网络的情况下创建和签名的。仅在执行交易时才需要将讲义发送到网络。

获取正确的输入

完整的钱包客户端包含整个区块链中所有未使用输出的所有建议副本。这允许钱包使用这些输出构建交易,并在收到新交易时快速验证其输入是否正确。但是,完整的客户端占用了太多的硬盘空间,所以大多数钱包使用轻量级客户端,只存储用户自己的未使用输出。

如果钱包客户端没有未消费的交易输出,它可以通过不同服务器提供的各种API或inode的JSON RPC API,从比特币网络获取这笔交易。

以下显示了使用 HTTP GET 命令向特定 URL 发出 RESTful API 的请求。此 URL 将返回地址的所有未使用输出以供使用作为输入,以便为需要此信息的任何应用程序创建新事务。

如上图,Alice 的地址 1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK 有一个未消费的输出(尚未赎回)。此响应包含事务索引。从 Joe 传输的未使用输入包含在此交易中。它的价值是一千万聪,或 0.10 个比特币。有了这些信息,Alice 的钱包应用程序可以创建一个新交易,将钱包转移到新地址。

Alice 的钱包在一个未使用的输出中拥有足够的比特币来支付一杯咖啡的费用。如果不够,Alice 的钱包应用程序会继续搜索一些未使用的小额输出,例如存钱罐中的硬币,直到找到足够的钱来支付咖啡。

创建交易输出

交易的输出是以包含该金额的脚本的形式创建的。只有在此脚本中引入答案后才能兑换。简单地说,Alice 的交易输出将包含一个脚本。该脚本说“在此输出中提出与 Bob 的公共地址匹配的签名的人将向任何人付款”。因为只有 Bob 的钱包的私钥可以匹配这个地址什么是纳米比特币,所以只有 Bob 的钱包可以提供这个签名来换取这个输出。因此,Alice 将打开一个需要 Bob 签名的输出。

此交易还将包含第二个输出。因为 Alice 的金额是 0.10 个比特币的输出形式,对于一杯 0.015 个比特币的咖啡来说太多了,所以需要将 0.085 个比特币换成 Alice。 Alice 的钱包在支付给 Bob 的同一笔交易中为她的零钱创建支付。可以说,爱丽丝的钱包将她的金额分成两笔付款:一笔给鲍勃,一笔给她自己。她可以在未来的交易中使用这个零钱输出。

最后,为了让网络尽快处理交易。 Alice 的钱包将支付少量费用。这未明确包含在交易中;它是由输入和输出之间的差异所暗示的。这笔差额会被矿工作为交易手续费存入区块交易,最后存入区块链账本。

将交易记入账本

Alice 钱包应用程序创建的交易大小为 258 字节。包含金额未来所有权所需的所有信息。现在,这笔交易必须发送到比特币网络,成为分布式账本(区块链)的一部分。

交易的传输和传播:任何比特币网络节点(其他客户端)收到一个它以前没有见过的有效交易,都会立即将它转发给与自己连接的其他节点。因此,这笔交易从 P2P 网络迅速传播开来,在几秒钟内到达大多数节点。

关于比特币交易的一个常见误解是,它们必须等待 10 分钟才能将确认添加到新区块,或者等待 60 分钟才能使六个确认(6 个区块)生效。虽然这些确认确保交易已被整个网络接受,但对于像一杯咖啡这样的小物品,无需等待这么长时间。提交可以接受比特币小额支付,无需确认。不必接受未使用有效身份证件或未签名的信用卡的风险更大。

比特币挖矿

交易遍布比特币网络。但只有在通过称为挖掘的流程验证并添加到区块后,该交易才会成为真正的共享账本(区块链)的一部分。

对比特币系统的信任是基于计算的。当交易被打包成块时,证明交易的计算成本很高,但只需要少量的计算来验证它们是否已被证明。挖矿在比特币系统中扮演着两个角色:

Description Mining 可以比作一个大型多人单人益智游戏。一旦有人找到正确的解法,数独游戏会自动调整难度,使游戏每次解题大约需要 10 分钟。这个数独游戏的难度可以通过改变它的大小(或多或少的行和列)来调整,但即使它非常大,也很容易验证。比特币中的“谜题”是基于哈希加密算法,具有类似的性质:非对称性,难解但易验证,难度可调整。

大约每 10 分钟,成千上万的矿工在一场全球竞赛中共同努力,为区块交易找到正确的解决方案。为了找到这个解决方案,也称为工作量证明,整个网络需要能够每秒处理数十亿次哈希。这种工作量证明算法是指用SHA256加密算法不断地对块头和一个随机数进行哈希处理,直到出现与预设值匹配的解决方案。第一个找到该解决方案的矿工将赢得比赛并将区块发布到区块链。

随着越来越多的矿工加入比特币网络,为谜题找到正确解决方案的难度迅速增加。升级到更专业的硬件,例如专用于游戏台式机或控制台的高端专用手提箱处理单元芯片(即显卡 GPU)。在那之后,只有使用集成了数百种挖矿专用算法硬件,并且可以在单个芯片上同时并行工作的专用集成电路(ASIC)才是有利可图的。

挖掘区块链中的交易记录

在网络中生成的交易在成为整个比特币分类账 - 区块链的一部分之前不会被确认为有效。平均每 10 分钟,矿工将生成一个新区块,其中包含自上一个区块以来发生的所有交易。交易源源不断地流入比特币网络,当比特币网络上的节点看到这些交易时,它们会将它们放入各自节点维护的未经验证的交易临时池中。当矿工建立一个新区块时,他们会将这些交易从交易池中取出并放入新区块中,然后尝试解决一个非常困难的问题(也称为工作量证明)来证明新区块的合法性。 .

当交易被添加到一个新区块时,它们会根据高额交易费用的有效性和其他一些规则进行排序。一旦矿工从网络收到一个新区块,他们就会意识到他们已经失去了在这个区块上的出色解决方案,并将立即开始挖掘下一个新区块。它将立即开始构建下一个新区块,其中包含一些交易以及这个新区块的数字指纹,并开始为其计算工作量证明。每个矿工都会在他的区块中包含一个特殊的交易,将新生成的比特币(目前每个区块 25 个比特币)支付到他自己的比特币地址作为奖励。

生成包含爱丽丝交易的区块277316,爱丽丝的交易被“确认”,当生成区块277317时,它是基于包含爱丽丝交易的区块277316,在这个区域增加了更多的计算块,从而增加了可信度交易。每次基于此块生成新块时,都会在交易中添加一个“证明”。当一个区块被“证明”六次以上时什么是纳米比特币,它被认为是不可撤销的,因为撤销和重建六个区块需要大量的计算。

消费此交易

Alice 的交易已经成为区块的一部分并嵌入到区块链中,每个比特币客户端都可以独立验证该交易的有效性和可消费性。

全指数客户端可以追踪资金来源。轻量级客户端通过确认交易在区块链中并且随后有几个新区块来确认支付的合法性。这种方法称为“简易支付验证”。