I am reaching out to initiate a technical discussion about integrating Mycel’s account transfer protocol with Anoma’s resource machine architecture. We believe there are interesting synergies to explore between our approaches to cross-chain asset transfers and Anoma’s resource-centric design.
We would greatly appreciate your insights and feedback on the architectural considerations and integration approaches outlined below. Our goal is to understand how we can best leverage the resource machine while maintaining the security and flexibility of both systems.
Background: Mycel Account Transfer Protocol
Mycel introduces an account transfer protocol that treats accounts as unified objects, enabling seamless cross-chain muti-assets transfers. Rather than relying on specific cryptographic standards or token bridges, Mycel allows entire accounts containing multiple assets to be transferred atomically across different blockchain ecosystems.
Key Features of Mycel
- Unified account object model
- Blockchain-agnostic transfers
- Multi-asset transfers
- No reliance on specific cryptographic standards
- Elimination of bridge dependencies
Initial Account Architecture
The first proposed architecture for account resources in Mycel includes:
Account Resource: An account resource is a special type of resource that represents a user’s account with key properties.
- Identity (owner)
- Asset holdings (tokens, NFTs, etc.)
- Intent specifications
- AccountId (identity in signer network)
Signer Network:
- Generates and stores signing keys for accounts
- Threshold Signature Scheme based signer network
- We use Internet Computer for PoC at this moment
Properties to Maintain During Account Transfers
- Atomicity
- All assets must transfer together or not at all
- Key ownership must transition atomically with assets
- No intermediate state where ownership is ambiguous
- Authorization
- Only authorized parties can initiate transfers
- All parties must explicitly approve transfers
- Authorizations must be cryptographically verifiable
- Consistency
- Asset ownership must match key ownership
- State must remain consistent across resource machine and signer network
- No possibility of duplicate key usage
Basic Flow
Account Creation & Asset Deposit
- User requests account creation
- Signer network generates signing keys
- User deposit asset
- Create account resource with:
Owner identity
Asset holdings
Intent specifications
Account identity
Intent Solving
- User submits intent through account resource
- Intent propagates to solver network
- Solver identifies matching intents
- Solver constructs balanced transaction:
Consumes original account resources
Creates new resources with swapped assets - Transaction executed if all parties approve
Transaction Signing
- Signer network verify consumption authorized by owner
- Generate signature for transaction
Challenge: Integration with Resource Machine
Building on Mycel’s account transfer model, we have a challenge that how to verify resource machine’s state on signer network. and we can analyze two potential approaches for that:
Option 1: Implementing Account Resource Machine on Signer Network
This approach would involve having the signer network directly implement the resource machine logic.
Advantages:
- Direct control over resource state and key management
- Simplified verification flow since state and keys are managed in one place
- Potentially lower latency for operations
Disadvantages:
- High implementation cost
- Creates tight coupling between resource machine and key management
- May limit interoperability with other signing networks
Option 2: Signer Network Verifies Resource Machine State Proofs
This approach keeps the resource machine and signer network separate, with the signer network verifying state proofs.
Advantages:
- Maintains separation of concerns
- Enables heterogeneous trust by allowing different signer networks
- More flexible and modular architecture
Disadvantages:
- Additional verification overhead
- More complex coordination between components
Key Discussion Points
- Architectural Integration
- Which approach better aligns with Anoma’s resource machine design principles?
- What are the implications of each approach for scalability and interoperability?
- State Proof Verification
- What would be the optimal state proof system for this integration?
- What types of state proofs would be most appropriate?
- Resource Constraints
- How should key ownership constraints be expressed in the resource machine?
- What is the best way to represent account resources within the resource machine model?
- Alternative approaches to account-resource management
- if you came up with something better ideas
Welcome the opportunity for getting your feedback and a deeper technical discussion and look forward to exploring these ideas together.
Thank you for your time and consideration.