Events in the Voice protocol
Our society is very used to changeable data. But this is not possible in the blockchain. The data in the block is validated by cryptography and is immutable. But it is possible to extend the protocol with flexible events.
The Voice protocol is used in the Readdle.me social network on VIZ and there is no ability for changing data. If a user wants to hide an entry from his activity feed or edit text, attach files, he simply can't do anything. To solve this problem (according to current user standards, deleting or editing a message is quite a natural order of things), it is necessary to extend the original protocol with an additional one.
Voice Events (Voice Events, VE for short) is an extension of the Voice protocol designed to add modifiers for an existing record. Parameters for execution: the number of the block with the previous event (previous/p), the number of the block in which there is an object (block/b) in the Voice protocol, the action (action/a) over it (d/delete, e/edit) and the data of the change itself (data/d).
Voice Event records are also based on backlink counters, so you need to recreate the chain of actions in the database and apply them as separate sequential changes. Of course, Voice Events should be loaded after the objects themselves are loaded, after which they are processed one after another, modifying the original objects.
Later, i'm plan to implement Event processing in The Free Speech Project, write a specification and add elements in the interface for broadcasting events to the VIZ blockchain.
P.S. Extension example: events may also contain a list of recommendations from other accounts to read.