Hàm băm – Tất cả những gì bạn cần biết về công nghệ quan trọng này

Trong mật mã học và blockchain, hashing không chỉ là một thuật ngữ kỹ thuật - nó là nền tảng kết nối các hệ thống lại với nhau. Nhưng thực sự thì nó là gì?

Hàm băm có tác dụng gì?

Một hàm băm là một thuật toán toán học chuyển đổi dữ liệu có kích thước tùy ý thành một đầu ra có độ dài cố định. Hãy coi nó như một công cụ luôn tạo ra “dấu vân tay” cùng kích thước bất kể bạn nhập vào bao nhiêu thông tin.

Có hai loại hàm băm chính: hàm băm thông thường và hàm băm mật mã. Các hàm băm mật mã là những gì thúc đẩy blockchain và hệ thống bảo mật phát triển. Một đặc điểm chính của các hàm này là chúng có tính chất xác định – cùng một đầu vào luôn tạo ra cùng một đầu ra. Không có biến thể, không có bất ngờ.

Nhưng đây là điều thực sự thú vị: các hàm băm mật mã được thiết kế như các hàm một chiều. Điều này có nghĩa là dễ dàng để tạo ra một băm từ dữ liệu đầu vào, nhưng gần như không thể để đi ngược lại – tái tạo nguyên bản chỉ từ băm. Bạn cần hàng triệu năm sức mạnh máy tính để thậm chí cố gắng.

Nó hoạt động như thế nào trong thực tế?

Lấy SHA-256, được sử dụng trong Bitcoin. Hàm băm này luôn tạo ra một đầu ra 256-bit. Nếu bạn chạy từ “Bitcoin” qua đó, bạn sẽ nhận được một kết quả. Chỉ cần thay đổi một chữ cái thành “bitcoin” và toàn bộ kết quả thay đổi đáng kể - mặc dù đầu vào gần như giống hệt nhau.

Đây là ví dụ:

  • Dữ liệu đầu vào: “Bitcoin” → Dữ liệu đầu ra: c6047f944b970d40c98bdf66dedfb86191c0f867b4d6fdbb76efad1e107efc41
  • Đầu vào: “bitcoin” → Đầu ra: 6b88c08733550c7e2e7e9f39b8d5b3e2c1a8d5f6g7h8i9j0k1l2m3n4o5p6q7

SHA-256 là một phần của nhóm SHA-2. Cũng có SHA-1 và các biến thể khác, nhưng hiện tại chỉ có SHA-2 và SHA-3 được xem là đủ an toàn cho các ứng dụng hiện đại.

Tại sao hashing lại quan trọng đến vậy?

Các hàm băm giải quyết một vấn đề cơ bản: làm thế nào để bạn xác minh rằng một lượng dữ liệu khổng lồ không bị thao túng mà không cần phải lưu trữ tất cả? Câu trả lời: bạn sử dụng hàm băm.

Một hash nhỏ có thể đại diện cho một gigabyte dữ liệu. Nếu ai đó thay đổi ngay cả một bit của bản gốc, hash sẽ hoàn toàn khác. Điều này làm cho việc gian lận trở nên không thể mà không bị phát hiện.

Trong Bitcoin, hashing được sử dụng ở khắp mọi nơi:

  • Để liên kết các giao dịch với nhau
  • Để tạo ra cây Merkle trong khối
  • Để liên kết các khối trong một chuỗi
  • Để đảm bảo rằng mọi thứ vẫn không thay đổi

Ba trụ bảo mật

Một hàm băm mã hóa mạnh mẽ phải có ba đặc tính:

Khả năng chống va chạm: Nó phải gần như không thể tìm thấy hai đầu vào khác nhau tạo ra cùng một băm. Về lý thuyết, các va chạm luôn tồn tại - có vô số khả năng cho đầu vào nhưng đầu ra thì có giới hạn. Nhưng một hàm băm an toàn làm cho điều đó trở nên cực kỳ khó khăn đến mức sẽ mất nhiều thời gian hơn cả tuổi thọ của vũ trụ.

Kháng cự hình mẫu: Với một hash, bạn không thể làm việc ngược lại để tìm ra bản gốc. Đây chính là điều làm cho các hàm một chiều có giá trị cho mật khẩu và xác thực.

Kháng cự trước các hình mẫu khác: Bạn không thể tìm thấy một thông điệp hoàn toàn mới sản xuất cùng một hash như một thông điệp đã biết khác. Nó nằm ở đâu đó giữa hai thuộc tính còn lại về độ khó.

Khai thác: Nơi hashing gặp kinh tế

Việc khai thác Bitcoin là nơi mà hashing thực sự thể hiện sức mạnh của nó. Các thợ mỏ phải tìm một giá trị hash cho khối ứng cử viên của mình bắt đầu với một số lượng nhất định các chữ số 0. Điều này được gọi là gặp khó khăn.

Không có lối tắt - bạn chỉ cần thử từng đầu vào cho đến khi thành công. Nếu tổng sức mạnh tính toán của mạng (hashhastigheten) tăng lên, độ khó sẽ tự động điều chỉnh để việc tạo khối vẫn diễn ra khoảng mỗi mười phút.

Thú vị là các thợ mỏ không cần phải tìm các va chạm độc đáo. Có nhiều giải pháp hợp lệ cho một khối – bất kỳ giải pháp nào đáp ứng các tiêu chí độ khó đều hoạt động. Ai đến đích trước sẽ thắng.

Quá trình này làm cho Bitcoin trở nên mạnh mẽ. Càng nhiều sức mạnh máy tính được dành cho mạng lưới, nó càng an toàn hơn. Và vì việc khai thác tốn kém về mặt kinh tế, nên việc cố gắng gian lận là một ý tưởng tồi.

Những suy nghĩ kết thúc

Băm không chỉ là một điều thú vị về kỹ thuật - nó là xương sống của công nghệ blockchain. Cùng với mật mã, các hàm băm cho phép cả sự an toàn và xác minh ở một quy mô mà nếu không có chúng sẽ là điều không thể. Dù bạn có quan tâm đến Bitcoin, Ethereum hay bất kỳ giao thức blockchain nào khác, chắc chắn rằng các hàm băm mạnh mẽ đang hoạt động ẩn sau và giữ cho hệ thống được liên kết.

BTC1%
ETH1.58%
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
0/400
Không có bình luận
  • Ghim