Sau khi nghiên cứu thiết kế giai đoạn gỡ khóa của $BABY , tôi phát hiện ra rằng nó thực hiện một sự đánh đổi khá chủ ý giữa việc bảo vệ an ninh mạng và tính lưu động của người dùng.
Trong các giao thức đặt cược, thiết kế “giai đoạn gỡ khóa” thường được đem ra bàn luận như một vấn đề trải nghiệm người dùng: đợi lâu sẽ rất phiền, hy vọng có thể nhanh hơn. Nhưng tôi đã xem kỹ logic giai đoạn gỡ khóa của @BabylonLabs_io từ góc độ thiết kế an toàn, và nhận thấy lý do tồn tại của nó còn sâu hơn nhiều so với việc chỉ giới hạn tính lưu động. Hơn nữa, trong thiết kế này có một sự đánh đổi mà tôi nghĩ đáng được nói rõ một cách nghiêm túc.
Vai trò cốt lõi nhất của giai đoạn gỡ khóa là dành thời gian cho cơ chế cắt phạt (slashing) thực thi. Nếu một nhà cung cấp tính cuối cùng (finality provider) đã ký kép, thì bằng chứng cần được phát hiện, ghi lên chuỗi, rồi mới có thể kích hoạt giao dịch cắt phạt. Chuỗi thao tác này hoàn tất trên chuỗi cần thời gian. Nếu không có giai đoạn gỡ khóa, một trình xác thực (validator) độc hại có thể rút toàn bộ BTC đã đặt cược trước khi bằng chứng được gửi lên, khi đó cơ chế cắt phạt gần như vô dụng. Về bản chất, giai đoạn gỡ khóa đang nói rằng: BTC của bạn có thể rời đi, nhưng phải đợi trong khoảng thời gian này; trong thời gian đó, nếu phát hiện validator mà bạn ủy quyền đã làm điều sai (cố ý gian lận), vẫn còn kịp để thực hiện trừng phạt. #baby
Từ góc nhìn này, giai đoạn gỡ khóa không phải một sự thỏa hiệp về trải nghiệm người dùng, mà là điều kiện tiên quyết để toàn bộ cơ chế an toàn có thể hoạt động. Không có giai đoạn gỡ khóa thì cắt phạt sẽ không có “răng”, và khi cắt phạt không có lực đe dọa thật sự, các ràng buộc đối với hành vi của validator sẽ suy giảm đáng kể.
Tuy nhiên, ở đây có một sự đánh đổi tôi nghĩ cần phải được nói ra. Giai đoạn gỡ khóa càng dài thì “cửa sổ an toàn” càng rộng, cơ chế cắt phạt càng đáng tin cậy. Giai đoạn gỡ khóa càng ngắn thì tính lưu động của người dùng càng tốt, mức ma sát khi tham gia càng thấp. Babylon đặt giai đoạn gỡ khóa ngắn nhất vào khoảng 7 ngày; con số này là kết quả cân bằng giữa hai mục tiêu, chứ không phải một ràng buộc thuần túy mang tính kỹ thuật.
Đối với những người nắm giữ BTC dài hạn, 7 ngày gần như không ảnh hưởng gì; nhưng đối với những người giao dịch ngắn hạn thì đó là một chi phí thanh khoản thực sự. Điều này có nghĩa là việc đặt cược của Babylon sẽ tự nhiên sàng lọc ra người nắm giữ dài hạn trong cấu trúc người dùng, thay vì là dòng vốn ngắn hạn. Xét về độ ổn định của giao thức, việc sàng lọc người dùng như vậy là có lợi vì người nắm giữ dài hạn sẽ không ồ ạt gỡ khóa khi thị trường biến động, từ đó TVL (tổng giá trị bị khóa) ổn định hơn.
Trong các giao thức đặt cược, thiết kế “giai đoạn gỡ khóa” thường được đem ra bàn luận như một vấn đề trải nghiệm người dùng: đợi lâu sẽ rất phiền, hy vọng có thể nhanh hơn. Nhưng tôi đã xem kỹ logic giai đoạn gỡ khóa của @BabylonLabs_io từ góc độ thiết kế an toàn, và nhận thấy lý do tồn tại của nó còn sâu hơn nhiều so với việc chỉ giới hạn tính lưu động. Hơn nữa, trong thiết kế này có một sự đánh đổi mà tôi nghĩ đáng được nói rõ một cách nghiêm túc.
Vai trò cốt lõi nhất của giai đoạn gỡ khóa là dành thời gian cho cơ chế cắt phạt (slashing) thực thi. Nếu một nhà cung cấp tính cuối cùng (finality provider) đã ký kép, thì bằng chứng cần được phát hiện, ghi lên chuỗi, rồi mới có thể kích hoạt giao dịch cắt phạt. Chuỗi thao tác này hoàn tất trên chuỗi cần thời gian. Nếu không có giai đoạn gỡ khóa, một trình xác thực (validator) độc hại có thể rút toàn bộ BTC đã đặt cược trước khi bằng chứng được gửi lên, khi đó cơ chế cắt phạt gần như vô dụng. Về bản chất, giai đoạn gỡ khóa đang nói rằng: BTC của bạn có thể rời đi, nhưng phải đợi trong khoảng thời gian này; trong thời gian đó, nếu phát hiện validator mà bạn ủy quyền đã làm điều sai (cố ý gian lận), vẫn còn kịp để thực hiện trừng phạt. #baby
Từ góc nhìn này, giai đoạn gỡ khóa không phải một sự thỏa hiệp về trải nghiệm người dùng, mà là điều kiện tiên quyết để toàn bộ cơ chế an toàn có thể hoạt động. Không có giai đoạn gỡ khóa thì cắt phạt sẽ không có “răng”, và khi cắt phạt không có lực đe dọa thật sự, các ràng buộc đối với hành vi của validator sẽ suy giảm đáng kể.
Tuy nhiên, ở đây có một sự đánh đổi tôi nghĩ cần phải được nói ra. Giai đoạn gỡ khóa càng dài thì “cửa sổ an toàn” càng rộng, cơ chế cắt phạt càng đáng tin cậy. Giai đoạn gỡ khóa càng ngắn thì tính lưu động của người dùng càng tốt, mức ma sát khi tham gia càng thấp. Babylon đặt giai đoạn gỡ khóa ngắn nhất vào khoảng 7 ngày; con số này là kết quả cân bằng giữa hai mục tiêu, chứ không phải một ràng buộc thuần túy mang tính kỹ thuật.
Đối với những người nắm giữ BTC dài hạn, 7 ngày gần như không ảnh hưởng gì; nhưng đối với những người giao dịch ngắn hạn thì đó là một chi phí thanh khoản thực sự. Điều này có nghĩa là việc đặt cược của Babylon sẽ tự nhiên sàng lọc ra người nắm giữ dài hạn trong cấu trúc người dùng, thay vì là dòng vốn ngắn hạn. Xét về độ ổn định của giao thức, việc sàng lọc người dùng như vậy là có lợi vì người nắm giữ dài hạn sẽ không ồ ạt gỡ khóa khi thị trường biến động, từ đó TVL (tổng giá trị bị khóa) ổn định hơn.