Tin tức Block Beats, hôm nay Haichao, phó giám đốc của Algorand Foundation, đã tiến hành một cuộc thảo luận về thuật toán đồng thuận BFT và blockchain trong Diễn giả Hacker "Giới thiệu về thuật toán đồng thuận" AMA Chia sẻ các công nghệ cốt lõi liên quan đến bảo mật. Trong buổi chia sẻ, Haichao đã phân tích ngắn gọn ba ngọn núi cần vượt qua trên con đường đi đến sự đồng thuận: đồng hồ, khả năng chịu lỗi và mạng.

Trước hết, ngọn núi đầu tiên là chiếc đồng hồ. Các sự kiện trong bộ sao chép trạng thái là tuần tự và vấn đề đầu tiên chúng ta cần giải quyết là làm thế nào để biết trình tự của các sự kiện này.
Giải pháp đơn giản nhất cho vấn đề này là tìm một đồng hồ toàn cầu thống nhất và để tất cả các nút đánh dấu thời gian xảy ra sự kiện theo đồng hồ này. Tuy nhiên, đồng hồ như vậy không tồn tại trong hệ thống phân tán. Ngay cả khi chúng ta chọn đồng hồ ở đâu đó trên thế giới làm nguồn thời gian, thời gian cần thiết để các nút khác nhau truy cập vào đồng hồ sẽ khác nhau, điều này vẫn sẽ khiến mỗi nút chuỗi sự kiện tạo ra những quan sát khác nhau.
Leslie Lamport, một nhà khoa học tính toán trong lĩnh vực hệ thống phân tán, đã đề xuất một phương pháp xác định thứ tự của các sự kiện dựa trên thứ tự các thông điệp đến trong bài báo năm 1978 của ông. Tuy nhiên, phương pháp này vẫn dựa trên tiền đề là mỗi nút có đồng hồ vật lý "tương đối nhất quán". Trên thực tế, giả định này không ổn định, do sự khác biệt nhỏ giữa các đồng hồ vật lý nên sau một thời gian hoạt động chắc chắn sẽ có một số sai lệch giữa các đồng hồ và việc điều chỉnh thời gian ban đầu cũng là một nhiệm vụ tương đối khó khăn trong vấn đề kỹ thuật xã hội.
Vì vậy, đóng góp chính trong công việc này của Master Lamport là chỉ ra rõ ràng cho chúng ta thấy rằng việc thiếu đồng hồ thống nhất trong mô hình bộ sao trạng thái là một vấn đề lớn và cũng là một trong những vấn đề cần có thuật toán đồng thuận để giải quyết .
Núi lớn tiếp theo là khả năng chịu lỗi. Mỗi nút trong bộ sao chép trạng thái là độc lập và xác suất xảy ra lỗi nút cũng độc lập. Nguyên nhân của các lỗi này có thể là do mạng của nút có vấn đề, sự cố phần cứng hoặc do mất điện, động đất, v.v., có thể gây ra lỗi nút.
Trường hệ thống phân tán có vấn đề có lỗi Một định nghĩa thống nhất: Miễn là một nút không thể thực hiện các phép tính thông thường và gửi và nhận tin nhắn theo giao thức định trước thì nút đó được coi là có lỗi (Lỗi). Một mục đích thiết kế khác của thuật toán đồng thuận là khả năng chịu lỗi: nghĩa là hệ thống sao chép trạng thái vẫn có thể đạt được sự đồng thuận về trạng thái và cung cấp đầu ra thống nhất cho thế giới bên ngoài ngay cả khi xảy ra lỗi nút.
Cuối cùng, ngọn núi thứ ba là Internet. Mỗi nút trong bộ sao chép trạng thái cần dựa vào mạng để liên lạc với nhau và gửi tin nhắn; họ có thể chọn dựa vào các giao thức hiện có như HTTP hoặc RPC để liên lạc hoặc có thể chọn giao thức tùy chỉnh.
Nhưng cho dù chọn giao thức mạng nào thì mạng trong thế giới thực không phải lúc nào cũng đáng tin cậy. Tin nhắn được gửi có thể bị chậm trễ, bị mất và quá trình truyền có thể bị gián đoạn. Định nghĩa về điều kiện mạng trong hệ thống phân tán có thể được chia thành hai loại: đồng bộ và không đồng bộ.
Đồng bộ hóa đề cập đến thực tế là các tin nhắn trong mạng luôn có thể được truyền trong một khoảng thời gian cố định nhất định t; không đồng bộ đề cập đến độ trễ truyền trong mạng và không có giới hạn trên như vậy. (Điều quan trọng là phải hiểu các khái niệm về đồng bộ hóa và không đồng bộ. Chúng ta sẽ sử dụng nó thường xuyên ở phần tiếp theo.) Đây cũng là một vấn đề mà thuật toán đồng thuận cần giải quyết, nó cần tính đến tính không ổn định của mạng và đảm bảo rằng hệ thống vẫn có thể đạt được sự đồng thuận của nhà nước.
Tóm lại: thuật toán đồng thuận cho phép mỗi nút không có lỗi trong mạng sao chép trạng thái đạt được thứ tự giao dịch Một thuật toán có sự đồng thuận (tính nhất quán) và luôn có thể cung cấp đầu ra (có thể kết thúc) trong một thời gian xác định và cần có khả năng giữ cho hệ thống hoạt động bình thường và đáng tin cậy trong các điều kiện sau.
1. Không có đồng hồ thống nhất toàn cầu;
2. Mỗi nút có thể mắc lỗi một cách độc lập;
3. Tin nhắn được truyền trong mạng không phải lúc nào cũng đáng tin cậy.
Ngày 5 tháng 3, các nhà khoa học trưởng của Algorand sẽ chia sẻ “Giới thiệu về thuật toán đồng thuận Algorand”. Quét mã QR bên dưới để đăng ký tham gia nhóm.

Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia