Skip to content

Commit

Permalink
Update digital-space.md
Browse files Browse the repository at this point in the history
  • Loading branch information
sergey-shandar authored Jan 30, 2025
1 parent 1491036 commit 939ba55
Showing 1 changed file with 23 additions and 23 deletions.
46 changes: 23 additions & 23 deletions notes/dweb/digital-space.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Digital Space. How it should be Done

We live in the digital epoch, but we keep our data on centralized services, with vendor lock-ins and constant policy changes, where your data (including your contacts) can disappear at any time because of these changes. There are a lot of initiatives and promises to change the situation, such as [Fediverse](https://en.wikipedia.org/wiki/Fediverse), [Nostr](https://en.wikipedia.org/wiki/Nostr), [Bluesky](https://en.wikipedia.org/wiki/Bluesky), and various blockchain-based social networks. But how can we be sure that one of the new technologies is really different and gives users digital rights and freedom?
We live in the digital epoch, but we keep our data on centralized services, with vendor lock-ins and constant policy changes, where your data (including your contacts) can disappear at any time because of these services. There are a lot of initiatives and promises to change this, such as [Fediverse](https://en.wikipedia.org/wiki/Fediverse), [Nostr](https://en.wikipedia.org/wiki/Nostr), [Bluesky](https://en.wikipedia.org/wiki/Bluesky), and various other blockchain-based social networks. But how can we be sure that one of the new technologies is truly different while giving users digital rights and freedom?

In this article, I formulated what kind of digital rights we can expect from new services and what technical properties the services should have to support these rights. This article is not limited to social networks but is about our complete presence in the digital world, interaction with others, trust, and handling and retaining data.
In this article, I formulated what kind of digital rights we can expect from new services and what technical properties the services should have to support these rights. This article is not limited to social networks but is about our complete presence in the digital world, interaction with others, trust, and how we handle our data.

## 1. Permanent Links

Users should be able to reference data using universal links that uniquely and permanently identify it. Once we have such a link, it should always reference the original data.
Users should be able to reference data using universal links. These links reference the data.

**Solution:** The system should support [cryptographic hash functions](https://en.wikipedia.org/wiki/Cryptographic_hash_function) as a reference to data.

Expand All @@ -21,20 +21,20 @@ Users should be able to keep and synchronize their data on personal devices.
Additional points for:

- If the storage can be synchronized with other services, then there is no need to manually synchronize our data by copying and pasting the same data across different services. This should significantly reduce the fragmentation of our digital presence.
- If the storage is a generic Content Addressable Storage. This means it can contain data from different systems. For example, [Git](https://en.wikipedia.org/wiki/Git) is not generic content-addressable storage. [BlockSet](https://github.com/datablockset/blockset) is a generic CAS.
- conflict-less protocol-agnostic CAS synchronization. For example, while Git supports multiple protocols, Git synchronization is not conflict-less. This is important when we are trying to synchronize massive storage offline or with limited network access.
If the storage is a generic Content Addressable Storage (CAS), it can contain data from different systems. For example, [Git](https://en.wikipedia.org/wiki/Git) is not a generic content-addressable storage. [BlockSet](https://github.com/datablockset/blockset) is a generic CAS.
- Conflictless protocol-agnostic CAS synchronization. For example, while Git supports multiple protocols, Git synchronization is not conflict-less. Conflictless CAS synchronization is important to maintain when synchronizing massive storage offline or with limited network access.

## 3. Decentralized Identity

Users should be able to create and use only a few identities that don't depend on centralized services.
Users should be able to create and use identities that don't depend on centralized services.

**Solution:** [Decentralized Identifier](https://en.wikipedia.org/wiki/Decentralized_identifier).

Additional Points for:
Additional points for:

- The same DID can be used for different services.
- Support for multiple DID algorithms.
- Service recognizes associated decentralized and centralized identities.
- If the same DID can be used for different services.
- If a service supports multiple DID algorithms.
- If a service Service recognizes associated decentralized and centralized identities.

## 4. Content Authorship

Expand All @@ -44,41 +44,41 @@ Users should be able to confirm the authorship of their content.

Additional points for:

- Support for multiple digital signature algorithms.
- Support for additional meta information for content such as licensing.
- Support for multiple trusted time-stamp authorities.
- Support for decentralized trusted time-stamps, such as blockchain with a consensus algorithm.
- Supporting multiple digital signature algorithms.
- Supporting additional meta information for content such as licensing.
- Supporting multiple trusted time-stamp authorities.
- Supporting decentralized trusted time-stamps, such as blockchain with a consensus algorithm.

Signed and timestamp data is immutable and called a source of truth. Any data generated from the source of truth is called derived data and can be mutated and used for search optimization and other purposes.
Signed and timestamped data is immutable and called a source of truth. Any data generated from the source of truth is called derived data and can be mutated and used for search optimization and other purposes.

## 5. Right to Name and Define

Users should have the right to name things without a centralized or decentralized authority.

**Solution:** Relative names. Everyone can have their own dictionary. Everyone is the center of the Universe.
**Solution:** Relative names. Everyone can have their own dictionary. Everyone is the center of their own Universe.

Additional points are deserved if a user can use dictionaries of others to form complex names, similar to a file path, such as `Alice/Bob/Charlie/CharlieProject`.

## 6. Right to Ignore

Users should have the right to ignore information from untrusted sources and not interact with them.

**Solution:** trusted connections. For example, a user may opt-in to receive information from their 2nd or 3rd circle of connections.
**Solution:** trusted connections. For example, users may opt-in to receive information only from their 2nd or 3rd circle of connections.

Additional Points for

- Support for relative/subjective weight ratings for different topics. We are all different, so a user may trust a doctor for medical recommendations but not so much in stock market topics.
- Supporting relative/subjective weight ratings for different topics. We are all different, so a user may trust a doctor for medical recommendations but not so much in stock market topics.

By solving the problem, we can effectively fight spam, misinformation, and deepfakes. It will also allow us to build and participate in multiple digital communities with trusted connections and interactions.

## 7. Deterministic Data Transformation

Users can authorize code and applications to deterministically transform data from the source of truth. This means that every time we run the same code on the same data, we must receive the same result.
Users can authorize code and applications to deterministically transform data from the source of truth. This means that we must receive the same result every time we run the same code on the same data.

**Solution:** Content-addressable programming Languages, such as [Unison](https://www.unison-lang.org/) and [FunctionalScript](https://github.com/functionalscript/functionalscript). Purely functional programming languages can also be used, but content-addressable programming languages are much better suited for the role.
**Solution:** Content-addressable programming Languages, such as [Unison](https://www.unison-lang.org/) and [FunctionalScript](https://github.com/functionalscript/functionalscript). Purely functional programming languages can also be used, but content-addressable programming languages are preferred.

This operation can produce conditionally signed data by transforming old signed, timestamped data into new formats for future-proofing.
This operation can produce conditionally signed data by transforming old signed timestamped data into new formats for future-proofing.

notes:
Notes:
- examples of what if we don't have it
- it's not about DWeb or even about Web3 as we know it. it's a about a generic digital spaces that can split and merge.
- it's not about DWeb or even Web3 as we know it; It's about generic digital spaces that can split and merge.

0 comments on commit 939ba55

Please sign in to comment.