This article has been translated from English to Vietnamese.

Hashing hoạt động như thế nào?

Trong bài học trước, mình đã giới thiệu khái niệm hashing và các thuật ngữ liên quan. Bây giờ, hãy cùng tìm hiểu cách nó hoạt động nhé!

Hashing là một phép toán học dễ thực hiện, nhưng cực kỳ khó đảo ngược.

Quá trình hashing biến một đoạn dữ liệu thành mã nhị phân, thực chất chỉ là một mớ 0 và 1.

Sau đó, nó bẻ nhỏ các con số và áp dụng một số "bí thuật xáo trộn", được thực hiện bởi cái gọi là "hàm hash".

Hashing hoạt động như thế nào trong crypto?

Khi được sử dụng trong Bitcoin và các loại tiền điện tử khác, kết quả cuối cùng thường là một dãy gồm 64 ký tự số và chữ.

Vì việc chuyển đổi được thực hiện bởi một thuật toán mã hóa (hàm "hash"), công thức xáo trộn là bí mật nên chuỗi 64 ký tự không thể bị đảo ngược.

Khái niệm Hashing

Một chuỗi ký tự là một chuỗi các ký tự.

Chuỗi ký tự giống như câu văn. Chúng được tạo thành bởi sự kết hợp của các ký tự.

Chuỗi ký tự

Hãy tưởng tượng một hash giống như một mớ chữ cái và số ngẫu nhiên.

Một đoạn dữ liệu độc nhất sẽ luôn tạo ra cùng một hash.

Ví dụ, mỗi lần chạy chuỗi trên qua hàm hash, nó luôn tạo ra cùng một hash.

Nhưng điều gì xảy ra nếu chúng ta chỉ thực hiện một thay đổi nhỏ đối với chuỗi? (Được làm nổi bật bằng màu vàng.)

Thay đổi Chuỗi

Câu nói kết thúc bằng một dấu hỏi thay vì dấu chấm.

Dù chỉ là một thay đổi cực kỳ nhỏ trong câu, nhưng hash đã HOÀN TOÀN khác biệt.

Bạn có thể thấy cách sử dụng các hash có thể phát hiện gian lận bởi vì ngay cả một thay đổi nhỏ trong đầu vào của hàm hash cũng dẫn đến một đầu ra hoàn toàn khác biệt.

Điều này rất quan trọng và bạn cần nhớ vì trong bài học sau, bạn sẽ thấy cách điều này được sử dụng để ngăn chặn các giao dịch trước đó khỏi bị làm giả.

Hàm hash chỉ là MỘT CHIỀU.

Hàm hash chỉ là MỘT CHIỀU.

Bạn không thể lấy một hash hiện có và cố gắng đảo ngược nó để tìm chuỗi đầu vào.

Vì vậy, nếu tất cả những gì bạn biết chỉ là hash, không có cách nào biết được đầu vào ban đầu là gì. Bạn không thể "reverse engineer" hay hack hash được.

Cuối cùng, độ dài của đầu ra (hash) không tăng theo sự tăng thông tin trong đầu vào. Một hàm hash nhận dữ liệu đầu vào có bất kỳ độ dài nào và trả về một giá trị có độ dài CỐ ĐỊNH.

Đầu ra Hash là Cố định

Nếu bạn đưa toàn bộ nội dung của một cuốn sách Harry Potter, có hơn 76,000 từ, đầu ra hash sẽ VẪN chỉ dài 64 ký tự.

Và một lần nữa, nếu bạn viết sai chỉ một chữ cái trong sách Harry Potter và chạy nó qua hàm hash, nó sẽ tạo ra một hash hoàn toàn khác so với trước đó.

Điều này cho phép bạn ngay lập tức biết rằng cuốn sách đã bị sửa đổi mà không cần phải kiểm tra thủ công toàn bộ cuốn sách! Quá tuyệt vời phải không?