区块链双花是一朵什么样的花?
在加密货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产被重复使用的情况,这也称之为双花(double spend attack),又叫双重消费攻击。
举个简单的例子,小新拿着100块钱买了巧克力,同时他又复印了一份同样的假的100块钱去买一瓶葡萄酒,又买成功了。通俗的理解,双花就是同一笔数字现金,被使用了两次。
现实解决办法
我们都知道,现在所有的价值传输都是依赖第三方中介机构,典型如银行,支付宝,
在现实中,防止双花一般从交易入手来控制。比如,我们以典型的刷卡交易举例,小新刷卡消费了100元,这意味着小明卡上的100元转移到了卖家的卡上。
不过卡之间的转账处理可能需要一定的时间,于是小新几乎同时又消费了100块钱,银行也几乎同时收到了小新的两笔消费记录,但银行可没那么傻了,银行会按交易时间的先后顺序一笔一笔处理,第一笔处理完之后,小新已经没钱了,第二笔自然就失败。
还有一种情况是小新刷卡买完巧克力之后,自作聪明想制作一张同样的卡,然而卡的磁道,芯片的信息根本难以复制。利用信息安全加密等技术杜绝了非法货币的产生。
区块链解决双花的思路基本上有点类似,从货币价值的不可篡改复制,到交易的难以重复确认,然而用到的技术手段却完全不一样。
区块链解决之道
区块链利用点对点文件分享技术和公钥加密技术,解决双花问题。货币的拥有权是由公共总账来记录,并由加密协议和挖矿社区确认的。区块链是无需信任的,因为用户并不需要信任交易中的另一方或任何中心化的媒介机构,只需要信任这个系统。区块链中的每个区块就是一组一组的交易,它们被陆续发布到总账上,也就是添加到链上去,这些区块都可以公开查看,每个人都能看到每一笔交易记录。
加密货币本身在区块链上账户就是一个二维码的哈希地址,从比特币白皮书上来看区块链上的加密货币本身不加密,加密的是账户,每个账户都具有成对的公私钥,每个账户进行货币转移时都需要用自己的私钥对交易进行数字签名,全网通过公钥对交易进行所有权验证,区块链从密码学的角度解决了货币本身所有权的问题。
再来看交易,区块链引入工作量证明机制,用奖励的方式让全网一起参与计算,共同计算的过程就叫做挖矿。
回到上文的例子,小新同时花了100块钱买巧克力和葡萄酒,那么,这两笔交易会同时向全网进行广播,所有的区块链节点会收到广播的请求,同时每个节点上会存在全网所有的区块信息也就是全网的账户信息,来验证小新该交易的合法性。如果两笔交易一前一后到达,那么全网任意一个节点都能验证出第二笔为重复支付。
如果两笔交易同时达到两个节点中,两个节点也同时验证为成功,并同时广播到全网。于是就出现这种情况,全网的一部分节点确认的交易是买巧克力,另一部分节点确认的交易则是买葡萄酒,这种情况叫分叉。
出现分叉之后,全网的矿工会继续按照自己的区块进行更新,再往后的区块自然会更新出最长的一条区块来,全网的所有矿工都以最长的区块信息为准。如果小新想要保持两笔交易都被确认,那他需要对全网所有的节点进行对抗,保持在两个分叉链上同时更新,显然是没法做到的。
在更多的情况下,当这两笔相矛盾的交易中的一笔被写入区块链,其中的一笔交易至少有6个验证过的block,就可以认为这笔交易获得了最终的确认,双花问题也就这么解决了。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。