Satu hal terus menggangguku saat membaca tentang eksekusi otomatis di blockchain.

Biasanya kita membayangkan pemeriksaan izin terjadi satu transaksi pada satu waktu.

Nyatanya jauh lebih berantakan.

Sistem perdagangan besar sering mengirim banyak permintaan secara bersamaan dari akun pintar yang sama. Jika mesin otorisasi mengevaluasi permintaan-permintaan itu secara paralel, setiap transaksi dapat sementara "melihat" batas belanja yang tersedia yang sama sebelum blockchain memperbarui status akun.

Itu menimbulkan masalah rekayasa yang dikenal sebagai permission interleaving.

Bayangkan Transaksi A disetujui karena akun masih memiliki cukup batas tersedia.

Milidetik kemudian, Transaksi B juga disetujui dengan alasan yang persis sama.

Tidak satu pun permintaan yang mengetahui bahwa yang lain sudah lebih dulu menyisihkan sebagian dari batas tersebut.

Hasilnya tidak selalu berarti blockchain rusak.

Ini adalah kondisi balapan (race condition) di dalam alur kerja otorisasi itu sendiri.

Karena itulah sistem izin modern pada akhirnya mungkin perlu menggunakan deterministic sequence locking, bukan hanya bergantung pada validasi yang cepat.

Kadang bagian tersulit dari otomatisasi bukanlah mengeksekusi transaksi.

Melainkan memastikan beberapa transaksi tidak secara tidak sengaja mempercayai saldo yang sama pada waktu yang bersamaan.

@NewtonProtocol #Newt #BinanceTurns9 #ZcashRises1190%OverPastYear #SKHynixSharesFallInSeoulAfterUSDebut #StrategySells3588BTCForDividends

$VELVET $DODO $NEWT

⚡ Jika beberapa transaksi otomatis tiba bersamaan, apa yang seharusnya terjadi lebih dulu?
🔒 Lock the permissions
50%
⚖️ Check available balance
50%
🚀 Process everything together
0%
🤔 Not sure
0%
2 Voting • Voting ditutup