Tôi đã nghĩ về điều gì xảy ra khi một giao dịch đi đến Dusk.

Ban đầu, có cảm giác như chỉ có một câu hỏi:

**“Mạng có nên chấp nhận giao dịch này không?”**

Nhưng nhìn kỹ hơn, thực ra có hai câu hỏi khác nhau.

Trước hết, giao dịch có tuân thủ các quy tắc của giao thức không?

Sau đó, giả sử là có, các bên tham gia có đồng ý về trạng thái phát sinh từ giao dịch đó không?

Sự khác biệt này rất dễ bị bỏ sót, vì từ bên ngoài, cả hai bước đều dẫn đến cùng một kết quả: một trạng thái được chấp nhận.

Nhưng xét về mặt kiến trúc, chúng là hai nhiệm vụ khác nhau.

Nếu có gì đó trục trặc, việc tách chúng ra sẽ giúp dễ hơn để hỏi chính xác điều gì đã hỏng. Giao dịch không hợp lệ? Hay giao dịch hợp lệ, nhưng các bên lại bất đồng về trạng thái kết quả?

Tôi nghĩ việc tách như vậy là một lựa chọn thiết kế mạnh mẽ.

Nhưng nó cũng tạo ra một câu hỏi mới.

Mọi ranh giới giữa các trách nhiệm lại là một lần bàn giao. Và mọi lần bàn giao cần hoạt động đúng đắn khi có điều bất ngờ xảy ra.

Vì vậy tôi cứ quay lại điều này:

**Việc tách tính hợp lệ khỏi sự đồng thuận có làm cho Dusk dễ suy luận hơn trong các tình huống lỗi hay không, hay mỗi ranh giới bổ sung lại tạo thêm một nơi khác mà hệ thống có thể bị hỏng?**

#Dusk @Dusk $DUSK
Easier to isolate failures
0%
Clearer system boundaries
0%
More coordination risks
0%
Both equally
0%
0 phiếu bầu • Cuộc bỏ phiếu đã kết thúc