http://www.dfagri.com/

这个指针指向被收录在共识链中的之前交易

双花攻击如何实现?假设小白是小黑运行的在线交易客户,小黑提供在线服务,收取比特币报酬。比如小黑提供一些软件下载服务。双花攻击的实现方式是,小白登陆小黑的网站决定买某些东西用比特币支付,在技术意义上,用比特帮付款的意思为,小白将发起一个从他的地址到小黑地址的比特币网络广播。假定某个在一个检查完毕的节点中铸造下一个区块,比特币网络所有用户收听到该交易,将其记录到下一个区块。这里发生的事情为:由诚实节点铸造的区块,交易作为一种数据结构包含小白的签名,被指定支付给小黑的公钥,其中包括一个哈希。

那这个哈希是什么?这个哈希代表一个指针,指小白之前是从哪里获得比特币,这个指针指向被收录在共识链中的之前交易。在此涉及两种指针,分别是区块包含前一个区块的哈希,交易包含前一个交易的指针表示这些币从何而来。区块目前由一个诚实节点铸造,假设下一个被随机选择的节点,是被小白恶意控制的恶意节点,这就是区块链现在看起来的模样。小黑已经看了区块链,会给他一个小白已经支付的信息,于是允许小白在网站上进行消费,只要小黑对交易完成感到满意,小白就能通过交易获得物品。

假如小白铸造一个新区块会如何?能够完全忽略前面合法区块,取而代之包含一个指向更前一个区块的指针。此外新区块将包含一个交易,这个交易将小白的币转型向攻击另一个地址,改地址是被小白所控制,这就是典型的双花攻击模式。小白创造一个新的交易,不是将币转给小黑,而是转给自己的另一个地址,这完全是另一个交易,同时具备向此前交易的哈希指针,试图进行双花攻击。那如何知道这个攻击能否成功呢?这取决于交易为何最终会存在于长期的共识链上。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。