Skip to content

Commit 780cbe1

Browse files
Merge pull request #15 from pubky/chore/broken-links
chore: fix broken links
2 parents 4a016a6 + cb24e44 commit 780cbe1

37 files changed

+160
-210
lines changed

.obsidian/workspace.json

+48-63
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,20 @@
44
"type": "split",
55
"children": [
66
{
7-
"id": "096ff39c8b3a2932",
7+
"id": "11883abd2160efc0",
88
"type": "tabs",
99
"children": [
1010
{
11-
"id": "8fd5812ca70f0ab7",
11+
"id": "2714f48edb8555ee",
1212
"type": "leaf",
1313
"state": {
14-
"type": "markdown",
14+
"type": "image",
1515
"state": {
16-
"file": "App Architectures/2. Client - Homeserver.md",
17-
"mode": "source",
18-
"source": false
19-
}
20-
}
21-
},
22-
{
23-
"id": "eaab76dfc5b558e5",
24-
"type": "leaf",
25-
"state": {
26-
"type": "markdown",
27-
"state": {
28-
"file": "App Architectures/4. Custom Backend.md",
29-
"mode": "source",
30-
"source": false
16+
"file": "images/pubky-arch.png"
3117
}
3218
}
3319
}
34-
],
35-
"currentTab": 1
20+
]
3621
}
3722
],
3823
"direction": "vertical"
@@ -61,7 +46,7 @@
6146
"state": {
6247
"type": "search",
6348
"state": {
64-
"query": "",
49+
"query": "pkarr",
6550
"matchingCase": false,
6651
"explainSearch": false,
6752
"collapseAll": false,
@@ -98,7 +83,7 @@
9883
"state": {
9984
"type": "backlink",
10085
"state": {
101-
"file": "App Architectures/4. Custom Backend.md",
86+
"file": "images/pubky-arch.png",
10287
"collapseAll": false,
10388
"extraContext": false,
10489
"sortOrder": "alphabetical",
@@ -115,7 +100,7 @@
115100
"state": {
116101
"type": "outgoing-link",
117102
"state": {
118-
"file": "App Architectures/4. Custom Backend.md",
103+
"file": "images/pubky-arch.png",
119104
"linksCollapsed": false,
120105
"unlinkedCollapsed": true
121106
}
@@ -138,7 +123,7 @@
138123
"state": {
139124
"type": "outline",
140125
"state": {
141-
"file": "App Architectures/4. Custom Backend.md"
126+
"file": "images/pubky-arch.png"
142127
}
143128
}
144129
}
@@ -160,53 +145,53 @@
160145
"hide-folders:Show hidden folders": false
161146
}
162147
},
163-
"active": "eaab76dfc5b558e5",
148+
"active": "75a1317f66991245",
164149
"lastOpenFiles": [
150+
"images/pubky-core.png_original",
151+
"images/pubky-core.png_exiftool_tmp",
152+
"images/pubky-backend.png_exiftool_tmp",
153+
"images/pubky-arch.png_original",
154+
"images/pubky-arch.png_exiftool_tmp",
155+
"images/pubky-app.png_exiftool_tmp",
156+
"images/pubky-header.png",
157+
"images/pubky-core.png",
158+
"images/pubky-backend.png",
159+
"images/pubky-arch.png",
160+
"images/pubky-app.png",
161+
"images/client-homeserver.png",
162+
"Technologies/DNS.md",
163+
"Concepts/Credible Exit.md",
164+
"The vision of Pubky.md",
165165
"Pubky App/Introduction.md",
166-
"App Architectures/4. Custom Backend.md",
167166
"Pubky Core/Introduction.md",
168-
"App Architectures/1. Introduction.md",
169-
"Pubky Applications.md",
170-
"App Architectures/5. Complex - Custom Aggregator.md",
171-
"App Architectures/2. Client - Homeserver.md",
172-
"App Architectures/3. Global Aggregators.md",
173-
"Pubky Core.md",
174-
"images/complex_custom_aggregator.png",
175-
"images/global_aggregator.png",
176-
"images/global-aggregator.png",
177-
"images/custom_backend.png",
178-
"images/client-homeserver.png",
179-
"images/custom-backend.png",
180-
"readme.md",
181167
"index.md",
182-
"ELI5.md",
183-
"Technologies/Paykit.md",
184-
"Technologies/Mainline DHT.md",
185-
"Technologies/Key Pair.md",
186-
"Technologies/HTTPS.md",
168+
"Pubky Core/Homeservers.md",
169+
"Pubky Core/Pkarr/ELI5.md",
187170
"Technologies/DoH.md",
188-
"Technologies/DNS.md",
189-
"Technologies/DHT.md",
190-
"Pubky Core/Data Stores.md",
191171
"Pubky Core/Pkarr/4.Architecture.md",
192172
"Pubky Core/Pkarr/3.Expectations.md",
193-
"Pubky Core/Pkarr/2.Getting Started with Pkarr.md",
194-
"Pubky Core/Pkarr/1.Why Pkarr?.md",
173+
"Pubky Core/Pkarr/1.Why PKARR?.md",
174+
"Pubky Core/Pkarr/2.Getting Started with PKARR.md",
195175
"Pubky Core/Pkarr/0.Introduction.md",
196-
"Pubky Core/notes/3.Protocols.md",
197-
"images/obsidian.png",
198176
"quartz/public/404.html",
199-
"quartz/public/static/og-image.png",
200-
"quartz/public/static/icon.png",
201-
"quartz/public/static/contentIndex.json",
202-
"quartz/public/static",
203-
"quartz/public/index.xml",
204-
"quartz/public/sitemap.xml",
205-
"quartz/public/tags/index.html",
206-
"quartz/public/tags",
207-
"quartz/public/index.html",
208-
"quartz/public/Technologies/index.html",
209-
"quartz/public/Technologies/Paykit.html",
210-
"quartz/public/quartz/quartz/static/og-image.png"
177+
"quartz/public/quartz/quartz/plugins/transformers/toc.ts",
178+
"quartz/public/quartz/quartz/plugins/transformers/syntax.ts",
179+
"quartz/public/quartz/quartz/plugins/transformers/oxhugofm.ts",
180+
"quartz/public/quartz/quartz/plugins/transformers/ofm.ts",
181+
"quartz/public/quartz/quartz/static/og-image.png",
182+
"quartz/public/quartz/quartz/static/icon.png",
183+
"quartz/public/images/mermaid_charts/semantic_social_graph.svg",
184+
"quartz/public/images/pubky-header.png",
185+
"Pubky Core/ELI5.md",
186+
"Technologies/DHT.md",
187+
"Pubky App/Backend/Introduction.md",
188+
"Pubky App/Client/Introduction.md",
189+
"Pubky App/Backend/Web Server.md",
190+
"Pubky App/Backend/Indexer.md",
191+
"Pubky App/Backend/Aggregator.md",
192+
"Pubky App/App Architectures/4. Custom Backend.md",
193+
"Pubky App/App Architectures/3. Global Aggregators.md",
194+
"Pubky App/App Architectures/2. Client - Homeserver.md",
195+
"Pubky App/App Architectures/1. Introduction.md"
211196
]
212197
}

Concepts/Censorship.md

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
2-
## Censorship
3-
41
**Censorship** is the suppression or control of speech, communication, or information by a governing body or authority, often resulting in a lack of free expression and limited user autonomy.
52

63
Imagine you’ve been using a social platform to share your thoughts and connect with others. One day, you notice that your posts are disappearing or are no longer visible to your friends. Your reach is being reduced, and your voice is being silenced. This is an example of **censorship** at play—when someone else decides what you can and cannot say online, and what others can and cannot see.
@@ -17,7 +14,7 @@ However, this doesn't mean we should accept censorship without a solution. Inste
1714

1815
In **Pubky**, the approach is not to eliminate censorship entirely—because some level of censorship will always exist where there are centralized components—but rather to provide users with a way to **circumvent** it when it happens.
1916

20-
- **Flexible Hosting**: Pubky provides a flexible hosting model using trusted servers known as **Homeservers**. While these servers may be subject to censorship, Pubky ensures that users have the ability to migrate away from a censoring server whenever needed. Users can move their data, identities, and connections seamlessly, meaning they retain control even in the face of censorship.
17+
- **Flexible Hosting**: Pubky provides a flexible hosting model using trusted servers known as [[Homeservers|homeservers]]. While these servers may be subject to censorship, Pubky ensures that users have the ability to migrate away from a censoring server whenever needed. Users can move their data, identities, and connections seamlessly, meaning they retain control even in the face of censorship.
2118

2219
- **Decentralized Identity**: In Pubky, user identities are not dependent on any single server. By using **self-issued public keys**, users maintain their identity even if they change hosting providers. This prevents identity loss when moving away from a server that engages in censorship.
2320

@@ -26,13 +23,13 @@ In **Pubky**, the approach is not to eliminate censorship entirely—because som
2623
## Important Aspects of Censorship Resistance
2724

2825
- **Data Control**: Users should always have access to and control over their data, even if one hosting provider chooses to censor it. Pubky’s approach empowers users by ensuring they are not dependent on any one server.
29-
- **Migration and Interoperability**: The ability to migrate data, identities, and connections between different homeservers helps users remain resilient against censorship. Interoperable systems mean that even if one provider blocks content, another can provide access.
26+
- **Migration and Interoperability**: The ability to migrate data, identities, and connections between different [[Homeservers|homeservers]] helps users remain resilient against censorship. Interoperable systems mean that even if one provider blocks content, another can provide access.
3027
- **Local Copies and Self-Hosting**: Users can keep local copies of their data, and Pubky encourages self-hosting, giving users more control over what happens to their information and ensuring their content is not subjected to centralized oversight.
3128

3229
## Challenges and Considerations
3330

3431
- **Legal Compliance**: Censorship is often tied to legal requirements that hosting providers must comply with. Even decentralized systems will face challenges related to legal jurisdictions, and Pubky is designed to navigate but not entirely eliminate these legal issues.
3532
- **Content Moderation**: Some forms of moderation are necessary—whether it's to filter out spam or harmful content. Pubky facilitates **user-controlled moderation**, where individuals or groups decide what they want to see, rather than a centralized authority imposing a one-size-fits-all policy.
36-
- **Redundancy Limitations**: While Pubky's redundancy and migration features provide resilience, they depend on the presence of multiple homeserver options. During the early phases, users may face limited availability of alternative servers.
33+
- **Redundancy Limitations**: While Pubky's redundancy and migration features provide resilience, they depend on the presence of multiple [[Homeservers|homeservers]] options. During the early phases, users may face limited availability of alternative servers.
3734

3835
Censorship on the web is inevitable, but that doesn't mean users have to be powerless. With Pubky, you have the ability to choose your hosting, migrate your data, and maintain your identity—all key tools for resisting censorship. Pubky's design assumes censorship will happen and provides the mechanisms needed to overcome it. This empowers users with true control, ensuring that no single entity can unilaterally suppress their voice. The future of the web lies in resilient, user-first systems that put individuals back in control of their online presence.

Concepts/Credible Exit.md

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
2-
## Credible Exit
3-
41
**Credible Exit** is the ability to leave a platform or service without losing access to your data, identity, or connections, ensuring full user control and portability.
52

63
This [substack post](https://subconscious.substack.com/p/credible-exit) by Gordon Brander is a good introduction to the topic.
@@ -15,7 +12,7 @@ Today, most platforms hold your data hostage. They make it difficult to leave, a
1512

1613
Here are some of the best examples of Credible Exit in practice:
1714

18-
- **Domain Name System (DNS)**: DNS is a classic example of a system that allows for a credible exit. If you no longer want your domain hosted with one provider, you can transfer it to another without losing control over your domain name.
15+
- **Domain Name System (DNS)**: [[DNS]] is a classic example of a system that allows for a credible exit. If you no longer want your domain hosted with one provider, you can transfer it to another without losing control over your domain name.
1916
- **Email Protocols (IMAP/SMTP)**: Email is another example. Users can change email providers while keeping the same email address, ensuring they don't lose their communication history or contacts.
2017
- **Bitcoin Wallets**: Bitcoin wallets offer credible exit by allowing users to export private keys and import them into another wallet provider, retaining full control over their funds and transactions.
2118

@@ -31,7 +28,7 @@ In **Pubky**, Credible Exit is not just an idea—it's built into the architectu
3128

3229
- **Data Portability**: Pubky’s design ensures that all of your data can be easily exported and imported between servers. This keeps your content intact and visible, regardless of where it’s hosted.
3330

34-
(NOTE: During Pubky's initial bootstrapping phase, credible exit may not be practically possible until more homeserver providers join. Synonym is building tools to make it easy for businesses and users to self-host.)
31+
> _NOTE_: During Pubky's initial bootstrapping phase, credible exit may not be practically possible until more homeserver providers join. [Synonym](https://synonym.to/) is building tools to make it easy for businesses and users to self-host.
3532
3633
## Important Aspects of Credible Exit
3734

Concepts/Semantic Social Graph.md

+2-43
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
## Semantic Social Graph
2-
31
A **Semantic Social Graph** represents relationships between users, content, and interactions, enriched with contextual meaning that enables better filtering, discovery, and coordination.
42

53
Imagine being able to not only see what your friends are sharing but also easily find content that matches your interests across a wide network of people you trust.
@@ -24,54 +22,15 @@ In **Pubky**, a decentralized Semantic Social Graph is central to providing a mo
2422

2523
This diagram shows how a Semantic Social Graph works, representing users, content, and tags. Users tag content and peers, which adds context and helps determine how information flows through the network. Relationships are weighted (Pubky weighting features are under development), meaning users can specify trust levels and the strength of connections to further personalize their experience.
2624

27-
```mermaid
28-
graph LR
29-
subgraph Users
30-
U1[User A]
31-
U2[User B]
32-
U3[User C]
33-
end
34-
35-
subgraph Data
36-
C1[Post 1]
37-
C2[Post 2]
38-
C3[File 1]
39-
end
40-
41-
subgraph Tags
42-
T1[Tag: Blockchain]
43-
T2[Tag: Decentralization]
44-
T3[Tag: Privacy]
45-
end
46-
47-
%% Users tag content
48-
U1 --|tags with T1|--> C1
49-
U1 --|tags with T2|--> C2
50-
U2 --|tags with T2|--> C3
51-
U3 --|tags with T3|--> C1
52-
53-
%% Users tag peers
54-
U1 --|tags with T2|--> U2
55-
U2 --|tags with T1|--> U3
56-
57-
%% Content linked to tags
58-
C1 --|associated with|--> T1
59-
C1 --|associated with|--> T3
60-
C2 --|associated with|--> T2
61-
C3 --|associated with|--> T2
62-
63-
%% Weighted relationships (represented by edge labels)
64-
U1 --|strong connection|--> U2
65-
U1 --|moderate connection|--> U3
66-
```
25+
![Semantic Social graph](../images/mermaid_charts/semantic_social_graph.svg)
6726

6827
**Tags and Contextual Meaning**: Pubky allows users to add tags to content and connections, giving them the ability to add context to their relationships. This means users can easily categorize and prioritize content based on what matters to them most.
6928

7029
- **Web of Trust**: The concept of **Web of Trust** is foundational to the Semantic Social Graph. Users can assign contextual trust to their connections, allowing for a more nuanced approach to content discovery and filtering. Instead of seeing content from strangers or questionable sources, users can prioritize info from people they trust.
7130

7231
- **Decentralized Indexing**: Pubky provides a decentralized approach to indexing, meaning that users aren't reliant on a single entity to determine the importance or visibility of content. Users have the power to decide what they want to see and how they want their views into the social graph to evolve.
7332

74-
(NOTE: During the initial bootstrapping phase of Pubky, the Semantic Social Graph may be limited in decentralization until more builders adopt the system. Synonym is actively developing tools to make it easier to run a Pubky homeserver, or self-host.)
33+
> _NOTE_: During the initial bootstrapping phase of Pubky, the Semantic Social Graph may be limited in decentralization until more builders adopt the system. Synonym is actively developing tools to make it easier to run a Pubky [[Homeservers|homeserver]], or self-host.
7534
7635
## Web of Trust
7736

Concepts/Semantic Social Graphs.md Concepts/What Is a Decentralized Semantic Social Graph?.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
### What Is a Decentralized Semantic Social Graph?
21

3-
https://www.mermaidchart.com/raw/04ba45a5-6559-45fd-861c-f5d3ac878a91?theme=light&version=v0.1&format=svg
2+
![Semantic Social graph](../images/mermaid_charts/semantic_social_graph.svg)
43

54
**Semantic Relationships:** Connections between users and content are tagged with meaningful metadata, capturing the context, relevance, and nature of each relationship.
65
**Weighted Connections:** Relationships aren't just binary; they carry weights that represent their strength, trust level, or relevance, enabling more sophisticated interactions.

Pubky App/App Architectures/1. Introduction.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
Leveraging the [[Pubky Core/Introduction|Pubky Core]] protocol as the foundational layer, we can envision a diverse array of applications with distinct functionalities. While each app can implement its own unique design patterns and user interfaces, they all share a common underlying architecture: interacting with the distributed data stores, colloquially referred to as [[Data Stores |home servers]], through standardized read and write operations.
1+
Leveraging the [[Pubky Core/Introduction|Pubky Core]] protocol as the foundational layer, we can envision a diverse array of applications with distinct functionalities. While each app can implement its own unique design patterns and user interfaces, they all share a common underlying architecture: interacting with the distributed data stores, colloquially referred to as [[Homeservers|homeservers]], through standardized read and write operations.
22

33
The [[Pubky Core/Introduction|Pubky Core protocol]] enables a decentralized approach to data management, facilitating seamless communication between clients and their respective data stores. This architecture promotes data sovereignty and enhances system resilience.
44

5-
Below, we present several high-level designs that showcase the versatility of this architecture, from simple client (browser) apps that interact directly with one or several homeservers to more complex applications with custom aggregators and backends capable of powerful inference:
5+
Below, we present several high-level designs that showcase the versatility of this architecture, from simple client (browser) apps that interact directly with one or several [[Homeservers|homeservers]] to more complex applications with custom aggregators and backends capable of powerful inference:
66

77
- [[2. Client - Homeserver|Client-Homeserver]]
88
- [[4. Custom Backend|Custom backend]]

0 commit comments

Comments
 (0)