#发票 #tap #发送者 #汇总 #聚合 #时间线 #rav

tap_core

核心时间线聚合协议库:一个快速、高效且无需信任的单向微型支付系统

10个版本 (1个稳定版)

1.0.0 2024年3月28日
0.8.0 2024年3月13日
0.7.0 2023年11月28日
0.3.0 2023年7月31日

#1946魔法豆

Download history 134/week @ 2024-04-14 26/week @ 2024-04-21 60/week @ 2024-04-28 79/week @ 2024-05-05 116/week @ 2024-05-12 474/week @ 2024-05-19 287/week @ 2024-05-26 223/week @ 2024-06-02 79/week @ 2024-06-09 101/week @ 2024-06-16 808/week @ 2024-06-23 498/week @ 2024-06-30 335/week @ 2024-07-07 42/week @ 2024-07-14 350/week @ 2024-07-21 842/week @ 2024-07-28

每月1,612次下载
tap_aggregator 中使用

Apache-2.0

80KB
1.5K SLoC

时间线聚合协议 (TAP)

概述

时间线聚合协议 (TAP) 促进发送者向接收者的一系列支付(TAP收据),接收者将这些支付汇总成一笔单笔支付(收据汇总凭证,或RAV)。这笔汇总支付可以由支付验证器在链上验证,从而减少交易次数并简化支付过程。

关键组件

  • 发送者: 启动支付。
  • 接收者: 接收支付。
  • 签署者: 发送者授权的多个签署者签署收据。
  • 状态通道: 发送者向接收者打开的一个单向通道,用于发送收据。
  • 收据: 发送者向接收者发送的支付记录。
  • 收据汇总凭证 (RAV): 包含收据汇总金额的签名消息。
  • tap_aggregator: 发送者管理的一个服务,根据接收者的请求将收据汇总成签名RAV。
  • 托管账户: 在区块链中为发送者-接收者对创建的账户,用于存放资金。

安全措施

  • 协议使用非对称加密(ECDSA secp256k1)来签署和验证消息,确保收据和RAV的完整性。

过程

  1. 打开状态通道: 通过区块链合约打开状态通道,为发送者-接收者对创建托管账户。
  2. 发送收据: 发送者通过状态通道向接收者发送收据。
  3. 存储收据:接收方存储收据并跟踪总付款。
  4. 创建RAV请求:RAV请求由收据列表组成,可选地包含以前的RAV。
  5. 签署RAV:接收方将RAV请求发送到tap_aggregator,该聚合器将其签署为新RAV。
  6. 跟踪总价值:接收方跟踪自上次RAV以来的总价值和新收据。
  7. 请求新的RAV:接收方将新收据和上次RAV发送到tap_aggregator以获取新的RAV。
  8. 关闭状态通道:当分配期结束时,接收方可以将最后一份RAV发送到区块链,并从EscrowAccount接收付款。

性能考虑因素

  • 主要性能限制是验证收据所需的时间和向tap_aggregator发送请求的网络限制。

用例

  • TAP协议适用于需要单向、并行微支付但单个支付成本过高的系统。通过在链下聚合操作并在一次交易中赎回,成本可以大幅降低。

兼容性

  • 当前实现适用于与EVM兼容的区块链,其中大部分系统是链下的。

贡献

欢迎贡献!请提交一个拉取请求或创建一个问题来讨论潜在的变化。同时,请确保遵循贡献指南

依赖项

~30–46MB
~859K SLoC