Detta är en åsiktsledare av Shinobi, en självlärd utbildare inom Bitcoin-utrymmet och teknikorienterad Bitcoin-podcast-värd.
Jag föreslår, innan du läser detta, att du läser tidigare artikel skrev jag och förklarade vad Nostr är och hur det fungerar på hög nivå. Du bör då ha en god uppfattning om systemets kärndesign vid den tidpunkten, så låt oss nu ta en titt på troliga problem som kommer att uppstå när det växer i adoption. Med plattformen bli en populär sådan för Bitcoin-communityt, dessa problem är sådana att vara medveten om.
Som jag diskuterade i den tidigare artikeln, är användarnas offentliga/privata nyckelpar en integrerad del av hur Nostr fungerar som ett protokoll. Det finns inga användarnamn, eller någon typ av identifierare som en reläserver har kontroll över, att associera till enskilda användare. Det är helt enkelt dessa användares nycklar som är helt under deras kontroll.
Detta fungerar som en snäv bindning mellan den faktiska användaren och hur de identifieras av andra som förhindrar någon reläserver från att avbinda dessa två saker, dvs att ge någons identifierare till en annan användare. Detta löser ett av de största grundläggande problemen med plattformar som används för kommunikation mellan människor: bristen på kontroll över användarnas egna identiteter. Men det introducerar också alla problem med nyckelhantering som någon som har en privat nyckel stöter på. Nycklar kan gå förlorade och nycklar kan äventyras och om en sådan händelse skulle inträffa har användarna ingen att gå till för att få hjälp, precis som med Bitcoin. Det finns ingen kundsupport för att återställa något. Du tappar det, det är det.
Detta kommer oundvikligen att kräva ett schema för användare att rotera från ett nyckelpar till ett annat på ett sätt som är verifierbart och upptäckbart för andra användare som de interagerar med genom protokollet. Hela protokollet bygger på att bevisa att en händelse kom från en specifik användare (identitetsnyckel), så alla dessa garantier går ut genom fönstret när någons nycklar äventyras.
Hur hanterar du det? Bara kolla deras Twitter-konto? Tja, då är det inte ett särskilt decentraliserat system, i slutändan, om du behöver använda en centraliserad plattform där de inte har kontroll över sin identitet för att verifiera sin Nostr-identitet.
Har andra användare intygat legitimiteten hos en ny nyckel? Det tar inte upp situationer som massviktiga kompromisser eller att inte känna någon nära dem tillräckligt väl för att lita på deras intyg.
Nostr behöver ett faktiskt kryptografiskt schema som knyter rotationen av en nyckel till en annan. Det finns en förslag från utvecklare fiatjaf för ett grundläggande system som potentiellt skulle kunna lösa detta problem. Grundidén skulle vara att ta en lång uppsättning adresser härledda från ett enda masterfrö och skapa en uppsättning "tweaked" nycklar som liknar hur pålrootsträd är engagerade i en Bitcoin-nyckel. Taproot tar Merkle-trädets rot från Taproot-trädet och "lägger till" den till den publika nyckeln för att skapa en ny publik nyckel. Detta kan replikeras genom att lägga till Merkle-trädroten till den privata nyckeln för att uppnå den matchande privata nyckeln för den nya publika nyckeln. Fiatjafs idé är att koppla åtaganden bakåt från slutet till början så att varje justerad nyckel faktiskt skulle innehålla ett bevis på att nästa justerade nyckel användes för att skapa den.
Så tänk dig att börja med nyckel Z, den sista i kedjan. Du skulle justera detta med något, och sedan gå bakåt och skapa en finjusterad version av tangent Y med hjälp av den justerade Z-tangenten (Z' + Y = Y'). Härifrån skulle du ta Y' och sedan använda den för att justera X (Y' + X = X'). Du skulle göra detta hela vägen tillbaka till tangent A, för att få A', och därifrån börja använda den tangenten. När den äventyras kan användaren sända en händelse som innehåller den otippade nyckeln A och tweakade nyckel B'. Detta skulle innehålla all data som behövs för att visa att B' användes för att generera A', och användare kunde omedelbart sluta följa A' och följa B' istället. De skulle definitivt veta att B' är den användarens nästa nyckel och att följa den istället.
Detta förslag har dock fortfarande vissa problem. Först måste du generera alla nycklar du någonsin skulle använda i förväg och det går inte att rotera till en helt ny uppsättning nycklar. Detta skulle kunna hanteras genom att förbinda sig till en huvudnyckel i detta schema som kan notarisera sådana rotationer, eller helt enkelt generera en mycket stor uppsättning nycklar från början. Båda vägarna skulle vara en giltig kurs att ta, men i slutändan skulle det krävas att man håller en rotnyckel eller nyckelmaterial säker och endast exponerar individuella snabbtangenter för Nostr-klienter.
Detta schema gör dock inget för att skydda användare eller erbjuda en mekanism för identitetsåterställning i händelse av att rotnyckelmaterialet går förlorat eller i sig självt äventyras. Nu är det inte sagt att det inte finns någon fördel med fiatjafs plan, det finns det absolut, men det är viktigt att påpeka att ingen lösning löser alla problem.
För att pontificera lite på potentiella lösningar här, föreställ dig istället för en kedja av tweakade nycklar som han föreslår, att en nyckel tweakas med en master cold key som också måste användas för att signera händelsen som roterar från en nyckel till en annan. Du har nyckel A', som härleds genom att lägga till A och M (huvudnyckeln), och rotationshändelsen skulle vara A, M och B' (genereras genom att lägga till B och M) med en signatur från M. M skulle kunna vara en multisig tröskelnyckel — två av tre, tre av fem, etc. Detta kan potentiellt lägga till redundans mot förlust samt ge en säker mekanism för nyckelrotation. Detta öppnar också dörren till att använda tjänster för att hjälpa till med återhämtning, eller sprida några av dessa nycklar till betrodda vänner. Det erbjuder samma flexibilitet som multisig gör med själva Bitcoin.
PIN26 är också ett förslag som kan vara mycket användbart för att hantera detta problem. Detta specificerar en protokollförlängning till händelser som tillåter en signatur från en nyckel för att tillåta en annan nyckel att posta händelser på dess vägnar. "Token", eller signaturbevis på delegering, skulle sedan inkluderas i alla händelser som postats av den andra offentliga nyckeln för den förstas räkning. Det kan till och med vara tidsbegränsat så att delegeringstokens automatiskt löper ut och måste förnyas.
I slutändan, hur det än är löst, detta problem har ska lösas för Nostr på lång sikt. Ett protokoll baserat helt på offentliga/privata nyckelpar som används som identiteter kan inte få dragkraft och antagande om integriteten hos dessa identiteter inte kan skyddas och underhållas för användare. Det kommer så småningom att koka ner till att ständigt behöva använda out-of-band och centraliserade plattformar för att verifiera nya nycklar och koordinera människor som följer din nya identitet när något går förlorat eller äventyras, och vid den tidpunkten blir de andra plattformarna ett sätt att så förvirring och ägna sig åt censur.
Frågor om nyckelhantering och säkerhet är stora problem med ett mycket stort designutrymme fullt av avvägningar och smärtpunkter, men de är problem som kommer att behöva lösas inom ramen för Nostr för att det ska fungera. I min nästa artikel kommer jag att sammanfatta några problem som jag ser dyka upp när det gäller reläserverarkitektur och skalningsproblem som Nostr-utvecklare måste konfrontera med tanke på de grundläggande datastrukturerna som Nostr är byggd på.
För alla som läser och undrar varför jag inte har nämnt decentraliserade identifierare (DID): Ja, det är en potentiell lösning på dessa problem som, enligt min mening, är ganska omfattande. Nostr-utvecklare verkar dock mycket tveksamma till att integrera DID:er i protokollet eller klienterna på grund av att det skulle skapa externa beroenden utanför Nostr-protokollet. Om du inte är bekant med hur DID fungerar på en teknisk nivå och är intresserad, denna artikel av nivå 39 är en mycket välskriven sammanfattning av hur de fungerar.
Detta är ett gästinlägg av Shinobi. Åsikter som uttrycks är helt deras egna och återspeglar inte nödvändigtvis de från BTC Inc eller Bitcoin Magazine.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://bitcoinmagazine.com/technical/solving-nostr-key-management-issues
- 7
- a
- absolut
- Konto
- faktiskt
- adress
- adresser
- Lägger
- Antagande
- mot
- framåt
- Stöd
- Alla
- tillåta
- och
- Annan
- någon
- arkitektur
- runt
- Artikeln
- Bistånd
- Associate
- godkänna
- automatiskt
- tillbaka
- baserat
- grundläggande
- blir
- blir
- innan
- Börjar
- Där vi får lov att vara utan att konstant prestera,
- fördel
- mellan
- Stor
- störst
- bindande
- Bit
- Bitcoin
- Bitcoin Magazine
- sända
- BTC
- BTC Inc.
- byggt
- kan inte
- Censur
- centraliserad
- kedja
- ta
- klienter
- Stänga
- engagerad
- begå
- Kommunikation
- fullständigt
- omfattande
- Äventyras
- förvirring
- ständigt
- sammanhang
- kontroll
- samordna
- Kärna
- kunde
- Kurs
- skapa
- kryptografisk
- kund
- Helpdesk
- datum
- decentraliserad
- Härledd
- Designa
- Utvecklare
- utvecklare
- diskuteras
- Dörr
- ner
- varje
- Ledare
- antingen
- engagera
- tillräckligt
- Hela
- helt
- etc
- Även
- händelse
- händelser
- så småningom
- NÅGONSIN
- förklara
- uttryckt
- förlängning
- extern
- bekant
- Fiatjaf
- Förnamn
- Flexibilitet
- följer
- efter
- vänner
- från
- full
- funktioner
- grundläggande
- Få
- generera
- genereras
- generera
- skaffa sig
- ges
- Ge
- Go
- kommer
- god
- Växer
- garantier
- Gäst
- gäst inlägg
- hantera
- Arbetsmiljö
- har
- här.
- Tveksam
- Hög
- värd
- Hur ser din drömresa ut
- Men
- HTTPS
- Tanken
- identifierade
- identifierare
- identiteter
- Identitet
- blir omedelbart
- med Esport
- in
- ingår
- individuellt
- oundvikligen
- istället
- integrerad
- integrera
- integritet
- interagera
- intresserad
- Introducerar
- fråga
- problem
- IT
- sig
- hålla
- Nyckel
- nycklar
- Vet
- Menande
- Brist
- Large
- Efternamn
- legitimitet
- Nivå
- sannolikt
- Begränsad
- Lång
- se
- förlorar
- förlust
- magasinet
- göra
- ledning
- Massa
- Master
- matchande
- Materialet
- betyder
- mekanism
- nämnts
- multisig
- nödvändigtvis
- behov
- Nya
- Nästa
- Vår
- erbjudanden
- Erbjudanden
- ONE
- öppnas
- Yttrande
- Åsikter
- beställa
- Övriga
- Övrigt
- utanför
- egen
- Smärta
- par
- bana
- Personer
- plattform
- Plattformar
- plato
- Platon Data Intelligence
- PlatonData
- podcast
- Punkt
- poäng
- Populära
- Inlägg
- posted
- potentiell
- potentiellt
- Innan
- privat
- privat nyckel
- Problem
- problem
- bevis
- förslag
- föreslår
- skydda
- skyddad
- protokoll
- ge
- allmän
- Public Key
- Läsa
- Läsning
- Recover
- återvinning
- reflektera
- Hälsningar
- förnyas
- replikeras
- kräver
- avkastning
- rot
- säker
- Samma
- skalning
- ordningen
- Andra
- säkra
- säkerhet
- frö
- Tjänster
- in
- skall
- show
- signera
- liknande
- helt enkelt
- enda
- situationer
- So
- lösning
- Lösningar
- LÖSA
- Löser
- några
- någon
- något
- Utrymme
- specifik
- Spridning
- Starta
- Fortfarande
- Sluta
- sådana
- sammanfatta
- stödja
- system
- Ta
- tar
- pålrot
- Teknisk
- Smakämnen
- deras
- saker
- tre
- tröskelvärde
- Genom
- tid
- till
- token
- tokens
- dragkraft
- handla
- Träd
- Litar
- betrodd
- Ytterst
- under
- användning
- Användare
- användare
- verifiera
- version
- Vad
- som
- kommer
- inom
- undrar
- Arbete
- fungerar
- skulle
- skriven
- X
- Om er
- Din
- Youtube
- zephyrnet