Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warp addressed transactions #73

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

aaronbuchwald
Copy link
Contributor

@aaronbuchwald aaronbuchwald commented Mar 13, 2024

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 #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
Copy link
Contributor Author

aaronbuchwald commented Mar 13, 2024

@richardpringle
Copy link

richardpringle commented Mar 15, 2024

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.

@aaronbuchwald aaronbuchwald mentioned this pull request Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants