主页 > imtoken苹果版testflight > 比特币的全过程

比特币的全过程

imtoken苹果版testflight 2023-03-07 05:14:14

比特币交易流程图

1. 交易字节大小大于等于100。

2. 节点需要为交易池中的每笔交易分配优先级,并选择优先级较高的交易记录构建候选区块。 交易的优先级由交易输入花费的UTXO的“区块年龄”决定(币在区块中存在的时间,转账频繁时在区块中的时间越短),交易输入越高value,“block age”越大的交易比新的且具有小输入值的交易具有更高的优先级。 如果区块中有足够的空间,高优先级交易将不需要 gas 费。 金额越大,币龄越高,优先级越高。 如果量少或者刚刚被挖出,转账是不会免费的!

3. 对于每个输入,如果引用的输出存在于池中的任何交易中,则该交易将被拒绝(避免双花)。

4. 池中或主分支块中必须存在匹配交易!

5.对于每一个输入,引用的输出必须存在且不能被花费!

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

7. 比特币交易创建后,由资金所有者(可能有多个所有者)签名。 如果它是合法创建和签名的,则交易现在有效。 它包含转移资金所需的所有信息。 用户的私钥用于生成支付比特币所必需的签名,以证明资金的所有权。 这样的签名加密是为了保证交易内容不被篡改!

8.私钥。 如果交易费用太低而无法进入空区块,交易将被拒绝!

9.采矿过程。 HighPriority>100,000,000 satoshis*144blocks/250bytes=57,600,000。

10. 矿工是指被设置为挖矿状态的节点。 处于挖矿状态的节点需要贡献算力,并可能获得写入区块的权利,从而获得比特币!

比特币全网算力变化

1. 比特币钱包包含一系列密钥对,每个密钥对包括一个私钥和一个公钥。 私钥是一个数字,通常是随机生成的。 私钥一定要保密,因为一旦泄露,就相当于失去了私钥保护下的比特币!

2. A=RIPEMD160(SHA256(K))//其中K为公钥。

3. 验证通过后,加入本地交易池,并广播给与之相连的所有节点peerB和peerC。

4. 生成交易。 比特币通过创建新区块以确定但不断下降的速度发行。 大约每十分钟生成一个新块,每个新块都伴随着一定数量的从头开始创建的全新比特币。 每开采出210,000个区块,大约需要4年时间,货币发行率降低50%!

5. peerB和peerC收到交易后,进行验证,通过后加入交易池。 同时他们会判断交易池中的交易数量是否超过1000笔,如果超过1000笔,他们会根据交易池中的交易哈希,批量获取所有完整的交易数据。 .

6. 例如:你要支付015个比特币,为了让你的交易优先被矿工,他愿意支付001个比特币作为交易手续费,那么钱包至少要集成至少016个比特币的UTXO区块链记录。 假设他的钱包有2个比特币的UTXO可用,那么这个新的交易会产生2个比特币的输入,其中001个比特币是未分配的,也就是“隐藏”的交易手续费!

7. 如果区块中还有剩余空间,挖矿节点可以选择那些不包含矿工费的交易。 一些矿工会竭尽全力将不包含汽油费的交易包括在内,而其他矿工可能会选择忽略它们!

8.整体交易流程。 输入和输出列表都不能为空!

9、值得说明的是,需要明确定义184个比特币是指向自己钱包的输出,这样零钱才能有效“返还”到老王的钱包,否则184个比特币也会成为交易手续费,被挖矿. 领取这份惊喜“红包”!

10. 交易输出。 比特币链要正常增长,理论上只有一个节点处于挖矿状态。 事实上,维持比特币网络的长期正常运行需要多个挖矿节点来保持链条的正常增长。 当多个节点处于挖矿状态时,多个节点会竞争写入区块的权利。 每个区块的产生都是随机的,但是工作量/算力的贡献决定了你获得权利的概率!

比特币支付流程

1、比特币交易没有过期或超时的概念。 如果交易现在有效,它将永远有效。 但是,如果一笔交易只向全网广播一次,那么它只会保存在一个挖矿节点的内存中。 由于mempool并没有持久化到挖矿节点的存储中,一旦节点重启,mempool中的数据将被彻底清除。 而且,即使一个有效的交易传播到全网,如果长时间不处理,它也会从挖矿节点的内存池中消失。 如果交易本应在特定时间段内处理但未处理,则。

2.使用引用的输出交易获取输入值,检查每个输入值和总值是否在指定的值范围内!

3. peerA获得交易信息后,进行一长串的验证。

4.一笔交易想要成为“高优先级”,需要满足的条件:优先级值大于5760万,相当于一个比特币,年龄为一天,交易大小为250字节:.

5.没有hash等于0且N等于-1的输入。

6. UTXO 就像账户余额一样简单易懂。 它是比特币交易的基本单位,一个未使用的交易输出,UnspentTransactionOutput100T算力变成比特币流程,简称UTXO,“未花费的交易输出”。 UTXO不能再分了,1个UTXO可以是1个“聪”的任意倍数,就像美元可以分“分”100T算力变成比特币流程,“分”不能再分一样。 UTXO 记录在区块链中,比特币网络以百万计监控所有可用的 UTXO!

7. 例如:你要支付015个比特币,钱包应用会选择一个01UTXO和一个005UTXO,将它们一起使用得到想要的支付金额作为交易输入。

8. 参考交易区块年龄、gas费和优先级。

9. DEA94FBC4ED27612315A2616A2B0E9E52CED330AC530EDCB32C8FFC6A526AEDD。

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

比特币购买详细教程

1. 比特币区块生成。 每个输出值,以及总量,都必须在指定的值范围内!

2.矿工。 在一个区块被填满后,内存池中剩余的交易成为下一个区块的候选者。 因为这些交易保留在内存池中,随着新区块加入链中,这些交易引用的 UTXO 的深度也会增加。 由于一笔交易的优先级值取决于其交易输入的“区块年龄”,因此这笔交易的优先级值也会相应增加。 最后,具有优先级值的零费用交易可能会满足高优先级阈值并免费包含在一个区块中!

3. 每个输入的解锁脚本必须根据相应的输出锁定脚本进行验证!

4.对于每个输入,如果引用的输出交易是一个coinbase输出,输入必须至少有COINBASE_MATURITY(100)个确认!

5.公钥。 比特币交易是一种数据结构,包含输入和输出值、输入及其数量、输出及其数量、时间戳!

6.交易脚本。 手续费。 在 2016 年的某个时候,在第 420,000 个区块被“开采”后,它被降低到 5 BTC/区块。 在第 13 个、第 23 万个区块之前,新币的发行速度将以指数形式“减半”64 次。 届时,每个区块发行的比特币数量将变成1聪,比特币的最小货币单位。 最终,在 1344 万个区块之后,将发行全部 209999769 亿个聪。 也就是说,到 2140 年左右,比特币数量将接近 2100 万枚。 之后,新区块不再包含比特币奖励,矿工的收入全部来自交易手续费!

7. 以公钥K为输入,计算其SHA256哈希,再计算RIPEMD160哈希。

8.如果输入值之和小于输出值之和,交易将中止!

9. peerA 将交易哈希广播给所有连接的对等节点。

10. Priority=Sum(Valueofinput*InputAge)/TransactionSize。

比特币全节点数

1. 网络中的节点收到交易信息后,会检查交易的合法性。 资金所有者的签名加密是重要的验证依据。 审核通过后,交易将被标记为合法未确认交易,然后在网络上广播!

2. 交易输入。 网上很多人分析了很多,但是很少有人分析具体的交易过程,是如何运作的。 现在我试着把这个过程解释清楚。 这个比较适合技术人员检查,废话不多说!

3. 获取所有交易数据后,即可执行挖矿流程。

4. 可以通过椭圆曲线算法从私钥计算出公钥,这是一个不可逆的过程。 具体来说,SHA256 和 RIPEMD160!

5. 大多数交易都包含交易费,这是对比特币矿工在网络安全方面的补偿。 大多数钱包自动计算并包含交易费,由挖出区块的矿工获得并记录在交易的区块链中。 交易数据结构中没有交易手续费字段,也就是说你无法直接从交易信息中看到交易手续费金额!

6. 交易的优先级由输入值与输入“区块年龄”的乘积之和除以交易总长度得到:

7. 钱包。 交易中的签名数应小于签名操作数上限!

8. 在这个等式中,交易输入的价值用比特币单位“聪”表示。 UTXO的“区块年龄”是自UTXO被记录到区块链以来经历的区块数,即UTXO在区块链中的深度。 交易记录的大小以字节表示!

9. peerA 广播交易哈希。 事务的字节大小小于 MAX_BLOCK_SIZE!

10.然后选择一个自有节点或者公共节点peerA发送自己的交易。

比特币网络的难度是什么

1. UTXO。 每笔比特币交易都会产生一个输出,并记录在比特币账本中。 所有输出都会产生一定数量的可用于支付的比特币。 这些 UTXO 将被全网识别和记录,其所有者可以在未来的交易中使用它们。 发送比特币实际上会创建新的 UTXO,可用于新的支付!

2、假设此时你有9个比特币。 当隔壁老王收到1个比特币时,这个数额在区块链中记录为UTXO。 现在老王拥有的这2个比特币也被当作UTXO传播到数百笔交易和数百个区块中。 事实上,只有去中心化的 UTXO 被老王锁定!

3.对于每一个输入,在master分支和交易池中寻找引用的输出交易。 如果输出交易缺少任何一个输入,则该交易将成为孤立交易。 如果与其匹配的交易不在池中,则将其添加到孤儿交易池中!

4.优先级

5. peerA的交易不保证广播到比特币网络的所有节点。 只要到达足够多的节点,用不了多久这些交易就会被包含在一个区块中。 块广播还允许丢弃一些消息。 如果某个节点没有收到某个区块,那么该节点在收到下一个区块时就会意识到自己错过了上一个区块,因此会发出请求来补充缺失的区块!

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

7. 交易者使用钱包客户端生成交易。 用于存储交易的块的前 50K 字节(1/20*1M)保留给更高优先级的交易。 当节点填满 50K 字节后,它会优先处理这些优先级最高的交易,而不管它们是否包含矿工费。 这种机制允许优先处理高优先级的交易,即使他们的矿工费用为零!

八、交易过程。 然后,挖矿节点会选择那些包含最小矿工费的交易,并按照“每千字节矿工费”排序,选择矿工费最高的交易填充剩余的区块。 区块大小上限为MAX_BLOCK_SIZE =1M!

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

币圈新闻,版权所有丨如未注明,均为原创丨本站受BY-NC-SA协议授权