Apa yang terjadi pada pembayaran Rayls jika validator mengalami crash di tengah transfer?

Saya membangun Axyl, klien konsensus Rayls, dari kode sumber, menjalankan 4 validator di laptop saya, lalu membuatnya crash saat pembayaran berlangsung.

Satu validator mati: 240 dari 240 pembayaran berhasil diselesaikan. Jeda terlama 2,58 detik.

Dua validator mati: rantai berhenti sampai keduanya kembali aktif. Sebuah node tetap menerima pembayaran saya dalam 15 milidetik tanpa kesalahan, dan pembayaran itu diselesaikan 41 detik kemudian. Semua 45 pembayaran yang dikirim selama gangguan tersebut berhasil diselesaikan, 8 hingga 69 detik setelah dikirim.

Nonce yang sama dikirim ke dua validator, sebanyak 24 kali: keduanya mengembalikan hash, tetapi hanya satu yang akhirnya diselesaikan. Tidak ada pembelanjaan ganda.

Jadi, dalam konfigurasi ini, sistem macet dan tidak mengalami fork. Pelajaran bagi aplikasi: hash yang dikembalikan bukan berarti pembayaran sudah dilakukan.

Di testnet publik, 150 pembayaran memiliki median waktu 2,44 detik dari pengiriman hingga tanda terima, berdasarkan pengamatan dari satu klien. Angka ini mencakup sekitar 0,4 detik waktu perjalanan pulang-pergi jaringan.

Batasan: satu laptop, hanya simulasi crash, sampel kecil, tidak ada pembayaran di mainnet. Satu validator yang dimulai ulang mengalami divergensi dalam pengujian awal yang berantakan. Saya tidak dapat mereproduksinya dan melaporkannya secara privat kepada Rayls.

Data dan kode: https://github.com/anshxft/rayls-axyl-failure-tests

Bukan nasihat keuangan.+