Osmosis Bounties - Transaction Failures

    Establish the failed transaction rate for Osmosis over the last 4 months. Make a case for what is causing the failed transaction rate that you assess and provide recommendations to mitigate it.

    Background of Osmosis

    • Osmosis is a proof-of-stake IBC blockchain with a decentralized exchange application enabling users to provide liquidity, swap, and stake tokens from across the Cosmos ecosystem.
    • The Osmosis Frontier application, which is a full permissionless listing and curation of bridged ETH and CW20 assets, exists alongside the main Osmosis application.
    • The native token of Osmosis, Osmo, is used for governance and paying transaction fees for actions performed on the DEX. There are a few points that make Osmosis a unique DEX:
      • Self-Governing Liquidity Pools: In Osmosis, the LP shares are used to calculate the fractional ownership of a LP, as well as the right to participate in the strategic decision making of the LP via governance. To incentivize long-term liquidity commitment, shares must be locked up for an extended period. Longer-term commitments are awarded by additional voting power and additional liquidity mining revenue.
      • Superfluid Staking: A method of staking the OSMO tokens that underlie your LP positions to earn additional rewards. Superfluid staking is at time of writing only available on certain OSMO pools on Osmosis.
      • MEV Resistance: Osmosis was conceived with the goal of Maximal Extractable Value (MEV) resistance at its core and includes several unique solutions to help limit MEV.
    db_img

    NOTE: We use Osmosis schema and [osmosis.core.fact_transactions] table

    1 ---> Osmosis daily transaction over the last 4 months

    In this section we want to get the number of daily transactions for Osmosis in the last four months

    • For do this:
      • We count all transactions in [osmosis.core.fact_transactions] for last 4 month and group them by day
    Loading...
    Loading...

    According to the chart above, it can be seen that:

    • The number of successful daily transactions on Osmosis is greater than the number of failed transactions
    • Succeeded transaction rate 75.8%
    • Failed transaction rate 24.2%
    • After 2022-05-09, the number of failed transactions has increased significantly
    • Interestingly, on 2022-05-12, the number of failed transactions was almost 1.5 times that of successful transactions
    • After 2022-05-19, the number of successful and failed transactions has been almost equal, and this is a sign that there is a problem that almost 50% of the transactions have encountered errors.

    2 ---> Osmosis daily failed transaction rate over the last 4 months

    In this section we want to get the number of daily failed transactions for Osmosis in the last four months

    • For do this:
      • We count all transactions in [osmosis.core.fact_transactions] for last 4 month and group them by day where [tx_status = 'FAILED']
    Loading...
    Loading...

    According to the chart above, it can be seen that:

    • After May 8, 2022, the number of failed transactions has increased significantly
    Loading...

    3 ---> Osmosis failed transactions type rate over the last 4 months

    In this section we want to what type of transaction results in the most failures the last four months

    • For do this:
      • We get all msg_type from [osmosis.core.fact_msgs] for last 4 month and group them by day and msg_type where [tx_status = 'FAILED']
    Loading...
    Loading...
    Loading...

    According to the chart above, it can be seen that:

    • Failed transactions type are tx, message, coin_received, transfer and coin_spent
    • tx transactions type has the most failed [41.7%]

    Cause of transaction failed

    • We found that for every transaction that failed, the [osmosis.core.fact_msgs] table has four records with almost all tx and message messages.
    • So we need to attribute the error to coin_received and coin_spent
    • So the cause of the error is related to token transfer and swap in Osmosis
    • A major reason for any transaction error (transfer or swap) on any network is heavy traffic and lack of sufficient resources to process that transaction.
      • So one of the solutions to reduce transmission and swap errors on osmosis is to reduce the volume of network traffic and increase processing speed.
    • Another cause of osmosis errors is swap fees and gas, which are set in a liquidity pool and vary depending on network conditions, and the amount of tokens required to pay the fee may not be available.