比特币设置找零地址
1. 如何理解比特币的找零机制
深入探讨比特币的神秘找零机制:理解UTXO记账方式的奥秘
在探讨比特币的世界里,找零机制是UTXO(未使用交易输出)的核心组成部分,它与我们日常生活中现金交易的找零方式有着异曲同工之妙,却又与数字钱包的账户系统截然不同。理解这个机制,就如同揭开区块链货币运作的神秘面纱。
想象一下,当你收到两笔转账,一笔10个比特币,一笔6个。这10个比特币就像一张完整的10元钞票,而6个比特币则是另一张6元钞票。当你想转出3个比特币,你不能直接给出3个,因为你的钱包里没有这样的零钞。相反,你可以选择使用那张10元钞票,或者那张6元钞票。如果选择前者,你将创建一个交易,输入10个比特币,输出7个和3个。3个比特币作为找零进入接收者的钱包,而你自己的账户则留下一个7元的“纸币”。原来的10元钞票虽然还在,但标记为已花费,不能再用于再次交易,这就是UTXO的由来,它记录了每一笔未被消费的资金。
然而,这个“账户”并非我们熟知的数字钱包里直接关联的余额数字。比特币钱包实际上是保存所有未花费的“纸币”,以及每张“纸币”的归属信息。这些“纸币”并不集中存储,而是分散在区块链的不同位置,这正是UTXO系统的关键所在。
为何需要找零机制?答案就在于比特币的余额是由一个个独立的“完整”交易输出构成的。如果采用单一账户与数字余额的模式,转账操作就像简单地从一个账户中减去N元,另一个账户增加N元,找零就不再是必要步骤。UTXO的机制确保了交易的精确性和复杂性,这是比特币独特的货币设计原则之一。
总之,比特币的找零机制并非表面看上去那么简单,它是由UTXO的分散存储和交易规则共同构建的。深入理解这个机制,能帮助我们更好地掌握这种去中心化货币的工作原理。
2. 浠涔堟槸姣旂壒甯侀挶鍖呯殑瀛愬湴鍧鏈変粈涔堢敤
姣旂壒甯佺殑閽卞寘鏄寤虹珛鍦 HD锛堝垎绾х‘瀹氭э級妗嗘灦涔嬩笂鐨, 瀹冨彲浠ヤ骇鐢熶笉涓鏍风殑鍦板潃鍜岀$悊鍦板潃鐨勬柟娉曘 鐢ㄦ埛閽卞寘鐨勬墍鏈夊叕寮鍦板潃閮戒細浠庤繖涓閽卞寘鐨 xPub锛堟墿灞曞叕閽ワ級涓璇炵敓鐨勩 濡傛灉姣忎竴娆¢兘鐢ㄥ埌鍚屼竴涓鍦板潃鎺ユ敹 BTC , 閭d箞姣忎釜浜洪兘鑳藉熷緢鏂逛究鐨勮拷韪鎵鏈変粯娆捐板綍銆 浣跨敤瀛愬湴鍧鏀舵惧氨鑳藉熷湪寰堝ぇ绋嬪害涓婃敼鍠勮繖绉嶆儏鍐碉紝璧峰埌涓涓淇濇姢鐢ㄦ埛鐨勯殣绉佺殑浣滅敤銆傞渶瑕佹敞鎰忕殑鏄锛
1.BTC 閽卞寘涓诲湴鍧璧勪骇鐨勫氨绠楀叕寮忓氨鏄锛氫富鍦板潃璧勪骇+瀛愬湴鍧璧勪骇+鎵鹃浂鍦板潃璧勪骇銆
2.姣忎竴涓鍦板潃閮芥湁鍞涓涓涓涓庝箣瀵瑰簲鐨勬槑鏂囩侀挜锛屼絾鏄鏄涓嶉渶瑕佸崟鐙澶囦唤姣忎釜鍦板潃鐨勭侀挜鐨勶紝澶囦唤浜 BTC 閽卞寘鐨勫姪璁拌瘝灏卞彲浠ヤ簡锛岃繖鏍峰氨鐩稿綋浜庡囦唤浜嗘瘡涓瀛愬湴鍧鐨勭侀挜銆
3涓瀹氫笉瑕佺敤瀛愬湴鍧鎺ユ敹 USDT
鎴戜滑閫氳繃浠ヤ笂鍏充簬浠涔堟槸姣旂壒甯侀挶鍖呯殑瀛愬湴鍧鏈変粈涔堢敤鍐呭逛粙缁嶅悗,鐩镐俊澶у朵細瀵逛粈涔堟槸姣旂壒甯侀挶鍖呯殑瀛愬湴鍧鏈変粈涔堢敤鏈変竴瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿
3. 比特币的地址、公钥、私钥,你都了解了吗
了解比特币,就不可避免地要掌握什么是比特币的地址、公钥、私钥,下面我们一个一个来解释。
地址,就好比是银行账(卡)号,在创建数字钱包后就会自动生成,简单来说,就是创建钱包的时候,先产生一对私钥和公钥,然后公钥通过一套算法生成地址,这个地址实质上是一串字符,比如。
像银行账(卡)号可以用来收款一样,比特币地址也可以用来接收比特币。
这个比特币地址不单单给你转币的人知道,连整个比特币网络的人都能查看,可以说,全球所有用户的地址都可以被任何人知道。为什么这样说呢?因为比特币本质就是一个大型的公开账本,所有交易对所有人都是可见的。而交易记录中包括了交易流水单号、发币人的发币地址、收币人地址、发币人的找零地址。
私钥,可以看作是银行密码,是一串很长的由钱包生成的随机数,比如, LBB9ZXMCJ。私钥是唯一能够证明你拥有的比特币是属于你的,也只有用私钥才能转账、交易和使用数字钱包里的比特币。
我们都知道了,银行密码绝对不能泄露给别人,私钥也一样,打死也不要告诉他人,否则你的比特币很容易就被转走。银行的钱被盗了,因为有国家监管和第三方信用,还有可能被追回,但比特币是去中心化的,没有第三方,自己的币只能自己负责看管,丢了,或被他人转走了,就永远拿不回来了。所以千万千万不要把私钥告诉他人,不要把私钥保存在手机或者电脑上,不要通过网络传输你的私钥,那怎么办?记住了,要用笔写在纸上,写两到三份分别放在不同的地方,保管好。
公钥,顾名思义,是可以公开的,也是像地址和私钥一样,是一串长长的字符。公钥由私钥通过椭圆曲线加密算法生成,通过私钥可以算出唯一一个公钥,但公钥不能逆向推导出私钥。
那到底比特币地址、公钥、私钥在交易中起什么作用的呢?
首先,钱包通过加密算法把私钥加密成字符串(也叫作签名),然后把这个字符串,和公钥一起写到交易信息里,再发给矿工。矿工收到信息后,就会将签名、公钥写入一个验证函数,如果得出的结果为“true”,那么这个交易会被确认为真实有效,就能被验证通过。而结果为“false”,则说明这笔交易存在问题,不能被验证通过。
通过以上浅显的文字,希望能帮到你对比特币的地址、公钥和私钥有一个初步的了解吧!感谢你的阅读!
4. 什么是比特币找零机制
比特币在生意时会把消费时所用的地址(消费地址)的余额置零。当需付的金额小于可用余额时,生意信息中有必要告诉比特币网络零钱将被发送至的地址,即“找零地址”。找零地址或许是也或许不是原先消费时所用的地址。
5. 交易及记账(上) | 小白学比特币之二
在 精读「Mastering Bitcoin」1 中, 提到比特币不仅是一个 电子现金 (系统),也是一个公开的账本,这账本上记录了每笔交易的信息。用比特币交易,其实就跟我们用人民币或者美元交易买卖东西一样。作者给比特币交易行为的定义是:
那么,在比特币系统里,是以什么样的形式将这些交易记录下来的呢?
跟传统记账一样,在比特币系统中也对交易采用复式记账的方法 (double-entry bookkeeping ledger),直白点翻译就是双入口记账。复式记账,简单理解就是以下两点 [1] :
每一笔交易都要至少在两个账户上进行记录 ,在会计记账中有三个基本账户也就是资产账户、负债账户以及所有者权益账户,跟会计等式 资产(Assets) = 负债 (Liabiliteis) + 所有者权益 (Equity) 是一一对应的。那么单独每个账户又是以怎么样的方式呈现出来的呢?方法是每个账户都需要记录这个账户的debits和credits(见上图):
说完复式记账,再回到《Mastering Bitcoin》(精通比特币) ,在书中,作者给出的记账例子如下面那张截图;一笔交易中可以包含多个Input和output。这里的Input和output如何理解呢?
总结一下:
通过作者这句话, 可以看到比特币系统其实执行的是价值交易。更进一步地,可以理解为价值的输入和输出。
上笔交易和下笔交易之间会形成一个“无形的链”:
作者用一张图形象的说明了什么是“交易链”。
对于同一个地址而言,上一笔交易中的output将会作为下一笔交易的输入,这样就形成了一个交易链。
在上面的交易截图中,我们可以看到这几笔交易里有 spent 、 unspent 和 change 。 change 为找零地址,为什么会有找零地址呢?
比特币系统中的找零概念和平时用现金交易的找零概念是一样的,如果你要买一个1块钱的包子,但是你身上只有一张20块钱的纸币,这个时候就需要包子铺老板找给你19元零钱。
在比特币系统中,每一个input就相当于一定面值的纸币。如果一笔交易中只包含一个Input,为20个BTC,当这个地址向其他地址支付1个BTC时候,就需要对方找还19个BTC。不同的是,比特币不像纸币那样只有几种面值固定的纸币,比特币系统可以随时创建“新面值”。
出于保护隐私的考虑,找零地址没必要跟原先的付款地址一样,通常钱包会生成一个新的找零地址。
在真实应用中,并不会在找零地址旁边标注 change 的字样,如下图显示(截图来自blockchain.info上的某笔交易),
比特币系统可以随时创建“新面值”来用于找零,而且这“零钱”可以用于下次交易。在每个输出(output)记录里,可消费的比特币数量会被标记成 unspent ,这样的输出有一个专门的名字叫做 Unspent Transaction Outputs (UTXO)。可以把unspent的输出理解为面值不同的、可用于下次消费的纸币,就好像10元面值纸币、100元面值纸币那样。
[1] Mastering Bitcoin 第二版 https://github.com/bitcoinbook/bitcoinbook
[2] http://learnmeabitcoin.com