NIP-13: 작업 증명
NIP-13은 Nostr event를 위한 작업 증명 시스템을 정의하여, 스팸 방지 메커니즘으로 event 생성에 계산 노력을 요구합니다.
작동 방식
작업 증명은 지정된 수의 선행 제로 비트를 가진 event ID(SHA256 해시)를 찾아 입증됩니다:
- 난이도: 선행 제로 비트로 측정 (예: 20비트 = 평균 2^20회 시도)
- Nonce 태그: Event에 nonce 값과 목표 난이도가 포함된
nonce태그 포함 - 검증: Relay와 클라이언트가 작업이 수행되었는지 빠르게 검증 가능
{
"tags": [["nonce", "12345", "20"]],
...
}
난이도 수준
| 비트 | 평균 시도 횟수 | 일반적 용도 |
|---|---|---|
| 8 | 256 | 최소 스팸 억제 |
| 16 | 65,536 | 가벼운 필터링 |
| 20 | 1,048,576 | 적당한 보호 |
| 24 | 16,777,216 | 강력한 스팸 저항 |
사용 사례
- Relay 입장: Relay가 event 수락을 위해 최소 PoW를 요구할 수 있음
- 속도 제한: 계정 등록 같은 작업에 더 높은 난이도
- 스팸 필터링: 클라이언트가 피드에서 높은 PoW event를 우선시할 수 있음
- 평판 부트스트랩: 새 계정이 PoW를 통해 헌신을 입증할 수 있음
제한 사항
- 강력한 하드웨어를 가진 사용자에게 유리
- 에너지 소비 우려
- 모든 스팸을 방지하지 못하고 비용만 높임
관련 항목
- NIP-01 - 기본 프로토콜