Hashing (quá trình băm) là một trong những phần quan trọng nhất giúp mạng Bitcoin luôn an toàn. Nhưng hashing hoạt động như thế nào?
Tiền điện tử là những hệ thống không cần sự tin tưởng (trustless). Người dùng không cần phụ thuộc vào bên thứ ba, như ngân hàng hoặc chính phủ. Vậy làm thế nào để loại bỏ sự tham gia của trung gian? Mấu chốt nằm ở hàm băm (hash) và mật mã thông minh.
Hàm băm là gì?
Hàm băm là một kỹ thuật mà theo đó mọi dữ liệu được chuyển đổi thành một dãy chữ cái và số dài nhằm che giấu phần dữ liệu ban đầu. Hàm băm rất đặc biệt ở chỗ nó sẽ luôn tạo ra một dãy ký tự giống nhau cho cùng một tập dữ liệu. Nhưng nếu bạn thay đổi dù là nhỏ trong nguồn ban đầu, thì dãy ký tự đó sẽ biến đổi hoàn toàn khác. Các hàm băm có thể được sử dụng để xác định ai sở hữu một phần dữ liệu mà không cần tiết lộ dữ liệu đó là gì.
Hàm băm hoạt động như thế nào?
Quy trình băm biến một phần dữ liệu thành mã nhị phân, về cơ bản là một loạt các số 0 và 1. Sau khi hoàn thành, nó sẽ chia nhỏ các con số thành các phần và bí mật trộn chúng, còn được gọi là một hàm tính toán. Kết quả cuối cùng thường là một chuỗi số và chữ cái gồm 64 chữ số.
Chuỗi 64 số này gần như không thể bị hack bởi vì việc chuyển đổi được thực hiện bởi một thuật toán, vớ icông thức không được biết. Tuy nhiên, một số phần mềm chuyên dụng có thể đọc hàm băm và kiểm tra.
Hàm băm được sử dụng để làm gì?
Tạo khóa riêng tư và khóa công khai: Để gửi và nhận tiền điện tử hoặc thực hiện giao dịch trên blockchain, bạn cần một cặp khóa. Khóa riêng tư được kết nối với khóa công khai thông qua hàm băm để giữ an toàn cho thông tin của bạn. Bạn có thể gửi khóa công khai của mình cho bất kỳ ai hoặc trên hồ sơ công khai. Nhưng không ai có thể tìm ra khóa cá nhân nhờ vào hàm băm.
Khai thác Bitcoin: Bitcoin duy trì một sân chơi bình đẳng cho những người tham gia kiếm cho mình quyền tạo block tiếp theo. Để giành quyền khai thác, mỗi thợ đào thu thập một tập hợp các giao dịch, bao gồm một tham chiếu từ khối trước đó để đưa vào hàm băm. Hàm băm phải cho kết quả bắt đầu với một số nhất định tùy thuộc vào độ khó của mạng tại thời điểm đó. Càng nhiều số thì càng khó. Về cơ bản, các hàm băm được sử dụng để giải câu đố của blockchain.
Liên kết các khối trong blockchain: Nếu các khối trong một blockchain không được liên kết, sẽ rất dễ chèn một khối giả. Bitcoin tránh điều này bằng cách liên kết từng khối mới với khối trước đó, nhờ sử dụng một con trỏ băm. Con trỏ băm là kết quả được tạo ra từ việc băm khối trước đó trong chuỗi. Bất kỳ ai cũng có thể kiểm tra xem các giao dịch trong khối có tiếp nối với giao dịch trước đó hay không. Điều này cũng có nghĩa là lịch sử của mỗi coin có thể được truy ngược lại tại thời điểm chúng được khai thác.