-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hedera transaction count might include consensus messages (HCS) #78
Comments
I'll give it a look this weekend. |
I see that the transactions are dominated by HCS, the Hedera Consensus Service, which I understand went live in the recent past. It's not clear to me what the nature of these transactions are. I believe the HCS is a general purpose consensus service that any party can use. So if somebody is throwing a lot of external transactions at the HCS, possibly just for testing or appearances, that seems fine. What I would be willing to filter out, based on the precedent with Solana, is internal consensus transactions without which Hedera would not work. In other words if the Hedera network relies on HCS for its own consensus, then those HCS transactions I would consider to be necessary overhead, the transaction space unavailable to users, and filter it out like Solana's consensus transactions. I see that Hedera has one HCS "topic" that is much larger than the others, 1693742, but yet I don't understand what this topic is. I'm happy to have any pointers to understand what this topic is being used for. |
cc @a-ridley perhaps you know how the HCS is currently being used. I am trying to understand if some subset of the HCS transactions are intrinsic to the operation of hedera itself the way solana consensus transactions are. |
Also, fwiw I don't technically know how obtain Hedera transactions from blocks yet. The hedera block RPC API doesn't seem to provide that information. |
@brson @tomerweller Hi! From Hedera's website:
https://hedera.com/consensus-service
Atma.io (Avery Dennison) is using HCS to 'provide support for sending product lifecycle events such as creation, shipping, and sale to Hedera. Recording these events with Hedera Consensus Service establishes an immutable and verifiable history for every product.' source
That is Atma.io iirc ALT/AVE uses HCS for document sharing. 'docStribute uses Hedera Consensus Service to record and track immutable document sharing. By sending a hash of the document to the ledger, both ends of the communication know the information being shared has not been tampered with. Companies are thus able to do more digital exchanges in an effort to increase efficiency, reduce paper waste, and lower their carbon footprint.' Hedera Consensus Service is also utilized in the new AI8112 Digital Coupon Standard by The Coupon Bureau. You or I can also create Consensus Messages, it's actually fairly easy.
https://docs.hedera.com/hedera/docs/sdks/consensus/submit-a-message |
What helps to explain the Hedera Consensus Service is to relate it to a cloud service provider like AWS, Azure, GCP etc. providing a NoSQL database to which you pay for each writing that you do to it. Coming back to Hedera and taking the previous explanation, a user or institution like Atma.io, pays Hedera for the orderly recording of their logs of their supply chain of different products. That recording happens in the following flow:
So, you can say that Hedera Consensus Service is pretty much a decentralized notary service recording everything on a decentralized ledger in an orderly fashion by using Gossip about Gossip, its consensus algorithm. @brson @tomerweller if you are curious about how the Gossip about Gossip algorithm works to decide the order and timestamp of transactions, check this https://help.hedera.com/hc/en-us/articles/360000826697-What-is-gossip-about-gossip-and-virtual-voting- and I recommend you this youtube video of Leemon Baird explaining it in more detail https://www.youtube.com/watch?v=wgwYU1Zr9Tg . Now, I can try to briefly explain the Gossip about Gossip algorithm and virtual voting here, but I do recommend you to check the links shared for you to get a more in-depth explanation:
The previous explanations are oversimplifying Hedera's Consensus Service, Gossip about Gossip algorithm, and virtual votes. I do recommend you to check the links that I shared you to get more details. However, I hope my explanations helps to define how Hedera's Consensus Service differs from, for example, Solana's recording of consensus between its nodes. Finally, I have to clarify that in other chains to implement a use case to track supply chain, an institution may have to use an smart contract to keep track of events by writing to their state while Hedera implemented the recording of information natively to the network. The use of the terms "Consensus Service" is what is generating confusion for someone coming from a more Blockchain type of network |
@brson If you want to learn how to work with HCS check out this learning guide. The Hedera consensus algorithm uses gossip about gossip and virtual voting to reach a consensus. You can learn more here: https://docs.hedera.com/hedera/core-concepts/hashgraph-consensus-algorithms As for the large topic you pointed out, check out these use cases that are contributing to it: |
To clarify, because each node knows what all other nodes know, each node also knows how other nodes would vote on consensus, hence virtual voting, which requires no "broadcast of virtual votes." There is some confusion as to whether Hedera's recent 50 million daily transactions include internal node communications. It does not, as there is no communication among nodes to reach a consensus. This makes Hedera aBFT, extremely fast finality, and gives it incredible throughput. |
My bad. Thank you for making the correction! I updated my comment to reflect this |
I'll look into using the JSON RPC Relay api to get hedera blocks and get back to you. 👍 |
Check the implementation of Hedera's JSON RPC Relay API that Swirld Labs did: https://swirldslabs.com/hashio/ using https://github.com/hashgraph/hedera-json-rpc-relay |
@walter-hernandez Thanks for linking Hashio and the JSON RPC Relay repo. :) In addition, there is a JSON RPC Specification where you can see all the APIs. You can call the RPC |
Based on comparison with this: https://app.metrika.co/hedera/dashboard/network-overview?tr=1d
(Bias alert: I'm with the Stellar development foundation)
The text was updated successfully, but these errors were encountered: