25. Anti-patterns
발견 즉시 immediate stop절대 안 되는 5 가지 storage 오류
- Forbidden 의 plaintext storage — private key / MPC share / recovery passphrase 를 DB column 에
- Append-only 의 silent rewrite — "잘못된 audit_event 를 UPDATE"
- Mutable 의 derived value 를 canonical 로 — balance cache 를 ledger truth 로
- Runtime 의 persistence — MPC partial signature 를 Redis 에
- External 의 cache 를 fresh state 로 가정 — Chain RPC cache 를 canonical 로
도메인 별 anti-patterns
| Anti-pattern | 왜 안 좋은가 |
|---|---|
users.role mutable + history 없음 | 누가 / 언제 / 왜 role 바뀌었는지 추적 불가 |
workspaces.owner_user_id mutable | Owner identity = workspace identity, 변경은 Transfer Owner 절차만 |
audit_events 의 row UPDATE / DELETE | hash chain 영구 손상 — high-severity violation |
balance 를 FLOAT 또는 DOUBLE | floating-point error — wei 단위 손실 가능 |
| 음수 balance 허용 | overdraft = architectural violation |
transactions.raw_payload_cbor UPDATE | 서명된 payload 변조 — TEE / SGX 의 의미 무력화 |
transactions.tx_hash mutable | chain ↔ DB binding 깨짐 |
approval_decisions.verdict UPDATE | 사후 verdict 변경 = policy engine 무력화 |
signing_events 의 partial_sig_hash mutable | 사후 재서명 가능 — zero-trust 무력화 |
| Console 에 "approve" 버튼 추가 (정책 우회) | governance separation 무력화 — Owner / Quorum 흐름 우회 |
| TEE / SGX 없는 checkpoint (단순 SHA-256) | 운영자가 hash 재계산 가능 — checkpoint 무력화 |
Reorg 처리 시 chain_events 이전 row UPDATE | append-only 위반 |
| Finality threshold 무시 (1 confirmation 에서 ledger 반영) | reorg risk |
| Reconciliation Service 에 write 권한 | 권한 분리 위반 |
| Mismatch 자동 정정 (사람 결정 없이) | audit defense 약화 |
| API credential plaintext DB 저장 | forbidden storage 위반 |
| Recovery passphrase hash 저장 | passphrase 자체가 forbidden — hash 도 brute-force 가능성 |
| Online machine 에서 Workspace Keys Recovery 실행 | Fireblocks 명시 SPOC 경고 — private key "considered exposed and compromised" |
이 문서가 다루지 않는 것
- SQL DDL 통째로 dump — 본 문서는 reasoning
- ORM 매핑 — 언어 / framework 의존
- MPC 프로토콜 detail — cryptography tutorial 회피 (MPC-CMP 의 라운드 구조는 본 문서 범위 외)
- 특정 MySQL 버전 / storage engine 추천 — 운영 환경 의존
- TPS / latency / capacity 수치 — institution scale 의존
- Fireblocks vendor 추천 — 본 문서는 Fireblocks 의 구조를 mirror 한 architecture reference