This article has been translated from English to Italian.

Ethereum è nota come"piattaforma di smart contract".

Una piattaforma (o piattaforma informatica) è un ambiente operativo in cui è possibile eseguire (o "eseguire") un software, come programmi o applicazioni.

Ma che diavolo è uno smart contract?

Che cos'è uno smart contract?

Gli smart contract sono programmi informatici automatizzati che vengono ospitati ed eseguiti su una blockchain.

Smart Contract Code

Nonostante il nome, gli smart contract non sono necessariamente intelligenti o legalmente vincolanti.

"Automatizzati" invece di "intelligenti" e"programma" invece di "contratto" sarebbero stati nomi migliori, ma non sono io il genio che ha inventato il concetto!

Nick Szabo, che ha coniato il termine alla fine degli anni '90, ha paragonato gli smart contract a un distributore automatico.

Gli utenti inseriscono le monete nella macchina e, supponendo che l'importo inserito sia corretto, la macchinasi "auto-esegue"e consegna la merce richiesta. Non c'è nessun altro coinvolto, solo tu e il distributore automatico. Non è richiesto alcun coinvolgimento di terze parti. Nemmeno il proprietario del distributore automatico.

L'interazione richiede poca o nessuna fiducia: il distributore automatico non ha altra scelta che consegnare la merce dopo aver ricevuto il denaro.

Smart Contract Example

Ora immagina di scrivere contratti con termini chiari e prevedibili come un distributore automatico e poi di utilizzare la tecnologia blockchain per implementare automaticamente i termini di un accordo tra le parti.

Questo è ciò che fa uno smart contract.

In Ethereum, gli smart contract sono frammenti di istruzioni codificate inviate alla blockchain in modo che i partecipanti alla rete possano applicare e archiviare questi contratti in modo sicuro e affidabile.

In termini leggermente più tecnici, uno smart contract è un insieme di codice e dati che risiede a un indirizzo specifico sulla blockchain di Ethereum.

Gli smart contract sono anche deterministici, in modo che le parti coinvolte nel contratto sappiano quali risultati aspettarsi quando il contratto viene eseguito.

Pensa a uno smart contract come a un programma software sulla blockchain che si esegue automaticamente quando vengono soddisfatte condizioni predeterminate.

Queste condizioni predeterminate, scritte direttamente in righe di codice, sono l'equivalente dei "termini dell'accordo" in un contratto tradizionale.

Ora che sai cosa sono gli smart contract, lascia che ti spieghi cosa rende Ethereum una piattaforma di smart contract.

Cos'è l'EVM?

EVM

No, non è un nuovo tipo di musica elettronica.

Se gli smart contract sono istruzioni scritte in codice, è la Ethereum Virtual Machine (EVM) che li esegue sulla blockchain di Ethereum.

Una "macchina virtuale"è un software che si comporta come un vero e proprio computer fisico in grado di eseguire programmi e distribuire applicazioni.

Si tratta fondamentalmente di un programma software su un computer fisico che funziona come se fosse un computer separato all'interno del computer principale.

Perché è necessario un "computer separato" per eseguire smart contract (che sono solo programmi per computer)?

Poiché non tutti i nodi Ethereum (che sono solo computer) utilizzano lo stesso hardware, sistema operativo (OS) e altre impostazioni, è necessario un modo per "astrarre" tutto questo in modo che il codice dello smart contract possa essere eseguito senza dover gestire tutti i diversi tipi di configurazioni del computer con i loro requisiti specifici.

Altrimenti, dovresti scrivere una versione diversa dello smart contract per ogni tipo di configurazione del computer! 👎

Gli smart contract non vogliono avere a che fare con tutto questo dramma! Vogliono essere indipendenti dal dispositivo e dal sistema operativo.

È qui che entra in gioco l'EVM. 💪

Fornisce un ambiente di esecuzione per gli smart contract, il che significa che uno smart contract può essere eseguito ("eseguito") in qualsiasi ambiente ("qualsiasi computer o sistema operativo").

Gli sviluppatori possono scrivere uno smart contract ed essere sicuri che segua la pratica standard del settore software "Write once, run anywhere" (WORA), nota anche come "Write once, run everywhere" (WORE).

In pratica, uno smart contract è in grado di funzionare su qualsiasi computer dotato di EVM, Figo, vero?

Ma non è l'unica cosa interessante.

Poiché lo scopo dell'EVM è quello di essere il motore di calcolo incorporato in tutti i nodi Ethereum completi , è Turing-complete .

In gergo informatico,"Turing-complete " significa che l'EVM può teoricamente calcolare qualsiasi cosa tu possa pensare di calcolare.

Quindi, in teoria, QUALSIASI applicazione informatica può essere programmata ed eseguita sulla piattaforma Ethereum!

Gli smart contract sono scritti in codice utilizzando linguaggi di programmazione di alto livello come Solidity, Vyper o Serpent.

Questo codice viene compilato in qualcosa chiamato "bytecode" dall'EVM che viene poi distribuito alla blockchain di Ethereum.

Grazie all'EVM, la blockchain di Ethereum può andare oltre gli smart contract e può essere utilizzata per creare applicazioni decentralizzate (dApp).

Nella prossima lezione, impareremo di più sulle applicazioni decentralizzate (dApp).