Dette er en meningsredaktion af Shinobi, en selvlært underviser i Bitcoin-området og teknologiorienteret Bitcoin-podcastvært.
Jeg foreslår, før du læser dette, at du læser tidligere artikel skrev jeg og forklarede, hvad Nostr er, og hvordan det fungerer på et højt niveau. Du bør så have en god idé om systemets kernedesign på det tidspunkt, så lad os nu se på sandsynlige problemer, der vil opstå, efterhånden som det vokser i adoption. Med platformen ved at blive populær for Bitcoin-fællesskabet, disse problemer er dem, man skal være opmærksom på.
Som jeg diskuterede i den foregående artikel, er brugerens offentlige/private nøglepar en integreret del af, hvordan Nostr fungerer som en protokol. Der er ingen brugernavne eller nogen form for identifikatorer, som en relæserver har kontrol over, at knytte til individuelle brugere. Det er simpelthen disse brugeres nøgler, der er fuldstændig under deres kontrol.
Dette fungerer som en tæt binding mellem den faktiske bruger og hvordan de identificeres af andre, der forhindrer enhver relæserver i at ophæve disse to ting, dvs. at give en anden brugers identifikator. Dette løser et af de største grundlæggende problemer ved platforme, der bruges til kommunikation mellem mennesker: manglen på kontrol over brugernes egen identitet. Men det introducerer også alle de problemer med nøglehåndtering, som en person med en privat nøgle løber ind i. Nøgler kan gå tabt, og nøgler kan blive kompromitteret, og hvis en sådan begivenhed skulle opstå, har brugerne ingen at gå til for at få hjælp, ligesom med Bitcoin. Der er ingen kundesupport til at gendanne noget. Du mister det, det er det.
Dette vil uundgåeligt kræve en ordning for brugere til at rotere fra et nøglepar til et andet på en måde, der er verificerbar og synlig for andre brugere, som de interagerer med gennem protokollen. Hele protokollen er baseret på at bevise, at en hændelse kom fra en bestemt bruger (identitetsnøgle), så alle disse garantier går ud af vinduet, når en persons nøgler er kompromitteret.
Hvordan håndterer du det? Bare gå og tjekke deres Twitter-konto? Nå, så er det ikke et meget decentraliseret system, i sidste ende, hvis du har brug for at bruge en centraliseret platform, hvor de ikke har kontrol over deres identitet for at verificere deres Nostr-identitet.
Har andre brugere attesteret legitimiteten af en ny nøgle? Det løser ikke situationer såsom massenøglekompromiser eller ikke at kende nogen tæt på dem godt nok til at stole på deres attestation.
Nostr har brug for et egentligt kryptografisk skema, der binder rotationen af en nøgle til en anden. Der er en forslag fra udvikler fiatjaf for en grundordning, der potentielt kunne løse dette problem. Den grundlæggende idé ville være at tage et langt sæt adresser, der stammer fra et enkelt masterfrø, og skabe et sæt "tweaked" nøgler, der ligner hvordan pælerodstræer er forpligtet til en Bitcoin-nøgle. Taproot tager Merkle-træets rod fra Taproot-træet og "føjer" den til den offentlige nøgle for at oprette en ny offentlig nøgle. Dette kan replikeres ved at tilføje Merkle-træroden til den private nøgle for at opnå den matchende private nøgle til den nye offentlige nøgle. Fiatjafs idé er at sammenkæde forpligtelser, der går baglæns fra slutningen til begyndelsen, så hver justerede nøgle faktisk ville indeholde et bevis på, at den næste justerede nøgle blev brugt til at skabe den.
Så forestil dig at starte med nøglen Z, den sidste i kæden. Du ville justere dette med noget, og derefter gå baglæns og oprette en tweaket version af tasten Y ved hjælp af den tweakede Z-tast (Z' + Y = Y'). Herfra ville du tage Y' og derefter bruge den til at justere X (Y' + X = X'). Du ville gøre dette helt tilbage til tasten A, for at få A', og derfra begynde at bruge den nøgle. Når den er kompromitteret, kan brugeren udsende en hændelse, der indeholder den ikke-tweakede tast A og tweaked tast B'. Dette ville indeholde alle de nødvendige data for at vise, at B' blev brugt til at generere A', og brugere kunne straks stoppe med at følge A' og følge B' i stedet. De ville endegyldigt vide, at B' er denne brugers næste nøgle og følge den i stedet.
Dette forslag har dog stadig nogle problemer. Først skal du generere alle de nøgler, du nogensinde ville bruge i forvejen, og det har ingen mulighed for at rotere til et helt nyt sæt nøgler. Dette kunne håndteres ved at forpligte sig til en hovednøgle i dette skema, der kunne notarisere sådanne rotationer, eller simpelthen generere et meget stort sæt nøgler fra begyndelsen. Begge veje ville være et gyldigt kursus at tage, men i sidste ende ville det kræve at holde en rodnøgle eller nøglemateriale sikkert og kun udsætte individuelle genvejstaster til Nostr-klienter.
Denne ordning gør dog intet for at beskytte brugere eller tilbyde en mekanisme til gendannelse af identitet i tilfælde af, at rodnøglematerialet går tabt eller selv kompromitteres. Dette er ikke for at sige, at der ikke er nogen fordel ved fiatjafs ordning, det er der absolut, men det er vigtigt at understrege, at ingen løsning løser ethvert problem.
For at pontificere lidt om potentielle løsninger her, forestil dig i stedet for en kæde af tweakede nøgler, som han foreslår, at en nøgle tweakes med en master cold key, der også skal bruges til at signere begivenheden, der roterer fra en nøgle til en anden. Du har nøgle A', som er afledt ved at tilføje A og M (hovednøglen), og rotationshændelsen ville være A, M og B' (genereret ved at tilføje B og M) med en signatur fra M. M kunne være en multisig-tærskelnøgle — to af tre, tre af fem osv. Dette kunne potentielt tilføje redundans mod tab samt give en sikker mekanisme til nøglerotation. Dette åbner også døren til at bruge tjenester til at hjælpe med genopretning eller at sprede nogle af disse nøgler rundt til betroede venner. Det tilbyder al den samme fleksibilitet, som multisig gør med Bitcoin selv.
PIN26 er også et forslag, der kunne være meget nyttigt til at håndtere dette problem. Dette specificerer en protokoludvidelse til hændelser, der tillader en signatur fra én nøgle til at autorisere en anden nøgle til at sende hændelser på dens vegne. "Tokenet", eller signaturbeviset for delegering, ville så blive inkluderet i alle hændelser, der blev sendt af den anden offentlige nøgle på den førstes vegne. Det kan endda være tidsbegrænset, så delegationstokens automatisk udløber og skal fornyes.
I sidste ende, hvordan det end er løst, dette problem har skal løses for Nostr på længere sigt. En protokol, der udelukkende er baseret på offentlige/private nøglepar, der bruges som identiteter, kan ikke vinde indpas og vedtages, hvis integriteten af disse identiteter ikke kan beskyttes og vedligeholdes for brugerne. Det vil i sidste ende koge ned til konstant at skulle bruge out-of-band og centraliserede platforme til at verificere nye nøgler og koordinere folk, der følger din nye identitet, når noget går tabt eller kompromitteret, og på det tidspunkt bliver de andre platforme et middel til at så forvirring og engagere sig i censur.
Spørgsmål om nøglestyring og sikkerhed er store problemer med et meget stort designrum fuld af afvejninger og smertepunkter, men det er problemer, der skal løses inden for rammerne af Nostr, for at det kan fungere. I min næste artikel vil jeg opsummere nogle problemer, som jeg ser dukke op med hensyn til relæserverarkitektur og skaleringsproblemer, som Nostr-udviklere bliver nødt til at konfrontere givet de grundlæggende datastrukturer, som Nostr er bygget på.
For alle, der læser og undrer sig over, hvorfor jeg ikke har nævnt decentraliserede identifikatorer (DID'er): Ja, det er en potentiel løsning på disse problemer, som efter min mening er ret omfattende. Nostr-udviklere virker dog meget tøvende med at integrere DID'er i protokollen eller klienterne på grund af det faktum, at det ville skabe eksterne afhængigheder uden for Nostr-protokollen. Hvis du ikke er bekendt med, hvordan DID'er fungerer på et teknisk niveau og er interesseret, denne artikel af niveau 39 er en meget velskrevet opsummering af, hvordan de fungerer.
Dette er et gæsteindlæg af Shinobi. Udtalte meninger er helt deres egne og afspejler ikke nødvendigvis dem fra BTC Inc eller Bitcoin Magazine.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: https://bitcoinmagazine.com/technical/solving-nostr-key-management-issues
- 7
- a
- absolut
- Konto
- faktisk
- adresse
- adresser
- Tilføjer
- Vedtagelse
- mod
- forude
- Støtte
- Alle
- tillade
- ,
- En anden
- nogen
- arkitektur
- omkring
- artikel
- Assistance
- Associate
- bemyndige
- automatisk
- tilbage
- baseret
- grundlæggende
- bliver
- bliver
- før
- Begyndelse
- være
- gavner det dig
- mellem
- Big
- Største
- binding
- Bit
- Bitcoin
- Bitcoin Magazine
- udsende
- BTC
- BTC Inc
- bygget
- kan ikke
- Censur
- centraliseret
- kæde
- kontrollere
- kunder
- Luk
- engageret
- begå
- Kommunikation
- fuldstændig
- omfattende
- Kompromitteret
- forvirring
- konstant
- sammenhæng
- kontrol
- koordinere
- Core
- kunne
- Kursus
- skabe
- kryptografisk
- kunde
- Kunde support
- data
- decentral
- Afledt
- Design
- Udvikler
- udviklere
- drøftet
- Ved
- ned
- hver
- Editorial
- enten
- engagere
- nok
- Hele
- helt
- etc.
- Endog
- begivenhed
- begivenheder
- til sidst
- NOGENSINDE
- forklarer
- udtrykt
- udvidelse
- ekstern
- bekendt
- Fiatjaf
- Fornavn
- Fleksibilitet
- følger
- efter
- venner
- fra
- fuld
- funktioner
- fundamental
- Gevinst
- generere
- genereret
- generere
- få
- given
- Give
- Go
- gå
- godt
- Vokser
- garantier
- Gæst
- gæst Indlæg
- håndtere
- Håndtering
- have
- link.
- tøvende
- Høj
- host
- Hvordan
- Men
- HTTPS
- idé
- identificeret
- identifikator
- identiteter
- Identity
- straks
- vigtigt
- in
- medtaget
- individuel
- uundgåeligt
- i stedet
- integral
- integrere
- integritet
- interagere
- interesseret
- Introducerer
- spørgsmål
- spørgsmål
- IT
- selv
- holde
- Nøgle
- nøgler
- Kend
- Kendskab til
- Mangel
- stor
- Efternavn
- legitimitet
- Niveau
- Sandsynlig
- Limited
- Lang
- Se
- taber
- off
- magasin
- lave
- ledelse
- Masse
- Master
- matchende
- materiale
- midler
- mekanisme
- nævnte
- multitegn
- nødvendigvis
- behov
- Ny
- næste
- Vores
- tilbyde
- Tilbud
- ONE
- åbner
- Udtalelse
- Udtalelser
- ordrer
- Andet
- Andre
- uden for
- egen
- Smerte
- par
- sti
- Mennesker
- perron
- Platforme
- plato
- Platon Data Intelligence
- PlatoData
- podcast
- Punkt
- punkter
- Populær
- Indlæg
- indsendt
- potentiale
- potentielt
- Forud
- private
- private nøgle
- Problem
- problemer
- bevis
- forslag
- foreslår
- beskytte
- beskyttet
- protokol
- give
- offentlige
- offentlig nøgle
- Læs
- Læsning
- Recover
- opsving
- afspejler
- hilsen
- fornyet
- replikeres
- kræver
- afkast
- rod
- sikker
- samme
- skalering
- Ordningen
- Anden
- sikker
- sikkerhed
- frø
- Tjenester
- sæt
- bør
- Vis
- underskrive
- lignende
- ganske enkelt
- enkelt
- situationer
- So
- løsninger
- Løsninger
- SOLVE
- Løser
- nogle
- Nogen
- noget
- Space
- specifikke
- Spredning
- Starter
- Stadig
- Stands
- sådan
- opsummere
- support
- systemet
- Tag
- tager
- pælerod
- Teknisk
- deres
- ting
- tre
- tærskel
- Gennem
- tid
- til
- token
- Tokens
- trækkraft
- handle
- Træer
- Stol
- betroet
- Ultimativt
- under
- brug
- Bruger
- brugere
- verificere
- udgave
- Hvad
- som
- vilje
- inden for
- undrende
- Arbejde
- virker
- ville
- skriftlig
- X
- Du
- Din
- youtube
- zephyrnet