RE: Third Livestream Test Tomorrow
A Little Context
"In most projects, the first system built is barely usable....Hence plan to throw one away; you will, anyhow." - Fred Brooks, The Mythical Man-Month
It's just a fact of software design that the first version runs too slow, lacks required features, and/or costs too much to operate. One solution is to throw it away.
With that in mind, there are varying levels of how much of the platform (if any) should be migrated to a completely fresh new design approach. For example, the current API design could be thrown away, but that would impact the entire ecosystem. On the other hand, just Hivemind could be thrown away, and barely any of the rest of the ecosystem would be impacted (though I would be sad).
As the most extreme variation, you mentioned a pitchfork before. Just for a little more context:
A pitchfork is when you restart the blockchain from block #1, then import things like public keys and set the balances, and abandon the old chain.
Actual Question
My question is, do you see a pitchfork as a last resort? Or is it just a tool to pick up if the time arrives? What circumstances would make pitchforking a certainty?
Edit: I want to also include what @timcliff said, that it might be OK to say "we don't know yet".
Update After Livestream: I believe my question was answered. In a nutshell, it sounds like a pitchfork is off the table in favor of expanding RocksDB. This is great news. And it makes a lot of sense from a scalability perspective.
So will we lose all our posts and other things in the event of this happening? Steemmonsters has relied on coustom jsons and will those be lost too?
No. The state of the chain will be the same, just the blockchain will restart at block #1, with a huge genesis block. (Or a huge block right after genesis)
Isn't the goal of restarting to reduce the size back down to zero(at least thats what I got from reading @ned's last post. But wouldn't that just cause all the data to go right back in there and cause the chain size to go right back up?
Your balance is below $0.3. Your account is running low and should be replenished. You have roughly 10 more @dustsweeper votes. Check out the Dustsweeper FAQ here: https://steemit.com/dustsweeper/@dustsweeper/dustsweeper-faq
That would depend on how it's implemented. If the goal of the pitchfork is to drop a single field, or change the characteristics of a field you'd have to use a pitchfork, but then everything else comes over.
On the other hand, maybe you wanted to remove all of the posts from the blockchain and use some other storage strategy.
It depends entirely on the problem you're trying to solve.
In the case of an app like Steem Monsters, it would be pretty "easy" (though non-trivial) for them to just transition to the pitchforked chain by deriving the data from original chain, and not rely on the custom_json migration to make the transition for them.
Dropping content by certain types of accounts could be a smart move to reduce the overall size of the chain. 40k account farms do add up.
If something like this were to happen, I hope we'd get a few weeks ahead of hearing about this decision. I'd like to save my posts done in here, if this isn't the valid place to store them anymore. :S
the posts are not going anywhere. They are stored on the blockchain. There a decentralized copies of that. You also could download markdown versions of every of your posts with this https://steemit.com/steemdev/@holger80/store-all-posts-from-an-author-in-markdown-files script