作者:Second Docs

来源:https://docs.second.tech/ark-protocol/payments

Ark 协议内的支付是在回合之外处理的(因此这套机制被称为 “arkoor”),它能实现:

  • 随时即时支付
  • 离线收款功能
  • 没有流动性要求

在一次支付期间,一名用户跟自己的 Ark 服务商合作,花费自己现有的 VTXO、创建一个新的 VTXO —— 一个 “支出型 VTXO”。

支付的安全性取舍

在回合外处理支付,也有自身的取舍:在接收方刷新自己收到的余额之前,TA 必须信任发送者和 Ark 服务商不会传统起来重复花费同一笔钱。一旦刷新了 VTXO,那么这些余额就转化成了完全免信任的状态,保证了这名用户的单方面退出权利

用户选择自己偏爱的安全模式

这一机制让用户自己在成本和安全性之间选择一个平衡点:

  • 更早刷新可以提高资金的安全性,也也会增加钱包的操作成本。
  • 更晚刷新可以节约成本,但会在一段时间内削弱资金安全性(不论如何,用户总要在 VTXO 过期之前刷新)。

这一调整后的安全模式只是暂时的。当用户刷新自己的支出型 VTXO 之后,TA 就获得了一个刷新型 VTXO,也就重新获得了所有的免信任属性。因为所有的 VTXO 都必须在过期之前刷新,所以用户只会在调整后的安全模型中暴露一段时间。Second 的 Ark 实现的 VTXO 过期时间预计是 30 天,虽然也有可能会改变。

用户也可以花费掉自己的 VTXO 来消除这种安全担忧,可以通过 Ark 协议再次支付、闪电支付和合作离场交易。

对抗重复花费的激励。

虽然支出型 VTXO 伴随着调整后的安全模式,几种因素会震慑发送者与接收者的串通:

  • 必然到来的曝光:当多位接收者尝试刷新、离场或单方面退出时,重复花费必然会被发现。钱包软件可以立即发现无效的重复签名,甚至可以触发自动警报和补救措施。重复签名(duplicate signatures)是很容易被公开证实的。
  • 不可挽回的声誉损失:一个参与了重复花费的 Ark 服务商会名声扫地,也不会再有收益,因为用户会很快离场或者单方面退出,以避免为了的风险。
  • 需要两方勾结:只要其中一方(无论是发送者还是服务商)是诚实的,重复花费就无法发生。即使两方都是恶意的,他们也必须密切勾结,重复花费才能成功。
  • 同归于尽:尝试从一个被重复花费的 VTXO 中单方面退出会触发用户钱包软件的检测,从而引发单方面退出交易的相互竞争。随后为追求优先确认而产生的手续费竞赛可能会(以矿工手续费的形式)消耗掉整个 VTXO 的价值。

预期的用户行为

很难预测用户的行为会是什么样(Ark 协议还未上线)。在 Second,我们预期用户会淡然地接受所有收到的支付,在 VTXO 临近过期时再刷新。尤其是在拥有了良好声誉的 Ark 服务商上,人们更有可能会这样。

背后的理由是,更少的刷新次数意味着更低的流动性成本,用户会希望节约成本。此外,用户可能只会在 Ark 协议中持有少量(而不是全部)比特币,作为一种 “支票账户”。而且,只有最近收到的支付才会形成支出型 VTXO —— 其它的 Ark 余额依然是刷新型 VTXO 。

不过,用户也可能喜欢更复杂的刷新阈值和时机策略,比如:

  • 小额支付:对于每日支付,用户会接受这种临时的新人模式,临近过期了再刷新,也即将成本节约看得高于免信任性。
  • 大额支付:对于大叔额,用户可能会在收到支付后立即刷新,也即将安全性放在成本节约的前面。

不论是哪种情形,钱包的刷新策略都是被动的、自动的,由软件根据用户的设定来处理。用户需要自己盯着每一个 VTXO !

支付链条

支付可以形成一个链条,也即一个用户收到支出型 VTXO 后又支付给另一位用户。这会形成 “arkoor 链条”,用户必须信任链条上没有任何一个发送者会跟 Ark 服务商勾结。更长的链条会带来更高的单方面退出成本、增加信任面,所以钱包应用可能需要根据用户的偏好来限制链条的长度。

支付找零处理

在发起支付时,支付方一般也会收到支出型 VTXO 形式的找零。找零会继承前身 VTXO 的信任属性。例如,如果一个用户花费的是一个刷新型 VTXO,那么收到的找零会继承该刷新型 VTXO 的属性(它是免信任的),因为发送者不会自己跟自己勾结来重复花费这个找零。

(完)