xGov-171-Inclusion of inner transactions for Algorand on Chainspect


id: 171

title: Inclusion of inner transactions for Algorand on Chainspect

author: Elijah Andreev (@its-a-setup), Nick Grechino (@fromaline)

discussions-to: NA

company_name: Chainspect

category: Tools, Analytics

focus_area: Education, Monitoring, Analytics

open_source: No

amount_requested: 30000

status: Draft


Abstract

This proposal seeks funding to facilitate research and development aimed at integrating Algorand’s inner transactions into the Total Transactions Per Second (TPS) calculation and introducing the additional metric “failed transactions ratio” on Chainspect, the biggest TPS tracker in the market. The allocated funds will support comprehensive research on Algorand’s transaction structure, the refinement of TPS-tracking scripts, and the implementation of 2 new dashboard metrics for reporting Total TPS, encompassing both standard and inner transactions and reporting the ratio of failed transactions in some timeframe.

Team

Elijah Andreev has 5+ years of experience in product management, out of which 3 years were spent in P&G focusing on the management and development of Big Data solutions. He has been in the blockchain industry for 3+ years.

Nick Grechino is a full-stack engineer with more than 5 years of experience. He has been working in the blockchain space since early 2022, focusing on the development of the front-end interface for crypto trading platforms.

Experience with Algorand

Algorand has been integrated into the Chainspect analytics platform since its inception. Over the last six months, continuous 24/7 tracking of Algorand’s metrics has been conducted, and the platform has consistently received the latest features developed by the Chainspect team. Since its establishment in August 2023, Chainspect has organically amassed over 8,000 Monthly Active Users (MAUs), demonstrating early indications of Product-Market Fit (PMF) and a growing community demand for precise and timely TPS tracking.

Present Proposal

The proposal will consist of several steps, which will be completed in a month after the proposal is approved and finalized:

  1. Deep dive into transaction structure on Algorand. This includes the research required to understand the details of inner transactions on Algorand and how they differ from inner transactions on other chains.

  2. Update of TPS calculating scripts. This includes the update of ETL scripts and DB schema to include inner transactions.

  3. Introduction of the new metric “Failed Txn Ratio”, which will show the percentage of failed transactions.

  4. Update the front-end side of the Chainspect platform with 2 new metrics Total TPS, which will include all of the transactions (inner and standard ones), and “Failed Txn Ratio”, which will show the percentage of failed transactions.

  5. Marketing of the new Chainspect’s features. This will include posts on X/Discord and Chainspect’s blog on the nature of inner transactions and the importance of understanding the ratio of failed transactions.

Future Blueprint

Chainspect stands as a dedicated blockchain analytics platform, emphasizing technical metrics. As the leading TPS Tracker on the market, we aim to evolve into the foremost platform for fundamental blockchain analysis. Currently, we serve over 8k crypto investors and dApp developers monthly. You can think of it as CoinMarketCap, but instead focused on fundamental analysis and not price talks.

In the next versions, we plan to focus on 3 types of metrics. Technicals, Community, and Liquidity.

  1. Technical metrics will include TPS, throughput, level of decentralization, number of active addresses, and so on.

  2. Community metrics will revolve around size and engagement level in social media together with the level of developer activity in Github.

  3. Liquidity metrics will include TVL, the market cap of stablecoins, liquidity health, and other metrics required to understand how much liquidity is available on chain.

Benefits for the community

There are quite a few benefits:

  1. Enhanced TPS Dashboard: The introduction of new metrics dedicated to Algorand’s inner transactions and failed transaction ratio in the TPS dashboard will provide existing users with a more comprehensive view of the network’s performance.

  2. Increased Visibility and Interest: The inclusion of Algorand’s inner transactions on Chainspect, with its current user base exceeding 8,000 Monthly Active Users (MAU), will increase awareness about your network. This increased exposure is likely to attract interest from users who may consider investing in your token or building on your blockchain. Notably, Chainspect’s user base primarily consists of crypto investors and dApp builders, emphasizing a more technically inclined and qualitative user base compared to the average blockchain audience.

  3. Growing Community: Despite launching just six months ago, Chainspect has organically cultivated a substantial community of crypto professionals. This indicates a positive trajectory for user growth, especially as the platform continues to introduce new metrics. The technical nature of Chainspect attracts a community invested in fundamental blockchain analysis, ensuring sustained user engagement and expansion over time.

Additional information

We decided to propose this improvement based on direct feedback from the Algorand community. In the past few weeks, we’ve received numerous messages on X and quite a few direct messages, all suggesting the same thing – include inner transactions in the Total Transactions Per Second (TPS) calculation. The community is keen on changing the calculation method and recommends using the xGov process for funding.

Here are a couple of examples of these messages:

  1. Example 1

P.s. can’t put more links due to the forum’s limits

3 Likes

Hi Elijah and Nick,

Thanks for engaging with folks on X and coming here to participate in the Algorand xGov process. As there is no forum post linked for discussions (note that this is a requirement to advance to the voting stage), I will kick off a discussion here.

  1. Deep dive into transaction structure on Algorand. This includes the research required to understand the details of inner transactions on Algorand and how they differ from inner transactions on other chains.

It is not clear to me why deep comparative research is needed to deliver this enhancement to your TPS calculations. Algorand transaction types are described here, and inner transactions can be any of these types. Inner transactions are also clearly visualized on popular explorers such as this example on Allo. Perhaps research into other chains’ models could be funded by grant programs associated with those chains.

I think I speak for the whole Algorand community when I say that, if you were to do any deep research to inform meaningful measures of blockchain activity, the goal should be counting successful transactions which represent actual outcomes for people and institutions who are using or considering using various blockchains.

For example, can you confirm whether or not Chainspect is counting failed transactions on Solana that are referenced here?

https://x.com/0xmert_/status/1752064788610601092

Additionally, it is my understanding that Algorand Foundation has already provided some example code for parsing Algorand blocks here.

With these things said, I think this proposal’s ask is a bit much. My suggestion would be to request 10,000 ALGO to defray some of the cost of an enhancement to your existing app.

Regards,

SilentRhetoric

3 Likes

Hi Brian!
Thanks for kicking off the discussion.

One of the core value propositions of Chainspect analytics platform is the standardization of metrics across various blockchains with different consensus mechanisms, txn structures, and other blockchain-specific intricacies. We don’t doubt that Algorand has quality documentation, but it nonetheless will require Chainspect team to spend time and see how Algorand’s transactions differ from other blockchains and how to ensure that comparison stays fair.

That’s true, we do not count any system or consensus-related transactions for any blockchains. Moreover, we provide info on which txn types are excluded for every chain here.
As for failed transactions, we do not exclude them from the calculation process due to the simple reason: transactions may fail due to a variety of reasons (incorrect permissions, lack of gas/txn fee to cover for the execution cost, slippage, just to name a few). The majority of reasons why txns fail do not depend on the blockchain. That’s why we do not exclude failed transactions.

We do count failed transactions for all chains, including Solana, as described above.

The cost is based on the amount of time and resources needed from the Chainspect team to deliver this custom development. We’ve requested 30,000 ALGO (~$5580 at the time of writing this comment), which is the bare minimum to cover the development and research costs associated with it. Moreover, the topic of inclusion of inner transactions was brought up by the Algorand community and initially was not on the agenda of Chainspect team, but after seeing numerous requests and discussions on the topic we’ve decided to cater to the requests of the Algofam and initiate this xGov proposal.

We do not intend to make any profit on this proposal, but instead fund the bare minimum needed to develop this custom feature and keep the Algorand community happy about the calculation process, while maintaining integrity and fairness across our platform.

BR,
Chainspect team

4 Likes

I replied to the code fragment, but for Algorand the ‘transaction counter’ is literally in each block.
Simply reading committed blocks from any algorand node is all you need to know to track total transactions per block (doing delta between block and block-1).
So tracking transactions per-block or average TPS should be trivial and require no cracking of transactions. The transaction counter is what’s used for asset ids and application ids for example - incremented with each transaction - and the creation of an asset or application just uses that transaction counter as its id.

Comment from the block header source code:

// TxnCounter is the number of the next transaction that will be
// committed after this block. Genesis blocks can start at either
// 0 or 1000, depending on a consensus parameter (AppForbidLowResources).
TxnCounter uint64 codec:"tc"

3 Likes

Hi Chaininspect team

Thank you for the xGov proposal. A couple of questions for the team:

  1. While 30kA is not a small amount of money, it is also not an absurdly large amount. However, if there are other avenues to achieve this for less cost, I’m curious as to why it’s not taken. For instance,

    • John A Woods said he is happy to help the team improve the reporting accuracy of Algorand TPS at no cost…
    • Also, code implementation seems… simpler than a massive backend overhaul as indicated by @PatrickB here.
  2. What is the business model of Chainspect; i.e., how does Chainspect ensure it’s able to continue operations in the long run? One recurring issue I see on Algorand (and across blockchains) is that certain projects require continual handouts because their business model is not sustainable. I wouldn’t want to approve a proposal to spend on a product that will be out of commission in a couple of years (not to say that Chainspect will fail).

On a side note, I think regardless of whether this proposal is approved, this should be addressed:

Looking at the information from the resource linked, its clear that this page inaccurately describes its tracking of Algorand’s TPS (see screenshot):

If I am to read some of the discussion on Twitter correctly, Algorand’s inner transactions do have economic value, meaning that the exclusion explanation/description on your site is inaccurate currently and should be updated.

1 Like

The explanation you underlined–that “only transaction with economic value are included”–is also difficult to reconcile with counting failed transactions.

1 Like

Hi Patrick!

Indeed, just fetching the number of inner transactions from the chain is a no-brainer and won’t require any significant work. However, just showing a bigger number for Algorand won’t make any sense and won’t bring any value neither to Chainspect or Algorand community, as TPS will be incomparable to other chains.

The main complexity is coming from the fact, that we need to standardize metrics across all chains, not just Algorand. This is the main value proposition of the Chainspect platform: standardization of metrics across chains with different architecture, transaction structures, and consensus mechanisms.

Hi AtO!

  1. We appreciate John’s offer to build it for us, but we can’t accept changing the calculation method for Algorand specifically and leaving the calculation method for other chains as is. Because TPS will be incomparable across the dashboard.

Just fetching the number of inner transactions from the chain is a no-brainer and won’t require any significant work. The main complexity is coming from the fact, that we need to standardize metrics across all chains, not just Algorand. This is the main value proposition of the Chainspect platform: standardization of metrics across chains with different architecture, transaction structures, and consensus mechanisms.

  1. We do explore several monetization options to ensure that Chainspect stays in the business. We aim to ensure that it stays always free to its users, so we will do our best not to introduce any paywalls and mandatory subscriptions for ordinary users. Instead, we plan to rely on blockchains and infrastructure providers to help fund this project. We don’t yet have the exact structure in place, but some of the options are to charge the integration fee for new chains and introduce a recurring subscription model for blockchains.

As for the disclaimer on which transactions are excluded for various chains, we do think it is correct. We do not specifically exclude inner transactions, all of the inner transactions are wrapped in standard transactions, and these are the transactions we count. It would be fair to say, that we don’t count inner transactions as additional transactions on top of standard transactions. But this is the approach we follow for all chains.

Hi!

This is the reasoning:
As for failed transactions, we do not exclude them from the calculation process due to the simple reason: transactions may fail due to a variety of reasons (incorrect permissions, lack of gas/txn fee to cover for the execution cost, slippage, just to name a few). The majority of reasons why txns fail do not depend on the blockchain. That’s why we do not exclude failed transactions.

But perhaps we could add a ratio of failed transactions in the future so that users would be able to see the percentage of failed transactions when comparing TPS.

In all honestly, your argument here is completely lost as soon as failed transactions are included for Solana. This one is hard to argue TBH.

Not sure, why you mention Solana specifically, because this is the standard rule we apply to all chains.

However, I propose we stick to the topic of this proposal.
This is what was highly demanded by the Algorand community, and approval/rejection of this proposal will determine whether this feature will be implemented.

Because when you say certain recorded on-chain transactions (that actually ‘did something’) on Algorand don’t count, but transactions on other chains (like Solana) that literally did “nothing” DO count - it’s hard to see the sense in that. There are obviously really subtle differences with certain operations (‘gas up’ types of transactions which aren’t particularly obvious to detect) but this qualification of yours doesn’t make much sense. On algorand side, all are using chain space, recorded in blocks, causing state deltas to occur, replicated globally - these …are… transactions.

Update the proposal to include a column for successful TPS next to the column for transaction success ratio and I’ll be an advocate for it.

Hi Chainspect Team,

Thank you for your response.

A few more questions:

  1. Could you divulge the funds that the platform has received from other chains? Did funds received from other chains improve the TPS calculations for all chains that are on the platform or just for that chain?

  2. Since Chainspect does not count inner transactions at the moment, does it mean that TPS for all chains would increase (not just for Algorand) if inner transactions were counted? Or would this implementation not affect other chains’ numbers that much since many of their inner transactions do not hold economic value?

  3. Regarding the business model: When are we going to see the subscription model be rolled out? And what is the estimated runway for the platform currently (as you can see, I’m very concerned about sustainability in general, not just for Chainspect :slight_smile: )?

Requested Change for the Proposal: I would be more supportive of this funding proposal if the following is updated to the proposal:

  1. Describe what Chainspect plans to do to ensure a sustainable revenue stream. Additionally, what happens to the platform and its code/property if the business were to fail (do we get to open source it? Will you let Algorand Foundation or another blockchain take it over? Etc).

  2. Algorand’s main ask was to count the inner transactions into the TPS as these transactions have economic value (on Algorand). However, seeing that this proposal looks to be overhauling the platform, I would like part of that overhaul to also delineate/show metrics for failed transactions on various chains.

Hi!

The inclusion of info on failed transactions is definitely possible and can be done in terms of this proposal. Probably, it would be more user-friendly to display it as a ratio near the TPS column, instead of dedicating it a standalone column.

It will also slightly increase the budget, due to the increase in scope (we will do the estimate in the next couple of days)

Hi @AtO

  1. Can’t disclose this kind of info for obvious reasons. What can we share here is that we never accepted funding to artificially increase some chain metrics or create a more favorable structure to highlight the strong sides of a particular blockchain. That is not the option, neither now, nor in the future.

  2. The short answer is probably yes, it will increase Total TPS for all chains that have a concept of inner transactions. More accurate and detailed answer can be shared once the proper research is done.

  3. There is no timeline for the subscription model just yet. As for the the runway, this is not public info, but we can assure you that Chainspect team is modest with spending.

Just to be clear, this proposal is asking for ~5k$ in order to help Algorand community to see highly-requested metric on Chainspect platform. This is not a funding request, that implies some ownership of Chainspect by Algorand or its community.

As for the revenue stream, we did a high-level explanation in one of the comments above. Also, we do not have plans to sunset Chainspect or discontinue the project.

Yes, this is possible, we provided our answer here:

1 Like

Hi Chainspect Team,

Thanks for the response, I have no further questions–you’ve answered most of them, and I wish the team luck on the funding.

1 Like

Hi!

It looks like it’s not possible to edit the post on the forum.
Would it be ok if we add “failed txn ratio” to the initial GH proposal?

UPD: updated the proposal to include failed transaction ratio

2 Likes