20.06.2026 12:42

Bezpieczeństwo transakcji: atomowość, idempotencja i pełna księgowość

⏱️ 4 min czytania
Udostępnij:

Bezpieczeństwo transakcji: atomowość, idempotencja i pełna księgowość

Pieniądze to fundament zaufania na platformie dla twórców. Dlatego przeprowadziliśmy gruntowny przegląd bezpieczeństwa całego systemu transakcji — wpłat, wypłat, transferów między użytkownikami, prezentów, prowizji i zakupów — i wprowadziliśmy szereg utwardzeń. Poniżej, bez wchodzenia w szczegóły techniczne, co konkretnie się zmieniło i dlaczego ma to znaczenie dla każdego, kto zarabia lub wydaje monety w Moonlight.

Jeden, twardy strażnik salda

Wszystkie operacje zmieniające saldo monet przechodzą teraz przez jeden, centralnie zabezpieczony mechanizm rozliczeń. Pilnuje on trzech rzeczy naraz:

  • Atomowość — pobranie i zapisanie środków dzieje się jako jedna, niepodzielna operacja. Albo wszystko, albo nic.
  • Blokada współbieżności — gdy w tej samej chwili przyjdzie kilka żądań dotyczących tego samego konta (np. przez podwójne kliknięcie albo ponowienie po słabym połączeniu), są one ustawiane w kolejce i obsługiwane pojedynczo. Dzięki temu nie da się „prześcignąć" systemu i wydać tych samych monet dwa razy.
  • Ochrona przed ujemnymi kwotami — każda operacja jest walidowana u źródła, więc kwota nigdy nie może zadziałać „w drugą stronę".

Idempotencja: bezpieczne ponawianie

Internet bywa zawodny — żądania się gubią, przeglądarki ponawiają, użytkownicy klikają dwa razy. Wprowadziliśmy deterministyczne klucze idempotencji: jeśli ta sama operacja trafi do systemu więcej niż raz, zostanie rozpoznana i wykonana dokładnie jeden raz. Kupno rozdziału, odblokowanie treści, napiwek czy prezent nie obciążą Cię podwójnie, nawet przy ponowieniu.

Wypłaty z pełną księgowością

Najważniejsza zmiana dotyczy wypłat dla twórców. System prowadzi teraz pełną, dwustronną księgę: każda wypłata jest natychmiast rezerwowana i odejmowana od dostępnego salda, a środki wracają do puli automatycznie, jeśli przelew się nie powiedzie lub zostanie odrzucony. Saldo dostępne do wypłaty jest dzięki temu zawsze spójne — niezależnie od tego, ile wniosków złożysz i jak szybko po sobie. Każdy przelew jest dodatkowo zabezpieczony przed przypadkowym zdublowaniem po stronie operatora płatności.

Spójne, przewidywalne prowizje

Ujednoliciliśmy naliczanie prowizji platformy w jednym miejscu. Koniec z rozjazdami między różnymi typami transakcji — stawka jest liczona z jednego, centralnego źródła, więc twórcy i platforma zawsze rozliczają się według tych samych, przejrzystych zasad.

Niezawodne doładowania

Doładowania monet opierają się teraz na potwierdzeniu od operatora płatności jako źródle prawdy, z zabezpieczeniem idempotentnym. W praktyce: jeśli płatność przejdzie, monety trafią na konto — nawet jeśli po drodze zamkniesz kartę przeglądarki lub stracisz połączenie. A jednocześnie nie da się ich naliczyć dwa razy.

Transfery między użytkownikami

Prezenty i napiwki przechodzą przez ten sam, zabezpieczony mechanizm, co reszta systemu — z zachowaniem wartości (to, co wychodzi od nadawcy, trafia do odbiorcy i platformy zgodnie z prowizją), w tej samej walucie i z pełnym śladem księgowym. Spory wokół zleceń (commissions) rozliczają się idempotentnie, bez ryzyka podwójnej wypłaty czy podwójnego zwrotu.

Pokrycie testami

Całość jest objęta zestawem testów automatycznych, które sprawdzają najtrudniejsze scenariusze: współbieżne żądania, ponowienia, brak środków, nieudane przelewy i zwroty rezerwacji. Bezpieczeństwo pieniędzy nie może opierać się na założeniach — opiera się na testach, które uruchamiamy przy każdej zmianie.


To praca, której na co dzień nie widać — ale to właśnie ona sprawia, że saldo zawsze się zgadza, a Twoje monety i wypłaty są bezpieczne. Robimy to, byście mogli skupić się na tworzeniu.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.