♈
Bootcamp-2024
  • Intro
  • 1. Blockchain & Wallet Fundamentals
    • Blockchain Introduction
    • State Machines
    • Cryptography
    • Distributed Networks
    • Game Theory
    • What is Web3
    • MetaMask Wallet Installation
    • Transferring Tokens with MetaMask
  • 2. Smart Contract & Solidity Fundamentals
    • Using Remix
    • Create, compile and publish your first smart contract
    • Interact with already published smart contracts
    • Blockchain Explorer
    • Verify source code on Etherscan
  • 3. Oracles, ERC20 & Chainlink Data Feeds
    • Oracles
    • Create & Deploy ERC20
    • Data Feeds
  • 4. Cross-Chain Tokens With Chainlink CCIP
    • Setting up MetaMask
    • Getting USDC Testnet Tokens
    • Create Smart Contract In Remix
    • Compile and Deploy
    • Approve USDC
    • Send LINK to your Contract
    • Send USDC from Fuji to Sepolia
    • USDC on Sepolia
  • 5. Mentoring Session
  • 6. NFTs & Chainlink Automation
    • NFT Basics
    • Dynamic NFTs
    • Creating an NFT Smart Contract
    • Deploying Your Dynamic NFTs
  • 7. Chainlink CCIP & Cross-Chain NFT dApps
    • Create and deploy CCIP NFT Contracts
    • Mint on Source Chain
    • Fund Contract
    • Mint On Sepolia From Fuji
    • Mint from Destination 2 - Base Sepolia
  • 8. Random Numbers with Chainlink VRF
    • Introduction to Chainlink VRF
    • Hands On Game Using VRF
  • 9. Off-Chain Data with Chainlink Functions
    • Chainlink Functions Playground
    • Setting up MetaMask
    • Remix
    • Functions Subscription
    • Creating The Functions Consumer Contract
    • Sending a Request from Remix
    • City Weather and Examples
    • City Weather on Chainlink Functions
  • 10. Connecting the 🌏 with Chainlink
  • Glossary
Powered by GitBook
On this page
  • Hash Function
  • Merkle Tree
  • Public key and Private Key in Blockchain
  1. 1. Blockchain & Wallet Fundamentals

Cryptography

The provable method to establish trust in a transaction

PreviousState MachinesNextDistributed Networks

Last updated 1 year ago

  • Cryptography is the study of the principles and techniques by which information can be transformed from its original form to a form that is not human readable

  • 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

Hash Function

A hash function is any that can be used to map of arbitrary size to fixed-size values, though there are some hash functions that support variable length output. The values returned by a hash function are called hash values, hash codes, hash digests, digests, or simply hashes. The values are usually used to index a fixed-size table called a . Use of a hash function to index a hash table is called hashing or scatter storage addressing.

Merkle Tree

Merkle trees are used to "summarize" and store 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"

Public key and Private Key in Blockchain

Public Key Cryptography provides a mechanism to secure and validate information between two parties securely and safely. The public key is linked to a corresponding private key. A public key is a publicly available cryptographic artifact that allows users to encrypt information that only you would then be able to decrypt. Example workflow: Pat has a message they want to send you. Pat can use your public key to encrypt the message. That message can now only be decrypted with the corresponding private key that the public key was linked to.

Cryptography:

  • Anyone can encrypt a message using the recipient's public key

  • Only the private key owner can decrypt messages encrypted with the corresponding public key

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

WARNING: NEVER GIVE YOUR PRIVATE KEY AWAY. USERS CAN DECRYPT YOUR MESSAGES AND SIGN TRANSACTIONS IN YOUR NAME

In and , a hash tree or Merkle tree is a data structure in which every "leaf" (a node with no "child" nodes) is labelled with the of a data block. Every other node that is not a leaf is labelled with the cryptographic hash of the labels of its child nodes. A hash tree allows efficient and secure verification of the contents of a large . A hash tree is a generalization of a and a .

cryptography
computer science
tree
node
cryptographic hash
data structure
hash list
hash chain
function
data
hash table
LogoHash functionWikipedia
Hash Function Definition
LogoMerkle treeWikipedia
Merkle Tree Definition