semiotic-ai / timeline-aggregation-protocol

A fast, efficient and trust-minimized unidirectional micro-payments system.
Apache License 2.0
14 stars 3 forks source link
graphprotocol

Timeline Aggregation Protocol (TAP)

Overview

The TAP (Timeline Aggregation Protocol) facilitates a series of payments from a sender to a receiver (TAP Receipts), who aggregates these payments into a single payment (a Receipt Aggregate Voucher, or RAV). This aggregate payment can then be verified on-chain by a payment verifier, reducing the number of transactions and simplifying the payment process.

Key Components

Security Measures

Process

  1. Opening a State Channel: A state channel is opened via a blockchain contract, creating an EscrowAccount for the sender-receiver pair.
  2. Sending Receipts: The sender sends receipts to the receiver through the state channel.
  3. Storing Receipts: The receiver stores the receipts and tracks the aggregate payment.
  4. Creating a RAV Request: A RAV request consists of a list of receipts and, optionally, the previous RAV.
  5. Signing the RAV: The receiver sends the RAV request to the tap_aggregator, which signs it into a new RAV.
  6. Tracking Aggregate Value: The receiver tracks the aggregate value and new receipts since the last RAV.
  7. Requesting a New RAV: The receiver sends new receipts and the last RAV to the tap_aggregator for a new RAV.
  8. Closing the State Channel: When the allocation period ends, the receiver can send the last RAV to the blockchain and receive payment from the EscrowAccount.

Performance Considerations

Use Cases

Compatibility

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss potential changes. Also, make sure to follow the Contributing Guide.