2024년도 1학기 블록체인 및 암호화폐 (CSED403-01) 강의계획서

1. 수업정보

학수번호 CSED403 분반 01 학점 3.00
이수구분 전공선택 강좌유형 강의실 강좌 선수과목
포스테키안 핵심역량
강의시간 월, 목 / 17:00 ~ 18:15 / 제2공학관 강의실 [109호] 성적취득 구분 G

2. 강의교수 정보

홍원기 이름 홍원기 학과(전공) 컴퓨터공학과
이메일 주소 jwkhong@postech.ac.kr Homepage http://dpnm.postech.ac.kr/~jwkhong
연구실 HTTP://DPNM.POSTECH.AC.KR/ 전화 054-279-2244
Office Hours

3. 강의목표

This course will provide a comprehensive overview of blockchain and cryptocurrency. We introduce the core encryption technology used in blockchain and the core technologies applied in Bitcoin. Then we introduce the core technologies of the Ethereum and Smart Contracts. We also introduce the development of Decentralized Apps (DApp) using smart contacts. We introduce and compare public and private blockchains and some of the most popular blockchain platforms. A number of popular applications using Blockchain will be introduced. We will discuss the most important issues in blockchains including scalability, security, and performance. We introduce the methods that the blockchain startups are using to attract investments. We also introduce cryptocurrency, token economy, crypto exchanges, and the latest concepts such as DID, DeFI, CBDC, NFT, etc.

4. 강의선수/수강필수사항

Data Structures

5. 성적평가

Assignments - 40%
Quizzes - 10%
Term Project - 40%
Class Participation - 10%

6. 강의교재

도서명 저자명 출판사 출판년도 ISBN
Lecture slides & videos prepared by Prof. Hong 0000

7. 참고문헌 및 자료

http://dpnm.postech.ac.kr/cs403/2022-Spring/

8. 강의진도계획

Week 1: Introduction
- Introduction to the course
- Introduction to Blockchain and Cryptocurrency
Week 2: Overview of Cryptography for blockchain
- Cryptographic Hash Functions
■ What is Hash function?
■ What is Hash Pointer
- Digital Signatures
■ What we want from Signatures
■ Basic for Signatures
Week 3: Mechanics of Bitcoin (1)
- Elements in Block, Transaction
■ Block Structure
■ Linking Blocks in Blockchain
■ Merkle Tree
■ Transaction Structure
■ Transaction Script and Script Language
- Relationship between Keys and Address
■ Private Key and Public Key
■ Generating Public Key
■ Public Key to Bitcoin Address
- Bitcoin Network
■ Peer-to-Peer Network Architecture
■ Types and Roles of Nodes
■ Network Discovery
■ Bloom Filter
Week 4: Mechanics of Bitcoin (2)
- Introduction to Mining and Consensus
■ Bitcoin Economics and Currency Creation
■ Distributed Consensus
- The Task of Bitcoin Miners: Mining the block
■ Mining Nodes
■ Consensus in Bitcoin: Proof of Work
■ Difficulty
- Mining Incentives and Strategies
■ Transaction Ages, Fees and Priority
■ Coinbase Reward and Fees
- After Successfully Mining the Block
■ Validating a New Block
■ Assembling and Selecting Chains of Blocks
Week 5: Ethereum(1)
- Introduction to Ethereum
■ Overview of Ethereum and its history
■ Main difference between Bitcoin and Ethereum
- Data Layer
■ Account
■ Transaction
■ Receipt
■ Block: Normal Block, Genesis Block, Uncle Block
■ Ghost: Greedy Heaviest Observed Subtree
■ Merkle Patricia Tree
■ Ether / Gas
■ Transaction Processsing and cost Processsing
Week 6: Ethereum(2)
- Consensus Layer
■ Ethereum Consensus Engine: Ethash / DAG
■ Adjustment of Difficulty
- Execution Layer
■ EVM: Ethereum Virtual Machine
- Common Layer
■ Ethereum P2P network
■ Ethereum Database
■ RLP encoding
- Application Layer
■ Ethereum DApp
■ Whisper / Swarm
Week 7: Smart Contracts
Week 8: DApp: Decentralized App
- Introduction to DApp
■ What is DApp
■ Requirements for DApp
- How to develop DApp
■ DApp Development Process
■ Development Tutorial
- DApp vs. Traditional App
■ Main Difference between DApp and App
■ Security Aspect
■ Speed Aspect
- Blockchain Use Cases
■ Digital assets, Digital voting, Notary, International money transfer, Wills and inheritance
■ Supply chain management, Real Estate sales, Credit history, Education, Energy
Week 9: Consensus Algorithm and Blockchain Platform
- Consensus algorithms
■ Proof of Stake
■ Delegated PoS
- Hyperledger
■ Overview of Hyperledger
■ Consensus in Hyperledger
- EOS
■ Overview of EOS
■ Consensus in EOS
- Platform Comparison
Week 10: Public vs. Private blockchains
- Introduction to Public Blockchain
■ Main features of Public blockchain
■ Types of Public blockchain
- Introduction to Private Blockchain
■ Main features of Private blockchain
■ Types of Private blockchain
- Public blockchain vs. Private blockchain
■ Comparison using Several Features
■ Assessment of whether blockchain is the right for you
Week 11: Important Issues in Blockchain
- Scalability & Performance
■ The time for putting a transaction in the block
■ The time for reaching a consensus
■ Total size of Blockchain
■ Solutions
- Attacks and how to detect them
■ Double spending attack
■ Selfish mining
■ Feather forking
■ Sybil
■ Eclipse
- How to test blockchains for performance, scalability
■ TPS: Transaction per second
■ Transaction Latency
■ Resource Utilization
■ Block size scaling
Week 12: ICO (Initial Coin Offering) & Token Economy
- Introduction to Cryptocurrency
■ Bitcoin Cash
■ Ethereum Classic
■ Ripple
■ ICON
- Introduction to ICO
■ What is ICO
■ ICO vs. IPO
- The process of ICO
- Introduction to Token Economy
■ Why Token Economy is Important
■ What is Token?
- Token Valuation Approaches
■ The Cost of Production Model(Adam Hayes)
■ The INET Model(Chris Burniske)
Week 13: Cryptocurrency Exchange
- Introduction to Cryptocurrency Exchanges
■ Emergence of Cryptocurrency Exchanges
■ Popular Cryptocurrency Exchanges
- Hacking cases in Cryptocurrency Exchanges
■ Mt. Gox Hack
■ Coincheck Hack
■ UPbit Hack
- Challenges for Cryptocurrency exchanges
Week 14: Project Presentations
Week 15: Project Presentations

9. 수업운영

- Online & Offline (if possible) classes

10. 학습법 소개 및 기타사항

- Flipped Learning (Lectures videos and notes are provided in advance. Students are asked to study the lecture materials before joining the class)
- Class Q&As, Discussions
- Class presentations
- Hands on experience
- Group Term project

11. 장애학생에 대한 학습지원 사항

- 수강 관련: 문자 통역(청각), 교과목 보조(발달), 노트필기(전 유형) 등

- 시험 관련: 시험시간 연장(필요시 전 유형), 시험지 확대 복사(시각) 등

- 기타 추가 요청사항 발생 시 장애학생지원센터(279-2434)로 요청