Thuận toán đồng thuận đầu tiên của blockchain chính là Proof of Work. Hãy tìm hiểu Proof of Work là gì qua bài viết sau đây.
Bitcoin là một đồng coin đầu tiên ứng dụng cơ chế Proof of Work. Nhờ một số đặc điểm về hashrate, halving mà Bitcoin đã trở thành đồng tiền vua và một tài sản được nhiều nhà đầu tư quan tâm. Bên cạnh đó, Ethereum cũng sử dụng cơ chế đồng thuận Proof of Work.
Proof of Work là gì?
Proof of Work (PoW) hay còn gọi là Bằng chứng công việc. Đây là một thuật toán đồng thuận đầu tiên của blockchain, được giới thiệu bởi Bitcoin và được sử dụng rộng rãi bởi nhiều đồng tiền điện tử khác nhau trong thị trường.
Thuật toán này được hay được gọi là “đào” và các nút trên mạng được gọi là “thợ đào”. Đây là một phần quan trọng của quá trình khai thác tiền điện tử.
Proof of Work yêu cầu thợ đào phải giải các bài toán mật mã phức tạp để có thể thêm một block vào chuỗi, và sau đó thợ đào sẽ nhận lại phần thưởng dưới dạng coin hay token mới phát hành. Tất nhiên là không dễ dàng để giải các bài toán đó.
Các thợ đào phải cung cấp máy móc, sức mạnh của máy để giải quyết các thuật toán vô cùng phức tạp. Ai có càng nhiều máy, máy càng mạnh, đốt nhiều điện sẽ giải các thuật toán nhanh hơn và chính xác hơn.
Sau đó, hệ thống sẽ chọn ra đáp án tốt nhất. Người nào đưa ra đáp án này sẽ trở thành Validator (người xác nhận). Và người đó có quyền khai thác block mới, xác nhận các giao dịch trong block đó. Kết quả là nhận phần thưởng: coin/token.
Các thành phần giúp giải bài toán mật mã phức tạp trong PoW
- Hash Function (hàm băm): Trong hàm băm giá trị đầu ra đã được biết đến và bạn cần xác định giá trị đầu vào.
- Integer Factorization (phân tích nhân tử số nguyên): Phân tách một số thành một tích của các số nguyên nhỏ hơn. Được sử dụng để làm cho hệ thống mã hóa public-key an toàn hơn.
- Guided tour puzzle protocol (giao thức hướng dẫn giải bài toán ): Trong trường hợp máy chủ (server) nghi ngờ một cuộc tấn công DDoS. Nó yêu cầu tính toán lại các hàm băm, cho một số node theo một thứ tự cụ thể.
Vấn đề đặt ra đó là nếu bài toán mật mã quá khó, sẽ mất rất nhiều thời gian để tìm ra câu trả lời, khiến Block mới không được tạo ra, hệ thống sẽ bị tắc nghẽn, giao dịch không thể thực hiện. Ngược lại, nếu bài toán mật mã quá dễ, hệ thống sẽ dễ bị tấn công, các giao dịch có khả năng bị làm giả
PoW giải quyết vấn đề này bằng một thuật toán điều chỉnh độ khó phù hợp với tốc độ khai thác của các thợ đào, sao cho Block mới sẽ sinh ra trong một khoảng thời gian cố định.
Lý giải vì sao PoW quan trọng
Proof of Work giúp tạo ra một môi trường phi tập trung an toàn, Pow khiến cho việc tấn công vào mạng lưới trở nên khó nhằn hơn. Muốn tấn công vào mạng lưới thì phải có hơn 50 phần trăm sức mạnh máy tính trên khắp thế giới của mạng lưới. Từ đó đem lại sự tin tưởng của thợ đào. Tính cạnh tranh cũng được tăng lên.
Thuật toán sẽ khiến độ khó và dễ được điều chỉnh ở mức độ ổn định. Cho nên nguồn cung ra thị trường sẽ đều, từ đó cũng khuyến khích các thợ đào có tinh thần hơn trong việc đào coin/token.
Proof of Work tạo ra một cơ chế đồng thuận mà ở đó các thợ đào xác nhận giao dịch phải tuân theo để bảo vệ mạng lưới của blockchain nhờ các yếu tố:
- PoW cung cấp cho các thợ đào (miner) một động lực để làm việc thông qua việc trả thưởng cho các block mới. Từ đó các thợ đào phải làm việc một cách có trách nhiệm và thực hiện xác minh các giao dịch một cách đúng đắn. Vì nếu sai thì các node khác sẽ thay thế block của họ và các thợ đào đó sẽ không nhận được phần thưởng.
- Để có thể thành một thành phần trong mạng lưới, các thợ đào cần một dàn máy tính đủ mạnh và một nguồn năng lượng ổn định để có thể giải quyết các bài toán. Giả sử khi một thợ đào tấn công vào chính mạng lưới đó và thành công thì giá đồng coin của blockchain đó sẽ dump từ đó sẽ gây ảnh hưởng xấu đến cho chính người thợ đó.
Xem thêm >>> Mạng ngang hàng (P2P) là gì?
Ưu điểm và nhược điểm của Proof of Work
Ưu điểm
- Đảm bảo sự an toàn của toàn mạng lưới: Rất khó có thể tấn công vào mạng lưới.
- Tạo ra sự minh bạch, tính phi tập trung cho các thông tin trên blockchain
- Tạo sự cạnh tranh, thúc đẩy thợ đào: Với việc thưởng cho các thợ đầu giải quyết block đầu tiên, PoW sẽ khuyến khích các thợ đầu làm việc nghiêm túc, nhanh chóng và chính xác.
Nhược điểm
- Với việc mỗi block chỉ chứa được một số lượng giao dịch và các giao dịch phải chờ sau một khoảng thời gian để block được thành lập để xác nhận giao dịch thì khi mạng lưới ngày càng mở rộng và số lượng giao dịch ngày càng nhiều thì việc giao dịch bị ùn ứ là điều hiển nhiên.
- Không hoàn toàn phi tập trung: Bởi vì phần thưởng chỉ dành cho các thợ đào đầu tiên và các thợ đào khác không có thu nhập nên các thợ đào có xu hướng kết hợp lại với nhau, tạo nên các mining pool để có thể có một sức mạnh đủ lớn để tới đích trước. Khi mining pool quá lớn trên 50% tổng số máy đào thì việc xác minh giao dịch sẽ không còn phi tập trung nữa và có thể bị thao túng bởi chính mining pool đó gây ra tính không mình bạch cho mạng lưới.
- Tốn nguồn năng lượng: Với việc một mạng lưới càng phát triển, số lượng giao dịch ngày càng nhiều thì bài toán ngày càng khó giải. Việc càng nhiều năng lượng hơn để giải bài toán đó là một vấn đề nan giải.
- Các cuộc tấn công 51%. Khi người dùng hoặc một nhóm người dùng kiểm soát phần lớn sức mạnh khai thác. Những kẻ tấn công có đủ sức mạnh để kiểm soát hầu hết các sự kiện trong mạng. Họ có thể độc quyền tạo các block mới và nhận phần thưởng vì họ có thể ngăn các thợ đào khác hoàn thành các block. Và còn có cơ hội đảo ngược tất cả các giao dịch. Ví dụ như mạng Bitcoin Gold bị hack 18 triệu USD vào năm 2018.
Đây là thuật toán đồng thuận đầu tiên góp phần xây dựng mạng lưới phi tập trung trong blockchain. Tuy nhiên nó vẫn còn khá nhiều nhược điểm khi phát triển tới hiện nay như điện năng tiêu thụ và bộ máy đào đồ sộ. Điều đó đã khiến sự ra đời của một thuận toán đồng thuận cải tiến hơn đó chính là Proof of Stake.