有时候会存在一个或者多个交易被重复使用或者撤销的情况,但这并不重要,重要的是我们要对这种风险进行评估,去发现双花的类型以及解决方案。目前可知的零确认下主要存在三种双重支付(双花支付)的类型:快速的双花,延迟的双花和矿工辅助的双花。 快速的双花 快速双花是指您向商家付款后很快又在几秒钟内尝试将交易双花。实现双花的方式有很多,例如为交易设置非常低的费用或很高的费用,或者直接与矿工建立联系并给予矿工双花。向商家显示一项交易,但尝试在网络传播另一笔交易。 使用雪崩协议(Avalanche),双花可以在3秒左右的时间内解决,并且看起来雪崩有助于防止快速的双花。如果诈骗者成功地使商家花了两倍的钱,则最好的办法是发出“检测到诈骗”警报,并希望商家采取适当的行动。如果诈骗者尝试花费双倍但未成功,则雪崩协议(Avalanche)可以让您选择忽略警报。 延迟的双花 不是直接进行双花,而是等你购买完成以后。或许当你走出商店以后,你已经进行了双花支付。由于矿工已经把交易信息打包到区块,这种情况下执行双花是非常困难的。在网络中进行双花支付的信息传播也是不容易的,节点会根据先见规则拒绝它。当然,这取决于节点设置,他们可以随意忽略它们,这是共识前的主要论据之一。 如果雪崩协议可以直接在每笔交易中运行,确实可以在一定程度上保证安全。如果仅仅是检测到双花时才运行,那么用户就不能确定他看到的交易是否已经被确认,直到骗子发起双花支付。当然,还有其它的解决方案,例如,Storm提议中的弱块或“增量块”将足够快(<1分钟)以缓解这种情况。 矿工辅助双花 矿工辅助双花是最难以实现的,矿工不会把双花支付信息传播到网络之中,而是私下保留双花支付,并将其包含在块中而不是原始支付中。骗子可能与矿工串通或者矿工可以设置“双花即服务”。 矿工辅助双花成功的概率大小取决于矿工拥有的算力大小,矿工唯一的风险是被其它矿工孤立,挖出的块成为孤块。如果矿工通过多笔交易来完成,那么成为孤块的风险就会增加。这是由比特币现金(BCH)共识机制决定的。Storm会极大地阻止矿工这样做,因为薄弱的区块得到了工作量证明的支持,并且使用了使比特币首先发挥作用的激励措施。 假设雪崩协议允许孤块的存在,矿工是不希望自己被孤立,挖出的块成为孤块。每笔交易都必须运行雪崩协议,否则我们不知道该块中包含的交易是否应该孤立。 在理论上,是不可能彻底的解决零确认存在的安全问题的,我们能做的就是尽可能提高其安全性。这就和比特币永远都会存在51%攻击的风险是一样。 (责任编辑:admin1) |