rename pkarr to PKARR

This commit is contained in:
tipogi
2024-10-11 15:19:47 +02:00
parent 33a9213c66
commit cb24e44091
13 changed files with 67 additions and 93 deletions

View File

@@ -4,42 +4,16 @@
"type": "split",
"children": [
{
"id": "bde2716aaeca2c3a",
"id": "11883abd2160efc0",
"type": "tabs",
"children": [
{
"id": "2dc64b1d3735d56d",
"id": "2714f48edb8555ee",
"type": "leaf",
"state": {
"type": "markdown",
"type": "image",
"state": {
"file": "Pubky Core/Pkarr/2.Getting Started with Pkarr.md",
"mode": "source",
"source": false
}
}
},
{
"id": "3593b819d6c78f93",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Concepts/Credible Exit.md",
"mode": "source",
"source": false
}
}
},
{
"id": "f30e9fecad7dbed7",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "Technologies/DNS.md",
"mode": "source",
"source": false
"file": "images/pubky-arch.png"
}
}
}
@@ -72,7 +46,7 @@
"state": {
"type": "search",
"state": {
"query": "WIP",
"query": "pkarr",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
@@ -109,7 +83,7 @@
"state": {
"type": "backlink",
"state": {
"file": "Pubky Core/Pkarr/2.Getting Started with Pkarr.md",
"file": "images/pubky-arch.png",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@@ -126,7 +100,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "Pubky Core/Pkarr/2.Getting Started with Pkarr.md",
"file": "images/pubky-arch.png",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
@@ -149,7 +123,7 @@
"state": {
"type": "outline",
"state": {
"file": "Pubky Core/Pkarr/2.Getting Started with Pkarr.md"
"file": "images/pubky-arch.png"
}
}
}
@@ -171,40 +145,45 @@
"hide-folders:Show hidden folders": false
}
},
"active": "2dc64b1d3735d56d",
"active": "75a1317f66991245",
"lastOpenFiles": [
"quartz/public/static/contentIndex.json",
"quartz/public/static",
"quartz/public/index.xml",
"quartz/public/sitemap.xml",
"quartz/public/tags/segwit.html",
"quartz/public/tags/privacy.html",
"quartz/public/tags/index.html",
"quartz/public/tags/Pubky.html",
"quartz/public/tags",
"quartz/public/readme.html",
"quartz/public/index.html",
"quartz/public/images/mermaid_charts/semantic_social_graph.svg",
"images/pubky-core.png_original",
"images/pubky-core.png_exiftool_tmp",
"images/pubky-backend.png_exiftool_tmp",
"images/pubky-arch.png_original",
"images/pubky-arch.png_exiftool_tmp",
"images/pubky-app.png_exiftool_tmp",
"images/pubky-header.png",
"images/pubky-core.png",
"images/pubky-backend.png",
"images/pubky-arch.png",
"images/pubky-app.png",
"images/client-homeserver.png",
"Technologies/DNS.md",
"Concepts/Credible Exit.md",
"The vision of Pubky.md",
"Pubky App/Introduction.md",
"Pubky Core/Introduction.md",
"index.md",
"Pubky Core/Homeservers.md",
"Pubky Core/Pkarr/ELI5.md",
"Technologies/DoH.md",
"Pubky Core/Pkarr/4.Architecture.md",
"Pubky Core/Pkarr/3.Expectations.md",
"Pubky Core/Pkarr/1.Why PKARR?.md",
"Pubky Core/Pkarr/2.Getting Started with PKARR.md",
"Pubky Core/Pkarr/0.Introduction.md",
"quartz/public/404.html",
"quartz/public/quartz/quartz/plugins/transformers/toc.ts",
"quartz/public/quartz/quartz/plugins/transformers/syntax.ts",
"quartz/public/quartz/quartz/plugins/transformers/oxhugofm.ts",
"quartz/public/quartz/quartz/plugins/transformers/ofm.ts",
"quartz/public/quartz/quartz/static/og-image.png",
"quartz/public/quartz/quartz/static/icon.png",
"quartz/public/images/quartz.png",
"quartz/public/images/mermaid_charts/semantic_social_graph.svg",
"quartz/public/images/pubky-header.png",
"quartz/public/images/pubky-core.png",
"quartz/public/images/pubky-backend.png",
"quartz/public/images/pubky-arch.png",
"quartz/public/images/pubky-app.png",
"quartz/public/images/obsidian.png",
"Pubky Core/Pkarr/1.Why Pkarr?.md",
"Pubky Core/Pkarr/0.Introduction.md",
"Pubky Core/ELI5.md",
"Pubky Core/Homeservers.md",
"Pubky Core/Introduction.md",
"Technologies/DoH.md",
"Technologies/DNS.md",
"Technologies/DHT.md",
"Pubky Core/Pkarr/2.Getting Started with Pkarr.md",
"Concepts/Credible Exit.md",
"Pubky App/Introduction.md",
"Pubky App/Backend/Introduction.md",
"Pubky App/Client/Introduction.md",
"Pubky App/Backend/Web Server.md",
@@ -213,11 +192,6 @@
"Pubky App/App Architectures/4. Custom Backend.md",
"Pubky App/App Architectures/3. Global Aggregators.md",
"Pubky App/App Architectures/2. Client - Homeserver.md",
"Pubky App/App Architectures/1. Introduction.md",
"Concepts/What Is a Decentralized Semantic Social Graph?.md",
"Concepts/Semantic Social Graph.md",
"readme.md",
"Concepts/Censorship.md",
"Technologies/Paykit.md"
"Pubky App/App Architectures/1. Introduction.md"
]
}

View File

@@ -32,5 +32,5 @@ It is the part of the Pubky App that you interact with directly. It's responsibl
The early versions of Pubky app take some shortcuts over the [[Pubky Core/Introduction|Pubky Core]] design. The MVP app is centralized, therefore we saved time and complexity by aggregating functionality into fewer components. The main two components are the `Homeserver` and the `Indexer`
- The [[Homeservers|homeservers]] fulfils the function of `data stores`, republishing users keys to [[0.Introduction|Pkarr]] and it acts also as an identity-provider (Oauth-like sign-in). Users maintain a trust relationship with the homeserver.
- The [[Homeservers|homeservers]] fulfils the function of `data stores`, republishing users keys to [[0.Introduction|PKARR]] and it acts also as an identity-provider (Oauth-like sign-in). Users maintain a trust relationship with the homeserver.
- The `Indexer` fulfils the function of the [[Pubky App/Backend/Introduction|backend]] for the Pubky App.

View File

@@ -1,6 +1,6 @@
The Pubky network allows multiple, independent data stores, known as "homeservers." This improves [[Censorship|censorship-resistance]] and prevents any single entity from controlling the flow of information, or locking people & data in as a walled garden.
Homeservers are meant to represent a primary place to retrieve data from a specific [[0.Introduction|pkarr]] public key, but the user can redefine the location of their homeserver at will by updating their [[0.Introduction|pkarr]] in [[DHT|mainline DHT]].
Homeservers are meant to represent a primary place to retrieve data from a specific [[0.Introduction|PKARR]] public key, but the user can redefine the location of their homeserver at will by updating their [[0.Introduction|PKARR]] in [[DHT|mainline DHT]].
## Public vs Private Data

View File

@@ -6,7 +6,7 @@ Pubky Core is built on a few core concepts:
- **[[Homeservers|Homeserver]]** - Decentralized data storage nodes that host user data. Data is encrypted at rest.
- **[[0.Introduction|Pkarr]]** - Self-issued public keys that function as sovereign, publicly addressable domains are used to resolve the previous components.
- **[[0.Introduction|PKARR]]** - Self-issued public keys that function as sovereign, publicly addressable domains are used to resolve the previous components.
Pubky Core's distributed architecture aims to provide user autonomy through [[Credible Exit|credible exit]] between interchangeable components.

View File

@@ -1,26 +1,26 @@
## Public-Key Addressable Resource Records
[Pkarr](https://pkarr.org) is a revolutionary system that bridges the gap between the Domain Name System ([[DNS]]) and peer-to-peer overlay networks. It allows self-issued public keys to function as sovereign, publicly addressable domains. This means that anyone with a private key can have a domain that is accessible to everyone.
[PKARR](https://pkarr.org) is a revolutionary system that bridges the gap between the Domain Name System ([[DNS]]) and peer-to-peer overlay networks. It allows self-issued public keys to function as sovereign, publicly addressable domains. This means that anyone with a private key can have a domain that is accessible to everyone.
The core idea is to streamline the process of publishing and resolving resource records for keys, leveraging the Distributed Hash Table ([[DHT]]) for efficient and scalable data distribution.
## Key Features
- **Simplicity**: Pkarr streamlines the integration between [[DNS]] and peer-to-peer networks.
- **Simplicity**: PKARR streamlines the integration between [[DNS]] and peer-to-peer networks.
- **Sovereignty**: Public keys can be used as domains, enabling users to maintain control over their digital identities.
- **Accessibility**: The system is designed to be accessible to anyone capable of maintaining a private key.
- **Scalability and Resilience**: Designed with scalability and resilience in mind, using the [[Mainline DHT]] for storing ephemeral data, and employing caching strategies to minimize [[DHT]] traffic.
- **Compatibility with Existing Applications**: Supports existing applications through [[DNS]] over [[HTTPS]] ([[DoH]]) queries to Pkarr servers, ensuring broad compatibility.
- **Compatibility with Existing Applications**: Supports existing applications through [[DNS]] over [[HTTPS]] ([[DoH]]) queries to PKARR servers, ensuring broad compatibility.
## How It Works
1. **Publishing Records**: To publish resource records for a key, create a small encoded [[DNS]] packet (<= 1000 bytes), sign it, and publish it on the DHT. This can be done directly or through a relay if necessary.
2. **Resolving Records**: To find resources associated with a key, applications can query the [[DHT]] directly or through a relay, verifying the signature themselves.
3. **Fallback for Existing Applications**: Applications unaware of Pkarr can make normal [[DNS]] Queries over [[HTTPS]] (DoH) to Pkarr servers, ensuring accessibility.
4. **Caching and Republishing**: Both clients and Pkarr servers cache records extensively to improve scalability. The [[DHT]] drops records after a few hours, necessitating periodic republishing to keep records alive.
3. **Fallback for Existing Applications**: Applications unaware of PKARR can make normal [[DNS]] Queries over [[HTTPS]] (DoH) to PKARR servers, ensuring accessibility.
4. **Caching and Republishing**: Both clients and PKARR servers cache records extensively to improve scalability. The [[DHT]] drops records after a few hours, necessitating periodic republishing to keep records alive.
For more technical details on Pkarr's architecture and how it works, refer to the [[4.Architecture|architecture]] note.
For more technical details on PKARR's architecture and how it works, refer to the [[4.Architecture|architecture]] note.
## Getting Started
[To start using Pkarr](2.Getting%20Started%20with%20Pkarr.md), you can visit the [web app demo](https://app.pkarr.org) or explore the Rust examples provided in [Pkarr repository](https://github.com/Nuhvi/pkarr/).
[To start using PKARR](2.Getting%20Started%20with%20PKARR.md), you can visit the [web app demo](https://app.pkarr.org) or explore the Rust examples provided in [PKARR repository](https://github.com/Nuhvi/pkarr/).

View File

@@ -1,4 +1,4 @@
This note explores the motivation behind Pkarr, addressing the challenges of distributed semantics, databases, and discovery.
This note explores the motivation behind [[0.Introduction|PKARR]], addressing the challenges of distributed semantics, databases, and discovery.
In pursuit of a sovereign, distributed, and open web, we identify three challenges:

View File

@@ -1,4 +1,4 @@
This guide will help you understand how to publish and resolve resource records using [[0.Introduction|pkarr]].
This guide will help you understand how to publish and resolve resource records using [[0.Introduction|PKARR]].
## Publishing Resource Records
@@ -10,12 +10,12 @@ To resolve some key's resources, applications can query the [[DHT]] directly or
## DNS Queries Over HTTPS
Existing applications unaware of [[0.Introduction|pkarr]] can make normal [[DNS]] Queries over [[HTTPS]] ([[DoH]]) to [[0.Introduction|pkarr]] servers.
Existing applications unaware of [[0.Introduction|PKARR]] can make normal [[DNS]] Queries over [[HTTPS]] ([[DoH]]) to [[0.Introduction|PKARR]] servers.
## Caching and Scalability
Clients and [[0.Introduction|pkarr]] servers cache records extensively to minimize [[DHT]] traffic and improve scalability. The [[DHT]] drops records after a few hours, so it's important to republish records periodically.
Clients and [[0.Introduction|PKARR]] servers cache records extensively to minimize [[DHT]] traffic and improve scalability. The [[DHT]] drops records after a few hours, so it's important to republish records periodically.
## Next Steps
For more technical details on [[0.Introduction|pkarr]]'s architecture and how it works, refer to the [[4.Architecture|architecture]] note.
For more technical details on [[0.Introduction|PKARR]]'s architecture and how it works, refer to the [[4.Architecture|architecture]] note.

View File

@@ -1,12 +1,12 @@
Understanding the expectations and limitations of [[0.Introduction|pkarr]] is crucial for effective use. This note outlines what [[0.Introduction|pkarr]] is not and what users should expect.
Understanding the expectations and limitations of [[0.Introduction|PKARR]] is crucial for effective use. This note outlines what [[0.Introduction|PKARR]] is not and what users should expect.
## Not a Storage Platform
[[0.Introduction|pkarr]] is not a storage platform. Records are ephemeral and need to be refreshed regularly to remain on the DHT.
[[0.Introduction|PKARR]] is not a storage platform. Records are ephemeral and need to be refreshed regularly to remain on the DHT.
## Not a Real-time Communication Medium
[[0.Introduction|pkarr]] is not designed for real-time communication. It is optimized for infrequent updates and heavy caching to reduce traffic.
[[0.Introduction|PKARR]] is not designed for real-time communication. It is optimized for infrequent updates and heavy caching to reduce traffic.
## Rate Limiting and Proof of Work
@@ -18,4 +18,4 @@ Records are heavily cached, and updates might take some time to propagate. In ca
## Next Steps
For a deeper understanding of why [[0.Introduction|pkarr]] was created and its motivation, refer to the [[1.Why Pkarr?|why pkarr?]] note.
For a deeper understanding of why [[0.Introduction|PKARR]] was created and its motivation, refer to the [[1.Why PKARR?|why PKARR?]] note.

View File

@@ -1,4 +1,4 @@
In-depth look at the architecture of [[0.Introduction|pkarr]], including its components and how they interact.
In-depth look at the architecture of [[0.Introduction|PKARR]], including its components and how they interact.
## Components
- **Client**: Applications or users that publish or query resource records.
@@ -14,5 +14,5 @@ In-depth look at the architecture of [[0.Introduction|pkarr]], including its com
## Key Technologies
- **[[Mainline DHT]]**: Pkarr uses the Mainline [[DNS]] as its overlay network, specifically BEP44 for storing ephemeral data.
- **[[DNS]] over [[HTTPS]] ([[DoH]])**: For applications unaware of Pkarr, DoH is used to resolve domains.
- **[[Mainline DHT]]**: PKARR uses the Mainline [[DNS]] as its overlay network, specifically BEP44 for storing ephemeral data.
- **[[DNS]] over [[HTTPS]] ([[DoH]])**: For applications unaware of PKARR, DoH is used to resolve domains.

View File

@@ -1,6 +1,6 @@
# DNS over HTTPS
It is a security protocol that encrypts [[DNS]] queries and responses, enhancing privacy and security by preventing eavesdropping and tampering. In the context of [[0.Introduction|pkarr]], DoH plays a crucial role in ensuring that [[DNS]] queries made to resolve public-key addresses are secure and cannot be intercepted or manipulated by third parties.
It is a security protocol that encrypts [[DNS]] queries and responses, enhancing privacy and security by preventing eavesdropping and tampering. In the context of [[0.Introduction|PKARR]], DoH plays a crucial role in ensuring that [[DNS]] queries made to resolve public-key addresses are secure and cannot be intercepted or manipulated by third parties.
### Key Points about DoH

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 KiB

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 142 KiB

View File

@@ -1,12 +1,12 @@
# Welcome to the Pubky Knowledge Base
This is a knowledge base for the Pubky platform, which includes [[Pubky Core/Introduction|Pubky Core]], [[Pubky Core/Pkarr/0.Introduction|Pkarr]] and [[Pubky App/Introduction|Pubky App]]. These documents are a work in progress, much like Pubky's protocols and applications!
This is a knowledge base for the Pubky platform, which includes [[Pubky Core/Introduction|Pubky Core]], [[Pubky Core/Pkarr/0.Introduction|PKARR]] and [[Pubky App/Introduction|Pubky App]]. These documents are a work in progress, much like Pubky's protocols and applications!
# What is Pubky?
Pubky attempts to unlock the web by realizing our vision for a key-based, self-regulating web that puts users in control.
So far, Pubky does this by combining practical decentralized routing & identity ([[Pubky Core/Pkarr/0.Introduction|Pkarr]]), with simple interoperable hosting ([[Pubky Core/Homeservers|Homeservers]]) that allow for [[Concepts/Censorship|censorship]] resistance and a [[Concepts/Credible Exit|credible exit]], as well as a publishing application, Pubky App, that facilitates the creation of a [[Concepts/Semantic Social Graph|Semantic Social Graph]], which can be used for filtering, discovery, matching and coordination.
So far, Pubky does this by combining practical decentralized routing & identity ([[Pubky Core/Pkarr/0.Introduction|PKARR]]), with simple interoperable hosting ([[Pubky Core/Homeservers|Homeservers]]) that allow for [[Concepts/Censorship|censorship]] resistance and a [[Concepts/Credible Exit|credible exit]], as well as a publishing application, Pubky App, that facilitates the creation of a [[Concepts/Semantic Social Graph|Semantic Social Graph]], which can be used for filtering, discovery, matching and coordination.
Learn more about the overall vision here: [[The vision of Pubky|The Vision of Pubky]]