在现实糊口中,作为收款者来说,好比商店老板,防御第一种双花很容易,不以付款者的生意业务记录为依据,只有确认本身账户上钱到账才交付商品。好比用微信付出,不只要看用户出示的手机付出页面,,也要看本身的手机上是否收到。虽然,假如很小额的生意业务,生意又忙,用户也是街坊邻里,只看付出页面也可以,这个小风险商店可以包袱。
区块链应用也雷同,整个区块链技能的焦点就是保障账本的安详,记了账就不能被双花。但安详不是绝对的,纵然记了账,仍然有大概被双花。因为,区块链应用不是依靠中央银行这样的机构的权威来保障账本安详的,而是依靠漫衍世界各地的节点都生存统一份的账本,而且由全世界的矿工用算力来竞争记账,发生完全一致的新账页的。
这样,问题就简朴了。商户可以按照生意业务金额的巨细来抉择如何防御双花。
而防御第二种双花就较量难了。在糊口中,好比微信已经记了账,但黑客进攻了微信的处事器,商户收款的生意业务记录一旦丢失,商户自然就受到了损失,付款者又可以利用本来的这笔钱。不外,这种环境少少呈现,既然要记账,那必然长短常小心生存账本的。
一般来说,双花问题分为两种环境:一种是记账前双花,好比同一笔钱,因为银行同步延迟的问题,被多次利用,像我们适才举的例子就是这种环境;另一种是记账后的双花,一笔钱花出去,银行已经记账,但假如你进攻银行,从银行账本上删除了这笔耗费,就可以再花一次了,即双花。
当有人把握了全网51%以上的算力时,就可以或许将方才记过的账页作废,把内里的一笔耗费规复成没被花掉的状态。这就是记账后的双花了,这种进攻要领叫“51%进攻”。这种双花相对付记账前的双花较量难实现,因为把握51%算力需要许多钱。但假如双花的收益足够大,进攻仍然是有大概的。怎么办呢?
那在现实糊口和区块链中,我们该如何办理双花问题呢?
所谓双花问题,顾名思义,就是一笔钱被反复花了两次。好比,我们微信钱包里有100块钱,我们先去饭馆吃了顿饭,功效微信出了bug,这一笔钱并没有被银行同步,还留在钱包里,于是我们又能拿着同样的100块钱去看场影戏,这就属于双花问题。
之前的课程,我们已经讲过了的四大焦点技能都有哪些,它们配合抉择了区块链的整个基本框架。但是在区块链网络中,尚有一些问题是四大焦点技能也没有步伐完全办理的,好比网络拥堵问题、效率问题等等。目前天,我们要说的就是个中的一种,也就是双花问题。
办理的步伐是,期待更多确认。51%的算力要作废最新账页,其乐成概率是51%,但作废持续两个新账页的概率就是51%*51%=26%,作废3个的概率是13.3%,作废6个的概率只有0.46%了。假如进攻者没有把握51%的算力,只把握20%的算力,那么进攻乐成的概率就只有0.0064%了。
假如生意业务金额很小,好比卖支铅笔,完全可以接管零确认,对用户既省时又贴心。万一双花也不在乎。假如生意业务金额大一些,好比卖件衣服,那发起期待一个确认就可以了。不会有黑客为了你一套衣服动用51%的算力提倡进攻的。假如生意业务金额很大,好比买钻石,那就要小心了。要按照全网算力的本钱估算一下需要几多个确认,金额越大,需要简直认数就越多。总之,防范双花进攻,一个根基的道理就是,让进攻者赔钱的概率远远高于你被双花的概率。
虽然,为了防范双花问题,区块链自己从技能方面,也在共鸣机制的基本上,引入了一些其他技能,好比时间戳和UTXO模子。通过它们,进一步提高区块链的记账安详性、以及双花的作恶本钱。至于它们详细是如何办理的,容小K君卖个关子,我们下节课再说~
好比这个区块链是10分钟确认一次,全网51%的算力每10分钟的本钱是10万元。你卖的钻石代价100万元。那么你至少要10个确认以上才气交付钻石。最好是20个以上确认。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。