Acesta este un editorial de opinie al lui Shinobi, un educator autodidact în spațiul Bitcoin și gazdă de podcast Bitcoin orientată spre tehnologie.
Vă sugerez, înainte de a citi aceasta, să citiți articolul anterior l-am scris explicând ce este Nostr și cum funcționează la un nivel înalt. Atunci ar trebui să aveți o idee bună despre designul de bază al sistemului în acel moment, așa că acum să aruncăm o privire la problemele probabile care vor apărea pe măsură ce acesta crește în adoptare. Cu platforma devenind unul popular pentru comunitatea Bitcoin, aceste probleme sunt cele de care trebuie să fii conștient.
După cum am discutat în articolul anterior, perechile de chei publice/private ale utilizatorilor sunt parte integrantă a modului în care funcționează Nostr ca protocol. Nu există nume de utilizator sau orice tip de identificatori pe care un server de retransmisie este în control, pentru a asocia utilizatorilor individuali. Pur și simplu cheile acelor utilizatori sunt complet sub controlul lor.
Aceasta funcționează ca o legătură strânsă între utilizatorul real și modul în care sunt identificați de către alții, ceea ce împiedică orice server de releu să dezlege aceste două lucruri, adică să ofere identificatorul cuiva unui alt utilizator. Aceasta rezolvă una dintre cele mai mari probleme fundamentale ale platformelor utilizate pentru comunicarea între oameni: lipsa controlului asupra propriilor identități ale utilizatorilor. Dar introduce și toate problemele de gestionare a cheilor cu care se confruntă cineva care posedă o cheie privată. Cheile pot fi pierdute și cheile pot fi compromise, iar dacă un astfel de eveniment ar avea loc, utilizatorii nu au la cine să meargă pentru asistență, la fel ca în cazul Bitcoin. Nu există asistență pentru clienți pentru a recupera ceva. O pierzi, asta e.
Acest lucru va necesita inevitabil o schemă pentru ca utilizatorii să se rotească de la o pereche de taste la alta într-un mod care să fie verificabil și descoperit pentru alți utilizatori cu care interacționează prin intermediul protocolului. Întregul protocol se bazează pe demonstrarea faptului că un eveniment a venit de la un anumit utilizator (cheie de identitate), astfel încât toate aceste garanții ies pe fereastră odată ce cheile cuiva sunt compromise.
Cum te descurci cu asta? Mergeți să le verificați contul de Twitter? Ei bine, atunci acesta nu este un sistem foarte descentralizat, în cele din urmă, dacă aveți nevoie de utilizarea unei platforme centralizate în care nu dețin controlul asupra identității lor pentru a-și verifica identitatea Nostr.
Au alți utilizatori să ateste legitimitatea unei noi chei? Acest lucru nu abordează situații precum compromisurile cheie în masă sau necunoașterea pe cineva apropiat suficient de bine pentru a avea încredere în atestarea lor.
Nostr are nevoie de o schemă criptografică reală care să lege rotația unei chei de alta. Este un propunere de la dezvoltator fiatjaf pentru o schemă de bază care ar putea rezolva această problemă. Ideea de bază ar fi să luăm un set lung de adrese derivate dintr-o singură sămânță principală și să creați un set de chei „ajustate” similar cu modul în care arborii Taproot sunt implicați într-o cheie Bitcoin. Taproot preia rădăcina arborelui Merkle a arborelui Taproot și o „adaugă” la cheia publică pentru a crea o nouă cheie publică. Acest lucru poate fi replicat prin adăugarea acelei rădăcini a arborelui Merkle la cheia privată pentru a obține cheia privată potrivită pentru noua cheie publică. Ideea Fiatjaf este de a înlănțui angajamentele mergând înapoi de la sfârșit la început, astfel încât fiecare cheie ajustată să conțină de fapt o dovadă că următoarea cheie ajustată a fost folosită pentru a o crea.
Așadar, imaginați-vă că începeți cu cheia Z, ultima din lanț. Ați modifica acest lucru cu ceva, apoi ați merge înapoi și ați crea o versiune ajustată a tastei Y folosind cheia Z ajustată (Z' + Y = Y'). De aici ai lua Y' și apoi l-ai folosi pentru a ajusta X (Y' + X = X'). Veți face acest lucru până la cheia A, pentru a obține A', și de acolo, începeți să utilizați acea cheie. Atunci când este compromis, utilizatorul poate difuza un eveniment care conține tasta neajustată A și tasta ajustată B'. Acesta ar conține toate datele necesare pentru a arăta că B' a fost folosit pentru a genera A', iar utilizatorii ar putea înceta imediat să urmărească A' și să-l urmeze pe B'. Ei ar ști cu siguranță că B' este următoarea cheie a utilizatorului și să o urmeze în schimb.
Această propunere are totuși unele probleme. În primul rând, trebuie să generați toate cheile pe care le-ați folosi vreodată înainte de timp și nu are cum să se rotească la un set complet nou de chei. Acest lucru ar putea fi rezolvat prin angajarea la o cheie principală în această schemă care ar putea legaliza astfel de rotații sau pur și simplu generând un set foarte mare de chei de la început. Oricare dintre căile ar fi un curs valid de urmat, dar în cele din urmă ar necesita păstrarea în siguranță a unei chei rădăcină sau a materialului cheie și expunerea numai a tastelor rapide individuale pentru clienții Nostr.
Această schemă, totuși, nu face nimic pentru a proteja utilizatorii sau pentru a oferi un mecanism de recuperare a identității în cazul în care materialul cheii rădăcină este pierdut sau este el însuși compromis. Acum, acest lucru nu înseamnă că nu există niciun beneficiu pentru schema Fiatjaf, absolut există, dar este important să subliniem că nicio soluție nu rezolvă fiecare problemă.
Pentru a pontifica puțin asupra potențialelor soluții aici, imaginați-vă, în loc de un lanț de chei modificate, așa cum propune el, că o cheie este ajustată cu o cheie principală rece care trebuie, de asemenea, folosită pentru a semna evenimentul rotind de la o cheie la alta. Aveți cheia A', care este derivată prin adăugarea A și M (cheia principală), iar evenimentul de rotație ar fi A, M și B' (generat prin adăugarea B și M) cu o semnătură de la M. M ar putea fi un cheie cu prag multisig — două din trei, trei din cinci etc. Acest lucru ar putea adăuga redundanță împotriva pierderii, precum și să ofere un mecanism sigur pentru rotația cheii. Acest lucru deschide, de asemenea, ușa pentru utilizarea serviciilor pentru a ajuta la recuperare sau pentru a răspândi unele dintre aceste chei prietenilor de încredere. Oferă toată aceeași flexibilitate ca și multisig cu Bitcoin în sine.
PIN26 este, de asemenea, o propunere care ar putea fi foarte utilă în rezolvarea acestei probleme. Aceasta specifică o extensie a protocolului pentru evenimente care permite unei semnături de la o cheie să autorizeze o altă cheie să posteze evenimente în numele ei. „Jetonul” sau dovada semnăturii de delegare ar fi apoi inclusă în toate evenimentele postate de a doua cheie publică în numele primei. Poate fi chiar limitat în timp, astfel încât jetoanele de delegare să expire automat și să fie reînnoite.
În cele din urmă, oricum s-a rezolvat, această problemă are de rezolvat pentru Nostr pe termen lung. Un protocol bazat în întregime pe perechi de chei publice/private care sunt utilizate ca identități nu poate câștiga tracțiune și adoptare dacă integritatea acelor identități nu poate fi protejată și menținută pentru utilizatori. Acest lucru se va rezuma în cele din urmă la nevoia de a folosi în mod constant platforme în afara bandă și centralizate pentru a verifica noi chei și a coordona oamenii care urmăresc noua ta identitate atunci când ceva este pierdut sau compromis și, în acel moment, acele alte platforme devin un mijloc de a semăna confuzie. și se angajează în cenzură.
Problemele legate de managementul cheilor și securitatea sunt probleme mari cu un spațiu de proiectare foarte mare, plin de compromisuri și puncte dure, dar sunt probleme care vor trebui rezolvate în contextul Nostr pentru ca acesta să funcționeze. În următorul meu articol, voi rezuma câteva probleme pe care le văd că apar în ceea ce privește arhitectura serverului de releu și problemele de scalare pe care dezvoltatorii Nostr vor trebui să le confrunte, având în vedere structurile de date de bază pe care este construit Nostr.
Pentru oricine citește și se întreabă de ce nu am menționat identificatorii descentralizați (DID): Da, aceasta este o soluție potențială la aceste probleme care, în opinia mea, este destul de cuprinzătoare. Cu toate acestea, dezvoltatorii Nostr par foarte ezitanți să integreze DID-urile în protocol sau clienți, datorită faptului că ar crea dependențe externe în afara protocolului Nostr. Dacă nu sunteți familiarizat cu modul în care funcționează DID-urile la nivel tehnic și sunteți interesat, acest articol de la nivelul 39 este un rezumat foarte bine scris a modului în care funcționează.
Aceasta este o postare pentru oaspeți de Shinobi. Opiniile exprimate sunt în întregime proprii și nu reflectă neapărat cele ale BTC Inc sau Bitcoin Magazine.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://bitcoinmagazine.com/technical/solving-nostr-key-management-issues
- 7
- a
- absolut
- Cont
- de fapt
- adresa
- adrese
- Adaugă
- Adoptare
- împotriva
- înainte
- Ajutorul
- TOATE
- Permiterea
- și
- O alta
- oricine
- arhitectură
- în jurul
- articol
- Asistență
- Avocat Colaborator
- autoriza
- în mod automat
- înapoi
- bazat
- de bază
- deveni
- devine
- înainte
- Început
- fiind
- beneficia
- între
- Mare
- Cea mai mare
- legare
- Pic
- Bitcoin
- Revista Bitcoin
- difuza
- BTC
- BTC Inc.
- construit
- nu poti
- Cenzură
- centralizat
- lanţ
- verifica
- clientii
- Închide
- comise
- săvârșire
- Comunicare
- complet
- cuprinzător
- compromis
- confuzie
- mereu
- context
- Control
- coordona
- Nucleu
- ar putea
- Curs
- crea
- criptografic
- client
- Relații Clienți
- de date
- descentralizată
- Derivat
- Amenajări
- Dezvoltator
- Dezvoltatorii
- discutat
- De
- jos
- fiecare
- Editorial
- oricare
- angaja
- suficient de
- Întreg
- în întregime
- etc
- Chiar
- eveniment
- evenimente
- în cele din urmă
- EVER
- explicând
- și-a exprimat
- extensie
- extern
- familiar
- Fiatjaf
- First
- Flexibilitate
- urma
- următor
- Prietenii lui
- din
- Complet
- funcții
- fundamental
- Câştig
- genera
- generată
- generator
- obține
- dat
- Oferirea
- Go
- merge
- bine
- creste
- garanții
- Oaspete
- Vizitator Mesaj
- manipula
- Manipularea
- având în
- aici
- șovăitor
- Înalt
- gazdă
- Cum
- Totuși
- HTTPS
- idee
- identificat
- identificator
- identitățile
- Identitate
- imediat
- important
- in
- inclus
- individ
- inevitabil
- in schimb
- integrală
- integra
- integritate
- interacţiona
- interesat
- Prezintă
- problema
- probleme de
- IT
- în sine
- păstrare
- Cheie
- chei
- Cunoaște
- Cunoaștere
- lipsă
- mare
- Nume
- legitimitate
- Nivel
- Probabil
- Limitat
- Lung
- Uite
- pierde
- de pe
- revistă
- face
- administrare
- Masa
- maestru
- potrivire
- material
- mijloace
- mecanism
- menționat
- multisemn
- în mod necesar
- nevoilor
- Nou
- următor
- Al nostru
- oferi
- promoții
- ONE
- deschide
- Opinie
- Avize
- comandă
- Altele
- Altele
- exterior
- propriu
- Durere
- perechi
- cale
- oameni
- platformă
- Platforme
- Plato
- Informații despre date Platon
- PlatoData
- Podcast
- Punct
- puncte
- Popular
- Post
- postat
- potenţial
- potenţial
- anterior
- privat
- cheie privată
- Problemă
- probleme
- dovadă
- propunere
- propune
- proteja
- protejat
- protocol
- furniza
- public
- Cheia publică
- Citeste
- Citind
- Recupera
- recuperare
- reflecta
- ceea ce privește
- reînnoit
- replicat
- necesita
- reveni
- rădăcină
- sigur
- acelaşi
- scalare
- schemă
- Al doilea
- sigur
- securitate
- sămânţă
- Servicii
- set
- să
- Arăta
- semna
- asemănător
- pur şi simplu
- singur
- situații
- So
- soluţie
- soluţii
- REZOLVAREA
- rezolvă
- unele
- Cineva
- ceva
- Spaţiu
- specific
- răspândire
- Pornire
- Încă
- Stop
- astfel de
- rezuma
- a sustine
- sistem
- Lua
- ia
- rădăcină
- Tehnic
- lor
- lucruri
- trei
- prag
- Prin
- timp
- la
- semn
- indicativele
- tracțiune
- comerţului
- Copaci
- Încredere
- de încredere
- stare de nervozitate
- în cele din urmă
- în
- utilizare
- Utilizator
- utilizatorii
- verifica
- versiune
- Ce
- care
- voi
- în
- întrebam
- Apartamente
- fabrică
- ar
- scris
- X
- Tu
- Ta
- youtube
- zephyrnet