You are viewing a single comment's thread from:
RE: Another blockchain puzzle: Last irreversible blocks
I don't remember my source, so perhaps I'm mistaken, but my understanding is that the last_irreversible_block_num should be set when it has been validated by 2/3 + 1 of the 21 witnesses in a validation round - i.e. 15.
I was curious so I decided to take a quick look at the code. I didn't absorb enough to fully understand what was going on, but in the database::update_last_irreversible_block() function I see it using this:
size_t offset = ((STEEM_100_PERCENT - STEEM_IRREVERSIBLE_THRESHOLD) * wit_objs.size() / STEEM_100_PERCENT);
where STEEM_IRREVERSIBLE_THRESHOLD is (75 * STEEM_1_PERCENT), so I think the calculation is probably supposed to be 75% of 21, which I think works out to the same 15 as your 66%+1.
Thanks. That matches observations, too. 15 definitely seems to be the lower boundary. (According to the AIs, that's the block producer plus 14 confirmers😉.)