원문은 IPLD Github specs 에서 확인 가능하다. IPLD DAG-CBOR

Specification: DAG-CBOR

DAG-CBOR은 전체 IPLD Data Model을 지원한다.

CBOR은 이미 모든 IPLD Data Model Kinds를 기본적으로 지원한다.

1. Format

CBOR IPLD 형식은 일반 CBOR과의 모호성을 제거하기 위해 DagCBOR라고한다. 대부분의 CBOR 객체는 유효한 DagCBOR이다. 유일한 제한은 tag 42 가 있는 필드는 유효한 CID 여야 한다는 것이다.

2. Map Key Restriction

모든 IPLD 형식과 마찬가지로 DagCBOR는 Merkle-Link를 인코딩 할 수 있어야한다. DagCBOR에서 링크는 tag 42와 함께 byte-string type (주요 유형 2)이있는 필드에서 raw-binary (identity, NUL) 멀티베이스를 사용하여 인코딩된다.

DagCBOR에서 맵 키는 문자열이어야 한다. 맵 키는 /를 사용하면 안된다.

3. Canonical DagCBOR

Canonical DagCBOR must:

  • CID tag (42) 이외의 태그는 사용하지 말것. 다른 태그는 전환시 손실될 수 있다.
  • [canonical CBOR] https://tools.ietf.org/html/rfc7049#section-3.9) 인코딩을 사용하여야 한다.
  • string map keys 만 사용하여야 한다.