Saya memikirkan apa yang terjadi ketika sebuah transaksi mencapai Dusk.

Awalnya, rasanya seperti hanya ada satu pertanyaan:

**“Apakah jaringan harus menerima transaksi ini?”**

Namun jika dilihat lebih dekat, ternyata ada dua pertanyaan yang berbeda.

Pertama, apakah transaksi tersebut mengikuti aturan protokol?

Lalu, dengan asumsi itu dilakukan, apakah para peserta sepakat pada keadaan yang dihasilkan dari transaksi tersebut?

Perbedaan itu mudah terlewat karena, dari luar, kedua langkah tersebut mengarah ke hasil yang sama: suatu keadaan yang diterima.

Tapi secara arsitektural, keduanya adalah pekerjaan yang berbeda.

Jika terjadi kesalahan, memisahkan keduanya membuatnya lebih mudah untuk menanyakan apa sebenarnya yang gagal. Apakah transaksinya tidak valid? Atau valid, tetapi para peserta tidak sepakat mengenai keadaan yang dihasilkan?

Saya pikir pemisahan ini adalah pilihan desain yang kuat.

Namun pemisahan itu juga menciptakan pertanyaan baru.

Setiap batas antara tanggung jawab adalah perpindahan (handoff) yang lain. Dan setiap perpindahan harus berperilaku benar ketika terjadi sesuatu yang tidak terduga.

Jadi saya terus kembali ke ini:

**Apakah memisahkan validitas dari konsensus membuat Dusk lebih mudah dipahami saat terjadi kegagalan, atau apakah setiap batas tambahan menciptakan tempat lain di mana sistem bisa rusak?**

#Dusk @Dusk $DUSK
Easier to isolate failures
0%
Clearer system boundaries
0%
More coordination risks
0%
Both equally
0%
0 Voting • Voting ditutup