Đang tìm hiểu công nghệ blockchain gần đây và nhận ra hầu hết mọi người thực sự không hiểu rõ điều gì làm cho nó hoạt động. Hàm băm là những anh hùng thầm lặng ở đây - chúng xuất hiện khắp nơi, từ ứng dụng nhắn tin của bạn đến khai thác Bitcoin, nhưng phần lớn mọi người chỉ bỏ qua chúng.



Vì vậy, đây là vấn đề: hàm băm về cơ bản là một công cụ toán học nhận bất kỳ lượng dữ liệu nào và chuyển đổi nó thành một chuỗi có độ dài cố định. Phần kỳ diệu? Nó là một con đường một chiều. Bạn không thể đảo ngược nó. Nhập 'hãy học blockchain' và bạn sẽ nhận được 77db72b12a7667ad73fd33544d1f397268dffe18ca3042e0a09af9f993a8f9c1. Thêm chỉ một dấu chấm và đột nhiên đầu ra hoàn toàn khác: 17368fcb5bab73c97aa60aa7ae9e54e6676d292743587b9a35ace927a626520a. Ngay cả những thay đổi nhỏ nhất = kết quả hoàn toàn khác nhau. Đó chính là tính bảo mật.

Tại sao điều này lại quan trọng đối với tiền mã hóa? Việc khai thác Bitcoin thực sự phụ thuộc vào nó. Các thợ đào về cơ bản đang đua để tìm ra một giá trị băm thấp hơn một số mục tiêu bằng cách kết hợp dữ liệu khối với các số ngẫu nhiên (nonces) và chạy qua SHA-256. Người đầu tiên tìm ra sẽ thắng phần thưởng. Và điều tinh tế ở đây là - mỗi khối liên kết với khối trước thông qua hàm băm của nó, tạo thành chuỗi không thể sửa đổi. Nếu ai đó cố gắng thay đổi dữ liệu cũ, hàm băm sẽ thay đổi, và mọi người sẽ biết có điều gì đó không ổn.

Bây giờ, có nhiều thuật toán băm khác nhau đang lưu hành. MD5 từng rất phổ biến - tạo ra đầu ra 128-bit - nhưng đã có những điểm yếu. Kẻ tấn công có thể tạo ra 'va chạm' nơi các đầu vào khác nhau tạo ra cùng một đầu ra, vì vậy nó về cơ bản đã bị loại bỏ khỏi các công việc bảo mật nghiêm trọng.

SHA-1 xuất hiện tiếp theo, được NSA thiết kế vào năm 1995. Nó tạo ra các hàm băm 160-bit nhưng đã bị phá vỡ và thay thế bằng các lựa chọn mạnh hơn.

Sau đó là SHA-2, là một họ các thuật toán (SHA-224, SHA-256, SHA-384, SHA-512). SHA-256 là thứ Bitcoin sử dụng và vẫn được coi là cực kỳ vững chắc. Các kích thước đầu ra dài hơn giúp nó chống lại các cuộc tấn công brute force tốt hơn so với SHA-1.

Người chơi mới nhất là SHA-3, được NIST công bố vào năm 2015. Nó dựa trên thuật toán Keccak và sử dụng một thứ gọi là 'cấu trúc bọt biển' - về cơ bản là hấp thụ dữ liệu đầu vào, rồi ép ra hàm băm. Một lợi thế là nó chống lại các cuộc tấn công mở rộng độ dài, nơi ai đó cố gắng thêm dữ liệu mà không biết dữ liệu ban đầu. Ethereum thực sự sử dụng keccak-256, một biến thể của SHA-3. Thậm chí Nervos' CKB blockchain cũng đã triển khai thuật toán lấy cảm hứng từ SHA-3 gọi là Eaglesong.

Nhưng đây là điểm mấu chốt - không có hàm băm nào hoàn toàn không thể phá vỡ. Các cuộc tấn công va chạm là có thể xảy ra, nơi bạn tạo ra hai đầu vào khác nhau nhưng cho ra cùng một đầu ra. Các cuộc tấn công mở rộng độ dài cho phép kẻ tấn công thêm dữ liệu vào các thông điệp. Các cuộc tấn công preimage giúp bạn tìm ra đầu vào phù hợp với một hàm băm cụ thể. Các cuộc tấn công birthday khai thác xác suất để tìm các hàm băm trùng khớp. Rồi còn có các cuộc tấn công side channel khai thác cách hàm được thực thi thực tế chứ không phải toán học bên trong.

Tuy nhiên, các công nghệ hiện đại như SHA-256 và SHA-3 thực sự được thiết kế với các vector tấn công này trong đầu. MD5 và SHA-1? Ừ, chúng dễ bị tấn công. Nhưng thế hệ mới hơn về cơ bản được coi là không thể phá vỡ với công nghệ hiện tại. Đó là lý do tại sao chúng là xương sống của an ninh blockchain ngày nay.
BTC-2,94%
ETH-3,46%
CKB-6,33%
Xem bản gốc
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.
  • Phần thưởng
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
Thêm một bình luận
Thêm một bình luận
Không có bình luận
  • Đã ghim