Method for managing rights associated with an object

EP4494021A1Pending Publication Date: 2025-01-22BULGARI HORLOGERIE SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023710068
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-14
Filing Date
2023-03-14
Publication Date
2025-01-22

AI Technical Summary

Technical Problem

In the luxury products sector, there is a need to maintain a record of products and track ownership throughout their life cycle, but existing methods fail to guarantee traceability and authenticity once the product is sold, relying on voluntary disclosure from owners.

Method used

A method using blockchain protocols to create digital tokens for ownership and access rights, with a smart contract linking these tokens to ensure simultaneous transfer or restriction of ownership, ensuring traceability and authenticity through a distributed computing architecture and crypto-asset wallets.

Benefits of technology

This method guarantees the traceability and authenticity of luxury products by linking ownership and access rights, enabling secure and transparent management of rights associated with the product and its ancillary services, ensuring that ownership transfer involves both types of rights, thus maintaining a secure and transparent record of transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGF000024_0001
    Figure IMGF000024_0001
  • Figure 00000037_0000
    Figure 00000037_0000
  • Figure 000038
    Figure 000038
Patent Text Reader

Abstract

The invention relates to a method for managing rights associated with an object (1), such as a timepiece (1) or an item of jewellery, the method comprising the following steps: - creating a first digital token associated with a first right, in particular the right of ownership, to the object, the first digital token being stored and authenticated using a first blockchain protocol, - creating a second digital token, in particular a non-fungible digital token, associated with a second right, in particular a right of access to digital content, in particular multimedia content, associated with the object, the second digital token being stored and authenticated using a second blockchain protocol, - creating a smart contract binding the rights to the first and second digital tokens such that the right of ownership to one of the first and second digital tokens cannot be transferred without the right of ownership to the other of the first and second digital tokens.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] DESCRIPTION

[0002] TITLE: Process for managing rights associated with an object.

[0003] Technical field of the invention

[0004] The invention relates to a method for managing rights associated with an object. The invention also relates to the use of such an object in a method for managing the rights attached to this object. The invention also relates to a device for managing rights associated with such an object. The invention also relates to a program product for managing rights associated with such an object. The invention also relates to a data recording medium dedicated to implementing the method for managing rights associated with such an object. The invention finally relates to a signal of a data medium, carrying such a computer program product.

[0005] State of the prior art

[0006] In some areas, particularly luxury goods, there is a need to keep a register of manufactured and sold products. There may also be an interest in tracking the chain of ownership throughout the product's life. However, such tracking cannot be guaranteed once the product is placed on the market. A register can only be kept if the various owners of the product make themselves known to the register's keeper, particularly the manufacturer holding the register.

[0007] Presentation of the invention

[0008] The aim of the invention is to provide a method for managing rights associated with an object that overcomes the drawbacks mentioned above and improves the management methods known from the prior art. In particular, the invention proposes a method for managing rights associated with an object that makes it possible to guarantee traceability and authenticity while also making it possible to manage rights associated with products and / or services associated with the object.

[0009] Summary of the invention

[0010] According to the invention, a method makes it possible to manage rights associated with an object, such as a timepiece or piece of jewelry. The method comprises the following steps:

[0011] - creation of a first digital token associated with a first right, in particular the right of ownership, on the object, the first digital token being stored and authenticated using a first blockchain protocol,

[0012] - creation of a second digital token, in particular a non-fungible digital token, associated with a second right, in particular a right of access to digital content, in particular multimedia content, associated with the object, the second digital token being stored and authenticated using a second blockchain protocol,

[0013] - creation of a smart contract linking the rights to the first and second digital tokens such that the ownership right to one of the first and second digital tokens cannot be transferred without the ownership right to the other of the first and second digital tokens.

[0014] The first blockchain protocol and the second blockchain protocol are advantageously of the same type or the first blockchain protocol and the second blockchain protocol are advantageously the same blockchain protocol.

[0015] The smart contract may involve the creation, through a blockchain protocol, of a third digital token that includes information including:

[0016] - at least one piece of information contained in the first digital token, such as in particular information about the object and / or a serial number of the object and / or an identifier of the transaction creating the first digital token and / or the activation date of the certificate of authenticity and / or the date of sale of the product and / or an identifier of the first digital token, and

[0017] - at least one piece of information contained in the second digital token, such as in particular an identifier of the second digital token.

[0018] Preferably, the smart contract is configured such that the transfer of ownership of the first digital token involves the transfer of ownership of the second digital token and / or the transfer of ownership of the third digital token, and / or the transfer of ownership of the second digital token involves the transfer of ownership of the first digital token and / or the transfer of ownership of the third digital token, and / or the transfer of ownership of the third digital token involves the transfer of ownership of the first digital token and / or the transfer of ownership of the second digital token.

[0019] The first digital token and / or the second digital token may be associated with digital wallets of crypto-assets, in particular with the same digital wallet of crypto-assets.

[0020] The crypto-asset digital wallet or one of the crypto-asset digital wallets may be associated with:

[0021] - a public key, or

[0022] - a code associated with the public key, the public key or the code being written on:

[0023] - the object, in particular on a component of a timepiece, in particular on a barrel or on a barrel ratchet of a timepiece, or

[0024] - on a physical medium sold with the object, or

[0025] - in a digital document, such as a computer file or a message, in particular an MMS (Multimedia Messaging Service) or an SMS (Short Message).

[0026] The public key or the code associated with the public key can be recorded by printing or engraving or by affixing a label.

[0027] The code associated with the public key can be a machine-readable code, such as an NFC tag, or a barcode, particularly a matrix code or a QR code.

[0028] The crypto-asset digital wallet or one of the crypto-asset digital wallets may be associated with:

[0029] - a private key, or

[0030] - a code associated with the private key, the private key or the code associated with the private key being written:

[0031] - on a physical medium attached to the object, in particular on a card, on a label or on a physical document, and / or

[0032] - in a digital document, such as a computer file or a message, in particular an MMS or an SMS.

[0033] The code associated with the private key can be a machine-readable code, such as an NFC tag, or a barcode, particularly a matrix code or a QR code.

[0034] The invention also relates to a use of an object or a material support attached to the object and / or an accessory, in particular a timepiece, in particular a barrel or a barrel ratchet of a timepiece as a support for a public key or a code associated with a public key of a digital wallet of crypto-assets. According to the invention, a device, in particular a distributed computer architecture, makes it possible to manage rights associated with an object, the device comprising hardware and / or software elements implementing the method defined above, in particular hardware and / or software elements designed to implement the method defined above.

[0035] According to the invention, a device comprises means for implementing steps of the method defined previously.

[0036] According to the invention, a computer program product comprises program code instructions recorded on a computer-readable medium for implementing the steps of the method defined above when said program operates on a computer.

[0037] The invention also relates to a computer program product downloadable from a communications network and / or recorded on a data medium readable by a computer and / or executable by a computer. The program product comprises instructions which, when the program is executed by the computer, cause the latter to implement steps of the method defined above.

[0038] The invention also relates to a data recording medium, readable by a computer, on which is recorded a computer program comprising program code instructions for implementing the method defined above.

[0039] The invention further relates to a computer-readable recording medium comprising instructions which, when executed by a computer, cause the latter to implement steps of the method defined above. The invention further relates to a signal of a data medium, carrying the computer program product defined above.

[0040] Presentation of figures

[0041] The objects, characteristics and advantages of the present invention are set forth in detail in the following description of a particular embodiment made without limitation in relation to the attached figures.

[0042] Figure 1 is a view of a timepiece whose rights are managed according to a mode of execution of the method according to the invention.

[0043] Detailed description

[0044] The method of executing the management method described below is explained in application to an object 1 being a timepiece 1. However, this method can be applied to any type of physical or immaterial object, product or service. It can also be applied to a piece of jewelry.

[0045] The object is the main element whose rights are managed according to the process. The object can be marketed with an ancillary element or an auxiliary element which can also be of any type such as a physical or immaterial object, product or service.

[0046] In the embodiment described, while the main element is the timepiece, the auxiliary element comprises a service for accessing data, in particular multimedia data that may contain images, sound content, videos. This data may, for example, retrace the history of the creative project that gave rise to the placing of the object on the market. This data may, for example, contain testimonies from people involved in the project, such as the testimony of an artistic director or the testimony of a technical director speaking directly to the owner of the timepiece.

[0047] The auxiliary element may also contain a digital or physical work of art sold with the timepiece and produced, for example, by an artist who has collaborated with the manufacturer, in particular by an artist who has collaborated with the manufacturer in the process of creating the timepiece. The auxiliary element may also consist of an accessory object such as a case for the timepiece.

[0048] Once the main element (for example, the object consisting of the timepiece) and the auxiliary element (for example, the data access service) have been produced by the manufacturer, a method of executing the method which is the subject of the invention is implemented.

[0049] The process allows for the management of rights over the main element. In particular, it is possible to manage the ownership right over the main element. This ownership right can be divided into bare ownership and usufruct. The management of any other rights associated with the main element can be considered.

[0050] The process also allows for the management of rights over the auxiliary element. In particular, it is possible to manage the ownership right over the auxiliary element. This ownership right can be divided into bare ownership and usufruct. The management of any other rights associated with the auxiliary element can be considered. These rights over the auxiliary element can be seen as rights associated with the main element, the auxiliary element being associated with the main element.

[0051] The association between the auxiliary element and the main element may be of any nature, such as functional, commercial, conceptual, or artistic. The association may also be solely the consequence of the implementation of the rights management process.

[0052] In a first step of the management process, a first digital token is created or minted, associated with a first right, in particular the right of ownership, over the timepiece. The first digital token is, for example, of the non-fungible type (NFT for non-fungible token). The first digital token is stored and authenticated using a first blockchain protocol. The first protocol is, for example, the AURA blockchain protocol.

[0053] In a second step of the management method, a second digital token is created or minted associated with a second right, in particular a right of access to digital content, in particular multimedia content, associated with the timepiece. As seen previously, the second right may be a right to an auxiliary element. The second digital token is, for example, of the non-fungible type. The second digital token is stored and authenticated using a second blockchain protocol. The second protocol is, for example, the POLYGON blockchain protocol.

[0054] For example, the second right may be a right of access to digital content located on a website owned by the manufacturer. The second right may therefore be a right of usufruct over the website while the bare ownership of the website remains with the manufacturer.

[0055] The first blockchain protocol and the second blockchain protocol may be of the same type, or even the first blockchain protocol and the second blockchain protocol may be the same blockchain protocol. The second step can be implemented in different ways.

[0056] For example, in a first mode of execution, the manufacturer triggers the operation of creating the second digital token as soon as the timepiece is finished or upon sale of the timepiece from the manufacturer to the first customer or first owner.

[0057] For example, in a second execution mode, it is the first customer or the first owner who triggers the operation of creating the second digital token after taking possession of the timepiece.

[0058] In order to implement this second mode of execution:

[0059] - a public key, or

[0060] - a code associated with the public key is written on the timepiece 1, in particular on a component 2 of the timepiece, in particular on a barrel 2 or on a ratchet 3 of barrel 2 of the timepiece 1.

[0061] Alternatively, the timepiece may be provided with a physical medium such as a document, a label, a certificate, a case or any accessory on which the public key or the code associated with the public key is written. Alternatively again, the timepiece may be provided with a digital document, such as a computer file or a message, in particular an MMS or an SMS, containing the public key or the code associated with the public key. This digital document may be given or sent when the timepiece is purchased.

[0062] In addition, when selling the timepiece, - a private key, or

[0063] - a code associated with the private key, may be provided with a physical medium such as a document, a label, a certificate, a case or any accessory on which the private key or the code associated with the private key is written. Alternatively, the timepiece may be provided with a digital document, such as a computer file or a message, in particular an MMS or an SMS, containing the private key or the code associated with the private key. This digital document may be given or sent when the timepiece is purchased. Preferably, the delivery of the private key or the code associated with the private key is secure. For example, when the private key or the code associated with the private key is affixed to a document or more generally to any physical medium, it is covered with a coating masking it so that only the first owner will be able to see it after removing the coating.

[0064] One and / or the other of the keys and / or one and / or the other of the codes associated with the keys can be inscribed by printing or engraving or by sticking on a label.

[0065] Preferably, one or both of the codes associated with the keys is a radio frequency or optically machine-readable code, such as an NFC (near field contact) tag, a barcode, particularly a matrix code, or a QR code.

[0066] Thus, after purchasing the timepiece, the first owner of the timepiece can, by having access to the public key and the private key, trigger the creation of the second digital token. To do this, they can go to a dedicated website and enter the public and private keys to initiate the creation of the second digital token. Upon their creation, the first and second digital tokens are associated with one or two digital wallets of crypto-assets (in English "wallets"). They are, upon their creation, associated with a digital wallet of the first owner or transferred from a digital wallet of the manufacturer to a digital wallet of the first owner upon the sale of the timepiece. The first digital token and the second digital token can be associated with different digital wallets of crypto-assets.Advantageously, the first digital token and the second digital token can be associated with the same digital wallet of crypto-assets.

[0067] The public and private keys mentioned above are advantageously the public and private keys of the digital crypto-asset wallet of the first owner and containing, after sale of the timepiece from the manufacturer to the first owner, the first digital token and the second digital token.

[0068] Advantageously, in a third step of the management method, a smart contract is created linking the rights to the first and second digital tokens such that the ownership right to one of the first and second digital tokens cannot be transferred without the ownership right to the other of the first and second digital tokens. In other words, the first and second digital tokens cannot be transferred without each other. More preferably, assuming that the first and second digital tokens are originally associated with a first digital wallet, they can only be transferred together to be associated with a second digital wallet following a transfer.

[0069] Preferably, the smart contract involves the creation or minting, through a third blockchain protocol, of a third digital token. The third blockchain protocol is preferably the same protocol as the first blockchain protocol or the second blockchain protocol.

[0070] The third digital token advantageously contains information including:

[0071] - at least one piece of information contained in the first digital token, such as in particular information about the timepiece and / or a serial number of the timepiece and / or an identifier of the transaction for creating the first digital token and / or the activation date of the certificate of authenticity and / or the date of sale of the timepiece and / or an identifier of the first digital token, and

[0072] - at least one piece of information contained in the second digital token, such as in particular an identifier of the second digital token.

[0073] Alternatively, the first digital token and the second digital token (and possibly the third digital token) may be created simultaneously or nearly simultaneously. In such a case, the first digital token may be created by including data relating to the second digital token, just as the second digital token may be created by including data relating to the first digital token. Thus, the first and second tokens may be linked from the moment of their creation.

[0074] Preferably, the smart contract is configured so that:

[0075] - the transfer of ownership of the first digital token implies the transfer of ownership of the second digital token and / or the transfer of ownership of the third digital token, and / or

[0076] - the transfer of ownership of the second digital token involves the transfer of ownership of the first digital token and / or the transfer of ownership of the third digital token, and / or

[0077] - the transfer of ownership of the third digital token implies the transfer of ownership of the first digital token and / or the transfer of ownership of the second digital token.

[0078] In practice, when the transfer of one of the digital tokens from a digital wallet of crypto-assets to another digital wallet of crypto-assets is triggered, the transfer of the other digital token or tokens is automatically triggered. Advantageously, in a software application allowing this transfer, when the transfer of one of the digital tokens is ordered, the application issues a message alerting the consequences of the transfer on the other digital tokens.

[0079] Further advantageously, the smart contract can be configured to limit the transfer of the digital token(s), for example to:

[0080] - make the transfer of the digital token(s) conditional on the authorization of a third party, such as, for example, the manufacturer,

[0081] - limit the frequency of transfer of the digital token(s), for example, limit the transfer of digital tokens to one transfer per year,

[0082] - prohibit the transfer of the digital token(s).

[0083] In particular, either of these limitations may be implemented in the event of loss or theft of the timepiece.

[0084] In the event of a ban on the transfer of the digital token(s), it may be provided that the entire digital portfolio of cryptoassets containing the digital tokens may be transferred from one owner to another.

[0085] Using the processes described above, it is possible to manage rights over a key element such as a timepiece. In particular, it is possible to authenticate and trace the various transactions made on blockchain protocols.

[0086] Advantageously, all transactions on blockchain protocols can be backed up by the manufacturer. For this purpose, the manufacturer can manage network nodes of the architecture allowing the processing of blockchain constructions involved in the storage and authentication of digital tokens.

[0087] As a side note, the code associated with the public key and affixed to the timepiece itself is advantageously used by the owner to connect to a website offering the digital content already mentioned above. For example, reading the QR code affixed to the timepiece using a smartphone automatically connects the phone to the website offering the content.

[0088] The invention also relates to the use of an object and / or a material support attached to the object and / or an accessory, in particular the timepiece 1, in particular the barrel 2 or the ratchet 3 of barrel 2 of the timepiece 1, as a support for the public key or the code 4 associated with the public key of the digital wallet of crypto-assets.

[0089] An embodiment of a device, in particular a distributed computing architecture, makes it possible to manage the rights associated with the object. This embodiment comprises hardware and / or software elements implementing the method described above.

[0090] One embodiment of a computer program product comprises program code instructions recorded on a computer-readable medium for implementing steps of the method described above when said program runs on a computer.

[0091] Un exemple de code de produit programme utilisé pour mettre en oeuvre le procédé de gestion décrit est détaillé ci-après. pragma solidity A 0.8.0; interface IERC721 Metadata { function name() external view returns (string memory _name); function symbol() external view returns (string memory _symbol); function token URI(uint256 _tokenld) external view returns (string memory);

[0092] } interface IERC721 { event Transfer( address indexed _from, address indexed _to, uint256 indexed _tokenld

[0093] ); event Approval address indexed _owner, address indexed _approved, uint256 indexed _tokenld

[0094] ); event ApprovalForAII( address indexed _owner, address indexed -Operator, bool _approved

[0095] ); function balanceOf(address _owner) external view returns (uint256); function ownerOf(uint256 _tokenld) external view returns (address); function safeTransferFrom( address _from, address _to, uint256 _tokenld, bytes calldata data

[0096] ) external; function safeTransferFrom( address _from, address _to, uint256 _token Id

[0097] ) external; function transferFrom( address _from, address _to, uint256 _token Id

[0098] ) external; function approve(address -approved, uint256 _token Id) external; function setApprovalForAII(address -Operator, bool -approved) external; function getApproved(uint256 _tokenld) external view returns (address); function isApprovedForAII(address _owner, address _operator) external view returns (bool);

[0099] } interface IERC721 Receiver { function onERC721 Received( address _operator, address _from, uint256 _tokenld, bytes calldata _data

[0100] ) external returns (bytes4);

[0101] } interface ILuxochainNFT { event OwnershipTransferred(address indexed, address indexed); function owner() external view returns (address); function exists(uint256 tokenld) external view returns (bool); function getStorageType() external view returns (uint256); function isLuxochainNFT() external view returns (bool); function transferOwnership(address newlssuer) external; function totalSupply() external view returns (uint256); function count() external view returns (uint256); event TokenFreezed(uint256 tokenld, address unfreezableAddress); event TokenUnfreezed(uint256 tokenld, address newOwner); function safeMint( uint256 tokenld, address to, string calldata tokenMetadataURI

[0102] ) external; function multipleSafeMint( uint256[] calldata _tokenslds, address _to, string[] calldata _tokenMetadataURIs

[0103] ) external; function freezeToken(uint256 tokenld, address unfreezeAddress) external; function unfreezeToken(uint256 tokenld, address newOwner) external; function isTokenFreezed(uint256 tokenld) external view returns (bool); function burn(uint256 tokenld) external;

[0104] } contract LUXO_BLG_NFT is IERC721, IERC721 Metadata, ILuxochainNFT { bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f; bytes4 private constant _INTER FAC E_ID_ERC721 = 0x80ac58cd; bytes4 private constant _l NTER FAC E_ID_ERC 165 = 0x01ffc9a7; uint256 private _totalSupply; uint256 private _maxTotalSupply; uint256 private _count; string private _name; string private _symbol; address private _issuer; mapping(address => mapping(address => bool)) private _operatorApprovals; mapping(uint256 => address) private _tokenApprovals; mapping(uint256 => address) private _owners; mapping(address => uint256) private -balances; mapping(uint256 => string) private _metadataURIs; mapping(uint256 => bool) private _freezed; mapping(uint256 => address) private _unfreezeAddresses; bool private JsFreeMintable; constructor string memory name_, string memory symbol_, bool isFreeMintable_, uint256 maxTotalSupply_

[0105] ) { _name = name_;

[0106] _symbol = symbol_;

[0107] JsFreeMintable = isFreeMintable_;

[0108] _issuer = msg. sender ;

[0109] _maxTotalSupply = maxTotalSupply_;

[0110] } function isLuxochainNFT() public view virtual override returns (bool) { return true;

[0111] } function getStorageType() public view virtual override returns (uint256)

[0112] { return 1;

[0113] } function owner() public view virtual override returns (address) { return -issuer;

[0114] } function transferOwnership(address newlssuer) public virtual override { require(msg. sender == -issuer, "Not issuer"); require(newlssuer != address(O), "New issuer is the zero address');

[0115] -issuer = newlssuer; emit OwnershipTransferred(msg. sender, newlssuer);

[0116] } function supportslnterface(bytes4 interfaceld) public view virtual returns (bool)

[0117] { return interfaced == _INTER FAC E_ID_ERC721 -METADATA 11 interfaced == _INTERFACE_ID_ERC721 11 interfaced == _INTERFACE_ID_ERC 165;

[0118] } function balanceOf(address owner) public view virtual override returns (uint256)

[0119] { return -balances] owner];

[0120] } function ownerOf(uint256 tokend) public view virtual override returns (address)

[0121] { return _owners[tokend];

[0122] } function name() public view virtual override returns (string memory) { return _name;

[0123] } function symbol() public view virtual override returns (string memory) { return _symbol;

[0124] } function totalSupply() external view override returns (uint256) { return _totalSupply;

[0125] } function count() external view override returns (uint256) { return _count;

[0126] } function tokenURI(uint256 tokenld) public view virtual override returns (string memory)

[0127] { return _metadataURIs[tokenld];

[0128] } function transferFrom( address from, address to, uint256 tokenld

[0129] ) public virtual override { require(

[0130] _isApprovedOrOwner(msg. sender, tokenld),

[0131] "Transfer caller is not owner nor approved" );

[0132] _transfer(from, to, tokenld); function safeTransferFrom( address from, address to, uint256 tokenld

[0133] ) public virtual override {

[0134] } function safeTransferFrom( address from, address to, uint256 tokenld, bytes memory _data

[0135] ) public virtual override {

[0136] _safeTransfer(from, to, tokenld, _data);

[0137] } function _safeTransfer( address from, address to, uint256 tokenld, bytes memory _data

[0138] ) internal virtual {

[0139] _transfer(from, to, tokenld); require(

[0140] _checkOnERC721 Received(from, to, tokenld, _data), "Transfer to non ERC721 Receiver implementer" );

[0141] } function _transfer( address from, address to, uint256 tokenld

[0142] ) internal virtual { require(to != address(O), "Transfer to the zero address'); require(!_freezed[tokenld], "Token is freezed"); require(

[0143] _isApprovedOrOwner(msg. sender, tokenld),

[0144] "Sender cannot transfer token"

[0145] );

[0146] _balances[from] -= 1;

[0147] _balances[to] += 1;

[0148] _owners[tokenld] = to;

[0149] _approve(address(0), tokenld); emit Transfer(from, to, tokenld);

[0150] } function exists(uint256 tokenld) public view virtual override returns (bool)

[0151] { return _owners[tokenld] != address(O);

[0152] } function _safeMint( uint256 tokenld, address to, string calldata tokenMetadataURI

[0153] ) internal virtual {

[0154] _owners[tokenld] = to;

[0155] _metadataURIs[tokenld] = tokenMetadataURI; emit Transfer(address(O), to, tokenld);

[0156] } function safeMint( uint256 tokenld, address to, string calldata tokenMetadataURI

[0157] ) external override { require( msg. sender ==_issuer / / JsFreeMintable,

[0158] "Not Issuer nor free mint"

[0159] ); require(to != address(O), "Mint to the zero address'); require(!exists(tokenld), "Token already minted");

[0160] _totalSupply += 1; require(_maxTotalSupply >= _totalSupply, "Max total supply reached");

[0161] _count += 1;

[0162] _balances[to] += 1;

[0163] _safeMint(tokenld, to, tokenMetadataURI);

[0164] } function multipleSafeMint( uint256[] calldata tokenslds, address to, stringU calldata token MetadataUR Is

[0165] ) external override { require( msg. sender ==_issuer H JsFreeMintable,

[0166] "Not Issuer nor free mint"

[0167] ); require( tokenslds.length — token MetadataUR Is. length,

[0168] "Different number of tokens and metadata provided"

[0169] ); require(to != address(O), "Mint to the zero address'); require(

[0170] _maxTotalSupply >= _totalSupply + tokenslds.length,

[0171] "Max total supply reached"

[0172] ); for (uint256 i = 0; i < tokenslds.length; i++) { uint256 tokenld = tokenslds[i]; require(!exists(tokenld), "Token already minted");

[0173] _safeMint(tokenld, to, tokenMetadataURIs[i]);

[0174] }

[0175] _count += tokenslds.length;

[0176] _totalSupply += tokenslds.length;

[0177] _balances[to] += tokenslds.length;

[0178] } function freezeToken(uint256 tokenld, address unfreezeAddress) external override

[0179] { require( ZI

[0180] _isApprovedOrOwner(msg. sender, tokenld), "Cannot freeze token: permission denied"

[0181] ); require(unfreezeAddress != address(O), "Invalid unfreeze address");

[0182] _freezed[tokenld] = true;

[0183] _unfreezeAddresses[tokenld] = unfreezeAddress; emit TokenFreezed(tokenld, unfreezeAddress);

[0184] } function unfreezeToken(uint256 tokenld, address newOwner) external override

[0185] { require(

[0186] _unfreezeAddresses[tokenld] — msg. sender,

[0187] "You're not allowed to unfreeze this token"

[0188] ); require(newOwner != address(O), "Invalid new owner address"); delete _freezed[tokenld]; delete _unfreezeAddresses[tokenld];

[0189] _owners[tokenld] = newOwner; emit TokenUnfreezed(tokenld, newOwner);

[0190] } function isTokenFreezed(uint256 tokenld) public view virtual override returns (bool)

[0191] { return _freezed[tokenld]; function burn(uint256 tokenld) external override { require(!_freezed[tokenld], "Token is freezed"); address owner = ownerOf (token Id); require(_isApprovedOrOwner(msg. sender, tokenld), "Permission denied");

[0192] _totalSupply -= 1;

[0193] _balances[ owner] -= 1; delete _owners[tokenld];

[0194] _approve(address(0), tokenld); emit Transfer] owner, address(O), tokenld);

[0195] } function isContract(address account) internal view returns (bool) { return account, code, length > 0;

[0196] } function _checkOnERC721 Received] address from, address to, uint256 tokenld, bytes memory _data

[0197] ) private returns (bool) { if (HsContract(to)) return false; try

[0198] IERC721 Receiver(to).onERC721 Received] msg. sender, from, tokenld, data

[0199] ) returns (bytes4 retval) { return retval == IERC721 Receiver.onERC721 Received. selector;

[0200] } catch (bytes memory reason) { if (reason. length == 0) { revert("Transfer to non ERC721 Receiver implementer");

[0201] } else { assembly { revert(add(32, reason), mload(reason))

[0202] }

[0203] }

[0204] }

[0205] } function _isApprovedOrOwner(address spender, uint256 token Id) internal view virtual returns (bool)

[0206] { require(exists(tokenld), "Operator query for nonexistent token"); address owner = ownerOf (token Id); return (spender — owner 11 getApproved(tokenld) — spender 11 isApprovedForAII( owner, spender));

[0207] } function _setApprovalForAII( address owner, address operator, bool approved

[0208] ) internal virtual { require( owner != operator, "Approve to caller");

[0209] _operatorApprovals[ owner][operator] = approved; emit ApprovalForAII( owner, operator, approved);

[0210] } function _approve(address to, uint256 token Id) internal virtual { _tokenApprovals[tokenld] = to; emit Approval(ownerOf(tokenld), to, token Id);

[0211] } function approve(address to, uint256 tokenld) public virtual override { address owner = ownerOf (token Id); require(to != owner, "Approval to current owner"); require( msg. sender == > owner / / isApprovedForAII( owner, msg. sender),

[0212] "Approve caller is not owner nor approved for all"

[0213] );

[0214] _approve(to, tokenld);

[0215] } function getApproved(uint256 tokenld) public view virtual override returns (address)

[0216] { require(exists(tokenld), "Approved query for nonexistent token"); return _tokenApprovals[tokenld];

[0217] } function setApprovalForAII(address operator, bool approved) public virtual override

[0218] {

[0219] _setApprovalForAII(msg. sender, operator, approved);

[0220] } function isApprovedForAII(address owner, address operator) public view virtual override returns (bool)

[0221] { return _operatorApprovals[ owner][operator];

[0222] }

[0223] }

[0224] The invention also relates to a data recording medium, readable by a computer, on which is recorded a computer program comprising program code instructions for implementing the method described above.

[0225] The invention also relates to a signal of a data medium, carrying the computer program product described above.

Claims

DEMANDS 1. A method for managing rights associated with an object (1), such as a timepiece (1) or piece of jewelry, the method comprising the following steps: - creation of a first digital token associated with a first right, in particular the right of ownership, over the object, the first digital token being stored and authenticated using a first blockchain protocol, - creation of a second digital token, in particular a non-fungible digital token, associated with a second right, in particular a right of access to digital content, especially multimedia content, associated with the object, the second digital token being stored and authenticated using a second blockchain protocol, - creation of a smart contract linking the rights to the first and second digital tokens so that the ownership right to one of the first and second digital tokens cannot be transferred without the ownership right to the other of the first and second digital tokens.

2. Management method according to the preceding claim, characterized in that the first blockchain protocol and the second blockchain protocol are of the same type or the first blockchain protocol and the second blockchain protocol are the same blockchain protocol.

3. A management method according to claim 1 or 2, characterized in that the smart contract involves the creation, by means of a blockchain protocol, of a third digital token including information comprising: - at least one piece of information contained in the first digital token, such as, in particular, information about the object and / or a serial number of the object and / or an identifier of the transaction that created the first digital token and / or the activation date of the certificate of authenticity and / or the date of the sale of the product and / or an identifier of the first digital token, and - at least one piece of information contained in the second digital token, such as, in particular, an identifier for the second digital token. A management method according to any one of the preceding claims, characterized in that the smart contract is configured such that: - the transfer of ownership rights to the first digital token implies the transfer of ownership rights to the second digital token and / or the transfer of ownership rights to the third digital token, and / or - the transfer of ownership rights to the second digital token implies the transfer of ownership rights to the first digital token and / or the transfer of ownership rights to the third digital token, and / or - The transfer of ownership of the third digital token implies the transfer of ownership of the first digital token and / or the transfer of ownership of the second digital token. A management method according to any one of the preceding claims, characterized in that the first digital token and / or the second digital token are associated with digital crypto-asset wallets, in particular with the same digital crypto-asset wallet. A management method according to the preceding claim, characterized in that the digital crypto-asset wallet or one of the digital crypto-asset wallets is associated with: - a public key, or - a code (4) associated with the public key, the public key or the code being written on: - the object, in particular on a component (2) of a timepiece (1), especially on a barrel (2) or on a ratchet (3) of a barrel (2) of a timepiece (1), or - on a physical medium sold with the item, or - in a digital document, such as a computer file or a message, in particular an MMS or SMS. Management method according to the preceding claim, characterized in that the public key or the code associated with the public key is written by printing, engraving, or affixing a label. Management method according to claim 6 or 7, characterized in that the code associated with the public key is a machine-readable code, such as an NFC tag or a barcode, in particular a matrix code or a QR code. Management method according to any one of the preceding claims, characterized in that the digital crypto-asset wallet or one of the digital crypto-asset wallets is associated with: - a private key, or - a code associated with the private key, the private key or the code associated with the private key being written: - on a physical medium attached to the object, in particular on a card, on a label or on a physical document, and / or - in a digital document, such as a computer file or a message, in particular an MMS or an SMS.

0. Management method according to claim 9, characterized in that the code associated with the private key is a machine-readable code, such as a barcode, in particular an NFC tag, or a matrix code or a QR code.

1. Use of an object (1) or a physical support attached to the object and / or an accessory, in particular a timepiece, in particular a barrel (2) or a ratchet (3) of a barrel (2) of a timepiece (1) as a support for a public key or a code associated with a public key of a digital crypto-asset wallet. 2.A device, in particular a distributed computer architecture, for managing rights associated with an object (1), the device comprising hardware and / or software elements implementing the method according to any one of claims 1 to 10, in particular hardware and / or software elements designed to implement the method according to any one of claims 1 to 10.

3. A computer program comprising program code instructions recorded on a computer-readable medium for implementing the steps of the method according to any one of claims 1 to 10 when said program is running on a computer.

4. A computer-readable data storage medium on which a computer program comprising program code instructions for implementing the process according to any one of claims 1 to 10.