区块链安全——什么是双花问题?_区块链:eCash区块链工程专业学什么

Billions项目组Billions项目组Billions项目组

什么是双重支出?

双花问题是数字现金系统中的一个潜在问题,在该系统中,相同的资金同时支付给两个接收者。如果没有合适的机制,仅凭借协议是无法彻底解决双花问题的,用户无法验证是否自己所接收的资金没有同时在其他地方被支付。

在数字现金方面,确保特定的货币单元不可重复是至关重要的。如果Alice可以接收10个货币单元,并可以将其复制粘贴10次,然后发现自己拥有了100个货币单元,那么整个系统将受到破坏。同样,如果她可以同时将相同的10个货币单元同时发给Bob和Carol,则这样机制将无法正常工作。因此,为了使数字货币能够正常运行,必须有合适的机制来防止这种行为的发生。

工信部支持武汉将江汉区打造成区块链产业创新发展示范区:近日,工业和信息化部电子第五研究所区块链创新团队负责人、高级工程师相里朋“云连线”有关人员,为武汉支招献策。江汉区有关负责人表示,2020-2023年,江汉区将发挥科技服务业优势,努力打造成为武汉区块链产业创新发展示范区。据了解,近期,武汉有关部门曾多次召开区块链论证研讨会,工信部五所、清华大学经管学院等全国行业专家参与讨论并表示,武汉有科研、人才、市场优势,发展区块链条件较好。江汉区科学技术与经济信息化局有关负责人介绍,到2022年,围绕区块链技术创新、区块链产业发展、区块链技术场景应用,建成华中区块链产业创新基地,并推动区块链技术与金融、商贸流通、政务服务、文化创意、医疗健康等领域的深度融合,并打造一批区块链典型示范应用场景项目,全力打造武汉市区块链产业创新发展示范区。(长江网)[2020/6/9]

如何防止双重支出的发生?

动态 | 火币周报:本周区块链资产总市值比上周下跌15.08%:火币区块链行业周报(第七十期)发布,报告显示,本周区块链资产总市值比上周下跌15.08%,TOP100项目中85个项目市值有不同程度下跌。本周比特币、以太坊算力环比上升,比特币、以太坊挖矿难度环比上升;本周比特币区块平均交易次数、区块平均大小上升,以太坊的区块平均交易次数、区块平均大小下降;本周比特币矿工费下跌、以太坊矿工费上涨;INS成为代码活跃程度最高的项目。[2019/7/16]

中心化方式

中心化方式比去中心化方案更容易实施。通常,需要安排一名监督员来管理系统并控制单位的发行和分配。大卫·肖姆的eCash就是通过中心化方式解决双花问题的一个有效例子。

要向用户发行类似于现金的数字资产,银行可以使用盲签方式-密码学家DavidChaum在1982年的论文《不可追溯的盲签支付方案》中对此进行了详细说明。

声音 | 阿里巴巴CEO张勇:阿里巴巴将通过区块链等技术赋能制造业:阿里巴巴集团CEO张勇在日前发布的致股东信中表示,阿里巴巴将通过云计算、人工智能、区块链和物联网等方面的布局,用技术赋能制造业,通过“新制造”帮助千千万万的制造业企业应对未来的挑战。[2018/11/22]

在这种情况下,如果某个用户希望在银行账户中支取100美元的数字现金,则必须先通知银行。如果他的帐户中有余额,那么他将生成一个随机数。假设他生成了五个随机数,每个数字代表的价值为20美元。为了防止银行能够追踪到特定的货币单元,Dan通过为每个随机单位添加盲因子来混淆随机数。

然后,他将这些数据交给银行,该银行从他的帐户中扣除100美元的余额,并对消息进行签名,证明五条信息中的每条信息都可以代表20美元。之后,Dan就可以使用银行所发行的数字现金了。现在他去Erin的餐厅用餐花费了40美元。

动态 | IBM加入创建类似“黄页”的区块链项目:据thenextweb报道,IBM刚刚宣布已加入一个旨在提供类似黄页目录的区块链平台及基于区块链业务的项目。该项目被称为“无界登记处”,将由区块链开发公司HACERA领导。HACERA寻求创建一个“通过区块链网络目录将许可和无需许可的区块链集中在一起的”开放式跨区块链注册表。[2018/9/14]

Dan可以消除盲因子,以暴露与每个数字现金“账单”相关的随机数,该随机数可以用作每个单元的唯一标识符。他向Erin透露了其中的两个,Erin现在必须立即向银行申请验证这笔资金,以防止Dan将其支付给其他人。银行将检查签名是否有效,如果一切正确,它将向Erin的帐户中存入40美元。

现在,上面所有的交易记录都已经核对无误,如果Erin希望以同样的方式使用她的账户余额,则必须在银行账户上执行相同的操作。

IBM与雀巢和沃尔玛在全球食品安全领域开展区块链技术合作:包括雀巢(Nestlé)和沃尔玛(Walmart)在内的一些领先的零售商和食品公司已经宣布与IBM联手,运用区块链技术让全球食品企业实现追踪食品来源的功能。这次联合会进一步强化 IBM 的企业级区块链服务,为合作企业提供从货源到商店、实时更新的食品分类账的渠道。[2017/11/27]

Chaumian

去中心化方式

在没有监督机制的生态系统中如何确保不发生“双花”支付,是相当更具挑战性的。具有同等能力的参与者必须按照一组规则进行协商,防止欺诈的发生,并激励所有用户诚信经营。

比特币白皮书中提出的最大创新是双花问题的解决方案。中本聪提出了一种数据结构,尽管现在没有这样引用,但它现在被广泛称为区块链。

区块链实际上只是具有某些独特属性的数据库。网络上的参与者运行专门的软件,该软件使节点能够将其数据库副本与其他节点进行同步。促使整个网络都可以从创世区块开始,审核和追溯链上发生的交易。通过公开查看区块链,可以很容易地检测和防止欺诈行为活动,例如识别出进行双花支出的交易。

用户广播交易时,不会立即将其添加到区块链中,必须首先通过挖矿将其打包在区块中。这样,接收者在确定交易已经添加到区块链之后,才可以认为该交易有效。否则,他们有失去资金的风险,因为发送方可能在其他地方支付了相同的代币。

如果交易被区块链正式确认,则代币就不可能被重复使用,因为所有权已分配给新用户,并且整个网络都可以对此进行验证。出于这个原因,许多人建议在接受有效付款之前先等待多次确认。随后的每个区块的验证,都会对修改或重写区块链,增加极大的工作量。

让我们回顾一下刚才餐厅的消费场景。Dan回到餐厅,这次在窗口上看到一个“此处接受比特币支付”的标签。他对上一次的用餐非常满意,所以他再次点了同样的套餐。花费了他0.005BTC。

Erin向他展示了一个公共地址,他必须将资金发送到该地址上。Dan支付后,广播了该交易,这实质上是一个已签名的消息,指出Dan拥有的0.005

但是,如前所述,该交易仅能够在被区块链确认后才能有效。如果在没有区块链确认的情况下就确认接收到该笔资金,就像接上一案例中接收40美元的eCash一样,如果不立即通过银行兑现,发送方可以将该笔资金又在其他地方。因此,我们建议Erin在确认Dan的付款之前至少等待6个区块确认。

比特币双花问题

比特币通过精心设计,至少现阶段按预期使用协议时,可以有效防止双重支出攻击。也就是说,如果我们等待区块中的交易确认,则发送者没有简单的方法可以撤消它。为此,他们将需要“反转”区块链,这需要非常庞大的哈希计算资源。

但是,针对某些未确认交易,可能出现少数的双重支出攻击。例如,对于某些价值较低的消费场景,商家可能不会等待交易被区块链验证才进行确认。忙碌的快餐店可能无法等待每笔购物交易都在区块链上进行验证。因此,如果一家企业启用了“即时”付款,那么就可能发生双花支出。有人可能会点一个汉堡,然后进行支付,同时他会立即将相同的资金发送到他们自己的地址。当后面这笔交易的手续费用较高时,后面的交易很可能会首先被确认,因此将使先前的交易无效。

有两种双花攻击的普遍方式:

51%攻击:单个实体或组织设法控制超过50%的哈希算力,这使他们可以删除或修改交易的顺序。这种攻击在比特币网络上发生是极不可能的,但在其他区块链网络中可能发生过。竞赛攻击:使用相同的资金连续广播两个冲突的交易,但只有一项交易得到确认。攻击者的目标是通过验证对他有利的交易来使另一个支付无效。竞赛攻击一般要求接收者在交易未经确认前,就确认该笔支付已到账。芬妮攻击:攻击者将一个交易预挖为一个区块,而没有立即将其广播到网络中。相反,他将相同的代币花费在另一笔交易中,然后才广播他之前所预挖的区块,这可能会使支付无效。芬妮攻击需要发生一系列相关联的事情,并且还取决于接收者能够接受未经确认的交易。正如我们所看到的,等待区块确认能够大大降低成为双花受害者的风险。

总结

“双花”问题可能会让某些用户在电子现金系统上多次使用同一笔资金,谋取不当的经济收益。在传统上,该领域也缺乏相对应的解决方案。

但是,好在中心化的金融方案使用了盲签方式作为解决该问题的一种方式。后来,工作量证明机制和区块链技术的创建催生了比特币,成为一种强大的去中心化货币形式,这种形式能够有效防范双重支付的发生,这反过来又激发了成千上万其他加密货币项目。

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

水星链

[0:0ms0-0:500ms