Hi all, after a few days of rich discourse around immutability of metadata and collection security there are a couple of questions when it comes to the BGAN provenance that I'd like to outline here and then vote on. This proposal will run until the end of the month.
What is provenance? Provenance is "the place of origin or earliest known history of something."
On the BGANPUNKSV2 contract, there is a provenance string that can be set by the contract owner (Berk). One question we have to answer is what this string represents about the BGANPUNKV2 tokens. The point of this string is to serve as a proof that the relationship of the tokens to their metadata remains unchanged over time. The idea is that at any point in time, anyone can check the provenance string on the contract and compare it to the collections metadata to see if they match. If they match, then nothing has been tampered with, if they don't match then something is off. This is used to protect against malicious activities like swapping which image is associated with each token for example, all at the contract level.
Background In our case, we face some unique questions because our metadata traits are community sourced, community maintained, and highly fluid, consistently changing based on proposals that are aimed to improve classifications by fixing inaccuracies and because classification theory continuously evolves at the community level. This means that "proving the metadata remains unchanged over time" is not currently applicable to most of the metadata traits being served per token, so the idea only really applies to the small subset of metadata provided by Berk. That's to say that traits besides Berk’s OG traits are subject to change until all traits are locked and a trait finalization vote is passed by the community.
Our complex system for handling classification was developed as a response to how open to interpretation each bgan is. The more you look at bgans, the more explanations you can come up with for what you are seeing. We continue to get questions daily in the discord about what is going on with certain bgans, sometimes people have ideas, other times they don’t, but as with other sciences, the theories seem to perpetually build upon themselves. So our efforts to define what we are seeing by building out and refining definitions for categories is a form of bastard gan science, a bastard gan taxonomy, and in my view this process is just like any other science, a process for improving understand that never actually arrives at a "final state." The point of classification has always been about making sorting and filtering the art easier. The question we face in regards to provenance is whether or not to label these highly imperfect, and subjective filters into "truths" about the art at some point in time by referencing them in the collection provenance.
Provenance Options
Option 1. We set the provenance to the original metadata that Berk included with the collection. This means the image, bastardness, hype type, lyrics, and token name are the only metadata that become locked as “truths” about the tokens. **
Option 2. We wait to set provenance until all community sourced metadata has been created, assigned, and locked, trait by trait, and finalized by the community as outlined in the trait constitution. At that point, we would set provenance to include both Berk's original metadata alonside the “finalized” community-sourced metadata.
These two options allow us to pursue setting provenance on different timelines, and ultimately define different "truths" for the BGANPUNKV2 tokens. Choosing option 1 means we can move more quickly on provenance and potentially frees us up to lean into the fluidity of interpretations of bgans. Choosing option 2 means we need to lock and finalize all metadata traits that we will ever want before we can set provenance.
**Note: For option 1, Assigning Berk's og metadata to provenance doesn't mean that the DAOs metadata goes away, it just means it wouldn't be included in the provenance of the tokens. The tokenURI function in the contract that delivers the full metadata object per tokenID when called can continue to serve Berk's original metadata in combination with the DAOs fluid metadata regardless of provenance, just like it currently does, but without provenance, it should not be considered immutably true.
Looking forward to the discussion on this. Feel free to ping me in discord if you have any questions.