Lec 1: Introduction to Blockchain

2023. 10. 19. 15:31· CS/블록체인응용
목차
  1. Simple Introduction to Blockchain
  2. History
  3. Definition
  4. Centralized System
  5. Decentralized System
  6. Problems of agreement
  7. Technical Background
  8. Chaining blocks
  9. Hash cash (PoW)

Simple Introduction to Blockchain

History

  • Satoshi Nakamoto released the white paper in 2008: "purely peer-to-peer version of electronic cash"
  • Bitcoin was offered up to the open source community in 2009
  • Around 2014, blockchain technology becomes more than cryptocurrency
  • In 2015, Ethereum launched: can be used to build smart contract

Cryptocurrency is just application using blockchain. Blockchain has more potential

 

Definition

Blockchain is a network of a decentralized database that is spread across multiple entities that are kept in sync, where there is no single owner or controller of data.

  • permits transactions
  • cryptographically chains blocks (content in database) in chronical order
  • allows the resulting ledger (history of changes) to be accessed by different servers

 

Centralized System

Trusted Arbiter (Centralized Authority)

  • which is controlling everything in the middle -> all users believe that a single trusted arbiter
  • ex. Banking system: bank == trusted arbiter

Client-server network (ex. Web)

  • Data is stored on servers, clients can access the data
  • clients trust the data is definitive
  • very efficient, and a traditional model in computing

Problems of Centralized system

  • Single point of failure
    • A failure in a centralized authority is a failure in the entire system
  • Concentration of power
    • A centralized authority easily can manipulate the current state.

 

Decentralized System

Decentralisation

  • authoritative location or group are distributed or delegated away from the central

Decentralized computing

  • allocation of resources, both HW or SW, to each individual workstation

Peer-to-peer network

  • Each peer has 100% of the data (or as close to it as possible)
  • Updates are shared around.
  • Data are replicated many times -> a lot of noisy gossip
  • ex. File sharing applications - BitTorrent network

Pros and Cons of Decentralized System

  • Cons
    • less efficient than client-server network due to the data replication and a noisy gassip
  • Pros
    • each peer in network is more independent, it can continue operating even if it loses connectivity to the rest of the network
    • more robust -> closing down peer-to-peer networks is harder

 

Problems of agreement

In P2P models, ther can be a problem of agreement or consensus

-> How do you determine the 'real' or 'true' state of the data with no trusted arbiter?

-> so, it was consisdered not to be suitable for a system requiring a high-level of trust such as money transfer

 

Example: Alice and Bob playing chess online in P2P network

  • They should agree the current state of the system to play a game
  • If they agree on history, they agree on the present state
  • Blockchain contains a history of individual transactions: Initial state + history = Current state
  • Blockchain is the technology letting Bob and Alice agree on the state of the system, even if they don't believe each other
    • In Blockchain, all users get a functionality of a trusted arbiter without having a real one.
Blockchain is a decentralized system and entities in blockchain don't believe each other, however, they want to agree the history of changes. --> HOW?

Technical Background

Chaining blocks

A block is a sequence of hash-chained records.

  • Once a new record is ahshed and chained, the past records cannot be modified.

Cryptographic Hash-function

  • Message Digest: It can take any size of inputs (arbitrary length) and outputs a fixed length value.
  • Preimage Resistant: Given v such that Hash(d) = v, finding value of d is infeasible (=almost impossible)
  • Collision Resistant: It is infeasible to find the two distinct d and d' such that Hash(d) = Hash(d')

Hashchain

  • Hashchain is a sequence of the records in which each record contains the hash of the previous record for the chain, and the hash of all current record's contents.
  • It provides the integrity of the all sequence of the past transitions.
  • If you change one block's payload, it changes not only the value of the forthcoming block but also changes whole blocks, which will appear after.

Every block has the information of all previously committed blocks. -> Accepting the most recent block means locking all previous commitments.
Because the payload can be a arbitrary length, it can be used for wide range of applications such as Smart contract or DApp.

 

Hash cash (PoW)

Building a Block

  • How can blockchain accept the next block without having a trusted entity?
  • Proof-of-work is needed to limit the rate of new blocks and make attempts to add invalid blocks to the chain expensive
  • Concept of PoW was introduced from HashCash

Hashcash

  • It is originally suggested a PoW system for spam filtering, but it is used in Bitcoin as a part of the mining algorithm.
  • How to generate nonce in the hashchain system
  • How to impose proper computing efforts to send a mail => Proof of Work
    • Mail server gives a sender a challenge C and limit L, then it asks to find the counter value
      Hash(C || counter) < L (If L is bigger, the easier)
    • There is no short cut to compute it. It should find the counter by increasing it one-by-one
    • However, the recipient can easily verify it by computing Hash(C || counter) and it stores the hash value to avoid that the sender reuses the hash value.
    • But PoW is not environment friendly
저작자표시 (새창열림)

'CS > 블록체인응용' 카테고리의 다른 글

Lec 6: Lightning Network  (2) 2023.10.20
Lec 5: Bitcoin Transaction  (1) 2023.10.19
Lec4: Digital Signature  (1) 2023.10.19
Lec3: HashCash and Proof-of-work in Blockchain  (1) 2023.10.19
Lec2: Types of Blockchain Applications  (1) 2023.10.19
  1. Simple Introduction to Blockchain
  2. History
  3. Definition
  4. Centralized System
  5. Decentralized System
  6. Problems of agreement
  7. Technical Background
  8. Chaining blocks
  9. Hash cash (PoW)
'CS/블록체인응용' 카테고리의 다른 글
  • Lec 5: Bitcoin Transaction
  • Lec4: Digital Signature
  • Lec3: HashCash and Proof-of-work in Blockchain
  • Lec2: Types of Blockchain Applications
호프
호프
호프
Untitled
호프
전체
오늘
어제
  • 분류 전체보기 (341)
    • 오류😬 (4)
    • 스터디📖 (96)
      • 웹 개발 기초 (8)
      • Spring (20)
      • ML, DL (30)
      • Node.js (22)
      • React (0)
      • 블록체인 (12)
      • Go (3)
      • Javascript (1)
    • 알고리즘💻 (153)
      • 그리디 (23)
      • Bruteforce&Backtracking (16)
      • DP (17)
      • 이분탐색&정렬&분할정복 (17)
      • 누적합&투포인터 (6)
      • 스택&큐&덱 (19)
      • 그래프(DFS&BFS) (19)
      • 트리 (7)
      • 우선순위큐&다익스트라 (11)
      • 벨만포드&플로이드와샬 (8)
      • map&set&number theory (5)
      • 기타 (5)
    • 프로젝트 (3)
      • 캡스톤 디자인 프로젝트 (3)
    • 블록체인🔗 (3)
      • Solana (2)
      • 개발 (0)
      • Harmony (1)
    • ASC (6)
    • CS (73)
      • 데이터베이스 (12)
      • 클라우드컴퓨팅 (21)
      • 운영체제 (11)
      • 컴퓨터네트워크 (14)
      • 블록체인응용 (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 복습

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
호프
Lec 1: Introduction to Blockchain
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.