For users, blockchain performance is the speed at which they get the requested service. For example, a cryptocurrency transfer transaction or a transaction, calling a smart contract function. In all these cases, we prepare a transaction, send it to the network and expect a response. This parameter shows the time during which a client will receive a reliable confirmation of a successful payment, confirmed booking or a deal.
Below is a rough sequence of steps that the client software spends time on:
- User prepares and signs a transaction
- User sends a transaction to the network and waits for confirmation of acceptance
- Network replicates information between network participants
- Some of participants generate new blocks including a user transaction and replicate new blocks between network participants
- User receives information about a new block with his transaction from the network
This scheme is similar to accessing a distributed database. The user sends a transaction that modifies the data, and waits until many computers make changes to the database. Then the user receives a response that roughly means the following: "It looks like the biggest cluster part has applied changes to the database".
A blockchain transaction should also "be accepted by the majority", but each computer checks the changes more thoroughly. Computers do not trust each other, so there are significantly more checks, especially the cryptographic ones. In addition to that, the participants also agree on the order and contents of blocks.