@Fabric Foundation
Thang đo thử lại hiện tại được đặt thành 3.
Tôi đã không bắt đầu từ đó. Giao thức Fabric mặc định cho một lượt xác nhận duy nhất khi tôi lần đầu tiên kết nối một trong những tác nhân robot của chúng tôi vào lớp danh tính trên chuỗi của nó. Cuộc gọi sẽ trả về “đã xác minh,” robot sẽ tiếp tục yêu cầu phân bổ nhiệm vụ, và phần còn lại của quy trình giả định rằng danh tính đã được giải quyết. Nó đã không.
Giao thức Fabric nằm trực tiếp trong cái bắt tay đó. Nó không phải là một sổ đăng ký danh tính trừu tượng. Đây là hệ thống quyết định xem một máy có được tham gia hay không. Khi tôi lần đầu tiên tích hợp nó, tôi đã coi việc xác minh danh tính như một cổng boolean. Đúng, tiến về phía trước. Sai, dừng lại. Những gì tôi học được là trong các hệ thống tự động, xác nhận không giống như sự ổn định.
Dưới tải, ranh giới tham gia chuyển động.
Chúng tôi đã chạy một lô 42 robot mô phỏng, mỗi robot cố gắng đăng ký khả năng và yêu cầu quyền phối hợp trong một khoảng thời gian thực hiện chặt chẽ. Hợp đồng danh tính của Fabric đã xử lý các chứng thực, các thông tin xác thực đã đặt cọc và các chứng minh khả năng, sau đó trả về thành công. Xác nhận trên chuỗi đến trong một khoảng thời gian khối có thể dự đoán. Mọi thứ trông sạch sẽ.
Sau đó, hai tác nhân bắt đầu sao chép các tuyên bố công việc.
Không phải một cách ác ý. Không phải vì giao thức thất bại. Bởi vì sự cuối cùng của danh tính đến nhanh hơn sự hội tụ hành vi. Các robot coi sự kiện thành công của danh tính như sự hiển thị toàn cầu. Nó không phải vậy. Một số đồng nghiệp vẫn có cái nhìn lỗi thời về những danh tính nào đã được liên kết và những danh tính nào chưa. Fabric đã xác nhận đặt cọc, nhưng mạng chưa hoàn toàn tiếp nhận điều đó.
Đó là khi tôi thêm cầu thang thử lại.
Thay vì một xác nhận danh tính, tác nhân bây giờ yêu cầu ba xác nhận cách nhau ở các lần đọc trạng thái khác nhau. Lần đầu tiên xác nhận sự hiện diện của đặt cọc. Lần thứ hai kiểm tra độ trễ xác nhận của đồng nghiệp. Lần thứ ba xác nhận rằng không có tuyên bố danh tính xung đột nào xuất hiện trong một khoảng thời gian giới hạn. Khoảng cách là 1,2 giây giữa các lần đọc. Con số đó không phải là ngẫu nhiên. Dưới một giây, chúng tôi vẫn quan sát thấy các điều kiện đua. Trên hai giây, độ trễ phân bổ công việc trở nên rõ ràng với những người dùng theo dõi bảng điều khiển.
Danh tính trở thành một cuộc đàm phán có thời hạn thay vì một sự kiện đơn lẻ.
Đây là sự thay đổi cơ học: trước cầu thang, khoảng 6 phần trăm robot trải qua hiện tượng phản hồi khả năng nơi hai tác nhân tin rằng họ có quyền độc quyền đối với cùng một vị trí công việc. Sau cầu thang, điều đó giảm xuống dưới 1 phần trăm. Chi phí là rõ ràng. Thời gian bắt đầu công việc trung bình tăng thêm 3,4 giây.
Nếu bạn đang thiết kế sự phối hợp robot tự động, hãy tự hỏi bản thân: bạn muốn có một robot nhanh hơn đôi khi hoạt động kép, hay một robot chậm hơn chờ đợi sự chắc chắn xã hội?
Danh tính trên chuỗi của Fabric khiến câu hỏi đó trở nên không thể tránh khỏi vì nó gắn kết việc tham gia với cam kết kinh tế. Tác nhân đặt cọc để tồn tại. Đặt cọc đó báo hiệu sự nghiêm túc, nhưng nó cũng tạo ra một chế độ thất bại mới. Khi danh tính bằng vốn đã liên kết, các lần thử lại không chỉ là tiếng ồn mạng. Chúng là ma sát kinh tế.
Một trong những căng thẳng ban đầu mà tôi cảm thấy liên quan đến ngân sách thử lại. Mỗi xác nhận bổ sung đọc là một tương tác khác với chuỗi, một khoản chi phí gas khác, một lớp độ trễ khác. Ở quy mô lớn, điều này tích lũy. Với 100 tác nhân quay vòng qua việc làm mới danh tính mỗi 15 phút, sự khác biệt giữa một lần thử lại và ba lần thử lại là không tầm thường. Nó thay đổi phạm vi hoạt động của bạn.
Có một đường mạnh mẽ mà tôi liên tục nghĩ đến trong quá trình thử nghiệm:
Độ tin cậy không được thêm vào ở cuối. Nó được mua ở ranh giới tham gia.
Lựa chọn của Fabric để gắn bó với danh tính robot trên chuỗi có nghĩa là việc tham gia là tốn kém theo thiết kế. Bạn không xuất hiện như một người tham gia một cách tùy tiện. Bạn liên kết. Bạn đăng ký. Bạn được chấm điểm. Điều đó đẩy bot ra ngoài. Nó cũng đẩy thử nghiệm ra ngoài.
Tôi cảm thấy sự đánh đổi đó trực tiếp khi khởi động các tác nhân tạm thời để thử nghiệm căng thẳng. Trong một đăng ký truyền thống bên ngoài chuỗi, tôi có thể tạo và loại bỏ danh tính một cách tự do. Trên Fabric, ngay cả các tác nhân thử nghiệm cũng cần phải đi qua phễu danh tính. Điều đó có nghĩa là việc khóa vốn và chu kỳ đặt cọc. Nó làm chậm quá trình lặp lại.
Nhưng nó cũng khiến tôi nhận ra một điều không thoải mái. Khi danh tính rẻ, hành vi xấu cũng rẻ. Chúng tôi đã từng thực hiện một thí nghiệm song song sử dụng bộ nhớ danh tính nhẹ ngoài chuỗi để tăng tốc độ nguyên mẫu. Trong vòng vài giờ, chúng tôi thấy các tác nhân spam cập nhật khả năng vì không có chi phí có ý nghĩa nào để khẳng định lại danh tính. Định tuyến công việc bị suy giảm. Các hàng đợi ưu tiên bị lệch.
Chuyển lại về Fabric với danh tính đã liên kết và spam đã biến mất.
Yêu cầu đặt cọc không chỉ bảo đảm hệ thống. Nó đã hình thành hành vi ở thượng nguồn.
Đây là một bài kiểm tra cụ thể mà bạn có thể thực hiện nếu bạn từng chạm vào thứ gì đó như thế này. Khởi động mười tác nhân với khả năng giống hệt nhau. Chỉ thay đổi trọng số đặt cọc một chút, ngay cả với một tỷ lệ nhỏ. Quan sát sở thích định tuyến trong một khoảng thời gian nhiều giờ. Trên Fabric, lớp chấm điểm danh tính tinh tế ủng hộ các tín hiệu ổn định gắn liền với cam kết đã liên kết. Các tác nhân đã liên kết cao hơn trải qua ít sự phân công lại định tuyến hơn trong các thử nghiệm của chúng tôi. Không phải vì giao thức quảng cáo sự thiên vị, mà vì chấm điểm ổn định tích hợp độ tin cậy lịch sử gắn với danh tính.
Đó là nơi sự nghi ngờ len lỏi.
Khi chất lượng định tuyến bắt đầu tương quan với độ sâu đặt cọc, chúng ta vẫn hoàn toàn mở không? Hay chúng ta đang im lặng ngăn chặn chất lượng phối hợp phía sau trọng số kinh tế? Tôi không buộc tội giao thức về sự thiên vị có chủ ý. Tôi đang thừa nhận rằng một khi danh tính là kinh tế, sự trung lập trở nên tốn kém để duy trì.
Một ví dụ cơ học khác. Chúng tôi đã giới thiệu một độ trễ bảo vệ sau khi đăng ký danh tính trước khi cho phép đấu thầu công việc. Nó được đặt ở mức 5 khối. Nếu không có nó, các tác nhân mới đăng ký có thể ngay lập tức tràn vào hàng đợi đấu thầu trước khi các đồng nghiệp cập nhật cái nhìn địa phương của họ. Với độ trễ, chúng tôi đã loại bỏ sự bùng nổ vi mô nơi những danh tính mới tạm thời chiếm ưu thế trong phân bổ. Nhược điểm là rõ ràng. Các tác nhân hợp pháp chờ đợi không hoạt động trong những khối bổ sung đó.
Độ trễ bảo vệ đó đã ổn định sự phối hợp hơn bất kỳ điều chỉnh chấm điểm nào.
Nếu bạn nghĩ rằng danh tính là về tên và khóa, hãy thử quan sát các robot va chạm vì xác nhận đến quá nhanh.
Kiến trúc của Fabric buộc tôi phải di chuyển ma sát lên phía trước của quy trình. Thay vì gỡ lỗi sự hỗn loạn phát sinh ở hạ nguồn, tôi đã hấp thụ chi phí tại lớp tham gia. Nhiều lần đọc hơn. Nhiều thời gian chờ hơn. Nhiều xác thực đặt cọc hơn.
Hai bài kiểm tra mở cho bất kỳ ai đánh giá thiết kế này.
Đầu tiên, giảm cầu thang thử lại của bạn về một lần và chạy dưới tải dự kiến 2x. Theo dõi sự chồng chéo khả năng ma. Nếu bạn thấy điều đó, hãy hỏi xem xác nhận danh tính của bạn có đang báo hiệu sự kết thúc xã hội hay chỉ thực hiện hợp đồng.
Thứ hai, rút ngắn độ trễ bảo vệ của bạn xuống một nửa. Quan sát sự biến động đấu thầu cho các tác nhân mới đăng ký. Có phải phân bổ tạm thời nghiêng về những người mới đến không? Nếu có, ranh giới danh tính của bạn mỏng hơn bạn nghĩ.
Điểm không phải là Fabric Protocol đã giải quyết mọi thứ. Điểm là bằng cách làm cho danh tính trên chuỗi và kinh tế liên kết, nó buộc tôi phải đối mặt với việc tham gia như một bề mặt kỹ thuật hàng đầu.
Chỉ sau khi vật lộn với điều này, token mới cảm thấy không thể tránh khỏi.
Khi sự tồn tại của robot yêu cầu đặt cọc, và lịch sử độ tin cậy được gắn kết với đặt cọc đó, token không phải là một phụ kiện. Nó là bộ điều chỉnh áp suất. Nó quyết định ai có thể vào, tần suất họ có thể thử lại, mức độ tốn kém của sự không ổn định. Tôi đã trì hoãn việc suy nghĩ về điều đó vì tôi không muốn giảm một vấn đề phối hợp xuống kinh tế. Nhưng kinh tế đã được nhúng vào lớp danh tính.
Có một thiên lệch trong tôi hướng về những cánh cổng nghiêm ngặt hơn. Tôi thích các hệ thống chậm hơn, dễ dự đoán hơn. Ai đó xây dựng robot hướng tới người tiêu dùng có thể không đồng ý. Họ có thể chấp nhận sự chồng chéo tạm thời để đổi lấy tốc độ. Tư thế của Fabric nghiêng về kỷ luật.
Tôi vẫn để cầu thang thử lại ở mức 3. Tôi đã cân nhắc việc đẩy nó lên 4 trong các khoảng thời gian cao điểm. Điều đó có thể cắt giảm một phần nào đó khỏi các xung đột phối hợp. Nó cũng sẽ đẩy độ trễ công việc vượt quá những gì một số người dùng chịu đựng.
Vì vậy, tôi để nó ở đó cho bây giờ.
Danh tính trên chuỗi không phải là về các khẩu hiệu phân quyền. Nó là về việc quyết định nơi bạn muốn trả tiền cho sự chắc chắn.
Trong trường hợp của chúng tôi, chúng tôi trả tiền ở cổng.
Và tôi vẫn không chắc liệu đó là sự dũng cảm hay sự thận trọng.
$ROBO #ROBO
