Ce sunt contractele inteligente? Un ghid pentru începători pentru contracte inteligente



Acest blog vă va oferi o imagine clară a contractelor inteligente, a diferitelor platforme pentru a scrie contracte inteligente și va discuta, de asemenea, un caz practic de utilizare a unei aplicații de contract inteligent Ethereum.

Fraza și conceptul „contracte inteligente” erau propus de Nick Szabo cu viziunea de a extinde funcționalitatea metodelor electronice de tranzacționare, cum ar fi POS (punct de vânzare), la domeniul digital. Contractele inteligente vă ajută să faceți schimb de proprietăți, acțiuni sau orice altceva de valoare într-un mod transparent, fără conflicte, evitând în același timp serviciile unui intermediar.
Codul Ethereum-Smart Contract-edureka

Următoarele sunt subiectele pe care le vom aborda în acest blog Smart Contract:





cum să evitați impasul în Java
    1. Ce sunt contractele inteligente?
    2. Contracte inteligente de Nick Szabo
    3. De ce avem nevoie de contracte inteligente?
    4. Contracte inteligente: complexitate conform cazurilor de utilizare
    5. Cazuri de utilizare a contractelor inteligente: industria sănătății
    6. Avantaje ale contractelor inteligente
    7. Platforme Blockchain pentru scrierea de contracte inteligente
    8. Instrumente pentru scrierea și implementarea contractelor inteligente
    9. Limbaje de programare pentru scrierea Ethereum
    10. Contract inteligent de transfer de proprietate

    Ce sunt contractele inteligente?

    Contractele inteligente sunt un program de computer care funcționează automat, care se execută automat atunci când sunt îndeplinite anumite condiții.

    Contracte inteligente = Contracte de încredere



    Cu contractele inteligente, puteți împărtăși orice lucru de valoare, străinilor, într-un mod transparent, fără conflicte.

    De asemenea, vă puteți gândi la contracte inteligente ca la un Blockchaindistribuitor automat. La fel ca automatele automate sunt configurate pentru a lua în dolari pentru a vă distribui alegerea articolului, utilizarea contractelor inteligente eter ca combustibil pentru executarea codului bazat pe reguli preconfigurate.

Ce sunt contractele inteligente | Implementați primul dvs. contract Ethereum Smart | Edureka

  1. Contracte inteligente de Nick Szabo

    În lucrarea sa, Szabo a propus executarea unui contract pentru active sintetice, cum ar fi instrumentele derivate și obligațiunile. „Aceste noi valori mobiliare sunt formate prin combinarea valorilor mobiliare (cum ar fi obligațiunile) și instrumentele derivate (opțiuni și contracte futures) într-o mare varietate de moduri. Structurile pe termen foarte complexe pentru plăți pot fi acum încorporate în contracte standardizate și tranzacționate cu costuri de tranzacție reduse, datorită computerizăriianaliza acestor structuri complexe de termeni ”, a scris el.



  1. De ce avem nevoie de contracte inteligente?

    Putem automatiza multe soluții scriind un contract pe un Blockchain pentru a face lucrurile simple și eficiente. să comparăm și să evaluăm cât de bune sunt contractele inteligente decât contractele tradiționale.

    Contracte inteligente: complexitate conform cazurilor de utilizare

    Complexitatea contractelor depinde de cazurile de utilizare pe care visezi să le codifici pe blockchain. Imaginea de mai jos vă va oferi o mai bună claritate asupra complexității contractelor inteligente.

    Cu contractele inteligente contextualizate, nu numai companiile vor fi automatizate, ci se poate forma și o guvernare autonomă descentralizată.


    Să înțelegem cum funcționează contractele inteligente cu ajutorul cazului de utilizare.

    Cazuri de utilizare a contractelor inteligente: industria sănătății

    Managementul datelor pacientului: Când vine vorba de gestionarea datelor pacienților, există două probleme principale în industria medicală:

    • Primul , fiecare pacient este unic, prin urmare, accesul la fișele medicale complete este esențial pentru a adapta tratamentul și a oferi îngrijire personalizată
    • Al doilea , schimbul de informații între comunitatea medicală este o provocare majoră

    Acum, problemele menționate mai sus pot fi rezolvate folosind funcționalitatea contractelor inteligente pe blockchains.

    Avantaje ale contractului inteligent

    Iată ce vă oferă contractele inteligente:

    Platforme Blockchain pentru scrierea de contracte inteligente

    In timp ce Ethereum este cea mai populară platformă de scriere a contractelor, nu este singura. Următoarele sunt câteva dintre celelalte platforme utilizate pentru scrierea contractelor inteligente:

    Bitcoins: Bitcoin folosește Script care are capacități limitate la procesarea documentelor. Scripturile sunt concepute special pentru a procesa tranzacțiile Bitcoin.

    Tesatura Hyperledger : În Fabric, Chaincode este un cod programatic implementat în rețea, unde este executat și validat de validatorii lanțului împreună în timpul procesului de consens.

    NXT: Este o platformă publică blockchain care conține o selecție limitată de șabloane pentru contracte inteligente. Trebuie să folosiți ceea ce este dat, nu puteți scrie propriul cod.

    Lanțurile laterale: Lanțurile laterale îmbunătățesc performanțele Blockchains și protecția confidențialității. De asemenea, adaugă capabilitățicacontracte inteligente, mânere sigure,și registru imobiliar din lumea reală.

    Instrumente pentru scrierea și implementarea contractelor inteligente

    1. Mist Browser - Este un instrument pentru a naviga și utiliza dApps. Este un browser separat care poate fi folosit pentru a răsfoi dApp-uri și a interacționa cu acestea.
    2. Cadru Truffle - Trufa este un cadru de dezvoltare popular pentru Ethereum. Dispune de compilare, conectare, implementare și gestionare binară a contractelor inteligente.
    3. Metamask - MetaMask este un pod care permite vizitării web distribuite de mâine astăzi în browserul lor. Permite utilizatorilor să ruleze dApp-uri Ethereum chiar în browserul lor fără a rula un nod Ethereum complet.
    4. Remix - Remix este un IDE bazat pe browser web care permite utilizatorilor să scrie contracte inteligente Solidity, apoi să implementeze și să execute contractul inteligent.

    Limbaje de programare pentru scrierea contractelor inteligente Ethereum

    Soliditate Șarpe sunt două limbi principale pentru redactarea contractelor inteligente Ethereum.

    : Este un limbaj de nivel înalt orientat spre contract, cu sintaxă similară cu cea a JavaScript-ului și este conceput pentru a viza Ethereum Virtual Machine (EVM).

    Şarpe: Șarpele este un limbaj de nivel înalt conceput pentru a scrie contracte Ethereum. Este foarte asemănător cu Python, dar din septembrie 2017, Solidity este limbajul de dezvoltare preferat pentru dezvoltatorii Ethereum.

    Deși Soliditatea este în prezent cea mai populară limbă pentru contractele inteligente, există câteva limbi viitoare ale contractelor inteligente care pot deveni importante în viitor.

    Limbaje de programare viitoare

    1. Viperă: Viper are o schemă de indentare asemănătoare Python. Se concentrează pe securitate și limbaj și pe simplitatea compilatorului.
    2. Lisk: Lisk folosește javascript ca limbaj de contract inteligent, ceea ce face mai ușor pentru un dezvoltator codificarea aplicațiilor.
    3. Lanţ: Chain oferă infrastructură blockchain de nivel enterprise cu SDK-uri în limbi populare precum Ruby, Java și NodeJS.

    Acum, deoarece Solidity este cel mai utilizat limbaj de programare pentru scrierea contractelor Smart Ethereum, permiteți-mi să vă prezint un contract scris în Solidity.

    Contract inteligent de transfer de proprietate

    Problemă: În prezent, folosim autoritatea centrală pentru a transfera proprietatea. Acest lucru îl consumă mult timp și atrage și multe cheltuieli suplimentare, cu o sarcină suplimentară a gestionării documentelor. De asemenea, din moment ce sistemul este centralizat, există întotdeauna posibilitatea de a fi fraudulos.

    Soluţie: Planul este de a utiliza tehnologia pentru a face detaliile tranzacțiilor imobiliare vizibile pentru toate părțile - bănci, brokeri, oficiali guvernamentali, cumpărători și vânzător

    Bine, permiteți-mi să vă scriu un contract inteligent:

    soliditatea pragmei ^ 0.4.11 // Facem acest caz de utilizare pentru a imita transferul de proprietăți din lumea reală // Cerința prealabilă a acestui caz de utilizare este aceea că: // O identitate digitală este în loc // Guvernul este de acord să pună înregistrări funciare pe blockchain-ul public // Fiecare autoritate de dezvoltare (DA) devine proprietarul defact al proprietății care există în circumscripția lor / corpul legislativ // Când sunt îndeplinite toate condițiile de mai sus, atunci DA (proprietarul) poate atașa cu ușurință proprietatea respectivă proprietarului lor de drept după o verificare amănunțită. // vom formula funcția în jurul acestei ipoteze setate. // presupunem că fiecare DA trebuie să-și desfășoare propriul contract inteligent conform regulii și regulamentului său. Tot acest contract inteligent este scris luând în considerare DA ca proprietar, care poate aloca proprietăți. // Un guvern poate deveni un strat deasupra acestor DA. iar Guvernul poate decide, care DA (adresa) devine proprietarul cărui circumscripție. // Putem extinde acest lucru cu ușurință. Dar, după ce ați trecut prin acest contract inteligent, veți putea afla cum ar putea funcționa lucrurile. contract PropertyTransfer {adresa publică DA // DA va fi proprietarul, vom inițializa valoarea acestei variabile prin adresa utilizatorului care urmează să o implementeze. de exemplu. să spunem DA în sine. uint256 public totalNoOfProperty // totalul de proprietăți sub un DA în orice moment. acestea ar trebui să crească conform alocării proprietarului respectiv după verificare. // Mai jos este constructorul al cărui cod este rulat numai atunci când este creat contractul. function PropertyTransfer () {DA = msg.sender // setarea proprietarului contractului ca DA. } // modificator pentru a verifica dacă tx vine de la DA (proprietar) sau nu doar modificator Proprietar () {require (msg.sender == DA) _} // Această structură este păstrată astfel pentru a stoca mai multe informații decât doar numele struct Proprietate {nume șir // păstrând harta proprietății în raport cu fiecare adresă. vom furniza numele proprietății bool este Vândut // păstrăm și numărul pentru fiecare adresă} mapare (adresă => mapare (uint256 => Proprietate)) proprietăți publice Proprietar // vom avea proprietățile mapate în funcție de fiecare adresă de către numele său și numărul individual. mapping (address => uint256) individualCountOfPropertyPerOwner // câte proprietăți deține o anumită persoană un eveniment PropertyAlloted (adresa indexată _verifiedOwner, uint256 indexată _totalNoOfPropertyCurrently, string _nameOfProperty, string _msg) event PropertyTransferred (string indexed _Name, _msg) // acest lucru ne va oferi numărul exact de proprietăți pe care orice adresă îl are în orice moment al funcției getPropertyCountOfAnyAddress (address _ownerAddress) returnează constant (uint256) {uint count = 0 for (uint i = 0 i 

    Deci, tocmai ați programat o modalitate de a transfera proprietăți pe o rețea descentralizată. Cat de tare e asta!!

    Puteți vedea că potențialul [contractelor inteligente] de a modifica aspecte ale societății este de o amploare semnificativă.

    Cu aceasta, concluzionez acest lucru Contract inteligent blog. Sper că v-a plăcut să citiți acest blog și l-ați găsit informativ.

    Ai o întrebare pentru noi? Vă rugăm să menționați acest lucru în secțiunea de comentarii și vă vom contacta la începutSf.

    Eudacă doriți să învățați contracte inteligente, să construiți o carieră în domeniul Blockchain și să câștigați expertiză în programarea Ethereum, să vă înscrieți în live-online aici, acesta vine cu suport 24 * 7 pentru a vă ghida pe toată perioada de învățare.

    diferența dintre agil și devops