Condividi questo articolo

3 idee sbagliate sui contratti intelligenti

Secondo il consulente blockchain Olivier Rikken, l'entusiasmo per i contratti intelligenti sta creando nuove sfide operative.

Olivier Rikken è manager, oratore pubblico e opinion leader in materia di rivoluzione digitale, blockchain e gestione dei processi aziendali presso Axveco, una società di consulenza boutique con sede ad Amsterdam.

In questo articolo Opinioni CoinDesk , Rikken evidenzia tre errori comuni commessi dai nuovi arrivati ​​quando cercano di sfruttare la Tecnologie degli smart contract basata su blockchain.

La storia continua sotto
Non perderti un'altra storia.Iscriviti alla Newsletter Crypto for Advisors oggi. Vedi Tutte le Newsletter

ONE degli sviluppi più promettenti della blockchain è l'idea dei contratti intelligenti.

Primo dettagliato dal crittografoNick SzaboNel suo articolo del 1994 "Smart Contracts", Szabo descrive il concetto come "un protocollo di transazione computerizzato che esegue i termini di un contratto". Oggi, l'ascesa delblockchain di Ethereumfacilita lo sviluppo e l'implementazione di questo concetto in un ambiente pubblico.

Tuttavia, ciò ha portato a una nuvola di confusione attorno ai contratti intelligenti. (Per coloro che hanno meno familiarità con i contratti intelligenti,Questo articolofornisce una bella introduzione).

Ma prima di addentrarci nell'argomento, vorrei dire che credo che il numero di possibilità e casi d'uso per i contratti intelligenti sia enorme e possa creareveri e propri fattori di cambiamento in vari settori. Tuttavia, lavorando con diverse aziende sulle possibilità, ho notato che molti hanno ancora difficoltà a capire cosa siano realmente gli smart contract, come funzionano e cosa possono fare.

Ecco i tre problemi che riscontro più frequentemente:

1. "Gli smart contract sono solo codice, non contratti"

Una frase comune che viene spesso citata è "gli smart contract non sono né smart né contratti, sono solo codice stupido".

In vari casi, questo potrebbe essere vero, come quando si crea un'applicazione decentralizzata che non comporta il trasferimento di valore. Tuttavia, in altri casi, gli smart contract possono avere più caratteristiche dei contratti convenzionali.

Quando esaminiamo i contratti convenzionali, la semantica di un contratto è composta da due elementi principali, vale a dire:

  • Semantica operativa, che è l'interpretazione operativa di un contratto. Descrive la considerazione delle azioni precise come concordato e da intraprendere dalle parti coinvolte. Questo è in genere ciò che può essere programmato in uno smart contract.
  • Semantica denotazionale, l'interpretazione legale non operativa dell'intero contratto, inclusi, ma non limitati a, qualsiasi riferimento ad altri documenti, giurisdizione ETC. Questa è l'interpretazione che verrebbe data al contratto come lo leggerebbe un avvocato. Questo elemento nella maggior parte dei casi non è incluso nello smart contract, sebbene i riferimenti potrebbero essere aggiunti come commenti nel codice.

Perché le persone stipulano contratti in primo luogo? Principalmente perché T si fidano completamente l'uno dell'altro per l'esecuzione di un accordo (nonostante qualsiasi accordo verbale) o come prova per terze parti che un trasferimento di beni era legittimo.

Considerando questo e l'elemento operativo della semantica del contratto, se uno smart contract è il risultato di un accordo tra due o più parti e "firmato" da tutte le parti (mediante una transazione attiva sullo smart contract), potrebbe quindi essere visto come costituente la semantica operativa di un contratto tradizionale, sebbene scritto in un linguaggio non familiare.

La gestione dei conflitti potrebbe Seguici più o meno lo stesso percorso di tutti i contratti tradizionali, vale a dire tramite tribunali, mediazione, ETC.

La differenza principale sarà che in molti casi il trasferimento di valore a seguito dell'esecuzione automatizzata del contratto è già avvenuto.

2. "Gli smart contract possono operare in modo completamente autonomo"

Questo ci porta al secondo equivoco

ONE degli errori più comuni è credere che uno smart contract possa analizzare attivamente il suo ambiente ed eseguire le azioni necessarie in risposta ai cambiamenti, ovvero che uno smart contract interroghi in modo proattivo un database esterno e modifichi il proprio stato in base al risultato della query.

La blockchain, nella sua essenza, è guidata dalle transazioni. Questo vale anche per gli smart contract e quindii contratti intelligenti sono reattivi.

Il codice di uno smart contract viene eseguito solo quando richiamato da una transazione o da un messaggio inviato allo smart contract. Ciò può essere fatto da un account esterno (di proprietà di una persona fisica o di una società) che invia una transazione o da un altro smart contract che invia un messaggio allo smart contract (questo altro smart contract viene attivato da una transazione o da un messaggio stesso).

Inoltre, le informazioni a disposizione di uno smart contract durante l'esecuzione sono piuttosto limitate.

Come affermato nelEthereum documentazione, "Questa esecuzione deve essere completamente deterministica, il suo unico contesto è la posizione del blocco sulla blockchain e tutti i dati disponibili". Inoltre, "non è solo sandbox ma in realtà completamente isolata, il che significa che il codice in esecuzione all'interno dell'EVM non ha accesso alla rete, al file system o ad altri processi. Gli smart contract hanno persino un accesso limitato ad altri smart contract".

I dati disponibili sono i dati inviati al contratto nella transazione o nel messaggio, più i dati nell'archiviazione (stato) e nella memoria del contratto.

Mentre uno smart contract può chiamare altri smart contract (ad esempio leggere i saldi di altri smart contract)rientro non è consigliato da vario espertipoiché affermano che dovrebbe essere utilizzato solo come ultima risorsa.

Inoltre, gli smart contract possono fare solo calcoli di base come addizione, sottrazione e divisione. Non sono in grado di eseguire analisi di big data.

Quindi, quando si tratta di progettare processi che coinvolgono contratti intelligenti, sappiate che, in questo momento, sono reattivi, hanno informazioni limitate con cui lavorare, possono fare solo calcoli di base e hanno possibilità di interazione limitate. Gli esempi descritti qui si basano principalmente sui contratti intelligenti di Ethereum, il che mi porta all'ultimo punto.

"IL contratto intelligente"

Non esiste il contratto intelligente.

Così come spesso si commette l'errore di parlare della blockchain, invece di fare riferimento a una blockchain specifica (ad esempio Bitcoin, Ethereum, hyperledger, ETC.), lo stesso errore viene spesso commesso per i contratti intelligenti.

La maggior parte delle blockchain non ha alcuna capacità di contratto intelligente, o se ce l'ha, è solo in forma molto limitata o tramitecatena laterale ancoratasoluzioni.

Le caratteristiche che uno smart contract può possedere variano a seconda della blockchain.

Quindi, quando si tratta di progettare soluzioni che necessitano di smart contract, non esiste niente come LO smart contract. Per creare uno smart contract che soddisfi i tuoi requisiti, sii molto attento e preciso quando decidi quale blockchain utilizzare.

Immagine a matita rossatramite Shutterstock

Nota: Le opinioni espresse in questa rubrica sono quelle dell'autore e non riflettono necessariamente quelle di CoinDesk, Inc. o dei suoi proprietari e affiliati.

Picture of CoinDesk author Olivier Rikken