신원
.human 주소는 처음에는 하나의 공개 키에 대한 순수 함수입니다. **신원(identity)**은 주소가 키보다 오래 살아남게 합니다. 주소를 제어하는 키 집합이 체인 상태에 보관되므로, 키를 교체할 수 있고 잃어버렸을 때는 복구할 수 있습니다 — 주소, 잔액, 이름, 기록은 바뀌지 않습니다.
첫 교체 전과 후
| 상태 | 주소를 제어하는 주체 |
|---|---|
| 교체한 적 없고 복구도 설정하지 않음 | 주소가 도출된 키(address = f(public key)) |
| 신원 레코드가 존재 | 레코드에 있는 키만. 원래 키는 제거되는 즉시 작동을 멈춤 |
레코드는 처음으로 키를 교체하거나 복구를 설정할 때 생성됩니다. 유료 이름(.node, .app, .vault, .agent)은 그 이름을 소유한 .human 지갑의 신원을 따릅니다.
curl -s "$GATEWAY/api/v1/identity/neuro:<15 hex>.human"
# { "address": "…", "keys": ["<pk1>", "<pk2>"], "version": 2, "rotated_at": 4210, "recovery": { … } }키 교체
owner, add(추가할 공개 키, 또는 빈 값), remove(제거할 공개 키, 또는 빈 값)와 함께 POST /api/v1/identity/rotate를 호출하며, 현재 활성 키로 다음에 서명합니다.
nc-rotate|<owner>|<add>|<remove>|<nonce>- 마지막으로 남은 키는 제거할 수 없습니다.
- 서명이 정확한 변경 내용을 포함하므로, 도중에 누구도 이를 바꿀 수 없습니다.
- 모든 검증자에서 합의를 통해 적용됩니다.
새 기기로 옮기는 일반적인 방법: 기존 기기에서 새 키를 추가한 다음, 새 키로 기존 키를 제거합니다.
소셜 복구
모든 키를 잃어버렸다면 가디언이 접근 권한을 되찾아 줄 수 있습니다.
설정
POST /api/v1/identity/recovery/setup — 활성 키로 서명합니다.
| 필드 | 규칙 |
|---|---|
guardians | 하나 이상의 .human 주소, 자신의 주소는 불가 |
threshold | 승인해야 하는 가디언 수: 1부터 가디언 수까지 |
timelock | 임계값에 도달한 후 기다리는 블록 수로, 여러분이 거부할 시간을 줌 |
복구는 .human 주소에서만 사용할 수 있습니다.
복구하기
- 요청 — 새 기기에서
target(여러분의 주소)과new_key로POST /api/v1/identity/recovery/request를 호출하고, 새 키로 서명합니다. 상태pending. - 승인 — 각 가디언이
POST /api/v1/identity/recovery/approve(target,guardian)를 호출합니다. 승인 수가 임계값에 도달하면 요청은executes_at = now + timelock과 함께armed가 됩니다. - 실행 —
executes_at에 모든 검증자가 신원의 키를new_key로 자동 교체합니다.
실행 전에는 언제든지:
| 누가 | 할 수 있는 일 | 엔드포인트 |
|---|---|---|
| 여러분, 아무 활성 키로 | 거부 | POST /api/v1/identity/recovery/cancel |
| 가디언 | 반려 | POST /api/v1/identity/recovery/reject |
| 요청자 | 철회 | POST /api/v1/identity/recovery/withdraw |
조회: GET /api/v1/identity/recovery/:addr(설정과 진행 중인 요청), GET /api/v1/identity/guardian-of/:addr(여러분이 가디언인 대상), GET /api/v1/identity/recovery/initiated/:pk(새 키가 시작한 요청).
타임락은 신중하게 선택하세요
타임락은 여러분이 시작하지 않은 복구를 알아차릴 수 있는 시간입니다. 너무 짧으면 공모한 가디언들이 여러분이 대응하기 전에 주소를 가져갈 수 있고, 너무 길면 실제 복구에도 그만큼 시간이 걸립니다.
계획
신원 레코드는 키 이상의 것을 담도록 설계되었습니다: 온체인 행동으로 쌓은 평판, 그에 대한 영지식 증명, 그리고 다른 체인이 이를 읽을 수 있게 하는 IBC v2 패킷. 이 중 어느 것도 아직 존재하지 않습니다.