0% found this document useful (0 votes)
64 views150 pages

Bootcamp - Nov '24

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views150 pages

Bootcamp - Nov '24

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 150

Chainlink

Blockchain
Fundamentals
November 2024
Chainlink Blockchain Fundamentals

Session 01
Introduction to blockchain and
Ethereum
Agenda

What is Blockchain
Blockchain Fundamentals
Web3 and decentralizations
Ethereum Blockchain
What is
Blockchain
What is a Blockchain?

A blockchain is a distributed ledger


that maintains a continuously growing
list of ordered records, called “blocksˮ,
that are linked together and secured
using cryptography.
What Are Blocks?

Blocks are data containers where data is permanently recorded


on a blockchain.
A block records:

➔ Transactions
➔ Timestamp
➔ Hash of the previous block
➔ Nonce
What Are Transactions?

Transactions on blockchains are used for

➔ Transfer of value
➔ Data
◆ A message from one address to another
◆ A smart contract deployment
◆ An interaction with a smart contract
Blockchain = Chain of Blocks
Block 01 Block 02 Block 03 Block 04

Proof of Work Proof of Work Proof of Work Proof of Work


0000009857vvv 000000zzxvzx5 00000090b41bx 000000jjl93xq49

Previous Block Previous Block Previous Block Previous Block


000000432qrza1 0000009857vvv 000000zzxvzx5 00000090b41bx

Transaction Transaction Transaction Transaction


lk54lfvx dd5g31bm 94lxcv14 555lbj4j12

Transaction Transaction Transaction Transaction


09345w1d 22qsx987 abb7bxxq bn24xa0201

Transaction Transaction Transaction Transaction


vc4232v32 001hk009 34oiu98a s01xxe7g1
Blockchain
Fundamentals
Main Cryptography

Elements Distributed Networks

Game Theory
Cryptography
Cryptography Definition

➔ In Greek: kryptós, “hidden", e gráphein, “written"

➔ The study of the principles and techniques by which information can be


transformed from its original form to an unreadable one

➔ Information can be known only to its recipient (holder of the "secret key")

➔ Difficult to read by an unauthorized person

➔ Only the recipient of the message can read the information easily

➔ It is a branch of mathematics, part of cryptology.

➔ Source: Wikipedia https://en.wikipedia.org/wiki/Cryptography


Cryptography example
Cryptography in blockchain

➔ Hash Function
➔ Public and Private Key
➔ Merkle Tree
Hash Function
HASH Function

Algorithm that maps


variable-length data to
fixed-length data.
HASH Properties
➔ Deterministic

➔ Fast

➔ One way: from the hash it is not possible to return to the original

➔ Collision resistant: Small change in the input generates a completely different


hash (it seems random). Two documents do not generate the same hash
(depending on hash algorithm).
HASH Demo

Letʼs try it!


https://andersbrownworth.com/blockchain/hash
Public Keys
& Private Keys
Cryptographic Keys

There are two types of cryptographic keys:


➔ Symmetric (single-key encryption)
➔ Asymmetric (pair-key encryption)
Asymmetric keys are used in Blockchain
Public Key and Private Key
Encryption:
● anyone can encrypt a message using the recipient's public key.
● only the private key owner can decrypt messages that is encrypted
with the corresponding public key.

Alice private key: only


Alice has access

Alice public key:


Can be accessed by
anyone
Public Key and Encryption: Authentication:

Private Key in ➔ anyone can encrypt a ➔ only the private key owner
Blockchain message using the can sign/authorize
recipient's public key. transactions (digital
signature)
➔ only the private key owner
can decrypt messages ➔ The public key confirms
encrypted with the the sender's identity,
corresponding public key. verifying that the private
key holder sent the
message.
Authentication (Digital Signature)

Authentication:
● only the private key owner can sign/authorize transactions (digital

signature)
● The public key confirms the sender's identity, verifying that the private key

holder sent the message.

Bob private key: only Bob public key:


Bob has access Can be accessed by
anyone
WARNING

NEVER GIVE YOUR PRIVATE KEY AWAY


USERS CAN DECRYPT YOUR MESSAGES AND SIGN
TRANSACTIONS IN YOUR NAME
Merkle Tree
Merkle Tree

➔ Binary hashes tree


➔ Data structure for storing information in large datasets
➔ The verification of this dataset is efficient
➔ Anti-fraud mechanism
Merkle Tree

"Merkle trees are used to summarize all the


transactions in a block, producing an overall digital
fingerprint of the entire set of transactions, providing
a very efficient process to verify whether a
transaction is included in a block".

According to Andreas M. Antonopoulos, in "the Bitcoin protocol"


Merkle Tree In Blockchain
Merkle Tree In Blockchain

https://github.com/LearnWeb3DAO/Merkle-Trees
Verify if the transaction exist

Prover: give a proof to verify if a


transaction exist in a merkle tree

Merkle tree proof


H(L) + H(IJ) + H(MNOP) + H(ABCDEFGH)
Transaction K

Verifier: verify if a transaction exists Tx(K) + Merkle tree proof = root


root = root?
in a merkle tree Fetch root from full node
Merkle Tree
Distributed
Networks
Diagrams of Networks - Paul Baran

Centralized Decentralized Distributed


Ledger of “states” Distributed
Game
Theory
Game Theory

➔ Study of decision making between individuals


➔ Outcome of each depends on the decisions
of the others
➔ Game-like interdependence.
➔ “Probabilitiesˮ in decision making.
Game Theory in Blockchain

Interaction between participants in the blockchain


ecosystem and their incentives to behave honestly.
Byzantine General Problem

➔ Armies must attack


together to win

➔ Messages can be
intercepted or generals
can be dishonest

➔ How do decentralized parties


agree on consensus without a
trusted centralized party?
Byzantine Fault Tolerance(BFT): As long as the number
of traitorous generals does not exceed one-third of the
total 3(f)+1, it is possible to identify the traitors and maintain
system stability.
How to ensure that the number of traitorous generals
does not exceed one-third? From a purely mathematical
perspective, there is no solution.

However, solutions can be based on game theory.


Consensus

➔ Mechanism to ensure that all parties agree that a


certain state of the system is correct
➔ The Truth
➔ Consensus mechanisms are based on game theory
Proof of Work (PoW)

➔ Concept by Cynthia Dwork and Moni Naor in 1992 in the paper "Pricing via
Processing, Or, Combatting Junk Mail, Advances in Cryptology";

➔ Named by Markus Jakobsson and Ari Juels in 1999 in the paper: "Proofs of Work
and Bread Pudding Protocols";

➔ Asymmetry:

◆ Requires a significant amount of computational effort to solve a puzzle or


perform a certain task

◆ Verifying that the work has been done is relatively simple and quick
Proof of Work (PoW)

➔ PoW ensures that participants in the network agree on the state of the ledger (i.e., the
order and validity of transactions) through a process that involves solving complex
cryptographic puzzles

➔ “Minersˮ do mathematical calculations on their computers to verify that the transactions


are valid.

➔ Mining comes from trial and error of finding a Nonce (random number) that satisfies the
degree of difficulty of the network.

➔ Difficulty ensures that the process of adding new blocks to the blockchain requires a
significant amount of computational work. This makes it economically infeasible for
malicious actors to manipulate the blockchain
PoW Demo

Letʼs try it!


https://andersbrownworth.com/blockchain/block
Proof of Stake (PoS)

➔ Known as proof of participation.

➔ To participate in the validation, the amount of coins that the validator has is used, instead of
the computational power.

➔ The validator must place his deposited coins in a kind of safe to "prove" his participation,
without moving the coins.

➔ The more coins you have, the greater the chance of validating transactions and earning from
them.

➔ In terms of energy, it is more economical than PoW.

➔ It should bring more security and decentralization, but it makes larger coin holders more likely
to get more coins.
Proof of Authority
(PoA)
➔ Used in permissioned Blockchains.

➔ Group of *authorities*

➔ Specific nodes are defined and authorized to create new blocks in a chain.

➔ It needs approval from most of the nodes for the block to be created.

➔ Used in private Ethereum networks and others.


Web3
Web 1.0 Web 2.0 Web 3.0

READ ONLY READ-WRITE READ-WRITE-OWN


Web3 = Decentralization
Ethereum Blockchain
Ethereum Introduction
Ethereum (ETH) is a blockchain platform that evolved beyond
Bitcoin (BTC), with the intention to create a decentralized
application platform.

● Ethereum white paper published in 2013


● Ethereum officially launched on July 30, 2015
● Ethereum initially used the same PoW consensus as Bitcoin.
● Ethereum transitioned from PoW to PoS, known as "The Merge."
in 2022
Smart Contracts
Nick Szabo proposed smart contract in 1994 and key aspects of
Szabo’s smart contract concept:
● Automation of contractual clauses
● Reduction of transaction costs
● Elimination of the need for trusted intermediaries
● Enhanced security through cryptography

Nick Szabo’s proposal is ahead of time and Ethereum to make this


concept to reality .
Smart Contracts solved Societyʼs Critical Trust
Issues
Smart Contracts on Ethereum
● Computer programs

● Published and executed in a Blockchain environment

● Immutable

● Autonomously
○ (when triggered/called)

● No intermediaries
Decentralized Application (DApp)
A DApp is a type of software application that runs on a
decentralized network, like Ethereum, rather than on a
centralized server.
It uses smart contracts to manage their logic and interact
with the blockchain.

Central Server
node node node

node node node


Turing complete and gas fee
In the context of Ethereum, Turing completeness refers to
the capabilities of the Ethereum Virtual Machine (EVM).
EVM can be used to solve any computable problem, provided
there is enough time and resources.

21000 Gas

$ 2 = gas x
gas price

Since each Ethereum transaction requires


computational resources to execute, payment
for computation is made in the form of a gas fee.
Transactions and State Machine

State 01 State 02

Balance 10 Balance 10
Information A Information A
State Changed on Blockchain
Block 01 Block 02 Block 03

Proof of Work Proof of Work Proof of Work


0000009857vvv 000000zzxvzx5 00000090b41bx

World State 4
World State 3
World State 2
World State 1

Previous Block Previous Block Previous Block


000000432qrza1 0000009857vvv 000000zzxvzx5

Transaction Transaction Transaction


lk54lfvx dd5g31bm 94lxcv14

Transaction Transaction Transaction


09345w1d 22qsx987 abb7bxxq

Transaction Transaction Transaction


vc4232v32 001hk009 34oiu98a
EVM (Ethereum State Machine)

Source: https://ethereum.org/pt/developers/docs/evm/
Chainlink Blockchain Fundamentals

Session 02
Wallets, Testnets, and Solidity
Agenda

Digital Wallets
Install Metamask
Testnets and faucets
Using an Ethereum wallet
Digital Wallets
What Are Wallets?

➔ Key manager used to manage your


cryptocurrencies or tokens

➔ Authorize transactions and interact with web


pages or decentralized applications

➔ Subscribe to messages demonstrating that


you own a wallet address
Purpose of Crypto Wallet
● Key manager used to manage your cryptocurrencies on blockchain
● Authorize transactions and interact with decentralized applications
● Subscribe to messages demonstrating that you own a wallet address

Signature is done by Verification is done by


a wallet software. a wallet software
Wallet Type

Custodian Wallet Non-custodial Wallet

Private key A custodian or third party has control Users have complete control
management of private keys and access to the fund of private keys and fund

Security Private keys are stored online and Users can decide how to
depends on security mechanism of secure their private keys
custodial

User Do not require special blockchain Users need to know basic


experience knowledge crypto knowledge

Use case CEX Metamask


Cryptography in Wallet
Mnemonic
12 or 24 words from the word list https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt)

BIP39 or PBDKF2
Seed(512-bit)
HD key generation algorithm(BIP32)
BIP32 or BIP44
Master key(256-bit)
Keccak256
Elliptic curve hash function
Private key (256-bit) Public key 512-bit) Address 256-bit)

Private key 256-bit) Public key 512-bit) Address 256-bit)

Private key 256-bit) Public key 512-bit) Address 256-bit)

Source: https://mdrza.medium.com/how-to-convert-mnemonic-12-word-to-private-key-address-wallet-bitcoin-and-ethereum-81aa9ca91a57
Cryptography in Wallet

Mnemonic

Private key 1 Private key 2 Private key 3 Private key 4

Public key 1 Public key 2 Public key 3 Public key 4


Wallet Security
Hot Wallet Cold Wallet

Storage connected to the Internet. Not connected to the internet

Types These include mobile wallets, Hardware wallets (physical devices


desktop wallets, and web like USB sticks) and paper wallets
wallets. (printed copies of private keys)

Use Case Frequent transactions, Ideal for long-term storage of large


blockchain interaction, and amounts of cryptocurrency.
active trading. Easy access to
funds.
Install Metamask
Browser Extension

Install metamask at
https://metamask.io/
Create new wallet

WARNING
NEVER GIVE YOUR PRIVATE KEY
or MNEMONICS AWAY

USERS CAN DECRYPT YOUR


MESSAGES AND SIGN
TRANSACTIONS IN YOUR NAME
Testnets, faucets
and block explorer
Testnet
● Testnet = test network
● Networks with the same characteristics as
Mainnet, but for testing
● Generally your tokens have no financial value.
Chainlist

https://chainlist.org/ or https://docs.chain.link/resources/link-token-contracts
Faucets
● Faucets - places to get tokens/cryptocurrencies
from testnets
Sepolia ETH
● https://workshop-faucet.vercel.app/faucets
● Facuet Password: BigMac777
● https://faucets.chain.link/
EtherScan - Sepolia
● https://sepolia.etherscan.io/
Using an Ethereum
Wallet
Create second account

1. Drop the wallet list


options
2. Add a new account to
metamask
Transfer using Ethereum wallet
1 3

1. Send button on
metamask
2. Confirm transaction
3. Pending transaction
4. Check transaction on
2 Etherscan

4
Smart Contract
Languages
Smart contract languages on different
blockchains
Different blockchains support different languages, which means there’s no one-language-fits-all
solution for smart contract developers.

Language Compatible blockchain Most Similar To

Solidity Ethereum, Arbitrum, Avalanche C-Chain, BNB Chain, Javascript


Optimism, Polygon, Tron, Klaytn, Metis, Moonbeam …

Vyper Same as Solidity Python

Yul Same as Solidity Solidity

Cairo StarkNet / StarkEx Python

Rust Solana, Polkadot, Cosmos C, C++

Move Aptos, Sui Rust


Remix IDE
What is Remix IDE?
Contract Source

develop

Solidity Compiler

Compile

ABI Byte Code

Deploy

Ethereum Blockchain Remix is a powerful online IDE Integrated Development


Environment) that allows developers to write, compile, and
deploy smart contracts.
Itʼs particularly user-friendly for those new to blockchain
development. You will use Remix during this course.
Remix IDE layout
File Explorer Workspaces)
The File Explorer Workspaces) allows you to view
your code's directory/tree structure on the left side of
the screen. This portion houses our raw Solidity
code; all smart contracts created will appear here.

Open the Solidity Compiler


On the left sidebar, click the "Solidity Compiler" icon,
which looks like a small S.

Deploy & Run Transactions


After compiling the source code, this tab allows you
to easily publish the smart contract to the testnet and
interact with the functions in our smart contract.
Build Your first
Smart Contract
Register.sol
Source code of Register.sol

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
What we have in Register.sol.
contract Register { - A variable info to store a string
string private info; - A function getInfo() to return the string
stored at variable info
- A function setInfo() to change the
function getInfo() public view returns (string memory) {
string stored at variable info
return info;
}

function setInfo(string memory _info) public {


info = _info;
}
}
Deploy and check Register.sol
Develop Register.sol Deploy Register.sol

Deployed Register.sol

Check deployment tx

Check tx hash
Interact with
Smart Contracts
Interact with Ethereum Wallet

2 types of Transactions
- Read-only function call
- Does not cost gas fee
- Change on-chain status
- Cost gas fee
#LearnWithChainlink

Congratulations!
Chainlink Blockchain Fundamentals

Session 03
Tokenized Assets, Blockchains,
and Oracles
Agenda

Tokenization Concepts
Token Standards
Token Interactions
Use Cases
Tokenization
Concepts
What is tokenization
Tokenization is the process of representing an asset's ownership rights as digital tokens stored on a blockchain. These
tokens act like digital certificates of ownership and can represent many assets, including physical, digital, fungible, and
non-fungible items.
Tokenizing assets on a blockchain refers to representing ownership or rights to real-world or digital assets as digital
tokens on a blockchain.

Off-chain

Currency Commodities Stock Asset Carbon Credit Real estate Art

On-chain

Global on the blockchain


Tokenization Benefits
Increased Liquidity Improved Accessibility Transparency and Security
24/7 trading Global reach Smart contracts
Fractional ownership More affordable investment values Immutable records

Efficiency and Cost Reduction Transparency and Compliance Flexibility and Customization
Reduced intermediaries Real-time monitoring Programmable assets
Automated Processes Regulatory compliance Dynamic use cases

Increased Trust and Security


Decentralization
Ownership verification
Token Standards
Token Standards
Blockchain networks are decentralized and a standard is not an obligation to be followed; it is a choice!

If you say that your token follows a standard, other people will expect to find specific functions in your
token, and you should declare them, even if you do not implement their definitions.

ERC EIP

Full name Ethereum Requirement Comment Ethereum Improvement Proposal

Focus Token and smart contract standard Protocol Improvement and changes

Example ERC20 (fungible token), ERC721 EIP1559 Transaction fee model)


Non-fungible token) EIP155 (hard-fork)

Proposed by Developers and community members Developers and community members

Decision Individual developer and projects Implemented in a future version of Ethereum


protocol
Fungible and non-fungible Tokens
ERC20 ERC721

Uniform Unique

Interchangeable, divisible Non-Interchangeable, Non-divisible

2018.1 2018.6

Example: WETH, BNB, Maker Example: BAYC, Azuki, CryptoKitty


ERC-20 contract
Functions:

1. totalSupply:
○ Returns the total supply of tokens that exist.
2. balanceOf(address account):
○ Returns the balance of tokens for a specific address.
3. transfer(address recipient, uint256 amount):
○ Transfers a specified token amount from the sender’s account to another account.
4. approve(address spender, uint256 amount):
○ Approves a spender to transfer up to a specified amount of tokens on behalf of the owner.
5. allowance(address owner, address spender):
○ Returns the remaining number of tokens that the spender is allowed to spend on behalf of the owner.
6. transferFrom(address sender, address recipient, uint256 amount):
○ Transfers tokens from one account to another, typically used in conjunction with approve and allowance to manage delegated
transfers.

Events:

● Transfer(address indexed from, address indexed to, uint256 value):


○ Emitted when tokens are transferred, including zero-value transfers.
● Approval(address indexed owner, address indexed spender, uint256 value):
○ Emitted when the approve function sets an approval.
ERC-721 contract
Functions:

1. balanceOf(address owner):
○ Returns the number of tokens owned by a specific address.
2. ownerOf(uint256 tokenId):
○ Returns the owner of a specific token by its ID.
3. safeTransferFrom(address from, address to, uint256 tokenId):
○ Safely transfers token ownership from one address to another, ensuring the recipient can handle ERC-721 tokens.
4. transferFrom(address from, address to, uint256 tokenId):
○ Transfers token ownership without safety checks (not recommended for general use).
5. approve(address to, uint256 tokenId):
○ Approves another address to transfer a specific token on behalf of the owner.
6. getApproved(uint256 tokenId):
○ Returns the address approved for a specific token.
7. setApprovalForAll(address operator, bool approved):
○ Approves or removes an operator as authorized to manage all of the sender's assets.

Events:

1. Transfer(address from, address to, uint256 tokenId):


○ Emitted when ownership of a token changes.
2. Approval(address owner, address approved, uint256 tokenId):
○ Emitted when the approval for a specific token is set or changed.
3. ApprovalForAll(address owner, address operator, bool approved):
○ Emitted when the approval status for all tokens owned by an address is set or changed.
Token Interactions
Interact with ERC-20 tokens

Add token address


Import a token into
here. Please make
the metamask
sure always get the
token list
token address from
official website
Interact with ERC-20 tokens
Select the Select payee
added token address
Transfer using Ethereum wallet

Transaction
Input the
success
amount
Interact with NFT

You can connect


wallet to
etherscan and
directly interact
with contact.

https://sepolia.etherscan.io/address/0x35EfE940D1216D441f915C11725B7e4Dc089E23C

https://testnet.snowtrace.io/address/0x1c3D8C3Ad27049eBf16ae96d90A6d86b1A73e7c4/contract/43113/code
Interact with NFT

Select the specific


function that is
supposed to be called
Interact with NFT

Check the minted


NFT on opensea

Opensea is the biggest


NFT marketplace
Token Use Cases
Fungible token use cases

Real-World Asset Digital Asset Tokenization In-Game Asset Tokenization


Tokenization Tokenizing assets that only exist in a A subset of digital asset tokenization,
Real-world assets like fiat currency, digital form on a blockchain network in-game assets used in GameFi projects
equities, T-bills, credit, commodities, is critical to Web3, especially for use or metaverses, such as skins, weapons, or
carbon credits, intellectual property, cases such as representing DAO in-game currencies, can be represented
and fine art can be tokenized and governance rights and cross-chain as tokenized assets.
stored on a blockchain. assets.
Stablecoins

Stablecoins are tokens designed to maintain a stable value relative to a specific asset or basket of
assets, typically a fiat currency like the US dollar or euro, or a commodity like gold.

● Tether USDT: One of the oldest and most widely used stablecoins, Tether is pegged to the U.S. dollar at a
11 ratio.
● USD Coin USDC: Another popular stablecoin, USDC, is also pegged to the U.S. dollar and is known for its
transparency and regular audits.
● USDS: Unlike USDT and USDC, USDS is a decentralized stablecoin collateralized by other cryptocurrencies
rather than fiat currency, and real-world assets.
● PAXG Paxos Gold): Pegged to the price of gold, issued by Paxos.
NFT use cases

Community Proof of
Identity Attendance

Asset
collateralized Membership
proof
Agenda

Layer 2 and other blockchains


Oracle and Chainlink
Interoperability
Use cases
Layer 2 and other
blockchains
Blockchain Impossible Triangle

1. Decentralization means that no single entity controls

the network. Anyone is able to join the network and

participate as a block-validating node.

2. Security refers to the measures in place that prevent

adversaries from validating fraudulent transactions.

3. Scalability is the number of transactions a

blockchain is able to handle without slowing down or

becoming too costly.


Layer 2 and side chains
The Ethereum network has powerful security features. However, the security and permanence of the Ethereum
network comes with tradeoffs in speed, transaction throughput, and scalability.

Several scaling solutions have emerged:

Layer 2s Side Chains


In the Ethereum context, a Layer-2 L2) solution is Side chains are blockchains that run parallel to
another framework or protocol built on top of the Ethereum. They have their own consensus
Ethereum blockchain Layer-1) to improve its mechanisms and security models and are
scalability, efficiency, and speed. It is not a separate connected to Ethereum via bridges.
blockchain in the traditional sense.
Oracle and Chainlink
Smart Contract
Limitations
https://blog.chain.link/what-is-the-blockchain-oracle-problem/
Are There Limitations in Smart Contracts?
Blockchain Oracles

Any device that interacts with the off-chain


world to provide external data or computation
for smart contracts.
Oracles =
Data Sources and External Resources
Centralized Oracles?
NO! Are a Point of Failure
DON - Decentralized Oracle Networks
Chainlink
The Platform to
Connect Smart Contracts
Chainlink is Blockchain Agnostic

Chainlink Nodes Blockchains


The Blockchain Oracle Standard

Chainlink expands smart


contract capabilities.
Provides secure access
to data and computation
outside of a blockchain.
Chainlink - The Web3 Platform
Functions
Data Feeds

Data Streams Automation

Proof of Reserve VRF

CCIP More to come…


Interoperability
Blockchain = Isolated Network

➔ Blockchains are isolated networks


➔ Operate independently
➔ Cannot communicate natively.
Interoperability

➔ The ability to exchange information between different


systems or networks even if they are incompatible.
➔ Shared concepts on different networks ensure that
each party understands and trusts the exchanged
information.
Finality

➔ Past transactions included on-chain are extremely difficult or impossible to revert.

➔ Transactions cannot be altered, reversed, or canceled after they are completed.

➔ Immutability

➔ Finality varies across different networks.


◆ instant finality

◆ multiple confirmations
Interoperability and Finality

➔ Interoperability considers the concept of finality


➔ To establish trust in the exchanged information by
validating its accuracy and integrity.
Chainlink CCIP

➔ Chainlink CCIP connects


blockchain networks via lanes.

➔ The lane is a unique combination


of source blockchain to destination
blockchain

➔ From blockchain A to blockchain C


is a different lane from the reverse
order

➔ Each path has a unique lane


Cross-chain abstraction

Token Programmable Arbitrary


Transfers Token Transfers Messaging
Transfer tokens to a Transfer tokens along with Send arbitrary messages
receiving smart contract or instructions what to do (i.e. bytes) to a receiving
directly to an end-user on with them, to a receiving smart contract on a
a different blockchain. smart contract on a different blockchain
different blockchain.
source
sender Router chain

Major Components
● Three domains: Token
OnRamp
○ Source chain offchain Pool
○ Destination chain Committing
○ Offchain DON RMN
Commit
● Sender and receiver contracts are Store Contract
developed by external developers
RMN

○ Sender: smart contract & EOA


Executing Token
○ Receiver: smart contract & DON OffRamp
Pool
EOA(EOA cannot receive data)
● Other components are developed by
Chainlink Labs
receiver Router destination
chain
1 source
sender Router chain

Commit 2 2

● Send a message Token


OnRamp
○ Token transfer offchain 3
Pool
○ Arbitrary data Committing
○ Token + arbitrary data DON RMN
3 Commit
● Routing a message Store Contract
● Commiting a message
RMN

● Router:
Executing Token
○ routes message based on DON OffRamp
Pool
destination chain selector,
receiver & token address

receiver Router destination


chain
source
sender Router chain

Bless/Curse
● RMN waits for commitment and Token
OnRamp
independently reconstructs it from offchain Pool
events emitted by OnRamp Committing
● Check if commitment matches: DON RMN
1
Commit
○ Match: RMN sends tx to RMN Store Contract
RMN
Contract blessing 1

commitment
Executing Token
○ Does not match: RMN sends tx DON OffRamp
Pool
to RMN Contract cursing
commitment

2
receiver Router destination
chain
source
sender Router chain

Execute
● Executing DON comprises many Token
OnRamp
oracles running OCR2 offchain Pool
● Waits for Message to be committed Committing
in CommitStore and blessed in RMN DON RMN
Commit
Contract Store Contract
● Sends execution transaction to
RMN
1
OffRamp with cryptographic proof
Executing Token
that Message is included in DON OffRamp
2
Pool
commitment
● OffRamp call router to execute the
transaction
receiver Router destination
chain
Recap

Risk Management Network


Use cases
Oracle use cases

Lending & borrowing Mirror Asset

Issue and settle loans, liquidate undercollateralized positions, Generate mirrored versions of real-world and on-chain assets
trigger collateral swaps, and help protect against insolvency using on-chain collateral and Price Feeds as the reference
point for minting and redemption.

Stable Coin Asset management

Use financial market data to determine the collateralization of Enable the automated management of capital pools and the
stable coins, automate mint/burn operations, and trigger making of funds to market by referring to Price Feeds for
rebasing functions rebalance.
Oracle use cases

● AWS connector for data exchange


● Twilio user notifications
● Google cloud connectivity
● Meta small business NFT giveaway
Interoperability use cases

Collateral Governance Trading New Kinds of dApps Enterprise Workflow

Use funds deposited on Automatically Trade assets across Take advantage of network Decentralized validation
one chain as collateral to disseminate governance many chains. effects on Ethereum technology to reduce risk in
borrow against on decisions across many mainnet while harnessing cross-chain, multiparty
another chain. chains. compute and storage on middleware
other chains. communications.
Congratulations!
𝕏 thergdev 𝕏 thedavedev
You are ready to do the
exam and be certified!
Exam Time
How to do the exam

➔ Go to
https://codio.com/p/signup?courseToken=telex-canary
➔ Final Exam
➔ Wait the results
Thank you!
Disclaimer: This presentation is for informational purposes only and contains statements about the future, including anticipated programs and features, developments, and
timelines for the rollout of these programs and features. These statements are only predictions and reflect current beliefs and expectations with respect to future events;
they are based on assumptions and are subject to risk, uncertainties, and change at any time. There can be no guarantee that any of the contemplated programs or
features will be implemented as specified nor any assurance that actual results will not differ materially from those expressed in these statements, although we believe
them to be based on reasonable assumptions. All statements are valid only as of the date first presented. The statements in this presentation also may not reflect future
developments due to user feedback or later events and we may not update this presentation in response.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy