@MidnightNetwork . Am observat problema prima dată când am încercat să înregistrez ceva simplu.

Nimic dramatic. Doar o mică bucată de date de aplicație pe care aveam nevoie să o înregistrez pe lanț. O stare de confirmare, practic. Tipul de lucru pe care dezvoltatorii îl împing pe un blockchain fără să se gândească de două ori.

De data aceasta am ezitat.

Valoarea în sine era inofensivă. Dar metadatele din jur nu erau. Timpii de marcaj, relațiile conturilor, sugestiile de flux de lucru. Oricine citește lanțul ar putea deduce mai mult decât intenționam. Asta e lucrul ciudat despre registrele transparente. Chiar și atunci când datele arată mici, contextul scurge totul.

Așa că, în loc să scriu datele direct, am încercat să rutez interacțiunea prin Midnight Network.

La început, diferența s-a simțit subtilă. Tranzacția s-a rezolvat încă. Sistemul a validat încă schimbarea stării. Dar când am inspectat înregistrarea publică după aceea, datele reale lipseau. Nu erau ascunse în spatele cheilor de criptare. Doar… absente.

Numai o dovadă a rămas.

A durat un minut pentru ca asta să se înregistreze.

Sistemul a verificat cererea fără a expune informația în sine.

Cele mai multe blockchain-uri abordează integritatea datelor în mod evident. Publică totul și se bazează pe transparență pentru a impune încrederea. Midnight face ceva mai ciudat. Dovedește că lucrurile s-au întâmplat fără a dezvălui detaliile a ceea ce s-a întâmplat.

Acea diferență apare în momentul în care încerci să împingi starea privată printr-un lanț tradițional.

Pe Ethereum, de exemplu, fiecare intrare de contract este vizibilă. Chiar dacă valoarea în sine este criptată, apar modele. Portofelele interacționează în secvențe recognoscibile. Tranzițiile de stare creează amprente. În timp, acele amprente devin narațiuni citibile.

Midnight ocolește acel model folosind dovezi de cunoștințe zero.

Nu ca o caracteristică teoretică. Ca modul implicit în care informația se mișcă prin sistem.

În loc să difuzeze datele de bază, rețeaua difuzează o dovadă matematică că datele satisfac o regulă. Validatorii confirmă dovada. Consensul avansează. Dar valorile sensibile nu devin niciodată stare publică.

Prima dată când am văzut acest lucru întâmplându-se în practică, s-a simțit ușor greșit.

Tranzacția a avut succes. Totuși, registrul a arătat aproape nimic.

Numai un artefact de dovadă și o confirmare.

Partea interesantă este cum asta schimbă fluxul de lucru.

Înainte de a folosi Midnight, instinctul meu a fost întotdeauna să proiectez în jurul transparenței. Dacă ceva ar putea scurge informații, arhitectura trebuia să absoarbă acel risc. Uneori, asta însemna să batchuiesc operațiunile. Alteori, însemna să întârzii execuția până când exista suficient zgomot în jurul tranzacției.

Pe Midnight, problema se schimbă.

Încetezi să mai încerci să ascunzi informații într-un sistem transparent. În schimb, dovedești corectitudinea fără a dezvălui informația deloc.

Schimbare mică conceptual.

Diferența enormă operațional.

De exemplu, unul dintre testele pe care le-am rulat a implicat validarea condițiilor de proprietate în interiorul unui contract. În mod normal, acea verificare ar expune relația dintre cont și activ. Oricine monitorizează lanțul ar putea vedea care portofel a satisfăcut cerința.

Pe Midnight, logica contractului a executat aceeași regulă, dar validatorul a văzut doar dovada că regula a fost satisfăcută.

Nu identitatea portofelului. Nu valoarea activului. Numai dovada.

Registrul a confirmat condiția fără a învăța intrările.

Acea moment a schimbat modul în care mă gândeam la designul stării.

Pentru că, dintr-o dată, blockchain-ul a încetat să se comporte ca o bază de date publică.

A devenit ceva mai aproape de un strat de verificare.

Dovezile de cunoștințe zero sunt adesea explicate în exemple abstracte. Analogia clasică a cutiei închise. Sau puzzle-ul peșterii în care cineva dovedește că știe o parolă fără a o dezvălui.

Aceste exemple ajută începătorii.

Dar diferența reală apare în fricțiunea banală a dezvoltatorului.

Ia în considerare inspectarea tranzacției.

Pe majoritatea lanțurilor, debugging-ul înseamnă citirea directă a intrărilor tranzacției. Când ceva eșuează, poți vedea valorile. Parametrii. Condițiile care au eșuat.

Pe Midnight, debugging-ul devine mai indirect.

Nu poți inspecta datele de bază ușor, deoarece rețeaua însăși nu le vede niciodată. În schimb, inspectezi validitatea dovezii și logica constrângerii.

Prima dată când un control de contract a eșuat, m-am uitat la jurnale mai mult timp decât mă așteptam.

Totul părea valid. Dovada exista. Circuitul de verificare a fost executat. Totuși, tranzacția a fost respinsă.

În cele din urmă, am realizat că constrângerea din interiorul dovezii era puțin greșită. Matematica a dovedit condiția greșită.

Acest tip de bug se simte diferit.

Nu mai debughezi date. Debughezi logica care dovedește datele.

Există, de asemenea, o dimensiune de cost pe care oamenii rareori o menționează.

Generarea dovezilor de cunoștințe zero este computațional mai grea decât simpla difuzare a intrărilor tranzacției. Midnight gestionează acest lucru prin circuite specializate și optimizări, dar suprasarcina este totuși vizibilă în timpul dezvoltării.

Unul dintre testele mele timpurii a durat câteva secunde mai mult decât tranzacția transparentă echivalentă pe un alt lanț.

Nu catastrofal. Dar suficient pentru a observa.

Compromisul este evident totuși.

Transparența îți oferă viteză și observabilitate ușoară. Confidențialitatea necesită muncă criptografică mai intensă.

Midnight alege confidențialitatea.

Designul rețelei pare confortabil cu acea alegere.

O altă schimbare subtilă apare în modul în care te gândești la proprietatea datelor.

Datele blockchain-ului tradițional se comportă ca o difuzare permanentă. Odată ce ceva ajunge pe lanț, devine parte din înregistrarea globală. Oricine o poate analiza pentru totdeauna.

Cu Midnight, situația se simte mai puțin ca o publicare și mai mult ca o prezentare de dovezi.

Dovezile că anumite condiții au fost adevărate în momentul tranzacției. Sistemul validează cererea. Lanțul înregistrează dovada.

Dar informația de bază rămâne cu participantul care a generat-o.

Această distincție contează pentru aplicațiile care se ocupă cu identitate, semnale de conformitate sau solduri de active private. Situații în care dovedirea unui lucru este necesară, dar dezvăluirea informației brute ar crea riscuri.

Într-un mic experiment am folosit o dovadă pentru a confirma un prag de sold fără a expune soldul în sine.

Lanțul a acceptat cererea.

Observatorii au învățat că contul a satisfăcut regula.

Nimic altceva.

Totuși, există momente în care opacitatea devine incomodă.

Transparența are avantaje și ea.

Când datele sunt vizibile, ecosistemele pot analiza comportamentul. Indexatorii pot construi instrumente. Auditorii pot inspecta interacțiunile contractuale cu ușurință.

Modelul de confidențialitate al Midnight face ca acest lucru să fie mai greu.

Observatorii externi văd dovezi, dar nu și context. Acest lucru protejează utilizatorii, dar reduce și cantitatea de informații disponibile pentru analiza rețelei.

Uneori mă găsesc dorind să arunc o privire dincolo de dovadă doar pentru a confirma ce s-a întâmplat.

Dar acea opțiune nu există.

Ceea ce este esențial.

După câteva săptămâni lucrând cu sistemul, schimbarea de mentalitate a devenit mai clară.

În loc să te întrebi ce date ar trebui să stocheze blockchain-ul, întrebarea mai bună devine ce cereri ar trebui să verifice blockchain-ul.

Midnight transformă registrul într-un fel de arbitru. Confirmă că regulile au fost respectate fără a necesita să vadă cărțile jucătorilor.

Dovezile de cunoștințe zero fac acest lucru posibil.

Nu perfect. Nu fără compromisuri.

Dar suficient pentru a schimba modul în care datele se mișcă printr-un sistem descentralizat.

Partea ciudată este cât de repede modelul vechi de transparență începe să devină incomod după aceea.

Îți împingi o tranzacție pe un lanț tradițional. Fiecare parametru expus. Fiecare relație trasabilă.

Și îți dai seama cât de multă informație ai folosit pentru a scurge fără să observi.

Midnight evită acea scurgere.

În mare parte.

Încă încercând să înțeleg unde se află cu adevărat acea limită. #night $NIGHT