Overview

The address document library (/mufl/mufl_stdlib/cryptography/address_document.mm) is a crucial component of the MUFL Standard Library. It provides an interface to interact with the address document, an essential construct that encapsulates the identity and other critical attributes of an ADAPT packet. The address document library aids secure and trusted communication between packets in the ADAPT network.

Address Document Structure

metadef t_address_document: 
    ( 
        $version->int, // version of the address document
        $identity -> t_container_identity: // specifies the identity of the container
        (
            $key_list->t_publickey(,), // list of keys active with this container
            $default_keys->t_function->>t_key_id, // exactly two keys, one for signing, one for encryption, that are the default keys for this container
            $container_id->t_container_id // id of the container
            /* $code_id->hash_code */ 
        ), 
        $authorizations -> crypto_signature(,)
    ).

Fields

Version

The version field indicates the version of the address document. This data allows the system to manage changes and updates over time, ensuring backward compatibility or providing the necessary alerts when dealing with different versions.

Identity

The identity field specifies the identity of a packet. It includes the container_id and a key_list, which is a list of public keys active with the packet. The identity field also includes the two default_keys the packet uses, one for signing operations and the other for encryption.

The container_id is the packet ID.

The key_list provides the public keys of the packet, which are used to secure communication with the packet. These keys can be utilized to encrypt data sent to the packet, ensuring the confidentiality of transmitted data.

Authorizations

The authorizations field contains the signatures of the address document from authorizing packets. When two packets have the same authorizing packets, they can trust each other’s signatures. This mutual trust enables secure communication and interaction between packets. The ability to trust another packet based on shared authorization significantly enhances the flexibility and security of inter-packet communication in the ADAPT network.

By understanding these attributes and their usage, you can effectively utilize the address document library in MUFL code to ensure secure, trusted communication within the ADAPT network.