pages/garden/decentralized-identity/index.html

61 lines
41 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Decentralized Identity | The Paper Pilot</title>
<meta name="description" content="The Paper Pilot's Digital Garden">
<meta name="generator" content="VitePress v1.2.2">
<link rel="preload stylesheet" href="/assets/style.DE2OHMI3.css" as="style">
<script type="module" src="/assets/app.2CW3rSw8.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.Sr2_9k8k.js">
<link rel="modulepreload" href="/assets/chunks/theme.B2ZVa_Iv.js">
<link rel="modulepreload" href="/assets/chunks/git.data.D-Ga3RhB.js">
<link rel="modulepreload" href="/assets/garden_decentralized-identity_index.md.y4RFh3rh.lean.js">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Itim&amp;family=Roboto+Mono:ital,wght@0,400;0,600;1,400&amp;display=block">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#3a0839">
<link rel="shortcut icon" href="/favicon.ico">
<meta name="msapplication-TileColor" content="#00FFFF">
<meta name="msapplication-config" content="/browserconfig.xml">
<meta name="theme-color" content="#3B4252">
<link rel="alternate" type="text/mf2+html" href="/changelog">
<link rel="alternate" type="application/rss+xml" title="Changelog" href="/changelog/rss">
<link rel="alternate" type="application/atom+xml" title="Changelog" href="/changelog/atom">
<link rel="alternate" type="application/json+xml" title="Changelog" href="/changelog/json">
<link rel="me" href="mailto:thepaperpilot@incremental.social">
<link rel="me" href="https://incremental.social/u/thepaperpilot">
<link rel="me" href="https://matrix.to/#/@thepaperpilot:incremental.social">
<link rel="me" href="https://code.incremental.social/thepaperpilot">
<link rel="me" href="https://www.linkedin.com/in/anthony-lawn/">
<link rel="me" href="https://mastodon.gamedev.place/@thepaperpilot">
<link rel="me" href="https://beehaw.org/u/thepaperpilot">
<link rel="me" href="https://www.reddit.com/user/ThePaperPilot/">
<link rel="me" href="https://github.com/thepaperpilot">
<link rel="me" href="https://twitter.com/ThePaperPilot">
<link rel="authorization_endpoint" href="https://indie.incremental.social/auth">
<link rel="token_endpoint" href="https://indie.incremental.social/auth/token">
<link rel="micropub" href="https://indie.incremental.social/micropub">
<link rel="indieauth-metadata" href="https://indie.incremental.social/.well-known/oauth-authorization-server">
<script data-goatcounter="https://thepaperpilot.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
<meta name="og:title" content="Decentralized Identity">
<meta name="og:description" content="">
<meta name="og:image" content="https://www.thepaperpilot.org/paperpilot_thumb.png">
<meta name="og:site_name" content="The Paper Pilot's Digital Garden">
<meta name="og:type" content="article">
<meta name="article:author" content="https://www.thepaperpilot.org/about">
</head>
<body>
<div id="app"><div class="Layout" data-v-ebc087d8 data-v-5d98c3a5><!--[--><!--[--><!--]--><!----><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>The Paper Pilot</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://moddingtree.com" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Profectus</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://incremental.social" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Incremental Social</span><!--]--></a><!--]--><!--]--></nav><!----><!----><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://code.incremental.social/thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Forgejo</title><path d="M16.7773 0c1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.1175a7.0759 7.0759 0 0 1 4.148-1.4205l.1176-.001 1.3385.0002c.4973-.8827 1.4434-1.4788 2.5288-1.4788 1.6018 0 2.9004 1.2986 2.9004 2.9005s-1.2986 2.9004-2.9004 2.9004c-1.0854 0-2.0315-.596-2.5288-1.4787H12.91c-2.3322 0-4.2272 1.8718-4.2649 4.195l-.0007 2.319c.8827.4973 1.4788 1.4434 1.4788 2.5287 0 1.602-1.2986 2.9005-2.9005 2.9005-1.6018 0-2.9004-1.2986-2.9004-2.9005 0-1.0853.596-2.0314 1.4788-2.5287l-.0002-9.9831c0-3.887 3.1195-7.0453 6.9915-7.108l.1176-.001h1.3385C14.7458.5962 15.692 0 16.7773 0ZM7.2227 19.9052c-.6596 0-1.1943.5347-1.1943 1.1943s.5347 1.1943 1.1943 1.1943 1.1944-.5347 1.1944-1.1943-.5348-1.1943-1.1944-1.1943Zm9.5546-10.4644c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Zm0-7.7346c-.6596 0-1.1944.5347-1.1944 1.1943s.5348 1.1943 1.1944 1.1943c.6596 0 1.1943-.5347 1.1943-1.1943s-.5347-1.1943-1.1943-1.1943Z"/></svg></a><a class="VPSocialLink no-icon" href="https://matrix.to/#/@thepaperpilot:incremental.social" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Matrix</title><path d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01
.</span></p><hr><details><summary>Referenced by:</summary><a href="/garden/commune/index.md">Commune</a><a href="/garden/decentralized-social-media/index.md">Decentralized Social Media</a><a href="/garden/fedi-v2/index.md">Fedi v2</a><a href="/garden/incremental-social/index.md">Incremental Social</a><a href="/garden/nostr/index.md">Nostr</a><a href="/garden/weird/index.md">Weird</a></details><details><summary>Tags:</summary><a href="/garden/decentralized/index.md">Decentralized</a></details><p>Decentralized identity is when someone&#39;s identity can be authenticated without the reliance of a central authoritative source. Keypairs are the most common form of this, where someone generates a pair of keys - one private and one public, with which they can sign a message in a way that allows others to verify it came from someone with access to the private key and was not tampered with. <a href="https://indieweb.org/IndieAuth" target="_blank" rel="noreferrer">IndieAuth</a> is another version of decentralized identity, used by parts of <a href="/garden/the-small-web/">The IndieWeb</a>.</p><h2 id="user-experience" tabindex="-1">User Experience <a class="header-anchor" href="#user-experience" aria-label="Permalink to &quot;User Experience&quot;"></a></h2><p>Clients can silently generate key pairs, and allow methods for migration or &quot;linking&quot; identities. The client could also include backup methods like saving the private key to Google drive or similar services. The point here would to have convenient default choices that are reasonably secure, while allowing people to have full agency to choose their own storage and backup solutions.</p><p>Sharing your profile with others may be tricky. If you&#39;re registered on a nameserver then you can just share your handle there, similar to fediverse profile handles. Otherwise, I think QR codes are the most user friendly solution. A client could register a URI handler that takes a public key and optionally a relay server that has the information about that identity. Adding the identity to your friends list could happen fully offline, although pulling the profile information would require a connection. Perhaps that, too, could be encoded in a (likely separate) QR code.</p><h2 id="profile-information" tabindex="-1">Profile Information <a class="header-anchor" href="#profile-information" aria-label="Permalink to &quot;Profile Information&quot;"></a></h2><p>For casual conversation, a nickname in the profile data should be sufficient. Once a client interacts with someone, they can be added as a contact as a way of verifying the next conversation with someone with that username is actually the same person as before.</p><p>For situations where you want to verify an identity actually has a credentials they claim, you can query a nameserver that vouches for them. For example, whitehouse.gov would have a nameserver that specifies which identity is the actual president of the United States (and other government officials).</p><p>There could be nameservers that allow you to openly &quot;register&quot; your identity with them to get a unique human readable username you can include on billboards or other visual media where you want someone to be able to memorize the identifier, rather than scan a QR code or something.</p><p>For more details on how these decentralized usernames would work, check out <a href="https://spritely.institute/static/papers/petnames.html" target="_blank" rel="noreferrer">Petnames</a>.</p><h2 id="identity-recovery" tabindex="-1">Identity Recovery <a class="header-anchor" href="#identity-recovery" aria-label="Permalink to &quot;Identity Recovery&quot;"></a></h2><p>If you lose access to your account, it&#39;s gone forever. That is why I think there should be defaults to backup your private key to existing reliable servers, even if they&#39;re owned by large corporations. Otherwise I would see someone have their phone stolen, lost, or upgraded and be surprised when their account is now inaccessible.</p><p>If you do lose your account and create a new identity, you
<script>window.__VP_HASH_MAP__=JSON.parse("{\"about_index.md\":\"YpmaDm_z\",\"garden_chronological_index.md\":\"D5fWpnlX\",\"garden_babble-buds_index.md\":\"DxmqVoTA\",\"garden_cinny_index.md\":\"CWxQ-zXy\",\"garden_atproto_index.md\":\"D9_7sfO7\",\"garden_chromatic-lattice_index.md\":\"Cw8Kko32\",\"garden_advent-incremental_index.md\":\"CMk1AiJQ\",\"garden_art-is-never-complete_index.md\":\"BPd82nXo\",\"garden_consensus-democracy_index.md\":\"DiXMmLIQ\",\"garden_artificial-intelligence_index.md\":\"CBlCYWkr\",\"garden_a-plea-to-organize_index.md\":\"CyK1zn1I\",\"changelog_index.md\":\"DVgSDeNX\",\"garden_davey-wreden_index.md\":\"f3xZ_s4l\",\"garden_everything-is-political_index.md\":\"CdBgMXxj\",\"guide-to-incrementals_ludology_appeal-gamers_index.md\":\"DEXlbts1\",\"garden_enshittification_index.md\":\"B1b1fu7S\",\"garden_commune_index.md\":\"COmv47Qq\",\"garden_local-first-software_index.md\":\"D2a4gu-W\",\"garden_the-cozy-web_index.md\":\"D01M1HnW\",\"garden_vitepress_index.md\":\"tx4a0n5q\",\"garden_freeform-vs-chronological-dichotomy_index.md\":\"DYWAb1HB\",\"garden_garden-rss_index.md\":\"AWGxD-E4\",\"garden_gender-performativity_index.md\":\"CnW1xA_a\",\"garden_individualism_index.md\":\"ynjLdsuX\",\"garden_fedi-v2_index.md\":\"Dk37-aPG\",\"garden_guide-to-incrementals_index.md\":\"5BLfRn5b\",\"garden_gender_index.md\":\"DZdlSD4a\",\"guide-to-incrementals_index.md\":\"DPTKaCuc\",\"garden_guide-to-incrementals_appeal-to-developers_index.md\":\"CkuW5uER\",\"garden_decentralized-identity_index.md\":\"y4RFh3rh\",\"garden_local-communities_index.md\":\"D3DH0fGC\",\"garden_gerrymandering_index.md\":\"CX2OFSlv\",\"garden_open-source_index.md\":\"6oyBcdDm\",\"garden_guide-to-incrementals_navigating-criticism_index.md\":\"uvCjn02L\",\"garden_debate_index.md\":\"DcD9KhbD\",\"garden_anarchism_index.md\":\"Bi4VyWbV\",\"garden_police-abolition_index.md\":\"CU68gI68\",\"garden_my-browser-stack_index.md\":\"DCchRRYs\",\"garden_personality_index.md\":\"ChhNeN5J\",\"garden_planar-pioneers_index.md\":\"7VDRFjaj\",\"guide-to-incrementals_ludology_appeal-developers_index.md\":\"D48oheRE\",\"garden_orchard_index.md\":\"BJ1pQXIs\",\"garden_digital-gardens_index.md\":\"ChR2AWpj\",\"garden_dice-armor_index.md\":\"ByqRXWDk\",\"garden_the-small-web_index.md\":\"Bkk1rEfe\",\"garden_opti-speech_index.md\":\"Dp0ll6kT\",\"garden_life-is-strange_index.md\":\"CQykqggC\",\"garden_leftism_index.md\":\"CYOK2kei\",\"garden_freeform_index.md\":\"DrTiVQ1a\",\"garden_forgejo_index.md\":\"GiARxfDT\",\"garden_guide-to-incrementals_what-is-content_index.md\":\"BEKNdnys\",\"garden_direct-democracy_index.md\":\"DYir6dY7\",\"garden_kronos_index.md\":\"BX3T3aQP\",\"garden_representative-democracy_index.md\":\"DuqwAFuu\",\"garden_command-palettes_index.md\":\"CTOBvuQi\",\"garden_premium-currency_index.md\":\"ChZ8mdPg\",\"garden_capture-the-citadel_index.md\":\"-br6Pcc8\",\"garden_chat-glue_index.md\":\"BFBOFQOt\",\"garden_decentralized_index.md\":\"B4L35X0Y\",\"garden_mbin_index.md\":\"Bpoe92vo\",\"garden_matrix_index.md\":\"Cat_AW6q\",\"garden_scientific-constructivism_index.md\":\"R4zVkePt\",\"garden_synapse_index.md\":\"BJZE3okQ\",\"garden_the-beginner-s-guide_index.md\":\"k50dHl69\",\"garden_my-projects_index.md\":\"DQ9IsS7b\",\"garden_neoliberalism_index.md\":\"D3ylIaui\",\"garden_digital-locality_index.md\":\"zReLaiCJ\",\"garden_nostr_index.md\":\"DpzGkNqA\",\"garden_decentralized-moderation_index.md\":\"Vc-f-eOL\",\"garden_v-ecs_index.md\":\"BkjNGrNG\",\"garden_virality_index.md\":\"Bw3Icu9N\",\"garden_ivy-road_index.md\":\"CnA7kCGP\",\"garden_pre-order-bonuses_index.md\":\"BuOtoWs6\",\"garden_the-indieweb_signature-blocks_index.md\":\"BdHKJnLs\",\"garden_the-indieweb_amplification_index.md\":\"l9pwOcN0\",\"garden_incremental-social_index.md\":\"Dr5ZrztL\",\"garden_social-media_index.md\":\"BaJiZhWB\",\"garden_profectus_index.md\":\"CvajevSf\",\"garden_mtx_index.md\":\"BbdJq7Ny\",\"public_kronos_readme.md\":\"gWCvo8NR\",\"guide-to-incrementals_ludology_definition_index.md\":\"Cv0KfjdU\",\"garden_video-game-monetization_index.md\":\"DDBSiidE\",\"g
</body>
</html>