EN - FR - DE - ES - IT - PT -

LexiconDream

#️⃣ Hash

Một hàm mật mã tạo ra dấu vân tay có độ dài cố định của dữ liệu.

Hash

Mã băm (hash) là dấu vân tay của dữ liệu. Khi đưa bất kỳ dữ liệu đầu vào nào vào hàm băm, bạn sẽ nhận được một chuỗi ký tự có độ dài cố định. Cùng một dữ liệu đầu vào luôn tạo ra cùng một mã băm. Thay đổi một ký tự trong dữ liệu đầu vào và mã băm sẽ thay đổi hoàn toàn. Thuộc tính này làm cho mã băm hữu ích cho việc xác minh. Bạn có thể kiểm tra xem một tệp có bị thay đổi hay không bằng cách so sánh mã băm của nó với một giá trị hợp lệ đã biết. Bitcoin sử dụng SHA-256. Ethereum sử dụng Keccak-256. Mỗi khối chứa mã băm của khối trước đó, liên kết các khối lại với nhau.

Hàm băm là một chiều. Bạn không thể truy ngược từ hàm băm về dữ liệu đầu vào ban đầu. Đó là lý do tại sao chúng được sử dụng cho mật khẩu và bằng chứng. Các thợ đào cạnh tranh để tìm ra một hàm băm nhỏ hơn một mục tiêu nhất định. Họ thay đổi một giá trị ngẫu nhiên (nonce), băm tiêu đề khối và kiểm tra kết quả. Quá trình này là phương pháp thử và sai ở quy mô lớn. Việc tìm thấy một hàm băm hợp lệ chứng minh rằng công việc đã được thực hiện. Việc xác minh nó hầu như không tốn công sức. Tính bất đối xứng đó là nền tảng của bằng chứng công việc (proof-of-work). Hàm băm cũng được sử dụng để tạo địa chỉ ví và xác minh tính toàn vẹn của giao dịch.

Thuộc tính của hàm băm

Hàm băm không phải là mã hóa. Nó là một bản tóm tắt một chiều. Không có khóa và không có cách nào để giải mã.

Comments

No comments yet. Be the first to share a thought.

Leave a comment