Oddbean new post about | logout
 Long-form events already have a different event id when they get “replaced” (edited). Should be as easy as making sure the relay keeps all copies and doing a git diff on the content.  
 That can add up to a lot of different events, tho. Would probably be something good for a dedicated Layer2 version history relay, rather than a general function of relays. 
 The more I the I think about storage and referencing back to previous edits I wonder if editable nostr events should require the previous event id as part of the metadata. This is akin to how git works and is also similar to the way SSB (which nostr is based on) chains events together. Forks in SSB were always problematic because the user timeline relied on having a single chain of events, but there is still no reason we can’t use this simple mechanism to track a chain of events for version history of editable nostr events. 

Then there would be a protocol native method to establish the order of versions, which would make everything you’re trying to do easier (I think)