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 môi trường phân tán. Nó đảm bảo rằng tất cả các tác nhân trong hệ thống đều đồng ý về một nguồn sự thật duy nhất, ngay cả khi một số tác nhân thất bại. Nghĩa là, hệ thống phải có khả năng chịu lỗi (xem thêm: Giải thích về khả năng chịu lỗi của Byzantine).
Trong một hệ thống tập trung, một thực thể duy nhất cấp quyền và kiểm soát mạng. Trong hầu hết các trường hợp, đơn vị có thể thực hiện các thay đổi khi thấy phù hợp – không có hệ thống quản trị phức tạp để nhiều giám đốc đạt được sự đồng thuận.
Trong một hệ thống phi tập trung, đó là một câu chuyện hoàn toàn khác. Giả sử chúng ta đang làm việc với cơ sở dữ liệu phân tán - làm cách nào để chúng ta thống nhất về dữ liệu nào 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 tham gia 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ẽ hiểu tại sao các thuật toán đồng thuận lại cần thiết cho 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 – blockchain. Điều cần thiết là tất cả mọi người (chính xác là mọi nút) đều duy trì một bản sao cơ sở dữ liệu giống hệt nhau. Nếu không, thông tin xung đột có thể xuất hiện, gây hại cho toàn bộ mạng.
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 nhau. Tuy nhiên, vẫn phải có một nguồn thông tin chính xác duy nhất mà những người tham gia mạng lưới dựa vào để xác định xem tiền đã được chi tiêu hay chưa.
Satoshi Nakamoto, người tạo ra Bitcoin, đã đề xuất hệ thống Proof of Work để điều phối những người tham gia. Chúng ta sẽ sớm xem PoW hoạt động như thế nào – bây giờ hãy xác định một số đặc điểm chung giữa nhiều thuật toán đồng thuận hiện có.
Đầu 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 nhận) cung cấp cổ phần. Đặt cược là một giá trị mà người xác thực phải cam kết để ngăn chặn họ hành động độc hại. Nếu họ gian lận, họ sẽ mất tiền cược. Ví dụ: sức mạnh tính toán, tiền điện tử hoặc danh tiếng của chúng.
Tại sao họ lại mạo hiểm nguồn tài nguyên của mình? Khá đơn giản vì có phần thưởng bị đe dọa. Đây thường là một loại tiền điện tử gốc của giao thức dựa trên phí do người dùng trả, trên các loại tiền điện tử mới được tạo hoặc cả hai.
Điều cuối cùng chúng ta cần là sự minh bạch. Chúng ta cần có khả năng nhận biết khi nào ai đó đang gian lận. Lý tưởng nhất là họ sẽ phải tốn kém để sản xuất các khối nhưng lại rẻ đối với bất kỳ ai xác nhận chúng. Điều này đảm bảo rằng người xác nhận cũng được kiểm soát 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 blockchain. Nó lần đầu tiên được triển khai với Bitcoin, mặc dù khái niệm này đã có từ rất lâu. Trong Bằng chứng công việc, người xác nhận (được gọi là thợ mỏ) băm dữ liệu họ muốn thêm cho đến khi tạo ra giải pháp cụ thể.
Hàm băm là một chuỗi các chữ cái và số ngẫu nhiên được tạo khi chạy hàm băm. Nhưng nếu dữ liệu đầu vào giống nhau thì kết quả đầu ra sẽ giống nhau. Tuy nhiên, sự thay đổi nhỏ nhất sẽ tạo ra một hàm băm hoàn toàn khác.
Dữ liệu ở đầu ra không cho phép chúng ta xác định dữ liệu ở đầu vào. Do đó, đây là một chức năng rất hiệu quả để chứng minh rằng bạn đã biết một phần dữ liệu trong một khoảng thời gian nhất định. Bạn có thể cung cấp cho ai đó hàm băm của họ và khi bạn tiết lộ dữ liệu, người đó có thể chạy dữ liệu đó thông qua hàm để đảm bảo kết quả đầu ra giống nhau.
Trong Bằng chứng công việc, giao thức xác định các điều kiện làm cho một khối hợp lệ. Ví dụ, điều này có thể nói rằng chỉ một khối có hàm băm bắt đầu bằng 00 là hợp lệ. Cách duy nhất để người khai thác tạo ra một khối hợp lệ là dùng vũ lực. Để tạo ra kết quả khác cho đến khi tìm thấy kết quả phù hợp, người khai thác có thể sửa đổi một tham số trong dữ liệu của họ.
Đối với các blockchain lớn nhất, mức độ này rất rất cao. Để cạnh tranh với các thợ mỏ khác, bạn cần có một kho chứa đầy ASIC, phần cứng được thiết kế đặc biệt để tăng cơ hội tạo ra một khối hợp lệ.
Tiền đặt cọc của bạn trong hoạt động khai thác sẽ tương ứng với chi phí của những máy này và lượng điện cần thiết để vận hành chúng. ASIC được thiết kế cho mục đích duy nhất là khai thác, vì vậy chúng không có mục đích sử dụng nào ngoài việc khai thác tiền điện tử. Cách duy nhất để thu lại khoản đầu tư ban đầu của bạn là khai thác và kiếm phần thưởng bằng cách thêm thành công một khối mới vào chuỗi khối.
Mạng lưới rất dễ dàng xác minh rằng bạn đã tạo đúng khối. Một lần thực thi duy nhất với hàm này cho phép bạn xác minh kết quả của nhiều lần kiểm tra. 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ẽ vô hiệu hóa nó và bạn sẽ lãng phí thời gian và điện năng mà không được gì.
Bằng chứng về 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 PoS, các khái niệm về thợ đào, phần cứng chuyên dụng và mức tiêu thụ năng lượng lớn không tồn tại. Tất cả những gì bạn cần là một chiếc máy tính.
Và một điều gì đó nhỏ nhặt... Bạn phải bỏ một đồng xu vào máy. Trong PoS, thay vì sử dụng tài nguyên bên ngoài (máy móc và điện), bạn sẽ sử dụng tài nguyê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 bạn sẽ cần phải giữ một số tiền tối thiểu để tham gia đặt cược.
Sau đó, bạn sẽ cần khóa tiền của mình trong ví (chúng không thể di chuyển khi bạn đặt cược). Nhìn chung, bạn sẽ đồng ý với những người xác thực khác về việc giao dịch nào sẽ được chuyển sang khối tiếp theo. Theo một nghĩa nào đó, bạn đặt cược vào khối nào sẽ được chọn và giao thức sẽ quyết định phần còn lại.
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ỷ lệ thuận với số tiền đặt cược của bạn. Bạn khóa càng nhiều tiền, bạn càng có nhiều cơ hội chiến thắng. Nhưng nếu bạn cố gắng gian lận bằng cách đưa ra các giao dịch không hợp lệ, bạn sẽ mất một phần (hoặc toàn bộ) số tiền đặt cược của mình. Vì vậy, chúng ta 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, các loại tiền tệ mới được tạo không phải là một phần của phần thưởng xác thực. Do đó, tiền tệ blockchain gốc phải được phát hành theo một cách khác. Điều này có thể được thực hiện thông qua phân phối ban đầu (ví dụ: ICO hoặc IEO) hoặc thông qua việc sử dụng PoW khi bắt đầu giao thức trước khi chuyển sang PoS.
Cho đến nay, Proof of Stake thuần túy chỉ được sử dụng bởi các loại tiền điện tử nhỏ. Do đó, không rõ liệu nó có thể đóng vai trò thay thế khả thi cho PoW hay không. Mặc dù điều này có vẻ hợp lý về mặt lý thuyết nhưng nó sẽ hoàn toàn khác trong thực tế.
Khi PoS được triển khai trên mạng có lượng thông tin lớn, hệ thống sẽ trở thành nơi sinh sản hoàn hảo cho các ưu đãi tài chính và lý thuyết trò chơi. Bất kỳ ai có bí quyết “hack” hệ thống PoS sẽ chỉ làm như vậy nếu có thể tận dụng lợi thế của nó – đó là lý do tại sao cách duy nhất để biết liệu điều đó có khả thi hay không là thử trực tiếp trên mạng.
Chúng ta sẽ sớm thấy thử nghiệm PoS 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 (còn được gọi là Ethereum 2.0).
Các loại thuật toán đồng thuận
Bằng chứng công việc và Bằng chứng cổ phần là những thuật toán đồng thuận phổ biến nhất. Nhưng rõ ràng là có nhiều cái khác, với tất cả những ưu điểm và nhược điểm của chúng. Kiểm tra các bài viết sau đây:
Giải thích về Bằng chứng công việc bị trì hoãn
Le đồng thuận Leased Proof of Stake giải thích
Le Proof of Authority giải thích
Giải thích bằng chứng đốt cháy
Le Delegated Proof of Stake giải thích
Giải thích về sự đồng thuận lai PoW/PoS
Để kết luận
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 cải tiến lớn nhất của Bitcoin là việc sử dụng Bằng chứng công việc để cho phép người dùng thống nhất về một loạt thông tin được chia sẻ.
Các thuật toán đồng thuận ngày nay không chỉ củng cố các hệ thống tiền tệ kỹ thuật số mà còn cả các chuỗi khối, cho phép các nhà phát triển thực thi mã trên một mạng phân tán. Chúng tạo thành nền tảng của công nghệ blockchain và rất cần thiết cho 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 được sử dụng nhiều nhất. Thật vậy, 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. Điều đó nói lên rằng, có rất nhiều nghiên cứu và phát triển nhằm thay thế PoW và rất có thể chúng ta sẽ thấy có nhiều sự đồng thuận hơn trong những năm tới.



