What is the TPS (Transactions Per Second) on Holochain?

Holochain doesn’t have a set TPS (transactions per second) like blockchain-based or blockchain-derived projects do, because it doesn’t have a central point through which all transactions must pass. Instead, Holochain is a generalized protocol for distributed computing.

It’s common to ask a blockchain project, “How much can your technology handle? What’s its TPS?” This is because nearly all of these projects are built around the limiting idea of a global ledger. However, no one asks, “How many posts per second can Facebook do?” Why? Because there is no technical problem with doing so beyond adding more servers to Facebook’s data center.

Indeed, no one asks how many emails per second the internet can handle, because there is no single bottleneck for email-sending, like there would be with a centralized approach. Why are we seeing a transaction limit with blockchain networks? Because blockchain, paradoxically, marries a decentralized P2P network of nodes with the logical notion of one absolute truth; i.e., the blockchain is one big decentralized database of transactions. It tries to maintain this way of thinking about apps that we are familiar with from centralized servers. It forces every node into the same “consensus,” implemented by having everybody share and validate everything. That does work, and there are a few use cases (perhaps a global naming system) where it might be advantageous. But applying that to everything would be inappropriate.

By contrast, Holochain’s approach allows for building applications that are more like email. A Holochain application is like a protocol, a grammar, or even a dance. If you know the dance—if you have a copy of the validation rules of the app—you can tell who else is dancing that particular dance and who is not. The difference between Holochain and something like email is that (like blockchain) Holochain is applying:

  • cryptographic signatures and
  • tamper-proof hash-chains

so that you can build a distributed system you can trust in. Thus, it is impossible (or, at the least, very, very hard) to game somebody. Before, this was only possible by having trusted authorities, like banks or Facebook.

Holochain, as an app framework, does not pose any limit of transactions per second, because there is no place where all transactions have to go through. It is like asking, “how many words can humanity speak per second?” Well, with every human being born, that number increases. Same for Holochain.

4 Likes

i remember when facebook started they did have a posts-per-second issue… the servers crashed all the time

vertical vs. horizontal scaling is important for a database administrator
scaling reads vs. writes and indexing etc. are all important

the key bit here (and “the joke”) IMO is that blockchains are horizontally scaling vertically :thinking:
the TPS becomes “a thing” for a blockchain because adding more machines doesn’t increase throughput, it often slows it down by forcing the whole system to process only as much as the slowest or maybe “average” device on the network can…

it’s not so much that “centralised = able to be horizontally scaled” because we can just look at mysql to see an incredibly popular setup that requires vertical scaling by default, and even with a more sophisticated slave/master setup needs writes to be carefully co-ordinated

most centralised systems designed today would not scale globally and would need to be rebuilt potentially several times on the way up to such a user base (like facebook did), and that’s just to power a single application

the thing i like about the holochain model is that participants in a “transaction” (e.g. a move in a turn based game) can each write immediately then “backfill” persistence/security through the DHT/validation propagation across the network, and they can read their own data locally immediately and adding more machines to a network reliably increases persistence/security throughput (e.g. adding seeders to a bittorrent file with too many leechers)

4 Likes