# What if data disappears?

**URL:** <https://discourse.sourcecred.io/t/what-if-data-disappears/276>\
**Category:** Research\
**Created:** [October 7, 2019, 12:26am UTC](https://discourse.sourcecred.io/t/what-if-data-disappears/276 "2019-10-07T00:26:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![burrrata](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/burrrata/32/135_2.png) [@burrrata](https://discourse.sourcecred.io/u/burrrata)\
**Post date:** [October 7, 2019, 12:26am UTC](https://discourse.sourcecred.io/t/what-if-data-disappears/276/1 "2019-10-07T00:26:07Z")

</div>

> [@Grain: a project-specific, cred-powered token](https://discourse.sourcecred.io/t/grain-a-project-specific-cred-powered-token/147/1):
>
> grain is a _proof of support_ for a project.

Was thinking how this is cool as “Proof of Contribution” vs “Proof of Work” in Bitcoin. Then it dawned on me… what if the data that your cred is based on disappears?

What if a repo is deleted or a Discourse forum shut down in favor of something else like Keybase or Discord? Or more trivially, what if someone deletes a post that is the anchor for a high value thread? What if a core user just deletes their profile, and with it, all their data and posts? Would that change the underlying data and thus make SourceCred retroactively adjust the Cred of everyone who interacted with the data (user or post) that is now gone?

---

<div class="post-metadata">

**Author:** ![decentralion](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/decentralion/32/7_2.png) [@decentralion](https://discourse.sourcecred.io/u/decentralion)\
**Post date:** [October 7, 2019, 12:41am UTC](https://discourse.sourcecred.io/t/what-if-data-disappears/276/2 "2019-10-07T00:41:39Z")

</div>

[moderation note: I moved this to a new topic]

This is a good question, and one we haven’t addressed yet. Our current design for the [SourceCred instance system](https://discourse.sourcecred.io/t/sourcecred-instance-system/244) is that every SourceCred instance is a Git repository, where every point in the history contains the full cred graph.

If e.g. a Discourse were to go permanently offline, the content would disappear, but we could keep the cred graph (the record of how the content was connected), so it would be possible to retain the cred for those contributions. However, they would stop getting any future cred, since no new links would be possible.

In the future, we might imagine the community making tools to help projects back up (and potentially restore) key pieces of infrastructure. E.g. snapshot all the raw data every month and store it on Filecoin.

---

<div class="post-metadata">

**Author:** ![burrrata](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/burrrata/32/135_2.png) [@burrrata](https://discourse.sourcecred.io/u/burrrata)\
**Post date:** [October 7, 2019, 12:51am UTC](https://discourse.sourcecred.io/t/what-if-data-disappears/276/3 "2019-10-07T00:51:05Z")

</div>

Awesome! That’s great news.

Does this mean that people could fork the SourceCred graph to A/B test new experiments on top of the current data set? Then they could compare that to the original or even create “extensions” or 3rd party experiences/extensions based on the “main game.” If a feature/thing is cool SourceCred would be free to integrate it, but also people can experiment in a way that is opt-in for users and doesn’t disrupt the core SourceCred game. All this is, of course, dependent on the data itself being permanent, verifiable, censorship resistant, and open source. That would be really cool as an evolution of social networks 🙂

---

<div class="post-metadata">

**Author:** ![decentralion](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/decentralion/32/7_2.png) [@decentralion](https://discourse.sourcecred.io/u/decentralion)\
**Post date:** [October 7, 2019, 12:55am UTC](https://discourse.sourcecred.io/t/what-if-data-disappears/276/4 "2019-10-07T00:55:03Z")

</div>

> [@burrrata](#):
>
> Does this mean that people could fork the SourceCred graph to A/B test new experiments on top of the current data set? Then they could compare that to the original or even create “extensions” or 3rd party experiences/extensions based on the “main game.”

Yes. The existing UI already supports tweaking the weights and re-generating. In the near term, I’d like [research notebooks](https://discourse.sourcecred.io/t/cred-analysis-notebooks/267) to allow even more powerful experiments with tweaking the cred.

Also, in the future we’ll support ‘heuristics’ which basically allow adding custom logic that rates or evaluates contributions. And, of course, people can create new plugins that incorporate new data sources.

Going even further afield: we could totally imagine different sub-communities creating their own cred and grain that are based on the shared cred. For example, we could make “documentation Grain” that is exchangeable with Grain in SourceCred, but represents contributions to or support of documentation efforts in particular.

---

<div class="post-metadata">

**Author:** ![burrrata](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/burrrata/32/135_2.png) [@burrrata](https://discourse.sourcecred.io/u/burrrata)\
**Post date:** [October 7, 2019, 12:57am UTC](https://discourse.sourcecred.io/t/what-if-data-disappears/276/5 "2019-10-07T00:57:03Z")

</div>

So cool!

You could even aggregate multiple cred sources (all related to a project, or related to a user across multiple projects) to create a Cred index that is the average of multiple related cred scores

---

<div class="post-metadata">

**Author:** ![decentralion](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sourcecred.io/decentralion/32/7_2.png) [@decentralion](https://discourse.sourcecred.io/u/decentralion)\
**Post date:** [October 7, 2019, 1:01am UTC](https://discourse.sourcecred.io/t/what-if-data-disappears/276/6 "2019-10-07T01:01:02Z")

</div>

If we had documentationGrain, designGrain, implementationGrain, supportGrain, and so forth: then we could have base Grain be some sort of reserve-backed asset that yeah, acts as an index over all of them. And perhaps by changing the the reserve ratios or pricing or something, the project could express needs like: too few people are doing documentation, exchangeability of documentation grain for base grain increases.
