You are viewing a single comment's thread from:

RE: Steem 19.10 Officially Released: AppBase, RocksDB, Unlimited Content Editing, and More!

in #steem6 years ago

Wait, wouldn't "unlimited editing" be kinda, like, un-block-chain-ey? Or is there some other clever implementation details I don't know about that make it not be like that?

The whole premise of a blockchain being that it should be append-only and write-only. There are probably ways to allow unlimited edits and follow that, but I don't see how that works yet.

Anyone who has more technical details they could share?

Sort:  

On a really basic level, when you edit now, you're actually "authoring" the post again — that is, making a new transaction to the chain. If you take a look at your history with something like Steemd, you'll see each time you edit a post it is logged in the chain in a different block. In this way, it doesn't really much matter how many times you edit, as each time you do it is kept in the blockchain ledger permanently.

That seems pretty sensible to me, thanks!

Thanks for dumbing that down. Now I can understand :-)

Sounds like it will be pretty weighty on the db, except the previous transaction is deleted (to avoid redundancy) and mapped on to the new block. The exception means details of old transaction will have to be watched for consistency and relationship with the new post (to avoid crazy hacks, eg someone getting an unfair reward or bugs like losing rewards or unfair reward distribution).

Well, I'm only thinking my stupidity out loud, I know the Steem engineers have it all in control (hopefully).

I was just breaking down how the process worked clearly, for explanation's sake. To do the same with these concerns in a way that will hopefully help:

Bloat is real. Multiple edit transactions can certainly add up. So do the thousands of tiny transfers with memos, or ten times a day auto-posting of 'different' content... to the blockchain, ten edits to an old post and ten similar length new posts look basically the same. This is where we need to be cognizant of how we're using the chain and the outcome of our actions — that's the user end of the scaling!

Since each edit is considered authoring, it's important to note that bandwidth restrictions and resource credits come into play. For example, when bandwidth was strained earlier this year, people would edit and then not be able to post again for the day. They were not realizing that their bandwidth was re-balancing as if they had posted multiple blogs... many people don't understand that each edit is an authored post and then run into trouble with their resource allocation. This does show that the chain has some considerations for this situation. You can find out more in a previous blog, here: https://steemit.com/bandwidth/@steemitblog/blockchain-update-2-hf20-progress-and-bandwidth-changes

Don't do it too often though, it will lead to bloat :(

My point exactly! The platform is only scaling for the first time.

Best. Explanation. Ever.

I think the old versions of all posts are still stored, you just won't see them on the published view.