You are viewing a single comment's thread from:

RE: Seriously, what is a STEEM witness? Why should I care? How do I become one? (Answer)

in #witness-category8 years ago

Nice, I had not known that about witnesses outside the top 19 getting blocks. Unfortunately, @dantheman's explanation of the scheduling algo in that post you linked to is really awful. :)

Do you produce blocks regularly, or is it at random intervals? I mean is it every 2.6 hours exactly or on average? (some 2, some 3, some 5)

Sort:  

You can try reading my post on the witness scheduling algorithm. It is more up-to-date than @dantheman's old post (although my post will also become slightly out-of-date after hardfork 14). Particularly look at the "How witness scheduling was intended to work" and the "The new witness scheduling algorithm" sections.

But I think a more approachable way of understanding the witness scheduling algorithm (my post still goes into the technical details which may be undesirable to some) would be through the following analogy:

Imagine the selected set of Steem block producers per each round (21 blocks, which almost always corresponds to a period of 63 seconds) as a very selective club that only allows 21 people in at a time. You have some number of people who are considered VIPs who are allowed to enter the club at any time (in fact, until hardfork 14 goes through, they are forced to enter to club if they are considered VIP) and stay there all the time (as long as they are still considered VIPs). While they remain in the club and do their duty of producing blocks, they will be paid each round (each 63 seconds). Only 19 VIPs are allowed in the club at any time. If someone that chose not to enter the club has higher standing (more witness votes) than an existing VIP in the club and they now decide that they want to enter the club, the existing VIP in the club with the lowest standing is no longer considered VIP (and therefore likely kicked out of the club). Thus, the set of VIPs are determined by the accounts in order of descending witness votes starting from rank 1 to whichever rank it takes to find exactly 19 people who want to join the club. Prior to hardfork 14, an account cannot refuse to join the club, so there are always exactly 19 VIPs who are exactly the top 19 accounts with the largest amount of witness votes pointing to them by the Steem Power holders (1 witness vote per each SP of the accounts voting for you). The other 2 slots (of the 21 total slots available for the club) change every 63 seconds. There are two ways to enter the club: the front door and the back door.

If you are VIP, you are freely allowed to enter through the back door, and you can stay in the club as long as you want (after hardfork 14 you will be allowed to leave whenever you want) as long as you still remain VIP (which can suddenly change with a single vote). If you are not VIP, you can only enter the club through the back door if your virtual self-driving car completes a lap in a special race occurring inside of a massively multiplayer online video game (after hardfork 14 you can choose not to play this video game). As soon as your virtual car completes a lap, the game is paused for everyone, and then you enter the club and are allowed to stay in for only 63 seconds (again assuming you aren't VIP), after which point you are paid a reward (assuming you did your duty of producing a block for that round), kicked back out to the street, and then the video game resumes. The speed at which your virtual car travels on the racetrack (relative to the in-game clock) is proportional to the amount of witness votes that are pointing to your account by Steem Power holders. One other thing to keep in mind about the virtual race is that the in-game clock operates independently of the real world clock. The video game can be paused, and when it isn't paused it operates at a very fast clock rate (since there is no user input needed for the virtual cars to drive themselves). In fact, you can think of the video game operating so fast that as soon as it is unpaused, it simulates the race until the next virtual car completes a lap (at which point it pauses again) all in less than a millisecond.

If you want to get in through the front door, you need to mine. There is a long queue (of typically approximately 100 accounts) to the entrance of the club. Only one account from the front of the queue is allowed into the club once every 63 seconds (after hardfork 14 the person at the front of the queue has the choice to exit the queue and not enter the club, giving that privilege to the next account in line after them, and in fact they will be forced to make that "choice" if the account's signing key isn't properly configured). But once they are in, just like the people getting in through completing the video game lap, they are only allowed to stay for 63 seconds, then they get paid a reward (assuming they did their duty of producing a block for that round) and are kicked back out to the street. Someone waiting within the front door queue can still operate a virtual car in the video game at the same time (in fact, until hardfork 14 goes through, they must do so as long as they have non-zero witness votes). If their virtual car passes a lap in the video game (or they suddenly become a VIP), they are allowed to save their spot in the moving queue, leave the queue, and enter the club immediately through the back door (they will still only stay for 63 seconds before being kicked back out unless they are VIP). However, their spot in the front door queue continues moving forward over time, so if they don't get back in time before their spot reaches the front of the line, they will lose their spot (this is unlikely to happen to a miner unless of course they are also a VIP at the same time). Not just anyone is allowed to enter the front door queue. There is a bouncer standing at the back of the queue that only lets you enter the queue if you have a recent winning lottery ticket. The club runs a new lottery every 3 seconds. The number of lottery tickets you "purchase" (using your hashing power) for each new lottery is proportional to your mining hash rate at the time of that lottery.

Thanks. So the racecar analogy seems to be saying that the next running witness is selected deterministcally. Correct?

There's some randomness to it. There's also the fact I fluctuate in rank a lot. Last week I went from 47 to 51, and was stuck there for days. Now I'm at rank 39, after rising from 44 a few days ago.

Dan describes it as a "virtual racetrack", where your ranking adds a certain amount of points to how close you are to the finish. When you reach that virtual finish line, that's when you're allowed to produce a block. Thus people in higher rankings move up faster on that virtual racetrack.

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63061.76
ETH 2602.70
USDT 1.00
SBD 2.75