How does Steem achieve free and fast transactions?

in #steemit6 years ago (edited)

The most remarkable property of Steem is free and fast transactions. There are a few other cryptocurrencies that achieve this but they are all DAG-based while Steem is a single threaded blockchain like Bitcoin and Ethereum.

Steem is able to do so using a combination of delegated Proof of Stake (dPOS) and bandwidth limiting. In Steem's dPOS, users elect a group of "witnesses". Witnesses are responsible for producing blocks. In Steem, blocks are produced in different rounds, with each round having it's own set of 21 predetermined block-producing witnesses. Since a round's block-producing witnesses are known beforehand, blocks can be produced really fast. Currently Steem blocks are produced every 3 seconds. This is how Steem manages to support super fast transactions.

But how does Steem prevent spam (a serious problem in feeless blockchains)? Steem mitigates spam by applying account-based bandwidth limiting. Each account has a set amount of bandwidth they can use that increases in low usage periods. As usage increases, bandwidth allocations for each account decreases. To prevent someone from creating a large amount of accounts to spam the network, each account requires holding a minimum amount of Steem Power to use the network.

Another challenge for feeless blockchains is block producer incentives. If there are no fees, block producers have less incentive to produce blocks. Steem incentivizes block production by setting aside a sizable portion of inflation as rewards for block production.

Super fast and free transactions are key properties for a successful social network. If users have to pay just to interact with the network, few will choose to use it over centralized solutions. Likewise, if it takes several minutes just for a like to confirm, users will be annoyed and bored of the process. Steem's ease-of-use is the reason why it has one of the highest adoption rates relative to other blockchain projects.

More reading

Sort:  

Finally, I understand the usage of bandwidth under my account and to avoid spam.