区块链:区块链安全——什么是双花问题?

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

什么是双重支出?

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

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

Apifiny推出基于区块链的支付结算网络Roxe:区块链支付公司Apifiny今日宣布推出针对传统及数字资产的支付清算、结算网络Roxe。

Apifiny首席执行官Haohan Xu表示:“Roxe是一个统一的技术网络,旨在通过更有效地连接世界各地的银行、分散资产、市场和系统来解决价值转移问题,从而摆脱金融机构会计系统的限制,实现自由资产转移。”(Finance Magnates)[2020/6/9]

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

中心化方式

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

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

区块链游戏运营商FunFair添加银行卡支付功能:总部位于都柏林的区块链游戏运营商FunFair希望通过提供传统的法币支付服务来扩大受众范围。在与加密货币支付处理器MoonPay达成合作后,FunFair已在其产品中增加了银行卡支付功能,希望借此吸引更多的受众。(EGR)[2020/4/22]

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

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

行情 | 美股开盘:美股区块链概念股仅一只下跌:美股开盘,三大股指均出现上涨,美股区块链概念股仅一只下跌。柯达下跌1.68%,埃森哲上涨0.41%,overstock.com上涨0.26%;Riot Blockchain上涨0.67%,Marathon Patent上涨1.08%,Square平盘。[2020/2/20]

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

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

声音 | 北京市发改委主任:以区块链为基础的信息共享制度,推动营商环境改革再上一个台阶:1月11日晚上,北京市发展改革委主任谈绪祥做客《市民对话一把手》栏目时透露,将今年的营商工作概括为“1+4”: “1”是以法治化建设为主线;所谓的“4”,是以告知承诺为基础的审批制度,以信用为基础的监管制度,以区块链为基础的信息共享制度,以标准化为基础的政务服务制度为框架,推动本市的营商环境改革再上一个更好的台阶。(北京日报)[2020/1/12]

Chaumian

去中心化方式

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

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

声音 | 德州市政协委员:运用区块链安全技术等建立居民健康大数据中心:金色财经报道,1月8日下午,德州市政协委员、市中医院脑病科主任李玉杭向市政协十四届四次会议提交提案。李玉杭建议,研究制定德州市全民健康信息平台信息数据共享与交换规范,充分利用现有医院、疾控、妇幼、公卫、医疗保障、药店及健康查体中心等信息化资源,运用云计算、5G、区块链安全技术建立全市居民健康大数据中心。[2020/1/9]

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

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

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

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

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

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

比特币双花问题

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

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

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

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

总结

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

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

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

地球链

[0:15ms0-0:459ms