Hãy để tôi giải thích điều này theo cách đơn giản nhất mà tôi có thể, vì phần này của Walrus cũng đã làm tôi bối rối lúc đầu. Walrus chỉ có ý nghĩa với tôi sau khi tôi ngừng nghĩ về lưu trữ theo cách thông thường.

Thông thường, khi chúng ta nghĩ về máy chủ, chúng ta cho rằng sự ổn định là cần thiết. Một máy chủ bị hỏng và mọi thứ sẽ bị hỏng theo. Hai máy chủ bị hỏng và mọi người sẽ hoảng loạn. Hệ thống hạ tầng thường được thiết kế để giữ cho các máy móc hoạt động lâu nhất có thể.

Walrus đảo ngược suy nghĩ đó.

Tại đây, việc các nút ngắt kết nối là điều bình thường. Các máy móc ngắt kết nối, các nhà điều hành khởi động lại phần cứng, mạng gặp sự cố, mọi người nâng cấp thiết lập, các nhà cung cấp rời đi, những người mới tham gia. Tất cả những điều đó là hành vi được mong đợi, không phải là một tình huống khẩn cấp.

Vì vậy, Walrus được xây dựng dựa trên giả định rằng các nhà cung cấp lưu trữ sẽ liên tục thay đổi.

Và lý do điều này hoạt động là đơn giản khi bạn thấy cách dữ liệu được lưu trữ.

Khi dữ liệu được tải lên Walrus, nó không tồn tại trên một nút. Blob được cắt thành các mảnh và phân tán trên nhiều nút lưu trữ. Mỗi nút chỉ giữ một phần dữ liệu, không phải toàn bộ.

Và đây là phần quan trọng: để lấy lại dữ liệu gốc, bạn không cần mọi mảnh. Bạn chỉ cần đủ mảnh.

Vì vậy không có nút nào là quan trọng.

Nếu một số nút biến mất vào ngày mai, việc truy xuất vẫn hoạt động. Hệ thống chỉ kéo các mảnh từ bất kỳ nút nào đang trực tuyến và xây dựng lại blob.

Hầu hết thời gian, không ai thậm chí nhận ra các nút rời khỏi.

Đó là lý do tại sao mạng không hoảng loạn mỗi khi có điều gì đó thay đổi. Các nút không ở trực tuyến một cách hoàn hảo. Đôi khi các nhà điều hành tắt máy để sửa chữa một cái gì đó. Đôi khi các kết nối đơn giản bị mất. Đôi khi một nút biến mất trong một thời gian và sau đó xuất hiện trở lại sau.

Loại chuyển động đó chỉ là bình thường đối với một mạng lưới như thế này.

Vì vậy, Walrus không vội vàng để xáo trộn dữ liệu mỗi khi một nút biến mất trong một thời gian. Nếu nó làm như vậy, mạng lưới sẽ liên tục di chuyển các mảnh xung quanh, điều này thực sự sẽ làm mọi thứ chậm lại và không ổn định hơn thay vì an toàn.

Thay vì điều này, nó giữ bình tĩnh và chỉ phản ứng nếu đủ mảnh dữ liệu thực sự bắt đầu biến mất.

Thay vào đó, Walrus chờ cho đến khi khả năng truy cập mảnh thực sự trở nên rủi ro.

Miễn là đủ mảnh của dữ liệu vẫn còn ở đó, mọi thứ chỉ tiếp tục hoạt động.

Nói cách khác, những thay đổi nhỏ ở nút thực sự không làm rối loạn hệ thống vì mạng đã có đủ mảnh để xây dựng lại dữ liệu.

Chỉ khi khả năng truy cập giảm xuống dưới mức an toàn thì việc phục hồi mới trở nên cần thiết.

Logic ngưỡng đó rất quan trọng. Nó giữ cho hệ thống ổn định thay vì phản ứng thái quá.

Việc xác minh cũng đóng một vai trò ở đây. Các nút lưu trữ thường xuyên chứng minh rằng họ vẫn lưu trữ các mảnh mà họ đã đồng ý giữ. Các nút thường xuyên thất bại trong kiểm tra sẽ dần dần ngừng nhận cam kết lưu trữ mới.

Các nhà cung cấp đáng tin cậy tiếp tục tham gia. Những nhà cung cấp không đáng tin cậy tự nhiên sẽ phai nhạt. Nhưng sự thay đổi này diễn ra dần dần, không phải là những loại bỏ đột ngột gây phá vỡ lưu trữ.

Trách nhiệm di chuyển chậm qua mạng thay vì gây ra sự gián đoạn.

Từ góc độ ứng dụng, điều này làm cho cuộc sống dễ dàng hơn. Các ứng dụng lưu trữ dữ liệu trên Walrus không cần phải lo lắng mỗi khi một nút đi ngoại tuyến. Miễn là tài trợ tiếp tục và đủ mảnh vẫn được lưu trữ, việc truy xuất tiếp tục diễn ra một cách bình thường.

Nhưng điều quan trọng là phải rõ ràng về các giới hạn.

Walrus đảm bảo việc truy xuất chỉ trong khi đủ mảnh vẫn còn có sẵn và cam kết lưu trữ vẫn được tài trợ. Nếu quá nhiều mảnh biến mất vì các nút rời bỏ hoặc tài trợ hết hạn, việc tái cấu trúc cuối cùng sẽ thất bại.

Tính dư thừa chịu đựng sự cố. Nó không thể phục hồi dữ liệu mà không ai còn lưu trữ.

Một thực tế khác ở đây là các nhà cung cấp lưu trữ đối mặt với những ràng buộc vận hành thực tế. Không gian đĩa là có giới hạn. Băng thông tốn tiền. Các kiểm tra xác minh và lưu lượng truy cập truy xuất tiêu tốn tài nguyên. Các khoản thanh toán WAL bù đắp cho các nhà cung cấp vì đã liên tục lưu trữ và phục vụ các mảnh.

Lưu trữ là công việc liên tục, không chỉ là lưu dữ liệu một lần.

Trong việc sử dụng thực tế ngày nay, Walrus hoạt động theo cách dự đoán cho các đội hiểu những cơ chế này. Các tải lên phân phối mảnh rộng rãi. Lưu trữ được tài trợ giữ dữ liệu có sẵn. Việc truy xuất tiếp tục ngay cả khi các nút đến và đi trong nền.

Những gì cần cải thiện vẫn là công cụ vòng đời. Các nhà xây dựng vẫn cần theo dõi khi tài trợ lưu trữ hết hạn và tự gia hạn cam kết. Tự động hóa tốt hơn có thể đến sau thông qua các công cụ hệ sinh thái thay vì thay đổi giao thức.

Khi điều này được nhấp vào tôi, sự thay đổi nút không còn nhìn giống như một rủi ro. Nó chỉ là một phần của cách mà các mạng phân tán hoạt động, và Walrus được thiết kế để hấp thụ sự không ổn định đó một cách yên lặng.

Và đó là lý do tại sao, hầu hết thời gian, các ứng dụng vẫn tiếp tục truy xuất dữ liệu một cách bình thường ngay cả khi mạng lưu trữ bên dưới tiếp tục thay đổi.

#Walrus $WAL @Walrus 🦭/acc