Thuật toán đào Bitcoin là gì?

Thuật toán đào Bitcoin là gì?

Như đã biết, Bitcoin là phần thưởng cho các thợ mỏ sau khi họ cùng tham gia giải một bài toán để đào ra khối Bitcoin mới. Vậy, thuật toán đào Bitcoin mà các thợ mỏ thực hiện là gì?

Một trong những đặc tính khiến mọi người ưa chuộng Bitcoin là tính khan hiếm. Nguồn cung lưu thông của đồng tiền này bị giới hạn ở mức 21 triệu, cùng với số Bitcoin thưởng cho mỗi khối mới được đào thành công giảm dần theo thời gian. Đồng Bitcoin cuối cùng dự kiến được đào là vào năm 2140.

Nắm rõ được các vấn đề kỹ thuật của công nghệ đào Bitcoin sẽ giúp chúng ta hiểu rõ hơn về đồng tiền này, để tự bản thân mỗi chúng ta có thể nhận định giá trị nội tại của Bitcoin nằm ở đâu.

Thuật toán đào Bitcoin quy định, mỗi khối mới phát sinh sau một khoảng thời gian đều chứa đựng (1) dữ liệu về các giao dịch trong khoảng thời gian đó, (2) dữ liệu giao dịch được mã hóa một chiều của khối liền trước đó trong Blockchain, và (3) một tham số để giải bài toán.

Thông tin về dữ liệu giao dịch mới phát sinh trong một khoảng thời gian được gói vào trong một khối. Sau đó dữ liệu này được mã hóa bằng thuật toán SHA-256 (Secure Hash Algorithm). Đây là thuật toán có thể mã hóa bất cứ dữ liệu nào thành một chuỗi dài 256 bit, tức 64 ký tự bao gồm chữ và số.

Chuỗi ký tự này sau đó tiếp tục được ghép với dữ liệu mã hóa của một giao dịch kế tiếp bằng thuật toán SHA-256 (gọi là double hashing) cho tới khi chỉ còn hai hashing của những giao dịch trong khối này sau khi mã hóa. Quá trình này tạo thành một cây nhị phân gọi là Merkle Tree.

Tới đây, hai kết quả này được ghép lại và mã hóa để tạo thành một kết quả hashing cuối. Kết quả hashing cuối này gọi là Merkle Root.

Kết quả hashing sau cùng này được ghép cùng các thông tin khác trong khối, bao gồm (1) kết quả hashing của khối trước đó, (2) nhãn thời gian ghi chép việc khởi tạo khối, (3) thông số Nounce là biến chạy ngẫu nhiên có vai trò đặc biệt quan trọng. Các thông số này tiếp tục được mã hóa để tạo ra kết quả hashing cuối cùng của block mới khởi tạo đó.

Kết quả hashing cuối cùng này sẽ có dạng chuỗi ký tự 256 bit (64 ký tự), chẳng hạn có dạng

‘0000641727773245e50c0235823c9ae0785d419499cc5a5dcdff2912a53f0f7f’.

Thuật toán đào Bitcoin quy định, một khối mới chỉ có thể được khởi tạo khi thợ mỏ tìm ra kết quả hashing cuối cùng này nhỏ hơn giá trị mục tiêu (Target Value) được thể hiện trong hệ thống Blockchain.

Chẳng hạn, với Target value mà hệ thống đang duy trì là ‘0000741727773245e50c0235823c9ae0785d419499c488hdj728ja68qjdq76’, thì kết quả hashing ở trên được coi là hợp lệ, bởi vì các ký tự đầu ‘00006’ nhỏ hơn ‘00007’ của Target Value.

Sau đó, kết quả này sẽ ngay lập tức được chuyển tới các khối khác trong mạng lưới để xác nhận. Sau khi có trên 50% số khối trong blockchain xác nhận kết quả, khối mới chính thức được tạo thành.

Nếu như kết quả chưa hợp lệ, tham số động Nounce sẽ được thay đổi ngẫu nhiên cho tới khi nào có một thợ mỏ tìm được tham số thỏa mãn tiêu chí hệ thống đặt ra, đó là kết quả hashing nhỏ hơn Target Value của hệ thống. Khi đó khối mới sẽ được tạo thành, và thợ mỏ khai thác được khối đó sẽ được thưởng một số lượng Bitcoin nhất định.

Như vậy, ‘bài toán’ mà các thợ phải giải chính là việc tìm ra tham số Nounce thỏa mãn tiêu chí của hệ thống. Khi số lượng miner càng lớn, hệ thống sẽ tự động điều chỉnh Target Value thấp xuống để đảm bảo thời gian để tạo thêm một khối mới duy trì ở khoảng 10 phút.

Quá trình tìm kiếm tham số Nounce ngẫu nhiên này gọi là ‘Proof of Work’ (Bằng chứng công việc), rất tốn kém điện năng để duy trì năng lực tính toán của hệ thống, khiến cho Bitcoin được cho là có giá trị, bởi việc tìm kiếm thêm các đồng Bitcoin mới sẽ ngày càng tốn kém nguồn lực điện năng.

Toàn bộ quá trình những người tham gia mạng lưới cùng tìm kiếm tham số Nounce để tạo ra kết quả hashing hợp lệ này nhằm xác nhận việc tạo thành các khối mới, hay chính là việc xác nhận các giao dịch mới, được gọi là đào Bitcoin. Như vậy, toàn bộ lượng điện năng khổng lồ mà các thợ mỏ đang tiêu thụ được sử dụng để chạy các phép toán ngẫu nhiên, một việc không có nhiều ý nghĩa.

Một số người chỉ trích việc này làm tiêu tốn nguồn lực của quốc gia. Giáo sư John Quiggin thuộc Đại học Queensland đã tính ra rằng, cứ nửa giờ, mạng lưới Bitcoin sử dụng một lượng điện năng gần tương đương với lượng điện các hộ gia đình bình thường tại Mỹ dùng trong một năm, với giả định các hộ gia đình bình thường tại Mỹ tiêu thụ điện năng từ 10.000 tới 12.000 kWh/năm.

Một số người khác cho rằng, đặc tính tiêu tốn nguồn lực này khiến cho Bitcoin thực sự là một tài sản có giá trị, bởi việc tạo ra cryptocurrency này khá tốn kém chi phí.

Với những người giao dịch Bitcoin thông thường, việc hiểu được thuật toán đào Bitcoin sẽ phần nào giúp nhận thức đầy đủ hơn về đồng tiền này. Qua đó, mỗi người sẽ có đánh giá khách quan về việc Bitcoin thực sự có giá trị hay không.

BÌNH LUẬN

WORDPRESS: 0