방주 머클 봉인 결선 — 존재증명 → 암호학적 머클 증명
개요
방주 등록물의 존재증명을 "WAL에 있나" 조회에서
머클 포함증명으로 강화. 체인결선/통합체인 패턴 재사용. 모델분업: 빌드=소넷, 적대검증=오푸스.
구성물
- 방주봉인.한선 (253줄, 순수 lib): 방주_봉인_실행(방주.wal→노드 머클블록→방주체인.chain), 방주_머클증명(레코드해시→경로+루트+검증), 방주봉인_검증(자가회귀).
- 방주봉인_검증.한선: 러너.
- op 매핑: ARK 레코드 → 머클 리프
<레코드해시>|M|<소유지갑>|-|0 → "이 해시(레코드)가 이 지갑 소유로 봉인됨" 증명.
적대검증 (오푸스 — 독립 재현)
- 독립 재실행: 15 레코드 봉인, 블록높이 1, 체인검증 유효, 머클증명 양성 검증=1, 위조 해시 음성 거부(found=0). 2/2.
- trustless 링크: 증명 루트 4fe04b6b… == 방주체인.chain 블록1 ops해시 4fe04b6b… 정확 일치 → 라이트클라이언트가 레코드 증명을 블록헤더에 연결 검증.
- 결정성: 방주체인.chain sha 2e1aeb99… 재봉인 0diff.
- 방주.wal(소스) 무접촉 7aed3c69…. 순수 lib 확인(단독 실행 무출력).
관련 파일
- /Users/ef/crowny-data/services/방주봉인.한선, 방주봉인_검증.한선
- /Users/ef/crowny-data/ark/방주체인.chain, 방주노드.wal(.blocks)
잔여 / 다음
- 방주서버 /api/merkleproof 라우트 추가(방주_머클증명 노출) — 현재 /api/proof는 WAL 조회. 머클 증명으로 업그레이드.
- 결선자동화 패턴으로 방주.wal mtime 변화 시 방주봉인 자동 재실행.
- 체인검증기 패턴의 방주 trustless 검증기.