Mật mã học trong Blockchain (Phần 1)

  • 2025-07-31

 

Chúng ta đã từng đề cập rằng bốn công nghệ cốt lõi của blockchain bao gồm mật mã học, sổ cái phân tán, cơ chế đồng thuận và hợp đồng thông minh. Trong đó, mật mã học là phần quan trọng nhất vì nó bảo vệ an ninh cho hệ thống blockchain, có thể coi là nền tảng của blockchain. Các công nghệ khác đều dựa trên nền tảng này để xây dựng nên tòa nhà cao tầng mang tên blockchain.

Mật mã học ứng dụng chủ yếu trong blockchain gồm hai phần: thuật toán băm (hash) và mã hóa bất đối xứng. Bài viết này sẽ tập trung giải thích "thuật toán băm" trong mật mã học blockchain là gì.

Nói một cách đơn giản, thuật toán băm là một hàm đặc biệt. Dù đầu vào là một chuỗi ký tự dài bao nhiêu, chỉ cần đi qua hàm này, đều có thể nhận được một giá trị đầu ra có độ dài cố định. Giống như số chứng minh nhân dân của chúng ta, dù bạn là người Bắc Kinh hay Thượng Hải, số CMND của mỗi người đều gồm 18 chữ số và là duy nhất trên toàn quốc.

Tương tự, băm thực chất là một phép ánh xạ nén. Nó có thể biến đổi đầu vào có độ dài bất kỳ thành đầu ra có độ dài cố định, luôn luôn là 256 bit. Giá trị đầu ra thu được này được gọi là giá trị băm (hash value).

Thuật toán băm có ba đặc điểm: tính một chiều, khả năng chống giả mạo và khả năng chống va chạm. Những đặc điểm này mang lại cho blockchain các tính chất như không thể sửa đổi, ẩn danh, đồng thời đảm bảo an ninh cho toàn bộ hệ thống blockchain.

Đầu tiên là tính một chiều. Tính một chiều có nghĩa là trong hàm băm, từ đầu vào có thể suy ra đầu ra, nhưng gần như không thể suy ngược lại đầu vào từ đầu ra. Ví dụ, nếu chúng ta nhập chuỗi A đã biết và thu được giá trị băm F(A), nhưng từ F(A), chúng ta không thể suy ngược lại dữ liệu đầu vào ban đầu.

Trong quá trình đóng gói dữ liệu thành các khối (block) trên blockchain, tất cả dữ liệu đều được xử lý bằng thuật toán băm. Chính nhờ tính một chiều của thuật toán băm, blockchain mới bảo vệ hiệu quả tính bảo mật thông tin của chúng ta.

Đặc điểm thứ hai của thuật toán băm là khả năng chống giả mạo. Khả năng chống giả mạo có nghĩa là với bất kỳ đầu vào nào, dù thay đổi rất nhỏ như một dấu câu, giá trị băm cũng sẽ thay đổi rất lớn.

Đặc tính này đóng vai trò then chốt trong việc liên kết các khối với nhau.

Mỗi khối trong blockchain đều lấy giá trị băm của khối trước đó làm định danh, sau đó tiếp tục xử lý bằng thuật toán băm. Nhờ vậy, các khối sau không chỉ có thể truy xuất tất cả các khối trước đó mà còn kiểm tra được dữ liệu trong các khối trước có bị thay đổi hay không. Trừ khi ai đó có thể bẻ khóa tất cả giá trị băm trên toàn bộ chuỗi, còn không, một khi dữ liệu đã được ghi vào chuỗi, nó không thể bị giả mạo.

Đặc điểm thứ ba của thuật toán băm là khả năng chống va chạm. Va chạm ở đây có nghĩa là hai dữ liệu đầu vào khác nhau lại cho ra cùng một kết quả đầu ra, giống như việc mặc trùng áo khi đi chơi.

Khả năng chống va chạm có nghĩa là với hầu hết đầu vào, đều thu được một đầu ra duy nhất. Lưu ý rằng ở đây chỉ có thể nói xác suất xảy ra va chạm là cực kỳ thấp, chứ không có nghĩa là không tồn tại va chạm, vì bất kỳ thuật toán băm hiện có nào cũng không thể chứng minh được về mặt xác suất rằng va chạm sẽ không xảy ra.

Đặc điểm thứ ba của thuật toán băm chủ yếu được ứng dụng trong địa chỉ tài khoản blockchain. Trong thế giới blockchain, mọi giao dịch hoặc địa chỉ tài khoản đều được tạo ra hoàn toàn dựa trên thuật toán băm. Mục đích của việc này là đảm bảo tính duy nhất của giao dịch hoặc địa chỉ tài khoản trong mạng lưới blockchain. Dù chuyển bao nhiêu tiền hay chuyển cho bao nhiêu người, mỗi giao dịch đều tồn tại duy nhất trong sổ cái lớn của blockchain.

Tóm lại, thuật toán băm là thành phần cơ bản nhất trong công nghệ blockchain. Nó giống như tế bào bạch cầu trong cơ thể chúng ta—mọi phần của blockchain đều không thể thiếu nó, đồng thời nó còn mang lại cho blockchain những đặc tính riêng biệt, bảo vệ an ninh cho toàn bộ hệ thống blockchain.

Go Back Top