Smart Contracts and L2 Scaling Solutions

Smart Contracts and L2 Scaling Solutions

Table of contents

No heading

No headings in the article.

INTRODUCTION TO SMART CONTRACTS To begin with, contracts are basically agreements while smart contracts are computer programs stored on the blockchain that allows us to convert traditional contracts into digital parallels. If we do not already know what "blockchain" is, it is a list of record called blocks that stores data publicly and in a chronological order. Smart contracts are very logical - following an if this then that structure.

HOW SMART CONTRACT CAME ABOUT The term was coined in the 1990s by cryptographer Nick Szabo, after which the concept of smart contracts evolved especially after the introduction of decentralized blockchain platforms with the invention of Bitcoin in 2009.

WHY DO WE CHOOSE SMART CONTRACTS OVER TRADITIONAL CONTRACTS? One of the biggest problems with traditional contracts is the need for the trusted individual to follow through with the contracts outcome, regardless of if the conditions get met.

CHARACTERISTICS OF SMART CONTRACTS

  • Smart contracts are basically computer programs.

  • Any one can write a smart contract and deploy it to the network.

  • Once deployed, the code of a smart contract can not change.

  • Smart contracts operate with limited execution context.

SMART CONTRACT LANGUAGES Smart contracts can be programmed using relatively developer-friendly languages. Solidity and Vyper are the two most active and maintained languages.

INTRODUCTION TO LAYER 2 SCALING SOLUTIONS The blockchain has reached certain capacity limitations due to the increase in growth of the number of people using Ethereum. This has driven up the cost of using the network, hence the need for scaling solutions. Layer 2 is a collective term for solutions designed to help scale your application by handling transactions off the Ethereum Mainnet (layer 1).

GOAL OF SCALABILITY The main goal is to increase transaction speed (faster finality), and transaction throughput (high transactions per second), without sacrificing decentralization or security.

WHY DO WE NEED LAYER 2

  • Increased transaction per second improves user experience greatly, and reduces network congestion on Mainnet Ethereum.

  • Transactions are rolled up into a single transaction to Mainnet Ethereum thereby reducing gas fees for users.