Bài 12. Việc khai thác Bitcoin hoạt động thế nào?

1

Có hai cách để bạn sở hữu đồng Bitcoin. Thứ nhất là dùng tiền mua, thứ hai là khai thác nó. Vậy khai thác Bitcoin là gì? Và việc khai thác này hoạt động như thế nào?

Khai thác Bitcoin là gì?

Trong các hệ thống tiền tệ truyền thống, chính phủ đơn giản chỉ cần in thêm tiền khi họ cần. Nhưng với đồng tiền điện tử Bitcoin, tiền không được in ra – chúng được khám phá ra. Các máy tính trên khắp thế giới ‘khai thác’ Bitcoin bằng cách ghanh đua với nhau.

Tại sao phải có quá trình khai thác?

Mọi người gửi tiền điện tử Bitcoin cho nhau thông qua mạng Bitcoin, nhưng trừ phi có ai đó lưu trữ một bản ghi tất các giao dịch, không ai có thể theo dõi được việc ai đã chi cái gì. Mạng Bitcoin xử lý việc này bằng cách thu thập tất cả các giao dịch trong một khoảng thời gian nhất định vào một danh sách, gọi là một block. Công việc của các ‘thợ đào’ là xác nhận các giao dịch này, và viết chúng vào một cuốn sổ cái chung.

Tạo mã băm (hash)

Cuốn sổ cái này là một danh sách dài các block, được biết đến với tên gọi ‘Blockchain’. Nó có thể được sử dụng để xem xét bất kỳ giao dịch nào diễn ra giữa các địa chỉ Bitcoin, tại bất kỳ điểm nào của mạng lưới. Mỗi khi một block các giao dịch mới được tạo ra, nó được thêm vào Blockchain, tạo nên một danh sách ngày càng dài của tất cả các giao dịch từng diễn ra trong mạng Bitcoin. Một bản sao cập nhật liên tục được gửi cho tất cả các thành viên để họ có thể biết việc gì đang diễn ra.

Nhưng một cuốn sổ cái chung cần phải đáng tin cậy, và tất cả những việc này đều được lưu trữ bằng kỹ thuật số. Làm sao chúng ta có thể biết chắc rằng Blockchain được bảo vệ an toàn khỏi các can thiệp đến từ bên ngoài? Đây là công việc của các thợ đào.

Khi một block các giao dịch được tạo ra, các thợ đào đưa nó qua một quá trình xử lý. Họ lấy thông tin trong block, và áp dụng một công thức toán học vào đó, biến nó thành một thứ khác. Thứ này ngắn hơn nhiều, trông giống như một chuỗi ngẫu nhiên các ký tự và con số, và được biết đến với tên gọi là một mã băm (hash). Mã băm này được lưu trữ cùng với block tại điểm cuối cùng của Blockchain (tại thời điểm đó).

Các mã băm có những đặc tính rất thú vị. Rất dễ dàng để tạo ra một mã băm từ một bộ các dữ liệu như một block Bitcoin, nhưng gần như không thể tái tạo lại dữ liệu từ mã băm. Và trong khi việc tạo ra một mã băm từ một lượng lớn dữ liệu là rất dễ dàng, mỗi mã băm là duy nhất. Nếu bạn thay đổi chỉ một ký tự trong một block Bitcoin, mã băm của nó sẽ thay đổi hoàn toàn.

Các thợ đào không chỉ sử dụng các giao dịch trong một block để tạo ra mã băm. Một số dữ liệu khác cũng được sử dụng. Một trong số chúng là mã băm của block cuối cùng được lưu trữ trong Blockchain.

Bởi vì mã băm của mỗi block được tạo ra bằng cách sử dụng mã băm của block trước đó, nó trở thành giống như một phiên bản kỹ thuật số của dấu sáp vậy. Nó xác nhận rằng block này – và tất cả các block sau nó – là hợp lệ, bởi vì nếu bạn can thiệp vào nó, mọi người đều sẽ biết.

Nếu bạn cố gắng làm giả một giao dịch bằng cách thay đổi một block đã được lưu trữ trên Blockchain, mã băm của block đó sẽ thay đổi. Nếu ai đó kiểm tra tính xác thực của block này bằng cách chạy hàm băm, họ sẽ phát hiện ra mã băm của nó khác so với mã băm đang được lưu trữ cùng với block này trên Blockchain. Block đó sẽ bị phát hiện là giả ngay lập tức.

Bởi vì mã băm của mỗi block được sử dụng để tạo ra mã băm của block tiếp theo trong chuỗi, can thiệp vào một block sẽ làm cho mã băm của tất cả các block sau nó bị thay đổi. Việc này sẽ tiếp diễn suốt dọc theo chuỗi, và làm thay đổi tất cả mọi thứ.

Cạnh tranh

Đó là cách mà các thợ đào ‘đóng gói’ một block. Họ cạnh tranh với nhau để làm việc này, sử dụng một phần mềm được viết chuyên dùng để khai thác các block. Mỗi khi có ai đó thành công trong việc tạo ra một hash, họ nhận được một phần thưởng là 25 bitcoin (hiện nay đã giảm xuống một nửa chỉ còn 12,5), Blockchain được cập nhật, và mọi người trong mạng đều biết về việc đó. Phần thưởng này là để khuyến khích việc khai thác, và giữ cho các giao dịch được thông suốt.

Vấn đề là việc tạo ra một mã băm từ một bộ các dữ liệu là quá dễ dàng đối với các máy tính hiện nay. Mạng Bitcoin phải làm cho việc đó trở nên kh

ó khăn hơn, nếu không thì mọi người sẽ tạo mã băm cho hàng trăm block giao dịch mỗi giây, và tất cả Bitcoin sẽ bị khai thác hết trong vài phút. Giao thức Bitcoin cố ý làm cho việc này trở nên khó khăn hơn bằng một cơ chế gọi là ‘bằng chứng công việc’ (Proof of Work).

Giao thức Bitcoin sẽ không chấp nhận mọi kiểu mã băm. Nó đòi hỏi mã băm của một block phải theo một kiểu hình nhất định; mã băm cần phải có một số lượng chữ số 0 nhất định đứng trước. Không có cách nào để dự báo một mã băm sẽ trông như thế nào trước khi bạn tạo ra nó, và ngay khi bạn thêm một đoạn dữ liệu đầu vào, mã băm sẽ khác hoàn toàn.

Các thợ đào không được can thiệp vào dữ liệu giao dịch trong một block, họ chỉ được thay đổi dữ liệu họ sử dụng để tạo ra một mã băm khác. Họ làm việc này bằng cách sử dụng một mẩu dữ liệu ngẫu nhiên, gọi là một ‘nonce’. Nonce được sử dụng cùng với dữ liệu giao dịch để tạo ra một mã băm. Nếu mã băm không khớp với kiểu hình yêu cầu, nonce sẽ được thay đổi, và quá trình băm được làm lại từ đầu. Cần rất nhiều lần thử để tìm ra một nonce phù hợp, và tất cả các thợ đào trong mạng lưới đều cùng lúc cố gắng để làm việc đó. Đó là cách mà các thợ đào kiếm được Bitcoin cho bản thân.

Nguồn Coindesk

Được biên tập bởi Peergopeer.com

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here