Bloga dön

Security31 Ağu 2026

Bir çekimden önce iki imza

ZenbooxResmî blog

Paranın bir platformdan ayrılması, dikkatin neredeyse hiçbir şeye mal olmadığı, dikkatsizliğin ise her şeye mal olduğu tek işlemdir. Talebiniz ile transfer arasında olanlar şunlardır.

TALEP ETTİĞİNİZDE

Bir çekim, tek kullanımlık bir kodla başlar. Kod atomik olarak tüketilir; böylece aynı anda iki talep gelse bile tam olarak bir kez geçerlidir.

Bakiyeniz daha sonra, çekimi yazan veritabanı işleminden önce değil, o işlemin içinde denetlenir. Günlük bir üst sınır vardır ve gün, kodun tek bir yerinden hesaplanan bir UTC günüdür; böylece bir sunucunun saat dilimi değiştiğinde pencere sessizce kaymaz.

Talep ayrıca bir idempotency anahtarı taşır. Bağlantınız koparsa ve uygulama yeniden denerse, ikinci bir çekim değil, aynı çekim geri döner.

BİZ KARAR VERDİĞİMİZDE

Bir çekimi, o sırada sisteme girmiş olan herhangi biri serbest bırakmaz.

Personel rolleri birbirinden ayrılmıştır. Bir operatör görebilir ve hazırlayabilir, ancak bir çekim kararını yalnızca Approver ya da Admin rolündeki biri verebilir. Ve bir talebi oluşturan kişi onu onaylayamaz. Dört göz kuralı budur.

İki yarı da önemlidir ve nedenini zor yoldan öğrendik. Dört göz kuralı tek başına, oluşturan kişinin onaylayamayacağını söyler. Bir çekimde oluşturan kişi yatırımcıdır; dolayısıyla kural hiçbir zaman devreye girmiyordu ve en alt personel rolü, paranın ayrılmasını ikinci bir imza olmadan onaylayabiliyordu. Approver rolü kodda vardı ve hiçbir şeyi korumuyordu. Tanımlanmış ama uygulanmayan bir yetki, hiç var olmamış bir yetkiden daha yanıltıcıdır.

Bir çekim reddedilirse tutar kullanılabilir bakiyenize döner ve size bildirim yapılır. Hiçbir şey askıda kalmaz.

HENÜZ YAPMADIKLARIMIZ

Referans oranı değişiklikleri bugün ikinci bir imza gerektirmiyor. Böyle bir değişiklik geçmişi bozmaz, çünkü ödenmiş komisyonlar hesaplandıkları oran sürümüne bağlı kalır; ancak gelecekteki oranı şu anda tek bir kişi belirliyor.

İzlenimi değil, boşluğu yayımlamayı tercih ederiz.