# 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

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://notes.nomanaziz.me/development/blockchain/freecodecamp-course/1.-introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
