criptovalute

In che modo i professionisti di Ardour impediscono a un contratto di bloccare i fondi degli utenti?

Oggi vi portiamo un articolo estremamente utile, importante e trascendentale per tutti coloro che fanno parte del nucleo dei nuovi imprenditori. Assisterai alle opinioni e ai riferimenti diretti di molte persone importanti che lavorano in Ardour. Non mancare, se il tuo è business, questo articolo è tempo per te e per le tue idee. Certamente. Scopri tutti i metodi che hanno usato per impedire ai contratti di bloccare i fondi degli utenti a tutti i costi.

L’inizio del progetto Ardor

L’avvio di un grande progetto di sviluppo software è sempre associato a molti rischi e incertezze. Quando abbiamo iniziato a lavorare in Ardor nel 2016 i rischi erano enormi, ma ce l’abbiamo fatta. Ardour è stato lanciato sulla mainnet nel gennaio 2018 come promesso con la sua prima catena figlio Ignis che implementava le funzionalità della blockchain NXT e altro ancora. Da allora, abbiamo lavorato per aggiungere più funzionalità e utilità a questo fantastico prodotto.

Una persona saggia una volta mi ha detto che quando devi consegnare un grande progetto software, invece di passare diversi mesi a pianificarlo, devi solo avviarlo. La conoscenza e l’esperienza che acquisirai in una settimana saranno molto più utili di mesi di pianificazione. E così abbiamo fatto con il progetto dei contratti leggeri. Tuttavia, una cosa che non sapevamo come capire in anticipo era come impedire a un contratto di bloccare i fondi dell’utente nel caso in cui il broker del contratto non fosse in grado (o non volesse) di eseguire il contratto.

Come abbiamo già discusso, i contratti leggeri non fanno parte del consenso. Solo i nodi degli intermediari contrattuali, che decidono di farlo, li eseguiranno. Ma poi, come utente che invia fondi a un contratto, come posso essere sicuro che il contratto verrà eseguito e non bloccherà i miei fondi? Ora abbiamo una soluzione.

La nascita della soluzione efficace per i contratti leggeri

La maggior parte dei framework di contratti intelligenti non deve preoccuparsi di bloccare i fondi degli utenti, poiché l’esecuzione dei contratti fa parte del consenso. Se un nodo non esegue un contratto quando dovrebbe, il nodo viene lasciato in un fork.

Gli storici incidenti di blocco del fondo sono stati il ​​risultato di un errore nel contratto stesso. Non nell’ambito dell’esecuzione. Un esempio notevole è stato il contratto multisig di Ethereum Paritytech. Che è stato cambiato da uno stato autonomo a una libreria quando gli sviluppatori hanno dimenticato di rimuovere il metodo kill.

Ma questo approccio che richiede a ciascun nodo di eseguire ogni contratto non è chiaramente scalabile. Quindi la gente ha avuto idee alternative come Plasma. Descrive un metodo per spostare l’applicazione del contratto nelle reti secondarie. Non sorprenderti se questo suona familiare a ciò che facciamo in Ardour. Le grandi menti pensano allo stesso modo, ma poi i progettisti di Plasma si imbattono nello stesso problema, se non tutti sono tenuti a eseguire un contratto, come si fa a garantire che qualcuno lo eseguirà e non si limiterà a bloccare i fondi?

Il white paper al plasma menziona un’idea di uscita di massa. Nel caso qualcuno agisca maliziosamente su qualche canale figlio. Tutti possono fuggire da esso. Pensiamo che sia una cattiva idea, poiché è complessa da implementare e facile da manipolare. Invece il nostro approccio è diverso. In realtà non inviamo i fondi sul conto del contratto fino a quando il contratto non viene eseguito con successo.

La base che sta alla base di un processo redditizio

Una cosa grandiosa di Ardour è che lo stiamo costruendo sulla base delle ricche funzionalità di NXT. Non partiamo da zero come molte altre soluzioni blockchain. NXT ha già una caratteristica poco conosciuta che chiamiamo «phasing by hash secret». L’idea è che una transazione venga presentata insieme a un hash di un segreto generato da una nota funzione di hash.

I saldi (o altre modifiche allo stato) vengono aggiornati solo una volta che il segreto viene rivelato da una transazione di approvazione separata. Nel caso in cui il segreto non venga svelato da una certa altezza del blocco. La transazione rimane all’interno della blockchain ma i saldi non vengono aggiornati. Questa funzionalità esiste in NXT ed è in produzione dal 2015.

Semplicità nella risoluzione del problema

Ora possiamo sfruttare questo piccolo gioiello usando i contratti leggeri. Il cliente che finanzia il contratto specificherà un hash di un segreto che solo lui conosce. Il contratto, che viene eseguito in base a questa transazione trigger. Presenterai la tua transazione utilizzando lo stesso segreto con hash.

Una volta che il segreto viene rivelato dal cliente, entrambe le transazioni verranno applicate insieme come un’unica operazione atomica. Se il cliente decide di non rivelare il segreto, entrambe le transazioni rimarranno sulla blockchain ma le loro modifiche al saldo verranno ignorate.

Pertanto, se il contratto non viene eseguito, il cliente non rivelerà il segreto, quindi quando verrà raggiunto il culmine della fase, i suoi fondi verranno sbloccati. Soluzione locale semplice, senza la necessità di output di massa o simili.

Notizie originali.

Post correlati

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba