Thuật toán Proof of Work là gì?
Thuật toán Proof of Work là gì?
Thuật toán Proof of Work được hiểu nôm na là thuật toán hoạt động dựa trên việc chứng minh công việc và sức mạnh xử lý, bên nào có khả năng hoạt động tốt hơn sẽ dành phần thắng. Các bạn cần lưu ý rằng, hầu hết các tài liệu và bài viết liên quan tới tiền ảo và công nghệ Blockchain người ta thường sử dụng từ viết tắt thành “thuật toán PoW” hơn là tên viết đầy đủ Proof of Work.
Thuật toán này khá mới mẻ, lần đầu tiên người ta biết đến nó là vào năm 2008 trên hệ thống Bitcoin. Bộ thuật toán này được tạo thành từ các khối (Block) và những mắt xích (Chain), những mắt xích này có tác dụng như một sự kết nối giúp cho các Block được liên kết có trật tự và không bị xáo trộn. Chính vì thế, sau này người ta mới gọi nó là công nghệ Blockchain.
Thuật toán Proof of Work hoạt động như thế nào?
Các giao dịch lẻ tẻ sẽ được gom lại vào một khối với số lượng nhất định, và những khối này sẽ được sắp xếp theo thứ tự thời gian trên mắt xích. Toàn bộ quy trình này sẽ được ghi lại trên một cuốn sổ chung gọi là “Sổ cái phân tán”, bất kỳ ai cũng có thể kiểm tra giao dịch trên cuốn sổ này và nó hiển thị giống nhau mọi lúc mọi nơi. Công việc thu gom và sắp xếp này là của những thợ đào (miner), người nào hoàn thành nhiệm vụ trước sẽ được trả một phần thưởng xứng đáng bằng Bitcoin.
———————————————————————————————————————
Mời các bạn tham gia nhóm thảo luận và nhận bài viết mới tại:
ZALO: https://zaloapp.com/g/msmpuk783
TELEGRAM: https://web.telegram.org/#/im?p=@group_daututienao
FANPAGE: https://www.facebook.com/daututienao.info
———————————————————————————————————————
Để đơn giản và dễ hiểu, mình sẽ đưa ra một ví dụ cơ bản liên quan cuộc sống hàng ngày của chúng ta như việc Tôi gửi cho Bạn một số tiền. Đầu tiên thông tin này sẽ được đưa vào khối (block), sau đó block này được neo vào dây xích (chain) theo thứ tự ai gửi trước thì neo trước, ai gửi sau thì neo sau, quá trình này hoàn toàn minh bạch nên Bạn, Tôi và mọi người đều thấy điều này. Mỗi block có dụng lượng không quá 1MB, thuật toán đã quy định như vậy kể từ khi ra đời, còn lý do thì nhiều, bạn nên tìm hiểu thêm về công nghệ sơ khai tạo ra Bitcoin để biết thêm, và một trong số đó liên quan đến vấn đề an toàn và bảo mật.
Những hạn chế của thuật toán Proof of Work
Nghe có rất đơn giản nhưng vấn đề không dừng lại ở đó. Để dễ hình dung, hãy mở rộng ra các lĩnh vực trao đổi dữ liệu data lớn (big data) như giao dịch tài chính (hàng trăm ngàn giao dịch mỗi giây), game thực tế ảo, âm thanh, hình ảnh …v.v. Hiện tại công nghệ blockchain chưa cho phép bạn làm điều đó vì nhiều vấn đề như băng thông, tốc độ xử lý, bảo mật, … Nhưng hy vọng một ngày không xa với sự phát triển mạnh mẽ như hiện nay sẽ cho phép chúng ta làm được điều đó.
Một vấn đề nữa được đặt ra liên quan tới thuật toán khi giao dịch trên mạng lưới blockchain ngày càng nhiều, nếu hai giao dịch xảy ra cùng một thời điểm thì sẽ tạo ra hai block khác nhau đặt lên chain cùng lúc. Câu hỏi đặt ra là cộng đồng xử lý (miner) sẽ chọn khối nào trước và khối nào sau.
Trong tình huống này, thuật toàn proof of work sẽ yêu cầu 2 máy đào “đấu vật” với nhau bằng cách giải một bài toán hóc búa do hệ thống tạo ra, bên nào hoàn thành việc giải bài toán trước thì khối đó sẽ được đưa lên chain, và thợ đào được thưởng Bitcoin. Khối kia thất bại thì bị đập ra và sắp xếp lại vào một khối khác và tiếp tục “đấu vật” với khối kế tiếp, quy trình cứ lặp đi lặp lại cho tới khi mỗi giao dịch được thực hiện xong.
Tương tự, nếu có quá nhiều giao dịch cần phải xử lý nhưng mạng lưới không thực hiện kịp thời sẽ gây ra tình trạng tồn ứ giao dịch và phải xếp hàng chờ tới lượt mình được xử lý. Năm 2017 là một ví dụ, số lượng giao dịch quá lớn khiến mỗi giao dịch có khi mất tới cả ngày để hoàn thành và phí giao dịch đôi lúc lên tới $55. Đây là số tiền thưởng được trả cho chi phí máy móc và thợ đào. Công việc này tốn quá nhiều năng lượng và không để làm gì cả! mục đích của nó là để xếp giao dịch thành 1 hàng ngay ngắn mà thôi.
Một số người còn phàn nàn rằng, mục đích của thuật toán Proof of work tạo ra để làm chậm hệ thống, tốn tiền, thời gian và năng lượng, cũng như yêu cầu máy móc hiện đại để giải các toán hóc búa mà kết quả của nó không có tính thực tiễn, chỉ đơn giản để các máy đấu với nhau. Nhưng đổi lại, sự phức tạp càng cao thì giao dịch càng bảo mật và hệ thống luôn ở trạng thái an toàn. Nhưng phải chịu tình trạng càng đông càng chậm càng đắt. Năm 2018 người ta ước tính, hệ thống Bitcoin sử dụng năng lượng tương đương với một quốc gia, Thụy sỹ. Điều này dường như đang đi ngược lại mục đích ban đầu của Bitcoin là tạo ra hệ thống giao dịch nhanh, ít tốn kém và bảo mật. Chẳng lẽ việc tiêu tốn quá nhiều năng lượng, máy móc chỉ nhằm mục đích giữ cho hệ thống ổn định thôi sao? nghe có vẻ không “xanh sạch” và “bảo vệ môi trường” cho lắm!
Người ta chứng minh được rằng, nếu blockchain PoW có thể phục vụ được tất cả các giao dịch tài chính trên toàn cầu thì con người không thể đủ điện năng cung cấp cho nó!
Đọc thêm: Thuật toán Voting Algorithm là gì?
Đọc thêm: Thuật toán Proof of Stake là gì?
Đọc thêm: Thuật toán Leader Base là gì?
Đọc thêm: Thuật toán Virtual Voting là gì?