1. NỘI DUNG BÀI HỌC
1.1. Mục tiêu bài học
- Nắm vững định nghĩa và vai trò của Hàm băm (Hash Function) trong hệ thống Blockchain.
- Hiểu rõ 3 đặc tính kỹ thuật cốt lõi giúp bảo vệ tính toàn vẹn của dữ liệu.
- Giải thích được cơ chế liên kết “chuỗi” (Chain) giữa các khối thông qua mã băm.
1.2. Các khái niệm then chốt & Ví dụ minh họa
| Khái niệm | Giải thích chi tiết | Ví dụ thực tế |
|---|---|---|
| Hàm băm (Hash Function) | Là một thuật toán toán học chuyển đổi một đầu vào dữ liệu (bất kể lớn hay nhỏ) thành một chuỗi ký tự có độ dài cố định. | Giống như một chiếc máy xay thịt. Bạn cho miếng thịt to hay nhỏ vào, kết quả đầu ra luôn là thịt xay mịn và không thể biến thịt xay trở lại thành miếng thịt ban đầu. |
| Mã băm (Hash Value) | Là kết quả đầu ra của hàm băm. Nó được coi là “dấu vân tay” của dữ liệu. | Giống như vân tay của con người. Mỗi người có một vân tay duy nhất. Nếu dữ liệu thay đổi dù chỉ 1 chút, mã băm sẽ khác hoàn toàn. |
| SHA-256 | Là thuật toán băm phổ biến nhất (được Bitcoin sử dụng), tạo ra chuỗi dài 64 ký tự (256 bit). | Giống như một tiêu chuẩn căn cước. Mọi dữ liệu đi qua “máy xay” SHA-256 đều phải ra đúng định dạng 64 ký tự đó. |
1.3. Nội dung chính: Hàm băm bảo vệ Blockchain như thế nào?
Hàm băm không phải là mã hóa (vì không có chìa khóa để giải mã). Nó là công cụ để xác thực dữ liệu.
1.3.1. Ba đặc tính “vàng” của Hàm băm
- Tính một chiều (One-way): Bạn có thể dễ dàng tạo ra mã băm từ dữ liệu, nhưng không thể dùng máy tính để dịch ngược từ mã băm ra lại dữ liệu gốc.
- Tính duy nhất (Deterministic): Một dữ liệu đầu vào luôn luôn cho ra một mã băm giống hệt nhau ở mọi lần băm.
- Hiệu ứng vết dầu loang (Avalanche Effect): Đây là điểm yếu chết người của hacker. Chỉ cần thay đổi một dấu phẩy trong khối dữ liệu khổng lồ, toàn bộ mã băm đầu ra sẽ thay đổi hoàn toàn, khiến hệ thống phát hiện ra ngay sự gian lận.
1.3.2. Cơ chế liên kết “Chuỗi” (Chain)
Tại sao gọi là Blockchain? Đó là vì mỗi khối (Block) sau khi được tạo ra sẽ chứa Mã băm của khối ngay trước đó (Previous Hash).
- Khối 2 chứa mã băm của Khối 1.
- Khối 3 chứa mã băm của Khối 2.
=> Điều này tạo thành một sợi xích toán học bền vững. Nếu ai đó sửa dữ liệu ở Khối 1, mã băm của nó thay đổi. Khối 2 thấy mã băm lưu trữ không khớp nữa, nó sẽ báo lỗi. Toàn bộ chuỗi phía sau sẽ bị “đứt gãy” và không còn giá trị.
1.3.3. Tầm quan trọng
Nhờ hàm băm, Blockchain đạt được tính Bất biến (Immutability). Một khi dữ liệu đã ghi vào khối và được băm, nó gần như tồn tại mãi mãi và không thể bị sửa đổi nếu không có sự đồng thuận của cả mạng lưới.
2. GIẢI ĐÁP CÂU HỎI
Câu 1: Tại sao nói hàm băm là công cụ kiểm tra tính toàn vẹn của dữ liệu?
- Đáp án: Vì mã băm giống như “dấu vân tay” duy nhất của dữ liệu. Bằng cách so sánh mã băm của dữ liệu hiện tại với mã băm đã lưu trữ trước đó, nếu chúng trùng khớp, ta biết chắc chắn dữ liệu chưa bị ai chỉnh sửa.
Câu 2: Nếu một hacker sửa đổi 1 byte dữ liệu trong một khối cũ, điều gì sẽ xảy ra với các khối đứng sau nó?
- Đáp án: Do hiệu ứng “vết dầu loang”, mã băm của khối bị sửa sẽ thay đổi hoàn toàn. Vì khối tiếp theo lưu trữ mã băm của khối cũ, sự sai lệch này sẽ kéo theo toàn bộ các khối phía sau trở nên không hợp lệ (sai số băm), hệ thống sẽ từ chối chuỗi dữ liệu đó.
Câu 3: Thuật toán SHA-256 có thể bị “dịch ngược” để lấy lại dữ liệu ban đầu không?
- Đáp án: Không. Với công nghệ máy tính hiện nay, việc dịch ngược SHA-256 là bất khả thi về mặt toán học do tính chất “một chiều”. Bạn chỉ có thể thử sai hàng tỷ tỷ lần (brute-force) để may mắn tìm ra đầu vào tương ứng, nhưng việc này tốn thời gian lâu hơn cả tuổi thọ của vũ trụ.




