According to the Steemit FAQ,
The Steem blockchain requires a set of people to create blocks and uses a consensus mechanism called delegated proof of stake, or DPOS. The community elects 'witnesses' to act as the network's block producers and governance body. There are 20 full-time witnesses, producing a block every 63-second round. A 21st position is shared by backup witnesses, who are scheduled proportionally to the amount of stake-weighted community approval they have. Witnesses are compensated with STEEM Power for each block they create.
Witnesses are elected by the community to witness the production of blocks on the Steem network. In other words, they run and maintain nodes (servers) that generate the blocks containing all transactions (i.e. posts, upvotes, comments, transfers, etc.), which are added to the blockchain. Without witness nodes, there is no Steem blockchain. This Delegated Proof Of Stake (DPOS) system is based on trust, where the most trusted witnesses are likely to serve the network reliably.
Also, another important task is to publish a STEEM/USD price feed to the network, which is how STEEM Dollars (SBD) are pegged to 1 US Dollar in STEEM (using the 3.5 day exchange).
Blocks are produced every 3 seconds, in rounds, which are 21 blocks long. Therefore, each round is 63 seconds. Each witness in the Top 20 produces a block within that time frame, while a backup witness is shuffled to produce a block at position 21 based on their rank.
Witnesses produce blocks according to the scheduled round, proportionally to their rank in the system, excluding the top 20 witnesses who are scheduled every 63 seconds. The ranking is based on the total amount of VESTS of their voters.
You can monitor the schedule live at https://steem.bitcoiner.me/schedule/.
Currently, the Top 20 witnesses are rewarded with 0.189 Steem Power (SP) per block, while the rest get five times that amount, which is 0.945 SP.
For example, a witness at rank 50 generates around 20 blocks per day, that is:
20 blocks x 30 d x 0.945 SP = 567 SP/month (or 6804 SP/year)
Whereas a Top 20 witness gets rewarded for 1 block every 63 seconds, that is:
(60 s x 60 m x 24 h) / 63 s = 1371 blocks
Which is a monthly:
1371 blocks x 0.189 SP/block x 30 d = 7773 SP/month (or 93276 SP/year)
Being a witness is a responsibility with several requirements: