> For the complete documentation index, see [llms.txt](https://notes.nomanaziz.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.nomanaziz.me/development/blockchain/freecodecamp-course/1.-introduction.md).

# 1. Introduction

### The Oracle Problem

* Blockchains can't interact with real world data and events

#### Oracles

* Any device that interacts with off chain world to provide external data or computation to smart contracts
* We need decentralized oracle network

***

### Smart Contracts

An agreement, contract or set of instructions that is deployed on a decentralized blockchain.

A smart contract is

* Cannot be altered (**immutable**)
* Automatically executes
* Everyone sees terms of agreement

#### Hybrid Smart Contracts

* Combining off chain decentralized logic with off chain decentralized data and decentralized computation gives rise to hybrid smart contracts

***

### Chainlink

* It is a decentralized oracle network

***

### Versions of Web

#### Web1

The permissionless open sourced web with static content

#### Web2

The permissioned web, with dynamic content. Where companies run your agreements on their servers

#### Web3

The permissionless web with dynamic content. Where decentralized censorship resistant networks run your agreement and code.

***

### Basic Terminologies

#### DeFi

* Stands for Decentralized Finance

#### DAOs

* Stands for Decentralized Autonomous Organizations

#### NFTs

* Stands for Non Fungible Tokens

#### Consensus

* Mechanism used to agree on state of blockchain

***
