Process of a Transaction in EVVM
To understand how a transaction works in the EVVM (Ethereum Virtual Virtual Machine) ecosystem, we must first examine its process. EVVM uses an abstract blockchain architecture where transactions are processed through a unique fisher-based validation and execution system.
The process is divided into three main stages:
-
Transaction Creation & Signing: The user creates and signs the transaction with EIP-191 standard.
-
Fisher Capture & Validation: Fishers capture transactions from fishing spots and validate their authenticity.
-
Execution & Rewards: The transaction is executed in EVVM, and rewards are distributed to fishers and stakers.
Each stage is detailed below.
Transaction Creation & Signing
In this first stage, the user constructs and signs their transaction using the EIP-191 standard:
1. Transaction Payload Construction
The user creates the transaction payload, which includes:
- Sender Address: The address of the user initiating the transaction.
- Function Parameters: The specific variables and data required by the target EVVM function or service.
- Nonces: Both EVVM nonces (sync/async) and service-specific nonces for replay protection.
- Priority Fees: Optional fees to incentivize fishers for faster processing.
2. EIP-191 Signature Generation
The user signs the transaction using the EIP-191 standard, which ensures cryptographic authenticity:
signature = sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))
The message typically contains concatenated parameters like function selectors, amounts, addresses, and nonces.
3. Broadcast to Fishing Spot
Once signed, the user broadcasts the transaction to a fishing spot, which can be:
- Public Mempool: Transaction broadcasted to blockchain mempools (e.g., Ethereum mainnet)
- Private APIs: Direct submission to fisher-operated APIs
- Communication Channels: Any medium where fishers monitor for transactions
Gas Parameters for Mempool Transactions
When broadcasting to public mempools, use these parameters to ensure the transaction remains unfisherered until captured by fishers:
These low gas parameters prevent immediate execution, allowing fishers to capture and validate the transaction first.
Fisher Capture & Validation
In this stage, fishers monitor fishing spots and capture user transactions for validation and execution:
1. Transaction Capture
Fishers actively monitor various fishing spots to capture transactions:
- Mempool Monitoring: Scanning blockchain mempools for EVVM transactions
- API Listening: Receiving transactions through private APIs
- Direct Submission: Users can submit transactions directly to specific fishers
2. Comprehensive Validation
Before execution, fishers perform thorough validation:
EIP-191 Signature Verification
- Fishers verify each EIP-191 signature to ensure transaction authenticity
- Multiple signatures may be required depending on the function (EVVM + service signatures)
- Invalid signatures result in transaction rejection
Nonce Verification
- Synchronous Nonces: Must be the next sequential nonce for the user
- Asynchronous Nonces: Must not be previously used (prevents replay attacks)
- Service-specific nonces (e.g., NameService, Staking) are verified separately
Balance & Authorization Checks
- Sender must have sufficient token balance for the transaction
- Required permissions and access rights are validated
- Service-specific requirements (e.g., staking status, username ownership) are checked
3. Fisher Requirements
- Fishers can be any address, but stakers receive enhanced rewards
- Some services require fishers to be stakers for execution privileges
- Fishers bear the gas costs of transaction execution on the host blockchain
Execution & Rewards
In the final stage, validated transactions are executed in EVVM and rewards are distributed:
1. EVVM Execution
Once validated, the transaction is executed in the EVVM (Ethereum Virtual Virtual Machine):
- Function Calls: The target EVVM function or service function is invoked
- State Updates: Contract states are updated according to the transaction logic
- Token Transfers: Required payments, fees, and transfers are processed
- Event Emissions: Transaction events are logged for tracking and verification
2. Reward Distribution System
The EVVM ecosystem incentivizes fishers and stakers through a comprehensive reward system:
Base Rewards for Stakers
- EVVM Contract Rewards: Stakers receive base MATE token rewards for executing EVVM functions
- Service Rewards: Additional rewards from services like NameService, Staking Contract, etc.
- Enhanced Amounts: Stakers often receive multiplied reward amounts compared to non-stakers
Priority Fee Distribution
- User-Paid Fees: Optional priority fees paid by users go directly to the executing fisher
- Incentive Mechanism: Higher priority fees encourage faster transaction processing
- Flexible Payments: Users can choose to pay priority fees for expedited service
Service-Specific Rewards
Different services provide varying reward structures:
- NameService: Rewards for registration, renewal, and offer processing
- Staking Contract: Enhanced rewards for staking-related operations
- Treasury Operations: Rewards for deposit and withdrawal processing
- P2P Swap: Fees from peer-to-peer trading operations
3. Reward Requirements
- Staker Verification: Only verified stakers receive enhanced rewards
- Successful Execution: Rewards are only distributed upon successful transaction completion
- Gas Coverage: Fishers must cover host blockchain gas costs, which are typically offset by rewards
4. Multi-Service Coordination
EVVM supports complex transactions involving multiple services:
- Cross-Service Operations: Single transactions can interact with multiple EVVM services
- Coordinated Rewards: Reward distribution accounts for all services involved
- Atomic Execution: Either all operations succeed, or the entire transaction reverts
This reward system creates a sustainable ecosystem where users pay for services, fishers are incentivized to validate and execute transactions, and stakers receive enhanced rewards for their commitment to the network.