Turns out the recent bandwidth issue was a bit more complicated then we initially expected - increasing block size reduced the errors for a little while - but it lead to the discovery of a deeper overflow bug in the bandwidth algorithm.
I was really impressed with how efficiently this was examined by our witnesses and development team, and an updated version of Steemd was released this morning to fix the bandwidth algorithm.
Here's the relevant part from the release notes on the fresh Steemd v0.19.1rc1 :
Smooth Bandwidth Algorithm
There were two big problems with the bandwidth algorithm. The first was an integer overflow that caused max_virtual_bandwidth to be calculated incorrectly. The second was a programmed behavior that caused bandwidth requirements to increase too rapidly for a small increase in traffic. We have implemented a new algorithm for how to calculate global bandwidth requirements that still protects the blockchain under extreme circumstances, but is less aggressive during small deviations from past behavior. Overall, this should improve the user experience when it comes to bandwidth rate limiting. 1257
The update also includes a few other needed features that will mostly interest witnesses, and a safety check to stop people accidentally broadcasting their private key in the memo field of a transfer.
I've upgraded my main node to this new version, and I've reduced my block size back to its previous 65536
value while we wait for this to become the dominant version in use amongst the witnesses .
Relevant Links :
- Steemd v0.19.1rc1 release notes
- Github Issue 1257 - Change Bandwidth Reserve Ratio Algorithm
- All Witnesses - Important Update v0.19.1rc1 (Steem-in-a-box is updated)
- SteemD changelog on github
- Bandwidth Limit Exceeded? How Witnesses Help You
- Bandwidth Error Code Bug Explained! Fix Coming!
- A thought about recent STEEM bandwidth issues ...
- Down the Rabbit Hole. "The case of the Bandwidth Bug"
- Ausbitbank Witness Update 17/7/17 (SBD interest changed to 1%)
- SteemDB Witness List (check versions)
twitter / gab.ai / keybase / steemit.chat / patreon
steemviz / steemvids / more tools / post index
Please vote for me as a witness here