Ethereum slimme contracten

Ethereum slimme contracten

Met de komst van de Bitcoin blockchain heeft de maatschappij een nieuwe handige manier om geld op te slaan en over te maken. Maar de toepassingen van cryptocurrencies zijn veel breder: ze kunnen worden geïnvesteerd, gestort, uitgeleend. Ethereum smart contracts bieden dergelijke mogelijkheden. Ze creëren de basis voor een nieuwe gedecentraliseerde economie.

Wat zijn Ethereum slimme contracten

De Bitcoin-blockchain is eenvoudig: gebruikers maken portemonnees aan en kunnen cryptocurrency overmaken naar andere adressen. Het netwerk werkt zonder een enkel centrum en voert klassieke betalingsfuncties uit. De makers van Ethereum gingen verder. Ze lanceerden een dergelijk systeem, waarmee gebruikers zelfstandig programma's kunnen schrijven om met wallets te werken. De persoonlijke mini-blockchain zelf accepteert betalingen en beslist hoeveel geld en naar wie er wordt overgemaakt. De vereisten voor alle programma's zijn:

Ethereum Blockchain: Een korte geschiedenis. Slimme contracten. DApps

  • Transparantie.
  • Voorspelbaarheid.
  • Onveranderlijkheid.

Het programma is een Etherium smart contract. Het vertegenwoordigt een geautomatiseerde overeenkomst tussen de partijen die is opgeslagen op de blockchain. De code is geschreven in Solidity en bevat de voorwaarden van het contract. Als aan deze voorwaarden wordt voldaan, vindt de transactie automatisch plaats.

Werkingsprincipe

De werking van een smart contract kan vergeleken worden met de werking van een verkoopautomaat: geld storten, op een knop drukken en je blikje Coca-Cola krijgen. Dit is sneller en betrouwbaarder dan wanneer een persoon de drankjes zou verkopen. De uitvoering van een digitaal contract kan worden onderverdeeld in verschillende stappen:

5020 $
bonus voor nieuwe gebruikers!

9.8

ByBit biedt handige en veilige voorwaarden voor de handel in cryptocurrency, lage commissies, een hoog liquiditeitsniveau en moderne tools voor marktanalyse. Het ondersteunt spot en leveraged trading en helpt beginners en professionele handelaren met een intuïtieve interface en tutorials.

Verdien een bonus van 100 $

voor nieuwe gebruikers!

9.5

De grootste cryptobeurs waar je snel en veilig je reis in de wereld van cryptocurrencies kunt beginnen. Het platform biedt honderden populaire activa, lage commissies en geavanceerde tools voor handelen en beleggen. Eenvoudige registratie, hoge transactiesnelheid en betrouwbare bescherming van fondsen maken Binance een geweldige keuze voor handelaren van elk niveau!

  1. Een gebruiker maakt een transactie aan die de voorwaarden van de transactie omschrijft op basis van het principe "als ..., dan ...". Als de koper bijvoorbeeld 10 munten naar de verkoper stuurt, ontvangt de verkoper een doos bonbons.
  2. De transactie wordt naar de blockchain gestuurd, die wordt onderhouden doorknooppunten (knooppunten). Eenmaal bevestigd door beide partijen kan het niet meer worden gewijzigd of verwijderd.
  3. Wanneer de koper aan de voorwaarden van het contract voldoet (geld overgemaakt), stuurt de verkoper hem een voorwaardelijke doos bonbons. Het systeem blokkeert de betaling totdat de ontvanger de levering van de goederen bevestigt.
  4. Als de nodes de geldoverdracht niet registreren, zal de voorwaardelijke doos pralines de koper niet bereiken. De schuldige partij krijgt een boete voor een bedrag dat wordt bepaald door de voorwaarden van het slimme contract. Dezelfde boetes kunnen worden toegepast op de verkoper als hij een ander product verstuurt dan het product dat in de overeenkomst is gespecificeerd.
  5. Het resultaat van de transactie (vervulling of annulering) wordt vastgelegd op de blockchain.

In tegenstelling tot conventionele overeenkomsten, slaan Ethereum smart contracts niet alleen alle informatie over de transactie op, maar controleren ze ook de uitvoering ervan. De overeenkomst wordt van kracht als alle deelnemers de voorwaarden ervan accepteren. De beslissing wordt in de programmacode geschreven, versleuteld en opgeslagen in de blockchain.

De transactie wordt geactiveerd door een transactie die een normale overboeking of een complexere opdracht bevat. Er zijn 2 soorten accounts op het Efirium netwerk die betalingen kunnen accepteren:

  • Reguliere cryptocurrency-rekeningen.
  • Slimme contracten.

Transacties tussen wallets worden transfers genoemd om verwarring te voorkomen. Transacties die digitale transacties activeren worden berichten genoemd.

Elke netwerkdeelnemer kan een smart contract creëren. Om dit te doen, is het voldoende om een bericht naar de blockchain te sturen zonder geadresseerde, een vergoeding toe te wijzen en een code op te geven. De transactiekosten bedragen maximaal 0,3 ETH. Als het bericht een te lage commissie specificeert, wordt het contract geannuleerd.

Beperkingen

Het maken van een programma op de blockchain vereist een zekere mate van professionaliteit van gebruikers. Als er een fout wordt gemaakt in de code, kan het digitale contract hangen of niet werken zoals de auteur had gepland. Er zijn ook andere beperkingen:

  • Het is moeilijk om willekeurige getallen of andere onzekerheid in het programma te krijgen. Daarom lukt het sommige deelnemers om loterijjackpots te berekenen.
  • Het Ethereum smartcontract is langzaam en voert 3-5 bewerkingen per seconde uit.
  • Het programma implementeert een klein aantal functies zodat mijnwerkers de acties kunnen herhalen en het resultaat kunnen controleren.
  • De voorwaarden van het digitale contract kunnen niet worden aangepast. Als de omstandigheden van de transactie veranderen, kunnen ze niet in het programma worden ingevoerd. Er moet dan een nieuw contract worden afgesloten.
  • Als het contract gegevens vereist die niet in de blockchain staan, is er een vertrouwde persoon of dienst nodig om informatie aan de keten toe te voegen. De huidige wisselkoers van cryptocurrency kan bijvoorbeeld worden verkregen van CoinMarketCap of een andere monitor.

De complexiteit van smart contracts wordt geleidelijk geëlimineerd naarmate we overstappen van applicaties naar hun gedecentraliseerde tegenhangers.

Voordelen en toepassingen

Digitale contracten besparen veel tijd in bedrijfsprocessen. Het duurt een paar minuten om transacties te voltooien. Het is niet nodig om verschillende organisaties te bezoeken en referenties op te vragen, slechts een paar muisklikken. Andere voordelen van slimme programma's zijn

  • Beveiliging. Het transactierecord wordt opgeslagen in de blockchain. Het kan niet worden gewijzigd of verwijderd.
  • Afwezigheid van tussenpersonen. Het is niet nodig om een specialist in te schakelen die garant staat voor de naleving van de voorwaarden van de overeenkomst.
  • Betrouwbaarheid. In tegenstelling tot een papieren document kan een digitale overeenkomst niet verloren gaan of beschadigd raken.

Experts zeggen: alles kan worden geautomatiseerd, maar het zal duur en zinloos zijn. Het is redelijk om het Etherium smart contract te gebruiken voor typische operaties, waarvan het resultaat gemakkelijk te traceren is (logistiek, het verstrekken van garanties, licentiebetalingen en andere). Er zijn nog veel meer toepassingen van blockchainprogramma's: beleggen, stemmen, notaris, loterijen, verkoop van vliegtickets, tanken van vliegtuigen en andere.

Voorbeelden van slimme contracten

Slimme blockchainprogramma's ontstonden in 2015, maar pas in 2020 werden ze massaal geïmplementeerd. Jarenlange tests hebben aangetoond dat het gebruik van digitale contracten de transparantie van bedrijfsprocessen vergroot en de financiële kosten en tijdskosten verlaagt. Sberbank was bijvoorbeeld de eerste in Rusland die patent had op de omzetting van repotransacties (verkoop van effecten met de verplichting om ze binnen een bepaalde periode terug te kopen tegen een vooraf vastgestelde prijs) in slimme contracten. Commerzbank en BASF gebruiken digitale contracten voor onmiddellijke betaling van leveranciers. De Russische Spoorwegen zijn begonnen met het implementeren van Ethereum-programma's om automatisch financiële transacties uit te voeren in het vrachtvervoer.

In 2021 gebruiken Nestle, Walmart, Mercedes Benz Cars en tegen 2025 de Russische Post ETH smart contracts om toeleveringsketens te traceren.

ETH en ICO's

Ethereum smart software heeft enorm aan populariteit gewonnen door het massale gebruik ervan voor investeringen in startups. In 2017-2018 brachten ICO's ongeveer $14 miljard op, waarvan de meerderheid penningen gecreëerd en gelanceerd op het Etherium-platform. In januari 2017 was de prijs van ETH $8, en al in juni bereikte de prijs van de munt $360. Begin 2018 kostte Ethereum $1360.

Ethereum slimme contracten
ETH-tarief in de dynamiek van 2016-2021

Het standaardschema van crowdfunding (collectieve financiering) is als volgt:

  1. Ontwikkelaars genereren een idee waarvoor geld nodig is om het te realiseren.
  2. Het project lanceert een ICO, accepteert ethereum van investeerders en geeft in ruil daarvoor tokens uit.

Fondsenwerving is tijdsgebonden, wat opwinding creëert onder investeerders. Op het hoogtepunt van de populariteit van ICO's konden bedragen van $10-20 miljoen binnen enkele minuten of dagen worden opgehaald. Tijdens de tokensale haalden de ontwikkelaars $35 miljoen op in 24 seconden. Om in het aantal deelnemers te komen, betaalden investeerders tot $6600 per transactie.

Smart contracts automatiseerden de ICO volledig. Het programma zelf onthield van wie en hoeveel geld er kwam, schreef tokens bij en stelde deelnemers in staat om tokens over te dragen of te verkopen. Dankzij de transparantie van de blockchain konden investeerders zien hoeveel munten er waren uitgegeven en hoe ze werden verdeeld.

ProjectICO-datum, jarenBedrag aan vergoedingen, $
EOS2017-20184,1 miljard
Tezos2017150 miljoen
Bancor2017140 miljoen
Status2017100 miljoen
Dapper201773 miljoen

Hoe maak je een smart contract in Efirium?

Persoonlijke programma's op het Etherium netwerk kunnen in verschillende talen geschreven worden. De meeste ontwikkelaars gebruiken Solidity. Het creëren van een digitaal contract kan worden onderverdeeld in 4 stappen:

  1. Een portemonnee openen in MetaMask (of een andere die de Ethereum blockchain ondersteunt).
  2. Een testnetwerk selecteren.
  3. De code schrijven en compileren.
  4. Het programma lanceren en testen.
Ethereum slimme contracten
Officiële website van MetaMask

Voorlopige instellingen

Een eerste vereiste voor het schrijven van code is het voorbereiden van de ontwikkelomgeving. Eerst moet u tools installeren voor het maken van een private blockchain:

  1. Download Ganache - een afzonderlijk Ethereum testnetwerk.
  2. Installeer de MetaMask browserextensie.

Daarna heeft de gebruiker de optie om een nieuwe Ethereum cryptocurrency wallet te registreren of een bestaande wallet te importeren. Er is wat Ethereum nodig om het digitale contract op het netwerk te implementeren.

De code schrijven en compileren

Het programma wordt afgehandeld op remix.ethereum.org. Dit is een handig platform voor alle Etherium-gebruikers om contracten in te zetten en ermee te werken. Deelnemers aan transacties kunnen wisselen tussen accounts en alle functies van het programma oproepen.

De Remix online editor bevat een code compiler voor de Solidity taal. Dit is een hulpmiddel om de originele code om te zetten in machinecode die de computer begrijpt. Wanneer je de pagina voor de eerste keer bezoekt, downloadt de service een voorbeeldcode, deze kan pijnloos worden verwijderd en vervangen door een contractprogramma. De compiler leest eerst de broncode en begint deze dan regel voor regel te verwerken en te vertalen naar instructies voor de Ethereum Virtual Machine (EVM).

Opstarten server

Verder werk gaat naar Ganache. De dienst controleert de nieuwe blockchain en koppelt deze aan een eerder gemaakte kopie van de portemonnee. De procedure van de ontwikkelaar is als volgt:

  1. Pak de eerder opgeslagen MetaMask zipmap uit.
  2. Open het bestand index.html.
  3. Wijzig Network ETH in de rechterbovenhoek van de site in Add Custom Network/Node.
  4. Voeg in het geopende venster de door Ganache geleverde RPC Server gegevens in. Je kunt zelf de naam van het knooppunt kiezen.

Vanaf nu is de lokale kopie van MetaMask verbonden met de testserver.

Ethereum slimme contracten
Blockchain testen op Ganache

Een slim contract implementeren

Als het knooppunt eenmaal draait, moet je Remix verbinden met het RPC-adres en het digitale contract laden. Het algoritme van acties is als volgt:

  1. Open een account in MetaMask.
  2. Klik in de bovenste navigatiebalk op Contracts en selecteer Deploy.
  3. Voeg in het geopende venster de bytecode van het programma uit Remix IDE in. De parameter Gaslimiet wordt automatisch bepaald.
  4. Importeer een account om het programma te downloaden door op de knop onderaan de pagina te klikken.
  5. Selecteer 1 van de 10 adressen die door Ganache zijn uitgegeven om te communiceren met het contract. Klik hiervoor op het pictogram naast het portemonneenummer.
  6. Kopieer de privésleutel en plak deze in het geopende venster.
  7. Druk op Ontgrendelen en bevestig de transactie.

Je kunt de verwerking van blokken controleren in de Current Blocks sectie van de Ganache server: de indicator zal veranderen van 0 naar 1. Nu wordt het digitale contract in de lokale blockchain geladen. Na succesvolle afronding van de transactie zal het adres van de portemonnee zichtbaar zijn aan de rechterkant van het Remix-scherm. In eerste instantie worden de tokens opgeslagen in de portemonnee van de maker van het programma. Om het saldo van ethers te controleren, moet je naar het MetaMask-venster gaan, "Add tokens" selecteren, het contractadres invoeren en op "OK" klikken.

Bezig met laden ...

Interacties instellen

Voor het volledig functioneren van de persoonlijke blockchain creëren ontwikkelaars applicaties die ermee kunnen communiceren en indien nodig gegevens kunnen leveren. Door interacties op te zetten kunnen de deelnemers aan de transactie alle handelingen uitvoeren binnen het kader van de overeenkomst. Om dit te doen, moet u:

  1. Selecteer in het MetaMask-account Interactie met contract.
  2. Voeg in het veld Contractadres gegevens in uit Ganache (sectie Transacties).
  3. Voeg in de ABI-regel de overeenkomstige informatie uit Remix (Details) toe.
  4. Klik op Toegang.

Als alles correct is uitgevoerd, verschijnt het gedeelte Lees/Schrijf contract op het scherm, waar je de functies kunt selecteren die in het contract zijn geschreven.

Testen

Voordat het programma wordt uitgevoerd, moet het worden getest. Zelfs een kleine fout in het digitale contract kan gevolgen hebben. Individuele mechanismen van het slimme contract worden getest:

  • Elektronische handtekening.
  • Voorwaarden voor het nakomen van verplichtingen.
  • Versturen van berichten.
  • Code en het herstellen van de wijzigingen.
  • Het gereedschap dat nodig is om het contract uit te voeren.

Om dit te doen, is het nodig om de voorwaarden te simuleren die in het programma zijn geschreven. Bijvoorbeeld, om de increment functie te testen (transactie vervulling), gaat de ontwikkelaar naar Read/Write Contract en klikt op Write, waarmee hij akkoord gaat met de transactie. Een nieuw getCount verzoek toont een 1 in plaats van een 0 en verhoogt het aantal transacties in Ganache. Andere functies kunnen op dezelfde manier getest worden.

Samenvatting

Terwijl sommige bedrijven nog een map papieren contracten genereren, leasen andere bedrijven auto's en tanken ze vliegtuigen bij in een paar klikken. Slimme contracten voeren taken uit die variëren van het verkopen van tokens tot het beheren van gedecentraliseerde organisaties. Digitale contracten kunnen zelfstandig worden gemaakt met basis programmeervaardigheden. De gemeenschap heeft al veel ervaring opgedaan met EVM's, dus het is gemakkelijk om online en op forums antwoorden te vinden op alle vragen over het runnen van een persoonlijke blockchain.

Veelgestelde vragen

Wat is een EVM?

Het is een gedecentraliseerde virtuele machine van Ethereum die scripts verwerkt met behulp van openbaar beschikbare nodes. De EVM draait geïsoleerd van het hoofdnetwerk en is een handige omgeving voor het testen van nieuwe producten.

Wat is truffel?

Truffle Framework is een populair framework van Ethereum. Het is een open source platform voor snelle ontwikkeling van gedecentraliseerde applicaties en smart contract lifecycle management.

Welke wallets kunnen worden gebruikt om een gepersonaliseerde blockchain te maken?

De officiële Ethereum toepassingen zijn MetaMask en MyEtherWallet.

👩‍💻 In welke talen worden slimme contracten geschreven?

De universele taal Solidity wordt het meest gebruikt om programma's op Ethereum te maken. Slimme contracten kunnen ook worden geschreven in C++ (EOS, XRP), JavaScript (LISK).

Wat is de veiligheid van digitale contracten?

Persoonlijke blockchains hebben alle kenmerken van het Ethereum core netwerk. Ze zijn transparant, voorspelbaar en onveranderlijk.

Staat er een fout in de tekst? Markeer het met je muis en druk op Ctrl + Ga naar

Auteur: Saifedean Ammous, een expert in cryptocurrency-economie.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

nl_NLDutch

Rapport over spelfouten

De volgende tekst wordt naar onze redacteuren gestuurd: