블록체인 진짜 합의 — 자동봉인 + 부트스트랩 + 최장체인 포크해소
개요
경량 블록체인을 나카모토식 합의까지 심화. 자동 블록봉인, 노드 합류 부트스트랩, 최장체인 포크해소. 원장은 CRDT 합집합(포크 넘어 머지), 체인은 최장 유효체인이 정렬·무결성 담당.
구현 (노드.한선/노드서버.한선)
- 노드_자동봉인(N,임계): 대기 op≥임계(3)면 블록 자동 생성. /api/mint·/api/recv 후 호출.
- 노드_체인직렬/체인파싱: 블록 체인 ↔ 텍스트(높이|이전|ops해시|시각|블록해시).
- 노드_외부체인검증: 외부 체인 해시재계산+링크검증 → 팁높이 / 무효 -1.
- 노드_체인채택(N,외부): 외부 유효 AND 외부높이>내높이 → 체인 교체(최장체인). 아니면 유지.
- /api/chain(체인 제공) /api/chainsync?host=&port=(피어 체인+oplog 당겨 최장체인 채택+ops머지) /api/seal(수동봉인).
- 라우트 순서: chainsync→chain (포함 substring 충돌 회피).
실측 검증 (3노드 9412/13/14)
- 자동봉인: A 6 mint → 임계3 → 2블록 자동 봉인, 높이 2, 체인검증 무결.
- 부트스트랩: fresh B(높이0) → chainsync A → 0→2 채택 + 원장 복원(계정1=100), opcount 6.
- 포크해소: C 자기포크(높이1) → chainsync A → 1→2 A채택(팁 동일), opcount 9.
- 거부: A → chainsync C(같은높이2) → 2 유지(최장체인 규칙).
- 변조탐지(직전 라운드): ops해시 손상 → 체인검증 = -(높이+1) 음수.
누적: 블록체인 코어 완성도
블록+해시체인+머클 / 변조탐지 / 자동봉인 / 자동가십(직접푸시) / 부트스트랩 / 최장체인 포크해소 / 통합원장(맘·대출·크라우니달러) / 양방향 트윈 살아있는 책.
잔여
- 블록 주기 봉인(시간기반), 머클 증명(특정 op 포함증명), 노드 디스커버리(피어 자동발견), 지속 가십 루프(주기 chainsync).