Cryptocurrency khai thác mỏ là quá trình trong đó các giao dịch giữa người sử dụng đều được kiểm tra và bổ sung vào blockchain sổ kế toán công cộng. Quá trình khai thác cũng chịu trách nhiệm giới thiệu các đồng tiền mới vào nguồn cung lưu hành hiện tại và là một trong những yếu tố quan trọng cho phép tiền điện tử hoạt động như một mạng phi tập trung ngang hàng mà không cần cơ quan trung ương của bên thứ ba.
Bitcoin là ví dụ phổ biến nhất và được thiết lập tốt về tiền điện tử có thể khai thác, nhưng điều đáng chú ý là không phải tất cả các loại tiền điện tử đều có thể khai thác được. Khai thác Bitcoin dựa trên một thuật toán đồng thuận được gọi là Proof of Work .
Làm thế nào nó hoạt động?
Người khai thác là một nút trong mạng thu thập các giao dịch và tổ chức chúng thành các khối. Bất cứ khi nào giao dịch được thực hiện, tất cả các nút mạng đều nhận được chúng và xác minh tính hợp lệ của chúng. Sau đó, các nút khai thác thu thập các giao dịch này từ nhóm bộ nhớ và bắt đầu tập hợp chúng thành một khối ( khối ứng viên ).
Bước đầu tiên của việc khai thác một khối là băm riêng từng giao dịch được lấy từ nhóm bộ nhớ, nhưng trước khi bắt đầu quá trình, nút khai thác thêm một giao dịch mà chúng tự gửi phần thưởng khai thác (phần thưởng khối). Giao dịch này được gọi là giao dịch coinbase, là giao dịch trong đó tiền xu được tạo ra ‘ngoài luồng không khí’ và trong hầu hết các trường hợp, là giao dịch đầu tiên được ghi lại trong một khối mới.
Sau khi mọi giao dịch được băm, các băm sau đó được tổ chức thành một thứ gọi là Merkle Tree (hoặc cây băm) – được hình thành bằng cách tổ chức các băm giao dịch khác nhau thành từng cặp và sau đó băm chúng. Các kết quả đầu ra sau đó được sắp xếp 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 đến “đỉnh của cây”. Đỉnh của cây còn được gọi là băm gốc (hoặc Merkle root) và về cơ bản là một băm duy nhất đại diện cho tất cả các băm trước đó đã được sử dụng để tạo ra nó.
Băm gốc – cùng với mã băm của khối trước đó và một số ngẫu nhiên được gọi là nonce – sau đó được đặt vào tiêu đề của khối. Sau đó, tiêu đề khối được băm tạo ra một đầu ra dựa trên các phần tử đó (băm gốc, băm của khối trước đó và nonce) cộng với một vài tham số khác. Đầu ra kết quả là băm khối và sẽ đóng vai trò là mã định danh của khối mới được tạo (khối ứng viên).
Để được coi là hợp lệ, đầu ra (khối băm) phải nhỏ hơn một giá trị đích nhất định được xác định bởi giao thức. Nói cách khác, băm khối phải bắt đầu bằng một số số không nhất định.
Giá trị đích – còn được gọi là độ khó băm – 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 và tỷ lệ thuận với lượng công suất băm dành cho mạng.
Do đó, mỗi khi các thợ đào mới tham gia vào mạng lưới 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 các thợ đào quyết định rời khỏi mạng, độ khó băm sẽ giảm xuống, giữ cho thời gian khối không đổi mặc dù có ít sức mạnh tính toán dành riêng cho mạng hơn.
Quá trình khai thác đòi hỏi người thợ mỏ để giữ băm tiêu đề khối hơn và hơn nữa, bằng cách duyệt qua các nonce cho đến khi một trong các thợ mỏ mạng cuối cùng tạo ra một hash khối hợp lệ. Khi một mã băm hợp lệ được tìm thấy, nút sáng lập sẽ phát khối lên mạng. Tất cả các nút khác sẽ kiểm tra xem băm có hợp lệ không và nếu có, hãy thêm khối vào bản sao blockchain của chúng và chuyển sang khai thác khối tiếp theo.
Tuy nhiên, đôi khi xảy ra trường hợp hai người khai thác 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ợ mỏ bắt đầu khai thác khối tiếp theo dựa trên khối mà họ nhận được đầu tiên. 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 dựa trên một trong các khối cạnh tranh. Khối bị bỏ rơi được gọi là khối mồ côi hoặc khối cũ. Các thợ đào của khối này sẽ quay lại khai thác chuỗi của khối chiến thắng.
Nhóm khai thác
Mặc dù phần thưởng khối được cấp cho người khai thác phát hiện ra mã băm hợp lệ đầu tiên, xác suất tìm thấy mã băm bằng một phần của tổng sức mạnh khai thác trên mạng. Những người khai thác với một tỷ lệ nhỏ sức mạnh khai thác có cơ hội rất nhỏ để tự mình khám phá ra khối tiếp theo. Các nhóm khai thác được tạo ra để giải quyết vấn đề này. Nó có nghĩa là nhóm các tài nguyên của các thợ mỏ, những người chia sẻ sức mạnh xử lý của họ qua một mạng, để chia đều phần thưởng cho tất cả mọi người trong nhóm, theo khối lượng công việc mà họ đóng góp vào xác suất tìm thấy khối.