Hashrate là gì? Mối tương quan giữa Hashrate và giá Bitcoin
Hashrate là gì?
Hashrate được định nghĩa là khả năng tính toán của một máy tính. Được tính bằng Hash per second hay là số lần đoán đáp án Hash trong một giây của máy tính.
Trong đó, Hash function, được hiểu là hàm băm, là quá trình sử dụng các bộ mật mã để biến một tệp (input) có độ dài khác nhau thành output có độ dài nhất định. Cũng có thể hiểu đây là quá trình băm một tệp dữ liệu bất kì thành một đoạn mã có độ dài nhất định.
Hash là tên gọi đoạn mật mã output từ quá trình hash function.
Hashrate được tính bằng đơn vị Hash trên giây:
- MH/s (Megahash/giây)
- GH/s (Gigahash/giây)
- TH/s (Terrahash/giây) và thậm chí PH/s (Petahash/giây)
Sau đây là một số đơn vị đo lường Hashrate thường được sử dụng:
- 1 kH/s là 1.000 (một nghìn) hash mỗi giây
- 1 MH/s là 1.000.000 (một triệu) hash mỗi giây
- 1 GH/s là 1.000.000.000 (một tỷ) hash mỗi giây
- 1 TH/s là 1.000.000.000.000 (một nghìn tỷ) hash mỗi giây
- 1 PH/s là 1.000.000.000.000.000 (một nghìn tỷ) hash mỗi giây
- 1 EH/s là 1.000.000.000.000.000 (một nghìn tỷ) hash mỗi giây
Vì thế, Hashrate đại diện cho sức mạnh tính toán của một máy tính. Hashrate càng lớn thì khả năng giải được bài toán PoW càng cao. Tỉ lệ nhận được phần thưởng khối khi đào coin càng lớn.
Do đó, khi chọn máy đào, Hashrate của một con trâu cày là một trong những yếu tố quan trọng ảnh hưởng trực tiếp đến lợi nhuận trong việc đào coin.
Hashrate của một mạng lưới sẽ đại diện cho tính an toàn của mạng lưới đó. Hashrate càng lớn thì sức mạnh máy tính càng lớn nghĩa là khả năng tấn công vào mạng lưới càng khó. Bởi nếu muốn tấn công thì hacker cần phải có tài nguyên lớn hơn 50% tài nguyên của cả mạng lưới. Và gần như không ai có thể có được tài nguyên của hơn nửa thế giới cả.
Tính chất của hàm băm
Một hàm băm bảo mật thông thường sẽ đáp ứng các tính chất sau:
- Deterministic - Tính xác định: Với mỗi đoạn mã, sau khi sử dụng hàm băm bạn chỉ có thể có một đáp án duy nhất dù bạn chạy chương trình bao nhiêu lần.
- Quick Computation: Hàm băm sẽ nhanh chóng tính toán ra giá trị băm (hash) của một thông điệp bất kì.
- Pre-image Resistance - Tính một chiều: Với mỗi giá trị đầu ra (hash), bạn sẽ không thể nào đoán được giá trị đầu vào của nó là gì. Và cũng không có thuật toán nào có thể làm việc đó.
- Avalanche Affect - Tính nhạy cảm: Với một giá trị đầu vào, bạn chỉ cần thay đổi một từ trong đó sẽ thay đổi toàn bộ giá trị băm.
- Collision Resistant: Với hai giá trị đầu vào A và B, giá trị Hash (A) và hash(B) sẽ không thể nào trùng nhau, nói đúng hơn là khả năng rất rất nhỏ gần như không có.
Các loại hàm băm SHA
SHA (viết tắt là Secure Hash Algorithms) là hàm băm bảo mật. Hiện tại có một số bộ mật mã bảo mật Hash function như: SHA-1, SHA-2, BLAKE,... Chúng sẽ khác nhau về độ dài, thuật toán sử dụng, khả năng xung động cũng như độ an toàn,...
Và Bitcoin cũng là một ứng dụng của Hash function khi sử dụng Hàm Hash SHA-256 thuộc bộ bảo mật SHA-2.
Ứng dụng của hàm băm
Hashing và hàm băm mật mã có rất nhiều ứng dụng trong thực tế:
- Định danh tệp hoặc dữ liệu: Git, Mercurial,… Sử dụng các hàm băm để định danh tập tin một cách tin cậy,..
- Xác minh tính toàn vẹn của thông điệp, tập tin: Khi gửi, tải một tệp trên internet,.. Chúng ta sẽ có thể sử dụng hàm băm để biết tệp của mình có bị sửa đổi không thông qua so sánh băm của dữ liệu với dữ liệu ban đầu.
- Tạo và xác nhận chữ ký: Bằng cách kết hợp giữa chữ ký và văn bản qua một hàm băm.
- Xác minh mật khẩu: Dùng để lưu trữ mật khẩu của khách hàng dưới dạng hàm băm nhằm tăng an toàn khi có lỗ hổng bảo mật.
- Hashing và bằng chứng công việc (Proof of Work): Bằng việc tạo ra bài toán với Hash function giúp ngăn chặn các cuộc tấn công bằng cách yêu cầu người dùng giải một bài toán nhất định thông qua hàm băm.
- Hashing trong blockchain: Như đã nói hashing không chỉ được sử dụng trong các cơ chế Proof of Work được ứng dụng trong các cơ chế đồng thuận của nhiều blockchain mà còn dùng để dùng để định danh các khối và tạo nên tính liên tục trước sau giữa các khối.
Ứng dụng Hash function vào blockchain
Hash function như đã nói ở trên, Hash function không chỉ được ứng dụng vào cơ chế đồng thuận của blockchain mà còn vào các việc định danh một khối, giúp cho khối đó không thể thay đổi thứ tự giữa các khối.
Đối với Blockchain, Proof-of-work là cơ chế đồng thuận, giúp cho blockchain có thể hoạt động một cách an toàn và không bị tấn công. Cụ thể Proof-of-work sẽ sử dụng công nghệ Hash function để tạo ra các bài toán.
Đề bài toán đó là các đoạn hash được tạo ra bảo thuật toán của blockchain, yêu cầu của bài toán là các người thợ đào phải tìm ra đoạn mã đầu vào.
Bởi vì các tính chất của hàm băm mà một người sẽ không thể nào đoán được kết quả đầu ra mà phải bắt đầu thử từng kết quả đầu vào qua thuật toán hàm băm nhất định rồi so sánh lại với đề bài. Quá trình đó sẽ được lặp đi lặp lại nhiều lần để tìm ra đáp án.
Mỗi lần thử như vậy sẽ được gọi là một lần Hash.
Kết quả của việc này là các thợ đào trên thế giới muốn xác minh giao dịch cho blockchain sẽ phải sử dụng các hệ thống máy tính (máy đào) để cùng nhau giải bài toán đó. Và người tìm được đáp án đầu tiên sẽ có trách nhiệm xác minh các giao dịch rồi cập nhật lên blockchain và nhận phần thưởng khối đó.
Tổng quan về Bitcoin Hashrate
Khi nói đến Bitcoin Hashrate, chúng ta sẽ nghiêng về Hashrate của của toàn bộ hệ thống hơn.
Do một hệ thống bao gồm rất nhiều máy tính, hàng tỷ CPU đang chạy. Để tính được Hashrate cụ thể là không thể nào mà chúng ta sẽ ước lượng thông qua hai chỉ số là số block được đào và độ khó đào coin (Mining Difficulty).
Mining Difficulty là độ khó của bài toán PoW mà thợ đào sẽ phải đối mặt. Mining Difficulty càng lớn nghĩa là bài toán càng khó, thợ đào càng phải lặp lại số lần đoán nhiều hơn để có thể giải được bài toán.
Đối với Bitcoin và một số đồng coin khác, độ khó sẽ được tăng lên khi càng nhiều người thợ đào tham gia vào mạng lưới.
Tại sao phải làm như vậy? Trong khi đào càng nhanh thì block ra càng sớm, giao dịch càng diễn ra càng nhanh. Nhưng sự thật thì lợi ích sẽ không bằng việc an toàn của giao dịch.
Thực tế, khi một block đã được thêm vào, chúng ta vẫn chưa thể lựa chọn tin tưởng các giao dịch đã được xác thực mà phải đợi một thời gian sau cho những block tiếp theo được xây dựng tới một độ dài nhất định.
Trong khoảng thời gian đó, các thợ đào sẽ có thời gian để có thể xem xét lại các giao dịch trong các block đó có chính xác không. Giao dịch của mình có thể được tin tưởng khi một blockchain đã được xây dựng đủ dài.
Nếu tốc độ một block được thêm vào quá nhanh, thì các thợ đào có khi sẽ không thể kịp xác minh thông tin giao dịch vừa được thêm vào block đó.
Vì thế để đảm bảo một thời gian đủ dài, các blockchain sẽ tùy chỉnh độ khó để mỗi block có thời gian sinh ra như nhau và ổn định. Đối với bitcoin, sau 2 tuần, mining difficulty sẽ được tùy chỉnh độ khó một lần để làm sao mỗi 10 phút sẽ có 1 block sinh ra.
Mối liên hệ giữa Hashrate và giá Bitcoin
Như đã nói, Hashrate của Bitcoin thể hiện sức mạnh giải bài toán PoW của cả mạng lưới. Vì hashrate sẽ liên tục thay đổi do số lượng thợ đào thay đổi. Vậy điều gì sẽ xảy ra nếu Hashrate thay đổi và nó có ảnh hưởng gì tới giá Bitcoin không?
Hầu hết mọi người đều đồng ý, khi Hashrate của Bitcoin giảm nghĩa là thợ đào bắt đầu rời bỏ Bitcoin cho thấy được sức thu hút cũng như ham muốn muốn sở hữu bitcoin giảm, giá Bitcoin sẽ giảm sau đó.
Tuy nhiên, giá Bitcoin thì sao, nó ảnh hưởng như thế nào đến Hashrate?
Khi Bitcoin tăng giá, dĩ nhiên sẽ kéo theo tâm lý tốt thị trường, nhiều người sẽ muốn sở hữu bitcoin, nhu cầu tăng lên, nhiều người tham gia vào đào coin dẫn đến Hashrate tăng lên, độ an toàn của hệ thống tăng lên. Tương tự khi Bitcoin giảm giá.
Tuy nhiên, không phải lúc nào Hashrate cũng phản ánh đúng giá trị thị trường của Bitcoin. Vẫn có những trường hợp khi giá bitcoin giảm mạnh nhưng Hashrate sẽ không ảnh hưởng mấy thậm chí sẽ tăng vì các lý do như:
- Thứ nhất: Mọi người khi đào coin, giá coin giảm nhưng sẽ không mất đi, mọi người có thể hold bitcoin chờ giá tăng. Và cũng không dễ dàng gì cho các thợ đào để bán máy đào hoặc chuyển mục đích sử dụng của máy đào. Nên số lượng máy đào rất ít khi giảm xuống.
- Thứ hai: Khi giá giảm, các hệ thống máy đào bắt buộc phải hoạt động nhiều hơn để cạnh tranh với nhau và để có lợi nhuận hơn.
Tìm hiểu thêm: 4 Bước đào coin cơ bản kiếm thu nhập khủng (chi tiết)