主页 > imtoken安装下载地址 > 通过比特币交易的完整生命周期来解释比特币中的区块链技术

通过比特币交易的完整生命周期来解释比特币中的区块链技术

imtoken安装下载地址 2023-04-26 07:42:05

基本常识:区块链不等于比特币。 区块链只是比特币系统用来记录交易信息的账本; 比特币没有账户余额的概念,所有交易只记录资金的来源和去向。

基础知识:

区块链不等于比特币,区块链只是比特币系统用来记录交易信息的账本;

比特币没有账户余额的概念。 所有交易只记录资金来源和去向。 所谓账户余额,就是在区块链中计算出来的结果;

挖矿奖励是为了维护整个系统而给予的奖励,鼓励人们使用自己设备的计算资源来共同验证每笔交易的有效性;

一笔交易的完整过程:从创建新交易到生成新区块

假设一旦比特币交易 A 被创建,它的生命周期就开始了。 随后,交易A将被一个或多个签名加密(这些签名用于表明交易A中的资金流经资金所有者的批准)。 然后,交易A被广播到比特币网络,最快收到广播信息的是相邻的2-3个节点,这些节点将参与验证交易,同时在网络中再次广播交易,直到这个交易A被网络中的大多数节点接收到(所有下载比特币客户端的设备都可能成为这样的节点)。

最后,交易 A 由参与挖矿的节点验证。 交易 A 与其他最近创建的交易一起打包到区块 B 中,并添加到区块链中。 这时,整个区块链被扩充,增加了一个新的区块B。 当 B 块获得超过 6 个“确认”时,它被认为是不可撤销的,因为撤销和重建六个块需要大量的计算,并且将交易打包在一起并放入块中需要大量的时间。 证明是计算密集型的,但事实证明,它们只需要少量的计算就可以得到验证。

谁在炒作比特币_比特币李笑比特币身价_比特币的炒作周期规律是什么

我们简单地将上述交易流程描述细分为以下6个步骤:

产生新交易

签名加密

交易在比特币网络中传播

整合交易并构建新区块

矿业

新区块连接到区块链

接下来,我们将详细分析6个交易步骤的具体细节和使用的底层技术。 在解释每一个步骤和具体概念时,我都会给出适当的例子来帮助你理解。 如果你还没有看懂,那一定是你看得太快了……

01 生成新交易

当隔壁老王要将自己钱包里的一个比特币转给老张时,交易是由老王的钱包构造的。

将比特币交易理解为纸质支票,有助于我们理解比特币交易是一种以汇款为目的的工具,就像收款人或持票人将支票拿到银行,银行会无条件地为其支付指定的金额。 而交易发起人不一定是交易的签署人。

任何人都可以在线或离线创建比特币交易,即使创建交易的人不是帐户的授权签署人。 就像公司里秘书签发的支票(发起交易)一样,需要等待老板签署交易(数字签名)。

为了更深入地理解“新事务构建”的一些细节,需要理解四个概念:

未交易输出

交易输出

交易输入

手续费

谁在炒作比特币_比特币的炒作周期规律是什么_比特币李笑比特币身价

未交易输出

UTXO 就像账户余额一样容易理解。 它是比特币交易的基本单位,一个未使用的交易输出,Unspent Transaction Output,简称UTXO,“未花费的交易输出”。 UTXO不能再分了,1个UTXO可以是1个“聪”的任意倍数,就像美元可以分“分”,“分”不能再分一样。 UTXO 记录在区块链中,比特币网络以百万计监控所有可用的 UTXO。

假设此时邻家老王拥有1.9个比特币,当邻家老王收到0.1个比特币时,这笔金额在区块链中记录为UTXO,而老王拥有的2个比特币也作为UTXO进行传播跨越数百个交易和数百个区块。 实际上,没有存储比特币的单一地址或账户余额,只有法老(所有者)锁定的去中心化 UTXO。

所以,“隔壁老王的比特币余额”的概念就是通过扫描区块链,聚合所有属于用户的UTXO来计算用户的余额。

交易输出

比特币交易是一个有输入值和输出值的数据结构,其中包含将资金从初始地址(输入)转移到目标地址(输出)的代码信息:版本规则、输入及其金额、输出及其数量,时间戳。

每笔比特币交易都会产生一个输出,并记录在比特币账本中。 所有输出都会产生一定数量的可用于支付的比特币(也称为 UTXO)。 这些 UTXO 将被全网识别和记录,其所有者可以在未来的交易中使用它们。 给隔壁的老王发比特币,其实就是创造了一个新的UTXO,可以让他用来进行新的支付。

交易输入

交易输入是指向 UTXO 的指针。 当用户支付时,他的钱包通过选择可用的 UTXO 来构建交易。

例如:隔壁王先生要支付0.015个比特币,他的钱包应用会选择一个0.01个UTXO和一个0.005个UTXO,一起使用得到想要的支付金额。

手续费

大多数交易都包含交易费用,以补偿比特币矿工的网络安全。 大多数钱包自动计算并包含交易费,由挖出区块的矿工获得并记录在交易的区块链中。 交易数据结构没有交易费用字段,这意味着你无法直接从交易信息中看到交易费用金额。

例如:隔壁王先生要支付0.015比特币进行消费。 他愿意支付 0.001 个比特币作为交易费,让他的交易被矿工优先处理。 那么王先生的钱包需要从区块链记录UTXOs中整合至少0.016个比特币。 假设他的钱包有0.2个比特币的UTXO可用,那么这个新的交易会产生一个0.2个比特币的输入,以及两个输出:一个是0.015个比特币的消费金额被支付到目标地址,另一个是输出0.184 BTC 作为零钱支付给老王的钱包地址,其中 0.001 BTC 未分配,这是“隐藏”的交易费用。

值得注意的是,需要明确定义0.184比特币是指向老王自己钱包的输出,这样零钱才会有效“返还”到老王钱包,否则0.184比特币也会成为交易手续费,被矿工使用。 领取这份惊喜“红包”。

02 签名加密

一旦创建了比特币交易,它就会由资金所有者(可能有多个所有者)签署。 如果它是合法创建和签名的,则交易现在有效。 它包含转移资金所需的所有信息。 用户的私钥用于生成支付比特币所必需的签名,以证明资金的所有权。 这样的签名加密是为了保证交易内容不可篡改。 这与上述纸质支票的授权签名具有相同的效果。

网络中的节点收到交易信息后,会检查交易的合法性。 资金所有者的签名加密是重要的验证依据。 播于。

为了更深入地理解“签名加密”的一些细节,需要了解以下四个概念:

私钥

公钥

钱包

交易脚本

私钥

比特币钱包包含一系列密钥对,每个密钥对包括一个私钥和一个公钥。 私钥是一个数字,通常是随机生成的。 对比特币地址中所有资金的控制取决于相应私钥的所有权和控制权。 私钥必须保密,因为一旦泄露,就意味着被私钥保护的比特币将丢失。

通过从加密安全的随机源中获取一串随机字节并使用 SHA256 哈希算法生成一个 256 位数字,这样的数字可以用作私钥。 表示随机生成的十六进制格式的私钥,即:

1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD

比特币李笑比特币身价_谁在炒作比特币_比特币的炒作周期规律是什么

公钥

可以通过椭圆曲线算法从私钥计算出公钥,这是一个不可逆的过程。 公钥通过单向密码哈希算法生成的比特币地址以数字“1”开头。 在交易中,比特币地址就是收款人的地址。

比特币的炒作周期规律是什么_谁在炒作比特币_比特币李笑比特币身价

钱包

比特币钱包是私钥的容器。 钱包只包含私钥而不是比特币。 每个用户都有一个包含多个私钥的钱包。 钱包包含用户用来签署交易的一对私钥和公钥。

一种常见且典型的钱包是使用“助记词”作为种子生成私钥的钱包。 一系列这样的词可以重新创建种子,并重新创建钱包和所有私钥。 首次创建钱包时,带有助记词的钱包APP会生成一个12到24个单词给用户,这个单词的顺序就是钱包的备份。

比特币的炒作周期规律是什么_比特币李笑比特币身价_谁在炒作比特币

交易脚本

交易脚本是验证交易是否合法的核心机制。 一般来说,每笔交易都会包含两个脚本:输出脚本PubKey和输入脚本Sig。

输出脚本一般由付款人设置,用于锁定交易,用于控制收款人的权限,比如限制某个公钥(比特币地址)的拥有者可以花费这笔交易。

输入脚本(签名脚本)往往包含用户私钥生成的数字签名,用于证明其能够满足交易输出脚本的锁定条件,即一笔交易中比特币资金的所有权。

值得注意的是,比特币交易的输入输出并不是简单地对应付款人的私钥和收款人的公钥地址,而是包含更多的内容,交易的有效性可以直接通过script ,并实现了更复杂的交易方式,如“多重签名脚本”,确保输出只能在第三方钱包和第三方钱包签名后才能使用,保证了黑客无法花费用户的比特币。

03 交易在比特币网络中传播

交易需要先传输到比特币网络,然后才能传播并添加到区块链。 一笔比特币交易只有 300 到 400 字节的数据。 一旦交易被发送到连接到比特币网络的任何节点,交易将由节点验证。 如果交易被验证为有效比特币的炒作周期规律是什么,则该节点会将交易传播到连接到该节点的其他节点。

无论交易是否被节点验证,交易发起方都会收到回执消息,其中包含交易是否被接受的返回信息。 在几秒钟内,有效交易以指数扩散效率在网络中传播,直到它被连接到网络的所有节点接收。

值得注意的是,每个节点在传播交易之前都会独立验证每个交易。 因此,一笔异常交易最多只能到达一个节点。 因此,比特币网络可以有效抵御入侵,避免垃圾邮件和有效的拒绝服务攻击。

为了更深入地理解“事务传播”的一些细节,需要理解四个概念:

客户

全节点

轻量级节点(SPV)节点

挖矿节点

客户

Bitcoin.org 可以下载标准客户端 Bitcoin Core,也称为“Satoshi 客户端”。 它包括比特币系统中的一切:钱包功能、整个交易账本(区块链)的完整副本、交易确认引擎以及P2P比特币网络中的完整网络节点。

比特币的炒作周期规律是什么_比特币李笑比特币身价_谁在炒作比特币

全节点

维护区块链完整、最新副本的节点称为“完整节点”。 全节点能够在没有任何外部参考的情况下独立验证所有交易。

比特币李笑比特币身价_谁在炒作比特币_比特币的炒作周期规律是什么

谁在炒作比特币_比特币的炒作周期规律是什么_比特币李笑比特币身价

轻量节点/SPV节点

区块链只保留了一部分,通过一种叫做“简单支付验证(SPV)”的方式完成交易验证的节点被称为“SPV节点”,也被称为“轻量级节点”。 越来越多的用户钱包是 SPV 节点,尤其是运行在智能手机等资源受限的设备上,这些设备没有空间存储完整的 150G 区块链。

比特币的炒作周期规律是什么_谁在炒作比特币_比特币李笑比特币身价

挖矿节点

挖矿节点通过运行在特殊硬件设备上的工作量证明算法,以竞争的方式创建新区块。 部分挖矿节点也是全节点,保留了区块链的完整副本; 部分参与矿池挖矿的节点为轻量级节点,必须依赖矿池服务器维护的全节点才能工作。

比特币李笑比特币身价_谁在炒作比特币_比特币的炒作周期规律是什么

谁在炒作比特币_比特币的炒作周期规律是什么_比特币李笑比特币身价

04 整合交易 & 构建新区块

每个比特币网络节点在对交易进行验证后,会将这些交易添加到自己的内存池中,也称为交易池,用于暂存尚未添加到区块中的交易记录。 挖矿节点除了收集和验证交易外,还会将这些交易打包成一个候选区块。

挖矿节点需要为内存池中的每笔交易分配一个优先级,并选择更高优先级的交易记录构建候选区块。 区块被填满后,内存池中剩余的交易将成为该区块的下一个候选交易。 例如,一个挖矿节点整合了 mempool 中的所有交易,新的候选区块包含 418 笔交易,总 gas 费用为 0.09094925 BTC。

现在已经创建了包含 418 个交易的候选区块,挖矿节点已准备好对其进行挖矿。

为了更深入地理解“集成交易”的一些细节,需要了解4个概念:

临时未验证交易池

交易优先级

块状结构

矿池

临时未验证交易池

几乎比特币网络中的每个节点都维护着一个未确认交易的临时列表,称为内存池或交易池。 节点使用这个池来跟踪网络已知但尚未包含在区块链中的交易。 交易池存储在本地内存中,而不是硬盘中,所以不同节点上的两个池的内容可能会有很大的不同。

交易优先级

挖矿节点需要为内存池中的每笔交易分配一个优先级,并选择更高优先级的交易记录构建候选区块。 交易的优先级由交易输入花费的 UTXO 的交易创建时间决定。 交易输入值高、创建时间早的交易比输入值新、输入值小的交易优先级高。

用于存储块中交易的前 50K 字节保留给更高优先级的交易。 如果区块中有足够的空间,高优先级交易将不需要矿工费。 矿工费越高,正在处理的交易的优先级越高。

块状结构

区块是一种聚合交易信息容器的数据结构。 由区块头和区块体组成,区块头80字节,平均每笔交易至少250字节,每个区块平均至少包含500多笔交易。

区块头包含三组元数据:

用于连接先前区块的数据,从父区块哈希索引;

比特币的炒作周期规律是什么_谁在炒作比特币_比特币李笑比特币身价

挖矿难度,Nonce(工作量证明算法的计数器),时间戳;

它可以汇总并快速汇总验证块中所有交易数据的默克尔(Merkel)树根数据。

矿池

改变了挖矿奖励由获胜矿工单独获得的现状,采用团队协作的方式,集中算力挖矿,按照算力分配产出的数字货币。

挖矿成为一项团队运动,一群矿工于 2010 年 12 月 16 日在泥浆矿池一起开采了第一个区块。 每个矿工根据他们贡献的工作量获得相应的报酬。 在接下来的两个月里,slush矿池的算力从1400Mhash/s提升到60Ghash/s。

05 矿业

现在已经创建了一个候选块,挖矿节点就可以开始挖它了。 矿工竞争完成基于加密哈希算法的数学难题,获胜者有权在区块链上记录交易并获得奖励。 每10分钟左右产生一个大小不超过1MB的新区块,这个区块记录了这10分钟内发生并被验证的交易内容。 矿工在挖矿过程中获得两种奖励:创建新区块的新货币奖励,以及区块中包含的交易的交易费。

一旦某个挖矿节点在算力竞争中获胜并率先得到数学题的答案,它就会立即将区块发送给它所有的相邻节点。 这些节点在收到并独立验证新区块后,也会继续传播这个区块,每个节点都会将其作为一个新区块添加到自己节点的区块链副本中。

为了更深入地理解“已确认交易”的一些细节,需要了解以下三个概念:

工作证明

代币交易

Coinbase 奖励和汽油费

工作证明

Proof of Work,通过计算猜测一个值(nonce)。 具体到比特币,矿工必须在满足全网目标难度的同时解决SHA256算法。 最先完成工作证明的矿工可以获得比特币奖励。 保证在一段时间内系统中只会出现少数合法提案。

哈希问题是不可逆的,只能通过暴力计算才能找到问题的答案。 一旦得到满足要求的nonce,就意味着相应的算力已经按概率支付了。 谁的算力大,谁先解决问题的概率就大。

代币交易

区块中的第一笔交易是一种特殊的交易,称为创世交易或 Coinbase 交易,由挖矿节点构建,用于奖励矿工的贡献。

创币交易的输入:创币交易与其他交易的区别在于其交易输入没有UTXO,也没有“输入脚本”。 该字段由Coinbase数据代替,除前几个字节外,矿工可以自由使用Coinbase的其他部分,随意填写任何数据。 因此,中本聪在创世区块的Coinbase中填写了数据“The Times 03/Jan/ 2009 Chancellor on brink of secondbailout for banks”。

创币交易输出:由获胜的矿工构造,并将创币奖励和矿工费支付到自己的比特币钱包地址。

Coinbase 奖励和汽油费

矿工在挖矿过程中获得两种奖励:创建新区块的新货币奖励,以及区块中包含的交易的交易费。 比特币的货币大约每四年开采一次并减半。 2009 年 1 月,每个区块奖励 50 个比特币。 到 2012 年 11 月,减半奖励每个区块 25 个比特币。 现在每个新区块奖励 12.5 个比特币。 比特币挖矿奖励呈指数递减,直到2140年所有比特币发行完毕,不再产生新的比特币。

例如:隔壁老王的挖矿节点构造一个造币交易,支付给自己12.59094928个比特币,其中12.5个比特币是Coinbase奖励,0.09094928个比特币是矿工费。

06 新区块接入区块链

比特币的炒作周期规律是什么_比特币李笑比特币身价_谁在炒作比特币

比特币交易生命周期的最后一步是将新区块连接到具有最大工作量证明的链。 一旦一个节点验证了一个新区块,它将尝试通过将新区块连接到现有区块链来组装新区块。

节点维护三种区块:第一种是连接到主链上的区块,第二种是来自主链的分支(备份链)区块,最后是已知链中没有找到的区块。 芝罘块。 在验证过程中,一旦发现不合规,则验证失败,该区块将被节点拒绝,不会被添加到任何链中。

比特币的炒作周期规律是什么_比特币李笑比特币身价_谁在炒作比特币

如果一个节点收到一个有效的块,但在现有区块链中找不到它的父块,那么该块被认为是“孤立的”。 孤立块保存在孤立池中,直到节点接收到它们的父块。

每个节点总是选择并尝试扩展代表最大累积工作量证明的区块链,即最长或最大累积难度的链。 只要所有节点都选择累计难度最长的区块链,整个比特币网络最终就会收敛到一个一致的状态。

为了更深入地理解“将新区块连接到链上”的一些细节,需要了解 4 个概念:

创世块

难度目标和难度调整

区块链分叉

区块浏览器

创世块

区块链中的第一个区块创建于 2009 年,称为创世区块。 它是区块链中所有区块的共同祖先,这意味着如果你从任何一个区块开始追溯比特币的炒作周期规律是什么,最终都会到达创世区块。

创世块的哈希值为:000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

在区块浏览网站(blockchain.info)上搜索这个区块哈希值,你会找到这个哈希值来描述这个区块内容的页面:

比特币李笑比特币身价_比特币的炒作周期规律是什么_谁在炒作比特币

难度目标和难度调整

比特币区块平均每 10 分钟生成一次。 这是发行比特币和进行交易的汇率的基础,必须始终保持不变。 随着技术的发展,计算机的性能将迅速提高。 此外,参与挖矿的人员和计算机也在不断变化。 为了以每 10 分钟一个的速度产生新区块,必须根据这些变化调整挖矿难度。

2009年12月30日,比特币挖矿难度首次增加。 寻找一个比特币区块需要全网处理10分钟,每找到2016个区块,难度根据前2016个区块的完成时间调整。

新难度=旧难度*(最后2016个区块的实际时间/20160分钟)

比特币的炒作周期规律是什么_谁在炒作比特币_比特币李笑比特币身价

区块链分叉

当两个矿工在短时间内各自拥有工作量证明解决方案时,就会出现分叉。 一旦两个矿工在各自的候选区块中找到解决方案,他们就会立即将他们的“获胜”区块传播到网络,首先传播到相邻节点,然后传播到整个网络。

由于每个矿工的区块数据不同,解决问题的结果也不同。 都是正确答案,只是方块不同。 此时在区块链中,出现了两个都符合要求的不同区块。 不同的矿工按顺序看到这两个区块。 通常,矿工会先复制他们看到的区块,然后在这个区块上开始新的挖矿工作。 这时候就会出现分叉。

从分叉区块开始,由于分叉链上的矿工数量不同,算力也不同,两条链的增长速度也不同。 总有一条链比另一条长。 当矿工发现全网有一条更长的链时,他会放弃当前的分叉链,继续在更长的主链上挖矿。

区块浏览器

想要浏览区块链信息的用户必须使用区块链浏览器。 可以从区块链浏览器查看每个区块中记录的内容。 区块链浏览器可以说是区块链信息浏览的主要窗口。

以太坊的区块浏览器如下图所示:

比特币的炒作周期规律是什么_比特币李笑比特币身价_谁在炒作比特币

总结

比特币挖矿通过人性来解决区块链的维护问题,这也解释了为什么比特币系统能够稳定运行8年,也让比特币成为区块链技术众多应用中最具活力的一个。 “中本聪”利用人性让人们在挖矿中维持这个系统的运行以获取利润。 然而,矿机的出现使得比特币的去中心化变得不完善,因此比特币的创新和完善从未停止过。 想了解更多可以看我上一篇文章《一篇文章,看透500多个数字货币哪些是真正有价值的技术创新》,介绍了如何进一步解决矿机对整个区块链网络的影响。