Bitmap Blocktributes

Inscribe attributes to your bitcoin blocks.

Bitmap is an open-source standard that allows anyone to ascribe ownership of a Bitcoin Block by inscribing it onto a Satoshi using Ordinals and the Bitmap standard. This process is equitable and decentralized, turning any Bitcoin block into a part of the Metaverse at the cost of energy.

Map

Browse, inscribe, trade and customize land on the bitmap

Blocktributes

A system that allows bitmap block owners to add attributes to a bitmap block, which can serve as a means for them to express their creativity and potentially enhance the value or features of their land. This can lead to a diverse and dynamic virtual environment where each block can become unique and distinct from others. By enhancing their blocks with creative attributes, owners may be able to increase the value of their virtual property, attract visitors, or create engaging experiences for other users. It could potentially foster a collaborative and interactive ecosystem where each block owner contributes to the overall experience and growth of the platform.

Protocol

  1. Selection of Blocks: Bitmap block owners are allowed to choose any number of blocks that they own to inscribe attributes on. This means they have the freedom to decide which specific blocks they want to modify or enhance.

  2. Inscription of Attributes: The block owner inscribes desired attributes directly onto their chosen blocks. These attributes could be any form of metadata, creative content, functionality, or features that they wish to associate with those blocks.

  3. Ownership Verification: To ensure that only the actual bitmap block owners can inscribe attributes to their blocks, a verification mechanism is in place. The inscription must be transferred from the owner to the owner. This verification process confirms the ownership of the blocks before allowing any changes to be made.

Schema

{
  "p": "blocktributes",
  "v": [{
    "b": number[],
    "a": {
      [key: string]: string
    }
  }]
}
  1. "p": "blocktributes": This field specifies the protocol.

  2. "v": [...]: This field represents an array of objects, where each object contains information about a specific block and its associated attributes.

  3. "b": number[]: This field is used to store the information about the blocks. It is an array of block numbers that are associated with the attributes defined in the corresponding "a" field.

  4. "a": {[key: string]: string}: This field represents the attributes associated with the blocks. It is an object where the keys are strings, representing attribute names, and the values are also strings, representing the attribute values.

Examples

Inscribing a single attribute to a single block:

{
    "p": "blocktributes",
    "v": [{
        "b": [100],
        "a": {
            "color": "#000000"
        }
    }]
}

Inscribing multiple attributes to multiple blocks:

{
    "p": "blocktributes",
    "v": [{
        "b": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110],
        "a": {
            "color": "#000000",
            "king": "f84cfefb39a31be024daa707e8cd14dfe4bf17fe5c5d2b698e4777e656c33e45i0"
        }
    }]
}

Inscribing multiple different attributes to multiple different blocks:

{
    "p": "blocktributes",
    "v": [{
        "b": [100, 101, 102, 103, 104],
        "a": {
            "color": "#008000",
            "name": "Frogtaria",
            "king": "f84cfefb39a31be024daa707e8cd14dfe4bf17fe5c5d2b698e4777e656c33e45i0"
        }
    }, {
        "b": [105, 106, 107, 108, 109, 110],
        "a": {
            "color": "#0000FF",
            "name": "Frogtaria Ocean",
        }
    }]
}

Ownership

Only the owner of a block may build on the block. We can leverage bitcoin digital signatures and the utxo set to verify ownership in 2 steps:

  • The blocktribute inscription is inscribed to the same address that currently owns all the blocks referenced in the blocktribute inscription

  • The owner transfers the inscription to their self on chain

With this, we can ensure the that only the block owner is able to build on their block. Inscriptions that don't match these 2 criteria will be considered invalid and ignored.

Last updated