© 2023 Blockchain Commons
Authors: Wolf McNally, Christopher Allen
Date: Sep 4, 2022
This document defines a format for enclosing cryptographic seeds in Gordian Envelopes
Crypto seeds are large random numbers used to generate cryptographic keys.
The Known Values this protocol uses are defined in the Known Values Registry:
Seed(class)isA(property)name(property)note(property)date(property)outputDescriptor(property)attachment(property)
An Envelope containing a cryptographic seed has a subject that is a byte string containing the seed.
- It MUST include an
isA: Seedassertion to declare its type conforming to this document. - It MAY include a single
nameassertion, where the object MUST be a non-empty string, which MAY have been elided. - It MAY include a single
noteassertion, where the object MUST be a non-empty string, which MAY have been elided. - It MAY include a single
dateassertion, where the object MUST be a date conforming to BCR-2023-008. - It MAY include a single
outputDescriptorassertion, where the object MUST be a Bitcoin output descriptor conforming to BCR-2023-007. - It MAY include one or more
attachmentassertions conforming to BCR-2023-006.
Example:
Bytes(16) [
'isA': Seed
'attachment': {
"Attachment Data"
} [
'conformsTo': "https://example.com/seed-envelope-attachment/v1"
'vendor': "com.example"
]
'date': 2021-02-24T09:19:01Z
'name': "Dark Purple Aqua Love"
'note': "This is the note."
'outputDescriptor': "wpkh([37b5eed4/84'/0'/0']xpub6BkU445MSEBXbPjD3g2c2ch6mn8yy1SXXQUM7EwjgYiq6Wt1NDwDZ45npqWcV8uQC5oi2gHuVukoCoZZyT4HKq8EpotPMqGqxdZRuapCQ23/<0;1>/*)" [
'isA': OutputDescriptor
'name': "Example Descriptor"
'note': "This is the descriptor's note."
]
]