La frase e il concetto di 'contratti intelligenti' erano proposto da Nick Szabo con la visione di estendere la funzionalità dei metodi di transazione elettronica, come POS (punto vendita), al regno digitale. I contratti intelligenti ti aiutano a scambiare proprietà, azioni o qualsiasi cosa di valore in modo trasparente e senza conflitti, evitando i servizi di un intermediario.
Di seguito sono riportati gli argomenti che tratteremo in questo blog Smart Contract:
- Cosa sono gli smart contract?
- Contratti intelligenti di Nick Szabo
- Perché abbiamo bisogno di contratti intelligenti?
- Contratti intelligenti: complessità in base ai casi d'uso
- Caso di utilizzo degli smart contract: settore sanitario
- Vantaggi degli Smart Contracts
- Piattaforme Blockchain per la scrittura di contratti intelligenti
- Strumenti per scrivere e distribuire contratti intelligenti
- Linguaggi di programmazione per la scrittura di Ethereum
- Trasferimento di proprietà Smart Contract
Cosa sono gli smart contract?
I contratti intelligenti sono un programma per computer autooperativo che viene eseguito automaticamente quando vengono soddisfatte condizioni specifiche.
come fare i poteri in java
Contratti intelligenti = contratti senza fiducia
Con i contratti intelligenti, puoi condividere qualsiasi cosa di valore, tra estranei in modo trasparente e privo di conflitti.
Puoi anche pensare agli smart contract come a una Blockchaindistributore automatico basato. Proprio come i distributori automatici sono configurati per ricevere dollari per erogare la tua scelta di articoli, i contratti intelligenti usano etere come carburante per eseguire codice basato su regole preconfigurate.
Cosa sono gli smart contract | Distribuisci il tuo primo contratto intelligente Ethereum | Edureka
Contratti intelligenti di Nick Szabo
Nel suo articolo, Szabo ha proposto l'esecuzione di un contratto per attività sintetiche, come derivati e obbligazioni. “Questi nuovi titoli sono formati combinando titoli (come obbligazioni) e derivati (opzioni e futures) in un'ampia varietà di modi. Strutture a termine molto complesse per i pagamenti possono ora essere incorporate in contratti standardizzati e scambiate con bassi costi di transazione, grazie all'informatizzazioneanalisi di queste complesse strutture di termini ', ha scritto.
Perché abbiamo bisogno di contratti intelligenti?
Possiamo automatizzare molte soluzioni scrivendo un contratto su una Blockchain per rendere le cose semplici ed efficienti. confrontiamo e valutiamo come i contratti intelligenti siano migliori dei contratti tradizionali.
Contratti intelligenti: complessità in base ai casi d'uso
Le complessità dei contratti dipendono dai casi d'uso che sogni di codificare sulla blockchain. L'immagine qui sotto ti darà una maggiore chiarezza sulle complessità degli smart contract.
Con contratti intelligenti contestualizzati non solo le aziende verranno automatizzate, ma potrebbe anche essere formato un governo autonomo decentralizzato.
Capiamo come funzionano i contratti intelligenti con l'aiuto del caso d'uso.Caso di utilizzo degli smart contract: settore sanitario
Gestione dei dati del paziente: Quando si tratta di gestione dei dati dei pazienti, ci sono due questioni principali nel settore sanitario:
- Primo , ogni paziente è unico, quindi l'accesso a cartelle cliniche complete è essenziale per adattare il trattamento e fornire cure personalizzate
- Secondo , la condivisione delle informazioni tra la comunità medica è una sfida importante
Ora, i problemi sopra indicati possono essere risolti utilizzando la funzionalità di contratti intelligenti su blockchain.
goto c ++ esempio
Vantaggi del contratto intelligente
Ecco cosa ti offrono gli Smart Contracts:
Piattaforme Blockchain per la scrittura di contratti intelligenti
Mentre Ethereum è la piattaforma più popolare per scrivere contratti, non è l'unica. Le seguenti sono alcune delle altre piattaforme utilizzate per scrivere contratti intelligenti:
Bitcoin: Bitcoin utilizza Script che ha capacità limitate durante l'elaborazione dei documenti. Gli script sono progettati specificamente per elaborare le transazioni Bitcoin.
Tessuto Hyperledger : In Fabric, Chaincode è un codice programmatico distribuito sulla rete, dove viene eseguito e convalidato dai validatori di catena insieme durante il processo di consenso.
NXT: È una piattaforma blockchain pubblica che contiene una selezione limitata di modelli per contratti intelligenti. Devi usare ciò che ti viene dato, non puoi scrivere il tuo codice.
Catene laterali: Le catene laterali migliorano le prestazioni di Blockchain e la protezione della privacy. Aggiungono anche funzionalitàpiacecontratti intelligenti, maniglie sicure,e registro delle proprietà del mondo reale.
Strumenti per scrivere e distribuire contratti intelligenti
- Browser della nebbia - È uno strumento per navigare e utilizzare le dApp. È un browser separato che può essere utilizzato per navigare nelle dApp e interagire con esse.
- Quadro Tartufo - Truffle è un framework di sviluppo popolare per Ethereum. Dispone di compilazione, collegamento, distribuzione e gestione binaria di contratti intelligenti integrati.
- Metamask - MetaMask è un bridge che permette di visitare il web distribuito di domani nel proprio browser oggi. Consente agli utenti di eseguire le dApp Ethereum direttamente nel proprio browser senza eseguire un nodo Ethereum completo.
- Remix - Remix è un IDE basato su browser Web che consente agli utenti di scrivere contratti intelligenti Solidity, quindi distribuire ed eseguire il contratto intelligente.
Linguaggi di programmazione per la scrittura di contratti intelligenti Ethereum
Solidità & Serpent sono due lingue principali per la scrittura di Ethereum Smart Contracts.
: È un linguaggio di alto livello orientato al contratto con una sintassi simile a quella di JavaScript ed è progettato per indirizzare la Ethereum Virtual Machine (EVM).
Serpente: Serpent è un linguaggio di alto livello progettato per scrivere contratti Ethereum. È molto simile a Python, ma a partire da settembre 2017 Solidity è il linguaggio di sviluppo preferito dagli sviluppatori di Ethereum.
Sebbene Solidity sia attualmente la lingua più popolare per gli smart contract, ci sono alcune imminenti lingue per smart contract che possono diventare importanti in futuro.
Prossimi linguaggi di programmazione
- Vipera: Viper ha uno schema di indentazione simile a Python. Si concentra sulla sicurezza e sulla semplicità del linguaggio e del compilatore.
- Lisk: Lisk utilizza javascript come linguaggio per contratti intelligenti che rende più facile per uno sviluppatore codificare le applicazioni.
- Catena: Chain fornisce un'infrastruttura blockchain di livello aziendale con SDK in linguaggi popolari come Ruby, Java e NodeJS.
Ora, poiché Solidity è il linguaggio di programmazione più utilizzato per la scrittura di Ethereum Smart Contracts, lascia che ti guidi attraverso un contratto scritto in Solidity.
Trasferimento di proprietà Smart Contract
Problema: Attualmente, usiamo l'autorità centrale per trasferire la proprietà della proprietà. Ciò lo rende dispendioso in termini di tempo e comporta anche molte spese extra con un ulteriore onere della gestione dei documenti. Inoltre, poiché il sistema è centralizzato, c'è sempre una possibilità di frode.
Soluzione: Il piano è quello di utilizzare la tecnologia per rendere i dettagli delle transazioni immobiliari visibili a tutte le parti: banche, broker, funzionari governativi, acquirenti e venditori
Va bene, lasciami scrivere un contratto intelligente per te:
creare un parametro in tableau
pragma solidity ^ 0.4.11 // Stiamo creando questo caso d'uso per imitare il trasferimento di proprietà nel mondo reale // Il prerequisito di questo caso d'uso è che: // È presente un'identità digitale // Il governo accetta di mettere il registri catastali sulla blockchain pubblica // Ogni Development Authority (DA) diventa il proprietario di fatto della proprietà che esiste sotto il loro collegio elettorale / organo legislativo // Quando tutte le condizioni di cui sopra sono soddisfatte, allora DA (proprietario) può facilmente allegare la rispettiva proprietà al legittimo proprietario dopo un'accurata verifica. // formuleremo la funzione attorno a questo assunto di insieme. // presumiamo che ogni DA dovrà implementare il proprio contratto intelligente secondo le proprie regole e regolamenti. L'intero contratto intelligente è scritto considerando DA come proprietario, che può assegnare proprietà. // Un governo può diventare uno strato sopra questi DA. e il governo può decidere quale DA (indirizzo) diventa proprietario di quale circoscrizione. // Possiamo estenderlo facilmente. Ma dopo aver superato questo contratto intelligente, sarai in grado di capire come potrebbero funzionare le cose. contratto PropertyTransfer {indirizzo pubblico DA // DA sarà il proprietario, inizializzeremo il valore di questa variabile dall'indirizzo dell'utente che la distribuirà. per esempio. diciamo DA stessa. uint256 public totalNoOfProperty // numero totale di proprietà sotto un DA in qualsiasi momento. dovrebbero aumentare secondo l'assegnazione al rispettivo proprietario dopo la verifica. // Di seguito è riportato il costruttore il cui codice viene eseguito solo quando viene creato il contratto. function PropertyTransfer () {DA = msg.sender // imposta il proprietario del contratto come DA. } // modificatore per verificare che il tx provenga dal DA (proprietario) o non solo modificatore Proprietario () {require (msg.sender == DA) _} // Questa struttura è mantenuta in questo modo per memorizzare molte più informazioni rispetto alla semplice il nome struct Property {string name // mantenendo la mappa della proprietà rispetto a ciascun indirizzo. forniremo il nome alla proprietà bool isSold // stiamo mantenendo il conteggio anche per ogni indirizzo} mapping (address => mapping (uint256 => Property)) public propertiesOwner // avremo le proprietà mappate su ogni indirizzo da il suo nome e il suo conteggio individuale. mapping (address => uint256) individualCountOfPropertyPerOwner // quante proprietà tiene una determinata persona evento PropertyAlloted (address indexed _verifiedOwner, uint256 indexed _totalNoOfPropertyCurrently, string _nameOfProperty, string _msg) event PropertyTransferred (address indexed _perty string, address indexed _perty string _msg) // questo ci darà il conteggio esatto delle proprietà possedute da qualsiasi indirizzo in qualsiasi momento funzione getPropertyCountOfAnyAddress (address _ownerAddress) costanti restituisce (uint256) {uint count = 0 for (uint i = 0 i
Quindi, hai appena programmato un modo per trasferire la proprietà su una rete decentralizzata. Quant'è fico!!
Puoi vedere che il potenziale per [contratti intelligenti] di alterare aspetti della società è di notevole entità.
Con questo, concludo questo Contratto intelligente blog. Spero che ti sia piaciuto leggere questo blog e che sia stato istruttivo.
Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo al più prestost.
ioSe desideri imparare gli Smart Contracts, costruire una carriera nel dominio della Blockchain e acquisire esperienza nella programmazione di Ethereum, iscriverti a live-online qui, viene fornito con supporto 24 * 7 per guidarti durante il tuo periodo di apprendimento.