NIP-13: 작업 증명
NIP-13은 Nostr 이벤트에 대한 작업 증명(Proof of Work) 시스템을 정의하며, 스팸 방지 수단으로 이벤트 생성 시 연산 작업을 요구한다.
작동 방식
작업 증명은 지정된 수의 선행 제로 비트를 가진 이벤트 ID(SHA256 해시)를 찾는 것으로 입증된다:
- 난이도: 선행 제로 비트 수로 측정 (예: 20비트 = 평균 2^20회 시도)
- Nonce 태그: 이벤트에 nonce 값과 목표 난이도가 포함된
nonce태그를 추가 - 검증: 릴레이와 클라이언트가 작업 완료 여부를 빠르게 확인 가능
{
"tags": [["nonce", "12345", "20"]],
...
}
난이도 수준
| 비트 | 평균 시도 횟수 | 일반적 용도 |
|---|---|---|
| 8 | 256 | 최소 스팸 억제 |
| 16 | 65,536 | 가벼운 필터링 |
| 20 | 1,048,576 | 중간 수준 보호 |
| 24 | 16,777,216 | 강력한 스팸 방어 |
왜 중요한가
- 릴레이 입장 조건: 릴레이가 이벤트 수락 시 최소 PoW를 요구할 수 있음
- 속도 제한: 계정 등록 같은 행위에 높은 난이도 적용 가능
- 스팸 필터링: 클라이언트가 피드에서 높은 PoW 이벤트를 우선 표시 가능
- 평판 부트스트랩: 신규 계정이 PoW를 통해 신뢰도를 증명 가능
핵심 속성은 비대칭 비용이다. 발신자가 다수의 유효한 이벤트를 생성하려면 비용이 많이 들지만, 릴레이와 클라이언트가 증명을 확인하는 비용은 낮다.
절충점
- 고성능 하드웨어를 가진 사용자에게 유리
- 에너지 소비 문제
- 모든 스팸을 차단하지는 못하며, 비용만 높일 뿐
PoW는 스팸 방어를 계정 신원에서 연산 능력으로 이동시킨다. 허가 불필요 환경에서는 도움이 되지만, 정당한 신규 사용자와 자금력이 있는 스패머를 구별하지는 못한다.
주요 출처:
언급된 뉴스레터:
같이 보기: