\n 哈喽大家好,我是小K君。今天我们要讲的内容是:“什么是双花问题”?
之前的课程,我们已经讲过了区块链的四大核心技术都有哪些,它们共同决定了区块链的整个基础框架。可是在区块链网络中,还有一些问题是四大核心技术也没有办法完全解决的,比如网络拥堵问题、效率问题等等。而今天,我们要说的就是其中的一种,也就是双花问题。所谓双花问题,顾名思义,就是一笔钱被重复花了两次。比如,我们微信钱包里有100块钱,我们先去饭店吃了顿饭,结果微信出了bug,这一笔钱并没有被银行同步,还留在钱包里,于是我们又能拿着同样的100块钱去看场电影,这就属于双花问题。
声音 | OK区块链工程院首席研究员:央行数字货币的正式发行和推出只等待一个时机:OK区块链工程院首席研究员李霁月也对《国际金融报》记者表示,中国研究数字货币比较早,近两年也不断有成熟的理论和技术进展向外公布,而近日更有央行数字货币架构设计的消息披露,央行数字货币的正式发行和推出只等待一个时机,或将不远。现在的区块链是一个竞速战争,是标准制定和话语权的战争,谁最先开发出最厉害的公链,并让世界上绝大多数应用和绝大多数人使用,或许就能掌握规则的制定权。数字货币并不完全是技术先进性的战争,也是金融话语权的战争,哪个国家最先让与本国法定货币锚定的稳定币占领最大份额的市场,就掌握了国际市场上一定的金融主导权。央行锚定的数字货币就是一种信用的体现,也可以说是金融软实力和国力的体现。[2019/11/18]
声音 | 比特币安全专家:Libra需要将其与母公司Facebook区分开来:据AMBCrypto消息,比特币安全专家Andreas Antonopoulos认为,Libra的主要挑战是在与Facebook公司的第一次接触中生存下来,并将其与母公司区分开来。他解释,“因为目前这是一个孵化项目。它是理想主义、进步的,它的愿景是积极的。它专注于现在和将来更多的去中心化。现在有一点许可,未来无需许可,现在证明权威,未来证明利害关系。”[2019/7/8]
一般来说,双花问题分为两种情况:一种是记账前双花,比如同一笔钱,因为银行同步延迟的问题,被多次使用,像我们刚才举的例子就是这种情况;另一种是记账后的双花,一笔钱花出去,银行已经记账,但如果你攻击银行,从银行账本上删除了这笔花费,就可以再花一次了,即双花。那在现实生活和区块链中,我们该如何解决双花问题呢?
声音 | OK区块链工程院Shine Jiang:寒冬未至 产学研结合将是区块链下一步:据《国际金融报》消息,Shine Jiang在接受《国际金融报》采访时表示,公链作为底层技术,与互联网和操作系统一样,属于“区块链+产业”的基础设施。对于区块链行业整体步入寒冬的说法,Shine Jiang并不完全认同。他谈到,目前行业整体处于收缩状态,但事实上,对那些踏实进行公链基础技术研究的创业公司和学术圈而言却是一番火热光景。Shine Jiang称:“在学术圈,区块链研究方面空前火热,很多学术圈的著名学者也加入到了区块链的研究上来,一些著名高校也成立区块链相关的研究中心,比如清华、北大、人大、MIT、伯克利等,都在区块链理论、技术、政策等方面进行了更加深入的研究。目前我们的精力也主要集中在区块链底层技术上的突破。”[2018/12/19]
国际顶级网络安全专家刘杰正式加盟OK区块链工程院:近日,国际顶级网络安全专家刘杰正式加盟OKCoin,任职OK区块链工程院首席科学家,全面负责OKCoin区块链工程院的技术研发、项目拓展以及人才培养工作。[2018/4/4]
在现实生活中,作为收款者来说,比如商店老板,防范第一种双花很容易,不以付款者的交易记录为依据,只有确认自己账户上钱到账才交付商品。比如用微信支付,不仅要看用户出示的手机支付页面,也要看自己的手机上是否收到。当然,如果很小额的交易,生意又忙,用户也是街坊邻里,只看支付页面也可以,这个小风险商店可以承担。在区块链应用中,防范未记账前的双花也与之类似,最好的解决方案也是等记账后,再完成交易,大额交易一般都是走这种路径。不过,如果金额很小,人又熟,交易是可以不记入区块链的,即没有记账的情况下,也可以完成支付。这叫“零确认支付”,只不过这种方式,收款方是要承担被双花的风险。
而防范第二种双花就比较难了。在生活中,比如微信已经记了账,但黑客攻击了微信的服务器,商户收款的交易记录一旦丢失,商户自然就受到了损失,付款者又可以使用原来的这笔钱。不过,这种情况极少出现,既然要记账,那一定是非常小心保存账本的。区块链应用也类似,整个区块链技术的核心就是保障账本的安全,记了账就不能被双花。但安全不是绝对的,即使记了账,仍然有可能被双花。因为,区块链应用不是依靠中央银行这样的机构的权威来保障账本安全的,而是依靠分布世界各地的节点都保存统一份的账本,并且由全世界的矿工用算力来竞争记账,产生完全一致的新账页的。当有人掌握了全网51%以上的算力时,就能够将刚刚记过的账页作废,把里面的一笔花费恢复成没被花掉的状态。这就是记账后的双花了,这种攻击方法叫“51%攻击”。这种双花相对于记账前的双花比较难实现,因为掌握51%算力需要很多钱。但如果双花的收益足够大,攻击仍然是有可能的。怎么办呢?解决的办法是,等待更多确认。51%的算力要作废最新账页,其成功概率是51%,但作废连续两个新账页的概率就是51%*51%=26%,作废3个的概率是13.3%,作废6个的概率只有0.46%了。如果攻击者没有掌握51%的算力,只掌握20%的算力,那么攻击成功的概率就只有0.0064%了。这样,问题就简单了。商户可以根据交易金额的大小来决定如何防范双花。如果交易金额很小,比如卖支铅笔,完全可以接受零确认,对用户既省时又贴心。万一双花也不在乎。如果交易金额大一些,比如卖件衣服,那建议等待一个确认就可以了。不会有黑客为了你一套衣服动用51%的算力发起攻击的。如果交易金额很大,比如买钻石,那就要小心了。要根据全网算力的成本估算一下需要多少个确认,金额越大,需要的确认数就越多。
比如这个区块链是10分钟确认一次,全网51%的算力每10分钟的成本是10万元。你卖的钻石价值100万元。那么你至少要10个确认以上才能交付钻石。最好是20个以上确认。总之,预防双花攻击,一个基本的原理就是,让攻击者赔钱的概率远远高于你被双花的概率。当然,为了预防双花问题,区块链本身从技术方面,也在共识机制的基础上,引入了一些其他技术,比如时间戳和UTXO模型。通过它们,进一步提高区块链的记账安全性、以及双花的作恶成本。至于它们具体是如何解决的,容小K君卖个关子,我们下节课再说~注:这些例子数据都是为了简便给的估值,真实的攻击成本收益分析非常复杂。
感谢刘昌用老师对本集内容的帮助和指导。新浪微博:@昌用老师-END-
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。