Proof of Work (PoW) là gì ?

Bằng chứng công việc (PoW) là gì?

Trước khi đến với khái niệm Proof of Stake (PoS), các bạn có thể nên đọc qua khái niệm về Proof of Stake tại đây

Proof of Stake (PoS) là gì ?

Bằng chứng công việc (Proof of Work-PoW) mô tả một hệ thống yêu cầu một lượng nỗ lực không đáng kể nhưng khả thi để ngăn chặn việc sử dụng sức mạnh tính toán một cách phù phiếm hoặc độc hại, chẳng hạn như gửi email spam hoặc thực hiện các cuộc tấn công từ chối dịch vụ. Khái niệm này sau đó đã được Hal Finney điều chỉnh để đảm bảo tiền kỹ thuật số vào năm 2004 thông qua ý tưởng về “bằng chứng công việc có thể tái sử dụng” bằng cách sử dụng thuật toán băm SHA-256.

Sau khi được giới thiệu vào năm 2009, Bitcoin đã trở thành ứng dụng đầu tiên được áp dụng rộng rãi cho ý tưởng PoW của Finney (Finney cũng là người nhận giao dịch bitcoin đầu tiên). Bằng chứng công việc cũng là nền tảng của nhiều loại tiền điện tử khác, cho phép tạo ra sự đồng thuận an toàn, phi tập trung.

-Bằng chứng công việc (Proof of Work-PoW) là một cơ chế đồng thuận phi tập trung yêu cầu các thành viên của mạng phải nỗ lực giải một câu đố toán học tùy ý để ngăn chặn bất kỳ ai chơi trò chơi hệ thống.
-Bằng chứng công việc được sử dụng rộng rãi trong khai thác tiền điện tử, để xác thực các giao dịch và khai thác các mã thông báo mới.
Nhờ bằng chứng công việc, Bitcoin và các giao dịch tiền điện tử khác có thể được xử lý ngang hàng một cách an toàn mà không cần bên thứ ba đáng tin cậy.
-Bằng chứng về công việc ở quy mô lớn đòi hỏi lượng năng lượng khổng lồ, điều này chỉ tăng lên khi có nhiều thợ đào tham gia vào mạng lưới.

Giải thích bằng chứng công việc

Giải thích này sẽ tập trung vào bằng chứng công việc vì nó hoạt động trong mạng bitcoin. Bitcoin là một loại tiền kỹ thuật số được củng cố bởi một loại sổ cái phân tán được gọi là “blockchain”. Sổ cái này chứa bản ghi của tất cả các giao dịch bitcoin, được sắp xếp theo các “khối” tuần tự, để không người dùng nào được phép chi tiêu bất kỳ khoản tiền nào của họ hai lần. Để ngăn chặn việc giả mạo, sổ cái được công khai, hoặc “được phân phối”; một phiên bản đã thay đổi sẽ nhanh chóng bị những người dùng khác từ chối.

Cách mà người dùng phát hiện giả mạo trong thực tế là thông qua các hàm băm, các chuỗi số dài dùng làm bằng chứng công việc. Đặt một tập hợp dữ liệu nhất định thông qua một hàm băm (bitcoin sử dụng SHA-256) và nó sẽ chỉ tạo ra một hàm băm. Tuy nhiên, do “hiệu ứng tuyết lở”, ngay cả một thay đổi nhỏ đối với bất kỳ phần nào của dữ liệu gốc cũng sẽ dẫn đến một hàm băm hoàn toàn không thể nhận dạng được. Bất kể kích thước của tập dữ liệu gốc là gì, hàm băm được tạo bởi một hàm nhất định sẽ có cùng độ dài. Hàm băm là một hàm một chiều: nó không thể được sử dụng để lấy dữ liệu gốc, chỉ để kiểm tra xem dữ liệu tạo ra hàm băm có khớp với dữ liệu gốc hay không.

Chỉ tạo ra bất kỳ hàm băm nào cho một tập hợp các giao dịch bitcoin sẽ là điều tầm thường đối với một máy tính hiện đại, vì vậy để biến quá trình thành “công việc”, mạng bitcoin đặt ra một mức độ “khó khăn” nhất định. Cài đặt này được điều chỉnh để một khối mới được “khai thác” – được thêm vào blockchain bằng cách tạo hàm băm hợp lệ – khoảng 10 phút một lần. Việc đặt độ khó được thực hiện bằng cách thiết lập “mục tiêu” cho hàm băm: mục tiêu càng thấp, tập hợp các hàm băm hợp lệ càng nhỏ và càng khó tạo ra. Trong thực tế, điều này có nghĩa là một hàm băm bắt đầu bằng một chuỗi số 0 rất dài.

Ví dụ về Bằng chứng Công việc

Bằng chứng công việc yêu cầu một máy tính tham gia ngẫu nhiên vào các hàm băm cho đến khi nó đạt được kết quả đầu ra với số lượng số 0 đứng đầu tối thiểu chính xác. Ví dụ: băm cho khối # 429818, được khai thác vào ngày 14 tháng 9 năm 2016, là 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Phần thưởng khối cho lần băm thành công đó là 12,5 BTC.

Khối đó sẽ luôn chứa 2.012 giao dịch chỉ liên quan đến hơn 1.000 bitcoin, cũng như tiêu đề của khối trước đó. Nếu ai đó cố gắng thay đổi số tiền giao dịch thậm chí là 0,000001 bitcoin, hàm băm kết quả sẽ không thể nhận dạng được và mạng lưới sẽ từ chối nỗ lực gian lận.

Bằng chứng công việc (Proof of Work-PoW) hoạt động như thế nào ?

Cuốn sổ của chúng ta ở ví dụ trên là blockchain. Nhưng chúng ta không thêm các giao dịch từng cái một – thay vào đó, chúng ta gộp chúng thành các khối. Chúng ta thông báo các giao dịch với mạng, sau đó những người dùng tạo một khối sẽ đưa chúng vào diện một khối ứng viên. Các giao dịch sẽ chỉ được coi là hợp lệ khi khối ứng viên trở thành một khối được xác nhận, có nghĩa là nó đã được thêm vào blockchain.
Tuy nhiên, việc thêm vào một khối không rẻ. Proof of Work yêu cầu một thợ đào (người dùng tạo khối) sử dụng một số tài nguyên của chính họ để được hưởng đặc quyền. Tài nguyên đó là sức mạnh tính toán, được sử dụng để băm dữ liệu khối cho đến khi tìm thấy lời giải cho câu đố.
Băm dữ liệu khối có nghĩa là bạn chuyển nó qua một hàm băm để tạo một block hash. Block hash hoạt động giống như “dấu vân tay” – nó là nhận dạng cho dữ liệu đầu vào của bạn và là duy nhất đối với mỗi khối.
Hầu như không thể đảo ngược một block hash để lấy dữ liệu đầu vào. Tuy nhiên, khi biết một đầu vào thì việc xác nhận rằng hash liệu có chính xác là dễ dàng. Bạn chỉ cần gửi đầu vào qua hàm và kiểm tra xem đầu ra có giống nhau không.

Trong Proof of Work, bạn phải cung cấp dữ liệu mà có hash khớp với các điều kiện nhất định. Nhưng bạn không biết làm thế nào để thực hiện. Tùy chọn duy nhất của bạn là đưa dữ liệu của bạn qua một hàm băm và kiểm tra xem nó có khớp với các điều kiện không. Nếu không, bạn sẽ phải thay đổi dữ liệu của mình một chút để có được hash khác. Việc thay đổi ngay cả một ký tự trong dữ liệu của bạn sẽ dẫn đến một kết quả hoàn toàn khác, do đó, không có cách nào để dự đoán đầu ra có thể là gì.

Kết quả là, nếu muốn tạo một khối, chính là bạn đang chơi một trò đoán. Bạn lấy thông tin về tất cả các giao dịch muốn thêm và một số dữ liệu quan trọng khác, sau đó băm tất cả chúng lại với nhau. Nhưng vì tập dữ liệu của bạn sẽ không thay đổi, bạn cần thêm một phần thông tin biến thiên. Nếu không, bạn sẽ luôn thu về hash giống như đầu ra. Dữ liệu biến thiên này được đặt tên là một nonce. Đó là một con số mà bạn sẽ thay đổi sau mỗi lần thử, vì vậy bạn sẽ nhận được một hash khác nhau mỗi lần. Và đây là những gì chúng ta gọi là đào.
Tóm lại, đào là quá trình thu thập dữ liệu blockchain và băm nó cùng với một nonce cho đến khi bạn tìm thấy một hash cụ thể. Nếu bạn tìm thấy một hash thỏa mãn các điều kiện được đặt ra bởi giao thức, bạn có quyền phát khối mới lên mạng. Tại thời điểm này, những người tham gia khác của mạng sẽ cập nhật blockchain của họ để bao gồm khối mới.

Đối với các đồng tiền mã hóa lớn hiện nay, các điều kiện rất khó để thỏa mãn. Tỉ lệ băm càng cao trên mạng, càng khó để tìm ra một hash hợp lệ. Điều này được thực hiện để đảm bảo rằng các khối mới không được tìm ra quá nhanh.
Như bạn có thể tưởng tượng, việc cố gắng đoán số lượng lớn hash có thể tốn kém tài nguyên trên máy tính của bạn. Bạn đang tiêu tốn các chu trình tính toán và điện năng. Nhưng giao thức sẽ thưởng cho bạn bằng tiền mã hóa nếu bạn tìm ra một hash hợp lệ.
Hãy tóm tắt lại những gì chúng ta biết cho đến nay:

-Đào là tốn kém.
-Bạn sẽ được thưởng nếu tạo ra được một khối hợp lệ.
-Biết một đầu vào, người dùng có thể dễ dàng kiểm tra hash của mình

Những người dùng không tham gia đào có thể xác minh rằng một khối là hợp lệ hay không mà không tiêu tốn nhiều sức mạnh tính toán.
Mọi thứ vẫn tiến triển tốt. Nhưng nếu bạn cố gắng gian lận thì sao? Điều gì sẽ ngăn bạn đưa một loạt các giao dịch gian lận vào khối và tạo ra một hash hợp lệ?

Đó là trường hợp dẫn đến sự ra đời của mật mã hóa khóa công khai. Chúng ta sẽ không đi sâu trong bài viết này, nhưng bạn có thể tìm hiểu qua bài Mật mã khóa công khai là gì? để có một cái nhìn toàn diện về nó. Nói tóm lại, chúng ta sử dụng một số thủ thuật mã hóa rành mạch cho phép bất kỳ người dùng nào xác minh xem liệu ai đó có quyền chuyển tiền mà họ đang cố gắng chi tiêu hay không.
Khi bạn tạo một giao dịch, bạn ký nó. Bất cứ ai trên mạng đều có thể so sánh chữ ký của bạn với chìa khóa công khai, của bạn và kiểm tra xem chúng có khớp không. Họ cũng sẽ kiểm tra xem liệu bạn có thực sự có thể chi tiêu tiền của mình hay không và tổng số tiền đầu vào của bạn có cao hơn tổng số tiền đầu ra của bạn hay không (tức là bạn không chi tiêu nhiều hơn số tiền bạn có).
Bất kỳ khối nào bao gồm một giao dịch không hợp lệ sẽ bị mạng tự động từ chối. Việc cố gắng gian lận sẽ rất tốn kém cho bạn. Bạn sẽ lãng phí tài nguyên của mình mà không có bất kỳ phần thưởng nào.

Trong vấn đề này, Proof of Work thể hiện ưu điểm: Nó khiến cho việc gian lận trở nên tốn kém, nhưng lại có lợi khi hành động một cách trung thực. Bất kỳ thợ đào có lý trí nào cũng sẽ tìm kiếm ROI, vì vậy họ có thể được kỳ vọng sẽ hành xử theo cách đảm bảo doanh thu.

Câu hỏi thường gặp về Proof of Work

Bằng chứng công việc có nghĩa là gì?

PoW yêu cầu các nút trên mạng cung cấp bằng chứng rằng chúng đã sử dụng sức mạnh tính toán (tức là hoạt động) để đạt được sự đồng thuận theo cách phi tập trung và ngăn chặn các tác nhân xấu vượt qua mạng.

Bằng chứng công việc xác thực giao dịch tiền điện tử như thế nào?
Công việc tự nó là tùy ý. Đối với Bitcoin, nó liên quan đến các lần lặp lại các thuật toán băm SHA-256. Tuy nhiên, “người chiến thắng” của một vòng băm sẽ tổng hợp và ghi lại các giao dịch từ mempool vào khối tiếp theo. Bởi vì “người chiến thắng” được chọn ngẫu nhiên tỷ lệ với công việc đã hoàn thành, nó khuyến khích mọi người trên mạng hành động trung thực và chỉ ghi lại các giao dịch thực sự.

Tại sao tiền điện tử cần bằng chứng công việc?
Bởi vì chúng được phân cấp và ngang hàng theo thiết kế, các blockchain như mạng tiền điện tử yêu cầu một số cách để đạt được cả sự đồng thuận và bảo mật. Bằng chứng công việc là một trong những phương pháp làm cho việc cố gắng vượt qua hệ thống mạng trở nên quá tốn tài nguyên. Các cơ chế bằng chứng khác cũng tồn tại ít tốn tài nguyên hơn, nhưng có các nhược điểm hoặc sai sót khác, chẳng hạn như bằng chứng cổ phần (PoS) và bằng chứng cháy. Nếu không có cơ chế bằng chứng, mạng và dữ liệu được lưu trữ bên trong nó sẽ dễ bị tấn công hoặc đánh cắp.

Bitcoin có sử dụng bằng chứng công việc không?
Đúng. Nó sử dụng thuật toán PoW dựa trên hàm băm SHA-256 để xác thực và xác nhận các giao dịch cũng như phát hành bitcoin mới vào lưu thông.

Bằng chứng cổ phần (PoS) khác với PoW như thế nào?
PoS là một cơ chế đồng thuận chỉ định ngẫu nhiên nút sẽ khai thác hoặc xác thực các giao dịch khối theo số lượng tiền mà nút đó nắm giữ. Càng nhiều mã thông báo được giữ trong ví, thì càng có nhiều sức mạnh khai thác được cấp cho nó một cách hiệu quả. Mặc dù PoS ít tốn tài nguyên hơn nhiều, nhưng nó có một số lỗ hổng khác bao gồm khả năng bị tấn công 51% vào các altcoin nhỏ hơn và khuyến khích tích trữ mã thông báo và không sử dụng chúng.

Comments (No)

Leave a Reply