Tôi cứ giả định rằng “bảo mật cấp Bitcoin” của Babylon có nghĩa là khôi phục cũng là về mặt mật mã. Nhưng không phải vậy.
Module finality (tính chung cuộc) của EndBlocker nêu rất rõ điều kiện dừng: dưới ngưỡng hai phần ba quyền biểu quyết, không có khối nào tiếp theo được xác nhận (finalized), và vòng lặp dừng ngay tại thời điểm đó. Không thử lại, không bỏ phiếu dự phòng ở khối kế tiếp. Finality chỉ đơn giản là dừng.
Điều xảy ra tiếp theo không tự động. Con đường duy nhất được tài liệu hóa để đi tiếp là MsgResumeFinalityProposal, và nó chỉ có thể được thực thi thông qua một đề xuất quản trị (governance proposal). Có ai đó phải gửi nó, và có ai đó phải bỏ phiếu cho nó.
Điều đó nghe như đáng lẽ phải là một cơ chế khôi phục mang tính kỹ thuật, không phải chính trị. Nhưng hãy nhìn các trường ngay trong chính thông điệp: authority, fp_pks_hex, halting_height. Trường ở giữa đó là danh sách các khóa công khai của nhà cung cấp finality để tống giam (jail). Đề xuất không chỉ nói “tiếp tục (resume)”. Nó phải nêu rõ ai đang bị trừng phạt trước khi chuỗi có thể chạy lại.
Vì vậy, điều kiện dừng là mật mã — một ngưỡng quyền biểu quyết sạch sẽ, được kiểm tra trong mã. Điều kiện khôi phục là xã hội — một đề xuất do con người thực hiện, liệt kê các khóa cụ thể và nhận được bỏ phiếu từ bất kỳ ai nắm quyền quản trị vào thời điểm đó.
Đó là hai mô hình tin cậy khác nhau được xếp chồng lên nhau, và mô hình thứ hai chỉ kích hoạt khi mô hình đầu tiên thất bại. Không có gì là “sai” về điều đó, đúng là như vậy. Nó chỉ không phải là điều mà “được bảo đảm bởi Bitcoin” thường gợi ra cho một người chưa đọc sâu vào tận module này.
Việc khóa cơ chế khôi phục sau một lần bỏ phiếu quản trị, trong đó nêu các nhà cung cấp cụ thể, có làm hệ thống chịu trách nhiệm hơn không—vì ai đó phải công khai chịu trách nhiệm cho quyết định đó—hay nó chỉ dời điểm thất bại từ một ngưỡng mật mã sang bất kỳ ai kiểm soát đủ quyền biểu quyết để thông qua đề xuất?
@BabylonLabs_io #baby $BABY
Module finality (tính chung cuộc) của EndBlocker nêu rất rõ điều kiện dừng: dưới ngưỡng hai phần ba quyền biểu quyết, không có khối nào tiếp theo được xác nhận (finalized), và vòng lặp dừng ngay tại thời điểm đó. Không thử lại, không bỏ phiếu dự phòng ở khối kế tiếp. Finality chỉ đơn giản là dừng.
Điều xảy ra tiếp theo không tự động. Con đường duy nhất được tài liệu hóa để đi tiếp là MsgResumeFinalityProposal, và nó chỉ có thể được thực thi thông qua một đề xuất quản trị (governance proposal). Có ai đó phải gửi nó, và có ai đó phải bỏ phiếu cho nó.
Điều đó nghe như đáng lẽ phải là một cơ chế khôi phục mang tính kỹ thuật, không phải chính trị. Nhưng hãy nhìn các trường ngay trong chính thông điệp: authority, fp_pks_hex, halting_height. Trường ở giữa đó là danh sách các khóa công khai của nhà cung cấp finality để tống giam (jail). Đề xuất không chỉ nói “tiếp tục (resume)”. Nó phải nêu rõ ai đang bị trừng phạt trước khi chuỗi có thể chạy lại.
Vì vậy, điều kiện dừng là mật mã — một ngưỡng quyền biểu quyết sạch sẽ, được kiểm tra trong mã. Điều kiện khôi phục là xã hội — một đề xuất do con người thực hiện, liệt kê các khóa cụ thể và nhận được bỏ phiếu từ bất kỳ ai nắm quyền quản trị vào thời điểm đó.
Đó là hai mô hình tin cậy khác nhau được xếp chồng lên nhau, và mô hình thứ hai chỉ kích hoạt khi mô hình đầu tiên thất bại. Không có gì là “sai” về điều đó, đúng là như vậy. Nó chỉ không phải là điều mà “được bảo đảm bởi Bitcoin” thường gợi ra cho một người chưa đọc sâu vào tận module này.
Việc khóa cơ chế khôi phục sau một lần bỏ phiếu quản trị, trong đó nêu các nhà cung cấp cụ thể, có làm hệ thống chịu trách nhiệm hơn không—vì ai đó phải công khai chịu trách nhiệm cho quyết định đó—hay nó chỉ dời điểm thất bại từ một ngưỡng mật mã sang bất kỳ ai kiểm soát đủ quyền biểu quyết để thông qua đề xuất?
@BabylonLabs_io #baby $BABY
