



















Preview text:
CHUYÊN ĐỀ BLOCKCHAIN
Tài liệu nền tảng để bắt đầu làm đồ án blockchain (phiên bản rút gọn 2 phần)
Ngôn ngữ: Tiếng Việt | Đối tượng: Sinh viên bắt đầu làm đồ án | Mục tiêu: hiểu
đúng luồng kỹ thuật end-to-end Ngày biên soạn: 22/12/2025
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 Mục lục Mục lục 2 Cách dùng tài liệu 3
PHẦN 1 - Nền tảng mật mã và khái niệm lõi 4
1. Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Hash Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3. Digital Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
PHẦN 2 - Cơ chế vận hành mạng blockchain 11
4. Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5. Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6. P2P Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7. Consensus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Tóm tắt luồng end-to-end 20 Notes về tùy chỉnh 21 Phiên bản: 1.0 Trang 2
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 Cách dùng tài liệu
Tài liệu này tránh mô tả kiểu marketing. Mỗi khái niệm được trình bày theo 4 bước:
5W1H -> 2 loại ví dụ -> ứng dụng vào đồ án -> tổng hợp và câu hỏi tự kiểm tra.
Nếu bạn đang làm đồ án, hãy đọc theo thứ tự. Với mỗi mục, hãy tự trả lời 2 câu
self-check trước khi chuyển sang mục kế tiếp.
Quy ước keyword: khi một keyword tiếng Anh xuất hiện lần đầu, nó đi kèm mô tả
ngắn bằng tiếng Việt trong dấu ngoặc kép. Các lần sau chỉ giữ keyword. Phiên bản: 1.0 Trang 3
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
PHẦN 1 - Nền tảng mật mã và khái niệm lõi
Mục tiêu phần này: hiểu vì sao blockchain 'khó sửa' và vì sao mạng có thể xác định ai
tạo giao dịch, mà không cần máy chủ trung tâm. Phiên bản: 1.0 Trang 4
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 1. Blockchain
Bước 1 - Khái niệm theo 5W1H What
BLOCKCHAIN "sổ cái phân tán ghi dữ liệu theo khối, khó sửa đổi khi
đã được mạng xác nhận" là cấu trúc dữ liệu và cơ chế vận hành để
nhiều máy cùng lưu một lịch sử ghi chép giống nhau. Why
Giải quyết bài toán: nhiều bên không tin nhau nhưng cần một lịch sử
giao dịch chung, có thể kiểm chứng, và khó bị chỉnh sửa sau khi đã chốt. Who
Các NODE "máy tham gia mạng blockchain, lưu trữ và/hoặc xác thực
dữ liệu" cùng tham gia lưu và xác thực; người dùng tạo giao dịch thông qua ví/ứng dụng. Where
Dữ liệu nằm trên nhiều node khác nhau (phân tán). Không có một
server trung tâm bắt buộc. When
Mỗi khi có giao dịch mới và được mạng chấp nhận, dữ liệu được gom
vào khối và nối vào chuỗi. How
Dựa trên liên kết bằng HASH "giá trị băm; dấu vân tay dữ liệu" giữa
các khối + chữ ký số + cơ chế đồng thuận để các node thống nhất lịch sử.
Bước 2 - Ví dụ (2 loại)
Ví dụ loại 1 (lý thuyết/kỹ thuật)
Mô hình dữ liệu t i gi n: Block[n]
- header: prev_hash, timestamp, ... - body: list
Block[n-1] ----prev_hash----> Block[n]
N u ai đó s a một Transaction trong Block[n-1] => hash c a Block[n-1] đ i
=> prev_hash trong Block[n] không còn khớp => chu i bị phát hiện sai.
Ví dụ loại 2 (Feynman - đời sống sinh viên)
Hãy tưởng tượng lớp bạn có một 'sổ điểm' được photo và phát cho tất cả sinh viên.
Mỗi lần có điểm mới, cả lớp cùng ghi thêm vào một trang mới, và trên đầu trang mới
có ghi 'mã trang trước'. Nếu một bạn lén sửa điểm ở trang cũ, thì mã trang đó đổi,
kéo theo các trang sau không còn khớp, cả lớp phát hiện ngay.
Bước 3 - Ứng dụng vào thực tế (đồ án)
• Module backend/node: lưu trữ chain (danh sách block) và API tra cứu.
• Module validation: kiểm tra block mới có trỏ đúng prev_hash, và dữ liệu block hợp lệ.
• Module explorer/frontend: hiển thị lịch sử block/giao dịch cho người dùng.
Lỗi thường gặp nếu hiểu sai Phiên bản: 1.0 Trang 5
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
• Nhầm blockchain = database. Database có quyền admin sửa bản ghi; blockchain
cố tình làm cho việc sửa sau khi chốt trở nên 'đắt' và bị phát hiện.
• Không tách bạch dữ liệu 'chưa chốt' (pending) và dữ liệu 'đã chốt' (đã nằm trong
chain) -> dễ làm sai luồng xử lý.
Bước 4 - Tổng hợp ý quan trọng Must-know (5-8 ý)
• Blockchain là sổ cái phân tán: nhiều node giữ cùng một lịch sử.
• Tính khó sửa đến từ liên kết hash giữa các block + cơ chế đồng thuận.
• Dữ liệu được 'chốt' theo block, không phải từng bản ghi rời như database.
• Luồng đúng: pending -> validate -> include in block -> consensus -> append.
• Một node có thể bị sai/giả; tính đúng đến từ đa số theo consensus. Tự kiểm tra (self-check)
1. Vì sao sửa dữ liệu ở block cũ sẽ bị phát hiện ở các block sau?
2. Trong đồ án của bạn, dữ liệu nào là pending và dữ liệu nào đã được chốt? Phiên bản: 1.0 Trang 6
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 2. Hash Function
Bước 1 - Khái niệm theo 5W1H What
HASH FUNCTION "hàm băm: đầu vào bất kỳ -> chuỗi cố định; thay
đổi nhỏ -> kết quả đổi mạnh" tạo ra một 'dấu vân tay' cho dữ liệu. Why
Dùng để: (1) phát hiện dữ liệu bị thay đổi, (2) liên kết các block với
nhau, (3) định danh nội dung (content addressing). Who
Node dùng hash để kiểm tra toàn vẹn dữ liệu; miner/validator dùng
trong quá trình tạo block (tùy cơ chế). Where
Xuất hiện trong: hash của transaction, hash của block header,
prev_hash, và các cấu trúc kiểm chứng. When
Tính hash khi tạo giao dịch/khối và khi xác minh dữ liệu nhận được từ mạng. How
Đưa dữ liệu qua hàm băm mật mã (ví dụ SHA-256) để nhận output
cố định; output rất nhạy với thay đổi đầu vào.
Bước 2 - Ví dụ (2 loại)
Ví dụ loại 1 (lý thuyết/kỹ thuật)
Ví dụ tính ch t 'thay đ i nh -> đ i mạnh' (minh họa): input1: 'pay Hai 10' input2: 'pay Hai 11'
hash(input1) != hash(input2) và khác nhau hoàn toàn.
Dùng hash đ ki m tra toàn vẹn: - g i kèm dữ liệu + hash
- bên nhận tự tính lại hash; n u lệch -> dữ liệu bị l i hoặc bị s a
Ví dụ loại 2 (Feynman - đời sống sinh viên)
Hash giống như 'mã QR' hoặc 'mã niêm phong' của một bài nộp. Bạn nộp file bài làm
và hệ thống tạo ra một mã kiểm tra. Nếu ai đó mở file sửa một ký tự, mã kiểm tra đổi
ngay, giảng viên biết bài bị thay đổi.
Bước 3 - Ứng dụng vào thực tế (đồ án)
• Backend/node: tạo block hash để liên kết chain và kiểm tra integrity.
• Frontend/wallet: có thể hiển thị transaction hash như mã tra cứu.
• Testing: dùng hash để so sánh nội dung object trước/sau serialize (phát hiện lỗi encode).
Lỗi thường gặp nếu hiểu sai
• Dùng hash như cơ chế 'mã hóa' (encryption). Hash không thể giải ngược để lấy lại dữ liệu.
• Tính hash trên dữ liệu chưa được chuẩn hóa (khác thứ tự field, khác cách encode)
-> các node tính ra hash khác nhau. Phiên bản: 1.0 Trang 7
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
Bước 4 - Tổng hợp ý quan trọng Must-know (5-8 ý)
• Hash output có độ dài cố định, đầu vào có thể dài ngắn bất kỳ.
• Tính nhạy: thay đổi 1 bit đầu vào làm output thay đổi mạnh.
• Hash giúp phát hiện sửa dữ liệu và tạo liên kết hash-pointer giữa các block.
• Hash != encryption; không có khóa và không giải mã được.
• Chuẩn hóa serialize là bắt buộc nếu nhiều node cùng kiểm tra hash. Tự kiểm tra (self-check)
1. Nếu 2 node serialize cùng một transaction theo 2 cách khác nhau, chuyện gì xảy ra?
2. Trong đồ án, bạn sẽ chuẩn hóa format transaction trước khi hash như thế nào? Phiên bản: 1.0 Trang 8
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 3. Digital Signature
Bước 1 - Khái niệm theo 5W1H What
DIGITAL SIGNATURE "chữ ký số: chứng minh chủ sở hữu private key
đã ký giao dịch, đảm bảo xác thực và toàn vẹn" là cơ chế dùng cặp
khóa để ký và kiểm tra chữ ký. Why
Giúp mạng biết 'ai' đã tạo giao dịch, và bảo đảm nội dung giao dịch
không bị thay đổi sau khi ký. Who
Người gửi (chủ PRIVATE KEY "khóa bí mật dùng để ký") ký; các node
dùng PUBLIC KEY "khóa công khai dùng để kiểm tra chữ ký" để verify. Where
Nằm trong transaction (phần chữ ký) và trong module ví/identity. When
Ký trước khi broadcast; verify khi node nhận transaction và trước khi đưa vào block. How
Ký: signature = Sign(private_key, hash(message)). Verify:
Verify(public_key, signature, hash(message)).
Bước 2 - Ví dụ (2 loại)
Ví dụ loại 1 (lý thuyết/kỹ thuật) Lu ng ký/ki m tra (ASCII):
message = {from, to, amount, nonce} digest = hash(message)
sig = sign(private_key, digest)
tx = {message, sig, public_key} Node nhận tx: digest' = hash(message)
verify(public_key, sig, digest') ? ACCEPT : REJECT
Ví dụ loại 2 (Feynman - đời sống sinh viên)
Chữ ký số giống như bạn ký tên vào 'giấy xác nhận chuyển khoản'. Bạn có thể đưa
giấy đó cho cả lớp xem (public), ai cũng đối chiếu chữ ký với mẫu chữ ký của bạn.
Nhưng chỉ bạn mới có thể tạo ra chữ ký đúng (private). Nếu ai sửa số tiền trên giấy
sau khi bạn ký, chữ ký sẽ không còn khớp.
Bước 3 - Ứng dụng vào thực tế (đồ án)
• Frontend/wallet: tạo và lưu private key, ký transaction trước khi gửi lên mạng.
• Backend/node: verify chữ ký và từ chối transaction giả mạo.
• Smart contract (nếu có): trong một số thiết kế, contract cũng có thể verify
signature để ủy quyền hành động.
Lỗi thường gặp nếu hiểu sai
• Lộ private key (commit lên Git, lưu plaintext) -> mất toàn bộ quyền kiểm soát tài sản/danh tính. Phiên bản: 1.0 Trang 9
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
• Ký sai nội dung: ký message chưa cố định (thiếu nonce/timestamp) -> bị replay (phát lại giao dịch).
Bước 4 - Tổng hợp ý quan trọng Must-know (5-8 ý)
• Chữ ký số cung cấp xác thực (authenticity) và toàn vẹn (integrity), không cung cấp bí mật nội dung.
• Private key phải được bảo vệ; public key có thể công khai.
• Luôn ký trên hash của message đã chuẩn hóa.
• Thêm nonce/sequence để chống replay.
• Node chỉ chấp nhận transaction nếu verify pass. Tự kiểm tra (self-check)
1. Tại sao cần nonce/sequence trong message được ký?
2. Trong đồ án, bạn sẽ lưu và bảo vệ private key như thế nào? Phiên bản: 1.0 Trang 10
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
PHẦN 2 - Cơ chế vận hành mạng blockchain
Mục tiêu phần này: nắm luồng end-to-end từ tạo giao dịch đến khi block được chấp
nhận và thêm vào chain; hiểu vai trò của mạng P2P và cơ chế đồng thuận. Phiên bản: 1.0 Trang 11
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 4. Transaction
Bước 1 - Khái niệm theo 5W1H What
TRANSACTION "giao dịch: đơn vị thay đổi trạng thái/ghi nhận hành
động trên blockchain" là bản ghi mô tả một hành động (chuyển giá
trị, cập nhật trạng thái, gọi contract...). Why
Blockchain không lưu 'câu chuyện' mơ hồ; nó lưu các transaction có
cấu trúc để mọi node có thể xác minh và áp dụng giống nhau. Who
Người dùng tạo và ký transaction; node xác minh; miner/validator
chọn transaction để đưa vào block. Where
Transaction tồn tại ở trạng thái pending trong MEMPOOL "vùng đệm
giao dịch chưa được đưa vào block" và sau đó nằm trong block đã chốt. When
Tạo khi người dùng phát sinh hành động; được chấp nhận khi đã
nằm trong block và được consensus xác nhận. How
Transaction gồm payload + chữ ký. Node validate chữ ký, định
dạng, nonce, và các rule của hệ thống.
Bước 2 - Ví dụ (2 loại)
Ví dụ loại 1 (lý thuyết/kỹ thuật)
Transaction t i gi n (mô t dữ liệu): tx = { from, to, amount, nonce, signature } Các bước validate ph bi n: 1) verify(signature) 2) check nonce (ch ng replay)
3) check balance/rule (n u áp dụng) 4) accept vào mempool
Ví dụ loại 2 (Feynman - đời sống sinh viên)
Transaction giống như phiếu chuyển khoản trong ngân hàng. Phiếu phải có: người
gửi, người nhận, số tiền, và chữ ký xác nhận. Ngân hàng (node) kiểm tra chữ ký và
quy tắc (số dư, hạn mức) trước khi đưa vào danh sách xử lý.
Bước 3 - Ứng dụng vào thực tế (đồ án)
• Frontend: form tạo transaction + ký số + gửi (broadcast).
• Backend/node: endpoint nhận tx, validate, đưa vào mempool và relay cho peers.
• Data model: định nghĩa schema transaction và quy tắc serialize (rất quan trọng cho hash/signature).
Lỗi thường gặp nếu hiểu sai Phiên bản: 1.0 Trang 12
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
• Không có nonce/sequence -> transaction bị phát lại nhiều lần (replay attack).
• Thiếu validation ở node -> chấp nhận tx sai, làm state divergence giữa các node.
Bước 4 - Tổng hợp ý quan trọng Must-know (5-8 ý)
• Transaction là đơn vị nhỏ nhất của thay đổi trạng thái được mạng xử lý.
• Transaction cần chữ ký số để xác thực người tạo.
• Mempool chứa giao dịch pending; vào block mới coi là 'đang được chốt'.
• Nonce là cơ chế tối thiểu để chống replay và giữ thứ tự giao dịch của một tài khoản.
• Schema + serialize phải thống nhất để signature/hash không bị lệch. Tự kiểm tra (self-check)
1. Nếu bạn bỏ nonce, kịch bản replay xảy ra như thế nào?
2. Bạn sẽ đặt validate ở đâu: client, server, hay cả hai? Vì sao? Phiên bản: 1.0 Trang 13
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 5. Block
Bước 1 - Khái niệm theo 5W1H What
BLOCK "khối: gói dữ liệu chứa nhiều giao dịch + thông tin liên kết
chuỗi" là container gom nhiều transaction và metadata (prev_hash, timestamp, ...). Why
Gom transaction theo lô giúp mạng đạt đồng thuận hiệu quả hơn:
thống nhất theo block thay vì từng transaction rời. Who
Miner/validator đề xuất block; các node còn lại xác minh block;
consensus quyết định block nào được chấp nhận. Where
Block nằm trong chain trên mọi node; block header dùng để tính block hash. When
Khi node/validator chọn một tập transaction từ mempool và tạo block mới. How
Tạo block: chọn txs -> xây header (prev_hash...) -> tính hash ->
broadcast -> node khác verify -> consensus.
Bước 2 - Ví dụ (2 loại)
Ví dụ loại 1 (lý thuyết/kỹ thuật) Block t i gi n: block = {
header: {prev_hash, timestamp, ...}, body: [tx1, tx2, ...] } Ki m tra block (ý chính):
- prev_hash ph i tr đúng block trước
- mọi transaction trong body ph i hợp lệ
- block hash ph i khớp với header/body theo rule
Ví dụ loại 2 (Feynman - đời sống sinh viên)
Block giống như bạn gom nhiều bài tập nhỏ của nhóm thành một 'tập hồ sơ' nộp một
lần. Trang bìa của tập có ghi 'tập này nối tiếp tập nào' (prev_hash). Nếu ai nhét thêm
một bài không hợp lệ vào giữa tập, giảng viên sẽ phát hiện khi đối chiếu danh sách và chữ ký.
Bước 3 - Ứng dụng vào thực tế (đồ án)
• Node module: cấu trúc lưu block, API getBlock/getChain, và logic verify block.
• Mempool module: chọn tx theo rule (phí, ưu tiên, FIFO...) để tạo block.
• Storage: có thể lưu chain dạng file/DB, nhưng phải giữ nguyên tính bất biến của block đã chốt.
Lỗi thường gặp nếu hiểu sai Phiên bản: 1.0 Trang 14
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
• Không xác minh lại transaction trong block (chỉ tin người tạo block) -> dễ chấp nhận dữ liệu sai.
• Thiết kế block không có prev_hash hoặc prev_hash không bắt buộc -> mất tính liên kết chuỗi.
Bước 4 - Tổng hợp ý quan trọng Must-know (5-8 ý)
• Block là đơn vị mạng thống nhất trong consensus (đa số cơ chế).
• Block chứa nhiều transaction + metadata + liên kết prev_hash.
• Verify block gồm verify liên kết + verify các transaction + verify rule của consensus.
• Block đã chốt không nên chỉnh sửa; nếu cần sửa, tạo block mới/transaction mới.
• Mempool -> block là bước chuyển từ pending sang được đưa vào lịch sử. Tự kiểm tra (self-check)
1. Vì sao consensus thường chốt theo block thay vì từng transaction?
2. Trong đồ án, tiêu chí chọn transaction vào block là gì? Phiên bản: 1.0 Trang 15
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 6. P2P Network
Bước 1 - Khái niệm theo 5W1H What
P2P NETWORK "mạng ngang hàng: các node truyền dữ liệu trực tiếp,
không cần máy chủ trung tâm" là kiểu mạng nơi node vừa là client
vừa là server, trao đổi dữ liệu trực tiếp qua peers. Why
Loại bỏ điểm lỗi trung tâm; tăng khả năng chịu lỗi; giúp dữ liệu lan
truyền nhanh trong mạng phân tán. Who
Mỗi node giữ danh sách peers; vừa nhận vừa relay transaction/block. Where
Tầng mạng (network layer) của hệ thống blockchain; thường tách riêng khỏi logic consensus. When
Khi broadcast tx/block; khi đồng bộ chain; khi tìm peers mới. How
Gossip/relay: node nhận -> kiểm tra sơ bộ -> chuyển tiếp cho peers
khác; kèm cơ chế chống spam và chống vòng lặp.
Bước 2 - Ví dụ (2 loại)
Ví dụ loại 1 (lý thuyết/kỹ thuật) Gossip đơn gi n:
Node A tạo tx -> g i cho peers [B,C]
B nhận tx -> validate cơ b n -> relay cho [D,E]
C nhận tx -> relay cho [F]
Mục tiêu: một tx/block lan ra toàn mạng mà không c n server trung tâm.
Ví dụ loại 2 (Feynman - đời sống sinh viên)
P2P giống như thông báo trong lớp: bạn nói cho 2 bạn gần nhất, mỗi bạn lại nói tiếp
cho 2 bạn khác. Rất nhanh cả lớp đều biết, mà không cần 'một người đứng giữa' phát loa.
Bước 3 - Ứng dụng vào thực tế (đồ án)
• Node module: peer discovery (danh sách peers), relay tx/block, đồng bộ chain.
• Backend: nếu làm mô phỏng, có thể dùng WebSocket/gRPC để node nói chuyện trực tiếp.
• Testing: tạo mạng 3-5 node local để kiểm tra broadcast và đồng bộ.
Lỗi thường gặp nếu hiểu sai
• Relay mọi thứ không kiểm tra -> dễ bị spam làm nghẽn mạng.
• Không có cơ chế chống gửi lặp -> tx/block vòng vòng làm bão mạng.
Bước 4 - Tổng hợp ý quan trọng Must-know (5-8 ý)
• P2P là cơ chế lan truyền dữ liệu và đồng bộ, không phải consensus. Phiên bản: 1.0 Trang 16
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
• Node vừa nhận vừa phát tán; không phụ thuộc server trung tâm.
• Cần validate sơ bộ trước khi relay để giảm spam/rác.
• Cần chống vòng lặp (cache ID message) và giới hạn tốc độ.
• Thiết kế P2P tốt giúp consensus hoạt động ổn định hơn. Tự kiểm tra (self-check)
1. P2P khác gì mô hình client-server truyền thống trong đồ án của bạn?
2. Bạn sẽ chống gửi lặp tx/block trong mạng mô phỏng như thế nào? Phiên bản: 1.0 Trang 17
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025 7. Consensus
Bước 1 - Khái niệm theo 5W1H What
CONSENSUS "cơ chế đồng thuận: cách mạng thống nhất block nào
hợp lệ và thứ tự ghi vào chain" là tập luật/protocol để các node chọn một lịch sử chung. Why
Nếu không có consensus, mỗi node có thể ghi block theo ý mình ->
chain bị phân kỳ và dữ liệu mất ý nghĩa chung. Who
Miner/validator tham gia tạo block theo cơ chế; toàn mạng xác minh và chấp nhận theo rule. Where
Tầng protocol: rule tạo/nhận block, rule chọn chain, rule xử lý xung đột. When
Xảy ra khi có block mới hoặc khi xuất hiện FORK "nhánh tạm thời khi
có nhiều block cạnh tranh". How
Node đánh giá block hợp lệ theo rule, sau đó dùng rule chọn chain
(ví dụ 'chain có nhiều work nhất' trong POW "Proof of Work: đồng
thuận dựa trên công sức tính toán" hoặc rule finality trong POS
"Proof of Stake: đồng thuận dựa trên cổ phần/đặt cọc").
Bước 2 - Ví dụ (2 loại)
Ví dụ loại 1 (lý thuyết/kỹ thuật) So sánh mức cơ b n:
POW "Proof of Work: đ ng thuận dựa trên công sức tính toán":
- Ai tìm được lời gi i (đ đi u kiện) trước thì đ xu t block.
- Chain hợp lệ thường là chain có t ng work lớn nh t.
POS "Proof of Stake: đ ng thuận dựa trên c ph n/đặt cọc":
- Validator được chọn theo stake/quy t c chọn (thường pseudo-random).
- Có th có cơ ch phạt (slashing) n u gian lận.
Fork/Reorg/Finality (mức cơ b n):
- FORK "nhánh tạm thời khi có nhi u block cạnh tranh": 2 block xu t hiện g n nhau, mạng tạm có 2 nhánh.
- REORG "tái t chức chu i khi mạng chọn nhánh khác": sau một thời gian, một nhánh 'th ng', node chuy n sang nhánh đó.
- FINALITY "mức độ ch c ch n một block sẽ không bị đ o": khi đạt đ xác nhận (hoặc theo rule PoS), block g n như không th bị đ o.
Ví dụ loại 2 (Feynman - đời sống sinh viên)
Consensus giống như cả lớp thống nhất quy tắc chấm bài và quy tắc công bố kết
quả. - Với POW "Proof of Work: đồng thuận dựa trên công sức tính toán": ai nộp bài
theo 'đúng format + tốn nhiều công' nhất được xem trước. - Với POS "Proof of Stake:
đồng thuận dựa trên cổ phần/đặt cọc": bạn nào đặt cọc uy tín (stake) và được lớp
chọn theo lượt sẽ công bố điểm. Nếu 2 bạn công bố cùng lúc (FORK "nhánh tạm thời
khi có nhiều block cạnh tranh"), lớp tạm thời nghe cả hai, rồi sau đó chọn một bảng
điểm chính thức, còn bảng kia bị loại (REORG "tái tổ chức chuỗi khi mạng chọn nhánh khác").
Bước 3 - Ứng dụng vào thực tế (đồ án) Phiên bản: 1.0 Trang 18
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
• Node module: implement validateBlock + rule chọn chain (chain selection).
• Demo đồ án: mô phỏng PoW đơn giản (difficulty thấp) hoặc PoS giả lập (chọn validator theo stake).
• Observability: log fork/reorg để chứng minh bạn hiểu và xử lý tình huống mạng phân tán.
Lỗi thường gặp nếu hiểu sai
• Nghĩ consensus chỉ là 'mining' - thực tế còn gồm rule chọn chain và xử lý fork/reorg.
• Không mô tả được finality -> dễ đánh giá sai khi nào dữ liệu 'đã chắc'.
Bước 4 - Tổng hợp ý quan trọng Must-know (5-8 ý)
• Consensus là lý do nhiều node có thể thống nhất một lịch sử chung.
• PoW dùng work để chống gian lận; PoS dùng stake và cơ chế chọn/phan thưởng/phạt.
• Fork là trạng thái bình thường khi mạng có độ trễ; phải có rule để giải quyết.
• Reorg xảy ra khi nhánh khác thắng; ứng dụng cần hiểu khả năng đảo block ở mức cơ bản.
• Finality là khái niệm cốt lõi để quyết định khi nào coi dữ liệu là 'chắc chắn'.
• Thiết kế đồ án nên nói rõ: bạn chọn PoW/PoS/mô phỏng và trade-off. Tự kiểm tra (self-check)
1. Fork và reorg khác nhau ở điểm nào? Khi nào reorg xảy ra?
2. Trong thiết kế của bạn, điều kiện nào để coi một transaction 'đã chắc' (final)? Phiên bản: 1.0 Trang 19
Chuyên đề Blockchain - Tài liệu nền tảng đồ án 22/12/2025
Tóm tắt luồng end-to-end
Trang này tóm tắt pipeline chuẩn từ lúc tạo giao dịch đến khi được thêm vào chain. 1) Tạo Transaction 2) Ký s (Digital Signature) 3) Broadcast qua mạng P2P
4) Node nhận -> validate (signature, nonce, rule)
5) Đưa vào mempool (pending)
6) Chọn tx từ mempool -> tạo block 7) Broadcast block
8) Consensus: xác minh + chọn chain + x lý fork/reorg
9) Append block vào chain (dữ liệu được ch t)
Sơ đồ ASCII (mức khái niệm): User/Wallet | v
Transaction --sign--> Signed Transaction --broadcast--> P2P Network | | v v
Node validate <-------relay-------- Peers / Other Nodes | v Mempool (pending) | v
Block proposal --broadcast--> Consensus --> Append to Chain Phiên bản: 1.0 Trang 20