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