ACPs icon indicating copy to clipboard operation
ACPs copied to clipboard

Warp addressed transactions

Open aaronbuchwald opened this issue 11 months ago • 2 comments

ACP-73: Warp Addressed Transactions

Rendered

Abstract

Add a standard for Warp Addressed Transactions to enable any (blockchainID, address) pair to sign a a transaction that is executable on any destination chain. This is intended as a general standard that can be implemented by any VM on the Avalanche Network. As the first instance, this ACP proposes integrating Warp Addressed Transactions to the P-Chain to enable Subnet Driven Validator Sets as first laid out in https://github.com/avalanche-foundation/ACPs/discussions/68.

Diagram

To illustrate the full flow, we provide a sequence graph showing the issuance of a Warp Addressed Transaction from Account1 on BlockchainA to BlockchainB. Note that there are no restrictions on whether BlockchainA and BlockchainB are the same, different, on the same Subnet, or the Primary Network. They only need to agree on the standard for Warp Addressed Transactions.

To keep the diagram compact, we use the following abbreviations:

  • WAT - Warp Addressed Transaction
  • WAS - Warp Addressed Signature
flowchart TB
    A[Account1 on BlockchainA] -->|1. Call Warp with WAT Payload| B[BlockchainA]
    B -->|2. Accept Account1 Tx and Generate WAS| C[Relayer]
    C -->|3. Issue WAT to BlockchainB| D[BlockchainB]

Note: if the Warp Addressed Transaction can be issued entirely on its own, the relayer can be replaced by sending a cross-chain message over the network to the destination chain.

Motivation

Subnets are currently created and orchestrated entirely on the Avalanche P-Chain. Many Subnets may have the desire or need to maintain greater sovereignty over their validator set, reward curve, and overall tokenomics than what is available on the P-Chain.

Warp Addressed Transactions enable transferring ownership of a Subnet to a (blockchainID, address) pair, which can be an arbitary program on any chain in the Avalanche Ecosystem (ex. manage your validator set from a contract on your own chain or a contract on the C-Chain).

By transferring ownership to a Warp Derived Address, Subnets can manage their validator set against a generic API.

In the immediate term, this accomplishes two critical goals for Subnets:

  1. Enable Token Standard PoS Subnets (ERC-20 Staking)
  2. Enable generic validator set and tokenomics management

Further, this standard could be implemented by any VM that wants to enable Warp Addressed Transactions.

aaronbuchwald avatar Mar 13 '24 21:03 aaronbuchwald

Sirron Kcuhc

https://math.dartmouth.edu/~carlp/73talk.pdf

aaronbuchwald avatar Mar 13 '24 21:03 aaronbuchwald

~~What is a "Warp Derived Address"? Can you add a definition to the ACP or a link to some docs?~~ Silly question; I was only looking at the description, not the ACP.

Suggestion: add a Rendered at the top of the description.

The link should be to view the file on the branch, not any specific commit, so it's always up to date in case you add commits or rebase the branch.

richardpringle avatar Mar 15 '24 15:03 richardpringle

Closing in favor of some variant of ACP-77

aaronbuchwald avatar May 28 '24 18:05 aaronbuchwald