Attributes

An Attribute serves critical roles in licensing distribution, usage, and financial exploitation rights within intellectual property. Its design incorporates a data structure that facilitates the identification of involved parties and outlines the legal frameworks governing their interactions, complemented by standard and bespoke parametric configurations.

Attributes can be linked in sequence to create intricate information hierarchies. Within such a hierarchy, when two objects are linked sequentially (for example, an IP Core linked to an Attribute or two Attributes linked together), the information in the subsequent object references back to the preceding one, termed the "Originator". This linkage ensures a coherent flow of information, preserving the integrity and context of data across the system.

An Attribute is composed of at least one of the following data structures:

FieldDescription

licence_text

It's the main section and contains all the licence and registration information, as well as parameters related to the identification of counterparties and assets.

logic

It contains the necessary code logic to implement the instructions found in the licence.

assignment

It contains the information related to the ownership of the connected IP core or originator attribute.

verification

It contains the sign of a third party that acts as an oracle to verify some information connected to the IP. It can be used, for example, for IP infringement verification.

Parameter: licence_text

It is the on-chain representation of the text of the legal agreement between the two parties. Licence_text will include a set of parameters defined according to the licence logic, and to be effective, it must have a verified assignment attribute attached. From a practical point of view, a user can build a licence_text from scratch or use a Licence Attribute Template already validated by the community.

The data structure includes the following parameters:

FieldDescriptionType

terms

It is the legal text of the licence

String

counterparties_identity

The counterparties involved in the licence

Array of strings

registration_date

Registration date on Music Protocol

Time

registration_id

Registration ID

String

registrant_identity

Verified identity of the registrant

String

registration_source

Execution layer identifier where the registration has been made

Array of strings

custom

Custom parameters that can be added to the Attribute

Array

Parameter: logic

This custom data structure incorporates the code logic for integrating licensing within broader frameworks defined within an external execution layer. This structure is a modular component designed to handle licensing validations, permissions, and constraints as part of its integration process. It is precisely engineered to interact with a more extensive, possibly heterogeneous, external execution layer, which serves as an intermediary facilitating communication between this component and the rest of the system.

Parameter: assignment

It is an attributes standard structure defined by the following fields:

FieldDescriptionType

tokenisation_status

It indicates whether the ownership right defined in the licence is tokenised on a blockchain..

Boolean

owner_identifier

It is the owners list of the tokenised asset.

If <tokenisation_Status = True> then the ownership rights of the asset defined in the originator is tokenized, so owner_identifier is the list of fungible tokens whose ownership legally represents the ownership of the underlying asset. The tokenisation and the transfer of the fungible ownership tokens is managed by apps specifically dedicated.

If <tokenisation_Status = False> it indicates the wallet address of the owner. The owner identifier is connected the the Music Protocol Identity Management Systems (IMS).

Array of strings

registration_date

Registration date

Time

id

Unique identification code

String

Verification

It contains the sign of a (third party) oracle to verify some information connected to the Licence (eg.IP infringement verification). Every IP Core should have at least one attribute with only the Verification data structure defined to serve the IP Core (originator) asset identification.

FieldDescriptionType

object

Identification of the object to be verified

String

legal

Verification description

String

api

Communication codification with the external source of information

String

sign

Sign of the external oracle for the verification

String

Last updated

©2024 Web3 Music Association - All rights reserved