Nay ha scoperto per caso qualcosa di interessante su @MidnightNetwork

Questa infografica è apparsa effettivamente nel 2023, sono rimasto sorpreso perché gran parte di ciò che descrive corrisponde ancora al design attuale di Midnight, forse intorno al 90%.

La domanda nell'immagine è piuttosto semplice:

Cosa rende Midnight diverso nel design dei contratti intelligenti per proteggere i dati degli utenti?

Sembra una domanda di marketing, ma leggendola attentamente, mi rendo conto che tocca un problema quasi fondamentale della blockchain: fino a che punto i dati nei contratti intelligenti dovrebbero essere pubblici?

Finora, quando pensavo alla blockchain, tendevo a dare per scontato qualcosa di molto familiare. La maggior parte dei dati si trova sulla blockchain e quasi chiunque può vederli. Questo aiuta a rendere il sistema trasparente, ma allo stesso tempo crea una contraddizione. Molte applicazioni reali non possono funzionare se tutti i dati sono completamente rivelati.

Quando leggo la documentazione di Midnight, inizio a vedere che stanno affrontando questo problema da un'altra angolazione. Invece di considerare la privacy come uno stato acceso o spento, Midnight cerca di progettare contratti intelligenti in modo da proteggere i dati. L'idea qui è che il contratto può dimostrare che qualcosa è vero, ma non è necessario rivelare tutti i dati sottostanti.

Questa parte è realizzata tramite ZK SNARKs. Concettualmente non è nuova nel crypto, ma Midnight l'ha integrata direttamente nel design logico del contratto.

In particolare, il dettaglio che ho notato di più è che lo stato del contratto intelligente è diviso in due parti. Una parte è lo stato pubblico, cioè i dati che devono essere condivisi sulla blockchain. L'altra parte è lo stato privato, dove i dati privati di ciascun partecipante vengono mantenuti senza doverli rendere pubblici per l'intera rete.

Quando leggo questa parte, mi rendo conto di una cosa semplice ma che finora poche blockchain hanno sottolineato: non tutto lo stato di un'applicazione deve necessariamente trovarsi sulla blockchain.

Ad esempio, immagina un'applicazione di prestito on-chain. La blockchain potrebbe aver bisogno di sapere che il prestatore soddisfa i requisiti di garanzia, ma non è necessario conoscere tutte le informazioni finanziarie o l'identità sottostante. Il contratto ha solo bisogno di una prova che questa condizione sia vera, e la rete può convalidare quella prova senza accedere ai dati originali.

Un altro punto che mi fa vedere Midnight in modo diverso è che gli sviluppatori possono scegliere quali parti della logica saranno protette e quali no.

Questo può sembrare insignificante, ma apre a un modo di costruire applicazioni più flessibile. Alcuni dati possono rimanere pubblici per mantenere la trasparenza o la composabilità, mentre le parti più sensibili possono essere mantenute private.

Inoltre, il design di Midnight consente di aggiornare sia lo stato pubblico che lo stato privato tramite ZK proof, aiutando il contratto a confermare le modifiche senza rivelare i dati. Visto in questo modo, vedo che questo approccio è simile a quando la blockchain inizia a separare chiaramente la logica di verifica e i dati reali degli utenti.

Un altro dettaglio che ho notato è che i contratti intelligenti di Midnight sono costruiti in modo da essere friendly con TypeScript. Per molti sviluppatori web, questo potrebbe rendere l'accesso alla blockchain meno difficile rispetto all'apprendimento di un DSL completamente nuovo.

Infine, c'è un aspetto che penso che poche persone notino quando si parla di privacy chain: conformità legale.

In molti casi, il problema dell'applicazione non è la logica del contratto intelligente, ma la necessità di conservare dati sensibili di altri. Questo comporta molte responsabilità legali per chi costruisce il sistema.

Se il contratto intelligente ha bisogno solo di una prova invece dei dati originali, allora il costruttore dell'app può evitare di dover conservare tali informazioni.

Tuttavia, sono ancora piuttosto curioso riguardo a un punto. Quando il numero di contratti e interazioni sulla rete aumenta notevolmente, come influenzerà la separazione dello stato pubblico e privato sulla capacità di composabilità tra le applicazioni? Questo è qualcosa che si potrà osservare meglio solo quando l'ecosistema inizierà ad espandersi.

Dopo aver riletto questa infografica, sento che Midnight non sta semplicemente cercando di costruire una privacy chain in modo tradizionale.

La mia sensazione è che stiano cercando di progettare un sistema in cui l'accesso ai dati possa essere definito direttamente nella logica del contratto intelligente.

Non tutto deve essere privato.

Ma non è che tutto debba essere pubblico.

Cioè, ogni interazione può decidere chi può vedere quali dati e in quali condizioni.

Per me, questa è forse la parte più interessante quando si guarda al design di Midnight.

Almeno al momento attuale, mi fa pensare che il modello "tutti i dati devono essere pubblici sulla blockchain" potrebbe non essere l'unico modo per costruire contratti intelligenti.

#night $NIGHT

NIGHT
NIGHT
0.03656
-1.02%