Nội dung
Proof of Work là gì? Giải thích PoW dễ hiểu nhất
Giải thích thuật toán đồng thuận Proof of Work, thuật toán Bitcoin và nhiều đồng tiền mã hóa khác đang sử dụng. Tìm hiểu ngay cùng Coinvn.
Bản chất và cách vận hành của Blockchain chính là thuật toán, và thuật toán đồng thuận Proof of Work chính là thuật toán mà Bitcoin đang sử dụng. Nếu bạn đang tìm hiểu về thị trường tiền mã hóa cũng như ứng dụng của Blockchain thì đây chính là bài viết dành cho bạn. Cùng Coinvn tìm hiểu về thuật toán mà Bitcoin và nhiều đồng tiền khác đang sử dụng nhé!
Khái niệm PoW ban đầu được giới thiệu bởi Cynthia Dwork và Moni Naor vào năm 1993 nhưng có thời hạn chính thức vào năm 1999 bởi Markus Jakobsson và Ari Juels. Satoshi Nakamoto “cha đẻ” Bitcoin đã ứng dụng và đề cập đến thuật toán Blockchain này trong White paper của Bitcoin từ những ngày đầu xuất hiện. Được dùng để ngăn chặn việc giao dịch bị trùng lặp trên Blockchain. Thuật toán Proof of Work được sử dụng để xác nhận các giao dịch, tạo ra các khối mới và giúp hình thành nên chuỗi khối lớn trong Blockchain. Đây cũng là cơ sở để các “thợ đào” cạnh tranh hoàn thành các giao dịch trên mạng sau khi giải quyết yêu cầu về thuật toán, sau đó “thợ đào” sẽ được thưởng một khoản coin theo yêu cầu.
Trong giao dịch trên mạng lưới, mỗi giao dịch tạo ra không có hiệu lực ngay lập tức. Các giao dịch này chỉ được thực hiện khi được đưa vào Blockchain. Blockchain là một cơ sở dữ liệu lớn vì vậy người dùng có thể tra cứu nếu có sự lưu chuyển các coin thuộc Blockchain đó.
Ví dụ trực quan vì sao PoW quan trọng:
Trong một nhóm người nhỏ từ A đến Z ( 24 người) , có phát sinh giao dịch như sau:
Mỗi khi trong nhóm phát sinh một giao dịch, điều này sẽ được ghi lại trong sổ cái. Từ đây mọi người trong nhóm có thể thấy được giao dịch nguồn coin từ B chuyển cho C được xuất phát từ A và có thể không cho phép điều này. Tuy nhiên hãy thử tưởng tượng với 10000 người trong nhóm, sẽ là một vấn đề mỗi khi có giao dịch diễn ra vì không ai tin tưởng người lạ quản lý sổ cái. Giải pháp từ PoW xuất hiện và PoW sẽ đảm bảo rằng người dùng không thể sử dụng coin mà họ không có quyền sử dụng. Bằng cách áp dụng Lý thuyết trò chơi và cryptography, thuật toán PoW sẽ khả dụng và cho phép bất kỳ ai cập nhật Blockchain theo các quy tắc của hệ thống.
Thuật toán Blockchain PoW yêu cầu “thợ đào” (người tạo ra khối) phải sử dụng tài nguyên của mình như máy tính để giải quyết:
Hàm băm (Hash function): Giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu.
Phân tích nhân tử số nguyên: Là việc phân tách một hợp số thành một tích của các số nguyên nhỏ hơn giúp hệ thống Public-Key an toàn hơn.
Giao thức hướng dẫn bài toán: là một Giao thức mật mã để giảm sự từ chối của các cuộc tấn công lớp ứng dụng.
PoW bắt buộc phải giải quyết các vấn đề này để phòng chống Spam cũng như các đợt hack DDOS.
Proof of Work hoạt động trong Bitcoin network. Bitcoin là một loại tiền mã hoá hoạt động trên Blockchain như 1 sổ cái. 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 PoW. Đặ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 “Avalanche effect” (hiệu ứng tuyết lở), chỉ cần 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. Dù 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. Việc chỉ tạo ra hàm băm nào 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“, Bitcoin Network đặt ra một mức độ “difficulty” nhất định. Cài đặt này được điều chỉnh để một khối mới được “đào” – đượ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.
Sự bất khả thi của việc các node gian lận trong các giao dịch nhờ vào các vấn đề phức tạp mà node phải giải quyết cũng như thời gian và công sức được bỏ ra.
Có thể xác minh dễ dàng sau khi một node tạo ra block và các node khác dựa vào đó để đưa ra kết quả.
Thuật toán Proof of Work đã được áp dụng vào rất nhiều các đồng tiền mã hoá:
Bitcoin: Là tiền mã hoá PoW đầu tiên và phổ biến nhất. Đây là đồng tiền giới thiệu khái niệm Proof-of-Work vào thế giới tiền mã hoá.
Ethereum: Đã hoạt động dựa trên sự đồng thuận của PoW kể từ khi được tạo ra lần đầu tiên. Tuy nhiên, nhóm nghiên cứu đằng sau tiền mã hoá đã làm việc để chuyển sang PoS (Ethereum 2.0)
Litecoin: Là một bản sao nhẹ hơn của Bitcoin
Bitcoin Cash: tương tự như Litecoin, Bitcoin cash là một bản sao của Bitcoin. Do đó, nó xác thực các giao dịch dựa trên PoW.
Monero: Loại tiền mã hoá hướng đến quyền riêng tư mà XMR cũng có thể khai thác được, do mô hình đồng thuận PoW của nó.
ZCash: trở nên phổ biến nhờ zk-SNARK và cũng sử dụng PoW.
Ethereum Classic: Một bản sao của Ethereum, nó hiện đang sử dụng PoW và không có ý định chuyển sang PoS, trái ngược với Ethereum.
Trên đây là những kiến thức cơ bản về thuật toán Blockchain Proof of Work. Hi vọng qua bài viết này bạn có thể biết thêm những kiến thức bổ ích và hẹn gặp bạn ở những bài viết tiếp theo. Coinvn hân hạnh đồng hành cùng bạn trong quá trình tìm hiểu về lĩnh vực tiền mã hoá đầy hấp dẫn này.