#dusk $DUSK @Dusk I was halfway through my first coffee this morning khi một ý nghĩ về tính bất biến (immutability) của blockchain bắt đầu khiến tôi bận tâm. Lịch sử được lưu trên chuỗi (On-chain), nhưng các quy tắc dùng để xử lý các block mới lại không ngừng thay đổi.
Điều đó khiến tôi nhìn các bản nâng cấp của Dusk theo cách khác. Thông thường tôi liên tưởng một bản nâng cấp giao thức với các năng lực mới. Boreas lại khiến tôi chú ý đến yêu cầu ít được nhìn thấy hơn. Các quy tắc giao dịch mới phải có thể phát triển mà không làm thay đổi cách các block cũ được diễn giải theo những quy tắc đã tạo ra chúng.
Boreas giới thiệu cơ chế xử lý tách riêng cho giao dịch phía client, dữ liệu giao dịch dạng chuẩn (canonical transaction data) và định dạng sổ cái (ledger format) được cam kết vào các block. Rusk cũng giữ lại các bộ giải mã lịch sử cần thiết để phát lại (replay) các block Pre-Aegis và Pre-Boreas. Aegis làm điều tương tự với việc xác minh proof. Rusk chọn bộ verifier dựa trên chiều cao block: giữ các quy tắc PLONK V1/V2 cho các block lịch sử, đồng thời dùng V3 cho các proof mới hơn.
Chính chi tiết đó làm ý tưởng “bật” lên trong đầu tôi. Việc giữ một giao dịch cũ trên chuỗi sẽ lưu lại hồ sơ, nhưng không tự động lưu lại khả năng tái hiện lý do vì sao giao dịch đó hợp lệ.
Vì vậy, tôi xem ngữ nghĩa lịch sử (historical semantics) như một phần hiện hữu của tính bất biến. Chuỗi không chỉ cần bảo toàn việc “đã xảy ra gì”, mà còn cần đủ ngữ cảnh giao thức để tái tạo cách trạng thái lịch sử đó đã được xác thực.
Tuy vậy, vẫn có một sự đánh đổi. Giữ lại các bộ giải mã cũ và các đường dẫn xác minh đồng nghĩa với việc phải mang theo thêm độ phức tạp giao thức về phía trước. Nhưng nếu loại bỏ chúng, ta lại đẩy một rủi ro khác sang phần mềm trong tương lai: tự nó quyết định theo cách nào việc diễn giải các bản ghi lịch sử nên được thực hiện.
Và đó là lúc đối với tôi, mọi thứ trở nên nhiều hơn một bài toán bảo trì phần mềm.
Ở các thị trường được quản lý, khả năng kiểm toán (auditability) cần trả lời nhiều hơn là chỉ cho tôi thấy giao dịch. Nó cũng phải trả lời: Những quy tắc nào đã khiến giao dịch này hợp lệ tại đúng thời điểm đó trong chuỗi?
Càng đào sâu vào sự tiến hóa của giao thức, tôi càng nghĩ rằng tính bất biến có một yêu cầu thứ hai ngoài việc chỉ lưu giữ lịch sử.
Nếu bản ghi còn tồn tại nhưng các quy tắc cần để tái tạo ý nghĩa của nó không còn, thì lịch sử đó thật sự “bất biến” đến mức nào? 🧩
$FF $P
Điều đó khiến tôi nhìn các bản nâng cấp của Dusk theo cách khác. Thông thường tôi liên tưởng một bản nâng cấp giao thức với các năng lực mới. Boreas lại khiến tôi chú ý đến yêu cầu ít được nhìn thấy hơn. Các quy tắc giao dịch mới phải có thể phát triển mà không làm thay đổi cách các block cũ được diễn giải theo những quy tắc đã tạo ra chúng.
Boreas giới thiệu cơ chế xử lý tách riêng cho giao dịch phía client, dữ liệu giao dịch dạng chuẩn (canonical transaction data) và định dạng sổ cái (ledger format) được cam kết vào các block. Rusk cũng giữ lại các bộ giải mã lịch sử cần thiết để phát lại (replay) các block Pre-Aegis và Pre-Boreas. Aegis làm điều tương tự với việc xác minh proof. Rusk chọn bộ verifier dựa trên chiều cao block: giữ các quy tắc PLONK V1/V2 cho các block lịch sử, đồng thời dùng V3 cho các proof mới hơn.
Chính chi tiết đó làm ý tưởng “bật” lên trong đầu tôi. Việc giữ một giao dịch cũ trên chuỗi sẽ lưu lại hồ sơ, nhưng không tự động lưu lại khả năng tái hiện lý do vì sao giao dịch đó hợp lệ.
Vì vậy, tôi xem ngữ nghĩa lịch sử (historical semantics) như một phần hiện hữu của tính bất biến. Chuỗi không chỉ cần bảo toàn việc “đã xảy ra gì”, mà còn cần đủ ngữ cảnh giao thức để tái tạo cách trạng thái lịch sử đó đã được xác thực.
Tuy vậy, vẫn có một sự đánh đổi. Giữ lại các bộ giải mã cũ và các đường dẫn xác minh đồng nghĩa với việc phải mang theo thêm độ phức tạp giao thức về phía trước. Nhưng nếu loại bỏ chúng, ta lại đẩy một rủi ro khác sang phần mềm trong tương lai: tự nó quyết định theo cách nào việc diễn giải các bản ghi lịch sử nên được thực hiện.
Và đó là lúc đối với tôi, mọi thứ trở nên nhiều hơn một bài toán bảo trì phần mềm.
Ở các thị trường được quản lý, khả năng kiểm toán (auditability) cần trả lời nhiều hơn là chỉ cho tôi thấy giao dịch. Nó cũng phải trả lời: Những quy tắc nào đã khiến giao dịch này hợp lệ tại đúng thời điểm đó trong chuỗi?
Càng đào sâu vào sự tiến hóa của giao thức, tôi càng nghĩ rằng tính bất biến có một yêu cầu thứ hai ngoài việc chỉ lưu giữ lịch sử.
Nếu bản ghi còn tồn tại nhưng các quy tắc cần để tái tạo ý nghĩa của nó không còn, thì lịch sử đó thật sự “bất biến” đến mức nào? 🧩
$FF $P
