3 ms·
Every account in the network is a chain of blocks, with each block signed by the private key of that account. So only the owner of the account can add a block t
by bmh 6y ago
Every account in the network is a chain of blocks, with each block signed by the private key of that account. So only the owner of the account can add a block to their chain. To send money from A to B, A will add a 'spend' block to her chain, and B will add a 'receive' block to his chain. If B is offline, he can claim that receive later.
The speed comes from the fact that spends from A to B can be processed independently of spends from C to D. So all independent transactions occur in parallel (and as you can imagine most transactions are independent).
Every block addition is voted on by all participating nodes, and they vote as quickly as possible, so they're limited by internet bandwidth/latency, as well public/private key signature verification and generation. Most transactions complete within less than a second.
New blocks do need a PoW signature, but these are much much smaller than other PoW signatures. Additionally, they are usually generated by the account performing the transaction, so they will typically run on your phone or browser wallet app.
Finally, the entire system was feeless from inception. That's just a design decision. I guess people run nodes because they want the whole thing to live.