Bạn đã bao giờ tự hỏi làm thế nào Bitcoin có thể khiến không ai có thể làm giả giao dịch? Câu trả lời nằm ở một công cụ toán học gọi là hàm băm. Đó không phải là phép thuật, mà là thuần túy mật mã.
Điều gì xảy ra khi bạn “Hàm băm” một cái gì đó?
Hãy tưởng tượng bạn có một văn bản có kích thước bất kỳ: từ một từ cho đến một tài liệu 1GB. Hàm băm lấy văn bản đó và chuyển nó thành một chuỗi ký tự số và chữ cái có kích thước luôn giống nhau. Ví dụ, với SHA-256 ( mà Bitcoin sử dụng ):
Bạn thấy chưa? Chỉ thay đổi một chữ cái in hoa và kết quả hoàn toàn khác biệt. Đó là tính quyết định: cùng một đầu vào = cùng một đầu ra, luôn luôn.
3 thuộc tính làm cho hàm băm an toàn
1. Kháng cự với va chạm: Không thể tìm thấy hai đầu vào khác nhau tạo ra cùng một Hàm băm. Mặc dù về mặt kỹ thuật có tồn tại va chạm, xác suất rất thấp đến nỗi sẽ mất hàng triệu năm tính toán.
2. Hàm một chiều: Dễ dàng đi từ đầu vào đến đầu ra. Hầu như không thể (trở lại). Nếu tôi cho bạn một hàm băm, bạn không thể khám phá đầu vào nào đã tạo ra nó mà không cần brute force quy mô lớn.
3. Kháng cự với hình ảnh trước thứ hai: Nếu đã có một hàm băm đã biết, việc tìm một đầu vào khác tạo ra cùng một hàm băm gần như là không thể.
Điều này là rất quan trọng: các ngân hàng lưu trữ hàm băm của mật khẩu, không phải mật khẩu thực tế. Vì vậy, nếu họ hack cơ sở dữ liệu, họ không biết thông tin xác thực của bạn.
Cách Bitcoin sử dụng điều này cho việc khai thác
Các thợ mỏ không tìm kiếm một cách ngẫu nhiên. Họ phải tạo ra các Hàm băm bắt đầu bằng một số lượng nhất định các số 0. Nếu hashrate của mạng tăng lên, Bitcoin tự động điều chỉnh độ khó để duy trì 10 phút cho mỗi khối. Đây là một sự cân bằng tinh tế.
Có nhiều giải pháp hợp lệ cho mỗi khối - các thợ mỏ chỉ cần tìm một giải pháp. Đó là lý do tại sao đây không phải là gian lận: đó là công việc tính toán thực sự.
Tại sao điều này quan trọng
Mỗi khối được liên kết với khối trước đó thông qua Hàm băm. Nếu ai đó cố gắng thay đổi một giao dịch trong quá khứ, Hàm băm của khối đó sẽ thay đổi, làm hỏng toàn bộ chuỗi. Sự an toàn của blockchain dựa vào điều này: các hàm băm mã hóa liên kết với nhau.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Hash: Viên đá góc vô hình của Bitcoin và blockchain
Bạn đã bao giờ tự hỏi làm thế nào Bitcoin có thể khiến không ai có thể làm giả giao dịch? Câu trả lời nằm ở một công cụ toán học gọi là hàm băm. Đó không phải là phép thuật, mà là thuần túy mật mã.
Điều gì xảy ra khi bạn “Hàm băm” một cái gì đó?
Hãy tưởng tượng bạn có một văn bản có kích thước bất kỳ: từ một từ cho đến một tài liệu 1GB. Hàm băm lấy văn bản đó và chuyển nó thành một chuỗi ký tự số và chữ cái có kích thước luôn giống nhau. Ví dụ, với SHA-256 ( mà Bitcoin sử dụng ):
Bạn thấy chưa? Chỉ thay đổi một chữ cái in hoa và kết quả hoàn toàn khác biệt. Đó là tính quyết định: cùng một đầu vào = cùng một đầu ra, luôn luôn.
3 thuộc tính làm cho hàm băm an toàn
1. Kháng cự với va chạm: Không thể tìm thấy hai đầu vào khác nhau tạo ra cùng một Hàm băm. Mặc dù về mặt kỹ thuật có tồn tại va chạm, xác suất rất thấp đến nỗi sẽ mất hàng triệu năm tính toán.
2. Hàm một chiều: Dễ dàng đi từ đầu vào đến đầu ra. Hầu như không thể (trở lại). Nếu tôi cho bạn một hàm băm, bạn không thể khám phá đầu vào nào đã tạo ra nó mà không cần brute force quy mô lớn.
3. Kháng cự với hình ảnh trước thứ hai: Nếu đã có một hàm băm đã biết, việc tìm một đầu vào khác tạo ra cùng một hàm băm gần như là không thể.
Điều này là rất quan trọng: các ngân hàng lưu trữ hàm băm của mật khẩu, không phải mật khẩu thực tế. Vì vậy, nếu họ hack cơ sở dữ liệu, họ không biết thông tin xác thực của bạn.
Cách Bitcoin sử dụng điều này cho việc khai thác
Các thợ mỏ không tìm kiếm một cách ngẫu nhiên. Họ phải tạo ra các Hàm băm bắt đầu bằng một số lượng nhất định các số 0. Nếu hashrate của mạng tăng lên, Bitcoin tự động điều chỉnh độ khó để duy trì 10 phút cho mỗi khối. Đây là một sự cân bằng tinh tế.
Có nhiều giải pháp hợp lệ cho mỗi khối - các thợ mỏ chỉ cần tìm một giải pháp. Đó là lý do tại sao đây không phải là gian lận: đó là công việc tính toán thực sự.
Tại sao điều này quan trọng
Mỗi khối được liên kết với khối trước đó thông qua Hàm băm. Nếu ai đó cố gắng thay đổi một giao dịch trong quá khứ, Hàm băm của khối đó sẽ thay đổi, làm hỏng toàn bộ chuỗi. Sự an toàn của blockchain dựa vào điều này: các hàm băm mã hóa liên kết với nhau.