什么是双花问题,btc和eth是怎么防止双花的

btc:每次交易都会记录一个账单已使用。如果时间非常接近,也只有最长链有效。 ETH:在刚生成地址时,nonce为0,该地址每发送一笔交易,nonce值加1。


“双花”问题是指一笔数字现金在交易中被反复使用的现象。 首先,比特币的每笔交易,总是由若干个输入和输出组成(vin和vout) 一个vin指向的是前面一个区块的vout,并且只有矿工奖励没有vin,只有凭空输出。任何一笔交易,都可以从vin追溯到矿工奖励 还没有被交易的vout被称为UTXO,即未花费交易输出 钱包从创世区块开始扫描每一笔交易 如果遇到某个vout是钱包管理的地址之一,那么钱包余额增加。如果vin是钱包管理地址之一,钱包余额减少。

钱包余额总是钱包地址关联的所有UTXO之和
矿工在生成区块的时候,会从网络上收集交易信息,交易信息中包含了付款人的私钥签名。 矿工首先验证签名是不是正确的 然后矿工会从以前区块中追溯,看付款人这次消费的比特币是不是以前没有被消费过


如果用户用同一笔UTXO付给两个人,系统中的节点只确认先接收到的那一笔 当两笔时间上很接近的交易被不同节点确认, 区块链将发生分叉。剩余节点选择在他们认为的最长链上构建新的区块。 当其中一笔交易被6个节点确认后,它将成为系统最长链,可以认为这笔交易获得了最终的确认。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容