Nội dung

  • Giới thiệu

  • Thuật toán đồng thuận và tiền điện tử

  • Các loại thuật toán đồng thuận

    • Bằng chứng công việc (PoW)

    • Bằng chứng cổ phần (PoS)

  • Các thuật toán đồng thuận khác

  • Cân nhắc cuối cùng


Giới thiệu

Thuật toán đồng thuận là một cơ chế cho phép người dùng hoặc máy phối hợp trong cài đặt phân tán. Nó phải đảm bảo rằng tất cả các thành viên của một hệ thống có thể đồng ý về một nguồn sự thật duy nhất, ngay cả khi một số thành viên thất bại. Nói cách khác, hệ thống phải có khả năng chịu lỗi (xem thêm: Dung sai lỗi Byzantine là gì?).

Trong một thiết lập tập trung, một thực thể duy nhất có quyền lực trên hệ thống. Trong hầu hết các trường hợp, cô ấy có thể thực hiện các thay đổi theo ý muốn – không có hệ thống quản trị phức tạp nào để đạt được sự đồng thuận giữa nhiều quản trị viên. 

Trong một môi trường phi tập trung, nó khá khác biệt. Giả sử chúng ta đang làm việc với một cơ sở dữ liệu phân tán – làm cách nào để chúng ta đạt được thỏa thuận về những mục cần thêm?

Vượt qua thách thức này trong một môi trường mà những người xa lạ không tin tưởng lẫn nhau có lẽ là bước phát triển quan trọng nhất mở đường cho blockchain. Trong bài viết này, chúng ta sẽ thấy các thuật toán đồng thuận quan trọng như thế nào đối với hoạt động của tiền điện tử và sổ cái phân tán.


Thuật toán đồng thuận và tiền điện tử

Trong tiền điện tử, số dư của người dùng được ghi lại trong cơ sở dữ liệu – chuỗi khối. Điều cần thiết là tất cả người dùng (hay chính xác hơn là tất cả các nút/nút) đều duy trì một bản sao cơ sở dữ liệu giống hệt nhau. Nếu không, sẽ có thông tin mâu thuẫn, làm suy yếu toàn bộ mục đích của mạng tiền điện tử.

Mật mã khóa công khai đảm bảo rằng người dùng không thể tiêu tiền của người khác. Tuy nhiên, vẫn cần có một nguồn sự thật duy nhất mà những người tham gia mạng lưới tin tưởng để xác định xem tiền đã được chi tiêu hay chưa.

Satoshi Nakamoto, người tạo ra Bitcoin, đã đề xuất một hệ thống Bằng chứng công việc để điều phối những người tham gia. Chúng tôi sẽ sớm giải thích cách PoW hoạt động – hiện tại, chúng tôi sẽ xác định một số đặc điểm chung của các thuật toán đồng thuận khác nhau hiện có.

Trước tiên, chúng tôi yêu cầu người dùng muốn thêm khối (chúng tôi sẽ gọi họ là người xác thực) cung cấp cổ phần. Cổ phần là một loại giá trị mà người xác nhận phải đưa ra để ngăn cản họ hành động không trung thực. Nếu họ gian lận, họ sẽ mất giá trị tiền cược. Ví dụ về đặt cược bao gồm sức mạnh tính toán, tiền điện tử hoặc thậm chí là danh tiếng. 

Tại sao họ lại mạo hiểm nguồn tài nguyên của mình? Ngoài ra còn có phần thưởng. Nói chung, phần thưởng là tiền điện tử gốc của giao thức và được tạo thành từ phí do người dùng khác trả, đơn vị tiền điện tử mới được tạo hoặc cả hai.

Mục cần thiết cuối cùng là tính minh bạch. Chúng ta cần có khả năng phát hiện khi ai đó gian lận. Lý tưởng nhất là việc sản xuất khối sẽ tốn kém, nhưng việc xác nhận của bất kỳ người dùng nào sẽ rẻ. Điều này đảm bảo rằng người xác thực được kiểm tra liên tục bởi người dùng thông thường.


Các loại thuật toán đồng thuận

Bằng chứng công việc (PoW)

Proof of Work (PoW) là cha đỡ đầu của các thuật toán đồng thuận công nghệ blockchain. Nó lần đầu tiên được triển khai bằng Bitcoin, nhưng khái niệm này đã xuất hiện được một thời gian. Trong Bằng chứng công việc, người xác thực (được gọi là người khai thác) băm dữ liệu họ muốn thêm cho đến khi tạo ra giải pháp hợp lệ cụ thể.

Hàm băm là một chuỗi các chữ cái và số dường như ngẫu nhiên được tạo khi bạn gửi dữ liệu thông qua hàm băm. Tuy nhiên, nếu bạn gửi lại cùng một dữ liệu, bạn sẽ luôn có cùng một kết quả. Tuy nhiên, nếu bạn chỉ thay đổi một chi tiết, kết quả băm của bạn sẽ hoàn toàn khác.

Nhìn vào kết quả đầu ra, không thể biết thông tin nào đã được nhập vào hàm. Do đó, có thể chứng minh rằng bạn đã biết về một phần dữ liệu hoặc thông tin trước một thời điểm nhất định. Bạn có thể cung cấp cho ai đó một hàm băm và khi bạn tiết lộ dữ liệu sau này, họ có thể gửi dữ liệu đó thông qua chức năng để xác nhận rằng kết quả đầu ra sẽ giống nhau.

Trong Proof of Work, giao thức thiết lập các điều kiện liên quan đến điều gì làm cho một khối hợp lệ. Ví dụ, có thể có một điều kiện cho biết chỉ một khối có hàm băm bắt đầu bằng 00 mới hợp lệ. Cách duy nhất để người khai thác tạo ra một khối phù hợp với điều kiện này là thử các đầu vào khác nhau. Họ có thể điều chỉnh các tham số trong dữ liệu của mình để mỗi lần tạo ra một kết quả khác nhau cho đến khi nhận được hàm băm chính xác. 

Trên các blockchain lớn, mức độ khó cực kỳ cao. Để cạnh tranh với các công cụ khai thác khác, bạn sẽ cần một kho chứa đầy phần cứng băm chuyên dụng (ASIC) để có cơ hội tạo ra một khối hợp lệ.

Khi bạn khai thác, tiền đặt cọc của bạn là chi phí của máy móc và lượng điện cần thiết để chạy chúng. ASIC (mạch tích hợp dành riêng cho ứng dụng) được xây dựng có mục đích, vì vậy chúng không có mục đích sử dụng nào khác ngoài việc khai thác tiền điện tử. Cách duy nhất để bạn thu hồi khoản đầu tư ban đầu của mình là khai thác, điều này mang lại phần thưởng đáng kể nếu bạn thêm thành công một khối mới vào chuỗi khối.

Kiểm tra xem bạn có thực sự tạo một khối hợp lệ hay không là một quá trình rất đơn giản đối với mạng. Ngay cả khi bạn đã thử hàng nghìn tỷ kết hợp để có được hàm băm chính xác, bạn chỉ cần gửi dữ liệu của mình thông qua hàm một lần. Nếu dữ liệu của bạn tạo ra hàm băm hợp lệ, nó sẽ được chấp nhận và bạn sẽ nhận được phần thưởng. Nếu không, mạng sẽ từ chối hàm băm và bạn sẽ lãng phí thời gian và điện năng.


Bằng chứng cổ phần (PoS)

Bằng chứng cổ phần (PoS) đã được đề xuất trong những ngày đầu của Bitcoin như một giải pháp thay thế cho Bằng chứng công việc. Trong hệ thống PoS, không có khái niệm về thợ đào, phần cứng chuyên dụng và không cần tiêu thụ năng lượng lớn. Tất cả những gì bạn cần là một chiếc máy tính thông thường.

À, thực ra không chỉ có thế. Một số nỗ lực vẫn còn cần thiết. Trong PoS, bạn không cung cấp tài nguyên bên ngoài (như điện hoặc phần cứng), mà là nguồn nội bộ – tiền điện tử. Các quy tắc khác nhau tùy thuộc vào giao thức, nhưng nhìn chung người dùng cần duy trì số tiền tối thiểu để đủ điều kiện nhận đặt cược.

Từ đó, bạn khóa tiền của mình trong một ví (chúng không thể di chuyển được khi bạn đang đặt cược). Thông thường, có sự đồng thuận giữa những người xác thực về giao dịch nào sẽ được chèn vào khối tiếp theo. Theo một cách nào đó, bạn đặt cược vào khối nào sẽ được chọn. Giao thức sẽ chọn một trong các khối ứng cử viên.

Nếu khối của bạn được chọn, bạn sẽ nhận được một phần phí giao dịch tùy thuộc vào giá trị cổ phần của bạn. Bạn càng khóa được nhiều tiền, bạn sẽ nhận được càng nhiều phần thưởng. Nhưng nếu bạn cố gắng gian lận bằng cách đề xuất các giao dịch không hợp lệ, bạn sẽ mất một phần (hoặc toàn bộ) giá trị tiền đặt cược của mình. Vì vậy, chúng tôi có cơ chế tương tự như PoW – hành động trung thực sẽ có lợi hơn hành động không trung thực.

Nói chung, tiền mới không được tạo ra làm phần thưởng cho người xác nhận. Do đó, tiền tệ gốc của blockchain phải được phát hành theo cách khác. Điều này có thể được thực hiện thông qua đợt phân phối ban đầu (tức là ICO hoặc IEO) hoặc bằng cách khởi chạy giao thức dưới dạng PoW, sau đó chuyển sang hệ thống PoS.

Cho đến nay, Proof of Stake thuần túy chỉ thực sự được triển khai trong các loại tiền điện tử nhỏ hơn. Do đó, vẫn chưa rõ liệu nó có thể đóng vai trò thay thế khả thi cho PoW hay không. Mặc dù về mặt lý thuyết thì có vẻ đúng nhưng thực tế lại rất khác. 

Sau khi PoS được triển khai trên mạng có giá trị lớn, hệ thống sẽ trở thành sân chơi của lý thuyết trò chơi và các khuyến khích tài chính. Bất kỳ ai có bí quyết “hack” hệ thống PoS có thể sẽ không làm điều đó nếu họ không kiếm được lợi nhuận từ nó – vì vậy cách duy nhất để tìm hiểu xem đó có phải là một hệ thống khả thi hay không là đánh giá mạng đang hoạt động trong thực tế.

Chúng ta sẽ sớm thấy PoS được thử nghiệm trên quy mô lớn – Casper sẽ được triển khai như một phần của chuỗi nâng cấp cho mạng Ethereum (gọi chung là Ethereum 2.0).


Các thuật toán đồng thuận khác

Proof of Work và Proof of Stake là những thuật toán đồng thuận được thảo luận nhiều nhất. Nhưng có rất nhiều loại khác, tất cả đều có ưu điểm và nhược điểm riêng. Kiểm tra các bài viết sau đây:

  • Bằng chứng công việc bị trì hoãn là gì?

  • Thuật toán đồng thuận Leased Proof of Stake

  • Bằng chứng ủy quyền là gì?

  • Bằng chứng đốt cháy là gì?

  • Bằng chứng ủy quyền về cổ phần là gì?

  • Đồng thuận lai PoW/PoS


Cân nhắc cuối cùng

Các cơ chế để đạt được sự đồng thuận là rất quan trọng đối với hoạt động của các hệ thống phân tán. Nhiều người tin rằng sự đổi mới lớn nhất của Bitcoin là việc sử dụng Proof of Work để cho phép người dùng đồng ý về một loạt thông tin được chia sẻ.

Ngày nay, các thuật toán đồng thuận không chỉ củng cố hệ thống tiền kỹ thuật số mà cả các chuỗi khối, cho phép các nhà phát triển chạy mã trên mạng phân tán. Hiện tại, chúng đại diện cho nền tảng của công nghệ blockchain và rất quan trọng đối với khả năng tồn tại lâu dài của các mạng hiện có khác nhau.

Trong tất cả các thuật toán đồng thuận, Proof of Work vẫn chiếm ưu thế. Một giải pháp thay thế đáng tin cậy và an toàn hơn vẫn chưa được đề xuất. Có rất nhiều nghiên cứu liên quan đến việc phát triển các giải pháp thay thế cho PoW và chúng tôi có thể sẽ có nhiều đề xuất hơn trong những năm tới.