Billions项目组Billions项目组Billions项目组
什么是双重支出?
双花问题是数字现金系统中的一个潜在问题,在该系统中,相同的资金同时支付给两个接收者。如果没有合适的机制,仅凭借协议是无法彻底解决双花问题的,用户无法验证是否自己所接收的资金没有同时在其他地方被支付。
在数字现金方面,确保特定的货币单元不可重复是至关重要的。如果Alice可以接收10个货币单元,并可以将其复制粘贴10次,然后发现自己拥有了100个货币单元,那么整个系统将受到破坏。同样,如果她可以同时将相同的10个货币单元同时发给Bob和Carol,则这样机制将无法正常工作。因此,为了使数字货币能够正常运行,必须有合适的机制来防止这种行为的发生。
OpenSea已支持基于BNB Chain的NFT:金色财经报道,11月30日,OpenSea官方宣布正式集成BNB Chain。
此前,OpenSea已支持以太坊主网、Arbitrum、Avalanche、Klaytn、Optimism、Polygon、Solana等多条链。[2022/11/30 21:10:51]
如何防止双重支出的发生?
中心化方式
中心化方式比去中心化方案更容易实施。通常,需要安排一名监督员来管理系统并控制单位的发行和分配。大卫·肖姆的eCash就是通过中心化方式解决双花问题的一个有效例子。
要向用户发行类似于现金的数字资产,银行可以使用盲签方式-密码学家DavidChaum在1982年的论文《不可追溯的盲签支付方案》中对此进行了详细说明。
美股开盘 区块链概念中概股中网载线涨幅最大:今日美股开盘,区块链概念中概股中网载线涨幅最大。猎豹移动(CMCM)开涨0.16%,中网载线(CNET)开跌1.32%,人人公司(RENN)开涨0.34%,寺库(SECO)今开与昨收持平,拍拍贷(PPDF)开跌0.14%,迅雷(XNET)开涨0.38%,兰亭集势(LITB)开跌0.45%。[2018/5/11]
在这种情况下,如果某个用户希望在银行账户中支取100美元的数字现金,则必须先通知银行。如果他的帐户中有余额,那么他将生成一个随机数。假设他生成了五个随机数,每个数字代表的价值为20美元。为了防止银行能够追踪到特定的货币单元,Dan通过为每个随机单位添加盲因子来混淆随机数。
然后,他将这些数据交给银行,该银行从他的帐户中扣除100美元的余额,并对消息进行签名,证明五条信息中的每条信息都可以代表20美元。之后,Dan就可以使用银行所发行的数字现金了。现在他去Erin的餐厅用餐花费了40美元。
区块链概念股Longfin:公司将在诉讼问题上予以配合:美国金融科技公司、区块链概念股Longfin:公司将全面遵守纳斯达克交易所的信息要求,并在诉讼问题上予以配合。[2018/4/7]
Dan可以消除盲因子,以暴露与每个数字现金“账单”相关的随机数,该随机数可以用作每个单元的唯一标识符。他向Erin透露了其中的两个,Erin现在必须立即向银行申请验证这笔资金,以防止Dan将其支付给其他人。银行将检查签名是否有效,如果一切正确,它将向Erin的帐户中存入40美元。
现在,上面所有的交易记录都已经核对无误,如果Erin希望以同样的方式使用她的账户余额,则必须在银行账户上执行相同的操作。
Chaumian
去中心化方式
在没有监督机制的生态系统中如何确保不发生“双花”支付,是相当更具挑战性的。具有同等能力的参与者必须按照一组规则进行协商,防止欺诈的发生,并激励所有用户诚信经营。
蛇口能源区块链签约:2月28日,蛇口能源区块链正式签约,蛇口将率先试点能源区块链在全球的首个社区运用。通过区块链技术,蛇口南海意库光伏电站发出的电将优先交易到认同清洁和绿色新能源的100户蛇口家庭,电价不变。同时这些环保家庭的良好用电习惯可以被记录和见证,进一步推广环境友好理念。[2018/3/2]
比特币白皮书中提出的最大创新是双花问题的解决方案。中本聪提出了一种数据结构,尽管现在没有这样引用,但它现在被广泛称为区块链。
区块链实际上只是具有某些独特属性的数据库。网络上的参与者运行专门的软件,该软件使节点能够将其数据库副本与其他节点进行同步。促使整个网络都可以从创世区块开始,审核和追溯链上发生的交易。通过公开查看区块链,可以很容易地检测和防止欺诈行为活动,例如识别出进行双花支出的交易。
用户广播交易时,不会立即将其添加到区块链中,必须首先通过挖矿将其打包在区块中。这样,接收者在确定交易已经添加到区块链之后,才可以认为该交易有效。否则,他们有失去资金的风险,因为发送方可能在其他地方支付了相同的代币。
区块链联盟R3在亚马逊AWS上推出Corda分布式账本平台:区块链联盟初创公司R3已经在亚马逊AWS上推出了Corda分布式账本(DLT)平台。根据R3在其官方博客发表的文章透露,Corda已经成为了市场上首批登陆亚马逊AWS平台的分布式账本解决方案之一,亚马逊AWS用户可以开发和部署金融和商业应用程序,或是直接使用R3现有提供的“CorDapps”。[2017/12/6]
如果交易被区块链正式确认,则代币就不可能被重复使用,因为所有权已分配给新用户,并且整个网络都可以对此进行验证。出于这个原因,许多人建议在接受有效付款之前先等待多次确认。随后的每个区块的验证,都会对修改或重写区块链,增加极大的工作量。
让我们回顾一下刚才餐厅的消费场景。Dan回到餐厅,这次在窗口上看到一个“此处接受比特币支付”的标签。他对上一次的用餐非常满意,所以他再次点了同样的套餐。花费了他0.005BTC。
Erin向他展示了一个公共地址,他必须将资金发送到该地址上。Dan支付后,广播了该交易,这实质上是一个已签名的消息,指出Dan拥有的0.005
但是,如前所述,该交易仅能够在被区块链确认后才能有效。如果在没有区块链确认的情况下就确认接收到该笔资金,就像接上一案例中接收40美元的eCash一样,如果不立即通过银行兑现,发送方可以将该笔资金又在其他地方。因此,我们建议Erin在确认Dan的付款之前至少等待6个区块确认。
比特币双花问题
比特币通过精心设计,至少现阶段按预期使用协议时,可以有效防止双重支出攻击。也就是说,如果我们等待区块中的交易确认,则发送者没有简单的方法可以撤消它。为此,他们将需要“反转”区块链,这需要非常庞大的哈希计算资源。
但是,针对某些未确认交易,可能出现少数的双重支出攻击。例如,对于某些价值较低的消费场景,商家可能不会等待交易被区块链验证才进行确认。忙碌的快餐店可能无法等待每笔购物交易都在区块链上进行验证。因此,如果一家企业启用了“即时”付款,那么就可能发生双花支出。有人可能会点一个汉堡,然后进行支付,同时他会立即将相同的资金发送到他们自己的地址。当后面这笔交易的手续费用较高时,后面的交易很可能会首先被确认,因此将使先前的交易无效。
有两种双花攻击的普遍方式:
51%攻击:单个实体或组织设法控制超过50%的哈希算力,这使他们可以删除或修改交易的顺序。这种攻击在比特币网络上发生是极不可能的,但在其他区块链网络中可能发生过。竞赛攻击:使用相同的资金连续广播两个冲突的交易,但只有一项交易得到确认。攻击者的目标是通过验证对他有利的交易来使另一个支付无效。竞赛攻击一般要求接收者在交易未经确认前,就确认该笔支付已到账。芬妮攻击:攻击者将一个交易预挖为一个区块,而没有立即将其广播到网络中。相反,他将相同的代币花费在另一笔交易中,然后才广播他之前所预挖的区块,这可能会使支付无效。芬妮攻击需要发生一系列相关联的事情,并且还取决于接收者能够接受未经确认的交易。正如我们所看到的,等待区块确认能够大大降低成为双花受害者的风险。
总结
“双花”问题可能会让某些用户在电子现金系统上多次使用同一笔资金,谋取不当的经济收益。在传统上,该领域也缺乏相对应的解决方案。
但是,好在中心化的金融方案使用了盲签方式作为解决该问题的一种方式。后来,工作量证明机制和区块链技术的创建催生了比特币,成为一种强大的去中心化货币形式,这种形式能够有效防范双重支付的发生,这反过来又激发了成千上万其他加密货币项目。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。