This update covers:
- We've got trouble, we've made it double.
- How Abit's horde of kittens helped with blockchain bandwidth.
"This idea came to my mind after a small talk with
.
Steem wizardry, or steemit wizardry - that's what our witnesses do."
- @inber, freelance concept artist and illustrator.
- Fragment of "Steem Wizardry" by Inber
A lot was happening on external markets, the price of bitcoin was very unstable, which had impacted on all "altcoins," including STEEM. It even went down to $0.80.
Steem doesn't have any fees for transactions. Instead, it uses bandwidth, which depends on the Steem Power held by users. The purpose is to prevent abuse such as spam.
The more Steem Power you have, the more interactions with the blockchain you can make. Bandwidth is not a fixed amount - it depends on certain conditions. This formula takes into account max_block_size, which is a parameter set by witnesses. Other parameters include current_reserve_ratio and indirectly average_block_size.
When problems emerged with accounts whose absolute amount of Steem Power was too low (which resulted in insufficient bandwidth even for non-excessive usage), there were ideas to increase max_block_size.
It was more of a hack than an actual solution, especially as it could not solve voting issues when people fell below fixed #define STEEMIT_VOTE_DUST_THRESHOLD (50000000).
I was against using a wrong tool to solve the problem, so instead I've delegated a lot of SP to users who were experiencing such issues before it was fixed.
This time however, the number of people reporting bandwidth issues was surprisingly high. Some of them had a considerable amount of Steem Power.
There was no other choice but to increase max_block_size
Witnesses reacted very promptly and quickly changed their maximum block sizes. (Have you seen all that hassle with increasing Bitcoin's block size?).
We've got trouble, we've made it double.
Unfortunately, that wasn't the end of the story and the bandwidth problems kept coming back. broke the news: the issue was caused by a nasty bug in max virtual bandwidth calculations.
It overflowed 64-bit precision and since one of the components of this equation was max_block_size, which had just been doubled... Yeah, exactly.
Witnesses reduced max_block_size back to a minimum, which resulted in less frequent overflows, while the dev team was working on releasing the fixed version
Release the kittens!
Or: Abit's horde of kittens bravely fought against blockchain bandwidth problems.
Abit came up with the idea of affecting average_block_size for a short period of time every few hours (when we were about to overflow).
We all know that the Internet is made of cats, so I suggested using ascii-art kittens, like the ones below:
. .
:"-. .-";
|:`.`.__..__.'.';|
|| :-" "-; ||
:; :;
/ .==. .==. \
: _.--._ ;
; .--.' `--' `.--. :
: __;` ':__ ;
; ' '-._:;_.-' ' :
'. `--' .'
."-._ _.-".
.' ""------"" `.
/`- -'\
/`- -'\
:`- .' `. -';
; / \ :
: : ; ;
; ; : :
':_:.' '.;_;'
:_ _;
; "-._ -" :`-. _.._
:_ () _; "--::__. `.
\"- -"/`._ :
.-"-. -"-. ""--..____.'
/ .__ __. \
: / , / "" \ . \ ; bug
"-:___..--" "--..___;-"
_ ___ _.--.
\`.|\..----...-'` `-._.-'_.-'`
/ ' ` , __.--'
)/' _/ \ `-_, /
`-'" `"\_ ,_.-;_.-\_ ', fsc/as
_.-'_./ {_.' ; /
{_.-``-' {_/
)
( /(
\yYYy,_I_`;
JgLFO^JL_
\ `- \, ` Qr+as
`
Source: http://www.ascii-art.de/ascii/c/cat.txt
So if you were looking at your steemd console at that time, you could notice cats running all over your screen.
Don’t try this at home (or at the blockchain). It was a special case that required a special solution for a very short period of time.
After some time, the fix was ready and it was quickly applied by many witnesses. Currently, 15 out of 20 active witnesses are running it. It's also active on many other nodes.
Please note that bandwidth limiting is not a part of consensus and it's handled by a witness plugin (that has nothing to do with being a witness). So it's essential to run it on nodes that are expected to support such a feature.
For instance, it's a good practice to run it on your seed node.
SteemFest Official Carrier
As already mentioned before: on behalf of SteemFest 2017 and with a permission of , I've made an agreement with TAP Portugal to offer special conditions for the travels of the participants that are coming to this exceptional event. Discount codes available.
Support Original Authors on Steem (bonus)
50% of liquid author rewards from this post will be donated to support SteemFest2.
That will apply to all of my witness update posts from now on until the end of October.
If you believe I can be of value to steem, please vote for me (gtg) as a witness on Steemit's Witnesses List or set (gtg) as a proxy that will vote for witnesses for you.
Your vote does matter!
You can contact me directly on steemit.chat, as Gandalf
Steem On