区块扩容真的迫在眉睫吗?
没有危机
区块链分叉提议引起了人们的激烈辩论,大多数人认为如果袖手旁观什么都不做的话,比特币网络就会发生迫在眉睫的危机。然而,这种说法是夸大其词的,没有考虑到如果拥堵变得日益频繁的话,哪些行为最有可能发生。
袖手旁观的代价
比特币末日支持者认为,袖手旁观会对比特币造成极大的伤害并且会削弱比特币的效用。虽然未来确实会出现一些问题,但是这种说法夸大了袖手旁观造成的损害。人们关注这一问题的主要原因是区块即将达到上限。
上周针对这一问题做了一个简短的DDOS攻击测试。结果证实了如果产生的交易超过了区块链的容纳范围,确实会出现一些问题。节点不是设计来处理这种情况的,因此节点不善于处理这种情况。钱包也不善于处理那些被认为已经花出去的资金但其实并没有被收到,因为他们还在内存池里等待被处理,也可能要等很长一段时间。目前这种袖手旁观的行为是很多人不愿看到的,因为这会造成很大的痛苦。
痛苦是创新的动力
这一分析的失败之处在于它假设世界是静态的。是的,目前系统设备还非常不善于处理拥堵问题。但是,这并不意味着它会一直这样。人们会调整它。当网络达到容量极限时,则意味着具有最高优先级(由节点的决定)的事务将被优先考虑添加到总帐中。
基于目前比特币已经有一个内置的竞价机制(交易费),一笔交易所表现出来的重要程度(交易费高)会对它的确认速度起很大的决定作用。费用将上升,过去正常运作的交易情况将会变得效率低下。这种情况之前已经发生过。过去,Satoshi Dice博彩网站就有很多这种微额交易,随着经济的发展,他们被转移到了支持链下交易的平台上。随着打赏文化的流行,通过区块链进行微额支付的效率下降了,因此微额支付被逐渐转移到链下平台比如ChangeTip。这些解决方案的出现是因为利益的驱动。
人们将会停止使用比特币进行微额交易,并且会尽可能地去加强比特币网络。许多小的交易将转移支付渠道。小额支付通道(Hub-and-spoke systems)现在将有钱可赚,而且有钱可赚也会成为建立这些通道的一个鼓励机制。闪电网络(Lightning Network)也是在这样的鼓励机制下被建立起来的。
价值定位
与法定货币和黄金相比,比特币能提供令人难以置信的价值定位。它的数量是固定的、无法被伪造、可分割的并且易于运输。比特币的价值定位来源于这些基本属性。
如果人们跳过这些关卡的目的就是为了避免支付更多的手续费,那么这样做其实是没有经济意义的。很多人花费了大量的时间和金钱来购买比特币。这些交易行为不会受到略高交易费用的影响,也可能不会受到相当高的交易量的影响。例如,如果我想在Coinbase上购买1千美元的比特币,我将要支付1%+0.15美元,即10.15美元。我会因为要花0.05美元而不是0.01美元的转账费用就不在Coinbase上购买比特币了吗?我会因为要花1.00美元,而不是0.01美元就不在Coinbase上购买比特币了吗?恐怕还不到那时候,我就已经花了10.15美元购买比特币了。我肯定认为跳过了这么多关卡购买比特币是相当有价值的,因此就算是再多花1美元,又能怎么样呢?
特殊用例
微额支付的特殊用例将会发生改变。当费用是一分钱时,那么通过区块链给别人发送1块钱是可以的。而当费用变成了0.01美元,那么这样做就会失去意义。这会给比特币造成损害吗?丝毫不会,这说明人们愿意支付更多的费用来使用它。用户仍然可以通过其他服务来进行这样的交易,尽管信任模式会略差。甚至不需要信任的模式也可能成为支付渠道。
人们都在说比特币网络会因为变得过于拥堵而成为无用的东西。这种说法是完全荒谬的。如果一样东西变得非常受欢迎以至于人们愿意支付高额费用来使用它,那么它就能显示出巨大的价值。只有那些特殊的用例会受到影响,直到容量匹配了需求才能解决这一问题。
拥堵期间应对恶意行为
DDOS攻击压力测试是用来“证明”在假设的条件下将会发生什么情况的方法。当然,这是很愚蠢的,因为网络是不是静态的,并且人们也不会不作反应。但软件确实需要改进。这些改进将导致当前许多假设失效,如零确认交易是“安全的”。
支持做出改变的人如迈克·赫恩,他也是这些假设的坚定支持者,即使这些假设实际上不是那么牢靠。不过,比特币网络将随时间而改变,它不能永远停留在一个地方。在如何处理拥堵问题上有几种解决方案。
问题的根源
目前,节点还是将未确认的交易保留在内存池中。如果节点看到任何企图进行双重支付的行为,它们就会忽略这些交易行为。协议没有对这个策略进行维护,但这是大多数节点默认的。该内存池可以无限地增长,因此任何被视为有效和标准的交易将被添加到内存池中,并传递给其他节点。然而,没有机制来保证节点行为一致。目前,良好的交易行为是遵循这种模式的唯一原因,尤其对矿工来说是唯一的原因。矿工可能会决定接受他们希望看到的任何有效的交易,即使是重复的交易,只要是实际存在并且有效的。那些在拥堵期间没有足够费用的交易最终将过期并从内存池中删除,然后让用户尝试再次发送。
有限的内存池容量
内存池是有限的,这样就只有最优先考虑的事务才被存储在内存池中。一旦达到上限,低优先级的交易会被否决或者被更高优先级的交易取代。这避免了节点由于交易过大而崩溃。
费用替代规则
在这种情况下,极低费用的交易将在很长一段时间内不被确认。然而,用户可以发送一笔置换交易,这笔交易的费用更高,那么矿工可能会去确认原先的那笔交易。这样一来,用户就能够适当地应对不断变化的市场环境。
子交易向母交易支付费用
子交易向母交易支付费用,能使交易得到优先确认的权力,即使发送人未能给予足够的资金。接收者可以在上笔交易的尾部添加一笔大额费用,这样就能激励矿工继续接受下一个区块中的交易。
改善钱包
随着节点和矿工不断改变完善他们的行为来应对拥堵的状况,钱包软件也可以升级来利用这些改变。用户可以看到输入的未经证实的交易可能会被卡住,这样他们就会选择支付一小笔费用来加速交易的确认。用户可以增加自己的交易费用以确保它得到更快的确认。而如果你认为这些改变不会发生,那就是愚蠢的。
危机迫使人们达成一致意见
现在我们还对区块扩容的问题互相争论,但如果危机真的到来之时我们便不会在彼此争论了,很容易就能达成一致。因为在多方权衡之下是很难达成共识的。危机不会在一夜之间发生,也不可能一次性爆发,所以袖手旁观的风险仍然很低。然而,一旦它发生了,所有的反对者会自愿作出改变的。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场