Open In App

Normal Transactions vs Internal Transactions in Etherscan

Last Updated : 21 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

A transaction is basically the process of transferring Ethereum-based assets (items, information) from one wallet (address) to another wallet (address). The following topics will be discussed here:

  1. Introduction To Normal Transactions.
  2. Introduction To Internal Transactions.
  3. Normal Transactions vs Internal Transactions In Etherscan.

Let’s start discussing each of these topics in detail.

Introduction To Normal Transactions

In normal transactions, value is transferred from one address to another and is carried out through smart contracts.  This type of transaction will be shown under the “Overview” section of Etherscan. Additionally, these transactions will show up in the “Logs” and “Input” data of transactions. 

How do normal transactions take place?

  1. A transaction is created when a user initiates a transfer of Ethereum-based assets from their wallet address to another wallet address.
  2. After a transaction is created, as explained above, a transaction ID or txhash or a transaction hash is assigned to this transaction. It acts as a reference number for the parties that are involved in the transaction. One can look up the details of the transaction through the transaction hash on Etherscan (block explorer).
  3. Next up, the transaction is broadcasted into a pool with other transactions from where the miners pick up the transaction and add it to a block.
  4. The time that is taken to add a transaction to a block on the blockchain is determined by the gas fees and the network traffic. Mainly these two factors are responsible for the speed of transaction to be verified.
  5. The Ethereum network currently is capable of processing an average of 15 transactions per second. If your transaction is taking longer than usual, it is probably because of the congestion.
  6. Now when the traffic gets congested, the miners usually prioritize the transaction with a higher gas fee. So, increasing the gas fees will make it more attractive to the miners and get it approved. For this, Etherscan has a feature that calculates and proposes a recommended gas price for a transaction depending on the network traffic and the average gas price. 
  7. After the transaction has been approved by the miner, the status on its Etherscan Transaction Details page will now read “Success”.

Introduction to Internal Transactions

Smart contracts contain codified instructions on how to transact based on how they’re triggered. For example, say someone sent ETH to a smart contract address in exchange for an equally valued amount of USDC. The smart contract performing the exchange is able to do so because it has coded instructions that specify what happens when “x” person triggers the contract to try and exchange ETH for USDC. When smart contracts execute their code, they create byproducts or side-effects of some sort such as Internal Transactions. In other words, an internal transaction is the consequence of smart contract logic that is triggered by an external transaction. A single interaction with a smart contract can create hundreds and thousands of internal transactions. Transactions are changes to the state of the Ethereum chain, i.e. they write data to the chain rather than reading it.

Features:

  1. Ethereum smart contracts, in a sense, are computer programs that have been installed on the blockchain and are used to manage Ether balance.
  2. Internal transactions have no cryptographic signatures like the other standard transactions, therefore, they are held off-chain, although some internal transactions are also held on-chain it requires an additional amount of gas (gas is the fee in Ethereum), so they are not seen as a lot. This type of transaction moves around Ether only due to which they affect address balances. An internal transaction is also initially called a message. 
  3. The issue that arises in internal transactions is that there are not many details listed in them when they occur. So a user is left in the dark when their wallets or contracts are related to or connected to an internal transaction. In order to see that information, the user needs to re-execute the transaction in the EVM (Ethereum Virtual Machine) and trace the call it makes, but tracing the calls it makes is a headache and poses difficulties to the user, being slow and CPU intensive in addition. In case the node is not powerful enough, it will break. The results from tracing the calls are often very enormous and not easy to handle. Another issue posed in tracing the calls/results is that the tracing is limited by the nodes to a fixed number of 30 minutes worth of blocks back, as a result, the time period after an interaction with a smart contract (i.e occurring of an internal transaction) is very significant if the uses want to trace back the results and get some information.

Note: If the user wishes to retrieve information older than 30 minutes, what they would need is an archive node. An archive node is a node that contains the entire blockchain history. Due to the storage requirements of some blockchains, maintaining an archive node can be expensive. Due to this, retrieving data from internal transactions is not easy and the user must have the time, storage, and power to do it which is not possible for normal users.

Normal Transactions vs Internal Transactions in Etherscan

The following table states the differences between Normal Transactions and Internal Transactions in Etherscan.

Basis

Normal Transactions

 Internal Transactions 

Definition In normal transactions, an ETH transfer is carried out through a smart contract. An internal transaction is the consequence of smart contract logic that is triggered by an external transaction.
Cryptographic signatures There are cryptographic signatures. There is a transaction hash or transaction ID. There are no cryptographic signatures. There is no transaction hash or transaction ID either.
Initiation of transaction They are created when a user initiates a transfer of Ethereum-based assets from their wallet address to another wallet address. They are consequences of smart contract logic triggered by external transactions.
Retrieval of the information listed on them
  • All the details are listed on them.
  • There’s no difficulty tracking the results, the information is easily retrievable.
  • It refers to actions initiated by externally owned accounts i.e human-owned accounts
  • There are not many details listed on them.
  • There’s difficulty tracing the results. Information older than 30 minutes need an archive node which is an expensive luxury.
  • These are smart contract transactions, not externally owned i.e human-owned
Storage place
  • They’re stored on-chain and are part of the blockchain.
  • The address balances aren’t affected.
  • They are stored off-chain, meaning they are not a part of the blockchain.
  • They also affect address balances.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads