Hiểu Nhanh – Cơ Chế Đồng Thuận Proof of Work

Hiểu Nhanh – Cơ Chế Đồng Thuận Proof of Work

Cơ chế đồng thuận là nền tảng của hệ thống blockchain nhưng để hiểu sâu cơ chế đồng thuận, chúng ta cùng nhau đi qua định nghĩa Blockchain là gì?

Giới thiệu về Blockchain

Blockchain (chuỗi khối) phản ánh thế giới thực vì Blockchain thực sự là một khái niệm đơn giản. Hãy cùng tôi lấy một ví dụ để hiểu rõ hơn định nghĩa của Blockchain. Giả sử chúng ta có một cộng đồng nhỏ được gọi là chuỗi khối nhỏ. Trong cộng đồng tồn tại một nền kinh tế mua bán trao đổi hàng hóa. Mỗi khi có một giao dịch sinh ra thì sẽ được kế toán viên của cộng đồng ghi lại trên một mảnh giấy. Cuối ngày, kế toán viên sẽ đến trung tâm của cộng đồng để ghim công khai các trang giao dịch hôm nay vào các giao dịch của ngày hôm trước. Để tránh không bị ai đánh tráo hay loại bỏ, kế toán viên sẽ đánh dấu vân tay để niêm phong vào từng trang. Đó là một chuỗi khối cơ bản theo chiều tuyến tính chứa các giao dịch. Bất cứ ai có thể nhìn và kiểm tra các giao dịch trong quá khứ, thậm chí trong nhiều năm trở lại bất cứ khi nào và bởi vì mỗi một trang đều được niêm phong và in dấu vân tay nên tất cả mọi người đều có thể dễ dàng xác nhận rằng không ai đã giả mạo bất kỳ trang nào vì mỗi trang này đều được thêm vào một cách công khai. Bằng cách đại diện cho việc củng cố sự đồng thuận đã được xác minh theo thời gian, chuỗi này sẽ có hiệu quả về việc lưu trữ lịch sử giao dịch, có thể kiểm chứng và không thể hư hại cho cộng đồng đó. Tuy nhiên, trong một Blockchain thực tế diễn ra cần phải có quy mô rộng hơn. Quay lại về ví dụ minh họa, trong cộng đồng không chỉ có một kế toán viên mà là rất nhiều kế toán viên lập hồ sơ giao dịch và mỗi kế toán viên sẽ cạnh tranh với nhau để đưa các trang giấy chứa giao dịch của mình thành một trong những record được thêm vào, và tất nhiên cũng sẽ có nhiều trung tâm của cộng đồng, mỗi trung tâm đều có lưu trữ các mảnh giấy giao dịch và tất cả đều có thể giao tiếp với nhau. Tuy nhiên cuối cùng thì sẽ chỉ có một chiến thắng được thêm vào thành chuỗi phân phối và được đảm bảo bằng một con dấu vân tay. Nút thắt (Nodes) chính là các kế toán viên cạnh tranh nhau để đưa các giao dịch vào mạng lưới thành các chuỗi khối được phân phối.

Bây giờ ta đi sâu vào tìm hiểu cơ chế đồng thuận, trong đó nổi bật nhất là cơ chế Proof of Work (Bằng chứng công việc)

Giới thiệu cơ bản về Proof of work:

Một khối hợp lệ là bằng chứng của rất nhiều công việc mà các nodes đã cam kết và đồng thuận để tạo ra một chuỗi khối. Nhìn chung, mục đích của cơ chế đồng thuận trong một blockchain là cho phép một nhóm các nodes riêng biệt phân phối quyền cập nhật hệ thống theo một tập hợp các quy tắc cụ thể giữa một tập hợp người tham gia và được đảm bảo an toàn. Để nhớ sâu về Proof of work, chúng ta hãy nghĩ rằng nó là phần thưởng của những thợ đào cầm cây cuốc đi đào ra đồng Bitcoin và việc sở hữu cây cuốc là sức mạnh tính toán của máy tính họ đang có. Nếu bạn sở hữu 10% sức mạnh tính toán của máy tính, bạn sẽ mong đợi được 10% phần thưởng khai thác theo cơ chế ngẫu nhiên của hàm băm. Tuy nhiên hệ thống Proof of work sẽ có những hạn chế như:

Sử dụng một lượng lớn điện năng tiêu thụ cho một mạng lưới lớn và như vậy sẽ khó hỗ trợ khối lượng giao dịch rất lớn, cộng với phí giao dịch cao và phí này sẽ còn tăng cao hơn khi mạng lưới phát triển bởi vì những khoản phí đó phải trả hiệu quả cho tất cả việc sử dụng điện năng đó, cộng với lợi nhuận lớn cho các miners.

Để đi sâu và hiểu rõ hơn, chúng ta cần đi qua khái niệm Mining là gì?

Mining là gì?

Mining là quá trình ghi lại giao dịch đang chờ xử lý bằng cách thêm một Khối mới vào Blockchain thông qua một câu đố toán học. Những người khai thác được thưởng bằng cách nhận các đồng tiền điện tử mới của Blockchain đó. Người khai thác nhận được phần thưởng bằng tiền để xác nhận và khóa các giao dịch trong một khối. Thợ đào là những người tạo ra một khối mới. Các thợ đào đoán số nonce từ một loạt các con số và sau đó thông báo nó với mạng và cho các thợ đào khác biết rằng họ đã giải được câu đố khối này. Người khai thác chiến thắng sẽ nhận được phần thưởng khi thêm một khối mới vào chuỗi. Các thợ đào cần giải quyết một vấn đề toán học khi cố gắng thêm một khối vào blockchain.

Một khối chỉ có thể được thêm vào blockchain nếu hàm băm của nó bắt đầu bằng một số số không nhất định. Dữ liệu khối, khi được băm, tạo ra chữ ký riêng. Khi được băm, khối có thể không tạo ra một chữ ký bắt đầu bằng quá nhiều số 0 liên tiếp. Khi người khai thác băm các thành phần khối khác cùng với một giá trị nonce khác, chuỗi đầu ra được tạo luôn là ngẫu nhiên. Trong quá trình khai thác, một khối được thêm vào blockchain sau khi người khai thác xác nhận khối này và xác nhận nó. Quá trình khai thác không bắt buộc để blockchain tồn tại. Khái niệm Mining là một cách xác thực cho các giao dịch; đó là lý do tại sao hầu hết các blockchain công khai sử dụng nó. Mining xác nhận các giao dịch trước khi chúng xuất hiện công khai và đảm bảo tính minh bạch với mọi người về các giao dịch này.

Ví dụ sau đây sẽ minh họa cách mà mining được thực hiện?

  1. Anna muốn mua sản phẩm từ Bella và dùng Bitcoin
  2. Giao dịch được tạo ra với số Bitcoin và địa chỉ của Bella
  3. Anna dùng Private key và ký vào giao dịch
  4. Giao dịch được thêm vào Block với những giao dịch khác
  5. Block được truyền đến các mining nodes trong mạng lưới
  6. Giao dịch được xác thực bởi các nodes khác trong mạng lưới
  7. Miner thành công sẽ được nhận 1 lượng Bitcoin trả thưởng
  8. Giao dịch hoàn thành, và một block mới được thêm vào Blockchain
  9. Bella nhận được Bitcoin từ Anna

Các loại Mining

Mining được chia làm 2 loại:

Loại 1: Solo Mining

  • Mỗi miner sẽ thiết lập phần cứng và tự đăng ký khai thác.
  • Miner đầu tiên tìm ra giải pháp thông báo cho tất cả những khác rằng anh ta đã tìm ra giải pháp.
  • Trong solo mining, không có sự gián đoạn nào từ các thợ đào khác .
  • Phần thưởng khai thác không cần phải chia sẻ theo nhóm .

Loại 2: Pool Mining

  • Các Miner cùng nhau đóng góp sức mạnh tính toán và khai thác một khối.
  • Các Miner được thưởng bằng cách tính toán đóng góp của họ về mặt cổ phần cho nhóm.
  • Chia sẻ là bằng chứng một phần về công việc được người khai thác gửi cho nhóm có độ khó thấp hơn khối.
  • Có nhiều cách phân phối phần thưởng cho người khai thác: Trả cho mỗi cổ phiếu, Trả cho mỗi cuối cùng N-cổ phiếu, theo tỷ lệ, v.v ..

Chiến lược Mining:

Công việc được thực hiện bởi những người tham gia nhóm được tính toán với số lượng chia sẻ được gửi bởi mỗi người tham gia. Chia sẻ là bằng chứng một phần công việc được người khai thác gửi đến nhóm có độ khó thấp hơn khối. Các thợ đào trong một nhóm có thể đặt độ khó tùy theo phần cứng của họ và có được hiệu suất đầy đủ. Việc phân phối phần thưởng có thể được thực hiện theo nhiều cách, với mỗi nhóm sử dụng cơ chế riêng.

Có rất nhiều phương pháp để phân phối phần thưởng; một số phương pháp phổ biến nhất là:

  • Pay-Per-Share: là một hệ thống trao thưởng trực tiếp, nơi người khai thác được thưởng ngay lập tức trên cơ sở số lượng cổ phiếu được chấp nhận và có thể đổi thành thu nhập ngay lập tức.
  • Tỷ lệ (PROP): Phương pháp này thưởng cho người tham gia khi kết thúc vòng khai thác. Phần thưởng tỷ lệ thuận với số lượng cổ phiếu mà người khai thác sở hữu và tổng số cổ phiếu trong nhóm.
  • Khai thác Bitcoin theo nhóm: Phương pháp này thưởng cho người chơi theo cách tương tự như của hệ thống phần thưởng tỷ lệ, nhưng cổ phiếu có trọng số gắn liền với chúng, với cổ phiếu mới hơn trong vòng có trọng lượng hơn.
  • Pay-per-last-N-share (PPLNS): Tương tự như tỷ lệ, PPLNS thưởng cho các thợ đào trên cơ sở N cổ phiếu cuối cùng, thay vì tất cả các cổ phiếu cho vòng cuối cùng.

Thợ đào là ai?

là những người thực hiện công việc khai thác Bitcoin hoặc các đồng tiền điện tử thực hiện cơ chế Proof-of-Work. Khai thác là quá trình thông qua đó các giao dịch được xác thực và ghi lại trên một sổ cái phân tán được gọi là blockchain. Trong Bitcoin, trung bình, một khối được tạo ra sau mỗi mười phút trong quá trình khai thác. Thợ đào là những máy hoặc người tham gia mạng thực hiện khai thác và họ cạnh tranh để giải thuật toán băm mật mã. Những người khai thác nhận được giải thưởng vì đã thêm các hình thức tiền điện tử mới do mạng phát hành. Hiện tại, 6,25 Bitcoin được tạo với mỗi khối mới và được cấp cho người khai thác của nó. Con số này cứ sau 4 năm lại giảm đi một nửa. Tổng nguồn cung Bitcoin là 21 triệu dự kiến ​​sẽ cạn kiệt vào khoảng năm 2140.

Nhiệm vụ của thợ đào

  • Đồng bộ hóa với mạng
  • Xác thực giao dịch
  • Xác thực khối
  • Tạo một khối mới
  • Thực hiện Proof-of-Work
  • Nhận phần thưởng

Thuật toán khai thác

  • Truy xuất tiêu đề của khối trước đó từ mạng Bitcoin.
  • Tập hợp một tập hợp các giao dịch từ các nhóm giao dịch trên mạng thành một khối được đề xuất.
  • Tính toán hàm băm kép của tiêu đề khối trước đó.
  • Nếu kết quả thấp hơn mục tiêu độ khó hiện tại, PoW sẽ được giải quyết.
  • Nếu giá trị băm kết quả không nhỏ hơn mục tiêu độ khó hiện tại, thì quy trình được lặp lại sau khi tăng số lượng giá trị.

Bài viết vừa rồi đã cùng bạn tìm hiểu về cơ chế đồng thuận bằng chứng công việc (Proof-Of Work). Vào bài tới, chúng ta sẽ cùng đi tìm hiểu cơ chế đồng thuận bằng chứng cổ phần (Proof-Of-Stake).

Leave a Reply

Your email address will not be published.