*

Proof-of-work là gì?

Proof of work ̣(PoW) là thuật toán đồng thuận đầu tiên được tạo ra trong mạng Blockchain. Được sử dụng để xác nhận giao dịch và sản xuất các block mới trong chuỗi.

Bạn đang xem: Proof of work là gì

Hay còn gọi là bằng chứng công việc. Thuật toán Pow là một phần thiết yếu của quá trình khai thác tiền điện tử. Đây là một mô hình đồng thuận cơ bản của Bitcoin và Bitcoin chính là tiền điện tử đã tiên phong trong việc sử dụng PoW. Theo đó, nó được thiết kế bởi chính Satoshi Nakamoto.

PoW yêu cầu những người sở hữu các máy tính trong mạng phải giải một bài toán phức tạp để có thể thêm một block (khối) vào chuỗi.Tuy nhiên, không dễ để có câu trả lời cho vấn đề toán học.

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 block trong một mạng. Giải quyết vấn đề này được gọi là khai thác/đào (minning) và “miner” (thợ đào) chính là các node tham gia cạnh tranh với nhau để xác thực các giao dịch và nhận phần thưởng trong tiền điện tử.

Bài toán phức tạp trong blockchain là gì?

Cách giải quyết bài toán

Proof-of-Work hoạt động như một bài toán phức tạp. Nó đòi hỏi rất nhiều nỗ lực tính toán để giải. Có một số yếu tố giúp giải quyết bài toán này, đó là:

Hash Function (hàm băm): Thuật ngữ các bạn nghe cũng nhiều đúng không. 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 DoS. 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ể. Trường hợp này, có thể gọi là “Cách tìm chuỗi tương đương của chuỗi giá trị hàm băm”.

Với sự tăng trưởng của chuỗi, vô số trở ngại xuất hiện và các thuật toán đòi hỏi sức mạnh băm (hash power) bổ sung để giải quyết các vấn đề này. Nên đáp án của bài toán PoW này chính là “hàm băm” hay “hash”.

Lí do cần đến sự phức tạp

Các bài toán khó giải quyết mất rất nhiều thời gian cho việc hình thành khối (block). Vì thế độ khó không nên quá phức tạp. Vấn đề này làm cho các giao dịch bị đọng lại mà không được thực hiện và dẫn đến công việc bị ngưng lại trong một quy trình.

Thời gian giải quyết nhanh hay chậm sẽ ảnh hưởng đến việc tạo block. Và sẽ trở nên vô nghĩa nếu như không làm việc đó trong một thời gian nhất định. Tuy nhiên bạn đặt vấn đề về mặt trái của việc này là: Nếu bài toán quá dễ. Nó làm cho mạng có thể dễ dàng bị truy cập với các cuộc tấn công DoS và spam.

Đáp án của những vấn đề này cũng nên dễ xác minh và kiểm tra. Vì không phải tất cả các node trong mạng có thể phân tích nếu tính toán là chính xác.Và điều cuối cùng nhưng không kém phần quan trọng là sự tin tưởng. Bạn sẽ phải tin tưởng quyết định các node khác và đây là điểm mà blockchain chứng minh tính minh bạch của nó.

Cách triển khai PoW trong Blockchain

PoW trong Blockchain được triển khai như sau: Các “miner” tìm cách giải một bài toán liên quan đến thử thách tính toán để tạo ra các block mới và bắt đầu xác nhận giao dịch.

Trước tiên các node phải tìm giải pháp cho vấn đề thông qua sức mạnh tính toán. Điều này có nghĩa là những node có sức mạnh tính toán cao nhất có khả năng tìm ra giải pháp cho vấn đề toán học cao nhất.

Sau đó quá trình xác minh các giao dịch trong block sẽ được thêm vào. Tổ chức các giao dịch này theo trình tự thời gian trong block và thông báo block mới được khai thác cho toàn bộ mạng (quá trình này không tốn nhiều năng lượng và thời gian). Phần tiêu thụ năng lượng đang giải quyết vấn đề toán học khó khăn để liên kết block mới với block cuối cùng trong blockchain.

Bạn sẽ thấy hash của block sau có chứa hash của block trước đó. Việc này làm tăng tính bảo mật cũng như xây dựng một block hợp lệ.

Xem thêm: Vải Tuyết Mưa Là Gì, Tìm Hiểu Về Vải Thun Tuyết Mưa

*

Đối mới các “miner” (thợ mỏ) sau khi giải được bài toán do máy chủ (network sever) đề ra. Các node trên mạng sẽ xác nhận đáp án được gửi lên và cuối cùng nhận thưởng:

*

Tại sao Proof-of-work thành công trên blockchain

PoW khá thành công vào lúc này vì các lí do như sau:

Thứ nhất để có được giải pháp cho vấn đề toán học là khá khó khăn. Do đó, các node cần phải dành thời gian trong các tính toán phức tạp. Nguồn cung cấp cho sức mạnh tính toán khá chặt chẽ và điều này có nghĩa là rất ít người có thể truy cập nó.Đây cũng là lý do đằng sau sự bất khả thi của việc các node gian lận trong các giao dịch.Thứ hai PoW thành công vì khi một node tạo ra một block, các node khác có thể dễ dàng xác minh quá trình dẫn đến giải pháp cho bài toán.

PoW đối với Bitcoin và các loại tiền điện tử khác

Như đã giới thiệu trong phần khái niệm thì Bitcoin tiên phong trong việc sử dụng PoW. Và cũng là nổi bật nhất. Hệ thống proof-of-work trên mạng bitcoin có tên gọi là hashcash. Nó cho phép thay đổi độ phức tạp của một bài toán, tăng cường bảo mật.

Khi một người khai thác cuối cùng tìm thấy giải pháp phù hợp. Node sẽ phát nó ra toàn bộ mạng cùng một lúc. Sau đó họ nhận tiền điện tử (phần thưởng) được cung cấp bởi PoW.

Tại thời điểm mình viết bài viết này, việc khai thác một block mất 10phút. Mạng bitcoin mang lại cho người khai thác chiến thắng 12,5 bitcoin. Số lượng bitcoin đã giành được một nửa sau mỗi 4 năm hoặc lâu hơn (khái niệm này mọi người nên đọc Halving là gì? để hiểu).

Nền tảng tảng tương tự sử dụng như : Etherum (ETH), Litecoin (LTC), Monero (XMR), Dogecoin(DOGE). Với Bitcoin, kết thúc một quá trình thì Bitcoin mới sẽ được phân phối bởi mạng cho các miner (thợ mỏ) với mỗi block được thưởng.

*

Tại sao phải sử dụng PoW?

Trong quá trình, Proof-of-work giúp bảo vệ mạng chống khỏi tấn công độc hại. Đảm bảo rằng “miner” không thể thêm các block giả vào blockchain. Nếu một người khai thác cố gắng tấn công mạng. Họ sẽ cần sử dụng nhiều tài nguyên cũng như lực lượng máy tính. Nhưng họ sẽ không nhận được phần thưởng (Bitcoin mới được phát hành) mà những miner chân chính đã làm.

Đây không phải là cơ chế đồng thuận duy nhất . Một số loại tiền điện tử sử dụng cơ chế khác, Mỗi loại có những ưu và nhược điểm riêng, mặc dù có cùng mục đích: Cung cấp cách xử lý và xác minh các giao dịch, trong khi vẫn giữ an toàn cho mạng.

Mục đích của Proof-of-work là cung cấp cho các nhà khai thác một động lực để hỗ trợ và bảo mật mạng bằng cách tạo ra lợi nhuận để làm điều đó và khiến cho việc cố gắng hack mạng lưới trở nên bất lợi.

Đánh giá ưu, nhược điểm của Proof-of-work

Ưu điểm

PoW có thể đảm bảo sự an toàn của toàn mạng. Đây là mục đích chính của lý do tại sao nhiều loại tiền điện tử sử dụng PoW. Nếu nhiều node đang cạnh tranh để xác định độ phân giải của vấn đề, thì năng lượng tính toán cần thiết sẽ trở nên cao đến mức chuỗi sẽ trở nên không thể đạt được đối với một hoặc thậm chí một nhóm hacker không quá lớn.Phát hiện những kẻ gửi thư rác (spammers).

Nhược điểm

Tốn thời gian : Người khai thác phải kiểm tra nhiều giá trị nonce để tìm ra giải pháp phù hợp cho bài toán phải giải để khai thác block, đây là một quá trình tốn thời gian.Tiêu thụ tài nguyên :Cần tiêu thụ lượng năng lượng tính toán cao để tìm ra lời giải cho bài toán khó và phức tạp. Nó dẫn đến sự lãng phí tài nguyên quý giá (tiền bạc, năng lượng, không gian, phần cứng).Nó không phải là một giao dịch tức thời. Bởi vì phải mất một thời gian để khai thác, giao dịch và thêm nó vào blockchain để thực hiện giao dịch.Tấn công 51%

Có thể gọi là tấn công số lượng lớn. Đây là trường hợp 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ợ mỏ 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. Một ví dụ điển hình cho loại hình tấn công này như mạng Bitcoin Gold bị hack 18triệu USD vào năm 2018. Và còn nhiều vụ khác mang tên “Tấn công 51%”.

Xem thêm: Attic Là Gì – Nghĩa Của Từ Attic, Từ

Tổng kết

Như vậy là mình đã giới thiệu đến anh em Proof-of-work và chi tiết cách hoạt động. Cũng như mọi vấn đề liên quan đến PoW. Mọi người cùng đọc để biết thêm cách hoạt động của nó trong blockchain. Cũng như có thể đặt vấn đề mình là một thợ đào thì mình sẽ làm gì trong trường hợp này nhé.

Chuyên mục: Hỏi Đáp