소개
Label 309이 무엇인지, 어떤 원칙을 보장하는지, 그리고 누구나 서버를 신뢰하지 않고도 레코드를 검증할 수 있는 방법을 설명합니다.
Label 309은 Cardano 블록체인 상의 존재 증명(Proof of Existence, PoE) 을 위한 개방형 표준입니다. 게시자는 어떤 콘텐츠의 암호학적 해시를 계산하여 메타데이터 라벨 309 아래 Cardano 트랜잭션에 기록합니다. 그 순간부터 트랜잭션 참조를 보유한 사람은 누구나 해당 콘텐츠가 그 블록 시각 또는 그 이전에 존재했음을 증명할 수 있습니다. 이때 필요한 것은 공개된 블록체인뿐이며, 게시자나 도메인, 어떤 서버도 신뢰할 필요가 없습니다.
이 표준은 그 핵심을 의도적으로 작게 유지합니다. 콘텐츠 해시 그 자체 가 주장이며, 그 밖의 모든 것은 그에 관한 선택적 메타데이터일 뿐입니다. 이 핵심 위에 표준은 선택적인 저작자 서명과, 특정 수신자를 대상으로 암호화된("봉인된") 페이로드를 정의합니다. 그러나 그 어느 것도 신뢰할 수 있는 중개자를 요구하지 않습니다.
다섯 가지 불변 원칙
Label 309의 모든 것은 타협할 수 없는 다섯 가지 원칙에서 비롯됩니다.
- 콘텐츠 우선. 콘텐츠 해시가 주된 주장이며, 그 밖의 모든 필드는 그에 관한 메타데이터입니다.
- 발행자 비의존. 어떤 지갑이든 레코드를 게시할 수 있습니다. 검증자는 결코 게시자를 신뢰하지 않습니다.
- 저장소 비의존. 저장소 URI는 선택적이며 복수로 지정할 수 있는 목록(
ar://,ipfs://)입니다. 해시만 담은 레코드도 완전히 유효합니다. - 단독 검증 가능. 검증자에게 필요한 것은 트랜잭션 메타데이터와, 필요에 따라 콘텐츠 바이트, 그리고 공개된 블록체인 익스플로러뿐입니다. 발행자의 서버는 결코 필요하지 않습니다.
- 알고리즘 민첩성. 해시, AEAD, KEM, KDF, 서명은 모두 확장 가능한 레지스트리에 등록된 명명된 식별자를 참조합니다. 포스트 양자 알고리즘으로의 이행은 호환성을 깨뜨리는 변경이 아니라 추가로 이루어집니다.
적합성 프로파일
레코드는 단순한 타임스탬프부터 암호화되어 수신자를 대상으로 지정된 페이로드까지, 계층화된 네 가지 프로파일 중 하나로 동작합니다. 각 프로파일은 바로 위 프로파일의 엄격한 상위 집합입니다.
| 프로파일 | 추가되는 것 | 답하는 질문 |
|---|---|---|
| core | 라벨 309 아래의 콘텐츠 해시 | "이 콘텐츠는 시각 T까지 존재했다" |
| signed | 하나 이상의 COSE_Sign1 레코드 서명 | "…그리고 이 키가 그것을 보증한다" |
| sealed | 암호화된 페이로드(패스프레이즈 또는 수신자) | "…기밀로 유지되지만, 타임스탬프가 찍힌다" |
| recipient-sealed | 수신자별 키 슬롯(X25519 또는 X-Wing) | "…특정 키로 전달되어 비공개로 보관된다" |
저작자 서명과 암호화는 항상 선택 사항입니다. core만 이해하는 검증자라도 어떤
레코드의 타임스탬프 주장이든 여전히 검증할 수 있습니다.
한눈에 보는 검증
Label 309은 세 가지 검증자 역할을 정의하며, 각 역할은 바로 이전 역할을 엄격하게 확장한 것입니다.
- 구조 검증기 — 레코드 바이트에 대한 순수 함수입니다. 네트워크 통신도, 서명 검사도, 복호화도 하지 않습니다. 오직 레코드가 스키마와 표준의 규칙에 맞게 올바로 구성되어 있는지만 확인합니다.
- 공개 검증자 — 공개된 익스플로러에서 트랜잭션을 가져와 구조 검증을 실행하고, 레코드가 온체인에 기록되어 있음을 확인한 뒤 저작자 서명을 검증합니다. 복호화는 하지 않습니다.
- 수신자 검증자 — 공개 검증자에 더해 개인 키를 보유하며, 자신을 대상으로 봉인된 페이로드를 복호화하고 평문 해시를 재계산합니다.
모든 역할이 공개 데이터와 검증자가 직접 선택한 익스플로러만으로 동작하므로, 검증은 결코 게시자의 인프라에 의존하지 않습니다.
핵심 속성
Label 309 증명은 스스로 확인할 수 있는 것입니다. 트랜잭션 참조와, 콘텐츠에 관한 주장이라면 원본 바이트만 있으면, 어떤 적합한 구현이든 공개된 체인만으로 동일한 판정에 도달합니다.
이 사양서의 구성
이어지는 각 장에서는 와이어 포맷(라벨 309 아래의 레코드), 알고리즘 레지스트리, 암호 키 모델, 저작자 서명, 봉인(암호화) 전달, 검증 파이프라인과 그 오류 목록, 보안 모델, 그리고 언어 간 적합성 계약을 정의합니다. 각 페이지는 자기 완결적이며, 구현자에게 필요한 명명된 상수와 규칙을 명시합니다.