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

btc:每次交易都会记录一个账单已使用。如果时间非常接近,也只有最长链有效。ETH:在刚生成地址时,nonce为0,该地址每发送一笔交易,nonce值加1。
“双花”问题是指一笔数字现金在交易中被反复使用的现象。首先,比特币的每笔交易,总是由若干个输入和输出组成(vin和vout)一个vin指向的是前面一个区块的vout,并且只有矿工奖励没有vin,只有凭空输出。任何一笔交易,都可以从vin追溯到矿工奖励还没有被交易的vout被称为UTXO,即未花费交易输出钱包从创世区块开始扫描每一笔交易如果遇到某个vout是钱包管理的地址之一,那么钱包余额增加。如果vin是钱包管理地址之一,钱包余额减少。钱包余额总是钱包地址关联的所有UTXO之和
矿工在生成区块的时候,会从网络上收集交易信息,交易信息中包含了付款人的私钥签名。矿工首先验证签名是不是正确的然后矿工会从以前区块中追溯,看付款人这次消费的比特币是不是以前没有被消费过
如果用户用同一笔UTXO付给两个人,系统中的节点只确认先接收到的那一笔当两笔时间上很接近的交易被不同节点确认,区块链将发生分叉。剩余节点选择在他们认为的最长链上构建新的区块。当其中一笔交易被6个节点确认后,它将成为系统最长链,可以认为这笔交易获得了最终的确认。

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

扫一扫手机访问

发表评论