草根站长
老司机 路子野 随时超车
怎样防止一个比特币被使用两次?比特币区块链作为一个去中心化的点对点电子现金系统,主要依靠UTXO和时间戳来应对"双花"问题。"双花"是指同一笔款项被重复支付了两次,也就是双重支付的情况。
比特币区块链作为一个去中心化的点对点电子现金系统,主要依靠UTXO (UnspentTransaction Output)和时间戳来应对"双花"的问题。 当某一笔比特币交易被创建一签名一广播到区块链网络之中后,每一个节点(比特币交易参与者)会对这笔交易进行验证,看交易的输出是否存在于UTX0 (Unspent Transaction Output ),即"未花费过的交易输出"中。
如果A拥有的1BTC被证实确实是"未花费过的交易输出",他要是将这1BTC同时转账给Bl、B2两人,挖矿节点会选择性地记录一笔交易,或许是最先收到的,或许是手续费更高的。
如果这两笔交易是先后被挖矿节点接收到的,那依据时间戳,先被接收到的交易会被验证成功,而后被接收到的交易则会因交易输入己经不存在于UTX0而验证失败。
如果两个挖矿节点分别同时记录了 "From A To B1"和"From A To B2"这两笔交易,并且这两笔交易被分别证明是合法的,此时这两个挖矿节点会将各自挖到的新区块广播到全网。
这时链就会分叉。其他参与挖矿的节点会随机选择一条链继续挖矿,哪条链先产生了新区块,哪条链就会成为当前最长的链,记录在最长链上的交易最终会被认证是成功的,而记录在另一条链上的交易则不会被认证。
一笔交易创建后若未被记录进区块中,为0确认;若被记录进区块中,则为1确认。为防止恶意制造最长链来进行"双花",建议等待6个新区块产生,也就是"6确认"之后再完成交易。
盛付通信息
(本文在观看李永乐老师视频讲解基础上整理) 防止伪造记录是比特币的一个重饥消要特点,电子签名技术就是防伪的关键。 当一个比特币用户注册的时候会产生一个随机数,随之会产生一个私钥,紧接着生成公钥和地址。扰漏 接下来以“A转给B十个比特币”作为案例,看一下比特币的交易是如何防伪的。 Step1:A编写交易记录并对信息加密 Step2:A将“交易信息、公钥、地址”进行全网广播 Step3:全网对A广播出来的信息进行验证 验证的过程就是全网对广播出来的交易信息进行哈希运算,并得出一个摘要。然后用广播出来的公钥和密码进行解密,也得出一个摘要。 对这两个摘要进行对比,如果相同,信息为真,如果不同,信息为假。 以上就是比特币对信息验证的过程。 结语 1、 比特币防伪采取了电子签名技术; 2、 私钥加密,公钥解密; 3、 对广播出来的信息,全网会进行信息验证,验证通过代表信息真实,否则信息伪造烂李知。 参考文献 [1]微博 @李永乐老师
版权声明:本文标题:怎样防止一个比特币被使用两次?内容由互联网整理发布,该文观点仅代表作者本人,转载请联系作者并注明出处:http://www.0792jiaju.com/post/3444.html,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。
发表评论