Trong Blockchain , thuật toán PoW được sử dụng để xác nhận các giao dịch và tạo ra các khối mới cho chuỗi. Với PoW, các thợ đào cạnh tranh với nhau để hoàn thành các giao dịch trên mạng và nhận được phần thưởng.
- 1. Proof-of-Work – PoW là gì ?
- 2. Câu đố toán học (mathematical puzzle) trong thuật toán PoW
- 3. PoW hoạt động như thế nào ?
- 4. PoW thường được triển khai ở đâu ?
- 5. Tại sao lại sử dụng thuật toán đồng thuận PoW ngay từ đầu ?
- 6. Nhược điểm của thuật toán PoW
- 7. 51% attack trong Blockchain của Thuật toán PoW
1. Proof-of-Work – PoW là gì ?
Proof-of-Work, hoặc PoW, là thuật toán đồng thuận ban đầu trong mạng Blockchain.
Trong Blockchain , thuật toán này được sử dụng để xác nhận các giao dịch và tạo ra các khối mới cho chuỗi. Với PoW, các thợ đào cạnh tranh với nhau để hoàn thành các giao dịch trên mạng và nhận được phần thưởng.
Trong một mạng, người dùng gửi cho nhau các mã thông báo kỹ thuật số. Một sổ cái phi tập trung tập hợp tất cả các giao dịch thành các khối. Tuy nhiên, cần cẩn thận để xác nhận các giao dịch và sắp xếp các khối.
Trách nhiệm này thuộc về các nút đặc biệt được gọi là thợ đào và một quá trình được gọi là khai thác .
Các nguyên tắc hoạt động chính là một câu đố toán học phức tạp (mathematical puzzle) và có khả năng dễ dàng chứng minh lời giải.
2. Câu đố toán học (mathematical puzzle) trong thuật toán PoW
Đó là một vấn đề đòi hỏi rất nhiều sức mạnh tính toán để giải quyết.
Có rất nhiều trong số chúng, ví dụ:
- Hash function (hàm băm) hoặc cách tìm đầu vào khi biết đầu ra.
- Integer factorization. Nói cách khác, cách trình bày một số dưới dạng một phép nhân của hai số khác .
- Guided tour puzzle protocol. Nếu máy chủ nghi ngờ một cuộc tấn công DoS, nó yêu cầu tính toán các hash functions (hàm băm), đối với một số nodes theo thứ tự xác định. Trong trường hợp này, đó là vấn đề ‘làm thế nào để tìm một chuỗi các giá trị hàm băm’.
Câu trả lời cho bài toán PoW hoặc phương trình toán học được gọi là hash (hàm băm).
Khi mạng lưới ngày càng phát triển thì càng gặp nhiều khó khăn hơn. Các thuật toán ngày càng cần nhiều hash power (sức mạnh băm) hơn để giải quyết. Vì vậy, mức độ phức tạp của nhiệm vụ là một vấn đề nhạy cảm.
3. PoW hoạt động như thế nào ?
Công việc chính xác và tốc độ của hệ thống Blockchain phụ thuộc vào PoW.
Nhưng vấn đề không nên quá phức tạp. Nếu đúng như vậy, việc tạo khối sẽ mất rất nhiều thời gian. Các giao dịch bị kẹt mà không được thực hiện và kết quả là quy trình làm việc bị treo trong một thời gian. Nếu vấn đề không thể được giải quyết trong một khung thời gian xác định, việc tạo khối sẽ là một điều kỳ diệu.
Nhưng nếu vấn đề quá dễ dàng, nó rất dễ xảy ra các lỗ hổng, các cuộc tấn công DoS và thư rác.
Dung dịch cần được kiểm tra dễ dàng. Mặt khác, không phải tất cả các nút đều có khả năng phân tích nếu các tính toán là chính xác.
Sau đó, bạn sẽ phải tin tưởng các nút khác và nó vi phạm một trong những tính năng quan trọng nhất của Blockchain – tính minh bạch.
Thuật toán PoW hoạt động như thế nào trong Blockchain ?
Các thợ mỏ giải quyết câu đố, hình thành khối mới và xác nhận các giao dịch.
Mức độ phức tạp của một câu đố phụ thuộc vào số lượng người dùng, nguồn điện hiện tại và tải mạng. Hàm băm của mỗi khối chứa hàm băm của khối trước đó, giúp tăng tính bảo mật và ngăn chặn bất kỳ vi phạm khối nào.
Nếu một người khai thác giải được câu đố, thì khối mới sẽ được hình thành. Các giao dịch được đặt trong khối này và được coi là đã xác nhận.
4. PoW thường được triển khai ở đâu ?
Thuật toán Proof-of-Work – PoW được sử dụng trong rất nhiều loại tiền điện tử.
Ứng dụng nổi tiếng nhất của PoW là Bitcoin. Chính Bitcoin đã đặt nền móng cho kiểu đồng thuận này. Câu đố là Hashcash. Thuật toán này cho phép thay đổi độ phức tạp của một câu đố dựa trên tổng sức mạnh của mạng. Thời gian hình thành khối trung bình là 10 phút. Các loại tiền điện tử dựa trên Bitcoin, chẳng hạn như Litecoin , có hệ thống tương tự.
Một dự án lớn khác với PoW là Ethereum . Với hầu hết ba trong số bốn dự án được thực hiện trên nền tảng Ethereum, có thể nói rằng phần lớn các ứng dụng Blockchain sử dụng mô hình đồng thuận PoW.
5. Tại sao lại sử dụng thuật toán đồng thuận PoW ngay từ đầu ?
Các lợi ích chính là phòng thủ chống các cuộc tấn công DoS và tác động thấp của cổ phần đối với các khả năng khai thác.
Phòng thủ khỏi các cuộc tấn công DoS. PoW áp đặt một số giới hạn đối với các hành động trong mạng. Chúng cần rất nhiều nỗ lực để được thực thi. Tấn công hiệu quả đòi hỏi nhiều sức mạnh tính toán và nhiều thời gian để thực hiện các phép tính. Do đó, cuộc tấn công có thể xảy ra nhưng vô ích vì chi phí quá cao.
Khả năng khai thác. Bạn có bao nhiêu tiền trong ví không quan trọng . Điều quan trọng là phải có sức mạnh tính toán lớn để giải các câu đố và hình thành các khối mới. Vì vậy, người nắm giữ số tiền khổng lồ không có trách nhiệm đưa ra quyết định cho toàn bộ mạng lưới.
6. Nhược điểm của thuật toán PoW
Những nhược điểm chính là chi phí lớn, tính “vô dụng” và khả năng tấn công 51%.
Các khoản chi khổng lồ . Khai thác đòi hỏi phần cứng máy tính chuyên dụng cao để chạy các thuật toán phức tạp. Chi phí là không thể quản lý Khai thác chỉ có sẵn cho các nhóm khai thác đặc biệt. Các loại máy chuyên dụng này tiêu tốn lượng điện năng lớn để chạy làm tăng chi phí. Chi phí lớn đe dọa sự tập trung của hệ thống vì nó có lợi. Điều đó dễ dàng nhận thấy trong trường hợp của Bitcoin.
“Sự vô dụng” của các phép tính . Các thợ mỏ làm rất nhiều công việc để tạo ra các khối và tiêu tốn rất nhiều năng lượng. Tuy nhiên, các tính toán của họ không thể áp dụng ở bất kỳ nơi nào khác. Chúng đảm bảo tính bảo mật của hệ thống mạng nhưng không thể áp dụng cho kinh doanh, khoa học hay bất kỳ lĩnh vực nào khác.
7. 51% attack trong Blockchain của Thuật toán PoW
51% Attack, hay còn gọi là majority attack, là một trường hợp khi một 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ó đủ quyền lực để kiểm soát hầu hết các sự kiện trong mạng.
Họ có thể độc quyền tạo ra các khối mới và nhận phần thưởng vì họ có thể ngăn những người khai thác khác hoàn thành các khối.
Họ có thể đảo ngược các giao dịch.
Giả sử Alice đã gửi cho Bob một số tiền bằng cách sử dụng Blockchain. Alice có liên quan đến vụ tấn công 51%, Bob thì không. Giao dịch này được đặt trong khối. Nhưng những kẻ tấn công không cho chuyển tiền. Có một ngã ba xảy ra trong chuỗi.
Hơn nữa, các thợ mỏ tham gia vào một trong các chi nhánh. Và khi chúng có phần lớn sức mạnh tính toán trên chuỗi của chúng chứa nhiều khối hơn.
Trong mạng, nhánh dài hơn vẫn còn và nhánh ngắn hơn bị từ chối. Vì vậy, giao dịch giữa Alice và Bob không diễn ra. Bob không nhận được tiền.
Làm theo các bước này, những kẻ tấn công có thể đảo ngược các giao dịch.
Tấn công 51 phần trăm không phải là một lựa chọn có lợi. Nó đòi hỏi một lượng lớn sức mạnh khai thác . Và một khi nó được hiển thị công khai, mạng được coi là bị xâm phạm, dẫn đến việc loại bỏ người dùng. Điều này chắc chắn sẽ làm giảm giá tiền điện tử. Do đó, tất cả các khoản tiền đều mất giá trị.