What are smart contracts?

Digital representations of real-world contracts.

Before we delve into what a smart contract is, it is useful to understand some underlying concepts in the first instance. We are going to talk heavily about Ethereum as although it is not the only way to build smart contracts it is definitely one of the most popular for now.

EVM

Ethereum Virtual Machine – Essentially allows developers to develop a myriad of apps. The code used is converted into opcodes and then executed. EVM provides a powerful and turing complete programming language.

Solidity

Again, not the only programming language to be used for developing smart contracts it is definitely the most widely used and designed for this specific purpose.  Similar syntax to javascript, it can be compiled into EVM assembly and therefore can be executed on all Ethereum nodes. EVM is a runtime sandbox.

DApp

Decentralised apps are the applications which use smart contracts. They only differ from web apps in that they use the exact techniques to render web pages and content but instead of calling backend API’s they use smart contracts which connect to the blockchain.

They can be considered a digital agreement, again they are immutable which make them distinct from other computer programs. Anyone who has access to the source code can see how they’re written and understand how they work and the terms of contract. They are mainly used in financial applications to enable complex transactions, such as Tokens, NFT’s and decentralised exchanges.

If you want to learn more about blockchain/web3 we go into much further detail in our blockchain hacking course HERE

Check out our new intuitive Penetration Testing Portal HERE

X