How it works

Understanding transactions on Bitpowr boils down to the two primary models it supports:

  1. UTXO (Unspent Transaction Output)
  2. EVM (Ethereum Virtual Machine)

UTXO transactions:

Unspent Transaction Output (UTXO) refers to the amount of currency left after a successful transaction that can be used for another transaction.

The output of a UTXO transaction can be used as input for a new transaction. In other words, UTXO refers to the total money in a wallet that can be spent.

🚧

No UTXO means not having funds in your wallet.

UTXO is applicable to Bitcoin and some other cryptocurrencies, such as Bitcoin Cash (BCH), Litecoin (LTC), and ZCash (ZEC).

A UTXO is the amount of digital currency remaining after executing a cryptocurrency transaction.

When someone sends you cryptocurrency (e.g., Bitcoin), it creates a UTXO associated with your address, which means that when a transaction is completed, any unspent outputs are recorded into a database as inputs that can be used later for a new transaction.

How UTXO Transactions Work:

  • Imagine you have received several payments (UTXOs) to your wallet address over time.
  • When you want to pay, select one or more UTXOs that add up to the desired amount.
  • These selected UTXOs become the inputs for your new transaction.
  • The transaction deducts the payment amount from the selected UTXOs and creates new UTXOs for the recipient.

Example:

  • If Felix wants to send $10 to Paul.
  • Felix's wallet checks its UTXOs to find one or more totalling at least $10.
  • If a UTXO valued at $15 exists, it can create a new UTXO for Paul with $5 as a change.
  • If not, it combines multiple smaller UTXOs to reach the required amount.

EVM

The Ethereum Virtual Machine (EVM) is the heart of the Ethereum network, and It executes smart contracts written in Solidity (or other compatible languages) across the Ethereum network.

How EVM Works:

  • Smart contracts are deployed on the Ethereum blockchain.
  • The EVM processes the instructions when a user interacts with a smart contract (e.g., sending tokens or executing logic).
  • Each node in the Ethereum network runs its instance of the EVM, ensuring consensus and security.

Example:

Step 1: Felix Initiates the Transaction

  • Felix creates a transaction request, specifying the recipient (Paul) and the amount ($10).
  • This transaction is broadcast to the Ethereum network.

Step 2: EVM Processes the Transaction

  • The Ethereum nodes (computers) running the EVM receive the transaction.
  • Each node validates the transaction by executing the associated smart contract code (if any).
  • The EVM ensures consensus across all nodes.

Step 3: Checking Felix's Balance (Similar to UTXOs)

  • Felix's wallet checks its account balance on the Ethereum blockchain.
  • Instead of UTXOs, Ethereum uses an account-based model.
  • The account balance represents the total Ether available to Felix.

Step 4: Sufficient Balance?

  • The transaction proceeds if Felix has at least $10 worth of Ether in its account.
  • Otherwise, the transaction fails due to insufficient funds.