Zephyrnet-logo

Slimme contracten - Kunnen we meteen ter zake komen?

Datum:

Hoeveel is dat Solidity-ding Turing-compleet? Waar wonen deze "slimme contracten"?

Henrique Centieiro

Ik denk dat we kunnen zeggen dat de huidige slimme contracten net zo slim zijn als de Britse Bombe, de machine ontwikkeld door Alan Turing die in 1939 misbruik maakte van het gebrek aan willekeur van de Enigma-machine.

"Turing-compleet" zijn

In Ethereum worden slimme contracten geschreven in een programmeertaal genaamd Solidity en deze programma's worden uitgevoerd in de EVM - Ethereum Virtual Machine. Je kunt de EVM zien als een gigantische Turing-complete, gedecentraliseerde virtuele machine die is verdeeld over alle Ethereum-knooppunten, over de hele wereld (momenteel rond de 8500 als ik het niet mis heb).

Sommige blockchains zoals Ethereum of Hyperledger Fabric (publieke of private blockchains) gebruiken Turing volledige programmeertalen, wat betekent dat ontwikkelaars ze gebruiken om slimme contracten te maken die vrijwel alles kunnen, van eenvoudige tot meer complexe functies. Turing compleet betekent dat het computationeel universeel is en in staat is om elke real-world algemene functie uit te voeren.

De Ethereum Virtual Machine is bijvoorbeeld een volledig gedecentraliseerde virtuele machine van Turing, wat betekent dat deze elke mogelijke computerlogica of -functie kan repliceren. Deze computerlogica in Ethereum wordt gemaakt via slimme contracten en ze kunnen worden geschreven in de programmeertaal Solidity (hoewel ze ook in andere talen kunnen worden geschreven, zoals we hieronder zullen zien).

Een smart contract is een onderdeel van een computerprogramma dat een contractuele overeenkomst tussen twee partijen kan uitvoeren. Slimme contracten kunnen vrijwel alle contractuele voorwaarden of functies uitvoeren. Ze zijn Turing-compleet, wat betekent dat ze programmeertalen gebruiken met voorwaardelijke uitspraken en voorwaardelijke vertakkingen. Dit zijn de programmeertalen met "if, then, else" en ze kunnen elke computerlogica repliceren.

Laten we teruggaan naar slimme contracten

Slimme contracten worden autonoom uitgevoerd, wat betekent dat er geen tussenkomst van derden nodig is om uit te voeren zodra ze zijn geïmplementeerd, en dat de uitvoering ervan niet kan worden gestopt. Slimme contracten kunnen zelf de regels afdwingen die ze in het slimme contract hebben geschreven / gecodeerd. U kunt bijvoorbeeld een slim contract programmeren om te werken als een escrow- en vereffeningsdienst, waarbij het slimme contract geld van Alice kan ontvangen en het geld aan Bob kan vrijgeven zodra Bob asset D naar Alize stuurt. In een slim contract is code de wet. Je kunt ook een slim contract programmeren om $ 1000 aan cryptocurrency te vergrendelen en het pas in het jaar 2030 te ontgrendelen. Zodra dit contract is geïmplementeerd, kun je niets meer doen om het te veranderen en het geld zal tot 2030 in deze kluis worden vergrendeld, wat er ook gebeurt. . Alles wat u in een slim contract programmeert, wordt later automatisch uitgevoerd.

Slimme contracten worden ingezet in een blockchain zoals Ethereum waar ze worden uitgevoerd in de EVM - Ethereum Virtual Machine. Veel andere blockchains, waaronder private blockchains, zijn voorzien van slimme contracten.

Wauw zo slim! Illustratie van een gedeelte van een slim escrow-contract in de blockchain

Enkele kenmerken van de slimme contracten zijn:

  • Slimme contracten worden zelf uitgevoerd
  • Slimme contracten zijn voltooid
  • Partijen blijven pseudoniem
  • Slimme contracten zijn transparant en volledig controleerbaar
  • Slimme contracten zijn onveranderlijk

Kanttekening: De volledigheid van de Turing is meer een idealisering. In werkelijkheid worden computers en virtuele machines beperkt door eindig geheugen en rekencapaciteit. Bovendien vereisen slimme contracten in de blockchain dat vergoedingen worden uitgevoerd. Slimme contracten zijn dus beperkt en bijgevolg niet helemaal Turing-compleet. Om een ​​eenvoudige ERC-20 (vervangbare tokens) of ERC-721 (NFT) smart contract, het kan het equivalent van 100 USD aan gaskosten kosten voor slechts een paar honderd regels code, dus ... ja, om een ​​echt complex smart contract uit te voeren en te bewijzen dat het volledig Turing-compleet is, zou je VEEL geld opblazen! Oh en dat is waarom Defi steekt er ook zoveel geld in!

Slimme contracttalen. Beslissingen beslissingen….

Bij het kiezen van het protocol en de programmeertaal om een ​​smart contract te schrijven, moeten we ook rekening houden met de expressiviteit en complexiteit ervan. Er is een efficiënte grens en er moeten afwegingen worden gemaakt tussen de expressiviteit en complexiteit van het slimme contract. De hoeveelheid rekenkracht die nodig is om het uit te voeren, en de vergoedingen die iemand bereid is te betalen om het slimme contract uit te voeren (meer functies zijn gelijk aan meer vergoedingen).

De Nobelprijswinnaar Harry Markowitz introduceerde de Efficient Frontier-theorie in 1952, en deze wordt veel gebruikt in de moderne portefeuilletheorie om op efficiënte wijze optimale beleggingsportefeuilles te creëren. De efficiënte grens toont het hoogste verwachte rendement voor een bepaald risiconiveau. Ik vind het best gaaf als we het toepassen op de Turing-volledigheid van blockchains.

Verschillende blockchains en programmeertalen vertonen verschillende niveaus van rendement / complexiteit en correleren met bepaalde risico- en contractexpressieniveaus. Meer losse programmeertalen kunnen voor meer complexiteit zorgen. Toch zijn ze misschien minder gemakkelijk te redeneren, maken ontwikkelaars meer fouten, zijn ze vatbaarder voor meer bugs, en de blockchain-capaciteit beperkt ze ook in termen van rekenkracht, doorvoer en vergoedingen die haalbaar zijn.

In Ethereum kunnen ontwikkelaars een programmeertaal gebruiken genaamd Solidity of Kotlin en C ++. DAML is echter een veiligere manier om slimme contracten te programmeren. Deze slimme contracten kunnen verschillende niveaus van complexiteit bereiken, aangezien Ethereum Turing-compleet is.

Hoewel het mogelijk is, wordt het bouwen van extreem complexe slimme contracten niet geadviseerd, omdat voor de uitvoering van complexere slimme contracten meer gas nodig is (de vergoeding die in Ether wordt betaald om slimme contracten uit te voeren). De slimme contracten worden uitgevoerd door de Ethereum-knooppunten (elke persoon kan een Ethereum-knooppunt hebben omdat het een toestemmingsloos netwerk is), en deze knooppunten draaien EVM Ethereum Virtual Machine. De gasvergoedingen van de gebruikers belonen de knooppunten voor het uitvoeren van transacties en het uitvoeren van functies in de slimme contracten.

Elk slim contract van Ethereum heeft een adres dat wordt gebruikt om ermee te communiceren, inclusief interactie met andere slimme contracten, waardoor de automatiseringsmogelijkheden worden uitgebreid.

Slimme contracten maken het voor het eerst in de geschiedenis van IT mogelijk om dApps te maken die nieuwe voordelen bieden:

  • Verbeterde beveiliging: verbeterde dApps-beveiliging met de public key-cryptografie en het blockchain-consensusmechanisme, dat zorgt voor de juiste uitvoering van slimme contracten
  • Autonomie: dApps worden ontwikkeld bovenop slimme contracten (de app-logica), en deze slimme contracten lopen op een gedecentraliseerde manier in de blockchain. dApps kunnen automatisch en autonoom worden uitgevoerd zonder tussenkomst van derden
  • Traceerbaar: transacties of gebeurtenissen van de dApp zijn traceerbaar gezien het feit dat de informatie (gerelateerd aan de slimme contracten) is opgeslagen in de blockchain (merk op dat een dApp ook off-chain informatie kan hebben)
  • Stabiliteit: omdat slimme contracten met redundantie over veel knooppunten in de blockchain worden verdeeld, zullen de dApps soepel blijven werken, zelfs als sommige knooppunten falen.

Andere toestemmingloze blockchains maken slimme contractcreatie en -uitvoering mogelijk. Behalve Ethereum maken blockchains zoals Cardano, Tron, Lisk, Stellar, Monax, RSK en Counterparty ook slimme contractscripting mogelijk en kunnen ze een goed alternatief zijn voor Ethereum. Sommige van deze blockchains gebruiken dezelfde programmeertalen die door Ethereum worden gebruikt sinds hun creatie erdoor werd geïnspireerd. Oh, en vergeet privé / geautoriseerde blockchains niet. De Hyperledger-blockchains, Corda en anderen staan ​​ook slimme contracten toe.

Wauw, we hebben veel gedekt! Voel je je slim? 🙌😃

🚀 Volg mij en bekijk ook mijn 🧱 blockchain-boek en cursus:

???? Unblockchain Book - Kindle en Paperback

Deblokkeer de kettingcursus

???? The Non-Fungible Booklet: The History and Technologies Behind NFT en hoe ze de kunstwereld veranderen

De complete NFT-cursus - Leer alles over NFT's

Coinsmart. Beste Bitcoin-beurs in Europa
Bron: https://levelup.gitconnected.com/smart-contracts-can-we-just-get-straight-to-the-point-4c904d97630?source=rss——-8—————–cryptocurrency

spot_img

Laatste intelligentie

spot_img