Giao thức Proof of Work (Bằng chứng công việc) là gì?


Proof of Work là một giao thức có mục đích chính là ngăn chặn các cuộc tấn công không gian mạng như cuộc tấn công DDoS (Tấn công từ chối dịch vụ phân tán – Distributed Denial Of Service) có mục đích làm cạn kiệt nguồn của hệ thống máy tính bằng cách gửi nhiều yêu cầu giả mạo, khiến các trang web, dịch vụ trực tuyến, trở nên quá tải, người dùng gặp khó khăn, hay thậm chí không thể truy cập vào các trang web, dịch vụ này.
Khái niệm Proof of Work đã tồn tại trước khi có khái niệm về Bitcoin. Satoshi Nakamoto đã áp dụng kỹ thuật này cho đồng tiền số của mình, tạo nên một cuộc cách mạng hóa các giao dịch truyền thống được thiết lập trước đó.
Trên thực tế, khái niệm PoW ban đầu được Cynthia Dwork và Moni Naor đưa ra năm 1993, nhưng từ “Proof of Work” đã được Markus Jakobsson và Ari Juels đặt ra trong một tài liệu xuất bản năm 1999.
Nhưng, trở lại ngày hôm nay, Proof of Work có lẽ là ý tưởng lớn nhất đằng sau WhitePaper Bitcoin của Nakamoto – được xuất bản vào năm 2008 – bởi vì nó cho phép sự đồng thuận không tín nhiệm và phân tán.

Proof of work và việc khai thác

Proof of Work là một yêu cầu để xác định sức mạnh tính toán máy tính đắt tiền, còn được gọi là khai thác, cần phải được thực hiện để tạo ra một nhóm các giao dịch không tín nhiệm mới (cái gọi là khối) trên một sổ cái phân tán gọi là Blockchain.
Khai thác phục vụ cho hai mục đích:
  • Xác minh tính hợp lệ của một giao dịch, hoặc tránh cái gọi là chi tiêu gấp đôi;
  • Đồng tiền tệ kỹ thuật số mới thưởng cho thợ đào thực hiện nhiệm vụ trước đó.
Khi bạn muốn thiết lập một giao dịch, điều này sẽ xảy ra phía sau:
  • Các giao dịch được nhóm lại thành một khối;
  • Người khai thác xác minh rằng các giao dịch trong mỗi block là hợp lệ;
  • Để làm như vậy, thợ đào phải giải quyết một “câu đố toán học” được gọi là bài toán bằng chứng công việc (PoW);
  • Phần thưởng được trao cho thợ đào đầu tiên giải quyết hết từng “câu đố toán học” trong khối;
  • Các giao dịch đã được xác minh sẽ được lưu trữ trong Blockchain công khai.
Bài toán có một tính năng chính đó là không đối xứng. Công việc trên thực tế chỉ ở độ khó vừa phải từ phía người yêu cầu và phải dễ kiểm tra mạng. Ý tưởng này còn được gọi là chức năng chi phí CPU, câu đố của khách hàng, câu đố tính toán hoặc chức năng đánh giá CPU.
Tất cả các thợ đào đều phải cạnh tranh để là người đầu tiên tìm ra giải pháp cho vấn đề toán học cho các khối đã ứng cử. 
Đây chính là vấn đề không thể giải quyết theo cách nào khác hơn là thông qua sức mạnh của máy tính dùng để đào coin. 
Vì vậy việc này đòi hỏi sự nỗ lực cùng đầu tư lớn để có thể cạnh tranh khi đào tiền thuật toán.
Khi một người thợ đào cuối cùng tìm ra được giải pháp đúng đắn, anh ta sẽ thông báo cho toàn bộ mạng cùng một lúc và nhận được giải thưởng là đồng tiền thuật toán đang đào. Đồng tiền thuật toán này sẽ được cung cấp bởi giao thức.
Từ quan điểm kỹ thuật, quá trình khai thác là một phép băm đảo ngược. Nó được xác định bởi một số (nonce). Do đó thuật toán băm mã hóa của dữ liệu khối cho kết quả theo một ngưỡng nhất định.
Ngưỡng này – hay còn được gọi là độ khó, là thứ để quyết định tính cạnh tranh của việc khai thác: càng nhiều sức mạnh tính toán được thêm vào mạng thì thông số này tăng lên tương đương với việc tăng số lượng trung bình các phép tính cần thiết để tạo một khối mới.
Phương pháp này cũng làm tăng chi phí của việc tạo ra khối và khiến các thợ đào buộc phải nâng cao hiệu quả của hệ thống khai thác để tiếp tục đào, duy trì sự cân bằng kinh tế tích cực. Việc cập nhật thông số sẽ xảy ra khoảng 14 ngày một lần, mỗi khối mới sẽ được tạo ra sau mỗi 10 phút.
Như vậy, bạn cần phải có một lượng lớn sức mạnh tính toán, nhiều hơn sức mạnh mà một máy tính phổ thông sở hữu. Điều đó sẽ khiến cộng đồng thợ mỏ gom cụm lại. Những thợ mỏ nhỏ lẻ sẽ không cạnh tranh được với thợ mỏ lớn hơn.
Dẫn đến sự độc quyền khai thác mỏ từ các thợ mỏ lớn. Vì với sức mạnh tính toán lớn thì xác suất tìm ra đáp án nhanh và chính xác cao hơn những thợ mỏ nhỏ lẻ. Điều này đi ngược lại với lý tưởng của một hệ thống Blockchain phân cấp và có thể dẫn đến một cuộc tấn công 51%.

Tấn công 51%

Một cuộc tấn công 51% xảy ra khi một thợ mỏ hay một pool đào kiểm soát được 51% sức mạnh tính toán trong mạng lưới. Khi đó họ sẽ thao túng toàn bộ giao dịch và gian lận. Bằng cách tạo ra những khối giả mạo, họ hủy bỏ hoàn toàn những khối hợp lệ mà cộng đồng khai thác được.
Đó là lý do giao thức Proof of Stake (PoS) ra đời, hay còn gọi là giao thức bằng chứng cổ phần. Khi một ai đó sở hữu 51% cổ phần nguồn cung của một loại tiền tệ kỹ thuật số cụ thể, dĩ nhiên họ sẽ không tự tấn công loại tiền tệ đó.
Ngoài ra không ai dám bỏ tài sản ra mua 51% nguồn cung của một đồng tiền, rất tốn kém. Về mặt lý thuyết thì bất kỳ cuộc tấn công nào vào loại tiền tệ kỹ thuật số đó chỉ làm mất giá trị cổ phần mà họ sở hữu.
Tìm hiểu thêm