日常生活中的转账和区块链转账有着本质上的不同,这种不同造成了区块链转账状态理解上的复杂。
我们会看到「等待确认」「确认中」「交易失败」「成功」等状态,其中有些属于区块链转账的特有状态。
银行转账
日常生活中的转账往往有两个步骤:支付和清算。
平常我们通过支付宝消费、银行卡转账,都属于「支付」,本质是信息的记录,记下一个债权债务凭证。而这种凭证需要被落实,也就是「清算」,本质是资金的流动。
一个常见的情形:
从我的招行卡往你的工行卡上转账 200 块。
这个过程有两个步骤:
-
当我成功转给你 200 块,这一步对你和我来说是「支付」,本质是信息流;对招行和工行而言,则是建立债权债务关系,它记了一张欠条:招行欠工行 200 块。
-
然后是银行们定期在央行清算系统中落实彼此间复杂的债权关系(第一步中的「招行欠工行 200 块」是千丝万缕之一)。这时,就是通过「清算」将信息流变成了真实的资金流。
对我们来说,第一步中转账按钮一确定,你放心我也放心。可实际到这里,只是第一步,往后真正耗时的操作无声无息地隐藏在整个金融基础设施和系统的周期运转中。它们不为常人道,却是我们便利金融生活的基石。
区块链转账
它有支付和清算吗?这个概念其实在这里不存在了。区块链转账将这两步骤合二为一,链上的每一笔转账都记录着真实的资金流动。
区块链作为一个公共账本,公开透明,不可篡改。
也正因此,在它上面的转账有更复杂的状态,这个账本不容有错,必须谨慎记录。
所以我们看到这些状态:「等待确认」「确认中」「交易失败」与「成功」
「等待确认」:等待矿工确认转账信息,打包到区块中;
「确认中」:一个区块确认不够安全,需要多些确认,这样我们就能理解为什么以太坊转账需要 12 个区块确认才算作成功;
「交易失败」:如果你给的矿工费不够,不足以让矿工确认转账信息,就会失败(也可能是其他原因导致);
「成功」:此时,你的转账记录就在区块链账本上,不可篡改,记录可查。
能不能再简单点
我们现有的支付清算系统,经历了从手工操作、手工联行到电子支付、电子联行,直到现代化支付系统。这个历程足有近半个世纪,也是在这样的发展和普及后,我们才能看到现在的金融体系可以几乎无障碍地服务到所有人。
区块链同样需要时间,今年是比特币白皮书发布的第一个十年。现在我们可以看到各种解决方案:
-
提高网络的性能:Layer2(状态通道、Plasma、Rollup)和 Sharding
-
降低理解的门槛:ENS 服务(用户可读的转账地址)、Meta-Tx(更加灵活的支付矿工费方式)
-
…
所以区块链转账能不能再简单点?会的。