Proof-of-work là gì?
Proof of work là gì?
Được dịch là bằng chứng công việc là một trong những cơ chế đồng thuận để đạt được thỏa thuận trên mạng blockchain để xác nhận giao dịch và sản xuất các khối mới cho chuỗi. Với Proof of work, các thợ mỏ cạnh tranh với nhau để xác thực các giao dịch và nhận thưởng. Xác suất được chọn để xây dựng khối tiếp theo được liên kết với sức mạnh tính toán.
ví dụ: Trong một hầm mỏ kim cương cứ 10 phút sẽ luôn có 6.25 bitcoin ( thời điểm 08/06/2020), vậy nếu có 100 máy đào tốc độ ngang nhau, như vậy xác xuất của 1 máy là 1% /10 phút để có được 6.25 bitcoin. Như vậy bạn sẽ kiếm được 6.25 bitcoin sau 10.000phút. (việc phần thưởng này phục thuộc vào số lượng máy đào cùng tham gia hay còn gọi là tổng sức mạnh tình toán).
Proof-of-work (PoW) là một thuật toán đồng thuận cho các mạng blockchain là mô hình đồng thuận cơ bản của Bitcoin. Bitcoin là loại tiền điện tử tiên phong trong việc sử dụng PoW.
Ở cấp độ cao, Proof-of-work dựa vào việc chuyển đổi năng lượng điện thành trọng lượng kỹ thuật số blockchain, nên trong quá trình đó, thúc đẩy một cấu trúc khuyến khích tạo ra mạng phân tán chịu lỗi (BFT) . xem chi tiết Hệ thống chịu lỗi Byzantine tại link này : https://bitmainvietnam.com/he-thong-chiu-loi-byzantine-bft/
Proof-of-work dựa vào một câu đố toán học để giải quyết một giá trị dưới một ngưỡng cụ thể (nonce) tạo ra khối phát tiếp theo lên mạng.
Các miner (Nhà khai thác) sản xuất khối tiếp theo được chọn theo định dạng giống như xổ số tương ứng trực tiếp với sức mạnh tính toán đóng góp của họ (tức là băm) cho quy trình.
Như Satoshi Nakamoto đã giải thích trong whitepaper Bitcoin:
"Các bằng chứng công việc cũng giải quyết vấn đề xác định tính đại diện trong việc ra quyết định đa số. Nếu đa số dựa trên một phiếu bầu một địa chỉ IP, thì bất kỳ ai cũng có thể phân bổ nhiều IP.
Proof-of-work về cơ bản là một CPU-một phiếu. Quyết định đa số được đại diện bởi chuỗi dài nhất, trong đó có nỗ lực chứng minh công việc lớn nhất được đầu tư vào nó.
Nếu phần lớn sức mạnh của CPU được điều khiển bởi các nút trung thực, chuỗi trung thực sẽ phát triển nhanh nhất và vượt xa mọi chuỗi cạnh tranh".
Chuỗi dài nhất có nhiều công việc nhất, có nghĩa là sức mạnh nhất (nghĩa là băm) đã đóng góp cho nó, làm cho nó trở nên tầm thường để xác định.
Có hai người tham gia chính trong mô hình đồng thuận PoW: miner (máy đào) và người vận hành nút đầy đủ (full node operators).
Thợ mỏ (Miners):
Công cụ khai thác là một thị trường của những người tham gia cạnh tranh để giải quyết để sản xuất khối tiếp theo và phát nó lên mạng, được sản xuất cứ sau 10 phút.
Công cụ khai thác chiến thắng cho mỗi vòng 10 phút được thưởng cả phần thưởng khối (hiện là 6.25 BTC) và phí giao dịch trong khối. Điều này thúc đẩy một hệ thống
khuyến khích cho các nhà khai thác trung thực trong việc truyền bá các khối vì hai lý do chính.
Lý Do Đầu tiên, các công ty khai thác đã đầu tư chi phí vào các thiết bị phần cứng đắt tiền để giải quyết thuật toán khai thác Bitcoin, thông qua nỗ lực giải pháp trong tính toán liên tục, với chi phí năng lượng điện.
Nếu các công ty khai thác hành động độc hại và cố gắng lật đổ quá trình khai thác, làm tổn hại đến uy tín của Bitcoin trong quy trình, khoản đầu tư vào phần cứng của họ sẽ trở nên tốn kém hơn vì ROI ( tỷ lệ lợi nhuận trên đầu tư) bằng BTC được trao từ phần thưởng khối sẽ có giá trị thấp hơn trước.
Dẫn đến lý do thứ hai :
Những người khai thác kiếm được phần thưởng khối của họ trực tiếp bằng BTC, không phải tiền mặt. Do đó, họ đang chuyển đổi một nguồn tài nguyên trong thế giới thực (điện) sang sản xuất BTC, thúc đẩy loại chi phí không thể thu hồi mà nhấn mạnh toàn bộ mô hình bảo mật của Bitcoin. Ngoài ra, blockchain được cấp một dạng giá trị trong thế giới thực do các công ty khai thác sẵn sàng chuyển đổi không chỉ là tiền tệ fiat (dưới dạng phần cứng) mà là tài nguyên thực tế thành sản xuất BTC.
Chính sách phát hành và tiền tệ của Bitcoin sau đó bị ràng buộc với quá trình khai thác, khiến chúng gần như không thể thay đổi khi sức mạnh băm của mạng lưới phát triển theo tỷ lệ tồn tại ngày nay. Bitcoin được phân phối một cách trang nhã từ các công ty khai thác ra thị trường với giá giao ngay Bitcoin vì các công ty khai thác cần bán một số cổ phần của họ để kiếm lợi nhuận và thanh toán hóa đơn chi phí điện và phần cứng.
Full node operators: Các node Quản trị Tổng quát:
Thực thể thứ hai trong PoW là các quản trị node đầy đẩu hoặc người dùng hàng ngày ( full node operators or everyday users) chạy các nút đầy đủ. Các nút đầy đủ là các máy khách phần mềm( software clients) chạy phần mềm Bitcoin tự động xác thực và tuyên truyền (Broadcast) các giao dịch và khối trong mạng.
Sử dụng bằng chứng mật mã và quy tắc đồng thuận Bitcoin, các nhà khai thác nút đầy đủ ( full node operators) là nhịp đập của mạng và là trình xác nhận cuối cùng của trạng thái Mạng. Máy khách nút đầy đủ (Full node clients) cũng có thể là máy khách khai thác (mining clients =other miner) và máy khách (clients =other user) từ chối các khối và giao dịch không hợp lệ trên mạng.
Proof-of-work đã bị chỉ trích vì thiết kế sử dụng nhiều năng lượng và năng lực hiệu suất thấp để thực hiện giao dịch trên chuỗi, nhưng với một số cảnh báo. Ví dụ, phần lớn khai thác Bitcoin, được sản xuất bằng năng lượng tái tạo và cân bằng chi phí chi tiêu năng lượng với giá trị tổng thể và tạo ra sự giàu có của Bitcoin là một nhiệm vụ khó khăn. Bất kể, PoW là một sự đổi mới đáng kể trong thiết kế lý thuyết trò chơi và tính toán.
Mô hình Proof-of-work của Bitcoin là một biện pháp bảo mật là sự hợp lưu của các khuyến khích lý thuyết trò chơi, điện toán phân tán, đồng thuận xã hội, kinh tế thị trường và bằng chứng mật mã. Chính sự đổi mới trao quyền cho một blockchain hoạt động với sự đồng thuận an toàn, bền vững, phân tán và Bitcoin, tồn tại hơn một thập kỷ là bằng chứng sâu sắc về điều đó.
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): 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ệ.
Quy trình làm việc Pow : Đố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: