How to manage rights related to objects

JP2025509541A5Pending Publication Date: 2026-03-24BULGARI HORLOGERIE SA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-03-14
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing methods for managing rights related to luxury goods, such as watches and jewelry, lack guarantees of traceability and authenticity, making it difficult to maintain a reliable register of products and ownership changes.

Method used

A method utilizing blockchain protocols to create digital tokens for ownership and access rights, with smart contracts linking these tokens to ensure that ownership transfers are synchronized across both types of rights, thereby maintaining traceability and authenticity.

Benefits of technology

This approach provides a secure and transparent method for managing rights associated with luxury goods, ensuring that ownership and access rights are accurately tracked and transferred, thereby enhancing the integrity of the product lifecycle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000020_0000
    Figure 00000020_0000
Patent Text Reader

Abstract

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

Description

[Technical field]

[0001] The invention relates to a method for managing rights associated with an object. The invention further relates to the use of said object in a method for managing rights associated with said object. The invention further relates to an apparatus for managing rights associated with said object. The invention further relates to a program product for managing rights associated with said object. The invention further relates to a data carrier dedicated to implementing the method for managing rights associated with said object. The invention finally relates to a signal from a data carrier carrying said computer program product. [Background technology]

[0002] In certain sectors, especially in the luxury goods sector, there is a need to maintain a register of products manufactured and sold. There may also be an interest in recording the changes of ownership over the life of the product. However, such a record cannot be guaranteed once the product is on the market. A register can only be maintained by the various owners of the product making themselves known to the owner of the register, and more specifically to the manufacturers who maintain the register. Summary of the Invention [Problem to be solved by the invention]

[0003] The object of the present invention is to provide a method for managing rights related to objects, which overcomes the above-mentioned drawbacks and improves known management methods, in particular a method for managing rights related to objects, which allows for traceability and guarantees of authenticity, while still allowing the management of rights related to goods and / or services attached to the managed objects. [Means for solving the problem]

[0004] According to the invention, a method allows the management of rights related to an object such as a watch or a piece of jewellery. The method comprises: creating a first digital token associated with a first right, in particular an ownership interest, with respect to said object, said first digital token being stored and authenticated by a first blockchain protocol; creating a second digital token, in particular a non-fungible digital token, related to a second right, in particular a right of access to digital content, in particular to multimedia content, related to said object, said second digital token being stored and authenticated by a second blockchain protocol; creating a smart contract linking the rights in the first and second digital tokens such that the ownership of one of the first and second digital tokens is not transferable without the ownership of the other of the first and second digital tokens; Includes each step.

[0005] The first and second blockchain protocols are preferably of the same type, or the first and second blockchain protocols are preferably the same blockchain protocol.

[0006] The smart contract is implemented by a blockchain protocol. At least one piece of information contained in the first digital token, 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 date of validation of the certificate of authenticity, and / or the date of 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, in particular an identifier of the second digital token. This may involve the creation of a third digital token having information including:

[0007] Preferably, the smart contract comprises: the transfer of ownership of the first digital token involves a transfer of ownership of the second digital token and / or a transfer of ownership of the third digital token; and / or the transfer of ownership of the second digital token involves a transfer of ownership of the first digital token and / or a transfer of ownership of the third digital token; and / or the transfer of ownership of the third digital token involves a transfer of ownership of the first digital token and / or a transfer of ownership of the second digital token; It is configured as follows.

[0008] The first digital token and / or the second digital token may be associated with a digital crypto-asset wallet, in particular the same digital crypto-asset wallet.

[0009] The digital cryptocurrency wallet or one of the plurality of digital cryptocurrency wallets, - A public key, or - a code associated with said public key, It may be associated with The public key or code may be on said object, in particular on a part of a watch, in particular on a barrel or a ratchet wheel of a watch, or - on a tangible medium sold together with said object, or - in digital documents, such as computer files or messages, in particular MMS (acronym for Multimedia Messaging Service) or SMS (acronym for Short Messaging Service); It is described in.

[0010] The public key or the code associated with the public key may be inscribed by printing, by engraving or by adhesively attaching a label.

[0011] The code associated with the public key may be a machine-readable code, such as an NFC tag or a barcode, in particular a matrix code or a QR code.

[0012] The digital cryptocurrency wallet or one of the plurality of digital cryptocurrency wallets, - Private key, or - a code associated with said private key, It may be associated with The private key or a code associated with the private key, - on a tangible medium attached to said object, in particular on a card, label or physical document, and / or - in digital documents, such as computer files or messages, in particular MMS or SMS; It is described in.

[0013] The code associated with the private key may be a machine-readable code, such as an NFC tag or a barcode, in particular a matrix code or a QR code.

[0014] The invention also relates to the use of an object or a tangible medium attached to said object and / or an accessory, in particular a watch, in particular a watch barrel or a ratchet wheel of the watch barrel, as a medium for a public key or a code related to a public key of a digital crypto-asset wallet.

[0015] According to the invention, an apparatus, in particular a distributed computing architecture, enables the management of rights related to objects, said apparatus comprising hardware and / or software elements for implementing the above-mentioned method, in particular hardware and / or software elements designed to implement the above-mentioned method.

[0016] According to the invention, the apparatus comprises means for carrying out the steps of the above-mentioned method.

[0017] According to the invention, a computer program product comprises program code instructions recorded on a computer readable medium which, when the program is run on a computer, performs said steps of the above-mentioned method.

[0018] The invention also relates to a computer program product downloadable from a communications network and / or stored on a computer-readable data medium and / or executable by a computer, the program product comprising instructions which, when executed on a computer, cause the computer to carry out the steps of the method described above.

[0019] The invention further relates to a computer readable data storage medium having recorded thereon a computer program comprising program code instructions for implementing the above-mentioned method.

[0020] The invention further relates to a computer readable medium containing instructions which, when executed by a computer, cause the computer to perform the steps of the above-mentioned method.

[0021] The invention further relates to a signal from a data medium carrying a computer program product as described above.

[0022] The objects, features and advantages of the present invention will be explained in detail in the following description of specific embodiments, given in non-limiting terms in connection with the accompanying drawings. [Brief description of the drawings]

[0023] [Figure 1] FIG. 1 is a diagram of a watch whose rights are managed according to one embodiment of the method of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] The embodiment of the management method described below is described in terms of application to an object 1 being a watch 1. However, the method is applicable to any type of tangible or intangible object, product or service. The method may in particular be applied to jewellery.

[0025] The object is the main element for which rights are managed according to the present invention. The object may be sold together with ancillary or auxiliary elements, which may be of any type, such as tangible or intangible objects, products or services.

[0026] In the described embodiment, the main element is a watch, while the auxiliary elements include services that allow access to data, in particular multimedia data including images, audio content, and video. For example, these data may chart the history of the creative project that brought the object to market. For example, these data may include interviews with people involved in the project, such as an interview with the artistic director, an interview with the technical director, or a direct address to the owner of the watch.

[0027] Ancillary elements may also include digital or tangible artwork sold with the watch, for example created by an artist who worked with the manufacturer, specifically working with the manufacturer in the creation of the watch. Ancillary elements may also be accessories, such as a display case for the watch.

[0028] Once the main element (eg an object consisting of a clock) and the auxiliary element (eg a service allowing access to data) have been produced by the manufacturer, an embodiment of the method that is the subject of the present invention is carried out.

[0029] The method allows the management of rights of the main element. In particular, it is possible to manage the ownership of the main element. The ownership may be separated into free ownership and usage rights. The management of any other rights related to the main element is also foreseen.

[0030] The method also allows the management of rights of the auxiliary element. In particular, it is possible to manage the ownership of the auxiliary element. The ownership may be separated into free ownership and usage rights. The management of any other rights related to the auxiliary element is also foreseen. Rights on the auxiliary element may be considered as rights related to the main element since the auxiliary element is related to the main element.

[0031] The association between the auxiliary element and the primary element may be of any nature, in particular functional, commercial, conceptual or artistic, and may furthermore only arise from the implementation of a rights management method.

[0032] In a first step of the method, a first digital token is created or issued, which is associated with a first right, in particular an ownership interest, to the watch. For example, the first digital token is a non-fungible token (NFT). The first digital token is stored and authenticated by a first blockchain protocol. For example, the first protocol is the blockchain protocol AURA.

[0033] In a second step of the management method, a second digital token is created or issued, which is related to a second right, in particular to access to digital content, in particular multimedia content, related to the watch. As mentioned above, the second right may be a right to an auxiliary element. For example, the second digital token is a non-fungible token. The second digital token is stored and authenticated by a second blockchain protocol. For example, the second protocol is the blockchain protocol POLYGON.

[0034] For example, the second right may be the right to access digital content hosted on an internet site belonging to the manufacturer, thus the second right may be the right to use the website, while the manufacturer retains free ownership of the website.

[0035] The first blockchain protocol and the second blockchain protocol may be of the same type, and the first blockchain protocol and the second blockchain protocol may be the same blockchain protocol.

[0036] The second step may be performed in a variety of ways.

[0037] For example, in a first embodiment, the manufacturer initiates the issuance of the second digital token as soon as the watch is completed or when the manufacturer's watch is sold to a first customer or first owner.

[0038] For example, in a second embodiment, the issuance of the second digital token is initiated by the first customer or first owner after obtaining the clock.

[0039] To carry out the second embodiment, - A public key, or - a code relating to the public key, is written into the watch 1, specifically into a part 2 of the watch, specifically into the barrel 2 of the watch 1 or into the ratchet wheel 3 of the barrel 2.

[0040] Alternatively, the watch may be provided with tangible media, such as paperwork, a label, a certificate, a display case, or any accessories, on which the public key or a code associated with the public key is recorded. Still alternatively, the watch may be provided with a digital document, such as a computer file or a message, in particular an MMS or SMS, on which the public key or a code associated with the public key is recorded. The digital document may be handed over or sent upon purchase of the watch.

[0041] In addition, the watch is on sale, - Private key, or - the code relating to the private key, However, the watch may be provided with a tangible medium, such as a paper, a label, a certificate, a display case, or any accessory, on which the private key or the code associated with the private key is written. Alternatively, the watch may be provided with a digital document, such as a computer file or a message, in particular an MMS or SMS, on which the private key or the code associated with the private key is written. The digital document may be handed over or sent upon purchase of the watch. Preferably, the delivery of the private key or the code associated with the private key is confidential. For example, if the private key or the code associated with the private key is attached to a document, or more generally to any physical medium, the private key or the code associated with the private key is covered with a coating that masks it, and only the first owner can see the private key or the code associated with the private key after removing the coating.

[0042] One or both of the keys and / or one or both of the codes associated with the keys may be inscribed on the keys by printing, engraving or by adhesively attaching a label.

[0043] Preferably, one or both of the codes associated with the key are codes readable via radio frequency or optically by machine, such as an NFC tag (NFC stands for Near Field Communication) or a barcode, in particular a barcode such as a matrix code or a QR code.

[0044] Thus, after purchasing the watch, the first owner of the watch has access to the public and private keys to initiate the issuance of the second digital token, so that the first owner can go to a dedicated website and enter the public and private keys to initiate the issuance of the second digital token.

[0045] Upon creation, the first and second digital tokens are associated with one or two digital crypto-asset wallets. The digital tokens are associated with the first owner's digital wallet upon creation or are transferred from the manufacturer's digital wallet to the first owner's digital wallet when the watch is sold. The first digital token and the second digital token may be associated with different digital crypto-asset wallets. Advantageously, the first digital token and the second digital token may be associated with the same digital crypto-asset wallet.

[0046] The aforementioned public and private keys are preferably the public and private keys of the first owner's digital crypto asset wallet containing the first digital token and the second digital token following the manufacturer's sale of the watch to the first owner.

[0047] Advantageously, in a third step of the method, a smart contract is created linking the rights of the first and second digital tokens such that ownership of one of the first and second digital tokens cannot be transferred without ownership of the other of the first and second digital tokens. In other words, the first and second digital tokens cannot be transferred without each other. Also preferably, assuming that the first and second digital tokens are initially associated with a first digital wallet, they can only be transferred together, since upon transfer they become associated with a second digital wallet.

[0048] Preferably, the smart contract involves the creation or issuance of a third digital token in accordance with a third blockchain protocol, which is preferably the same protocol as the first blockchain protocol or the second blockchain protocol.

[0049] The third digital token advantageously comprises: - at least one piece of information contained in the first digital token, in particular information about the watch and / or the serial number of the watch and / or an identifier of the transaction which created the first digital token and / or the date of validation of the certificate and / or the date of sale of the watch and / or an identifier of the first digital token, and - at least one piece of information contained in the second digital token, in particular an identifier of the second digital token; Contains, includes information.

[0050] Alternatively, the first digital token and the second digital token (and optionally the third digital token) may be created simultaneously or near simultaneously, in which case the first digital token may be created to include data related to the second digital token and the second digital token may be created to include data related to the first digital token. In this manner, the first and second tokens may be linked at the time of creation.

[0051] Preferably, the smart contract comprises: - the transfer of ownership of the first digital token involves a transfer of ownership of the second digital token and / or a transfer of ownership of the third digital token; and / or - the transfer of ownership of the second digital token involves a transfer of ownership of the first digital token and / or a transfer of ownership of the third digital token; and / or - the transfer of ownership of the third digital token involves a transfer of ownership of the first digital token and / or a transfer of ownership of the second digital token; It is configured as follows.

[0052] In practice, when a transfer of one of the digital tokens is initiated from one digital cryptocurrency wallet to another digital cryptocurrency wallet, the transfer of the other digital token or the other digital tokens is also initiated automatically. Advantageously, in a software application enabling such transfers, when a transfer of one of the digital tokens is requested, the application sends a message alerting the user of the consequences of transferring the other digital token.

[0053] Also advantageously, the smart contract may, for example: - making the transfer of one or more digital tokens subject to approval by a third party, such as a manufacturer; - limiting the frequency of transfers of one or more digital tokens, for example limiting transfers of digital tokens to one transfer per year; - prohibit the transfer of more than one digital token; The digital token may be configured to limit transfer of one or more digital tokens.

[0054] In particular, any of these restrictions may be implemented in the event of loss or theft of the watch.

[0055] In the case of a prohibition on the transfer of one or more digital tokens, provisions may be made such that an entire digital cryptocurrency wallet containing digital tokens that are transferable from one owner to another is prohibited.

[0056] Thanks to the above mentioned method, it becomes possible to manage the rights of a key element such as a clock, specifically to authenticate and trace the various past transactions on the blockchain protocol.

[0057] Advantageously, all transactions on the blockchain protocol may be stored by the manufacturer, who may thus manage the network nodes of the architecture enabling the processing operations used to build the blockchain, in particular with regard to implementing the storage and authentication of digital tokens.

[0058] It is noted that the code associated with the public key and attached to the watch itself can advantageously be used by the owner to connect to a website offering the digital content mentioned above: for example, reading the QR code attached to the watch with a smartphone allows the smartphone to automatically connect to the website offering the content.

[0059] The present invention also relates to the use of an object and / or tangible medium attached to the object and / or an accessory, in particular a watch 1, specifically a barrel 2 or a ratchet wheel 3 of the barrel 2 of the watch 1, as a medium for a public key or a code 4 related to the public key of a digital crypto-asset wallet.

[0060] The apparatus, in particular an embodiment of a distributed computing architecture, allows the management of rights associated with objects, and includes hardware and / or software elements that implement the above-mentioned methods.

[0061] An embodiment of a computer program product comprises program code instructions recorded on a computer readable medium which, when the program is run on a computer, performs the steps of the above-described methods.

[0062] An example of a program product code that may be used to implement the above-described management method is described in detail below.

[0063] pragma solidity^0.8.0; interface IERC721Metadata { function name() external view returns (string memory_name); function symbol() external view returns (string memory_symbol); function tokenURI(uint256 _tokenId) external view returns (string memory); } interface IERC721 { event Transfer( address indexed_from, address indexed_to, uint256 indexed_tokenId ); event Approval( address indexed_owner, address indexed_approved, uint256 indexed_tokenId ); event ApprovalForAll( address indexed_owner, address indexed_operator, bool_approved ); function balanceOf(address_owner) external view returns (uint256); function ownerOf(uint256_tokenId) external view returns (address); function safeTransferFrom( address_from, address_to, uint256_tokenId, bytes calldata data ) external; function safeTransferFrom( address_from, address_to, uint256_tokenId ) external; function transferFrom( address_from, address_to, uint256_tokenId ) external; function approve(address_approved, uint256_tokenId) external; function setApprovalForAll(address _operator, bool _approved) external; function getApproved(uint256_tokenId) external view returns (address); function isApprovedForAll(address_owner, address_operator) external view returns (bool); } interface IERC721Receiver { function onERC721Received( address_operator, address_from, uint256_tokenId, bytes calldata_data ) external returns (bytes4); } interface ILuxochainNFT { event OwnershipTransferred(address indexed, address indexed); function owner() external view returns (address); function exists(uint256 tokenId) external view returns (bool); function getStorageType() external view returns (uint256); function isLuxochainNFT() external view returns (bool); function transferOwnership(address newIssuer) external; function totalSupply() external view returns (uint256); function count() external view returns (uint256); event TokenFreezed(uint256 tokenId, address unfreezableAddress); event TokenUnfreezed(uint256 tokenId, address newOwner); function safeMint( uint256 tokenId, address to, string calldata tokenMetadataURI ) external; function multipleSafeMint( uint256[] calldata_tokensIds, address_to, string[] calldata_tokenMetadataURIs ) external; function freezeToken(uint256 tokenId, address unfreezeAddress) external; function unfreezeToken(uint256 tokenId, address newOwner) external; function isTokenFreezed(uint256 tokenId) external view returns (bool); function burn(uint256 tokenId) external; } contract LUXO_BLG_NFT is IERC721, IERC721Metadata, ILuxochainNFT { bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f; bytes4 private constant_INTERFACE_ID_ERC721 = 0x80ac58cd; bytes4 private constant_INTERFACE_ID_ERC165 = 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 _isFreeMintable; constructor( string memory name_, string memory symbol_, bool isFreeMintable_, uint256 maxTotalSupply_ ) { _name = name_; _symbol = symbol_; _IsFreeMintable = isFreeMintable_; _issuer = msg.sender; _maxTotalSupply = maxTotalSupply_; } function isLuxochainNFT() public view virtual override returns (bool) { return true; } function getStorageType() public view virtual override returns (uint256) { return 1; } function owner() public view virtual override returns (address) { return _issuer; } function transferOwnership(address newIssuer) public virtual override { require(msg.sender == _issuer, "Not issuer"); require(newIssuer != address(0), "New issuer is the zero address"); _issuer = newIssuer; emit OwnershipTransferred(msg.sender, newIssuer); } function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) { return interfaceId ==_INTERFACE_ID_ERC721_METADATA / / interfaceId ==_INTERFACE_ID_ERC721 / / interfaceId ==_INTERFACE_ID_ERC165; } function balanceOf(address_owner) public view virtual override returns (uint256) { return_balances[_owner]; } function ownerOf(uint256 tokenId) public view virtual override returns (address) { return_owners[tokenId]; } function name() public view virtual override returns (string memory) { return_name; } function symbol() public view virtual override returns (string memory) { return_symbol; } function totalSupply() external view override returns (uint256) { return_totalSupply; } function count() external view override returns (uint256) { return_count; } function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { return_metadataURIs[tokenId]; } function transferFrom( address from, address to, uint256 tokenId ) public virtual override { require( _isApprovedOrOwner(msg.sender, tokenId), "Transfer caller is not owner nor approved" ); _transfer(from, to, tokenId); } function safeTransferFrom( address from, address to, uint256 tokenId ) public virtual override { safeTransferFrom(from, to, tokenId, ""); } function safeTransferFrom( address from, address to, uint256 tokenId, bytes memory_data ) public virtual override { _safeTransfer(from, to, tokenId, _data); } function_safeTransfer( address from, address to, uint256 tokenId, bytes memory_data ) internal virtual { _transfer(from, to, tokenId); require( _checkOnERC721Received(from, to, tokenId, _data), "Transfer to non ERC721Receiver implementer" ); } function_transfer( address from, address to, uint256 tokenId ) internal virtual { require(to != address(0), "Transfer to the zero address"); require(!_freezed[tokenId], "Token is freezed"); require( _isApprovedOrOwner(msg.sender, tokenId), "Sender cannot transfer token" ); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; _approve(address(0), tokenId); emit Transfer(from, to, tokenId); } function exists(uint256 tokenId) public view virtual override returns (bool) { return_owners[tokenId] != address(O); } function_safeMint( uint256 tokenId, address to, string calldata tokenMetadataURI ) internal virtual { _owners[tokenId] = to; _metadataURIs[tokenId] = tokenMetadataURI; emit Transfer(address(0), to, tokenId); } function safeMint( uint256 tokenId, address to, string calldata tokenMetadataURI ) external override { require( msg.sender ==_issuer / / _isFreeMintable, "Not Issuer nor free mint" ); require(to != address(0), "Mint to the zero address"); require(!exists(tokenId), "Token already minted"); _totalSupply += 1; require(_maxTotalSupply >= _totalSupply, "Max total supply reached"); _count += 1; _balances[to] += 1; _safeMint(tokenId, to, tokenMetadataURI); } function multipleSafeMint( uint256[] calldata tokensIds, address to, string[] calldata tokenMetadataURIs ) external override { require( msg. sender == _issuer / / _isFreeMintable, "Not Issuer nor free mint" ); require( tokensIds.length == tokenMetadataURIs.length, "Different number of tokens and metadata provided" ); require(to != address(0), "Mint to the zero address"); require( _maxTotalSupply >= _totalSupply + tokensIds.length, "Max total supply reached" ); for (uint256 i = 0; i < tokensIds.length; i++) { uint256 tokenId = tokensIds[i]; require(!exists(tokenId), "Token already minted"); _safeMint(tokenId, to, tokenMetadataURIs[i]); } _count += tokensIds.length; _totalSupply += tokensIds.length; _balances[to] += tokensIds.length; } function freezeToken(uint256 tokenId, address unfreezeAddress) external override { require( _isApprovedOrOwner(msg.sender, tokenId), "Cannot freeze token: permission denied" ); require(unfreezeAddress != address(0), "Invalid unfreeze address"); _freezed[tokenId] = true; _unfreezeAddresses[tokenId] = unfreezeAddress; emit TokenFreezed(tokenId, unfreezeAddress); } function unfreezeToken(uint256 tokenId, address newOwner) external override { require( _unfreezeAddresses[tokenId] == msg.sender, "You're not allowed to unfreeze this token" ); require(newOwner != address(0), "Invalid new owner address"); delete_freezed[tokenId]; delete_unfreezeAddresses[tokenId]; _owners[tokenId] = newOwner; emit TokenUnfreezed(tokenId, newOwner); } function isTokenFreezed(uint256 tokenId) public view virtual override returns (bool) { return_freezed[tokenId]; } function burn(uint256 tokenId) external override { require(!_freezed[tokenId], "Token is freezed"); address__owner = ownerOf(tokenId); require(_isApprovedOrOwner(msg.sender, tokenId), "Permission denied"); _totalSupply -= 1; _balances[__owner] -= 1; delete_owners[tokenId]; _approve(address(0), tokenId); emit Transfer(__owner, address(0), tokenId); } function isContract(address account) internal view returns (bool) { return account.code.length > 0; } function_checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory_data ) private returns (bool) { if (!isContract(to)) return false; try IERC721Receiver(to).onERC721Received( msg.sender, from, tokenId, _data ) returns (bytes4 retval) { return retval == IERC721Receiver.onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("Transfer to non ERC721Receiver implementer"); } else { assembly { revert(add(32, reason), mload(reason)) } } } } function_isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(exists(tokenId), "Operator query for nonexistent token"); address__owner = ownerOf(tokenId); return (spender == __owner / / getApproved(tokenId) == spender / / isApprovedForAll(__owner, spender)); } function_setApprovalForAll( address__owner, address operator, bool approved ) internal virtual { require(__owner != operator, "Approve to caller"); _operatorApprovals[__owner][operator] = approved; emit ApprovalForAll(__owner, operator, approved); } function_approve(address to, uint256 tokenId) internal virtual { _tokenApprovals[tokenId] = to; emit Approval(ownerOf(tokenId), to, tokenId); } function approve(address to, uint256 tokenId) public virtual override { address__owner = ownerOf(tokenId); require(to !=__owner, "Approval to current owner"); require( msg.sender == __owner / / isApprovedForAll(__owner, msg.sender), "Approve caller is not owner nor approved for all" ); _approve(to, tokenId); } function getApproved(uint256 tokenId) public view virtual override returns (address) { require(exists(tokenId), "Approved query for nonexistent token"); return_tokenApprovals[tokenId]; } function setApprovalForAll(address operator, bool approved) public virtual override { _setApprovalForAll(msg.sender, operator, approved); } function isApprovedForAll(address__owner, address operator) public view virtual override returns (bool) { return_operatorApprovals[__owner][operator]; } }

[0064] The invention further relates to a computer readable data storage medium having recorded thereon a computer program comprising program code instructions for implementing the above-mentioned method.

[0065] The invention further relates to a signal from a data medium carrying a computer program product as described above.

Claims

1. A method for managing rights related to an object (1), A first digital token relating to the first right concerning the aforementioned object, which is stored and authenticated by a first blockchain protocol, creates a first digital token. A second digital token relating to a second right relating to the aforementioned object, which is stored and authenticated by a second blockchain protocol, creates a second digital token. Create a smart contract that links the rights of the first and second digital tokens so that the ownership of one of the first and second digital tokens cannot be transferred without the ownership of the other of the first and second digital tokens. Each step, method.

2. 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. The management method described in claim 1.

3. The aforementioned smart contract is transmitted via a blockchain protocol. The first digital token includes at least one piece of information, and The second digital token contains at least one piece of information The creation of a third digital token containing information including The management method described in claim 1.

4. The aforementioned smart contract is - The transfer of ownership of the first digital token is accompanied by 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 is accompanied by 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 is accompanied by the transfer of ownership of the first digital token and / or the transfer of ownership of the second digital token. It is configured in such a way. The management method described in claim 1.

5. The aforementioned first digital token and / or second digital token are associated with a digital cryptocurrency wallet or multiple digital cryptocurrency wallets. The management method described in claim 1.

6. The aforementioned digital cryptocurrency wallet or one of the multiple aforementioned digital cryptocurrency wallets is - Public key, or - Code related to the aforementioned public key (4), Associated with, The aforementioned public key or code is - On the object, or — On a tangible medium sold together with the aforementioned object, or - Within digital documents, It is described as follows: The management method described in claim 5.

7. The public key or the code associated with the public key is inscribed by printing, engraving, or by attaching a label. The management method described in claim 6.

8. The code associated with the public key is a machine-readable code. The management method according to claim 6.

9. The aforementioned digital cryptocurrency wallet or one of the multiple aforementioned digital cryptocurrency wallets is - Private key, or - Code related to the aforementioned private key, Associated with, The aforementioned private key or code related to the aforementioned private key is - On a tangible medium attached to the object, and / or - Within digital documents, It is described as follows: The management method described in claim 1.

10. The code associated with the private key is a machine-readable code. The management method described in claim 9.

11. An apparatus for enabling the management of rights relating to an object (1), wherein the apparatus includes hardware and / or software elements that carry out the method according to claim 1.

12. A computer program product comprising program code instructions recorded on a computer-readable medium, which, when the program is executed on a computer, performs the steps of the method according to claim 1.

13. A computer-readable data recording medium comprising a computer program including the program code instructions, The computer program product according to claim 12.

14. The object (1) is a watch (1) or jewelry. The management method described in claim 1.

15. The first right is ownership of the object, and the second right is access to the digital content. The management method described in claim 1.

16. The second digital token is a non-fungible digital token. The management method described in claim 1.

17. The information contained in the first digital token is the information of the object, and / or the serial number of the object, and / or the identifier of the transaction that created the first digital token, and / or the date of activation of the certificate, and / or the date of sale of the product, and / or the identifier of the first digital token, The at least one piece of information contained in the second digital token is the identifier of the second digital token. The management method described in claim 3.

18. The first digital token and / or the second digital token are associated with the same digital cryptocurrency wallet. The management method described in claim 5.

19. The object (1) is a clock (1), and the public key or code is inscribed on the barrel (2) of the clock (1) or the ratchet wheel (3) of the barrel (2), The management method according to claim 6.

20. The public key or code is contained in a digital document, which is a computer file or message. The management method according to claim 6.