Hey Louis great questions.
We do get timestamping from the blockchain itself. Each published edit is anchored onchain and has a blockchain based timestamp. Everything else can be derived. We do this in several ways:
System properties - GRC-20 introduces the concept of system properties. These are standardized properties that Indexers should generate triples for. The spec enumerates Created at, Updated at, and Created by as such system properties.
From there it’s up to the Indexer to build up a representation of the version histories. We have two Indexer implementations that are doing this well and we can standardize how we represent versions in the future.
We can absolutely have Git style histories for knowledge. We track versions for spaces as well as for each entity. We have algorithms that work today and future work could make these algorithms more efficient.
With regards to attribution, that is a very interesting ontology question. With most applications, a user performs an action and only that authorship is recorded. Medium did an interesting thing where a post had an Author and a Publication. You could show both the writer and the organization they worked for. I’m interested in this type of metadata. My current proposal is that the Edit has an entity ID and any additional metadata can be added as knowledge in the edit. This puts the ontology into userland.
GRC-20 is purely a standard for serialization. Incentives are an interesting topic. Take a look at Rem’s recent proposal and see how the updated Curator role could be used to incentivize contributing knowledge