Proof of work (PoW) in Blockchain

Thảo luận trong 'ACM/Programming' bắt đầu bởi krone, 29/05/18, 09:05 PM.

  1. krone

    krone Moderator Thành viên BQT

    Tham gia: 26/07/16, 03:07 PM
    Bài viết: 243
    Đã được thích: 123
    Điểm thành tích:
    43
    Proof-of-work (PoW)

    Đây là thuật toán phổ biến nhất được sử dụng bởi các loại tiền tệ như Bitcoin và Ethereum, mỗi loại có sự khác biệt riêng.


    Trước khi bắt đầu thì sẽ có một khái niệm được thể hiện cụ thể dành cho những người chưa có kiến thức nhiều về kỹ thuật như sau:

    Một “hash function” là một hàm bất kì có thể được sử dụng để ánh xạ dữ liệu có kích thước tuỳ ý đến dữ liệu có kích thước cố định.

    Nếu “hash function” được bảo mật đúng cách, output của nó không thể phân biệt được sự ngẫu nhiên.

    Với thuật toán Proof-of-work, một node để có thể được bầu lên làm node tiếp theo có thể chọn khối kế tiếp được thêm vào blockchain, node đó phải thực hiện tìm ra một giải pháp cho một vấn đề về toán học cụ thể.

    Và bài toán cụ thể đó là:

    Cho một dữ liệu X, tìm một số n chẳng hạn như băm của n được nối vào kết quả X là một số nhỏ hơn Y.

    Bởi một hash function (hay còn gọi là hàm băm) được sử dụng có độ an toàn về mặt mã hoá. Cách duy nhất tìm ra đáp án cho bài toán đó là sử dụng kỹ thuật bruteforce (có nghĩa là thử mọi kết quả có thể xảy ra). Nói cách khác, ở một xác suất nào đó, một node phải có một sức mạnh tính toán hợp lí (hashpower). Những node đó còn gọi là “MINERS”.

    Thuật toán trên khá thành công và dựa vào những đặc tính sau đây để phát triển:

    - Rất khó để tìm ra đáp án để giải quyết bài toán.

    - Nếu đáp án được đưa ra, chúng ta dễ dàng xác minh rằng kết quả đó là đúng

    Bất cứ khi nào một block mới được khai thác, các miners sẽ nhận được một phần thưởng tương ứng với block đó, từ đó khuyến khích khai thác. Trong thuật toán PoW, các node khác sẽ xác minh tính hợp lệ của block mới được tạo ra bằng cách kiểm tra xem hàm băm của dữ liệu block có nhỏ hơn số được đặt ra trước hay không.

    Do nguồn cung cấp năng lượng để thực hiện tính toán bị hạn chế nên các miners được khuyến khích không gian lận trong việc tính toán. Tấn công mạng vào blockchain sẽ tốn nhiều chi phí về phần cứng, năng lượng và lợi nhuận khai thác bị mất.

    Hình ảnh minh hoạ cách bitcoin và bất kỳ loại coin nào khác sử dụng PoW để ngăn cản các hành vi mang tính rủi ro.
    [​IMG]
    Proof-of-work cung cấp sự bảo mật cần thiết, và đã được chứng minh là hoạt động khá tốt cho đến nay. Tuy vậy, PoW tiêu thụ khá lớn năng lượng:
    [​IMG]
     

    Các file đính kèm:

    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    DDos and Sugi_b3o like this.