Uno smart contract è un tipo speciale di istruzioni memorizzate sulla blockchain. Ha anche la capacità di eseguire automaticamente azioni secondo una serie di parametri già programmati. Tutto questo in modo immutabile, trasparente e completamente sicuro.
contratti intelligenti blockchain
Tsvuotare la creazione di Bitcoin, Sono apparsi molti progetti interessanti, che hanno contribuito con nuove idee e soluzioni decentralizzate a molti dei processi o applicazioni centralizzati che tutti usiamo oggi. In tal caso, ti chiediamo: I contratti intelligenti suonano un campanello? contratti intelligenti mirano a eliminare gli intermediari per semplificare i processi e quindi permettere al consumatore di risparmiare sui costi.
Inizia su Bit2Me ed entra nel mondo delle criptovalute con un vantaggio. Iscriviti facilmente e ricevi 5€ GRATIS sul tuo primo acquisto con questo link. Non aspettare oltre e unisciti alla rivoluzione crittografica! Registrazione
Cos'è uno smart contract?
Per capire uno smart contract, dobbiamo prima ricordare qual è il significato di contratto. Un contratto non è altro che un accordo tra due o più parti, una situazione in cui si definisce cosa si può fare, come si può fare, cosa succede se qualcosa non viene rispettato . Ovvero regole del gioco che consentono, a tutte le parti che lo accettano, di capire in cosa consisterà l'interazione che intendono mettere in atto.
Finora i contratti sono stati documenti orali o scritti. Questi documenti sono soggetti alle leggi e alle giurisdizioni territoriali e talvolta richiedono notai. Cioè, più costi, tempo e terze parti coinvolte nel processo. Per questo motivo, non sono accessibili a tutti. E questo non è il peggio: il contenuto dei contratti può essere soggetto a interpretazione.
Invece, uno smart contract è in grado di realizzarsi e di farsi rispettare in modo autonomo e automatico, senza intermediari o mediatori. Non essendo verbale né scritto in nessuna delle lingue che parliamo, evita il problema dell'interpretazione personale. Gli smart contract sono degli "script" (codice informatici) scritti con linguaggi di programmazione. Ciò significa che i termini del contratto sono pure decisioni e comandi all'interno del codice che li costituisce.
D'altra parte, uno smart contract può essere creato e denominato da persone fisiche e/o giuridiche. Ma anche da macchine o altri programmi che funzionano in modo autonomo. Uno smart contract è valido senza dipendere dalle autorità. Ciò è dovuto alla sua natura: è un codice visibile a tutti, che non può essere modificato in quanto presente sulla tecnologia blockchain. Questo gli conferisce un carattere decentralizzato, immutabile e trasparente.
Gli smart contract e il loro enorme potenziale
Con quanto sopra, sei stato sicuramente in grado di vedere l'enorme potenziale che detengono questi contratti intelligenti. È importante notare che, essendo distribuito su migliaia di computer, impedisce a una grande azienda di presidiarli, il che elimina la burocrazia, la censura e i grandi costi/tempi impliciti in questo processo che, tra l'altro, fino ad ora è il custode.
Se uniamo i principi di uno smart contract con la creatività di tanti imprenditori del pianeta, il risultato sarà rappresentato da possibilità mai viste prima, accessibili a tutti e a costi che rasentano il gratuito. Ecosistemi senza figure autoritarie che sottomettono i vari membri alla loro volontà. Stiamo parlando di un mondo più giusto.
Immagina un'auto Tesla a guida autonoma, acquistata in gruppo, in grado di autogestirsi e di noleggiarsi. Tutto questo senza che una società di tipo Uber dietro prenda il 10%. Di ciò possiamo dire: Benvenuti nel mondo degli smart contract.
I primi smart contract
La prima volta che gli smart contracts vengono resi noti è attraverso Nick Szabo, giurista e crittografo, che menzionato pubblicamente il termine in un documento nel 1995. Due anni dopo, nel 1997, si sviluppò un documento molto più dettagliato spiegare i contratti intelligenti.
Sfortunatamente, nonostante la definizione della teoria, era impossibile realizzarla con l'infrastruttura tecnologica esistente. Affinché gli smart contract vengano eseguiti, devono esistere transazioni programmabili e un sistema finanziario che le riconosca, digitalmente native.
Precisamente, quello che Szabo ha definito inesistente nel 1995, nel 2009 (quasi 15 anni dopo) è diventato realtà con la comparsa di Bitcoin e della sua tecnologia, la catena di blocchio blockchain.
Bitcoin e gli smart contract
Bitcoin possiede alcuni smart contract già creati che vengono eseguiti automaticamente e in modo trasparente per l'utente. Quando parliamo di contratti di distribuzione ci riferiamo a uno dei casi d'uso di Bitcoin per creare accordi tra persone tramite la blockchain. Bitcoin, tra tutti i suoi vantaggi, consente di aggiungere logica al denaro, qualcosa di unico: è denaro programmabile. Questa logica applicata al denaro ci permette di risolvere problemi comuni che possiamo riscontrare oggi, ma aumentando il livello di fiducia durante tutto il processo automatizzato in cui avviene l'interazione.
Alcuni esempi di smart contract in Bitcoin
A titolo esemplificativo, potrebbero essere sviluppati nuovi prodotti o applicazioni quali:
- Mercati distribuiti che consentano l'uso di contratti P2P y trading nei mercati con Bitcoin proponendosi come un completo rivale dell'attuale sistema finanziario.
- Proprietà come automobili, telefoni, case o elementi non fisici controllati tramite la blockchain fanno parte delle cosiddette smart property. Attraverso l'uso di smart contract e smart property, il livello di fiducia sarebbe molto più alto, si ridurrebbero le frodi, le commissioni di mediazione per terze parti e sarebbe possibile portare le operazioni a un nuovo livello.
- Automatizzazione in caso di eredità che stabilisce la ripartizione dei beni dopo la morte. Non appena si verifica la morte, il contratto entrerebbe in vigore e verrebbe messo in atto, in questo caso distribuendo i fondi alle parti indicate nel contratto.
- Assicurazione: denunce di incidenti, pagamenti aziendali per riparazioni, riduzione delle frodi sugli incidenti ...
Il fatto che gli smart contract usano la tecnologia Bitcoin per esistere, qualcosa di fantastico per Bitcoin, poiché gli sta facendo ricevere molta più attenzione portando centinaia di migliaia di nuovi utenti nel suo ecosistema. Non è difficile, infatti, trovare affermazioni del tipo: «I smart contract sono la killer APP di bitcoin».
Questa logica, che può essere applicata alle transazioni Bitcoin, viene eseguita tramite l'uso di un tipo di linguaggio proprio, permettendo che sia la stessa blockchain a stabilire cosa fare in base alle indicazioni programmate. Ciò significa che abbiamo una transazione con delle istruzioni definite in modo distribuito e immutabile. Il che offre una completa sicurezza e senza dare spazio all'interpretazione.
Uno smart contract non è quello che pensi
Oggi tutto è controllato da sistemi informatici. Tutto interagisce con loro. Nello sviluppo di applicazioni è normale che i programmatori creino una serie di "porte" alle loro applicazioni (chiamate API). Queste porte consentono ad altri programmatori di accedere a un'applicazione per creare o ottenere informazioni. Quasi tutti i siti web o programmi hanno le loro. Cioè, viene definito un protocollo, un contratto, una maniera conosciuta con cui chiamare l'applicazione e con una struttura dati. È attraverso questa porta che si ottiene una risposta, ma con una struttura dati prevedibile. In questo caso, affinché la comunicazione non fallisca e, con essa, i programmi.
Ma questo contratto non è garantito. Il server delle applicazioni è controllato da qualcuno che ha la capacità di far funzionare il programma in modo diverso, da un giorno all'altro. È centralizzato e può mutare su decisione di quella terza parte. Non è "smart".
Le persone hanno bisogno di contesti prevedibili, trasparenti e incorruttibili. Gli smart contract sono pezzi di codici simili, cioè ci sono vari modi per chiamarli e ottenere risposte, hanno un contratto, ma sono anche immutabili perché sono distribuiti in migliaia di nodi che non possono alterarne il contenuto. In questo modo si ottiene un programma che agirà sempre allo stesso modo, senza richiedere la buona volontà di terze parti: una cosa necessaria da usare in vari contesti. Gli Smart Contract sono programmi cloud che agiscono sempre allo stesso modo e consentono di archiviare informazioni che non possono essere modificate a tradimento. Sono i programmi più sicuri mai creati nell'umanità e falliscono solo quando sono mal programmati.
Smart contract programmati male
Gli Smart Contract sono in grado di gestire gli asset digitali soggetti a un determinato valore economico; pertanto essi, in realtà, possono gestire del denaro. Ciò richiede un'enfasi particolare sulla loro corretta programmazione, in quanto uno Smart Contract potrebbe presentare falle di sicurezza o problemi che genererebbero errori di esecuzione o comportamenti imprevisti.
Quando accade questo, il denaro potrebbe andare completamente perduto. Non poche volte si è verificato ciò e senza il Know How necessario continuerà a succedere a diverse iniziative.
Purtroppo questo accade frequentemente, quindi è davvero importante prestare particolare attenzione durante lo sviluppo e il test di questi software.
Come si crea uno smart contract in Bitcoin?
Affinché tutto ciò sia possibile, deve esserci un processo completamente sicuro che garantisca che almeno due parti possano stipulare il contratto senza doversi fidare l'una dell'altra o addirittura conoscersi.
I contratti utilizzano il sistema decentralizzato di Bitcoin per applicare accordi finanziari senza fare affidamento su agenti esterni, come i sistemi giudiziari, riducendo il rischio di trattare con entità sconosciute nelle transazioni finanziarie.
Processo di creazione di uno smart contract
Ci sono diversi passaggi per creare smart contract sicuri. Prendiamo ad esempio il caso di voler effettuare versamenti sicuri su qualsiasi sito web che accetti bitcoin. A nessuno piace perdere i propri soldi, giusto?
Insieme tutte queste caratteristiche non solo consentono la costruzione di nuovi e interessanti strumenti finanziari sulla blockchain di Bitcoin ma, poiché ogni smart contract è composto da persone o macchine, le possibilità di innovazione nei campi di Internet of Things, Insurtech, Logistica, Amministrazione sono così ampie che è probabile che molto presto vengano create le prime killer app o applicazioni rivoluzionarie di questi settori.
Passaggi per creare uno smart contract
- L'utente e la pagina web si scambiano una chiave pubblica appena creata.
- Quindi l'utente crea la prima transazione senza trasmetterla, mettendo ad esempio 5 BTC in un output, che deve essere firmato sia dall'utente che dal sito web.
- L'utente invia l'hash della prima transazione alla pagina web.
- Il portale crea una seconda transazione corrispondente al contratto. In questa seconda transazione, la prima viene spesa e restituita all'utente tramite l'indirizzo fornito nel primo passaggio. Ma poiché la prima transazione richiede due firme (utente e pagina web) questa operazione non risulta ancora completata. È qui che entra in gioco un nuovo parametro: nLockTime. Questo può essere aggiunto in una transazione bitcoin impostando una data futura ad esempio di 6 mesi. Prima di questa data, tali fondi non potranno essere incorporati in nessun'altra transazione. Il Sequence Number dell'input viene impostato su 0.
- Infine, l'intera transazione non firmata viene restituita all'utente. Questo controlla che tutto sia corretto e che le monete tornino in suo possesso. Ovviamente, dopo i 6 mesi stabiliti con nLockTime. Avendo il Sequence Number a 0, questo contratto potrebbe essere modificato in futuro se entrambe le parti lo riterranno conveniente. Ma ovviamente ... Se gli amministratori del sito scompaiono, come potrebbe l'utente recuperare i fondi?
- Tieni presente che lo script dell'input (istruzioni registrate in ogni transazione) non è ancora terminato. Lo spazio riservato alla firma dell'utente è ancora costituito da un insieme di zeri, dopo che il portale creerà la seconda transazione. A questo punto, manca nel contratto solo la firma dell'utente.
- A partire da qui, trascorsi i 6 mesi che sono stati determinati, verranno trasferite sia la prima che la seconda transazione e i 5 BTC della prima transazione verranno restituiti all'utente in questione.
Tutte queste caratteristiche, messe insieme, consentono non solo la costruzione di nuovi e interessanti strumenti finanziari sulla blockchain di Bitcoin, ma anche, poiché ogni smart contract è composto da persone o macchine, le possibilità di innovazione per il campo dell'Internet of Things, Insurtech , Logistica , Amministrazione sono così estese che è probabile che le prime killer app o applicazioni rivoluzionarie in queste aree cominceranno ad apparire molto presto.
Contratti intelligenti in Bitcoin
Non dimentichiamo che quando si parla di Bitcoin si parla di un ecosistema nuovo, dinamico e in continua crescita, ma anche, come abbiamo indicato in precedenza, di smart contract.
Insieme agli indirizzi multi-firma, i doppi depositi sono una delle funzioni che facilitano il corretto funzionamento degli smart contract di questo tipo. Questa funzione è stata introdotta da BitHalo ed è innovativa in quanto elimina la necessità che una terza parte agisca come arbitro. Fondamentalmente prevede che le parti, ad esempio un acquirente e un venditore, eseguono ENTRAMBE una versamento collegato a uno smart contract. Il programma del contratto ha validità per un certo periodo prima che scada. Se le persone coinvolte nell'accordo non lo portano a termine entro quel lasso di tempo, i fondi dei depositi verranno bruciati, cioè verranno inviati a un indirizzo di cui nessuno conosce la chiave privata, il che costringe le parti a fare uno enorme sforzo nella ricerca delle soluzioni.
Sebbene Bitcoin abbia un linguaggio di programmazione per aggiungere logica, c'è chi pensa che a volte non sia all'altezza. Per questo sono state create soluzioni che portano gli smart contract verso nuovi orizzonti, con linguaggi di Turing completi.
Cos'è Counterparty?
Counterparty è nato nel 2014. È una piattaforma open source in cui è possibile sviluppare applicazioni peer to peer. Inizialmente queste applicazioni sono state orientate al settore finanziario, sulla blockchain Bitcoin: attualmente il protocollo implementa e supporta la creazione di asset, l'emissione di obbligazioni da tali asset, il pagamento di dividendi, il trading di asset utilizzando un mercato decentralizzato, scommesse binarie e contratti per differenza (CFD). Il suo protocollo open source, oltre a permettere di creare e operare con asset digitali, permette anche di scrivere smart contract, permettendo di trasformare molte delle azioni nel mondo reale in codice che funziona automaticamente senza bisogno di intermediari e resistente ai guasti.
In Counterparty è presente anche un token (o criptovaluta) chiamato XCP. Questo viene utilizzato per offrire alcune possibilità che, al momento, non sono tecnicamente possibili utilizzando BTC (bitcoin).
Sebbene l'interesse per il contratto intelligentes più potente è stato annunciato dall'inizio del progetto, è stato finalmente annunciato che sarebbe stato introdotto all'interno della controparte Ethereum EVM, che consentirebbe l'esecuzione di contratti intelligenti identici a quelli di Ethereum ma sulla rete Bitcoin, consentendo un'enorme varietà di applicazioni come Organizzazioni Autonome Decentralizzate (DAO), sistemi di identità, sistemi di voto basati sul consenso, tra gli altri.
Cos'è RootStock?
Ceppo di radice (RSK), noto come l'Ethereum di Bitcoin, è un'altra delle piattaforme che cerca di portare i contratti intelligenti completi di Turing su Bitcoin per sfruttare l'effetto rete e la sicurezza di Bitcoin senza dover creare qualcosa da zero (è stato comunicato che la piattaforma sarà compatibile anche con Ethereum). È una piattaforma open source per la creazione di smart contract che premieranno i miner che partecipano attivamente. Il suo obiettivo principale è aggiungere valore e funzionalità all'ecosistema Bitcoin attivando smart contract sicuri in rete, aggiungendo opzioni per pagamenti immediati e maggiore scalabilità. Per fare ciò, RootStock utilizza catene laterali (sidechain), connesso alla catena Bitcoin, e al suo token (Roots), che serve solo per essere scambiato con bitcoin.
Piattaforme che innovano con gli smart contract
Non tutti i progetti ruotano esclusivamente attorno alla rete Bitcoin e ci sono già diverse alternative. Primo fra tutti Ethereum e, nel corso del 2016, anche Lisk. Entriamo un po' nel dettaglio per descrivere entrambi.
Smart Contract su Ethereum
Ethereum è uno dei progetti più famosi nel settore degli smart contract. , è una piattaforma informatica distribuita basata su una blockchain pubblica come Bitcoin e permette inoltre di applicare smart contract P2P (tra i nodi, senza server centrali) in una macchina virtuale decentralizzata chiamata Macchina virtuale Ethereum (EVM).
Si basa sull'intera teoria di Bitcoin in quanto al fatto di essere distribuito, avere la propria criptovaluta, miner e persino la sua blockchain tra l'altro ma, a differenza di Bitcoin, Ethereum ha creato un interprete del linguaggio di programmazione molto più esteso (Piena tura), consentendo di aggiungere una logica molto più complessa all'interno della blockchain. In altre parole, potrebbe essere simile a un computer distribuito, che usa la sua criptovaluta (etere) come "benzina" di cui ha bisogno il contratto affinché i minatori possano eseguirlo. Vale a dire, ora con Ethereum i contratti sono programmi con molte più funzionalità e possibilità. Anche se per questo, e questa è una cosa che molti criticano, hanno dovuto creare da zero una rete completamente nuova, rinunciando alla rete Bitcoin (la più potente al mondo).
Puoi consultare, studiare o copiare un ampio elenco di applicazioni decentralizzate sviluppate su Ethereum su State of Dapps. Vuoi saperne di più su Ethereum?
Corso Ethereum 101
Livello medioIn questo corso Ethereum 101 approfondirai la tua conoscenza delle criptovalute entrando nell'ecosistema di Ethereum e conoscendo tutto sulle sue caratteristiche, evoluzione e strumenti.
Smart contract su Lisk
Lisk è una piattaforma per creare ed applicare smart contract in maniera decentralizzata, è stato lanciato nel 2016, presentandosi come una delle migliori opzioni per sviluppare smart contract sicuri e veloci grazie all'utilizzo di Javascript (il linguaggio di programmazione più utilizzato) come linguaggio per la creazione di smart contract, diventando così un'alternativa a Ethereum in cui si trova il linguaggio di programmazione utilizzato Solidity.
Dopo una prevendita di successo della valuta, che avrà bisogno del contratto per funzionare (il LSK), durante la quale sono stati raccolti più di 14,000 bitcoin, Lisk si trova ancora in una fase iniziale ma dispone già di diversi concetti di DAPP su cui si sta lavorando, come la 'proof of existence' o un social network per artisti chiamato Discovr.
Gli oracoli
Non possiamo dimenticare gli oracoli. Una delle caratteristiche più importanti affinché uno smart contract possa interagire con il mondo reale, sono le cosiddette oracoli. Gli Oracle sono strumenti che consentono di aggiornare gli stati interni di uno smart contract attraverso informazioni provenienti dall'estero (generalmente ottenute tramite API): ad esempio, ottenere il prezzo di un'azione o di una valuta o se un pacco è stato spedito dall'azienda di trasporti.
Per spiegarlo meglio immaginiamo un contratto intelligente su una scommessa calcistica: Madrid – Barça, il contratto utilizzerebbe come oracolo una fonte ufficiale, ad esempio il sito de LaLiga. A seconda del risultato, i fondi vengono rilasciati al vincitore. Chi ha bisogno di un bookmaker che prenda una percentuale dei tuoi soldi? Questa stessa sarebbe una casa scommesse senza commissioni, sicura e senza intermediari (decentralizzata).
Gli oracoli funzionano anche in modo autonomo. Tuttavia, tieni presente che la fonte utilizzata dall'oracolo è una terza parte di cui ci si deve fidare e che potrebbe essere danneggiata dal suo proprietario, crackata o semplicemente il suo server potrebbe fallire, cosa che ha implicazioni negative: stiamo CENTRALIZZAndo la fiducia , qualcosa di contrario alla filosofia blockchain. Fortunatamente, già esistono alcuni progetti che stanno sviluppando soluzioni per questo problema, come per esempio orisi y Oraclizzare. In sostanza, combinano i risultati di tutti i fornitori di informazioni che vengono loro indicati e sono loro che determinano la loro decisione in base a ciò che dice loro la maggioranza. Cioè decentralizza l'ottenimento del risultato.
Un mondo dominato dagli smart contract
Riesci a immaginare che, tra qualche decennio, i politici dell'epoca passino 4 anni a preparare lo smart contract dove definiranno come verranno distribuiti i soldi e le azioni che avranno? In questo modo, la società dovrebbe votare (anche attraverso la tecnologia blockchain) solo lo smart contract che vuole utilizzare durante quel nuovo periodo.
Questo garantirebbe l'esecuzione di quanto votato, con totale trasparenza e controllo delle spese. Questo potrebbe essere il modo in cui si svolgeranno le elezioni tra non molto tempo.
Questo è solo l'inizio
Come hai visto, alcune piattaforme competono per soluzioni simili in un ambiente di creatività costante ma tutte con lo stesso obiettivo: eliminare i punti di attrito del sistema tradizionale per far risparmiare tempo e denaro alle persone. Resta tutto da fare, ci sono tanti problemi, tante cose che non funzionano bene, non è un'occasione unica per fare qualcosa?
Andiamo verso un mondo globale, ma distribuito, senza intermediari o grandi aziende che organizzano tutto a piacimento nell'ombra. Un mondo globale con servizi globali, dove contratti intelligenti tHanno tutti i voti per essere il seme di un cambiamento senza precedenti. Gli smart contract si traducono in questo e molto altro, ora non resta che creare delle semplici interfacce che sfruttino questa potenzialità in casi specifici. Sei pronto per questo?
Clicca qui per aprire GRATUITAMENTE e in tutta sicurezza il tuo conto utente in spagnolo e ricevere un regalo di 5€.