zoukankan      html  css  js  c++  java
  • 详解比特币的找零机制,分花机制

    详解比特币的找零机制,分花机制
    比特币的找零(Change)机制,找零(分花)机制

    当比特币钱包交易100次以上时再次交易后要重新备份钱包。

    因为比特币客户端一开始只产生100个客户专属地址的私钥(称为私钥池),在创建找零地址时会优先使用这100个地址中的某一个,但当这些地址都被使用之后,100个以外新的找零地址就会被创建。如果你只备份了一开始的100个地址的钱包,那么在上面这种情况下恢复钱包将丢失新的找零地址。


    打个比方就是,你现在口袋里有一张100,你在超市里买一瓶水,你必须要用这100块付账,并且等收银员找零后你才有钱去买其他的
    如果你把这100分成两张50的,你就可以一张50买水,一张50买薯片,同时交易
    找零(分花)就是将一笔BTC分成两笔,你就能同时进行两笔交易
    找零地址用户是看不到的

    找零(分花)是钱包里的交易,只要不分到用户地址,用户就看不到
    单笔交易不用找零(分花),批量转账的时候才需要用到这功能

    ==============
    明明只向一个地址发送了比特币为什么 blockchain 上面的显示的有时是1个地址对多个地址,有时是多个地址对1个地址,有时又显示多个地址对多个地址?
    为什么当比特币钱包交易100次以上时再次交易后要重新备份钱包,恢复以前的钱包备份有可能会遭遇损失?

    比特币交易的规则:将用户有权使用的若干比特币汇款地址上的之前交易的输出金额作为一次交易的输入,若干比特币收款地址上增加的交易金额作为本次交易的输出。输入金额必须大于等于输出金额,超出部分作为本次交易的手续费。手续费没有输出地址,奖励给将本次交易记账成功的矿工。

    因为有时作为输出的金额超过了用户想要支付的金额。在这种情况下,比特币客户端会创建一个新的比特币地址,并把差额发送回这个地址,这就是比特币的找零机制。

    与法定货币不同,我们习惯把这种方式称之为交易单元的输入和输出。

    当你“支付”比特币,并创建一次交易时,你必须将你支付地址上可供支付的金额(来自该地址之前交易的输出)作为新交易的输入。这样的地址可能不止一个,你的比特币钱包会暗自寻找你钱包中所有可供支付的输出金额(可能来自于不同地址),并把它们加在一起显示为钱包可用余额。

    所以,当你的比特币钱包说你有130个BTC时,它只是意味着你的所有地址上可供支付的交易输出加在一起共有130个BTC。这和你的普通钱包中放着1张100元和3张10元人民币差不多一个意思。

    比特币钱包文件中包含了所有找零地址的私钥,它们可以正常的接收或者发送比特币。但是,比特币官方客户端的界面上并不会把这些找零地址显示在地址簿中,也许是为了匿名性的必要,也许是为了减少客户的困惑,虽然这也造成很多人新的疑惑。

    因为比特币客户端一开始只产生100个客户专属地址的私钥(称为私钥池),在创建找零地址时会优先使用这100个地址中的某一个,但当这些地址都被使用之后,100个以外新的找零地址就会被创建。如果你只备份了一开始的100个地址的钱包,那么在上面这种情况下恢复钱包将丢失新的找零地址。

  • 相关阅读:
    jQuery(jquery ui,jquery plugins)插件笔记1
    怎样批量删除.svn文件
    js中传递参数为0开头的数字时候,存在转码的问题
    struts文件上传,获取文件名和文件类型
    Log4j配置
    怎样通过CSS控制input输入框有readonly属性的背景色
    EXECUTE IMMEDIATE
    row_number() over(partition by column1 order by column2 desc) rn 用法
    React概述
    Web前端,高性能优化
  • 原文地址:https://www.cnblogs.com/zdz8207/p/qkl-btc-Change.html
Copyright © 2011-2022 走看看