계좌 lock 하나가 보호하는 불변식 범위

write뿐 아니라 일관된 read와 snapshot도 같은 identity를 사용한다.

private final lock

Validate

amount와 현재 balance를 비교한다

inside

Commit

검증 뒤 balance를 차감한다

inside

Read

현재 balance를 같은 edge에서 본다

inside

Outside work

입력 정규화와 독립 계산을 수행한다

outside

핵심: network I/O를 lock 안에 넣기보다 reservation과 transaction 경계를 재설계한다.