跳到内容

加密支付需要多少确认才安全?

您需要的确认数量不是固定的:这取决于链和订单的大小。对于 Tron 上的 10 美元下载,一个确认就足够;而 5,000 美元的比特币支付的货物则需要多个区块。

Payora9 分钟阅读EN · RU · UK · ES · DE · FR · IT · PL · PT · HI · ZH

诚实的答案是需要多少确认加密支付需要的确认数量取决于两个因素:资金到达的链以及订单的价值。对于在Tron上用USDT支付的10美元数字下载,一个确认就足够了。价值5000美元的托盘在卡车上离开您的仓库并用比特币支付,应该有多个区块。"安全"不是您可以在表格中查找并忘记的常量——这是一个风险决策,每个网络和每种产品类型做一次,然后编码到您的结账中,以便没有人需要再考虑它。

确认实际上是什么

确认是一个区块。这就是整个概念。当买家点击发送时,他们的交易会广播到网络,并在内存池中等待,这是一个未挖掘交易的候诊室。当矿工或验证者将其包含在一个区块中时,您就有了一个确认。每个在该区块之上构建的区块都会增加一个确认。

您的交易在第二个区块中并没有变得更“验证”。它要么已经有效,要么无效。改变的是删除它的成本。要逆转一个被埋在区块下的交易,攻击者必须构建一个不包含该交易的竞争链,并使该链比诚实链更长。每增加一个区块,所需的工作量大致成倍增加,因此成功逆转的概率急剧下降,而不是缓慢减少。比特币上的六个区块并不是魔法——这只是算术不再对任何人有趣的深度,而这个数字就这样固定了。

零确认和双重支付风险

内存池中的交易是一种承诺,而不是支付。它是一条签名消息,表示“我打算转移这些币”,网络已经看到了但尚未确认。它可以被替换、驱逐,或者根本不会被挖掘。

值得理解的具体机制是替换费用(Replace-By-Fee)。在比特币上,发送者可以广播一笔支付给您的交易,然后广播第二笔交易,将相同的输入以更高的费用花费回自己。矿工是经济理性的,会选择更高的费用。您的支付在买家带走商品的同时蒸发了。这不是一种理论攻击;这是协议按设计正常工作的特性,运行它不需要任何特殊技能。

  • RBF替换 — 相同的币在其他地方以更高的费用重新消费,直到有人挖掘你的版本。
  • 费用饥饿 — 一笔定价过低的交易在内存池中停留数小时,最终被节点丢弃。
  • 链重组 — 在主要链上很少见且浅显,但确实存在。一次区块重组悄悄地取消了一笔确认的支付。

零确认在唯一一种情况下是可辩护的:当你可以撤销交付时。如果客户购买的是你可以撤销的软件许可证,或者是你控制的账户信用,现场接受是为了更好的用户体验而进行的合理交易。如果交付的东西永久离开你的手中,请等待一个区块。

概率最终性与近确定性最终性

并不是每条链都以相同的方式对待“最终”,这就是大多数确认建议出错的地方,因为它假装比特币的规则是普遍的。

概率链

比特币、莱特币、狗狗币和比特币现金从不声明交易最终。它们给你一个接近于一的概率。比特币的十分钟平均区块时间也是一个平均值,而不是一个时间表——区块以泊松分布到达,因此“一次确认”的等待时间可能是九十秒,也可能是四十分钟。以太坊处于中间:区块每十二秒到达,但权益证明增加了一个明确的最终化步骤,这大约需要两个纪元,约十三分钟,之后要逆转需要削减三分之一的总权益。

快速最终链

TON(Payora将其品牌为Gram)、Solana、XRP和Stellar在几秒钟内达到了更接近确定性最终的状态。一个经过验证的XRP账本完成了。一个最终化的Solana槽位完成了。Tron采用了一条中间路径:区块每三秒出现一次,一旦大约十九个区块被超级代表的超级多数签署,该区块就会被标记为已巩固,并且不会被重组。这就是为什么Tron上的USDT在结账时感觉瞬间完成,而在比特币时代思维下的同一代币则感觉缓慢。

每个网络实际需要多少确认

这些是商家的合理默认值,而不是物理法则。等待时间是近似的,因为区块时间是变化的。

网络区块时间合理阈值大致等待
比特币 (BTC)~10分钟1 低值, 2–3 中值, 6 高值10–60分钟
莱特币 (LTC)~2.5分钟3–68–15分钟
狗狗币 (DOGE)~1分钟6–106–10分钟
比特币现金 (BCH)~10分钟2–620–60分钟
以太坊 (ETH)~12秒12,或32+以达成最终确认2.5–13分钟
BNB 链,Polygon,Arbitrum,Base~1–2 秒15–60少于 2 分钟
Tron (TRX, USDT-TRC20)~3 秒~19 (已固化)~1分钟
Solana (SOL)~0.4 秒32 (已最终确定)~13秒
吨 / 克~5秒1个主链区块秒
XRP~4秒1个已验证的账本~4秒
Stellar (XLM)~5秒1 个关闭的账本~5秒

将阈值扩展到价值和可逆性

问题从来不是“这笔支付在抽象上安全吗”。而是“攻击者能获得什么,攻击的成本是多少。”在区块链上反转一笔比特币交易意味着短暂地超越网络,这是非常昂贵的。没有人会花费那么多去窃取一份价值 9 美元的电子书。因此,理智的模型有两个轴:桌面上有多少钱,以及你是否可以收回交付。

  1. 数字和可撤销的,任何价值 — 许可证、下载、账户余额、托管。一次确认,或者如果你愿意撤销则为零。你的补救措施是关闭开关。
  2. 低于 ~$100,实物 — 在表中任何链上的一次确认。攻击的成本高于战利品。
  3. $100–$1,000,实物 — 链的正常阈值:比特币上为2–3,Tron上已固化,Solana上已最终确定。
  4. 超过 ~$1,000,不可逆转 — 在比特币上达到6,其他地方完全最终确定。额外的四十分钟不会让你付出任何代价;一个被撤回的托盘会让你失去托盘。
  5. 任何当天发货的物品 — 将确认门视为拣货单上的门,而不是订单确认电子邮件上的门。

注意那份清单中缺少的内容:退款。确认的链上支付在九十天后无法被买方的银行撤回,这与信用卡的风险形态确实不同。确认是唯一 你需要担心的窗口,它在几分钟内关闭。这是更深入讨论的交易,没有商户账户的情况下接受支付中更深入地讨论了这一动态。.

Payora如何决定支付是否最终

Payora每个币都遵循该币自己的最终性规则,而不是在二十种资产上应用一个数字。比特币以区块为单位进行计数。Tron 等待固化。TON 等待主链。Solana 等待最终确定的插槽。只有在满足该特定资产的规则后,您的服务器才会收到签名的 invoice.paid webhook — HMAC-SHA256,时间戳窗口,幂等性密钥 — 因此商家永远不需要猜测支付是否已结算。如果您想要验证代码,它在 docs 中,并在 webhook 签名文章中逐步讲解.

不匹配的金额不会被静默丢弃。如果买家针对 0.001 BTC 发票发送 0.0009 BTC,或错误地发送 0.002 BTC,欠款和多付款都会在该发票的附加只读账本中记录。您可以根据实际数字决定政策 — 充值、部分履行、退款 — 而不是四舍五入的错误。这些币确认到 Payora 为该发票生成的地址,因此不会与其他支付混淆。确认计数器是买家发送和您已经控制的资金之间的唯一障碍。

合理的默认设置随 免费 CMS 模块 为 WooCommerce、PrestaShop、Magento 2 和其他十八个平台提供,因此小商店可以安装,保持默认设置,并在第一天就正确运行。您还可以观看门控在 实时结账演示.

一次性设置您的阈值,记录下来,让网关来执行它们。创建一个免费的 Payora 账户并查看每个网络如何针对真实发票报告最终性——接受率为 0%,提取资金的费用(免费计划上为 1.5% 加上网络费用,最低提取 $50)在定价.

Comments

准备开始了吗?

创建账户,并在一小时内开出第一张账单。

此页面回答的问题