Đào tiền số là gì

Tóm lược

Đào/khai thác tiền mã hóa đề cập đến quá trình xác minh và xác thực các giao dịch blockchain. Đây cũng là quá trình tạo ra các đơn vị tiền mã hóa mới. Công việc này được thực hiện bởi các thợ đào, đòi hỏi các thiết bị máy tính chuyên sâu, nhưng đó cũng là thứ giúp cho mạng blockchain được an toàn. Khi khai thác thành công, những thợ đào trung thực sẽ được thưởng tiền mã hóa mới được tạo ra cộng với phí giao dịch cho việc họ đã thực hiện.

Khai thác/đào là quá trình mà trong đó các giao dịch tiền mã hoá giữa người dùng được xác minh và thêm vào sổ cái blockchain công khai. Các hoạt động khai thác quá trình này cũng đưa các đồng tiền mới vào dòng tiền đang lưu thông.

Hoạt động này là một trong những yếu tố quan trọng cho phép blockchain Bitcoin hoạt động như một sổ cái phân tán. Tất cả các giao dịch được ghi lại trên một mạng ngang hàng mà không cần cơ quan tập trung nào. Trong bài viết này, chúng ta sẽ thảo luận về việc khai thác trên mạng Bitcoin, nhưng quá trình này cũng tương tự đối với các altcoin áp dụng cùng một cơ chế đào.

Khi các giao dịch blockchain mới được thực hiện, chúng được gửi đến một nhóm được gọi là bộ nhớ (memory pool). Công việc của một thợ đào là xác minh tính hợp lệ của các giao dịch đang chờ xử lý và sắp xếp chúng thành các khối. Bạn có thể xem một khối như một trang của sổ cái blockchain, trong đó một số giao dịch được ghi lại (cùng với các dữ liệu khác).

Cụ thể hơn, một node đào có trách nhiệm thu thập các giao dịch chưa được xác nhận từ bộ nhớ và tập hợp chúng thành một khối ứng viên (candidate block). Sau đó, thợ đào sẽ cố gắng chuyển đổi khối ứng cử viên này thành một khối hợp lệ, được xác nhận. Nhưng để làm được như vậy, họ cần phải tìm ra lời giải cho một câu đố toán học phức tạp. Điều này đòi hỏi nhiều tài nguyên máy tính, nhưng mỗi khối được khai thác thành công sẽ mang lại cho thợ đào phần thưởng khối, bao gồm tiền mã hóa mới được tạo ra, cộng với phí giao dịch. Chúng ta hãy xem xét kỹ hơn quá trình khai thác này.

Bước 1 - Băm các giao dịch

Bước đầu tiên của việc khai thác một khối là nhận các giao dịch đang chờ xử lý từ nhóm bộ nhớ và gửi từng giao dịch thông qua một hàm băm. Mỗi khi chúng ta gửi một phần dữ liệu thông qua một hàm băm, chúng ta sẽ tạo ra một đầu ra có kích thước cố định được gọi là một mã băm. Trong bối cảnh của việc đào tiền, mã băm của mỗi giao dịch bao gồm một chuỗi số và chữ cái hoạt động như một định danh. Mã băm giao dịch đại diện cho tất cả thông tin có trong giao dịch đó.

Ngoài việc băm và liệt kê từng giao dịch riêng lẻ, thợ đào còn thêm một giao dịch tùy chỉnh, trong giao dịch đó họ tự gửi cho mình phần thưởng khối. Giao dịch này được gọi là giao dịchcoinbase và là thứ tạo ra các đồng tiền hoàn toàn mới. Trong hầu hết các trường hợp, giao dịch coinbase là giao dịch đầu tiên được ghi lại trong một khối mới, tiếp theo là tất cả các giao dịch đang chờ xử lý mà họ muốn xác thực.

Bước 2 - Tạo cây Merkle

Sau khi mọi giao dịch được băm, các mã băm sau đó được tổ chức thành một thứ gọi là Merkle Tree. Còn được gọi là cây băm, Cây Merkle được hình thành bằng cách sắp xếp các mã băm giao dịch thành từng cặp và sau đó băm chúng. Các đầu ra băm mới sau đó được tổ chức thành từng cặp và băm lại một lần nữa, và quá trình này được lặp lại cho đến khi tạo ra một hàm băm duy nhất. Hàm băm cuối cùng này còn được gọi là mã băm gốc (hoặc Merkle root) và về cơ bản là hàm băm đại diện cho tất cả các hàm băm trước đó đã được sử dụng để tạo ra nó.

Bước 3 - Tìm tiêu đề khối hợp lệ (mã băm khối)

Tiêu đề khối (block header) hoạt động như một mã định danh cho từng khối riêng lẻ, có nghĩa là mỗi khối có một mã băm duy nhất. Khi tạo một khối mới, các thợ đào kết hợp mã băm của khối trước đó với mã băm gốc của khối ứng viên của họ để tạo ra một mã băm khối mới. Nhưng ngoài hai yếu tố này, họ cũng cần thêm một thứ gọi là nonce.

Vì vậy, khi cố gắng xác thực khối ứng viên của họ, thợ đào cần kết hợp hàm băm gốc, mã băm của khối trước đó và một nonce và gửi tất cả chúng thông qua một hàm băm. Mục tiêu của họ là tạo ra một mã băm được coi là hợp lệ.

Không thể thay đổi mã băm gốc và mã băm của khối trước đó, vì vậy thợ đào cần thay đổi giá trị nonce nhiều lần cho đến khi tìm thấy mã băm hợp lệ.

Để được coi là hợp lệ, đầu ra (mã băm khối) phải nhỏ hơn một giá trị đích nhất định, được xác định bởi giao thức. Khi đào Bitcoin, mã băm khối phải bắt đầu bằng một số số không nhất định. Đây là những gì chúng ta gọi là khó khăn trong  khai thác.

Bước 4 - Phát sóng khối đã đào

Như chúng ta vừa thấy, các thợ đào cần phải băm tiêu đề khối nhiều lần, với các giá trị nonce khác nhau. Họ lặp đi lặp lại công việc này cho đến khi tìm thấy một mã băm khối hợp lệ. Thợ đào tìm thấy mã băm hợp lệ sau đó sẽ phát khối của mình lên mạng. Tất cả các node khác sẽ kiểm tra xem khối và mã băm của nó có hợp lệ hay không và nếu có, khối mới sẽ được thêm vào blockchain bản sao mà các node này lưu giữ.

Tại thời điểm này, khối ứng cử viên trở thành một khối được xác thực và tất cả các thợ đào chuyển sang khai thác khối tiếp theo. Tất cả những thợ đào không thể tìm thấy mã băm hợp lệ đúng lúc sẽ loại bỏ khối ứng viên của họ và cuộc đua khai thác lại bắt đầu.

Điều chỉnh độ khó khai thác

Độ khó khai thác thường xuyên được điều chỉnh bởi giao thức, để đảm bảo rằng tốc độ tạo khối mới không đổi. Đây là điều làm cho việc phát hành tiền mới ổn định và có thể dự đoán được. Độ khó điều chỉnh tương ứng với lượng sức mạnh tính toán (tỷ lệ băm - hash rate) dành cho mạng.

Do đó, mỗi khi các thợ đào mới tham gia vào mạng và sự cạnh tranh tăng lên, độ khó băm sẽ tăng lên, ngăn thời gian khối trung bình giảm xuống. Ngược lại, nếu nhiều thợ đào quyết định rời khỏi mạng, độ khó băm sẽ giảm xuống, khiến cho việc khai thác một khối mới ít khó khăn hơn. Những điều chỉnh này giữ cho thời gian khối không đổi, bất kể tổng sức mạnh băm của mạng là bao nhiêu.

Điều gì sẽ xảy ra nếu hai khối được đào cùng một lúc?

Đôi khi có trường hợp hai thợ đào phát một khối hợp lệ cùng một lúc và mạng kết thúc với hai khối cạnh tranh. Các thợ đào sau đó bắt đầu khai thác khối tiếp theo dựa trên khối mà họ nhận được trước tiên. Điều này khiến mạng bị phân chia (tạm thời) thành hai blockchain phiên bản khác nhau.

Sự cạnh tranh giữa các khối này sẽ tiếp tục cho đến khi khối tiếp theo được khai thác, nằm trên một trong các khối cạnh tranh. Khi một khối mới được khai thác, khối nào đến trước khối đó sẽ được coi là người chiến thắng. Khối bị bỏ rơi được gọi là khối mồ côi hoặc khối cũ, khiến tất cả những người khai thác đã chọn khối này quay lại khai thác chuỗi của khối chiến thắng.

Bitcoin là ví dụ phổ biến nhất về một loại tiền mã hóa có thể khai thác được, nhưng không phải tất cả các loại tiền mã hóa khác đều có thể được khai thác. Việc đào hay khai thác Bitcoin dựa trên một thuật toán đồng thuận được gọi là Proof of Work (PoW).

Proof of Work (PoW) là cơ chế đồng thuận blockchain đầu tiên được tạo bởi Satoshi Nakamoto. Cơ chế này được Satoshi Nakamoto giới thiệu trong sách trắng về Bitcoin, xuất bản vào năm 2008. Tóm lại, PoW xác định cách mạng lưới blockchain đạt được sự đồng thuận giữa tất cả những người tham gia mà không cần bên trung gian thứ ba. Nó thực hiện điều này bằng cách yêu cầu sức mạnh tính toán lớn để vô hiệu hóa các tác nhân xấu.

Như chúng ta đã thấy, các giao dịch trên mạng PoW được xác thực bởi các thợ đào. Để giành quyền khai thác khối tiếp theo, các thợ đào cạnh tranh nhau bằng dùng các phần cứng khai thác chuyên dụng để giải các câu đố mật mã phức tạp. Thợ đào đầu tiên tìm ra giải pháp hợp lệ sau đó có thể phát khối giao dịch của họ lên blockchain và nhận phần thưởng khối.

Tùy vào mạng khai thác, số lượng tiền mã hóa trong phần thưởng khối sẽ thay đổi . Ví dụ: trên blockchain Bitcoin, một thợ đào thành công có thể nhận được 6,25 BTC từ mỗi phần thưởng khối (tính từ tháng 12/2021). Số lượng BTC trong phần thưởng khối giảm một nửa sau mỗi 210.000 khối (khoảng bốn năm một lần) do cơ chế giảm một nửa của nó.

Không có một phương pháp duy nhất để khai thác hay đào tiền mã hóa. Thiết bị và quy trình thay đổi khi phần cứng và thuật toán đồng thuận mới xuất hiện. Thông thường, các thợ đào sử dụng các máy tính chuyên dụng để giải các phương trình mật mã phức tạp. Chúng ta hãy xem xét một số loại máy đào phổ biến nhất.

Khai thác bằng Bộ xử lý trung tâm (CPU) là việc sử dụng CPU của máy tính để thực hiện các chức năng băm theo yêu cầu của PoW. Trong những ngày đầu Bitcoin ra mắt, chi phí và rào cản gia nhập để khai thác là khá thấp. Khó khăn khi khai thác có thể được xử lý bởi một CPU thông thường, vì vậy bất kỳ ai cũng có thể cố gắng khai thác BTC và các loại tiền mã hóa khác.

Tuy nhiên, khi nhiều người bắt đầu khai thác hơn và tỷ lệ băm của mạng tăng lên, việc khai thác có lãi ngày càng trở nên khó khăn hơn. Trên hết, sự gia tăng của phần cứng khai thác chuyên dụng với sức mạnh tính toán lớn hơn đã khiến việc khai thác bằng CPU gần như là điều không thể. Ngày nay, khai thác bằng CPU không còn là một lựa chọn khả thi, vì tất cả các thợ đào đều sử dụng các phần cứng chuyên dụng.

Bộ xử lý đồ họa (GPU) được thiết kế để xử lý song song một loạt các ứng dụng. Mặc dù chúng thường được sử dụng cho trò chơi điện tử hoặc kết xuất đồ họa, nhưng chúng cũng có thể được sử dụng để khai thác tiền mã hóa.

GPU tương đối rẻ và linh hoạt hơn so với phần cứng khai thác ASIC chuyên dụng. Một số altcoin có thể được khai thác bằng GPU, nhưng mức độ hiệu quả lại phụ thuộc vào thuật toán khai thác và độ khó của chúng.

Mạch tích hợp dành riêng cho ứng dụng (ASIC) được thiết kế để phục vụ một mục đích cụ thể. Với tiền mã hóa, nó đề cập đến phần cứng chuyên dụng được phát triển để tập trung vào việc đào tiền. Khai thác bằng thiết bị ASIC có hiệu quả cao nhưng khá tốn kém.

Khai thác hay đào tiền mã háo là một cuộc cạnh tranh khốc liệt. Để khai thác có lợi nhuận, bạn cần sở hữu phần cứng đào mạnh mẽ. Vì các máy đào ASIC có công nghệ khai thác tiên tiến hơn, chi phí của một đơn vị sẽ cao hơn nhiều so với CPU hoặc GPU. Ngoài ra, những tiến bộ liên tục trong công nghệ ASIC nhanh chóng làm cho các mô hình ASIC cũ không có lãi, có nghĩa là chúng cần thường xuyên được thay thế. Điều này làm cho việc đào tiền mã hóa bằng thiết bị ASIC trở thành một trong những cách khai thác tốn kém nhất, ngay cả khi không bao gồm chi phí điện.

Vì phần thưởng khối được cấp cho thợ đào thành công đầu tiên nên xác suất tìm được mã băm chính xác là cực kỳ nhỏ. Những thợ đào chỉ sở hữu một tỷ lệ nhỏ sức mạnh khai thác có ít cơ hội để tự mình khám phá ra khối tiếp theo. Các hội thợ đào cung cấp một giải pháp cho vấn đề này.

Hội thợ đào là các nhóm thợ đào cùng tổng hợp tài nguyên của họ (sức mạnh băm) để tăng xác suất giành được phần thưởng khối. Khi hội tìm thành công một khối, các thợ đào sẽ chia đều phần thưởng cho tất cả mọi người trong nhóm, theo số lượng công việc đã đóng góp.

Các hội thợ đào có thể mang lại lợi ích cho từng thợ đào về chi phí phần cứng và điện, nhưng sự thống trị của họ trong việc đào tiền mã hóa làm dấy lên lo ngại về một cuộc tấn công 51% vào mạng blockchain.

Khai thác/đào tiền mã hóa là một phần quan trọng của Bitcoin và các blockchain dùng cơ chế đồng thuận PoW khác. Quá trình này giúp cho mạng blockchain an toàn và các đồng tiền mới được phát hành một cách ổn định. Khai thác/đào tiền mã hóa có những lợi ích và hạn chế nhất định. Lợi ích rõ ràng nhất là bạn có thể có một nguồn thu nhập tiềm năng từ phần thưởng khối. Tuy nhiên, lợi nhuận khai thác có thể bị ảnh hưởng bởi một số yếu tố, bao gồm chi phí điện và giá cả trên thị trường. Vì vậy, không có gì đảm bảo rằng bạn sẽ kiếm được lợi nhuận. Trước khi tham gia đào tiền mã hóa, bạn nên tự nghiên cứu và đánh giá tất cả các rủi ro tiềm ẩn.