Operation Vs Transaction, the Blocktivity big debate.
First of all, let's take a look closer at these two terms. Everyone is familiar with a transaction (Tx) on a blockchain but not so much with an operation (Op).
Blockchains have evolved and you can now do a variety of operations using this technology. An operation could be a transfer of a coin but also other actions allowed by the blockchain as updating or creating an asset, voting, posting a blog or comment, claim vesting shares, ...
As Blocktivity is focused on the activity produced by people and bots on the blockchain, counting transactions would be missing a lot of important actions on the blockchain.
As we discover the potential of blockchain technology, these operations will diversify and blockchains only allowing simple transfer will be things of the past. That's why Blocktivity considers the overall activity counting the operations and not the transaction made on the blockchain.
Several operations can be grouped in 1 single Tx!
From day 1, Blocktivity mission is to give a feel of the utilisation of the blockchain. How many persons and bots use these blockchains. How many real blockchain-level actions are taken.
Lots of blockchains out there have a lot of volume on the exchanges but have very poor real utilisation. Some other are more discreet but are vastly utilised. The first mission of Blocktivity was to show this information.
Let's take an example; you want to know how much products a store is selling, you sit down next to the front door and start counting ... but counting what? The client (account created on a blockchain), the clients' bags (Transactions) or the number of items in the bags (operations)?
Some blockchain doesn't use operations, it is then easy because 1 Tx = 1 Op.
Some other use these operations and group them into transactions, I count them.
Some people say it is not fair but I believe it is. If a chain doesn't have operations but have the same amount of "activity" of another chain with operations enabled, it will simply have a lot of Txs, the same amount the other chain has with Ops.
Just like the example of the store. Client A buys 10 items and carries them in 10 bags and Client B buys 10 items and carries them in 1 bag. I count 10 for each client, not 10 and 1.
FYI, even the oldest chain (Bitcoin) is grouping its Ops in Txs. There is around 2.5 transfers in each Tx. Should I count 1 when 3 transfers are done but are grouped in 1 Tx?
Operations can be faked !!!
Yes, and so does Txs. On a blockchain with high fee, it does cost a lot, on a blockchain without fee it is free.
What I've seen so far is punctual testing of the capacity of a blockchain spamming Ops or Txs and get higher in the rankings. It usually doesn't stay for long and in my view is a good way to demonstrate that your blockchain is able to deal with massive usage. At the end of the day, blockchains need to be able to deal with worldwide traffic.
In the new version, we can also imagine a red comment next to the blockchain known for spamming Ops to game the Blocktivity results. That should discourage community members to abuse it.
One operation is not equal to another!
Also right, there are operations that some people will characterise by meaningful such as transfers, account creation or voting. And other operation that won't fit the meaningful catégory like asset creation, blogging or simply consulting data from the blockchain.
I wouldn't adventure myself to declare what is meaningful or not.
Blocktivity is not about high precision but about overall usage. It gives you the answer to the question "is there people using this technology?".
If some of the operations of a specific blockchain are not considered as important as operations from another one, the difference it makes doesn't really matter when you consider the whole picture.
I invite everyone to check the EOS operations from this Tx and see by themselves that there is nothing in these EOS Tx that wouldn't qualify as honest activity on a blockchain :
You can see by yourselves any other Tx in details by clicking on them here :
Beware that not all explorers give all the details about operations.
What is happening now with EOS and soon with WAX.
I have updated the data from EOS and Blocktivity will be able to display the operations just like I've done with other chains.
There has been a strong reaction to this news. The reason is EOS is producing 10x more operations than the other top blockchains. There is a big disparity between EOS and the rest.
I can understand the problem, the main opinion against Op is that with that high difference Blocktivity will lose its reputation and will be discarded. I feel like it's the opposite. Blocktivity has always counted Ops because it is the best measure it can access so far. It is not perfect but it is what best fit the ideology for now. Keeping this idea alive is the only thing Blocktivity can do in order to remain objective and impartial.
I will also add the WAX operations to the count as soon as I can get my hand on them. (Current Blocktivity version doesn't allow me to do it so I depend on their team)
What about real money transfer? about Tx? about account creation? And about active accounts?
If you have followed the news from Twitter or Steemit you know that Blocktivity is on its way to being revamped and open source.
In the new version, Blocktivity will scan the blocks and extract a lot more information. This big quantity of data will find it sway into the main matrix where you will be able to apply filters to the data.
You will be able to only see Txs, Ops, both, add account creation, transfers, ...
You will find in the GitHub repo all the growing information about it.
So everybody will be happy then? Well, we are on the Internet, there will be always angry people but 99% of the Blocktivity visitors will be satisfied. They will be able to display the matrix that reflects the most their believes, snapshot it and share it on social networks.
WHEN WHEN WHEN ???
An open source project doesn't mean lots of people working on the same project. It only means it allows it.
So far I'm still the only one working on it so it will take some time.
I'm planning to build Blocktivity 2.0 with Node.JS, Sails and MongoDB (if I don't change my mind). I've built Blocktivity 1.0 with Apache, PHP and MySQL. It is all new to me and I need to learn all that stuff before even writing the first line of code.
If anyone wants to help at this stage of the project, a simple hour of their time on Skype, sharing their experience and guiding me with Node/Sails/MongoDB would really help to accelerate the development.
With all that said, I would love to be able to provide the new version right now and avoid the turmoil but I just can't. A decision had to be taken and for now, Ops will remain the standard on Blocktivity.
Have a great trip into the wonderful world of decentralised technologies.