Dette er en meningsredaksjon av Shinobi, en selvlært pedagog i Bitcoin-området og teknologiorientert Bitcoin-podcastvert.
Jeg foreslår, før du leser dette, at du leser tidligere artikkel skrev jeg for å forklare hva Nostr er og hvordan det fungerer på et høyt nivå. Du bør da ha en god ide om kjernedesignen til systemet på det tidspunktet, så la oss nå se på sannsynlige problemer som kommer til å oppstå etter hvert som det vokser i adopsjon. Med plattformen bli en populær for Bitcoin-fellesskapet, disse problemene er de å være klar over.
Som jeg diskuterte i forrige artikkel, er brukerens offentlige/private nøkkelpar integrert i hvordan Nostr fungerer som en protokoll. Det er ingen brukernavn, eller noen type identifikatorer som en reléserver har kontroll over, å knytte til individuelle brukere. Det er rett og slett de brukernes nøkler som er fullstendig under deres kontroll.
Dette fungerer som en tett binding mellom den faktiske brukeren og hvordan de blir identifisert av andre som hindrer enhver reléserver fra å frigjøre disse to tingene, dvs. å gi noens identifikator til en annen bruker. Dette løser et av de største grunnleggende problemene ved plattformer som brukes til kommunikasjon mellom mennesker: mangelen på kontroll over brukernes egen identitet. Men det introduserer også alle problemene med nøkkeladministrasjon som noen som har en privat nøkkel støter på. Nøkler kan gå tapt og nøkler kan bli kompromittert, og hvis en slik hendelse skulle inntreffe, har brukere ingen å gå til for å få hjelp, akkurat som med Bitcoin. Det er ingen kundestøtte for å gjenopprette noe. Du mister det, det er det.
Dette vil uunngåelig nødvendiggjøre et opplegg for brukere å rotere fra ett nøkkelpar til et annet på en måte som er verifiserbar og oppdages for andre brukere som de samhandler med gjennom protokollen. Hele protokollen er basert på å bevise at en hendelse kom fra en spesifikk bruker (identitetsnøkkel), så alle disse garantiene går ut av vinduet når noens nøkler er kompromittert.
Hvordan takler du det? Bare gå og sjekke Twitter-kontoen deres? Vel, da er det ikke et veldig desentralisert system, til syvende og sist, hvis du trenger å bruke en sentralisert plattform der de ikke har kontroll over identiteten sin for å bekrefte Nostr-identiteten.
Har andre brukere attestert legitimiteten til en ny nøkkel? Det tar ikke opp situasjoner som massenøkkelkompromisser, eller å ikke kjenne noen nær dem godt nok til å stole på deres attestasjon.
Nostr trenger et faktisk kryptografisk opplegg som knytter rotasjonen av en nøkkel til en annen. Det er en forslag fra utbygger fiatjaf for en grunnordning som potensielt kan løse dette problemet. Den grunnleggende ideen ville være å ta et langt sett med adresser avledet fra et enkelt hovedfrø, og lage et sett med "tweaked" nøkler som ligner på hvordan Taproot-trær er forpliktet til en Bitcoin-nøkkel. Taproot tar Merkle-treroten til Taproot-treet og "legger til" den til den offentlige nøkkelen for å lage en ny offentlig nøkkel. Dette kan replikeres ved å legge til Merkle-treroten til den private nøkkelen for å oppnå den matchende private nøkkelen for den nye offentlige nøkkelen. Fiatjafs idé er å kjede forpliktelser bakover fra slutten til begynnelsen, slik at hver justerte nøkkel faktisk inneholder et bevis på at den neste justerte nøkkelen ble brukt til å lage den.
Så forestill deg å starte med nøkkelen Z, den siste i kjeden. Du vil justere dette med noe, og deretter gå bakover og lage en finjustert versjon av nøkkel Y ved å bruke den justerte Z-tasten (Z' + Y = Y'). Herfra kan du ta Y' og deretter bruke den til å justere X (Y' + X = X'). Du ville gjøre dette helt tilbake til nøkkel A, for å få A', og derfra begynne å bruke den nøkkelen. Når den er kompromittert, kan brukeren kringkaste en hendelse som inneholder den untweakede nøkkelen A og den justerte nøkkelen B'. Dette vil inneholde alle dataene som trengs for å vise at B' ble brukt til å generere A', og brukere kunne umiddelbart slutte å følge A' og følge B' i stedet. De ville definitivt vite at B' er den brukerens neste nøkkel og følge den i stedet.
Dette forslaget har likevel noen problemer. Først må du generere alle nøklene du noen gang ville brukt på forhånd, og den har ingen måte å rotere til et helt nytt sett med nøkler. Dette kan håndteres ved å forplikte seg til en hovednøkkel i denne ordningen som kan notarisere slike rotasjoner, eller ganske enkelt generere et veldig stort sett med nøkler fra begynnelsen. Begge veier vil være et gyldig kurs å ta, men vil til slutt kreve at en rotnøkkel eller nøkkelmateriale holdes trygt og bare eksponere individuelle hurtigtaster for Nostr-klienter.
Denne ordningen gjør imidlertid ingenting for å beskytte brukere eller tilby en mekanisme for gjenoppretting av identitet i tilfelle rotnøkkelmaterialet går tapt eller i seg selv kompromitteres. Nå, dette er ikke å si at det ikke er noen fordel med fiatjafs opplegg, det er det absolutt, men det er viktig å gjøre poenget at ingen løsning løser alle problemer.
For å pontifisere litt på potensielle løsninger her, se for deg i stedet for en kjede med justerte nøkler som han foreslår, at en nøkkel justeres med en hovedkaldnøkkel som også må brukes til å signere hendelsen som roterer fra en nøkkel til en annen. Du har nøkkel A', som er utledet ved å legge til A og M (hovednøkkelen), og rotasjonshendelsen vil være A, M og B' (generert ved å legge til B og M) med en signatur fra M. M kan være en multisig-terskelnøkkel — to av tre, tre av fem, osv. Dette kan potensielt legge til redundans mot tap, samt gi en sikker mekanisme for nøkkelrotasjon. Dette åpner også døren for å bruke tjenester for å hjelpe til med utvinning, eller spre noen av disse nøklene rundt til pålitelige venner. Det tilbyr all den samme fleksibiliteten som multisig gjør med Bitcoin selv.
PIN26 er også et forslag som kan være svært nyttig for å håndtere dette problemet. Dette spesifiserer en protokollutvidelse til hendelser som lar en signatur fra én nøkkel autorisere en annen nøkkel til å legge ut hendelser på dens vegne. "Tokenet", eller signaturbeviset for delegering, vil da bli inkludert i alle hendelser som legges ut av den andre offentlige nøkkelen på den førstes vegne. Det kan til og med være tidsbegrenset, slik at delegeringstokener automatisk utløper og må fornyes.
Til syvende og sist, uansett hvordan det er løst, dette problemet har skal løses for Nostr på sikt. En protokoll basert utelukkende på offentlige/private nøkkelpar som brukes som identiteter kan ikke få gjennomslag og adopsjon hvis integriteten til disse identitetene ikke kan beskyttes og vedlikeholdes for brukere. Det vil til slutt koke ned til å hele tiden bruke plattformer utenfor båndet og sentraliserte plattformer for å verifisere nye nøkler og koordinere folk som følger din nye identitet når noe går tapt eller kompromittert, og på det tidspunktet blir de andre plattformene et middel til å så forvirring og drive med sensur.
Spørsmål om nøkkelhåndtering og sikkerhet er store problemer med et veldig stort designrom fullt av avveininger og smertepunkter, men de er problemer som må løses innenfor rammen av Nostr for at det skal fungere. I min neste artikkel vil jeg oppsummere noen problemer som jeg ser dukke opp med hensyn til reléserverarkitektur og skaleringsproblemer som Nostr-utviklere må konfrontere gitt de grunnleggende datastrukturene som Nostr er bygget på.
For alle som leser og lurer på hvorfor jeg ikke har nevnt desentraliserte identifikatorer (DIDs): Ja, det er en potensiell løsning på disse problemene som etter min mening er ganske omfattende. Nostr-utviklere virker imidlertid veldig nølende med å integrere DID-er i protokollen eller klientene på grunn av det faktum at det ville skape eksterne avhengigheter utenfor Nostr-protokollen. Hvis du ikke er kjent med hvordan DID-er fungerer på et teknisk nivå og er interessert, denne artikkelen av nivå 39 er en meget godt skrevet oppsummering av hvordan de fungerer.
Dette er et gjesteinnlegg av Shinobi. Uttrykte meninger er helt deres egne og reflekterer ikke nødvendigvis meningene til BTC Inc eller Bitcoin Magazine.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. Tilgang her.
- kilde: https://bitcoinmagazine.com/technical/solving-nostr-key-management-issues
- 7
- a
- absolutt
- Logg inn
- faktisk
- adresse
- adresser
- Legger
- Adopsjon
- mot
- fremover
- Aid
- Alle
- tillate
- og
- En annen
- noen
- arkitektur
- rundt
- Artikkel
- Assistanse
- Førsteamanuensis
- autorisere
- automatisk
- tilbake
- basert
- grunnleggende
- bli
- blir
- før du
- Begynnelsen
- være
- nytte
- mellom
- Stor
- Biggest
- bindende
- Bit
- Bitcoin
- Bitcoin Magazine
- kringkaste
- BTC
- BTC Inc.
- bygget
- kan ikke
- Sensur
- sentralisert
- kjede
- sjekk
- klienter
- Lukke
- forpliktet
- begå
- Kommunikasjon
- helt
- omfattende
- kompromittert
- forvirring
- stadig
- kontekst
- kontroll
- koordinere
- Kjerne
- kunne
- Kurs
- skape
- kryptografisk
- kunde
- Kundeservice
- dato
- desentralisert
- Avledet
- utforming
- Utvikler
- utviklere
- diskutert
- Av
- ned
- hver enkelt
- Redaksjonell
- enten
- engasjere
- nok
- Hele
- fullstendig
- etc
- Selv
- Event
- hendelser
- etter hvert
- NOEN GANG
- forklare
- uttrykte
- forlengelse
- utvendig
- kjent
- Fiatjaf
- Først
- fleksibilitet
- følge
- etter
- venner
- fra
- fullt
- funksjoner
- fundamental
- Gevinst
- generere
- generert
- genererer
- få
- gitt
- Giving
- Go
- skal
- god
- Vokser
- garantier
- Gjest
- gjest innlegg
- håndtere
- Håndtering
- å ha
- her.
- nølende
- Høy
- vert
- Hvordan
- Men
- HTTPS
- Tanken
- identifisert
- identifikator
- identiteter
- Identitet
- umiddelbart
- viktig
- in
- inkludert
- individuelt
- uunngåelig
- i stedet
- integrert
- integrere
- integritet
- samhandle
- interessert
- Introduserer
- utstedelse
- saker
- IT
- selv
- holde
- nøkkel
- nøkler
- Vet
- Knowing
- maling
- stor
- Siste
- legitimitet
- Nivå
- Sannsynlig
- Begrenset
- Lang
- Se
- taper
- tap
- magazine
- gjøre
- ledelse
- Mass
- Master
- matchende
- materiale
- midler
- mekanisme
- nevnt
- multitegn
- nødvendigvis
- behov
- Ny
- neste
- Vår
- tilby
- Tilbud
- ONE
- åpner
- Mening
- Meninger
- rekkefølge
- Annen
- andre
- utenfor
- egen
- Smerte
- par
- banen
- Ansatte
- plattform
- Plattformer
- plato
- Platon Data Intelligence
- PlatonData
- podcast
- Point
- poeng
- Populær
- Post
- postet
- potensiell
- potensielt
- Før
- privat
- private Key
- Problem
- problemer
- bevis
- forslag
- foreslår
- beskytte
- beskyttet
- protokollen
- gi
- offentlig
- offentlig Key
- Lese
- Lesning
- Gjenopprette
- utvinning
- reflektere
- hilsen
- fornyet
- replikert
- krever
- retur
- root
- trygge
- samme
- skalering
- ordningen
- Sekund
- sikre
- sikkerhet
- seed
- Tjenester
- sett
- bør
- Vis
- undertegne
- lignende
- ganske enkelt
- enkelt
- situasjoner
- So
- løsning
- Solutions
- LØSE
- løser
- noen
- Noen
- noe
- Rom
- spesifikk
- sprer
- Start
- Still
- Stopp
- slik
- oppsummere
- støtte
- system
- Ta
- tar
- taprot
- Teknisk
- De
- deres
- ting
- tre
- terskel
- Gjennom
- tid
- til
- token
- tokens
- trekkraft
- handel
- Trær
- Stol
- klarert
- Til syvende og sist
- etter
- bruke
- Bruker
- Brukere
- verifisere
- versjon
- Hva
- hvilken
- vil
- innenfor
- lurer
- Arbeid
- virker
- ville
- skrevet
- X
- Du
- Din
- youtube
- zephyrnet