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

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

Trong bài học trước, tôi đã 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 học cách nó hoạt động!

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 băm chuyển một dữ liệu thành mã nhị phân, chỉ là một đống 0 và 1.

Sau đó nó phân tách các số và áp dụng một số “xáo trộn” bí mật, được thực hiện bởi thứ gọi là “hàm băm”.

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

Khi được sử dụng trong Bitcoin và các tiền mã hóa khác, kết quả cuối cùng thường là một chuỗi số và chữ dài 64 ký tự.

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

khai niem bam

Một chuỗi là một dãy ký tự.

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

chuoi bam

Hãy nghĩ hash như một đống chữ cái và số ngẫu nhiên.

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

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

Nhưng điều gì xảy ra nếu chúng ta chỉ thay đổi một chút chuỗi? (Phần được highlight màu vàng.)

chuoi bam thay doi nho

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

Dù chỉ là thay đổi RẤT NHỎ trong câu, hash lại HOÀN TOÀN KHÁC.

Bạn có thể thấy cách sử dụng hash có thể dùng để phát hiện giả mạo vì ngay cả một thay đổi nhỏ trong input của hàm băm cũng dẫn đến output hoàn toàn khác.

Rất quan trọng là bạn phải nhớ điểm này, vì ở bài học sau, bạn sẽ thấy cách điều này được dùng để ngăn chặn các giao dịch trước đó bị giả mạo.

Hàm băm là hàm MỘT CHIỀU.

chuc nang bam mot chieu

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

Vậy nếu tất cả những gì bạn biết là hash, không có cách nào biết input gốc là gì. Bạn không thể “ngược kỹ thuật” hay hack hash.

Cuối cùng, độ dài của output (hash) KHÔNG tăng theo khi thông tin trong input tăng lên. Một hàm băm lấy input có BẤT KỲ độ dài nào và trả về một giá trị có ĐỘ DÀI CỐ ĐỊNH.

bam harry potter

Nếu bạn đưa toàn bộ nội dung một cuốn sách Harry Potter, có hơn 76.000 từ, output hash vẫn CHỈ dài 64 ký tự.

Và một lần nữa, nếu bạn chỉ viết sai một chữ cái trong cuốn sách Harry Potter, và chạy nó qua hàm băm, nó sẽ tạo ra một hash HOÀN TOÀN KHÁC so với trên.

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

Nguồn: https://www.babypips.com/crypto/learn/how-does-hashing-work