Clawnet 리팩토링 (프로토콜 + 인증 통합)
목적
단일하고 엄격한 문서:
- 현재 상태: 프로토콜, 흐름, 신뢰 경계.
- 문제점: 승인, 다중 홉 라우팅, UI 중복.
- 제안된 새 상태: 하나의 프로토콜, 범위 지정된 역할, 통합 인증/페어링, TLS 피닝.
- 식별 모델: 안정적 ID + 귀여운 슬러그.
- 마이그레이션 계획, 위험, 미결 질문.
목표
- 모든 클라이언트(mac 앱, CLI, iOS, Android, 헤드리스 노드)를 위한 하나의 프로토콜.
- 모든 네트워크 참여자가 인증 + 페어링됨.
- 역할 명확성: 노드 vs 운영자.
- 사용자가 있는 곳으로 라우팅되는 중앙 승인.
- 모든 원격 트래픽에 TLS 암호화 + 선택적 피닝.
- 최소한의 코드 중복.
- 단일 머신이 한 번만 표시 (UI/노드 중복 항목 없음).
제안된 새 상태 (Clawnet)
하나의 프로토콜, 두 역할
역할 + 범위가 있는 단일 WS 프로토콜.
- 역할: node (기능 호스트)
- 역할: operator (제어 플레인)
- 운영자를 위한 선택적 범위:
operator.read(상태 + 조회)operator.write(에이전트 실행, 전송)operator.admin(설정, 채널, 모델)
핵심 규칙
역할은 연결별이며, 디바이스별이 아닙니다. 디바이스가 두 역할을 별도로 열 수 있습니다.
통합 인증 + 페어링
디바이스 바인딩 인증 (베어러 토큰 재생 방지)
권장: 디바이스 키 페어.
- 디바이스가 키 페어를 한 번 생성.
deviceId = fingerprint(publicKey).- 게이트웨이가 논스를 전송; 디바이스가 서명; 게이트웨이가 검증.
- 토큰은 문자열이 아닌 공개 키(소유 증명)에 발급.
승인 재설계 (중앙화)
승인이 게이트웨이 호스팅이며, 운영자 클라이언트에 UI가 전달됩니다.
이점:
- 사용자가 있는 곳(mac/폰)에 프롬프트가 표시.
- 원격 노드에 대한 일관된 승인.
- 노드 런타임은 헤드리스 유지; UI 의존성 없음.
식별 + 슬러그
안정적 ID
인증에 필요; 변경되지 않음. 권장: 키 페어 지문 (공개 키 해시).
귀여운 슬러그 (랍스터 테마)
사람 라벨 전용.
- 예시:
scarlet-claw,saltwave,mantis-pinch.
마이그레이션 전략
0단계부터 6단계까지 점진적 마이그레이션으로, 역할/범위 추가, 브릿지 호환성, 중앙 승인, TLS 통합, 브릿지 폐지, 디바이스 바인딩 인증 순서로 진행합니다.
요약
- 현재: WS 제어 플레인 + Bridge 노드 전송.
- 문제: 승인 + 중복 + 두 스택.
- 제안: 명시적 역할 + 범위가 있는 하나의 WS 프로토콜, 통합 페어링 + TLS 피닝, 게이트웨이 호스팅 승인, 안정적 디바이스 ID + 귀여운 슬러그.
- 결과: 더 간단한 UX, 더 강한 보안, 더 적은 중복, 더 나은 모바일 라우팅.