Hashing (Băm) là gì và nó hoạt động như thế nào?
Home > Hashing (Băm) là gì và nó hoạt động như thế nào?
AAG Marketing
Jan 30, 2023 7 mins read

Hashing (Băm) là gì và nó hoạt động như thế nào?

Băm đóng một vai trò quan trọng trong ngành công nghiệp tiền điện tử, đặc biệt là khi đảm bảo tính bảo mật của mạng chuỗi khối. Đó là một quá trình nền tảng cho cơ chế đồng thuận bằng chứng công việc (PoW) và đã có kể từ khi Bitcoin – tiền điện tử đầu tiên trên thế giới – ra mắt lần đầu vào năm 2009.

Bản thân quá trình băm là một quá trình tương đối phức tạp, nhưng việc hiểu nó và chức năng của nó trong tiền điện tử không khó. Trong hướng dẫn này của Học viện AAG, chúng tôi sẽ giải thích hàm băm bằng các thuật ngữ đơn giản và xem cách nó giúp làm cho tiền điện tử trở nên an toàn như thế nào.

Băm là gì?

Trong Toán học, hàm băm là một thuật toán toán học biến giá trị đầu vào có độ dài bất kỳ thành đầu ra được mã hóa, được gọi là hàm băm, có độ dài cố định. Nói cách khác, quá trình này biến bất kỳ chuỗi chữ cái và số nào có thể dài hàng chục ký tự, chẳng hạn như dữ liệu bên trong một khối trên chuỗi khối, thành một số thập lục phân có độ dài xác định trước.

Khi đó, bất kể lượng dữ liệu bên trong mỗi khối là bao nhiêu, mỗi khối đều nhận được một hàm băm có cùng kích thước. Kích thước có thể khác nhau tùy thuộc vào phương pháp băm được sử dụng và không phải mọi chuỗi khối đều sử dụng cùng một hệ thống. Quá trình này làm cho gần như không thể tìm ra hoặc đoán đầu vào ban đầu là gì chỉ dựa trên hàm băm được mã hóa của nó.

Việc sử dụng hàm băm đã phổ biến trong nhiều thập kỷ qua trong các hệ thống máy tính và có thể được sử dụng cho nhiều mục đích, chẳng hạn như xác minh rằng một phần mềm không bị giả mạo. Kể từ khi Bitcoin ra mắt vào năm 2009, hàm băm đã trở thành một phần không thể thiếu trong ngành công nghiệp tiền điện tử và đóng vai trò quan trọng trong việc đảm bảo rằng dữ liệu chuỗi khối được an toàn và không thể bị can thiệp.

Băm hoạt động như thế nào?

Cách hoạt động của hàm băm có thể khác nhau tùy thuộc vào cách nó được sử dụng, vì vậy để đơn giản hóa mọi thứ, hãy tập trung vào việc sử dụng nó trong ngành công nghiệp tiền điện tử. 

Bất cứ khi nào người dùng gửi một giao dịch tới một chuỗi khối sử dụng cơ chế đồng thuận bằng chứng công việc (PoW), chẳng hạn như Bitcoin, giao dịch đó sẽ tham gia vào một hàng các yêu cầu đang chờ được xác thực bởi một mạng được tạo thành từ hàng nghìn nút và công cụ khai thác . Điều này yêu cầu tạo một khối mới, trong đó một số giao dịch được nhóm lại.

Sau khi các giao dịch được xử lý và phê duyệt, khối này sẽ được đóng lại và sau đó được thêm vào phần còn lại của chuỗi tạo nên sổ cái phân tán của mạng. Tuy nhiên, trước khi được thêm vào chuỗi, mỗi khối được gán một hàm băm. Điều này được tạo ra bằng cách lấy tất cả dữ liệu chứa trong khối, sau đó chạy một thuật toán toán học để biến nó thành một chuỗi ký tự duy nhất.

Độ dài của chuỗi này phụ thuộc vào hàm băm được sử dụng. Chẳng hạn, Bitcoin sử dụng một phương pháp được gọi là SHA-256, có nghĩa là tất cả các hàm băm Bitcoin dài 256 ký tự, bất kể lượng dữ liệu mà mỗi khối chứa. Những người khác trong ngành công nghiệp tiền điện tử có thể chỉ có 128 ký tự và một số dài tới 512 ký tự.

Miễn là dữ liệu đầu vào không thay đổi, bạn sẽ luôn có cùng một hàm băm. Tuy nhiên, nếu dữ liệu thay đổi hoàn toàn – thậm chí chỉ bằng một ký tự – hàm băm sẽ trở nên hoàn toàn khác. Điều này ngăn không cho bất kỳ khối nào bị giả mạo, vì việc thay đổi hàm băm của nó có nghĩa là nó sẽ không còn được phần còn lại của chuỗi nhận ra và do đó bị từ chối.

Để làm cho các chuỗi khối tiền điện tử trở nên an toàn hơn, có một số điều kiện nhất định mà mỗi hàm băm phải đáp ứng. Chẳng hạn, với Bitcoin, hàm băm phải bắt đầu bằng một số 0 nhất định, số này có thể thay đổi tùy thuộc vào mức độ bận rộn của mạng. Điều này có nghĩa là những người khai thác phải thử nhiều đầu vào khác nhau cho đến khi họ có thể tạo ra một hàm băm đáp ứng ngưỡng.

Quá trình này đòi hỏi phần cứng phức tạp phải được thực hiện hiệu quả, đó là lý do tại sao hệ thống PoW rất tốn năng lượng — và rất cạnh tranh. Đó cũng là lý do tại sao những người khai thác chi rất nhiều tiền cho các giàn máy tính mạnh mẽ nhằm nỗ lực giành lợi thế hơn những người khác và tăng cơ hội được thưởng BTC mới.

Các loại băm được sử dụng trong tiền điện tử là gì?

Như chúng ta đã đề cập ở trên, các hàm băm khác nhau tạo ra các kết quả đầu ra khác nhau và một số lượng lớn trong số chúng được sử dụng trong toàn ngành công nghiệp tiền điện tử. Ngoài chức năng SHA-256 được Bitcoin sử dụng, các chức năng phổ biến khác bao gồm:

  • Ethash
  • Equihash
  • Cryptonight
  • PIVX
  • Scrypt
  • X11

Tất cả các chức năng này được sử dụng trong các hệ thống bằng chứng công việc giống như cách mà mạng Bitcoin sử dụng chúng. Mặc dù chúng tạo ra kết quả tương tự, nhưng thời gian sử dụng chúng, mức độ an toàn của chúng và các yếu tố khác có thể khác nhau. Chức năng SHA-2 được coi là một trong những chức năng an toàn nhất trong ngành công nghiệp tiền điện tử.

Các thuật toán băm an toàn như thế nào?

Mặc dù một số hàm băm được coi là an toàn hơn các hàm khác — thường là do chúng dẫn đến chuỗi băm dài hơn — nhưng tất cả đều được coi là cực kỳ an toàn, đó là lý do tại sao hàm băm được sử dụng phổ biến trong ngành công nghiệp tiền điện tử và nhiều ngành khác. Như chúng tôi đã đề cập trước đó, hầu như không thể tìm ra một phần dữ liệu đầu vào dựa trên hàm băm của nó.

Thay đổi dữ liệu đầu vào theo bất kỳ cách nào cũng dẫn đến một hàm băm hoàn toàn khác. Chẳng hạn, nếu bạn chỉ định hàm băm cho một phần mềm, chẳng hạn như ứng dụng máy tính, người dùng có thể xác minh tính xác thực của nó bằng cách kiểm tra xem hàm băm của nó có khớp với bản gốc hay không. Nếu một kẻ xấu can thiệp vào phần mềm theo bất kỳ cách nào, thì hàm băm không còn khớp nữa và sau đó bạn có thể xác định đó không phải là chính hãng.

Chuỗi khối tiến thêm một bước này để tăng cường bảo mật. Mỗi khi một khối mới được tạo, tiêu đề của nó chứa hàm băm được sử dụng trong khối trước đó, vì vậy mọi khối đều được liên kết chặt chẽ. Đó là cách mạng biết khi nào một hàm băm bị thay đổi: Nó không còn có thể được liên kết với một khối trước đó và do đó được khởi động từ chuỗi.

Khi tất cả những điều này được tính đến, chúng ta có thể thấy rằng các hàm băm — đặc biệt khi được sử dụng trong tiền điện tử — cực kỳ an toàn. Nếu không, ngành công nghiệp sẽ chuyển sang một giải pháp tốt hơn bây giờ và các hàm băm sẽ không còn quá quan trọng đối với hệ thống PoW được sử dụng bởi phần lớn các loại tiền điện tử tồn tại ngày nay.

Nguồn

Câu hỏi thường gặp

Hàm băm lấy tất cả dữ liệu có trong một khối và gán cho nó một chuỗi ký tự duy nhất có độ dài nhất định. Điều này giúp đảm bảo rằng khối có thể được mạng chuỗi khối nhận ra và không thể bị giả mạo theo bất kỳ cách nào.

Trong tiền điện tử, hệ thống SHA-2, bao gồm chức năng SHA-256 được sử dụng bởi Bitcoin, được coi là an toàn nhất. Điều đó phần lớn nhờ vào chuỗi băm 256 ký tự của nó, trong khi những chuỗi khác sử dụng ít nhất 128 ký tự.

Các giá trị băm không chỉ cho phép các nút nhận ra các khối trong chuỗi khối mà còn ngăn chặn các nút độc hại can thiệp vào các khối đó. Bất kỳ khối nào bị giả mạo sẽ kết thúc bằng một hàm băm khác, mà các nút khác sẽ không nhận ra và do đó sẽ từ chối. 

Was this article helpful?
YesNo

Muốn hỏi thêm? Tham gia Discord cùng chúng tôi.

Chia sẻ bài viết này:

Về tác giả

AAG Marketing

Lưu ý

Bài viết này nhằm cung cấp thông tin tổng quát và nó được viết để phục vụ một bộ phận công chúng; nó không đưa ra lời khuyên đầu tư, pháp lý hoặc kinh doanh và nghề nghiệp nào mang tính chất cá nhân. Trước khi thực hiện bất kỳ hành động nào, hãy tham khảo ý kiến của chuyên gia tài chính, pháp lý, thuế, đầu tư,... để được tư vấn về các vấn đề ảnh hưởng đến bạn và / hoặc doanh nghiệp của bạn.

Explore Web3 & Metaverses intuitively with Saakuru®

Nhận thông báo từ chúng tôi

Trở thành người đầu tiên nhận được thông báo khi có tin tức mới về công ty hay thị trường.

🍪
We use cookies to make your experience better. Learn more: Privacy Policy
Accept

Explore Web3 & Metaverses intuitively with MetaOne®

Download now
Download Saakuru