Chương 3 - đã đạt 0 trên 10 bài kiểm tra
Hash: Dấu vân tay số
Hash mật mã là một hàm một chiều giúp mọi sự giả mạo trở nên lộ rõ và khiến bằng chứng công việc trở nên khả thi.
- Giải thích hash mật mã làm gì và vì sao hiệu ứng tuyết lở lại quan trọng
- Mô tả cách một Merkle root ràng buộc một khối với tất cả giao dịch trong khối đó
Trả lời nhanh
Hash trong Bitcoin là gì?
Một dấu vân tay một chiều của dữ liệu: dễ tính toán, gần như không thể đảo ngược, và bất kỳ thay đổi nào trong dữ liệu cũng cho ra một hash hoàn toàn khác.
Merkle root là gì?
Một hash duy nhất ràng buộc một khối với mọi giao dịch trong khối đó, nên thay đổi bất kỳ giao dịch nào cũng làm thay đổi root.
Tại sao lịch sử của Bitcoin không thể bị thay đổi?
Mỗi tiêu đề khối cam kết với khối trước đó, nên muốn thay đổi một khối cũ thì phải làm lại bằng chứng công việc cho khối đó và cho mọi khối sau nó.
Dấu vân tay một chiều
Hàm hash mật mã nhận bất kỳ đầu vào nào (một từ, một hình ảnh, cả một bộ bách khoa toàn thư) và trả về một bản tóm tắt (digest) có kích thước cố định. Quá trình này là một chiều: bạn có thể kiểm tra rằng đầu vào tạo ra đúng digest đó, nhưng trên thực tế bạn không thể suy ngược từ digest ra đầu vào. Bitcoin dùng SHA-256, hàm này trả về 256 bit, thường được viết thành 64 ký tự thập lục phân. Hash của khối và ID giao dịch áp dụng hàm này hai lần (SHA-256d).
Hiệu ứng tuyết lở
Một hàm hash tốt có độ nhạy rất cao. Chỉ cần đổi một dấu phẩy trong tài liệu 500 trang là digest thay đổi hoàn toàn. Đây gọi là hiệu ứng tuyết lở. Chính điều này khiến hash hữu ích làm cam kết: digest khóa chặt từng byte chính xác, và mọi thay đổi về sau đều lộ rõ.
Merkle root
Một khối không hash từng giao dịch một vào tiêu đề khối. Nó hash từng cặp ID giao dịch, rồi ghép cặp các kết quả, và lặp lại cho đến khi chỉ còn một hash duy nhất: Merkle root. Tiêu đề khối chứa phiên bản, Merkle root đó, hash của khối trước, thời gian, mục tiêu độ khó và nonce. Thay đổi bất kỳ giao dịch nào thì Merkle root sẽ thay đổi, kéo theo hash của tiêu đề khối thay đổi và phá vỡ chuỗi công việc phía sau.
Lịch sử cho phép phát hiện sửa đổi
Mỗi tiêu đề khối chứa hash của tiêu đề khối trước đó. Để viết lại một giao dịch cũ, kẻ tấn công phải làm lại bằng chứng công việc của khối đó và của mọi khối sau nó, nhanh hơn cả mạng lưới trung thực. Chuỗi hash khiến lịch sử dễ kiểm chứng nhưng tốn kém để viết lại. Các node từ chối khối không hợp lệ, nhưng chúng đi theo một chuỗi cạnh tranh hợp lệ có tổng công việc tích lũy lớn hơn. Một node không thể từ chối một chuỗi hợp lệ có nhiều công việc hơn chỉ vì kẻ tấn công đã xây dựng nó.
Thử ngay
Điều bạn cần ghi nhớ
Hash là cam kết một chiều. Merkle root cam kết một khối với toàn bộ giao dịch của nó, và mỗi tiêu đề khối cam kết với khối trước đó, nên muốn thay đổi lịch sử thì phải làm lại toàn bộ công việc phía trên.
Nhớ lại, rồi áp dụng
Hãy đổi một ký tự trong bản demo. Điều gì thay đổi, và hash không chứng minh được điều gì?
Kiểm tra lời giải thích của bạn
Digest thay đổi đáng kể. Một digest khớp chỉ kiểm tra tính nhất quán của dữ liệu; nó không chứng minh dữ liệu là đúng sự thật hay đã được cho phép. Việc cho phép cần đến chữ ký.
Điểm kiểm tra
Thuật ngữ chính
Nguồn
Đã xem xét 25 tháng 10, 2026 · không phải lời khuyên tài chính