什么是 Transaction Time?
Transaction Time 是从你点击发送到链上转账被视为完成所需的时间。通俗来说,Transaction Time 包括排队等待、被打包入区块的那一刻,以及变得很难被撤销的阶段。可以把它想像成点咖啡的等待时间,只不过服务者是验证者而不是咖啡师。
“只确认一次就算完成。”并不总是这样。许多网络在将转账视为安全可靠之前,会要求多次确认或一个最终检查点,也就是 交易最终性。
Transaction Time 的工作原理
快速说明,不废话。下面是在钱包按下发送时 Transaction Time 的典型流程。
- 提交:你的钱包对转账签名并广播出去。
- 排队:交易在内存池等待。如果发生 网络拥堵,排队时间会变长。
- 打包:验证者或矿工基于优先级和费用选择交易,然后将其放入区块。
- 确认:更多区块在其上方堆叠,这会提高交易长期成立的信心。
- 结算:网络达到几乎不会回滚的阶段,你的钱包将显示交易已完成。
这就是流程。在空闲的链上通常很短,热门时段会更长。
为什么 Transaction Time 很重要
在用加密货币购物、抢热销发行或跨链转账时你会感受到它。原因如下:
- 好处:更快的 Transaction Time 意味着更少卡住的支付,也更大概率抢到想要的东西。
- 视角:区块间隔、共识设计和网络流量都会影响速度,这也是各链不断尝试 Layer 2 扩容方案 的原因。
- 适用场景:你会在交易应用、收银点、游戏和 DAO 投票中看到它,时机常常决定结果。
想在繁忙时段缩短 Transaction Time?在发送前查看当前的 交易费用,并设置有竞争力的 gas 价格。
Transaction Time 的关键特性
构成要点:
- 速度:受区块间隔、验证者吞吐量和你设置的费用影响。
- 可变性:空闲时段会感觉很快,热闹时段会感觉慢。
- 最终性:有些链给出软确认,有些在达到检查点后提供更强的不可逆保证。
- 费用:优先级更高通常更容易被收入下一个区块,尤其是在队列拥挤时。
如何计算 Transaction Time?
可以用时间戳简单计算,也可以拆成若干部分:
基本视图:
Transaction_Time = time_at_final_confirmation minus time_at_submission 扩展视图:
Transaction_Time = mempool_wait plus block_inclusion plus confirmations_to_finality 其中 mempool_wait 是在队列中等待的时间,block_inclusion 是首次被打包入区块所需的时间,confirmations_to_finality 是达到强不可逆性所需的额外时间。
变体
人们在谈到它时常指略有不同的阶段:
- 等待中:从提交直到首次被收入区块。
- 已确认:从首次被收入到堆积几次确认。
- 最终:从提交起直到网络给出强不可逆性的阶段。
你钱包给出的只是估算。若网络流量激增,Transaction Time 可能会延长,即便首次确认很快到达。
示例
例如你在一次热门发售中发送 ETH,交易在队列中等了三分钟,随后被收入区块,再经过几次区块确认获得较高信心,那么你的 Transaction Time 大约总计六分钟。
趣闻
信用卡通常要等一天才完成实际结算,但我们刷卡后就离开;加密货币则让你几乎实时看到结算过程,有点把高端商品与社区文化结合的感觉。
总结
把 Transaction Time 想像成对信任被锁定的秒表。费用合适且流量低时较快,人人同时涌入时则会变慢。
