Cosa ha cambiato la mia visione di Midnight non è stato l'angolo della privacy.

È stato rendersi conto che uno scambio di Midnight non inizia come un'operazione finita. Inizia come un'intenzione che potrebbe dover condividere lo spazio della transazione con altre azioni prima di essere completata. Il flusso del portafoglio di Midnight rende questo visibile invece di nasconderlo. Il percorso dello scambio ha un passaggio makeIntent separato, e quell'intenzione può essere creata con un id di segmento scelto o uno casuale. Ciò che è rimasto con me è il motivo per cui l'intentId 1 esiste. Esiste affinché la fusione delle transazioni non faccia eseguire azioni prima dell'intento creato nella stessa transazione. Non è una nota tecnica. È una pressione di sequenziamento che si trova direttamente all'interno del flusso di scambio.

Questo è l'onere nascosto di cui non vedo abbastanza persone parlare.

Molte persone immaginano ancora uno scambio privato come un utente che fa un'offerta che diventa un accordo. Midnight è più complicato di così, ed è esattamente per questo che mi sembra più reale. Una parte può creare un intento sbilanciato. Un'altra parte può completarlo più tardi. Il portafoglio deve quindi bilanciare la transazione sigillata e inviare il risultato finale. L'esempio di scambio di Midnight è esplicito riguardo a quella forma: un lato crea un intento con NIGHT da un lato e un token protetto dall'altro, poi una seconda parte completa la transazione e la invia. Quindi il vero onere non è solo nascondere il commercio. È preservare il commercio mentre passa attraverso la creazione, il completamento, il bilanciamento e l'esecuzione fusa.

Quella è la scena del flusso di lavoro che ha cambiato il modo in cui leggo Midnight.

Non immagino più l'utente che fa un'offerta semplice. Immagino l'utente che crea un segmento incompleto che ha ancora bisogno di un corrispondente, ha ancora bisogno di bilanciamento e ha ancora bisogno di un'invio finale. È lì che lo scambio smette di sembrare atomico. L'API del portafoglio è insolitamente onesta su questo. makeIntent crea l'intento sbilanciato. balanceSealedTransaction esiste perché la transazione finale ha ancora bisogno dei giusti input e output dopo il fatto. E l'ID del segmento è importante perché l'esecuzione fusa può altrimenti mettere altre azioni davanti all'intento creato. Quindi il problema di sequenziamento non è astratto. Vive nel percorso esatto che il portafoglio usa per impedire a un commercio parziale di essere riordinato in qualcosa che l'utente non intendeva.

Il fallimento visibile per l'utente è anche più concreto di quanto sembri all'inizio.

Qualcuno pensa di aver fatto uno scambio privato. In realtà, ha creato un segmento parziale che deve ancora aspettare il completamento. Più tardi, un'altra parte aggiunge il lato mancante. Poi il portafoglio bilancia la transazione sigillata. Poi la transazione finale fusa viene inviata. Se l'ordinamento non viene preservato lungo quel percorso, lo scambio esiste ancora, ma non sembra più l'unica azione pulita con cui l'utente pensava di essere partito. Il primo costo visibile non è che la privacy sia fallita. Il primo costo visibile è che l'azione ha smesso di sembrare unica. L'utente pensava di aver espresso un commercio. Ciò che hanno effettivamente inserito era una sequenza che doveva sopravvivere al posizionamento.

È lì che @MidnightNetwork ha iniziato a sembrarmi più importante.

Midnight è importante attraverso questo esatto onere perché non sta facendo finta che lo scambio privato sia solo un accordo con le etichette nascoste. Sta costruendo attorno al fatto che la creazione di intenzioni, il completamento, il bilanciamento e l'ordinamento possono essere fasi separate dello stesso commercio. Questo rende il sistema più difficile. Rende anche più onesto. Il difficile compito del prodotto non è solo schermare la transazione. È far sentire quel percorso multi-passaggio atomico anche quando il portafoglio sa che non lo è.

È anche dove $NIGHT cliccato più bruscamente per me.

Nel flusso di scambio di Midnight, NIGHT non è solo adiacente al sistema. È una gamba dell'intento incompleto stesso. Ciò significa che il lato NIGHT è creato prima che il commercio sia completato, poi portato attraverso lo stesso percorso di completamento, bilanciamento e ordinamento come il resto dello scambio. Quindi il token non è rilevante in un senso ampio dell'ecosistema qui. Si trova direttamente all'interno dello stesso rischio di sequenziamento dell'intento a cui appartiene.

La domanda di prova di pressione a cui continuo a tornare è semplice.

Posso @MidnightNetwork fare in modo che questo onere sia invisibile abbastanza che gli utenti non debbano mai pensare agli ID dei segmenti, al completamento parziale, al bilanciamento o a cos'altro può trovarsi nella stessa transazione fusa attorno al loro commercio? Perché se no, il primo costo visibile del trading nativo alla privacy non sarà l'esposizione. Sarà che lo scambio smette di sembrare atomico prima che l'utente arrivi mai alla privacy.

Quello che mi è rimasto è questo.

Su Midnight, la parte difficile non è solo nascondere lo scambio.

Si tratta di garantire che un intento incompleto sopravviva al completamento, al bilanciamento e all'ordinamento fuso senza perdere il significato che aveva quando l'utente lo ha creato per la prima volta.

#night $NIGHT @MidnightNetwork