Tożsamość stanowi dzisiaj podstawę praktycznie każdego aspektu życia. Korzystając z usług internetowych, otwierając konto bankowe, głosując w wyborach, kupując nieruchomości, zatrudniając się — zawsze musisz udowodnić swoją tożsamość.
Jednak tradycyjne systemy zarządzania tożsamością od dawna polegają na scentralizowanych pośrednikach, którzy wydają, przechowują i kontrolują Twoje identyfikatory oraz . Oznacza to, że nie możesz kontrolować informacji związanych z tożsamością ani decydować, kto ma dostęp do informacji umożliwiających identyfikację osoby (PII) i jak duży jest ten dostęp.
Te problemy rozwiązują zdecentralizowane systemy tożsamości oparte na publicznych blockchainach takich jak Ethereum. Tożsamość zdecentralizowana umożliwia jednostkom zarządzanie informacjami związanymi z ich tożsamością. Dzięki zdecentralizowanym rozwiązaniom w zakresie tożsamości możesz samodzielnie tworzyć identyfikatory oraz żądać swoich poświadczeń i przechowywać je bez polegania na organach centralnych, takich jak dostawcy usług lub rządy.
Co to jest tożsamość?
Tożsamość oznacza odczuwanie przez jednostkę własnego „ja”, określonego przez unikalne cechy. Tożsamość odnosi się do bytu, odrębnej istoty ludzkiej. Tożsamość może odnosić się również do innych podmiotów, takich jak organizacja czy władza.
Co to są identyfikatory?
Identyfikator jest informacją, która wskazuje określoną tożsamość lub tożsamości. Najczęstsze identyfikatory to:
- Nazwa
- Numer ubezpieczenia społecznego/numer identyfikacji podatkowej (NIP)
- Numer telefonu komórkowego
- Data i miejsce urodzenia
- Cyfrowe dane identyfikacyjne, np. adresy e-mail, nazwy użytkowników, awatary
Te tradycyjne przykłady identyfikatorów są wydawane, przechowywane i kontrolowane przez jednostki centralne. Potrzebujesz pozwolenia od swojego rządu, aby zmienić swoje imię i nazwisko, a od platformy mediów społecznościowych, aby zmienić swój identyfikator.
Zalety zdecentralizowanej tożsamości
Zdecentralizowana tożsamość zwiększa indywidualną kontrolę nad informacjami identyfikacyjnymi. Zdecentralizowane identyfikatory i poświadczenia można weryfikować bez polegania na scentralizowanych organach i usługach osób trzecich.
Rozwiązania zdecentralizowanej tożsamości ułatwiają niezawodną, bezproblemową i chroniącą prywatność metodę weryfikacji i zarządzania tożsamością użytkownika.
Zdecentralizowana tożsamość wykorzystuje technologię łańcucha bloków, która tworzy zaufanie między różnymi stronami i zapewnia gwarancje kryptograficzne potwierdzające prawidłowość poświadczeń.
Zdecentralizowana tożsamość sprawia, że dane identyfikacyjne są przenośne. Użytkownicy przechowują poświadczenia i identyfikatory w portfelu mobilnym i mogą dzielić się z wybraną przez siebie stroną. Zdecentralizowane identyfikatory i poświadczenia nie są zablokowane w bazie danych organizacji wydającej.
Zdecentralizowana tożsamość powinna dobrze współpracować z powstającymi technologiami o , które umożliwią jednostkom udowodnienie, że są właścicielami czegoś lub zrobiły coś, nie ujawniając, co to jest. Mógłby to być znakomity sposób na połączenie zaufania i prywatności w takich zastosowaniach jak głosowanie.
Zdecentralizowana tożsamość umożliwia mechanizmom obrony przed atakami typu identyfikację, kiedy jeden człowiek udaje wielu ludzi, aby grać lub spamować jakiś system.
Sposoby wykorzystywania zdecentralizowanej tożsamości
Zdecentralizowana tożsamość ma wiele potencjalnych zastosowań:
1. Uniwersalne logowania
Zdecentralizowana tożsamość może pomóc w zastąpieniu logowania opartego na haśle zdecentralizowanym uwierzytelnianiem. Dostawcy usług mogą wydawać użytkownikom poświadczenia, które można przechowywać w portfelu Ethereum. Przykładowym poświadczeniem może być token przyznający posiadaczowi dostęp do społeczności internetowej.
Funkcja logowania z Ethereum(opens in a new tab) umożliwiłaby wtedy serwerom potwierdzenie konta Ethereum użytkownika i pobranie wymaganego poświadczenia z adresu jego konta. Oznacza to, że użytkownicy mogą uzyskać dostęp do platform i stron internetowych bez konieczności zapamiętywania długich haseł, co znacząco poprawia komfort działania w Internecie.
2. Uwierzytelnianie KYC
Korzystanie z wielu usług online wymaga od osób fizycznych dostarczenia poświadczeń i uwierzytelnień, takich jak prawo jazdy lub dowód osobisty. Podejście to jest jednak problematyczne, ponieważ informacje o użytkownikach prywatnych mogą być zagrożone, a usługodawcy nie mogą zweryfikować autentyczności poświadczenia.
Zdecentralizowana tożsamość umożliwia firmom pominięcie konwencjonalnych procesów KYC (Know-Your-Customer)(opens in a new tab) i uwierzytelnianie tożsamości użytkowników za pomocą weryfikowalnych poświadczeń. Zmniejsza to koszty zarządzania tożsamością i zapobiega stosowaniu fałszywej dokumentacji.
3. Głosowanie i społeczności internetowe
Głosowanie online i media społecznościowe to dwie nowatorskie aplikacje z wykorzystaniem zdecentralizowanej tożsamości. Systemy głosowania on-line są podatne na manipulacje, zwłaszcza jeśli złośliwe podmioty tworzą fałszywe tożsamości w celu oddania głosu. Zwracanie się do osób fizycznych o przedstawienie poświadczeń w łańcuchu może poprawić integralność procesów głosowania online.
Zdecentralizowana tożsamość może pomóc w tworzeniu społeczności internetowych, które są wolne od fałszywych kont. Na przykład każdy użytkownik może być zmuszony do uwierzytelniania swojej tożsamości za pomocą systemu identyfikacji w łańcuchu, takiego jak usługa Ethereum Name Service, zmniejszając możliwość tworzenia botów.
4. Ochrona przed atakami typu Sybil
Aplikacje przyznające granty, które wykorzystują , są podatne na , ponieważ wartość grantu wzrasta, gdy więcej osób na niego głosuje, co zachęca użytkowników do podzielenia swojego wkładu na wiele tożsamości. Zdecentralizowane tożsamości pomagają temu zapobiec, zwiększając obciążenie każdego uczestnika, aby udowodnić, że naprawdę jest człowiekiem, choć często bez konieczności ujawniania konkretnych informacji prywatnych.
Co to są poświadczenia?
Poświadczenie jest oświadczeniem złożonym przez jeden podmiot na temat innego podmiotu. Jeśli mieszkasz w Stanach Zjednoczonych, prawo jazdy wydane przez departament pojazdów mechanicznych (jeden podmiot) potwierdza, że inny podmiot (Ty) jest uprawniony do prowadzenia samochodu.
Poświadczenia to nie to samo, co identyfikatory. Poświadczenia zawierają identyfikatory odnoszące się do określonej tożsamości oraz oświadczenie dotyczące atrybutu związanego z tą tożsamością. Tak więc prawo jazdy zawiera identyfikatory (nazwisko, data urodzenia, adres), ale jest również poświadczeniem o prawie do prowadzenia pojazdu.
Co to są zdecentralizowane identyfikatory?
Tradycyjne identyfikatory, takie jak nazwa prawna lub adres e-mail, zależą od osób trzecich – rządów czy dostawców poczty elektronicznej. Decentralizowane identyfikatory (DID) są inne — nie są wydawane, zarządzane ani kontrolowane przez jakikolwiek podmiot centralny.
Zdecentralizowane identyfikatory są wydawane, przechowywane i kontrolowane przez jednostki. jest przykładem zdecentralizowanego identyfikatora. Możesz utworzyć tyle kont, ile chcesz, nie pytając nikogo o zgodę i bez konieczności przechowywania ich w centralnym rejestrze.
Zdecentralizowane identyfikatory są przechowywane w rozproszonych księgach () lub . Dzięki temu DID-y są globalnie unikalne, rozwiązywalne z wysoką dostępnością i kryptograficznie weryfikowalne(opens in a new tab). Zdecentralizowany identyfikator może być powiązany z różnymi podmiotami: z pojedynczymi osobami, organizacjami lub instytucjami rządowymi.
Co sprawia, że zdecentralizowane identyfikatory są możliwe?
1. Kryptografia klucza publicznego
Kryptografia klucza publicznego to środek bezpieczeństwa informacji, który generuje dla podmiotu i . klucza publicznego jest wykorzystywana w sieciach blockchain do uwierzytelniania tożsamości użytkowników i udowadniania własności cyfrowych zasobów.
Niektóre zdecentralizowane identyfikatory, takie jak konto Ethereum, mają klucze publiczne i prywatne. Klucz publiczny identyfikuje kontrolera konta, a klucze prywatne mogą podpisywać i odszyfrowywać wiadomości dla tego konta. Kryptografia klucza publicznego zapewnia dowody potrzebne do uwierzytelniania podmiotów i zapobiegania podszywaniu się i używaniu fałszywych tożsamości, wykorzystując podpisy kryptograficzne(opens in a new tab) do weryfikacji wszystkich twierdzeń.
2. Zdecentralizowane magazyny danych
Łańcuch bloków służy jako weryfikowalny rejestr danych: otwarte, niezaufane i zdecentralizowane repozytorium informacji. Istnienie publicznych łańcuchów bloków eliminuje potrzebę przechowywania identyfikatorów w scentralizowanych rejestrach.
Aby potwierdzić ważność zdecentralizowanego identyfikatora, można wyszukać w łańcuchu bloków powiązany klucz publiczny. Jest to istotna różnica w porównaniu do tradycyjnych identyfikatorów, które wymagają uwierzytelniania stron trzecich.
W jaki sposób zdecentralizowane identyfikatory i poświadczenia umożliwiają zdecentralizowaną tożsamość?
Zdecentralizowana tożsamość zakłada, że informacje związane z tożsamością powinny być samodzielnie kontrolowane, prywatne i przenośne, a zdecentralizowane identyfikatory i poświadczenia są podstawowymi elementami składowymi.
W kontekście zdecentralizowanej tożsamości poświadczenia (znane również jako weryfikowalne dane uwierzytelniające(opens in a new tab)) to odporne na manipulacje, możliwe do zweryfikowania kryptograficzne oświadczenia wydawcy. Każde poświadczenie lub możliwe do zweryfikowania dane uwierzytelniające podmiot (np. organizację) jest powiązane z odpowiednim identyfikatorem DID.
Ponieważ identyfikatory DID są przechowywane w łańcuchu bloków, każdy może zweryfikować prawidłowość poświadczenia poprzez porównanie z DID wystawcy na Ethereum. Zasadniczo łańcuch bloków Ethereum działa jak globalny katalog umożliwiający weryfikację identyfikatorów DID powiązanych z określonymi podmiotami.
Dzięki zdecentralizowanym identyfikatorom poświadczenia są niezależne i weryfikowalne. Nawet jeśli wydawca już nie istnieje, posiadacz zawsze ma dowód pochodzenia i prawidłowości poświadczenia.
Zdecentralizowane identyfikatory mają również kluczowe znaczenie dla ochrony prywatności danych osobowych, z względu na zdecentralizowaną tożsamość. Jeśli na przykład osoba fizyczna przedstawia dowód poświadczenia (prawo jazdy), strona weryfikująca nie musi sprawdzać prawidłowości informacji w dowodzie. Zamiast tego weryfikator potrzebuje jedynie gwarancji kryptograficznych autentyczności poświadczenia i tożsamości organizacji, która je wydała, aby ustalić, czy dowód jest prawidłowy.
Rodzaje poświadczeń w zdecentralizowanej tożsamości
Sposób, w jaki informacje o poświadczeniach są przechowywane i pobierane w ekosystemie tożsamości opartym na Ethereum, różni się od tradycyjnego zarządzania tożsamościami. Oto przegląd różnych podejść do wydawania, przechowywania i weryfikacji poświadczeń w zdecentralizowanych systemach tożsamości:
Poświadczenia poza łańcuchem
Jedną z obaw związanych z przechowywaniem poświadczeń w łańcuchu jest to, że mogą one zawierać informacje, które osoby fizyczne chcą zachować w tajemnicy. Publiczny charakter łańcucha bloków Ethereum sprawia, że jest on nieprzydatny do przechowywania takich poświadczeń.
Rozwiązaniem jest wydawanie poświadczeń przechowywanych przez użytkowników poza łańcuchem, w portfelach cyfrowych, ale podpisanych identyfikatorem DID wydawcy przechowywanym w łańcuchu. Te poświadczenia są zakodowane jako tokeny sieciowe JSON(opens in a new tab) i zawierają cyfrowy podpis wystawcy, co umożliwia łatwą weryfikację oświadczeń poza łańcuchem.
Oto hipotetyczny scenariusz opisujący, jak działają poświadczenia poza łańcuchem:
Uniwersytet (wydawca) generuje poświadczenie (cyfrowy certyfikat akademicki), podpisuje je swoimi kluczami i wydaje Bobowi (właścicielowi tożsamości).
Bob ubiega się o pracę i chce udowodnić swoje kwalifikacje akademickie pracodawcy, dlatego udostępnia poświadczenie z mobilnego portfela. Przedsiębiorstwo (weryfikator) może następnie potwierdzić prawidłowość poświadczenia poprzez sprawdzenie DID wystawcy (tj. jego klucza publicznego na Ethereum).
Poświadczenia poza łańcuchem, z trwałym dostępem
W takim układzie poświadczenia są przekształcane w pliki JSON i przechowywane poza łańcuchem (najlepiej na platformie zdecentralizowanej pamięci masowej w chmurze, takiej jak IPFS lub Swarm). Jednak plik JSON jest przechowywany w łańcuchu i powiązany z DID za pośrednictwem rejestru w łańcuchu. Powiązanym DID może być albo wystawca poświadczenia, albo odbiorca.
Takie podejście umożliwia uzyskiwanie przez poświadczenia trwałości opartej na łańcuchu bloków, przy jednoczesnym zachowaniu zaszyfrowanych i weryfikowalnych informacji o oświadczeniach. Umożliwia to również selektywne ujawnienie, ponieważ posiadacz klucza prywatnego może odszyfrować informacje.
Poświadczenia w łańcuchu
Poświadczenia w łańcuchu są przechowywane w w łańcuchu bloków Ethereum. Inteligentny kontrakt (działający jako rejestr) mapuje poświadczenie do odpowiedniego zdecentralizowanego identyfikatora w łańcuchu (klucza publicznego).
Oto przykład pokazujący, w jaki sposób poświadczenia mogą działać w praktyce:
Firma (XYZ Corp) planuje sprzedać akcje własnościowe za pomocą inteligentnego kontraktu, ale szuka tylko nabywców, którzy przeszli podstawową weryfikację.
XYZ Corp może zlecić firmie wykonującej podstawowe weryfikacje wystawianie poświadczeń w łańcuchu na Ethereum. To poświadczenie potwierdza, że dana osoba przeszła podstawową weryfikację, ale bez ujawniania jakichkolwiek danych osobowych.
Inteligentny kontrakt sprzedaży akcji może sprawdzić kontrakt rejestracji dla tożsamości sprawdzanych nabywców i określić, kto jest uprawniony do zakupu akcji.
Tokeny Soulbound i tożsamość
Tokeny Soulbound(opens in a new tab) () mogą służyć do zbierania informacji unikalnych dla określonego portfela. W ten sposób tworzy się unikatową w łańcuchu tożsamość związaną z określonym adresem Ethereum, która może obejmować tokeny reprezentujące osiągnięcia (np. ukończenie określonego kursu online lub przekroczenie progowego wyniku w grze) albo zaangażowanie w działania społeczności.
Zastosowania zdecentralizowanej tożsamości
Istnieje wiele ambitnych projektów wykorzystujących Ethereum jako podstawę zdecentralizowanych rozwiązań w zakresie tożsamości:
- Ethereum Name Service (ENS)(opens in a new tab) — zdecentralizowany system nazewnictwa w łańcuchu, odczytywalnych maszynowo, takich jak adresy portfeli Ethereum, skróty treści i metadane.
- SpruceID(opens in a new tab) — zdecentralizowany projekt tożsamości, który pozwala użytkownikom kontrolować tożsamość cyfrową za pomocą kont Ethereum i profili ENS, zamiast polegać na usługach stron trzecich.
- Ethereum Attestation Service (EAS)(opens in a new tab) — Zdecentralizowany ledger/protokół umożliwiający tworzenie poświadczeń o dowolnym elemencie w łańcuchu lub poza nim.
- Proof of Humanity (lub PoH)(opens in a new tab) — system weryfikacji tożsamości społecznościowej oparty na Ethereum.
- BrightID(opens in a new tab) — sieć zdecentralizowanych tożsamości społecznościowych typu open source. Jej celem jest zreformowanie weryfikacji tożsamości poprzez tworzenie i analizę wykresu społecznego.
- walt.id(opens in a new tab) — zdecentralizowana infrastruktura tożsamości i portfela o otwartym kodzie źródłowym, która umożliwia deweloperom i organizacjom wykorzystanie niezależnej tożsamości i NFT/SBT.
- Veramo(opens in a new tab) — struktura JavaScript, która ułatwia wszystkim korzystanie z kryptograficznie weryfikowalnych danych w swoich aplikacjach.
Dalsza lektura
Artykuły
- Wykorzystanie łańcucha bloków: łańcuch bloków w tożsamości cyfrowej(opens in a new tab) — ConsenSys
- Co to jest Ethereum ERC725? Samodzielne zarządzanie tożsamością w łańcuchu bloków(opens in a new tab) — Sam Town
- Jak łańcuch bloków może rozwiązać problem cyfrowej tożsamości(opens in a new tab) — Andrew R. Chow
- Co to jest zdecentralizowana tożsamość i dlaczego warto się nią zajmować?(opens in a new tab) — Emmanuel Awosika
- Wprowadzenie do zdecentralizowanej tożsamości(opens in a new tab) — Dominik Beron
Materiały wideo
- Zdecentralizowana tożsamość (oraz dodatkowa sesja transmisji na żywo)(opens in a new tab) — świetny film szkoleniowy na temat zdecentralizowanej tożsamości autorstwa Andreasa Antonopoulosa.
- Logowanie za pomocą Ethereum i zdecentralizowanej tożsamości za pomocą Ceramic, IDX, React i 3ID Connect(opens in a new tab) — samouczek YouTube pokazujący, jak zbudować system zarządzania tożsamością do tworzenia, odczytywania i aktualizowania profilu użytkownika przy użyciu portfela Ethereum autorstwa Nadera Dabita.
- BrightID — zdecentralizowana tożsamość w Ethereum(opens in a new tab) — odcinek podcastu Bankless omawiający BrightID, zdecentralizowane rozwiązanie tożsamości dla Ethereum.
- Internet poza łańcuchem: zdecentralizowana tożsamość i weryfikowalne dane uwierzytelniające(opens in a new tab) — prezentacja EthDenver 2022 autorstwa Evina McMullena.
- Wyjaśnienie weryfikowalnych danych uwierzytelniających(opens in a new tab) — film wyjaśniający na YouTube z demonstracją autorstwa Tamino Baumanna
Społeczności
- Sojusz ERC-725 na GitHub(opens in a new tab) — zwolennicy standardu ERC725 do zarządzania tożsamością w łańcuchu bloków Ethereum.
- Serwer Discord SpruceID(opens in a new tab) — społeczność dla entuzjastów i programistów pracujących nad logowaniem za pomocą Ethereum.
- Veramo Labs(opens in a new tab) — społeczność programistów uczestniczących w budowaniu struktury weryfikowalnych danych dla aplikacji.
- walt.id(opens in a new tab) — społeczność deweloperów i twórców pracujących nad przypadkami użycia zdecentralizowanej tożsamości w różnych branżach