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

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

什么是双重支出?

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

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

日本凸版印刷等三家公司加入日本内容区块链计划:9 月 22 日,日本凸版印刷、Septeni Incubate、Quaras 三家公司宣布加入日本内容区块链计划。日本内容区块链计划是一个公司联盟,旨在利用区块链技术加速日本媒体和内容行业的数字化转型。去年 2 月由 7 家企业联合发起后,业内多家企业纷纷加入,本次新增 3 家企业后,会员企业数量扩大至 23 家,包括朝日新闻、电通集团、艾回科技等著名企业。

日本凸版印刷公司是一家拥有 11500 名员工的大型国际性公司,名列 2020 年福布斯全球企业榜第 988 位。[2021/9/22 16:57:40]

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

中心化方式

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

声音 | 京东数字科技副总裁:公司投入大量资源到区块链团队:京东数字科技副总裁徐叶润表示,京东的区块链团队目前有70至80个人,是非常大的一个研发团队。京东链实际上两三年前开始有的,当时有点像一个研发项目,当时中国刚刚接触区块链,有很多人对它产生了兴趣。“我们的部门目标是想找一些比较容易部署、比较容易使用的技术,所以公司投入大量的资源,到今天为止,我们给很多银行、保安公司出手我们的产品。”(新浪财经)[2019/11/7]

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

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

动态 | 网易多款游戏上线区块链游戏平台EGBOX:近日,网易多款游戏上线区块链游戏平台EGBOX,实现了平台账号与通证和游戏之间的打通。[2019/4/19]

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

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

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

Game.com徐乐:现在谁都定义不了什么是区块链游戏:2017年,徐乐以1亿元的价格拿下了Game.com的域名,搭建了名为“乐乐”的游戏平台。近期,Game.com陆续上线了区块链相关的游戏业务。关于区块链游戏应该是什么形态,徐乐认为“大家都被以太猫误导了”。在他看来区块链游戏“不是游戏跑在链上合约上,也不是同时发币”,区块链游戏是一种设计游戏的新思想。以太坊养猫的游戏思想有逻辑问题,但是个很好的思想的开始。[2018/5/1]

Chaumian

去中心化方式

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

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

虚拟货币&区块链企业的人才争夺战:2月24日,由日本withB公司和Gracone公司合作主办,日本区块链协会(JBA)后援的“虚拟货币&区块链企业联合研讨会 in 东京”在东京都千代田区举行。 许多涉及虚拟货币及区块链的企业则展开了激烈的人才争夺战,希望能够消除与虚拟货币相关的负面影响并且通过发现有能力的工程师来促进市场复兴。[2018/3/2]

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

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

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

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

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

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

比特币双花问题

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

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

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

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

总结

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

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

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

金星链

PEPEstETH:为什么 Swell 会是 Lido 的最佳挑战者?

就在几个月前,来自世界各地的匿名用户将目光紧盯在屏幕上,见证了以太坊网络进行的重大转变,即从ETH转向ETH2.0。这次转变地被称为「合并」,转变了ETH的共识机制,从PoW转变为PoS.

[0:15ms0-0:429ms