Document Status
This is an initial draft of the SDF32™ 1.0 specification.
While this draft has been released, it has not been approved by any standards body.
Implementors should periodically check the SDF32 online resources (see #Online Resources tab) for the current status of SDF32 documentation.
Abstract
The Signed DAG Format 32 Byte (SDF32) specification provides a convenient format for signed directional acyclic graphs (SDAGs).
The SDF32 specification is inspired by the patent-free SSF32 specification and is designed to provide a poratble, legally unencumbered, highly-secure, well-specified standard for encoding and decoding directional acyclic graphs constructed from SSF in a manner which .... .
The initial motivation for the SDF32 standard was to have a convenient, extensible, compact & cryptographically secure method for proving two or more transformations of some source document are related, either directly or indirectly, through some arbitrary (non-cyclic) chain of transformations.
The SDF32 file format is a patent-free format licensed under the Apache 2.0 License.
This specification defines the Internet Media Type "application/sdf32".
Please review either the #License tab or the repository LICENSE.md for more information.
SDF32 retains the following features from the PNG Standard & SSF32 Standard:
- Complete hardware and platform independence.
- Effective, 100% lossless compression via gzdeflate.
- Reliable, straightforward detection of data/file corruption.
SDF32 is designed to be:
- Simple & portable.
- Secure: Reasonably cryptographically resistant to tampering or data corruption.
- Legally unencumbered: to the best knowledge of the SSF32 authors, no algorithms under legal challenge are used.
- Well compressed, implementing gzdeflate algorithm.
- Flexible: Allows for future extensions without compromising the fundementals of the specification.
- Robust: Designed to support full file integrity, including: simple, quick detection of common transmission errors, while also supporting highly optimized, industry standard cryptographic validation algorithms.
- Acyclic: Graphs which result in circular structures are not supported.
The primary purpose of this specification is to provide the definition of the Signed DAG Format and recommendations for the minimum required behaviour for renderers, parsers and verifiers.
The #Appendix tab provides additional documentation, including rational for all design decisions.
While the #Appendix tab and its content are not part of the formal specification, it helps implementors to understand the design and intent behind this document. Its other purpose is to provide cross-references to relevant sections of rationale, examples or other supporting material.
Terms
The key words in this document:
- "MUST"
- "MUST NOT"
- "REQUIRED"
- "SHALL"
- "SHALL NOT"
- "SHOULD"
- "SHOULD NOT"
- "RECOMMENDED"
- "MAY"
- and "OPTIONAL"
are to be interpreted as described in RFC-2119.
Pronunciation
Phonetically, SDF is pronounced: "ɛs-di-ɛf".