Contratti intelligenti per manichini

Se non hai ancora capito cosa diavolo è un contratto intelligente ...

Ok, sai un po 'di Bitcoin (vedi: Spiega Bitcoin come se fossi cinque). Hai visto la blockchain sulle notizie.

Ma cos'è questa nuova cosa di Ethereum? Apparentemente è questa criptovaluta che puoi usare per costruire "contratti intelligenti". Sembra impressionante. Quindi ... cosa sono di nuovo? (Spoiler: non sono così intelligenti. E non sono davvero contratti!)

Invece di una definizione di una riga, proviamo a ottenere un'intuizione. Innanzitutto, rivisiteremo la blockchain e la parola "fiducia". Quindi, parleremo della parola "contratto". Comprendere entrambe le parole è il segreto.

Parte I: cosa intendiamo per "fiducia (meno)"

Il più delle volte, quando pensiamo a Bitcoin (o Ethereum), abbiamo un'immagine mentale di, beh ... monete.

Dopo tutto, queste criptovalute non sono? Non è questo il punto? Nella nostra mente vediamo oggetti: oro digitale o argento (o tulipani per gli scettici).

Poiché queste immagini sono facili da capire, ci dimentichiamo un po 'di quella cosa che sta alla base di tutto. Quindi, dico che iniziamo a pensarci in modo diverso.

Pietra digitale

Davvero? Rock digitali? In realtà, le rocce sono piuttosto utili.

Abbiamo questo linguaggio nella lingua inglese che dice qualcosa del genere: “mettilo nella pietra”.

"Ho rivisto il contratto Bob. Sembra buono. Mettiamolo nella pietra! "
"Non ti eccitare troppo, Alice, non c'è ancora niente di speciale."
“Questo è Dio. Ho scritto i miei 10 comandamenti su queste due tavolette di pietra. Sai. Nel caso in cui inizi a ricevere idee divertenti. "

Questa metafora continua ad avere un significato in un mondo moderno perché nel mondo fisico (antico), la pietra aveva alcune proprietà interessanti:

  1. Quando scolpisci qualcosa sulla pietra c'è una finalità fisica e una sua permanenza. Non puoi apportare modifiche in questo modo.
  2. Se provi a "cancellare" qualcosa in seguito, sarà ovvio. Qualsiasi modifica apportata ad esso è abbastanza trasparente e a prova di manomissione (dimostrabile).
  3. Queste regole si applicano ugualmente a tutti. La pietra è neutra. Obbedisce alle leggi della fisica, non agli uomini. Non importa se sei un re potente o un contadino: si comporta esattamente allo stesso modo per tutti.

A causa di tutte queste proprietà, abbiamo un livello piuttosto elevato di fiducia nella pietra.

Voglio dire, c'è un motivo per cui non diciamo mai "mettiamo questo accordo nella sabbia". La pietra è il tipo di cosa che posso indicare in futuro per l'evidenza. La pietra equivale a una solida prova - non solo qualsiasi materiale lo farà!

L'economista è d'accordo!

Quando si tratta di esso, una blockchain è davvero solo quanto sopra: un tipo di materiale che, attraverso uno speciale mix di crittografia e decentralizzazione, ha le proprietà di permanenza, trasparenza e neutralità, qualunque cosa tu ci metta sopra.

Che si tratti di un elenco di quante mele hai inviato a Joe. O le parole "Adoro Jenny". Non importa. Quando lo metti su una blockchain, è acceso.

Impostare qualcosa su una blockchain è come impostare qualcosa in pietra. Rende la fiducia più semplice.

Tranne ora possiamo farlo digitalmente. E questo è piuttosto speciale.

Pensare a una blockchain come a un pezzo di pietra su cui puoi scrivere cose (anziché un pezzo di valuta) ci aiuta anche a comprenderne il vasto potenziale. Il che ci porta a ... contratti!

Parte II: Cosa intendiamo per "Contratti"

La parola "contratto" ha molti bagagli. Iniziamo a pensare: documenti legali e avvocati.

La descrizione di riferimento usata nelle notizie è un po 'migliore: cose che si auto-eseguono o si eseguono automaticamente. Sembra vagamente familiare però. Dopotutto, non c'è davvero nulla di nuovo nell'automazione o nell'esecuzione.

Il bisnonno dei contratti intelligenti

Prendi ad esempio il tuo buon distributore automatico d'ufficio. È una macchina "stupida" che fa ciò che viene detto ed esegue le cose automaticamente. È in circolazione da decenni!

Ecco, la macchina magica che sputa sostentamento ad alto contenuto di fruttosio.

Facciamo finta che un pomeriggio ti trovi di fronte a questa macchina. Dice: "Se mi dai $ 2,50 e premi questo pulsante, otterrai una Diet Coke".

In realtà potrebbe non dire quelle parole da nessuna parte. Ma questa è la promessa di questa piccola interazione. Si potrebbe anche chiamare questo una sorta di semplice accordo. (Puoi indovinare dove sta andando.)

Dai da mangiare ai soldi. Premi il bottone. Presto! Imbottigliato, dimentichi questo evento insignificante della tua vita 2 secondi dopo e ricomincia a preoccuparti di quei dannati rapporti TPS che hai dimenticato di fare.

Bene, non te ne sei accorto, ma tutta questa faccenda era in realtà un piccolo programma ("contratto") codificato ("scritto") nella macchina che era in esecuzione quando si premeva il pulsante ("firmato su di esso"). Qualcosa di simile a:

> se il denaro ricevuto == $ 2,50
> && il pulsante premuto è "Diet Coke"
> quindi rilasciare Diet__Coke

Il codice del computer, come vedi, è un po 'come un contratto.

Sta facendo dichiarazioni e dichiarazioni. Ci sono termini (se lo fai ... allora ...). E proprio come qualcuno di cui ti fidi - soddisfa persino la sua conclusione dell'affare!

Ecco. I contratti sono solo codice. Ma a differenza di un "contratto" in inglese, è qualcosa che sia gli umani che le macchine possono leggere. Divertimento extra!

Ok ma…

Ora sei più confuso su questa attività di contratto intelligente. Come abbiamo detto, questo non è niente di speciale. In effetti, come dimostra il distributore automatico, questo tipo di codice è già ovunque nella nostra vita quotidiana. Se un contratto intelligente è solo un codice "if ... then" (o qualsiasi altro codice), allora qual è il trucco? Cosa c'è di veramente nuovo?

Distributori automatici 2.0

Un giorno soleggiato, vedi un distributore automatico seduto all'angolo. Non l'hai mai visto prima!

Ti avvicini e dai un'occhiata. Questa macchina dice: "Se metti $ 1,000 questa macchina ti darà $ 5.000".

Whoa! Chiunque abbia messo insieme questa macchina deve essere molto ricco e generoso (o follemente stupido ...). In entrambi i casi. 1k per 5k? Nessun problema: è un affare che prenderai ogni giorno! Destra?

Questo è esattamente come la nostra buona vecchia macchina Diet Coke. Stessa logica. Stesso processo if-then.

Tranne ora la posta in gioco è diversa. Ti metti la mano in tasca ma all'improvviso ti senti titubante. Chi diavolo ha messo insieme questa macchina? E se mangia i tuoi soldi? $ 1,000 non è un piccolo importo - lo stavi risparmiando da mesi. Non ci hai pensato due volte su quella Diet Coke. Ma ora? Ora ti rendi conto che forse i distributori automatici non sono così semplici.

Inizi a pensare alla fiducia.

Come facciamo a sapere che ha fondi sufficienti per sputare i $ 5.000 promessi?
Come facciamo a sapere se il codice verrà eseguito?
Esiste un modo per verificare pubblicamente e in modo trasparente questo codice?

Conclusione

Il distributore automatico da $ 5.000 è un esempio estremo e teorico, ma suggerisce il problema del ridimensionamento della fiducia. In un mondo digitale in espansione in cui le persone possono connettersi in modo anonimo: la fiducia diventa una cosa complicata. Di solito facciamo affidamento su terzi e altri uomini di mezzo per questo motivo. Dobbiamo. Soprattutto se stiamo spostando le cose in modo molto più prezioso delle Diet Coke. Sai, come roba finanziaria nuova. O l'idea stessa di "valore" e "proprietà" stessa.

Hmmm. Se solo tu potessi sposare l'automazione della programmazione tradizionale e le proprietà degne di fiducia della pietra digitale….

Bene, questo è esattamente ciò che è un contratto intelligente! È solo un codice, con un tipo molto speciale di supporto.

Tieni presente che prima abbiamo avuto sia il calcolo che l'esecuzione. Ma mai uno che è stato finalizzato in modo neutro, dimostrabile e affidabile sulla pietra (digitale).

Che ne dici del mondo reale? Alcune idee

Gioco online: lotta alle frodi sui siti di gioco. Le probabilità di quel lancio di dadi che hai appena fatto sono 1 su 6? Come facciamo a sapere che pagheranno? Bene, perché non "impostare il codice in pietra" e dimostrarlo? Un esempio dal vivo.

Catene di approvvigionamento: forse tracciare e verificare dove e come vengono fatte le cose?

Votazione: forse un processo di voto a prova di manomissione?

Aziende decentralizzate e autonome: tempo di fantascienza.

Nel corso della storia, l'automazione è sempre stata applicata al fondo delle aziende. La catena di montaggio. L'operaio. Ma se le regole di una società sono solo una sorta di logica operativa, allora non è possibile capovolgere la piramide e automatizzare invece la cima?

Questi sono solo alcuni esempi di ciò che potresti codificare su una blockchain usando il linguaggio di programmazione completo Turing di Ethereum. Siamo solo all'inizio. Se lo sogni, potresti essere in grado di codificarlo.

E in molti modi, questo è ciò che rende tutto questo emozionante. Abbiamo alcune ipotesi, ma onestamente - non abbiamo idea di cosa sarà costruito negli anni e nei decenni a venire.

Tutto quello che sappiamo è che i blocchi sono qui. Ed è aperto a tutti. Il resto sta a voi.

Pronto a scendere nella tana del coniglio?

  • Una guida per principianti a Ethereum
  • Crypto-token: una svolta nella progettazione di reti aperte (Chris Dixon)
  • L'idea di contratti intelligenti (Nick Szabo, 1997)
  • L'altro lato della medaglia: una prospettiva diversa sulle criptovalute