Tuần này tôi đã liên tục xem xét câu hỏi về độ tin cậy của mạng nhà khai thác vì bản thuyết minh đề cập những gì Newton làm tốt trong điều kiện bình thường nhưng ít nêu rõ hơn những gì các ứng dụng nên kỳ vọng khi điều kiện không bình thường.
Kiến trúc đã được tích hợp khả năng chịu lỗi thực sự. Cổng (Gateway) xử lý định tuyến cho nhà khai thác, bộ nhớ đệm và khử trùng lặp yêu cầu. Cơ chế buộc bao gồm cho phép các ứng dụng gửi tác vụ trực tiếp tới mạng nhà khai thác, bỏ qua hoàn toàn Cổng (Gateway) nếu phát hiện có kiểm duyệt.
Thiết kế đồng thuận hai pha nghĩa là một nhà điều hành chậm không làm đình trệ toàn bộ quá trình đánh giá. Bên tổng hợp (Aggregator) sẽ thoát ngay khi đã ký đủ lượng cổ phần (stake). Đây là những thuộc tính về khả năng chịu lỗi (resilience) thực sự.
Bản thuyết minh không nêu rõ ngưỡng thất bại. Có bao nhiêu nhà điều hành cần phải ngừng hoạt động trước khi cơ chế đồng thuận của Newton không còn có thể đạt ngưỡng đủ số (quorum)? Khi không thể đạt quorum, ứng dụng sẽ gặp trải nghiệm gì: hàng đợi tác vụ có bị timeout và báo lỗi hay sẽ bị chặn vô thời hạn? Thời gian khôi phục dự kiến là bao lâu nếu một phần đáng kể trong tập nhà điều hành trải qua thời gian ngừng hoạt động có phối hợp (coordinated downtime)?
Những câu hỏi này quan trọng khác nhau tùy theo ứng dụng. Một giao thức DeFi yêu cầu xác thực (attestation) của Newton cho mọi lần chuyển tiền (transfer) có mức độ không khoan nhượng với tình trạng mất ổn định kéo dài: nếu không còn tạo được attestation thì các lần chuyển tiền sẽ ngừng thực thi. Một trường hợp sử dụng tần suất thấp hơn như truy cập có kiểm soát vào một quỹ được token hóa có thể chấp nhận vài phút suy giảm mà không gây hại đáng kể. Bản thuyết minh dường như không phân biệt các trường hợp này hoặc đưa ra các kỳ vọng khác nhau về tính sẵn sàng cho các nhóm loại ứng dụng khác nhau.
Cơ chế đưa lực vào (force inclusion) giải quyết vấn đề kiểm duyệt trong một trường hợp cụ thể, khi Cổng (Gateway) từ chối không trung thực việc định tuyến các tác vụ. Nó không giải quyết rõ ràng kịch bản khi chính các nhà điều hành bị ngoại tuyến, suy giảm hoặc đơn giản là không thể đạt được đồng thuận trong các khung thời gian độ trễ thông thường.
Tôi thực sự nghĩ khoảng trống (gap) này quan trọng hơn tại giai đoạn mainnet beta ngay lúc này so với sau này. Các giao thức của người dùng sớm đang gánh rủi ro về độ tin cậy của mạng mà không được ghi nhận đầy đủ. Hiểu các chế độ thất bại (failure modes) trông như thế nào và các ứng dụng được kỳ vọng sẽ làm gì khi chúng xảy ra dường như là thông tin thiết yếu đối với bất kỳ đội ngũ nào triển khai Newton trong bối cảnh sản xuất (production).
#newt #Newt #ShareYourThoughts
Điều tôi vẫn chưa làm rõ là liệu yêu cầu về phân bố địa lý của các tập nhà điều hành có được thiết kế cụ thể để giảm rủi ro hỏng hóc tương quan hay chủ yếu nhằm chống chịu kiểm duyệt, và liệu hai mục tiêu đó có cần các thành phần của tập nhà điều hành khác nhau hay không.
