Transactions
What are the distinctions between account-based and UTXO-based transactions? Why is my transaction not yet mined? Why is my transaction “stuck”? Could I execute the transaction without the transaction policy? My transaction is not yet mined. Will it be dropped and when? Can I cancel my transaction?
Account-based and UTXO-based transactions are two primary transaction models in blockchain technology. Bitcoin adopts the UTXO (Unspent Transaction Output) model, while Ethereum uses an account-based approach. Both models track the state of the database.The UTXO model operates on a more abstract level. In this model, each transaction uses outputs from previous transactions to generate new outputs for future transactions. Any excess coins are sent to a self-controlled address. The balance of a specific wallet is determined by the total sum of unspent transactions, as the wallet maintains records of such transactions and their associated addresses owned by the user.
In contrast, the account-based model is simpler and resembles the traditional banking system. It represents assets as balances in accounts, where an account corresponds to a single address with a balance. Transactions in this model involve transferring assets from one account to another, with a separation between transactions and output data.
To summarize, the UTXO model allows for the simultaneous processing of multiple transactions, enabling better scalability and parallel transactions. However, it is more complex and less suited for handling smart contract functionalities. On the other hand, the account-based model is simpler, making it more efficient and beneficial for programmers dealing with complex smart contracts.
A "stuck" transaction refers to one that has been unconfirmed and pending mining for an extended period. There are several reasons why a transaction may remain in the queue without being mined. These reasons can include factors such as having a low transaction fee, containing dust outputs (tiny amounts of cryptocurrency), being a double spend of another transaction, spending from an unconfirmed transaction, and other potential causes. It's important to consider these factors when experiencing delays in transaction confirmation to better understand the possible reasons for the delay.
While it is technically possible to initiate a transaction without adhering to the transaction policy, it is strongly recommended to follow established guidelines and policies in order to ensure transparency, accountability, and compliance. The transaction policy serves as a framework that outlines the expected standards and procedures for conducting transactions, including any legal, ethical, or regulatory requirements. Adhering to the transaction policy demonstrates a commitment to responsible and lawful practices, promoting trust and integrity within the transactional process.
In a blockchain network, transactions undergo a verification process known as mining, which involves the confirmation, processing, and addition of transactions to the blockchain. However, each individual node has the autonomy to decide how long it will retain unconfirmed transactions in its memory pool (mempool). Consequently, there is no specific or default timeframe after which an unconfirmed transaction is automatically dropped from the mempool. Nevertheless, it has been observed that many nodes tend to remove unconfirmed and unmined transactions from their mempool after approximately two weeks. It is important to understand that during this period, the coins associated with the transaction do not actually leave the customer's wallet, but they are also not reflected as "available" for use.
Once a transaction is initiated on a blockchain network, it becomes part of the transaction history and undergoes the process of verification and confirmation. It is important to note that, in general, blockchain transactions are intended to be irreversible and, once confirmed, cannot be directly canceled or reversed. This characteristic is inherent in the design and security principles of blockchain technology. While it is not possible to cancel a transaction directly, there are certain scenarios in which a transaction may remain unconfirmed or experience delays. In such cases, you have the option to replace the transaction with a new one that includes a higher transaction fee or adjust other parameters to incentivize miners to prioritize its confirmation. However, it is crucial to exercise caution when attempting to replace or modify transactions, as it requires careful consideration of the network conditions, transaction fees, and potential implications. It is advisable to consult with our technical support team to understand the available options and potential consequences of managing transactions in such situations.