WO2018056445A1 - Data managing system, information processing apparatus, program, data managing method and data structure - Google Patents

Data managing system, information processing apparatus, program, data managing method and data structure Download PDF

Info

Publication number
WO2018056445A1
WO2018056445A1 PCT/JP2017/034579 JP2017034579W WO2018056445A1 WO 2018056445 A1 WO2018056445 A1 WO 2018056445A1 JP 2017034579 W JP2017034579 W JP 2017034579W WO 2018056445 A1 WO2018056445 A1 WO 2018056445A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
user
data
managing system
unit
Prior art date
Application number
PCT/JP2017/034579
Other languages
French (fr)
Inventor
Taketo MATSUURA
Nicholas James MILLS
Original Assignee
Gmo Internet Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gmo Internet Inc. filed Critical Gmo Internet Inc.
Publication of WO2018056445A1 publication Critical patent/WO2018056445A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Definitions

  • the present invention relates to a data managing system, program, data managing method, information processing apparatus and data structure.
  • Patent Document 1 Japanese Patent Application Publication No. 2016-081134
  • a first aspect of the present invention provides a data managing system.
  • the above-mentioned data managing system includes a transaction information transmitting unit, if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, the transaction information transmitting unit transmitting, to the distributed ledger managing system, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information.
  • the transaction information includes: successor information indicating one or more successors of the one right in the variation; encoded data of preceding transaction information concerning a preceding variation in the one right; and one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in detail information storing unit to store the detail information; and the encoded data of the detail information stored in the detail information storing unit.
  • the distributed ledger managing system includes multiple nodes constituting a P2P network.
  • each node of the multiple nodes stores the distributed ledger.
  • the distributed ledger includes multiple blocks.
  • each block of the multiple blocks includes: one or more pieces of transaction information concerning one or more variations in the one right; and encoded data of a preceding block.
  • the above-mentioned data managing system may further include an input unit that accepts an instruction about the one right from the user.
  • the above-mentioned data managing system may further include a right variation judging unit that judges existence or nonexistence of a variation in the one right resulting from execution of the instruction.
  • the above-mentioned data managing system may further include a detail information updating unit that generates or updates detail information indicating details of a variation in the one right if the right variation judging unit judges that there is the variation generated due to the execution of the instruction.
  • the transaction information transmitting unit may transmit, to the distributed ledger managing system, the transaction information including the encoded data of the detail information.
  • the above-mentioned data managing system may further include an access restriction unit that restricts access to the detail information.
  • the transaction information transmitting unit may transmit, to the distributed ledger managing system, the transaction information including the successor information designating the user as a successor when the one right is not transferred, but there is a change generated in details of the one right.
  • the transaction information may be information about a transaction of a cryptocurrency utilizing a blockchain technology.
  • the right identification information may be currency identification information uniquely specifying the cryptocurrency.
  • an amount of the cryptocurrency retained by the user may be decided according to a share of the one right of the user.
  • the transaction information may further include information defining a total amount of the cryptocurrency issued.
  • the above-mentioned data managing system may further include a command transmitting unit that transmits, to an object of the one right: user identification information to be used for identifying the user; and a command to the object.
  • the object may include a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object.
  • the object may include a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information.
  • the object may include a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit.
  • the object may include a request transmitting unit that transmits, to the distributed ledger managing system: the right identification information about a right related to the command; or information indicating the right identification information, and requests to extract information indicating a current right holder of the right related to the command.
  • the object may include a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit.
  • the object may include a command executing unit that executes the command received by the command receiving unit.
  • the restriction control unit may decide to cancel the restriction.
  • the command executing unit may execute the command.
  • the object may include a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object.
  • the object may include a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information.
  • a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit may be included.
  • the object may include a request transmitting unit that transmits, to the distributed ledger managing system: right identification information stored in the right identification information storing unit or at least part of information indicating the right identification information; and the user identification information, and requests to judge whether or not the user has a right related to the command.
  • the object may include a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit.
  • the object may include a command executing unit that executes the command received by the command receiving unit.
  • the restriction control unit may decide to cancel the restriction.
  • the command executing unit may execute the command.
  • the object may include a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object.
  • the object may include a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information.
  • the object may include a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit.
  • the object may include a request transmitting unit that transmits the user identification information to the distributed ledger managing system, and requests to extract: right identification information of one or more rights possessed by the user; or information indicating the right identification information.
  • the object may include a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit.
  • the object may include a command executing unit that executes the command received by the command receiving unit.
  • the restriction control unit may decide to cancel the restriction.
  • the command executing unit may execute the command.
  • the above-mentioned data managing system may further include a request transmitting unit that: transmits, to the distributed ledger managing system, user identification information to be used for identifying the user; and requests the distributed ledger managing system to extract: right identification information of one or more rights possessed by the user; or information indicating the right identification information, or to judge whether or not the user has the one right.
  • the one right may be (i) a real right, quasi-real right, credit or contractual status, or (ii) a digital data accessing right or permission.
  • the one right may be a right concerning at least one of: usage or utilization, profit, and disposition of a tangible item or intangible item.
  • the one right may be an intellectual property right, a license or right to utilize concerning an intellectual property, or a publishing right.
  • a second aspect of the present invention provides a program for causing a computer to function as the above-mentioned right managing system.
  • a non-transitory computer readable medium having stored thereon the above-mentioned program may also be provided.
  • a third aspect of the present invention provides An information processing apparatus configured at least to transmit and receive information, through a communication line, to and from a distributed ledger managing system that manages one or more distributed ledgers concerning variations in one or more rights.
  • the above-mentioned information processing apparatus may include a request transmitting unit that requests the distributed ledger managing system (i) to extract information indicating a right possessed by a particular user, (ii) to extract information indicating an individual possessing a particular right, or (iii) to judge whether or not the particular user possesses the particular right.
  • the distributed ledger managing system includes multiple nodes constituting a P2P network.
  • each node of the plurality of nodes stores the distributed ledger.
  • the distributed ledger includes multiple blocks that are continuous in time series.
  • each block of the plurality of blocks includes: one or more pieces of transaction information concerning one or more variations in the one or more rights; and encoded data of a preceding block.
  • At least one of the one or more pieces of transaction information includes: successor information indicating one or more successors of a right expressed by the transaction information in a variation expressed by the transaction information: encoded data of preceding transaction information concerning a preceding variation in the right expressed by the transaction information; right identification information that uniquely specifies the right expressed by the transaction information; or information indicating the right identification information; and encrypted data obtained by encrypting at least part of the transaction information using a private key of the user.
  • a fourth aspect of the present invention provides a program for causing a computer to function as the above-mentioned information processing apparatus.
  • a non-transitory computer readable medium having stored thereon the above-mentioned program may also be provided.
  • a fifth aspect of the present invention provides a data managing method.
  • the above-mentioned data managing method include: if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, transmitting, to the distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information.
  • the transaction information includes: successor information indicating one or more successors of the one right in the variation; encoded data of preceding transaction information concerning a preceding variation in the one right; and one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in a detail information storing unit to store the detail information; and the encoded data of the detail information stored in the detail information storing unit.
  • the distributed ledger managing system includes multiple nodes constituting a P2P network. In the above-mentioned data managing method, each node of the plurality of nodes stores the distributed ledger.
  • the distributed ledger includes multiple blocks that are continuous in time series.
  • each block of the plurality of blocks includes: one or more pieces of transaction information concerning one or more variations in the one right; and encoded data of a preceding block.
  • each block of the multiple blocks has: data indicating one or more pieces of transaction information concerning one or more variations in one right possessed by a user; and encoded data of a preceding block.
  • at least one piece of data indicating the one or more pieces of transaction information includes: successor data indicating one or more successors of the one right concerning a variation in the one right expressed by the transaction information; encoded data of preceding transaction information concerning a preceding variation in the one right; one of: right identification information that uniquely specifies the one right; and data indicating the right identification information; one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in a detail information storing unit to store the detail information; and encoded data of the detail information stored in the detail information storing unit; and encrypted data obtained by encrypting at least part of the transaction information using a private key of the user.
  • a seventh aspect of the present invention provides a data structure of first transaction information constituting multiple blocks that are continuous in time series.
  • the above-mentioned data structure includes data indicating one or more successors of a right expressed by the first transaction information in a variation in the right.
  • the above-mentioned data structure includes encoded data of second transaction information concerning a preceding variation in the right.
  • the above-mentioned data structure includes one of: right identification information that uniquely specifies the right; and data indicating the right identification information.
  • the above-mentioned data structure includes one of: encoded data of detail information that indicates details of the variation in the right and is to be stored in a detail information storing unit to store the detail information; and encoded data of the detail information stored in the detail information storing unit.
  • the above-mentioned data structure includes encrypted data obtained by encrypting at least part of the first transaction information using a private key of an individual possessing the right.
  • FIG. 1 Fig. 1 schematically shows one example of the system configuration of a right managing system 100.
  • FIG. 2 Fig. 2 schematically shows one example of the internal configuration of a node 112.
  • FIG. 3 Fig. 3 schematically shows one example of the data structure of a blockchain 300.
  • FIG. 4 Fig. 4 schematically shows one example of the data structure of a block header 310.
  • FIG. 5 schematically shows one example of the data structure of transaction data 500.
  • FIG. 6 Fig. 6 schematically shows one example of the internal configuration of a user terminal 120.
  • FIG. 7 Fig. 7 schematically shows one example of a data table 700.
  • FIG. 8 Fig. 8 schematically shows one example of a data table 800.
  • FIG. 9 Fig. 9 schematically shows one example of the system configuration of a right managing system 900.
  • FIG. 10 Fig. 10 schematically shows one example of the internal configuration of a user terminal 920.
  • FIG. 11 Fig. 11 schematically shows one example of the internal configuration of an object 930.
  • FIG. 12 Fig. 12 schematically shows one example of information processing at the right managing system 900.
  • FIG. 13 Fig. 13 schematically shows one example of information processing at the right managing system 900.
  • FIG. 14 Fig. 14 schematically shows one example of information processing at the right managing system 900.
  • FIG. 15 Fig. 15 schematically shows one example of the system configuration of an escrow system 2100.
  • FIG. 16 Fig. 16 schematically shows one example of a data table 2200.
  • FIG. 17 Fig. 17 schematically shows one example of a contract object 2300.
  • Fig. 1 schematically shows one example of the system configuration of a right managing system 100.
  • the right managing system 100 utilizes a blockchain technology used also for transactions of a cryptocurrency (which is in some cases referred to as a virtual currency) such as Bitcoin to manage the history of variations in each right of one or more rights.
  • a cryptocurrency which is in some cases referred to as a virtual currency
  • Each right of the one or more rights may be one example of one right.
  • Examples of variations in a right may include occurrence or acquisition of a right, changes in a right, and extinguishment of a right.
  • Examples of occurrence or acquisition of a right may include inheritance and primitive acquisition.
  • Examples of inheritance may include transfer succession and right-establishing succession.
  • Examples of transfer succession may include specified succession, universal succession or general succession.
  • Examples of changes in a right may include a change in details of a right, a change in a target object of a right and other changes.
  • the above-mentioned right may be (i) a real right, quasi-real right, credit or contractual status, or (ii) a digital data accessing right or permission.
  • Examples of a quasi-real right may include an intellectual property right.
  • Examples of an accessing right or permission may include those that allow or prohibit reading, allow or prohibit writing, allow or prohibit execution, and other access rights or permission.
  • Other examples of an accessing right or permission may include those that allow or prohibit viewing, allow or prohibit saving, allow or prohibit transmission, allow or prohibit output, allow or prohibit duplication and other accessing rights or permission.
  • Examples of output may include printer output, audio output, image output and other output.
  • the above-mentioned right may be: a right concerning at least one of usage or utilization, profit and disposition of a tangible item; or a right concerning at least one of usage or utilization, profit and disposition of an intangible item.
  • Examples of an intangible item may include digital data, an IP address, an intellectual property and other intangible items.
  • the above-mentioned digital data may be an item in a game or in a virtual space.
  • the above-mentioned right may be an intellectual property right, a license or right to utilize concerning an intellectual property, or a publishing right.
  • Examples of an intellectual property right may include an industrial property right, copyright (including a neighboring right and moral right of author), merchandising right, layout-design exploitation right, breeder's right, trade secret, indication of goods or business, product form, trade dress, indication of origin, geographical indication, trade name right, portrait right, domain name and other intellectual property rights.
  • the history of transactions of the cryptocurrency (which are in some cases referred to as transactions) is recorded as a blockchain, and the blockchain is shared among multiple nodes participating in a P2P network; thereby, legitimacy of the above-mentioned transactions is ensured.
  • a blockchain is data in which multiple blocks that are continuous in time series are linked like a chain, and each block includes data of transactions in a certain period (which is in some cases referred to as transaction data). Because according to the blockchain technology, multiple blocks are added while at the same time past information is maintained, it becomes very difficult to falsify the history.
  • information concerning the history of variations in each right of one or more rights is stored as a blockchain on the P2P network. That is, a transaction is generated every time a variation in a right occurs. Then, multiple transactions are put into one block, and the block is added to an existing blockchain.
  • Each block includes information concerning a time at which multiple transactions are put into the block (which is in some cases referred to as a block lock time), for example. Thereby, a blockchain including multiple blocks that are continuous in time series is generated. Also, each block includes encoded data of a preceding block. The encoded data may be a hash value.
  • the right managing system 100 is used to provide a service to manage information concerning a legitimate right holder of each right of one or more rights.
  • services provided by the right managing system 100 are not limited to the present embodiment.
  • the right managing system 100 can provide a remote manipulation service, rental service or sharing service, escrow service or the like for articles or digital data.
  • a case where registration in a register managed by an administrative agency is required is conceivable, but explanation of an actual registration procedure is omitted.
  • the right managing system 100 includes a distributed ledger managing system 110 and a user terminal 120.
  • the distributed ledger managing system 110 has multiple nodes 112 and a peer-to-peer network 114, for example.
  • the distributed ledger managing system 110 and the user terminal 120 can transmit and receive information to and from each other through a communication network 10.
  • the right managing system 100 may be one example of a data managing system.
  • the user terminal 120 may be one example of a data managing system or information processing apparatus.
  • the communication network 10 allows transmission of information between the distributed ledger managing system 110 and the user terminal 120.
  • the communication network 10 may be a wired communication transmission path, a wireless communication transmission path, or a combination of a wireless communication transmission path and a wired communication transmission path.
  • the communication network 10 may include a wireless packet communication network, the Internet, a P2P network, a dedicated line, a VPN and the like.
  • the communication network 10 may (i) include a mobile communication network such as a portable telephone network, and (ii) include a wireless communication network such as a wireless MAN (which is WiMAX (registered trademark), for example), wireless LAN (which is WiFi (registered trademark), for example), Bluetooth (registered trademark), Zigbee (registered trademark) or NFC (Near Field Communication).
  • a wireless MAN which is WiMAX (registered trademark), for example
  • wireless LAN which is WiFi (registered trademark), for example
  • Bluetooth registered trademark
  • Zigbee registered trademark
  • NFC Near Field Communication
  • an object 30 serves as a purpose of a right possessed by User A or a target of action of User A. Multiple rights may be established for the object 30.
  • the object 30 may be a tangible item or an intangible item.
  • the object 30 may be digital data. Examples of digital data may include: a database; each record included in a database; an electronic file of application software (which is a Word file, an Excel file, text data, music data, picture data, moving image data, saved data of an electronic game and the like, for example), item in an electronic game, encoded data thereof (which is a hash value, for example) and other digital data.
  • the object 30 may have a communication function, and transmit and receive information to and from at least one of the distributed ledger managing system 110 and the user terminal 120. According to one embodiment, the object 30 receives, from the user terminal 120, a command for manipulating the object 30. The object 30 accesses the distributed ledger managing system 110 to confirm whether User A is entitled or authorized to execute the above-mentioned command.
  • the object 30 has a computer and reports the state of the object 30 to the user terminal 120.
  • a monitoring apparatus that monitors the state of the object 30 may report the state of the object 30 to the user terminal 120.
  • the object 30 or the above-mentioned monitoring apparatus may request the user terminal 120 to transmit, to the distributed ledger managing system 110, a transaction concerning the state of the object 30.
  • Examples of the state of the object 30 may include the states of the object 30 about usage, wear or degradation, and growth and other states.
  • the information concerning the state of the object 30 may be one example of information concerning increase or decrease in the value of the object 30.
  • the object 30 if the object 30 is an automobile, if for example having received an unlock command from the user terminal 120, having started an engine or system, having stopped an engine or system, having established communication with the user terminal 120, or ending communication with the user terminal 120, the object 30 transmits, to the user terminal 120, information concerning travel history, manipulation history, driving distance, battery properties or the like. Thereby, if the object 30 is sold off for example, the purchaser of the object 30 can acquire highly credible information concerning the state of the object 30.
  • the distributed ledger managing system 110 stores, as a blockchain, information concerning the history of variations in each right of one or more rights.
  • the distributed ledger managing system 110 may have functions that a general database system is required to have.
  • the blockchain may be one example of a distributed ledger.
  • the distributed ledger managing system 110 stores a blockchain for each right.
  • the distributed ledger managing system 110 stores a blockchain for each object. For example, if a right established for an object is determined in advance, or a right managed by the right managing system 100 is determined in advance, the distributed ledger managing system 110 can manage the right by storing a blockchain for each object.
  • the distributed ledger managing system 110 may store a blockchain for each article. Thereby, the history of variations in the property right can be managed. Also, if the right managing system 100 is utilized to provide services concerning renting or sharing of an article, or lending of digital data (which is for example to provide an item in an electronic game), the distributed ledger managing system 110 may store a blockchain for each article or piece of digital data. Thereby, the history of variations in a right to lease, right to use, accessing right and the like can be managed.
  • each node of the plurality of nodes 112 stores a blockchain.
  • Each node of the plurality of nodes 112 may be any information processing apparatus as long as it participates in the distributed ledger managing system 110, and its specific configuration is not particularly limited.
  • Each node of the plurality of nodes 112 may be a computer into which a program for executing a new block approval process (which is in some cases referred to as a mining process) is introduced.
  • a given node 112 can freely participate in the distributed ledger managing system 110.
  • only a permitted node 112 can participate in the distributed ledger managing system 110.
  • Each node of the plurality of nodes 112 receives transaction data from the user terminal 120.
  • Each node of the plurality of nodes 112 executes a process of approving a new block including multiple pieces of transaction data received by each node.
  • the new block approval process may be executed at constant time intervals.
  • the approval process is a process performed by one of the nodes to find a solution satisfying a predetermined condition, for example.
  • the approval process is not limited to the above-mentioned method.
  • the approval process may be implemented according to an approach known in the blockchain technology or similar technologies, or an approach to be developed newly in the future.
  • the block Upon approval of a new block by one node 112, the block is added to a blockchain, and the blockchain including the block is shared with other nodes 112.
  • each node of the plurality of nodes 112 may extract one or more pieces of transaction data agreeing with the request, and transmit the extracted transaction data to the user terminal 120.
  • each node of the plurality of nodes 112 may extract one or more pieces of transaction data agreeing with the request, and utilize the extracted transaction data to execute a process corresponding to the request.
  • Each node of the plurality of nodes 112 may transmit, to the user terminal 120, a result of the above-mentioned process.
  • the peer-to-peer network 114 allows transmission of information among the plurality of nodes 112.
  • the peer-to-peer network 114 may be a wired communication transmission path, a wireless communication transmission path, or a combination of a wireless communication transmission path and a wired communication transmission path.
  • the peer-to-peer network 114 may include at least one of a wireless communication network, the Internet and a dedicated line, or a combination thereof.
  • the wireless communication method may be a mobile communication method or may be a short-range wireless communication method. Examples of short-range wireless communication may include those utilizing a wireless MAN, wireless LAN, Bluetooth (registered trademark), Zigbee (registered trademark), NFC and others utilizing short-range wireless communication.
  • the user terminal 120 is an information processing apparatus utilized by User A.
  • the user terminal 120 may be any information processing apparatus as long as it can transmit and receive information to and from the distributed ledger managing system 110 through the communication network 10, and its specific configuration is not particularly limited.
  • the user terminal 120 may be a personal computer, a portable phone or smartphone, a portable terminal (examples of which may include a PDA, tablet, notebook computer or laptop computer and other portable terminals), a wireless terminal or the like.
  • the user terminal 120 stores a private key 122 of User A.
  • the user terminal 120 utilizes the private key 122 of User A to generate one or more transactions concerning variations in each right of one or more rights possessed by User A.
  • the user terminal 120 transmits the generated transactions to at least some of the plurality of nodes 112. In one embodiment, the user terminal 120 transmits the generated transactions to any one of the plurality of nodes 112.
  • the node 112 that has received the transactions from the user terminal 120 forwards the transactions to all the other nodes 112 through the peer-to-peer network 114. In another embodiment, the user terminal 120 may broadcast the generated transactions to the plurality of nodes 112.
  • Each unit of the right managing system 100 may be realized by hardware, realized by software, or realized by hardware and software. Each unit of the right managing system 100 may be realized by a single server or realized by multiple servers.
  • Each unit of the right managing system 100 may be realized by activating software or a program defining operations of each unit of the right managing system 100 in a generally configured information processing apparatus.
  • the above-mentioned information processing apparatus may include: a data processing apparatus having a processor such as a CPU, a ROM, a RAM, a communication interface and the like; input apparatuses such as a keyboard, touch panel, camera, microphone, various types of sensor or GPS receiver; output apparatuses such as a display apparatus, speaker or vibration apparatus; and storage apparatuses such as a memory or HDD.
  • the right managing system 100 may include, as part of it, a virtual server or cloud system.
  • the above-mentioned data processing apparatus or storage apparatus may store the above-mentioned software or program.
  • the above-mentioned software or program By being executed by a processor, the above-mentioned software or program causes the above-mentioned information processing apparatus to execute operations defined by the software or program.
  • the above-mentioned software or program may be stored in a non-transitory computer-readable storage medium.
  • the right managing system 100 registers, in the distributed ledger managing system 110, information concerning variations in a right possessed by User A for example by the following procedure.
  • User A possessing a right aimed at the object 30 executes, on the user terminal 120, manipulation that can generate a variation in the right.
  • Examples of the manipulation that can generate a variation in a right may include manipulation concerning application software operating on the user terminal 120, manipulation for utilizing a service provided by an application server on the Internet, and other manipulation.
  • an account of User A is created. At this time, a right to utilize the account occurs or is transferred. Thereafter, events such as acquisition of an item or level-upgrade of a character or item occur as the game proceeds. For example, upon acquisition of an item by User A in the electronic game, a right to utilize the item occurs or is transferred. Also, upon level-upgrade of a character or item in the electronic game, a change is generated in the details of the right to utilize the account or item.
  • the right to utilize an account or item may be one example of one right.
  • the user terminal 120 If a variation is generated in a right of User A due to manipulation of a user, the user terminal 120 utilizes the private key 122 stored in the user terminal 120 to generate transaction data concerning the variation in the right. Next, the user terminal 120 transmits the generated transaction data to the distributed ledger managing system 110 through the communication network 10. At appropriate timing, the distributed ledger managing system 110 forms a block of the transaction data received from the user terminal 120 to generate a new blockchain. Thereby, User A can register information concerning a variation in his/her own right in the distributed ledger managing system 110.
  • User A can manipulate the user terminal 120 to access information stored in the distributed ledger managing system 110. For example, based on an instruction from User A, the user terminal 120 transmits, to the distributed ledger managing system 110, a request to extract data agreeing with a particular condition, a request to judge whether or not a particular condition is satisfied, or other requests.
  • the distributed ledger managing system 110 receives a request from the user terminal 120, and executes a process corresponding to the request. Thereby, User A can view the history of variations in a particular right, confirm a right possessed by him/her, or perform other processes.
  • the user terminal 120 for example generates transaction data for issuance to transmit the transaction data to one of the plurality of nodes 112.
  • Examples of the details of a newly occurring right to lease may include (i) the duration of the right to lease, (ii) existence or nonexistence of a special contract stipulating that alienation of the right to lease or subleasing of the leased object is permitted, and other details.
  • the transaction data for issuance for example includes information indicating that the transaction is for issuance, information concerning an issuance condition, information concerning a right expressed by the transaction, and information concerning a successor of the right.
  • Examples of the information concerning an issuance condition may include information designating the unit number of assets to be issued, information designating the scale of the amount of assets to be issued (which is in some cases referred to as divisibility), information designating the upper limit of the amount of assets, and other information.
  • the amount of assets is equivalent to the amount of cryptocurrency, and in the present embodiment, the amount of assets is for example the share of a right. Also, by setting the amount of assets at the time of initial issuance to the upper limit of the amount of assets designated in the issuance condition, increase in the amount of assets distributed after the issuance can be prevented, and the amount of assets to be distributed can be kept constant.
  • Examples of the information concerning a right may include: information uniquely specifying each right (which is in some cases referred to as right identification information) or information indicating the right identification information; information concerning details of each right; and other information.
  • Examples of the right identification information may include (i) object identification information, (ii) a combination of the object identification information and information indicating the type or name of a right, and other right identification information.
  • Examples of the object identification information may include (i) the manufacturer's serial number, identification number or MAC address of an object, (ii) a combination of these and manufacturer or seller identification information, and other object identification information.
  • Examples of the information indicating right identification information may include encoded data of the right identification information (which is for example a hash value) and other information.
  • the right identification information or information indicating the right identification information is in some cases referred to as a right ID.
  • the user terminal 120 for example generates transaction data for transfer to transmit the transaction data to one of the plurality of nodes 112.
  • the user terminal 120 may generate transaction data for transfer concerning the change in the right holder and details, and may generate transaction data for transfer concerning the change in the right holder and transaction data for transfer concerning the change in the details of the right. If the right holder does not change, but only the details of the right change, the user terminal 120 may generate a transaction for transfer that designates the current right holder as a successor.
  • the transaction data for transfer may for example include: information indicating that the transaction is for transfer; information concerning a right expressed by the transaction; information concerning a successor of the right; and information concerning the share to be succeeded in the transaction.
  • Examples of the information concerning a right may include a right ID, information concerning details of the right and other information.
  • Fig. 2 schematically shows one example of the internal configuration of a node 112.
  • the node 112 includes a communication control unit 210, a blockchain generating unit 220, a storing unit 230 and a request processing unit 240.
  • the storing unit 230 for example includes a blockchain storing unit 232 and a public key storing unit 234.
  • the communication control unit 210 controls at least one of communication with another node 112 and communication with the user terminal 120. If the object 30 has a communication function, the communication control unit 210 may control communication with the object 30.
  • the communication control unit 210 may function as a transmitting unit that transmits information to external equipment, and may function as a receiving unit that receives information from external equipment.
  • the communication control unit 210 may be a communication interface.
  • the communication control unit 210 may support multiple types of communication methods.
  • the communication control unit 210 for example receives a request from another node 112, the user terminal 120 or the object 30 to forward the request to the request processing unit 240. As a response to the request, the communication control unit 210 may transmit a result of executing a process in the request processing unit 240 to a transmission source of the above-mentioned request.
  • the communication control unit 210 for example receives transaction data from the user terminal 120 to forward the transaction data to the blockchain generating unit 220.
  • the communication control unit 210 for example receives, from the user terminal 120, a public key corresponding to the private key 122 to store it in the public key storing unit 234. The above-mentioned public key may be included in transaction data from the user terminal 120.
  • the blockchain generating unit 220 acquires the transaction data from the user terminal 120 to generate a blockchain. For example, every time a predetermined period elapses, the blockchain generating unit 220 forms a block of one or more pieces of transaction data acquired in the period to generate a new block.
  • the above-mentioned predetermined period may be a strictly defined period or an approximately defined period. If transaction data is not acquired in the above-mentioned predetermined period, the blockchain generating unit 220 may generate a new block or may not generate a new block.
  • the procedure of forming a block is not particularly limited, but is executed in the following procedure, for example.
  • the blockchain generating unit 220 specifies one or more pieces of transaction data acquired in a predetermined period. If transaction data is not acquired in the above-mentioned predetermined period, the step of specifying one or more pieces of transaction data may be omitted.
  • the blockchain generating unit 220 accesses a current blockchain stored in the blockchain storing unit 232 to extract data of the preceding block.
  • the user terminal 120 hashes the extracted preceding block.
  • the hashing may be one example of encoding.
  • the blockchain generating unit 220 puts together a header including numerical data called nonce (number used once), the hash value of the preceding block, and one or more pieces of transaction data acquired in a predetermined period to generate a new block.
  • the blockchain generating unit 220 for example puts together a header including a nonce and a hash value of the preceding block to generate a new block.
  • the nonce included in the new block may have a value different from a nonce included in the preceding block.
  • the blockchain generating unit 220 executes a process of approving the block.
  • the procedure of the approval process is not particularly limited, but is executed in the following procedure, for example.
  • the blockchain generating unit 220 first hashes a new block.
  • the blockchain generating unit 220 compares the hash value of the new block and a predetermined target value. If the hash value of the new block is smaller than the predetermined target value, the block is approved. On the other hand, if the hash value of the new block is larger than the predetermined target value, the value of a nonce included in the new block is changed, and the above-mentioned process is repeated.
  • the target is data from which the mining difficulty (difficulty) is calculated, and the smaller the target is, the greater the mining difficulty is.
  • the blockchain generating unit 220 Upon approval of the new block, the blockchain generating unit 220 adds the block to the existing blockchain to generate a new blockchain.
  • the blockchain generating unit 220 stores the new blockchain in the blockchain storing unit 232. Also, the blockchain generating unit 220 transmits the new blockchain to other nodes 112 to share the latest blockchain with the other nodes 112.
  • the blockchain generating unit 220 generates a blockchain for each right. For example, different blockchains are used to respectively manage transaction data concerning the property right of the object 30 and transaction data concerning the right to lease established for the object 30. In another embodiment, the blockchain generating unit 220 generates a blockchain for each object. For example, the same blockchain is used to manage transaction data concerning the property right of the object 30 and transaction data concerning the right to lease established for the object 30.
  • the storing unit 230 stores various pieces of information.
  • the blockchain storing unit 232 for example stores a blockchain generated by the blockchain generating unit 220.
  • the public key storing unit 234 for example stores a public key corresponding to the private key 122 of the user terminal 120.
  • the storing unit 230 may also store other information.
  • the request processing unit 240 processes various requests to the distributed ledger managing system 110. As a response to the request, the request processing unit 240 transmits a result of processing to a transmission source of the request. Examples of a request to the distributed ledger managing system 110 may include a request to extract data agreeing with a particular condition, a request to judge whether or not a particular condition is satisfied, and other requests.
  • the request processing unit 240 receives, from the user terminal 120 or the object 30, a right ID, and a request to extract identification information of the right holder of a right specified by the right ID.
  • the request processing unit 240 for example refers to the blockchain storing unit 232 to access a blockchain concerning the above-mentioned right, and extract identification information of the right holder of the right. Thereafter, as a response to the request, the request processing unit 240 transmits the extracted information to a transmission source of the request.
  • the request processing unit 240 receives, from the user terminal 120 or the object 30, a right ID, identification information of User A, and a request to judge whether or not User A is the right holder of a right specified by the right ID.
  • the request processing unit 240 for example refers to the blockchain storing unit 232 to access a blockchain concerning the above-mentioned right and extracts identification information of the right holder of the right.
  • the request processing unit 240 judges whether or not User A is the right holder of the right by judging whether or not the extracted identification information of the right holder agrees with the identification information of User A. Thereafter, as a response to the request, the request processing unit 240 transmits information indicating the judgment result to a transmission source of the request.
  • the request processing unit 240 receives, from the user terminal 120 or the object 30, identification information of User A and a request to extract a right ID of a right possessed by User A.
  • the request processing unit 240 for example refers to the blockchain storing unit 232 to access one or more blockchains stored in the blockchain storing unit 232, and extract identification information of the current right holder of a right corresponding to each blockchain.
  • the request processing unit 240 judges whether or not User A is the current right holder of a right corresponding to each blockchain by judging whether or not the extracted identification information of the right holder agrees with the identification information of User A.
  • the request processing unit 240 transmits, to a transmission source of the request, a right ID of the right for which User A is judged as the current right holder.
  • Fig. 3 to Fig. 5 are used to explain examples of the data structure of data stored in the blockchain storing unit 232.
  • Fig. 3 schematically shows one example of the data structure of a blockchain 300.
  • the blockchain 300 includes multiple blocks that are continuous in time series.
  • Block B i and Block B i-1 which is a preceding block for Block B i among the plurality of blocks constituting the blockchain 300 are shown (i is a positive integer equal to or greater than 2).
  • each block of the plurality of blocks includes a block header 310 and one or more pieces of transaction data 320.
  • Each piece of the one or more pieces of transaction data 320 may be one example of transaction information concerning variations in one right.
  • a single block includes transaction data concerning multiple rights.
  • the data structure of a block is not limited to the present embodiment.
  • a single block includes transaction data concerning a single right, but does not include transaction data concerning other rights.
  • a single block includes multiple pieces of transaction data.
  • the data structure of a block is not limited to the present embodiment.
  • a single block includes a single piece of transaction data.
  • a single block may not include transaction data.
  • a block not including transaction data may be generated.
  • the block header 310 includes: a block version 410 of Block B i (which is in some cases referred to as a current block); a hash value 412 of the block header of Block B i-1 (which is in some cases referred to as a preceding block); a Merkle root hash value 414 of the transaction data of Block B i ; a block lock time 416 of Block B i ; a target 418 of a mining process at the time of the block lock of Block B i ; and a nonce 420 calculated in the mining process of Block B i .
  • the block version 410 indicates the version of rules, protocol or algorithm for block formation.
  • the block lock time 416 indicates a clock time at which Block B i was approved.
  • the clock time at which Block B i was approved may be one example of a time at which a block of one or more pieces of transaction data included in Block B i was formed.
  • the target 418 indicates the target in the approval process of Block B i .
  • the hash value may be one example of encoded data, and hashing may be one example of encoding.
  • Fig. 5 schematically shows one example of the data structure of transaction data 500 concerning a variation in a right.
  • the transaction data 500 includes a version 502, the number of inputs 504, one or more inputs 506, the number of outputs 508, one or more outputs 510 and a block lock time 512.
  • the version 502 indicates the version of rules stipulating the format or protocol of the transaction data 500.
  • the number of inputs 504 indicates the number of the inputs 506.
  • the number of outputs 508 indicates the number of the outputs 510.
  • the block lock time 512 indicates the clock time at which a block including the transaction data 500 was approved.
  • each input of the one or more inputs 506 for example includes a hash value 522 of preceding transaction data, a preceding output index 524, a size 526 of a signature script 528, the signature script 528 and a sequence terminal symbol 534.
  • the signature script 528 may include a signature value 530 of the transaction data 500, and a public key 532 corresponding to a private key of the current right holder.
  • the signature value 530 of the transaction data 500 may be encrypted data obtained by encrypting at least part of the transaction data 500 using a private key of the current right holder (who is in some cases referred to as a successee).
  • a method employed to generate the signature value 530 by encrypting part of or the entire transaction data 500 using a private key of the current right holder may be a known approach to generating a transaction in cryptocurrency, or an approach to generating a transaction in cryptocurrency to be developed in the future.
  • each output of the one or more outputs 510 for example includes a share 542 to be succeeded, a size 544 of a public key verification script 546 and the public key verification script 546.
  • the public key verification script 546 may include a hash value 548 of a public key of the successor, information 550 concerning the type of transaction data and information 552 concerning a right.
  • the hash value 548 of the public key of the successor indicates one or more successors of the right expressed by the transaction data 500 in a variation in the right. If the right holder does not change in the above-mentioned right variation, the hash value 548 of the public key of the successor may be a hash value of the public key of the successee.
  • the information 550 concerning the type of transaction data may be information indicating whether the transaction data 500 is transaction data for issuance or transaction data for transfer.
  • Examples of the information 552 concerning a right may include a right ID, information concerning details of the right (which is in some cases referred to as detail information), and other information.
  • Examples of the detail information may include (i) information concerning a feature, specification or state of a target object or object of the right, (ii) information concerning a change the target object or object of the right, (iii) information concerning a restriction on the right, (iv) information concerning a condition to exercise the right, and other information.
  • the detail information may be (i) data indicating details of a right after a variation or details of a right variation (details of a right or details of a right variation are in some cases referred to as details of a right or right variation), (ii) a URI of data in which details of the right or right variation are recorded, or (iii) encoded data of data in which the details of the right or right variation are recorded.
  • the recorded data in which the details of the right or right variation are recorded may be a second database system (which may be one example of a detail information storing unit) which is different from the distributed ledger managing system 110, or a record included in the second database system, or part of the record.
  • the above-mentioned part of the record may be a value of a key-value type database.
  • the transaction data 500 may be one example of the transaction data 320 constituting Block B i of the blockchain 300.
  • the transaction data 500 may be one example of transaction data for transfer (which is in some cases referred to as transaction data for forwarding).
  • the transaction data 500 may be one example of first transaction information.
  • the preceding transaction data may be one example of second transaction information.
  • the hash value may be one example of encoded data, and hashing may be one example of encoding.
  • the signature value 530 may be one example of encrypted data obtained by encrypting at least part of the transaction data 500 using a private key of a successee.
  • the successee may be one example of a user possessing one right.
  • the public key 532 of a successee may be one example of identification information identifying a successee.
  • the public key of a successor may be one example of identification information identifying a successor.
  • the number of inputs 504 and number of outputs 508 are one or larger.
  • the transaction data 500 is not limited to the present embodiment. In another embodiment, in the transaction data 500, at least one of the number of inputs 504 and the number of outputs 508 may be 0.
  • the transaction data 500 is transaction data for transfer.
  • the transaction data 500 is not limited to the present embodiment.
  • the transaction data 500 may be transaction data for issuance.
  • transaction data 500 is transaction data for issuance
  • special data for indicating that it is transaction data for issuance may be input according to a predetermined rule or protocol.
  • predetermined special data is input to the hash value 522 of the preceding transaction data and the preceding output index 524.
  • the transaction data 500 may further include data indicating information concerning an issuance condition of a right expressed by the transaction data 500. The information concerning an issuance condition may be the same as the one described above.
  • the transaction data 500 may be information about a transaction of a cryptocurrency utilizing a blockchain technology.
  • the right ID may be currency identification information uniquely specifying the above-mentioned cryptocurrency.
  • a right ID as currency identification information of a cryptocurrency, it becomes possible to utilize a platform of an existing cryptocurrency or utilize a mechanism similar to the platform of an existing cryptocurrency to manage the history of variations in a right identified by the right ID.
  • the amount of cryptocurrency retained by each user may be decided according to the share of a right possessed by each user.
  • information designating the above-mentioned upper limit of the amount of assets may be one example of information defining the total amount of cryptocurrency issued.
  • the transaction data 500 has only a region to store information concerning balance.
  • the transaction data 500 is not limited to the present embodiment.
  • the transaction data 500 may include a program (which is in some cases referred to as code) to be executed by a computer of the node 112.
  • the transaction data 500 for example has, in addition to (i) the region to store information concerning balance like the one explained with reference to Fig. 5, (ii) a region to store the code (which is in some cases referred to as a code storing region), and (iii) a region to store data concerning execution of the code (which is in some cases referred to as a data storing region).
  • the transaction data 500 may have, in place of the region to store information concerning balance like the one explained with reference to Fig. 5, (i) a region to store the code (which is in some cases referred to as a code storing region), and (ii) a region to store data concerning execution of the code (which is in some cases referred to as a data storing region).
  • a code execution procedure is as follows, for example.
  • the node 112 receives, from another terminal (which is the user terminal 120, for example), a message instructing to start execution of the code included in the transaction data 500 stored in the node 112.
  • a computer of the node 112 causes the code to be executed automatically.
  • the computer of the node 112 may store a result of executing the above-mentioned code in the data storing region of the transaction data 500.
  • the computer of the node 112 may issue an address for specifying the stored code.
  • Examples of the above-mentioned code may include (i) a code for registering, in the distributed ledger managing system 110, various types of code as information indicating details of a contract between a successee of a right and a successor of the right (which is in some cases referred to as a contract), (ii) a code for executing a command on a code registered as the contract, (iii) a code for generating a transaction, and a combination thereof.
  • the above-mentioned code may be a smart contract code.
  • the transaction data 500 has stored in its code storing region: (i) a code for causing a computer to execute a process for registering, in the distributed ledger managing system 110, a code embodying an escrow service by an escrow service provider, (ii) a code for causing a computer to execute a process of recording contract details, (iii) a code for causing a computer to execute a process of transferring the property right of an object from a seller of the object to an escrow service provider, (iv) a code for causing a computer to execute a process of transferring the property right of an object from an escrow service provider to a purchaser of the object, (v) a code for causing a computer to execute a process of transferring an amount of cryptocurrency equivalent to the charge of an object from a purchaser of the object to an escrow service provider, (vi) a code for causing a computer to execute a process of transferring an amount of cryptocurrency equivalent to the
  • Examples of the above-mentioned contract details may include information indicating that a contract has been concluded, information indicating that the property right of an object is alienated to a purchaser of the object at a particular money amount, and other information.
  • a transaction corresponding to the purpose of each code may be generated.
  • a condition for executing each code may be defined.
  • the information 552 concerning a right is stored in a region of the public key verification script 546.
  • a region where the information 552 concerning a right is stored is not limited to the public key verification script 546.
  • the information 552 concerning a right may be stored in a given region in the transaction data 500.
  • the information 552 concerning a right is stored in a region storing the above-mentioned code.
  • Fig. 6 schematically shows one example of the internal configuration of the user terminal 120.
  • the user terminal 120 includes a communication control unit 610, an I/O unit 620, a transaction data generating unit 630, a storing unit 640 and a request generating unit 650.
  • the storing unit 640 may have a key information storing unit 642 and a transaction data storing unit 644.
  • the communication control unit 610 may be one example of a transaction information transmitting unit, a command transmitting unit or a request transmitting unit.
  • the I/O unit 620 may be one example of an input unit.
  • the transaction data generating unit 630 may be one example of an encrypting unit, a right variation judging unit, a key generating unit, or a detail information updating unit.
  • the storing unit 640 may be one example of a detail information storing unit.
  • the communication control unit 610 controls communication with the distributed ledger managing system 110 or the plurality of nodes 112. If the object 30 has a communication function, the communication control unit 610 may control communication with the object 30.
  • the communication control unit 610 may function as a transmitting unit to transmit information to external equipment, and function as a receiving unit to receive information from external equipment.
  • the communication control unit 610 may be a communication interface.
  • the communication control unit 610 may support multiple types of communication methods.
  • the communication control unit 610 transmits, to the distributed ledger managing system 110, transaction data generated by the transaction data generating unit 630. If having detected a variation in a particular right, for example, the transaction data generating unit 630 generates transaction data concerning the variation in the right.
  • the transaction data includes a right ID of the right expressed by the transaction data.
  • the transaction data is provided with metadata, and the metadata may include a right ID of the right expressed by the transaction data.
  • the transaction data includes at least (i) successor information indicating one or more successors of a particular right in a variation in the right (which is the hash value 548 in Fig. 5, for example), and (ii) encoded data of transaction data concerning a preceding variation in the above-mentioned right (which is the hash value 522 in Fig. 5, for example).
  • the above-mentioned transaction data may further include data (which is the signature value 530 in Fig. 5, for example) obtained by encrypting at least part of transaction data concerning the above-mentioned right variation using a private key of a current right holder.
  • the communication control unit 610 can transmit, to the distributed ledger managing system 110 and in association with each other, the right ID of the above-mentioned right and the data (which is the signature value 530 in Fig. 5, for example) obtained by encrypting at least part of transaction data concerning the right variation using the private key of the current right holder.
  • the right managing system 100 utilizes a cryptocurrency to express a particular right
  • the above-mentioned right ID may be currency identification information of the cryptocurrency.
  • the above-mentioned cryptocurrency may be realized on a platform conforming to rules or a protocol of Bitcoin 2.0 or Cryptocurrency 2.0. Examples of the above-mentioned platform may include ColoredCoins, Counterparty, Omni, Ethereum and other platforms.
  • the transaction data may further include detail information (which is the information 552 concerning a right in Fig. 5, for example).
  • the transaction data may include data in which detail information is encoded.
  • the detail information may be a second database system (which may be one example of a detail information storing unit) which is different from the distributed ledger managing system 110, or a record included in the second database system, or part of the record.
  • the right managing system 100 can be utilized to warrant existence or credibility of detail information stored in the second database system. For example, every time detail information to be stored in the second database system is generated or detail information stored in the second database system is updated, transaction data concerning a variation in a right corresponding to the generated or updated detail information is generated. At this time, encoded data (which is a hash value, for example) of the detail information stored in the second database system may be recorded in an appropriate region of transaction data. The generated transaction data is transmitted to the distributed ledger managing system 110.
  • the order of a process of storing newly generated detail information in the second database or a process of updating detail information stored in the second database system and a process of generating or transmitting transaction data is not particularly limited.
  • the second database system may be one example of a detail information storing unit.
  • the second database system may be disposed in the user terminal 120, or may be constructed on an information processing apparatus different from the distributed ledger managing system 110 and the user terminal 120.
  • access to detail information stored in the second database system may be restricted. For example, at least one of reading and writing of stored data is restricted. At least one of viewing, saving, transmission, output and duplication of stored data may be restricted.
  • the above-mentioned access restriction may be (i) executed by the second database system, (ii) executed by the distributed ledger managing system 110, (iii) executed by an information processing system present interposed between the at least two of the second database system, the distributed ledger managing system 110, the user terminal 120 and the object 30, or (iv) executed by the user terminal 120.
  • the communication control unit 610 transmits various types of request generated by the request generating unit 650.
  • the communication control unit 610 transmits the above-mentioned requests to the distributed ledger managing system 110.
  • the communication control unit 610 may transmit, to the I/O unit 620, a request to a user to cause the request to be output. If the object 30 has a communication function, the communication control unit 610 may transmit various types of request or command to the object 30.
  • the communication control unit 610 may receive information transmitted from the object 30.
  • the communication control unit 610 may transmit information necessary for execution of the above-mentioned requests or commands in association with the requests or commands.
  • the communication control unit 610 may receive responses to the requests.
  • the I/O unit 620 accepts an input to the user terminal 120.
  • the I/O unit 620 may accept an instruction about a given right from a user.
  • the above-mentioned instruction may be an instruction concerning manipulation of the user terminal 120. For example, if a user is utilizing the user terminal 120 to play an on-line game, manipulation for acquiring an item in the game (which is manipulation of pressing an input button, for example) is equivalent to the above-mentioned instruction.
  • the I/O unit 620 outputs information from the user terminal 120.
  • Examples of the I/O unit 620 may include an input apparatus such as a keyboard, pointing device, touch panel, microphone, camera, sensor or GPS receiver, or an output apparatus such as a display apparatus, speaker or vibration apparatus.
  • the I/O unit 620 may be a user interface.
  • the transaction data generating unit 630 generates transaction data.
  • the transaction data generating unit 630 stores the generated transaction data in the transaction data storing unit 644. Also, the transaction data generating unit 630 transmits the generated transaction data to the distributed ledger managing system 110 through the communication control unit 610.
  • the transaction data generating unit 630 may generate the private key 122 of User A and a public key corresponding to the private key 122.
  • the transaction data generating unit 630 may store the above-mentioned private key 122 and public key in the key information storing unit 642.
  • the transaction data generating unit 630 generates transaction data T i for transfer concerning an i-th variation V i of a right R, the current right holder of which is User A, for example by the following procedure (i is a positive integer equal to or greater than 2). If the right R is not transferred in the variation V i and a change is generated in details of the right R, transaction data T i including successor information that designates a successee as a successor may be generated. Also, the transaction data T 1 for issuance can be generated by a similar procedure.
  • the transaction data generating unit 630 generates tentative transaction data including at least (i) successor information indicating one or more successors of the right R in the variation V i , and (ii) encoded data of transaction data T i-1 concerning a preceding variation V i-1 of the right R.
  • the tentative transaction data may include a right ID.
  • the tentative transaction data may include information concerning a share of the right R to be succeeded in the variation V i .
  • the tentative transaction data may include detail information indicating a change in details of the right R in the variation V i .
  • the above-mentioned detail information may be encoded data of data in which details of a right or right variation are recorded.
  • the tentative transaction data may be data in which given data is tentatively placed at a signature script portion of the transaction data T i .
  • the given data may be a hash value of the public key of User A.
  • the tentative transaction data may be one example of at least part of transaction data to be a target of encryption by the encrypting unit.
  • the transaction data generating unit 630 encrypts the entire tentative transaction data using the private key 122 of User A to generate a signature value of the transaction data T i . Thereafter, the transaction data generating unit 630 arranges the generated signature value of the transaction data T i and the public key of User A in an appropriate region of the transaction data T i to generate final transaction data T i .
  • the transaction data generating unit 630 if having detected the variation V i in the right R, the transaction data generating unit 630 generates the transaction data T i concerning the variation V i . In one embodiment, if the I/O unit 620 accepts an instruction from a user, the transaction data generating unit 630 judges existence or nonexistence of a right variation resulting from execution of the instruction. In another embodiment, if the communication control unit 610 receives a request from the object 30, the transaction data generating unit 630 may judge existence or nonexistence of a right variation resulting from execution of the request. The transaction data generating unit 630 may generate the transaction data T i in response to a request from the object 30.
  • the transaction data generating unit 630 If having judged that a right variation V i is generated due to execution of the above-mentioned instruction, the transaction data generating unit 630 generates the transaction data T i concerning the variation V i . In this case, if the transaction data T i includes a URI or encoded data of data in which details of the right or right variation are recorded, the transaction data generating unit 630 may access a second database system different from the distributed ledger managing system 110 to generate or update the above-mentioned data in which details of the right or right variation are recorded.
  • the transaction data generating unit 630 may judge existence or nonexistence of a right variation resulting from execution of an instruction every time the I/O unit 620 accepts the instruction from a user.
  • the above-mentioned instruction may be an instruction concerning a process or manipulation the main purpose of which is to vary a particular right, or the above-mentioned instruction may be an instruction concerning a process or manipulation the main purpose of which is not to vary a particular right.
  • the storing unit 640 stores various pieces of information.
  • the key information storing unit 642 stores the private key 122 of User A.
  • the key information storing unit 642 may store a public key corresponding to the private key 122.
  • the key information storing unit 642 may store a private key and public key of each user of multiple users.
  • the transaction data storing unit 644 stores transaction data generated by the transaction data generating unit 630.
  • the storing unit 640 may store other information.
  • the request generating unit 650 generates various types of request.
  • the request generating unit 650 may generate a request to the distributed ledger managing system 110.
  • the request generating unit 650 generates data requesting the distributed ledger managing system 110 (i) to extract information indicating a right possessed by a particular user, (ii) to extract information indicating an individual possessing a particular right, or (iii) to judge whether or not a particular user possesses a particular right.
  • the request generating unit 650 may generate a request to the object 30 or may generate a request to User A.
  • the request generating unit 650 may transmit, in association with the above-mentioned request, user identification information to be used for identifying a particular user to the distributed ledger managing system 110.
  • the user identification information may be a public key corresponding to a private key of the user or encoded data of the public key.
  • the user identification information may be terminal identification information to be used for identifying a user terminal utilized by the user.
  • the request generating unit 650 may transmit, in association with the above-mentioned request, a right ID of a particular right to the distributed ledger managing system 110.
  • Fig. 7 schematically shows one example of a data table 700.
  • the data table 700 shows one embodiment in which information stored as a blockchain in the distributed ledger managing system 110 is expressed in a table format.
  • the data table 700 includes a transaction ID 702, a successee user ID 704, a successor user ID 706, a right ID 708, share information 710 and detail information 712.
  • Identification information identifying each piece of transaction data is recorded in the transaction ID 702.
  • User identification information of a user who is a successee in a right variation corresponding to each piece of transaction data is recorded in the successee user ID 704.
  • User identification information of a user who is a successor in a right variation corresponding to each piece of transaction data is recorded in the successor user ID 706. Examples of the user identification information may include a user name, a user account name, a user address, a user private key and other user identification information.
  • a right ID of a right expressed by each piece of transaction data is recorded in the right ID 708.
  • the right ID may be information for identifying an object of the right, or may be information for identifying an object of the right and the type of the right.
  • Information concerning a share of a right to be succeeded in a right variation corresponding to each piece of transaction data is recorded in the share information 710.
  • Information indicating details of a right or right variation is recorded in the detail information 712.
  • a URI or encoded data of data in which details of a right or right variation are recorded may be recorded in the detail information 712.
  • the successee user ID 704 corresponds to a From address of the cryptocurrency.
  • the successor user ID 706 corresponds to a To address of the cryptocurrency
  • the right ID 708 corresponds to currency identification information of the cryptocurrency (which is the name of the encrypted currency or the name of a platform of the encrypted currency, for example)
  • the share information 710 corresponds to the amount of the cryptocurrency.
  • Fig. 8 schematically shows one example of a data table 800.
  • the data table 800 shows one example of data stored in a second database system which is a database system different from the distributed ledger managing system 110 and in which detail information is recorded.
  • a URI of data in which detail information is recorded or encoded data of the detail information is recorded in the detail information 712 of the data table 700.
  • the data table 800 stores, in association with each other, detail information 804, and encoded data 802 obtained by encoding the detail information 804.
  • the encoded data 802 is a hash value of the detail information 804, for example.
  • the encoded data 802 may be a hash value of data including the detail information 804 and other information. Examples of the above-mentioned other information may include a timestamp, an IP address and other information. In this case, reuse of data after being encoded can be prevented.
  • Utilizing the data table 700 and the data table 800 can warrant, at a practically sufficient accuracy, that the detail information 804 stored in the data table 800 is not falsified. For example, in a case where encoded data of data in which detail information is recorded is recorded in the detail information 712 of the data table 700, if the encoded data recorded in the detail information 712 of the data table 700 matches encoded data recorded in the encoded data 802 of the data table 800, it can be determined that the detail information 804 stored in the data table 800 is not falsified.
  • the data table 800 may store, in association with each other, the detail information 804, and a right ID for identifying a right related to the detail information 804.
  • Fig. 16 and Fig. 17 are used to explain other examples of information being stored as a blockchain in the distributed ledger managing system 110.
  • Fig. 16 schematically shows one example of a data table 2200.
  • the data table 2200 shows one embodiment in which information stored as a blockchain in the distributed ledger managing system 110 is expressed in a table format.
  • Fig. 17 schematically shows one example of a contract object 2300.
  • the contract object 2300 is one example of a code stored, in the data table 2200, as a record the transaction ID of which is T 1 .
  • the contract object 2300 includes a command for transferring a property right and a command for recording a detail variation in the right.
  • the data table 2200 is one example of a data table in a case where a process similar to the process explained with reference to Fig. 7 is realized utilizing a so-called smart contract technology.
  • the data table 2200 includes a transaction ID 2202, a manipulation account 2204, an execution-target code 2206 registered in the blockchain and code call details 2208.
  • the data table 2200 may have a remark column 2210.
  • Identification information identifying each piece of transaction data is stored in the transaction ID 2202.
  • Identification information identifying a user who has caused a right variation to occur corresponding to each piece of transaction data is stored in the manipulation account 2204.
  • an address of a code to be an execution-target in each transaction of codes stored in a blockchain is recorded in the execution-target code 2206.
  • a function to be an execution-target among functions held by an execution-target code in each transaction, and an argument of the function are recorded in the code call details 2208.
  • the execution-target code 2206 and the code call details 2208 may be one example of a code storing region. For example, simple explanation of a code is stored in the remark column 2210.
  • FIG. 9 schematically shows one example of the system configuration of a right managing system 900.
  • a keyless entry system a rental or sharing system, a remote manipulation system, an escrow system, a settlement system, a matching system, an auction system, an on-line game system, an update program distribution system, and the like can be realized.
  • the right managing system 900 includes a user terminal 920.
  • the right managing system 900 may further include the distributed ledger managing system 110.
  • the right managing system 900 may further include an object 930.
  • the right managing system 900 may further include a right managing server 940.
  • the right managing server 940 has a detail information storing unit 942 and an information managing unit 944.
  • the right managing system 900 may be one example of a data managing system.
  • the user terminal 920 may be one example of a data managing system or information processing apparatus.
  • the right managing server 940 or the detail information storing unit 942 may be one example of a second database system.
  • the right managing server 940 or the information managing unit 944 may be one example of a detail information updating unit.
  • the right managing server 940 includes the detail information storing unit 942.
  • the detail information storing unit 942 is not limited to the present embodiment.
  • the detail information storing unit 942 may be a database system that is disposed outside the right managing server 940, and can transmit and receive information to and from the right managing server 940.
  • the user terminal 920 is different from the user terminal 120 in that it generates a command to the object 930, and transmits the command to the object 930.
  • the user terminal 920 may transmit the above-mentioned command directly to the object 930 by short-range wireless communication or wired communication.
  • the user terminal 920 may have a configuration similar to that of the user terminal 120 in other respects than the above-mentioned difference.
  • the object 930 is different from the object 30 in that it has a communication function, and transmits and receives information to and from the distributed ledger managing system 110, the user terminal 920 and the right managing server 940.
  • the object 930 may transmit and receive information to and from the distributed ledger managing system 110, the user terminal 920 and the right managing server 940 through the communication network 10.
  • the object 930 may transmit and receive information to and from the user terminal 920 by short-range wireless communication or wired communication.
  • the object 930 may transmit and receive information to and from the distributed ledger managing system 110 and the user terminal 920 through the right managing server 940.
  • the object 930 is different from the object 30 in that it receives a command from the user terminal 920, and determines whether or not execution of the command is possible based on a blockchain stored in the distributed ledger managing system 110.
  • the object 930 may have a configuration similar to that of the object 30 in other respects than the above-mentioned difference.
  • the object 930 may store a private key 932 for specifying or identifying a computer of the object 930 in information processing at the distributed ledger managing system 110 or the like. If it is not necessary to specify or identify the computer of the object 930, the object 930 may not store the private key 932.
  • the computer of the object 930 uses the private key 932 to create transaction data indicating a right variation concerning the object 930, and registers the transaction data in the distributed ledger managing system 110.
  • transaction data stored in the distributed ledger managing system 110 includes a signature value encrypted using the private key 932
  • the distributed ledger managing system 110 can specify that the transaction data was generated by the computer of the object 930.
  • the distributed ledger managing system 110 can use the private key 932 to specify or identify the computer of the object 930, and so on.
  • the distributed ledger managing system 110 stores the history of variations in a right concerning the object 930 as a blockchain.
  • the history of variations in a right concerning the object 930 is stored as one or more pieces of transaction data in the blockchain.
  • the blockchain includes for example (i) transaction data indicating that the current owner of the object 930 is User A, and (ii) transaction data indicating that a right that allows access to data indicating the history of variations in the right concerning the object 930 is established for the computer of the object 930.
  • Examples of the right that allows access to data indicating the history of variations in the right concerning the object 930 may include authority to access the data (which is authority to access the data itself, or authority to access the right managing server 940, the detail information storing unit 942 or the distributed ledger managing system 110, for example), the property right of the object 930 and other rights.
  • the right managing system 900 is explained using an example where (i) User A is the current owner of the object 930, (ii) the computer of the object 930 has a right to access data concerning the history of variations in the property right of the object 930, and (iii) User A utilizes the user terminal 920 to manipulate the object 930.
  • the property right of the object 930 may be one example of a right concerning the object 930.
  • a blockchain stored in the distributed ledger managing system 110 includes: a transaction for issuing two coins of a cryptocurrency corresponding to the property right of the object 930; a transaction for transferring the property right or right to use of one coin of the cryptocurrency to User A; and a transaction for transferring the property right or right to use of the other coin of the cryptocurrency to the computer of the object 930.
  • authority to write data concerning the history of variations in the property right of the object 930 in the detail information storing unit 942 or the distributed ledger managing system 110, to read the data from the detail information storing unit 942 or the distributed ledger managing system 110, and so on can be granted to both User A having the private key 122 and the computer of the object 930 having the private key 932.
  • the cryptocurrency corresponding to the property right of the object 930 can be generated for example by, at the time of issuing the cryptocurrency and as the name of the cryptocurrency, setting a string including an identification symbol indicating the property right of the object 930.
  • the number of coins of the above-mentioned cryptocurrency issued may be three or larger. Also, the share ratio of the property right allocated to each coin of the cryptocurrency may or may not be equal to each other.
  • the blockchain includes: a transaction for issuing one coin of a first cryptocurrency corresponding to the property right of the object 930; a transaction for transferring the property right or right to use of the first cryptocurrency to User A; a transaction for issuing a second cryptocurrency corresponding to a right to access data indicating the history of variations in the property right of the object 930; and a transaction for transferring the property right or right to use of the second cryptocurrency to the computer of the object 930.
  • authority to write data concerning the history of variations in the property right of the object 930 in the detail information storing unit 942 or the distributed ledger managing system 110, to read the data from the detail information storing unit 942 or the distributed ledger managing system 110, and so on can be granted to User A having the private key 122.
  • authority to read out data concerning the history of variations in the property right of the object 930 from the detail information storing unit 942 or the distributed ledger managing system 110 can be granted to the computer of the object 930 having the private key 932.
  • the first cryptocurrency can be generated for example by, at the time of issuing the first cryptocurrency and as the name of the cryptocurrency, setting a string including an identification symbol indicating the property right of the object 930.
  • the second cryptocurrency can be generated for example by setting, at the time of issuing the second cryptocurrency and as the name of the cryptocurrency, an identification symbol indicating the property right of the object 930 and a string including a symbol indicating an access authority. Examples of the access authority may include authority to write, authority to read, authority to execute and a combination thereof.
  • the number of coins of the first cryptocurrency issued may be two or larger, and the number of the second cryptocurrency issued may be two or larger. Also, the share ratio of a right allocated to each cryptocurrency may or may not be equal to each other.
  • User A who is the current owner of the object 930 manipulates the user terminal 920 to execute a process for manipulating the object 930.
  • the user terminal 920 generates a command to the object 930 in response to an input from User A.
  • the user terminal 920 transmits, to the object 930, the command to the object 930 and user identification information of User A.
  • Examples of the process for manipulating the object 930 may include (i) a process for restricting a function of the object 930, (ii) a process for cancelling a function restriction set for the object 930, (iii) a process for installing a program (which is an update program, for example) in the computer of the object 930, (iv) a process for causing the computer of the object 930 to execute a particular program or command, and other processes.
  • Examples of a means for restricting a function of the object 930 may include enabling locking, a lock function or an access restricting function of a locking apparatus provided to the object 930, and other means.
  • Examples of a means for cancelling a function restriction of the object 930 may include disabling unlocking, a lock function or an access restricting function of a locking apparatus provided to the object 930, and other means.
  • the object 930 upon reception of a command from the user terminal 920, the object 930 accesses the distributed ledger managing system 110 to judge whether or not User A is entitled or authorized to execute the command. The above-mentioned judgment process may be executed at the distributed ledger managing system 110. If having determined that User A is entitled or authorized to execute the command, the object 930 executes the command from the user terminal 920. On the other hand, if having determined that User A is not entitled or authorized to execute the command, the object 930 discards the command from the user terminal 920.
  • the computer of the object 930 accesses the right managing server 940 or the distributed ledger managing system 110 to request information concerning the current owner of the object 930.
  • the right managing server 940 or the distributed ledger managing system 110 first judges whether or not the computer of the object 930 is authorized to access information concerning the current owner of the object 930. If having determined that the computer of the object 930 is authorized to access, the right managing server 940 or the distributed ledger managing system 110 transmits information concerning the current owner of the object 930 to the computer of the object 930.
  • the computer of the object 930 compares user identification information received from the user terminal 920 with the information concerning the current owner of the object 930 acquired from the right managing server 940 or the distributed ledger managing system 110 to judge whether or not User A is authorized to execute the above-mentioned command. On the other hand, if having determined that the computer of the object 930 is not authorized to access, the right managing server 940 or the distributed ledger managing system 110 discards the above-mentioned request.
  • the computer of the object 930 accesses the right managing server 940 or the distributed ledger managing system 110 to request to judge whether or not User A is entitled or authorized to execute a command.
  • the computer of the object 930 transmits, to the right managing server 940 or the distributed ledger managing system 110, user identification information received from the user terminal 920 together with the above-mentioned request.
  • the right managing server 940 or the distributed ledger managing system 110 first judges whether or not the computer of the object 930 is authorized to access information concerning the current owner of the object 930.
  • the right managing server 940 or the distributed ledger managing system 110 compares user identification information received from the computer of the object 930 with the information concerning the current owner of the object 930 registered in the distributed ledger managing system 110 to judge whether or not User A is authorized to execute the above-mentioned command. On the other hand, if having determined that the computer of the object 930 is not authorized to access, the right managing server 940 or the distributed ledger managing system 110 discards the above-mentioned request.
  • the detail information storing unit 942 stores detail information indicating details of a right variation.
  • the detail information storing unit 942 may store the detail information and encoded data of the detail information in association with each other.
  • the detail information storing unit 942 may store the data table 800.
  • the information managing unit 944 manages various types of information to be utilized at the right managing system 900.
  • the information managing unit 944 manages detail information stored in the detail information storing unit 942 by generating or updating detail information.
  • the information managing unit 944 may be an interface for accessing at least one of the detail information storing unit 942 and the distributed ledger managing system 110.
  • the information managing unit 944 manages information concerning a variation in a right or details of the right. For example, if a process to generate a variation in a right or details of the right is executed as a result of User A manipulating the user terminal 920, the information managing unit 944 receives, from the user terminal 920, (i) detail information concerning the variation and (ii) transaction data including encoded data of the detail information concerning the variation.
  • the information managing unit 944 stores the received detail information in the detail information storing unit 942.
  • the information managing unit 944 may generate encoded data of the received detail information to store the detail information and the encoded data of the detail information in association with each other.
  • the information managing unit 944 compares the encoded data obtained by encoding the received detail information with the encoded data of the detail information included in the received transaction. If both the pieces of data match, the information managing unit 944 registers the received transaction data in the distributed ledger managing system 110.
  • the computer of the object 930 judges existence or nonexistence of falsification of detail information stored in the detail information storing unit 942 for example by the following procedure.
  • the computer of the object 930 accesses the right managing server 940 to request detail information to be a target of judgment about existence or nonexistence of falsification.
  • the computer of the object 930 transmits a right ID indicating the object 930 or a right ID indicating a particular right of the object 930 to the right managing server 940 to request detail information associated with the right ID.
  • the right managing server 940 accesses the distributed ledger managing system 110 to acquire encoded data included in transaction data corresponding to the right ID acquired from the computer of the object 930.
  • the right managing server 940 accesses the detail information storing unit 942 to acquire detail information corresponding to the encoded data acquired from the distributed ledger managing system 110.
  • the right managing server 940 transmits, to the computer of the object 930, the detail information acquired from the detail information storing unit 942. Thereby, the computer of the object 930 acquires detail information to be a judgment target from the detail information storing unit 942.
  • the computer of the object 930 encodes the detail information acquired from the detail information storing unit 942.
  • the computer of the object 930 accesses the distributed ledger managing system 110 to judge whether or not the encoded data of the detail information acquired from the detail information storing unit 942 is registered in the distributed ledger managing system 110 in association with the right ID acquired from the computer of the object 930.
  • the computer of the object 930 judges whether or not the encoded data of the detail information acquired from the detail information storing unit 942 matches latest encoded data registered in the distributed ledger managing system 110 in association with the right ID. If the encoded data of the detail information acquired from the detail information storing unit 942 is registered in the distributed ledger managing system 110, the computer of the object 930 judges that the detail information is not falsified. On the other hand, if the above-mentioned encoded data is not registered in the distributed ledger managing system 110, the computer of the object 930 judges that the detail information is falsified.
  • detail information itself is not registered in the distributed ledger managing system 110, but encoded data of the detail information is registered in the distributed ledger managing system 110. Thereby, even if a third-party accesses information registered in the distributed ledger managing system 110, leakage of the detail information itself can be prevented.
  • the information managing unit 944 manages a code for remotely manipulating the object 930.
  • the remote manipulation on the object 930 may include (i) a process for restricting a function of the object 930, (ii) a process for cancelling a function restriction set for the object 930, (iii) a process for installing a program (which is an update program, for example) in the computer of the object 930, (iv) a process for causing the computer of the object 930 to execute a particular program or command, and other remote manipulation.
  • the information managing unit 944 receives, from the user terminal 920, (i) a code for registering contract details, and (ii) transaction data including encoded data of the above-mentioned code.
  • the code for registering the contract details may include a code for remotely manipulating the object 930.
  • the information managing unit 944 stores the received code in the detail information storing unit 942.
  • the information managing unit 944 may generate encoded data of the received code to store the code and the encoded data of the code in association with each other. Also, the information managing unit 944 registers the received transaction data in the distributed ledger managing system 110.
  • the above-mentioned transaction data may include the above-mentioned encoded data of the code.
  • the computer of the object 930 accesses the information managing unit 944 to inquire existence or nonexistence of data transmitted to the object 930.
  • Examples of timing at which the computer of the object 930 accesses the information managing unit 944 may include: (i) when the computer of the object 930 received any command from the user terminal 920; (ii) the computer of the object 930 received, from the information managing unit 944, information indicating that detail information concerning a right related to the object 930 was generated or updated; (iii) when a predetermined clock time has come; (iv) when a predetermined length of time has elapsed since the last access; and other timing.
  • data used in the above-mentioned inquiry may include data obtained by encoding or encrypting, by utilizing the private key 932, information for preventing reuse of data after being encoded.
  • information for preventing reuse of data after being encode may include a timestamp, an IP address and other information. Utilizing the private key 932 of the object makes it possible to warrant legitimacy of the object 930 accessing the information managing unit 944.
  • the information managing unit 944 Upon reception of the inquiry from the object 930, the information managing unit 944 judges whether to allow or prohibit access of the object 930 to data registered in the distributed ledger managing system 110. If the computer of the object 930 is authorized to access data registered in the distributed ledger managing system 110, the information managing unit 944 accesses the distributed ledger managing system 110 to acquire data registered in the distributed ledger managing system 110 and transmits it to the object 930. On the other hand, if the computer of the object 930 is not authorized to access data registered in the distributed ledger managing system 110, the information managing unit 944 transmits, to the object 930, information indicating that access to the distributed ledger managing system 110 is rejected.
  • the information managing unit 944 may manage, as detail information, data to be transmitted from the user terminal 920 to the object 930 in place of a code for remotely manipulating the object 930.
  • a specific method of managing the above-mentioned data may be a similar to a method of managing a code for remotely manipulating the object 930.
  • the information managing unit 944 (i) manages detail information to be stored in the detail information storing unit 942, (ii) relays communication between the user terminal 920 or the object 930 and the distributed ledger managing system 110, and so on.
  • the information managing unit 944 is not limited to the present embodiment. In another embodiment, the information managing unit 944 may manage various types of service provided by the right managing server 940.
  • the right managing server 940 provides a remote manipulation service, an information delivery service, a matching service, an auction service, a rental service or sharing service, an on-line game service, an escrow service, a settlement service or the like.
  • the information managing unit 944 manages the above-mentioned service by managing a user interface in the above-mentioned service, information provided to a user, user information or the like.
  • a private key of each user is stored in a user terminal of each user, and a user terminal of each user generates transaction data.
  • the right managing system 900 is not limited to the present embodiment.
  • the information managing unit 944 may manage a private key of each user.
  • the information managing unit 944 may utilize a private key of each user to generate transaction data.
  • the information managing unit 944 may utilize a private key of User A to generate transaction data including encoded data of the detail information.
  • the information managing unit 944 may register the generated transaction data in the distributed ledger managing system 110.
  • Fig. 10 schematically shows one example of the internal configuration of the user terminal 920.
  • the user terminal 920 includes the communication control unit 610, the I/O unit 620, the transaction data generating unit 630, the storing unit 640, the request generating unit 650 and a command generating unit 1070.
  • the storing unit 640 has the key information storing unit 642 and the transaction data storing unit 644, for example.
  • the communication control unit 610 may be one example of a command transmitting unit.
  • the user terminal 920 may have a configuration similar to that of the user terminal 120 except that it includes the command generating unit 1070. In view of this, explanation of the configuration in other respects than the above-mentioned difference is omitted.
  • the command generating unit 1070 generates a command to the object 930.
  • Examples of the command to the object 930 may include a code for remotely manipulating the object 930, a code for registering contract details, and other commands.
  • the command generating unit 1070 may transmit the generated command to the object 930 through the communication control unit 610.
  • the command generating unit 1070 may transmit, to the object 930, the generated command and the user identification information of User A in association with each other.
  • Examples of the above-mentioned command may include an command for implementing a restriction concerning a function of the object 930, a command for cancelling a restriction concerning a function of the object 930, a command for causing information concerning a state of the object 930 to be reported, and other commands.
  • the command generating unit 1070 for example transmits the generated command to the transaction data generating unit 630.
  • the transaction data generating unit 630 generates transaction data including the command generated by the command generating unit 1070.
  • the transaction data generating unit 630 generates transaction data including encoded data of the command generated by the command generating unit 1070.
  • the transaction data generated by the transaction data generating unit 630 may be transmitted directly to the object 930, or may be transmitted to the object 930 through the right managing server 940.
  • Fig. 11 schematically shows one example of the internal configuration of the object 930.
  • the object 930 includes an I/O unit 1110, a control unit 1120 and a storing unit 1130.
  • the control unit 1120 has a communication control unit 1122, a request generating unit 1124, a function control unit 1126 and an executing unit 1128, for example.
  • the storing unit 1130 has a right identification information storing unit 1132 and a cancellation condition storing unit 1134, for example.
  • the communication control unit 1122 may be one example of a request transmitting unit, a response receiving unit or a command receiving unit.
  • the function control unit 1126 may be one example of a restriction control unit.
  • the executing unit 1128 may be one example of a command executing unit.
  • the I/O unit 1110 accepts an input to the object 930.
  • the I/O unit 1110 may accept an instruction from a user.
  • the above-mentioned instruction may be an instruction concerning manipulation of the object 930.
  • the I/O unit 1110 outputs information from the object 930.
  • Examples of the I/O unit 1110 may include an input apparatus such as a keyboard, pointing device, touch panel, microphone, camera, sensor or GPS receiver, or an output apparatus such as a display apparatus, speaker, vibration apparatus, or beacon transmitting apparatus.
  • the I/O unit 1110 may be a user interface.
  • the control unit 1120 controls the object 930.
  • the communication control unit 1122 controls communication with the user terminal 920.
  • the communication control unit 1122 may control communication with the right managing server 940, and may control communication with the distributed ledger managing system 110 or the plurality of nodes 112.
  • the communication control unit 1122 may function as a transmitting unit that transmits information to external equipment, and may function as a receiving unit that receives information from external equipment.
  • the communication control unit 1122 may be a communication interface.
  • the communication control unit 1122 may support multiple types of communication methods.
  • the communication control unit 1122 may support two or more types of communication methods selected from mobile communication, a wireless MAN, a wireless LAN, Bluetooth (registered trademark), Zigbee (registered trademark) and NFC.
  • the communication control unit 1122 acquires a command to the object 930 from the user terminal 920.
  • the communication control unit 1122 may acquire, from the user terminal 920, a command to the object 930 and user identification information of User A.
  • the communication control unit 1122 may acquire the above-mentioned command or information through the right managing server 940.
  • the communication control unit 1122 may forward, to the request generating unit 1124, information received from the user terminal 920 or the right managing server 940.
  • the communication control unit 1122 transmits various types of request to other information processing apparatuses to the other information processing apparatuses.
  • Examples of the other information processing apparatuses may include the distributed ledger managing system 110, the right managing server 940 and other information processing apparatuses.
  • the communication control unit 1122 may transmit, to the right managing server 940 or the distributed ledger managing system 110, a request generated by the request generating unit 1124.
  • the communication control unit 1122 may transmit information necessary for execution of the above-mentioned request or command in association with the request or command.
  • the communication control unit 1122 may receive, from the right managing server 940 or the distributed ledger managing system 110, a response to the above-mentioned request.
  • the communication control unit 1122 may forward the above-mentioned response to the function control unit 1126.
  • the request generating unit 1124 generates various types of request.
  • the request generating unit 1124 may generate a request to the right managing server 940 or the distributed ledger managing system 110. For example, if the communication control unit 1122 receives a command to the object 930, the request generating unit 1124 accesses the right managing server 940 or the distributed ledger managing system 110 to generate a request to judge whether or not User A is entitled or authorized to execute the command.
  • the request generating unit 1124 may transmit the generated request to the right managing server 940 or the distributed ledger managing system 110 through the communication control unit 1122.
  • the request generating unit 1124 generates data for requesting to extract user identification information of the current right holder of a right related to the above-mentioned command.
  • the request generating unit 1124 may transmit, to the right managing server 940 or the distributed ledger managing system 110, the generated data and a right ID of the right related to the above-mentioned command.
  • the request generating unit 1124 generates data for requesting to judge whether or not User A possesses a right related to the above-mentioned command.
  • the request generating unit 1124 may transmit, to the distributed ledger managing system 110, the generated request, user identification information of User A and a right ID of the right related to the above-mentioned command.
  • the right related to the above-mentioned command may be one example of at least part of a right stored in the right identification information storing unit 1132.
  • the request generating unit 1124 generates data for requesting to extract a right ID of one or more rights possessed by User A.
  • the request generating unit 1124 may transmit, to the right managing server 940 or the distributed ledger managing system 110, the generated data and user identification information of User A.
  • the function control unit 1126 controls a function of the object 930.
  • the function control unit 1126 may control implementation or cancellation of a restriction concerning a function of the object 930.
  • the function control unit 1126 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on a response from the right managing server 940 or the distributed ledger managing system 110 to a request generated by the request generating unit 1124. If it is judged that User A is entitled or authorized to execute a command to the object 930, the function control unit 1126 decides to cancel a restriction concerning a function of the object 930, and causes the command executing unit 1128 to execute the above-mentioned command.
  • the function control unit 1126 decides to implement a restriction concerning a function of the object 930 or not to cancel the restriction, and discards the above-mentioned command.
  • the function control unit 1126 may not process the command instead of discarding the above-mentioned command.
  • the function control unit 1126 may transmit, to the user terminal 920 through the communication control unit 1122, information indicating that User A is not entitled or authorized to execute the above-mentioned command.
  • the function control unit 1126 may output, to the I/O unit 1110, information indicating that User A is not entitled or authorized to execute the above-mentioned command.
  • the function control unit 1126 may judge whether or not User A is entitled or authorized to execute the command by comparing a result of extraction by the distributed ledger managing system 110 and user identification information of User A. For example, if the result of extraction by the distributed ledger managing system 110 agrees with the user identification information of User A, the function control unit 1126 judges that User A is entitled or authorized to execute the command.
  • the function control unit 1126 may judge whether or not User A is entitled or authorized to execute the command based on a result of judgment by the right managing server 940 or the distributed ledger managing system 110. For example, if the result of judgment by the right managing server 940 or the distributed ledger managing system 110 indicates that the user possesses a right related to the above-mentioned command, the function control unit 1126 judges that User A is entitled or authorized to execute the command.
  • the function control unit 1126 may judge whether or not User A is entitled or authorized to execute the command by comparing a result of extraction by the right managing server 940 or the distributed ledger managing system 110 and a right ID of the right related to the above-mentioned command. For example, if a right ID included in a result of extraction by the right managing server 940 or the distributed ledger managing system 110 is included in a right ID stored in the right identification information storing unit 1132 (which is particularly a right ID of the right related to the above-mentioned command), the function control unit 1126 judges that User A is entitled or authorized to execute the command.
  • the function control unit 1126 refers to the cancellation condition storing unit 1134 to judge existence or nonexistence of a condition (which is in some cases referred to as a cancellation condition) for exercising a right related to the above-mentioned command. If a cancellation condition is not set for a right related to the above-mentioned command, and User A is entitled or authorized to execute the command, the function control unit 1126 decide to cancel a restriction concerning a function of the object 930, and causes the command executing unit 1128 to execute the above-mentioned command.
  • a cancellation condition which is in some cases referred to as a cancellation condition
  • the function control unit 1126 accesses the right managing server 940 or the distributed ledger managing system 110 to acquire information for judging whether or not the cancellation condition of the right related to the above-mentioned command is fulfilled. For example, the function control unit 1126 acquires detail information of a right related to the above-mentioned command, a right ID and detail information of another right established for the object 930 or the like. The function control unit 1126 judges whether or not a cancellation condition is satisfied based on information acquired from the right managing server 940 or the distributed ledger managing system 110.
  • the function control unit 1126 decides to cancel a restriction concerning a function of the object 930, and causes the command executing unit 1128 to execute the above-mentioned command. On the other hand, if the cancellation condition is not satisfied, the function control unit 1126 decides to implement a restriction concerning a function of the object 930 or not to cancel the restriction, and discards the above-mentioned command. In this case, the function control unit 1126 may transmit to the user terminal 920 or outputs to the I/O unit 1110 information indicating that the cancellation condition is not satisfied, and so on.
  • the executing unit 1128 executes a command to the object 930 received by the communication control unit 1122. If the function control unit 1126 decides to cancel a restriction concerning a function of the object 930, the executing unit 1128 may execute the above-mentioned command.
  • the storing unit 1130 stores various types of information.
  • the right identification information storing unit 1132 stores a right ID of a right established for the object 930.
  • the right identification information storing unit 1132 may store a right ID of a right established for the object 930 in association with a function or process of the object 930 or a command to the object 930.
  • the cancellation condition storing unit 1134 stores a cancellation condition for cancelling a restriction concerning a function of the object 930.
  • the storing unit 1130 may store other information.
  • Fig. 12 schematically shows one example of information processing at the right managing system 900.
  • Fig. 12 is used to explain one embodiment of a process of registering transaction data in the right managing system 900.
  • the detail information storing unit 942 stores detail information of each right of one or more rights possessed by User A.
  • the I/O unit 620 of the user terminal 920 accepts an input from User A.
  • the above-mentioned input may be an instruction concerning manipulation of the user terminal 920.
  • the transaction data generating unit 630 If an i-th variation V i is generated in a right R possessed by User A due to the above-mentioned instruction, at S1204, the transaction data generating unit 630 generates transaction data T i for transfer concerning the variation V i (i is a positive integer equal to or greater than 2). For example, at a step of generating the transaction data T i , the transaction data generating unit 630 generates detail information indicating details of the right R or the right variation V i . Also, it encodes the generated detail information to generate encoded data of the detail information (which is a hash value, for example). The transaction data generating unit 630 arranges the above-mentioned encoded data of the detail information at an appropriate position of the transaction data T i . Thereby, the transaction data T i including the encoded data of the detail information is generated.
  • the transaction data generating unit 630 may generate a signature value of the transaction data T i by encrypting at least part of the transaction data T i concerning the variation V i in the right R using the private key 122 of User A, and arrange the signature value at an appropriate region of the transaction data T i . Thereby, it can be warranted that the transaction data T i is generated by User A who is the right holder of the right R.
  • the transaction data generating unit 630 transmits the generated transaction data T i to one of the plurality of nodes 112 participating in the distributed ledger managing system 110.
  • the transaction data generating unit 630 transmits the transaction data T i to a node 112 participating in the distributed ledger managing system 110 through the right managing server 940. More specifically, the transaction data generating unit 630 initially transmits the detail information and the transaction data T i to the right managing server 940.
  • the transaction data generating unit 630 may transmit the transaction data T i including the signature value in association with the right ID of the right R. According to one embodiment, the transaction data generating unit 630 transmits the transaction data T i including the above-mentioned signature value and the above-mentioned right ID. According to another embodiment, the transaction data generating unit 630 transmits data obtained by providing metadata including the above-mentioned right ID to the transaction data T i including the above-mentioned signature value.
  • the transaction data generating unit 630 may generate the transaction data T i including successor information designating a successee (who is User A) as a successor. Also, if a new right is established for the object 930, the transaction data generating unit 630 may generate transaction data T i for issuance (i is 1).
  • the information managing unit 944 of the right managing server 940 receives detail information and the transaction data T i from the user terminal 920.
  • the information managing unit 944 confirms legitimacy of data received from the user terminal 920.
  • the information managing unit 944 encodes the detail information received from the user terminal 920 to generate encoded data of the detail information.
  • the information managing unit 944 compares (i) the encoded data of the detail information received from the user terminal 920 with (ii) the encoded data included in the transaction data T i received from the user terminal 920. If both the pieces of data match, the information managing unit 944 judges that the data received from the user terminal 920 is legitimate data.
  • the information managing unit 944 updates detail information stored in the detail information storing unit 942. Also, at S1216, the information managing unit 944 forwards the transaction data T i received from the user terminal 920 to the distributed ledger managing system 110. Thereby, the transaction data T i is transmitted from the user terminal 920 to the distributed ledger managing system 110 through the right managing server 940.
  • the detail information may be updated before the transaction data is forwarded or after the transaction data is forwarded.
  • one node of the plurality of nodes 112 participating in the distributed ledger managing system 110 receives the transaction data T i from the right managing server 940.
  • the node 112 having received the transaction data T i from the right managing server 940 forwards the transaction data T i to other nodes 112.
  • Each node of the plurality of nodes 112 puts together the transaction data T i and other transaction data received within a predetermined period to generate a new block.
  • each node of the plurality of nodes 112 executes a new block approval process.
  • the blockchain generating unit 220 of the node adds the block to an existing blockchain to generate a new blockchain.
  • the new blockchain is shared among the plurality of nodes 112. Thereby, a transaction data registration process completes.
  • Fig. 13 schematically shows one example of information processing at the right managing system 900.
  • Fig. 13 is used to explain a first embodiment of a remote manipulation process of the object 930 at the right managing system 900.
  • the I/O unit 620 of the user terminal 920 accepts an input from User A.
  • the above-mentioned input may be an instruction concerning manipulation of the object 930.
  • the above-mentioned manipulation may be manipulation for cancelling locking of the object 930.
  • the command generating unit 1070 generates a command to the object 930 corresponding to the above-mentioned instruction, and transmits the command to the object 930.
  • the command generating unit 1070 transmits the command to the object 930 through the communication network 10.
  • the command generating unit 1070 may transmit the command to the object 930 through the right managing server 940.
  • the command generating unit 1070 transmits the command to the object 930 by P2P over short-range wireless communication.
  • the communication control unit 1122 of the object 930 receives a command from the user terminal 920 to forward the command to the request generating unit 1124.
  • the request generating unit 1124 generates data for requesting to extract user identification information of the current right holder of a right related to the above-mentioned command.
  • the request generating unit 1124 transmits, to the distributed ledger managing system 110, the generated data and a right ID of the right related to the above-mentioned command. If the right managing server 940 is interposed between the distributed ledger managing system 110, and the user terminal 920 and the object 930, the request generating unit 1124 may transmit, to the right managing server 940, the generated data and a right ID of the right related to the above-mentioned command.
  • the distributed ledger managing system 110 receives a request from the object 930.
  • the distributed ledger managing system 110 accesses a blockchain expressing each right of rights indicated by one or more right IDs received from the object 930. Thereafter, the distributed ledger managing system 110 extracts user identification information of the current right holder for each right of the rights indicated by the one or more right IDs received from the object 930.
  • the distributed ledger managing system 110 transmits, to the object 930, information extracted from a blockchain.
  • the right managing server 940 accesses the distributed ledger managing system 110 to extract, from a blockchain, information corresponding to a request from the object 930. Also, as a response to a request from the object 930, the right managing server 940 transmits, to the object 930, information extracted from a blockchain.
  • the communication control unit 1122 of the object 930 receives a response from the right managing server 940 or the distributed ledger managing system 110 to forward the response to the function control unit 1126.
  • the function control unit 1126 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on an extraction result received from the right managing server 940 or the distributed ledger managing system 110 and user identification information of User A received from the user terminal 920.
  • the function control unit 1126 causes the command executing unit 1128 to execute a process corresponding to the above-mentioned command. Upon completion of a process by the command executing unit 1128, the remote manipulation process of the object 930 completes. On the other hand, if it is judged that User A is not entitled or authorized to execute a command to the object 930, the function control unit 1126 discards the above-mentioned command. As a result, the remote manipulation process of the object 930 ends without the above-mentioned command not being executed.
  • Fig. 14 schematically shows one example of information processing at the right managing system 900.
  • Fig. 14 is used to explain a second embodiment of a remote manipulation process of the object 930 at the right managing system 900.
  • the embodiment described in Fig. 14 is different from the embodiment described in Fig. 13 in that S1412 and S1414 are executed in place of S1312 and S1314. In other respects than the above-mentioned difference, it may have a configuration similar to that of the embodiment described in Fig. 13.
  • the communication control unit 1122 of the object 930 receives a command from the user terminal 920 to forward the command to the request generating unit 1124.
  • the request generating unit 1124 generates data for requesting to judge whether or not User A possesses a right related to the above-mentioned command.
  • the request generating unit 1124 transmits, to the distributed ledger managing system 110, the generated request, user identification information of User A and a right ID of the right related to the above-mentioned command.
  • the distributed ledger managing system 110 receives a request from the object 930.
  • the distributed ledger managing system 110 accesses a blockchain expressing each right of rights indicated by one or more right IDs received from the object 930. Thereafter, the distributed ledger managing system 110 extracts user identification information of the current right holder for each right of the rights indicated by the one or more right IDs received from the object 930.
  • the distributed ledger managing system 110 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on the above-mentioned extraction result and user identification information of User A received from the user terminal 920. As a response to a request from the object 930, the distributed ledger managing system 110 transmits a result of the above-mentioned judgment to the object 930. Also, at S1316, the function control unit 1126 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on the judgment result received from the distributed ledger managing system 110.
  • the object 930 transmits a request or the like to the distributed ledger managing system 110 not through the right managing server 940.
  • the information processing at the right managing system 900 is not limited to the present embodiment.
  • the right managing server 940 may be interposed between the distributed ledger managing system 110, and the user terminal 920 and the object 930.
  • Fig. 15 schematically shows one example of an escrow system 2100 utilizing the right managing system 900.
  • the escrow system 2100 provides an escrow service to User A utilizing a client terminal 22 and User B utilizing a client terminal 24.
  • Each of the client terminal 22 and the client terminal 24 may have a configuration similar to that of the user terminal 120 or the user terminal 920.
  • the client terminal 22 stores the private key 122 of User A.
  • the client terminal 24 stores a private key 2122 of User B.
  • the right managing server 940 as a service provider to manage the escrow service stores a private key 2124.
  • the course of establishing an alienation contract is not limited to the present embodiment.
  • User A and User B may conclude an alienation contract without utilizing a service provided by the right managing server 940.
  • User A or User B manipulates the client terminal 22 or the client terminal 24 to transmit information concerning contract details to the right managing server 940.
  • Examples of the information concerning contract details may include a right ID of a right to be a target of transaction, a user ID of a transaction counterparty, a money amount and other information.
  • the client terminal 22 or the client terminal 24 may transmit, to the right managing server 940, a transaction including data indicating contract details and encoded data of data indicating the contract details.
  • the client terminal 22 transmits, to the client terminal 24, status information including an image of the appearance of the object 930.
  • the client terminal 22 acquires the status information of the object 930 from the computer disposed in the object 930 by short-range wireless communication or wired communication. For example, if the object 930 is an automobile, the client terminal 22 accesses the computer of the object 930 to acquire information concerning driving distance of the object 930. The client terminal 22 transmits, to the client terminal 24, status information acquired from the object 930.
  • the status information may be transmitted to the client terminal 24 utilizing an e-mail program, a messenger program or the like, and may be transmitted to the client terminal 24 through the right managing server 940.
  • the status information may be transmitted to the client terminal 24 utilizing a service provided by the right managing server 940.
  • User A utilizes a service provided by the right managing server 940
  • User A transmits the status information to the client terminal 24 for example by the following procedure.
  • User A first manipulates the client terminal 22 to transmit, to the object 930, a command for causing the state of the object 930 to be reported. Thereby, the client terminal 22 can acquire status information.
  • User A utilizes a file sharing service provided by the right managing server 940 to upload the status information from the client terminal 22 to the right managing server 940.
  • User A manipulates the client terminal 22 to generate a transaction for issuing an accessing right concerning reading of status information.
  • the client terminal 22 transmits the above-mentioned transaction to the right managing server 940.
  • User A manipulates the client terminal 22 to generate a transaction indicating that an accessing right concerning reading of status information is to be transferred to User B.
  • the client terminal 22 transmits the above-mentioned transaction to the right managing server 940.
  • the client terminal 22 may transmit, to the right managing server 940, detail information concerning the above-mentioned accessing right.
  • a transaction and detail information may be transmitted to the right managing server 940.
  • the right managing server 940 forwards the above-mentioned two transactions to the distributed ledger managing system 110. Thereby, User B becomes able to access status information.
  • the right managing server 940 may store, in the detail information storing unit 942, detail information concerning the above-mentioned accessing right. In cases of other rights described below also, similar to the above-mentioned accessing right, detail information may be stored in the detail information storing unit 942.
  • the information managing unit 944 transmits a URI of status information to the client terminal 24. Thereby, User B can access the status information to view the information.
  • a hash value of the status information may be stored the above-mentioned two transactions. Thereby, the credibility of the status information can be ensured.
  • the information managing unit 944 requests the client terminal 24 to execute a charge deposit process.
  • the client terminal 24 for example causes a display apparatus of the client terminal 24 to display a screen prompting User B to make a deposit of the charge.
  • the client terminal 24 may display a user interface for charge deposit service on the display apparatus.
  • the charge of the object 930 may be deposited utilizing a cryptocurrency such as Bitcoin.
  • User B sends the charge to an address corresponding to the private key 2124.
  • the amount of deposit money may be the same as the charge of the object 930, may be less than the charge of the object 930, or may be more than the charge of the object 930.
  • the amount of deposit money may be the total of the charge of the object 930 and at least one of the money amount corresponding to the risk of fluctuation of quotations of a cryptocurrency and the money amount equivalent to an escrow service utilization fee.
  • the information managing unit 944 Upon acquisition of information indicating that User B has made a deposit of the charge of the object 930, the information managing unit 944 requests the client terminal 22 to deliver the object 930 to User B. For example, the information managing unit 944 causes a display apparatus of the client terminal 22 to display a screen prompting User A to deliver the object 930 to User B. The information managing unit 944 may acquire information indicating that User B has paid the charge of the object 930 from the client terminal 24 or from an information processing system providing a charge settlement service.
  • User A may execute processes such as (i) a process of restricting a function of the object 930 or (ii) a process of alienating the property right of the object 930 to the service provider.
  • User A delivers the object 930 with a restriction being imposed on part of or all the functions of the object 930.
  • the above-mentioned restriction is set such that only an individual possessing the property right or right to use of the object 930 can cancel the restriction.
  • User A manipulates the client terminal 22 to generate a transaction for issuing a right for User B to use part of the object 930 or the entire object 930 only in a predetermined period.
  • the client terminal 22 transmits the above-mentioned transaction to the right managing server 940.
  • the object 930 upon access to the object 930 by User B using the client terminal 24, the object 930 acquires information for identifying User B from the client terminal 24. Also, the object 930 accesses the right managing server 940 to confirm whether or not User B possesses the right to use of the object 930. Thereby, even in a state where the property right of the object 930 is not transferred to User B, User B can confirm operation of the object 930.
  • information for identifying User B is recorded in the object 930 in advance, and if User B accesses the object 930 using the client terminal 24, a process to authenticate User B may be executed.
  • User A may deliver the object 930 without imposing a restriction on a function necessary for operation confirmation by User B.
  • User A manipulates the client terminal 22 to transmit, to the right managing server 940, information indicating that the delivery procedure has completed. Also, User A manipulates the client terminal 22 to generate a transaction for alienating the property right of the object 930 to a service provider. If a charge is not paid even after a certain period has elapsed, the client terminal 22 may generate a transaction including a code to return the property right of the object 930 to User A. The client terminal 22 transmits the above-mentioned transaction to the right managing server 940.
  • the computer of the object 930 may generate a transaction indicating a manipulation history of the object 930 to transmit the transaction to the right managing server 940. Thereby, it is possible to suppress User B falsely stating that it has not received the object 930.
  • User B manipulates the client terminal 24 to transmit, to the right managing server 940, information (which is in some cases referred to as reception confirmation information) indicating that the object 930 has been received. If the state of the object 930 does not agree with details of an alienation contract, User B manipulates the client terminal 24 to transmit, to the right managing server 940, information (which is in some cases referred to as reception rejection information) indicating that reception of the object 930 is rejected.
  • the information managing unit 944 implements a property right transfer process and a charge payment process.
  • the property right transfer process and the charge payment process may be implemented simultaneously.
  • the information managing unit 944 for example generates (i) transaction data indicating that the property right of the object 930 is to be transferred from a service provider to User B and (ii) transaction data indicating an amount of cryptocurrency equivalent to the charge of the object 930 is to be transferred from an account for deposit of the service provider to an account of User A to register them in the distributed ledger managing system 110.
  • the information managing unit 944 may generate transaction data indicating that an amount of cryptocurrency equivalent to an escrow service utilization fee is to be transferred from an account of at least one of User A and User B to the service provider account to register it in the distributed ledger managing system 110. If a balance of deposit money exists, the information managing unit 944 may generate transaction data indicating that an amount of cryptocurrency equivalent to the balance of deposit money is to be transferred from an account for deposit of the service provider to an account of User B to register it in the distributed ledger managing system 110.
  • the information managing unit 944 implements a property right transfer process and a charge payment process for example in the following manner.
  • the information managing unit 944 for example generates (i) transaction data indicating that the property right of the object 930 is to be transferred from a service provider to User A and (ii) transaction data indicating an amount of cryptocurrency equivalent to the charge of the object 930 is to be transferred from an account for deposit of the service provider to an account of User B to register them in the distributed ledger managing system 110.
  • the information managing unit 944 may generate transaction data indicating that an amount of cryptocurrency equivalent to an escrow service utilization fee is to be transferred from an account of at least one of User A and User B to the service provider account to register it in the distributed ledger managing system 110.
  • the information managing unit 944 may access the distributed ledger managing system 110 regularly or at given timing to confirm that each transaction of the above-mentioned transactions has been incorporated into a corresponding blockchain. After confirming that each transaction of the above-mentioned transactions has been incorporated into a corresponding blockchain, the information managing unit 944 may notify the client terminal 22 and the client terminal 24 of completion of a property right transfer process and a charge payment process.
  • User B manipulates the client terminal 24 to transmit a command for cancelling a restriction to the object 930.
  • the object 930 accesses the distributed ledger managing system 110 to confirm whether User B is entitled or authorized to execute the above-mentioned command. Thereafter, the object 930 executes a process for cancelling a function restriction. Thereby, User B can use the object 930.
  • a cryptocurrency is utilized in settlement of a charge or deposit money.
  • the settlement means is not limited to the present embodiment.
  • the escrow service provided by the right managing server 940 is not limited to the present embodiment.
  • the right managing server 940 may realize an escrow service without utilizing a deposit service.
  • the right managing server 940 may realize an escrow service by changing, as appropriate, the order of notification of status information, payment of a deposit money or charge, delivery of a commodity, transfer of a property right and the like.
  • a status information notification process may be performed before concluding a contract.
  • an operation confirmation process may be implemented in place of a process of viewing status information, or in addition to a process of viewing status information. The operation confirmation process may also serve as a reception confirmation process.
  • the operation confirmation process is implemented, for example, User A manipulates the client terminal 22 to issue a right to use of the object 930. An expiration date or term of validity is set to the right to use of the object 930. At this time, the client terminal 22 utilizes the private key 122 of User A to generate a transaction for issuing a right to use to which an expiration date or term of validity is set, and transmits it to the right managing server 940. Also, User A manipulates the client terminal 22 to generate a transaction for transferring the above-mentioned right to use to User B, and transmits it to the right managing server 940. Upon reception of a transaction from the client terminal 22, the right managing server 940 forwards the transaction to the distributed ledger managing system 110.
  • User B manipulates the client terminal 24 to transmit, to the object 930, a command for cancelling a function restriction set to the object 930.
  • the computer of the object 930 accesses the right managing server 940 to confirm that User B possesses a right to use of the object 930, and executes a process for cancelling a function restriction.
  • User B manipulates the client terminal 24 to transmit, to right managing server 940, information indicating that operation confirmation of the object 930 has ended (which is in some cases referred to as operation confirmation information).
  • operation confirmation information information indicating that operation confirmation of the object 930 has ended (which is in some cases referred to as operation confirmation information).
  • the right managing server 940 implements a property right transfer process and a charge payment process.
  • the object 930 is a defective product
  • User B manipulates the client terminal 24 to transmit, to the right managing server 940, information indicating that the object 930 does not satisfy a contract condition (which is in some cases referred to as complaint information).
  • the client terminal 24 may acquire status information of the object 930 to transmit the status information to the right managing server 940.
  • the right managing server 940 transmits the complaint information from the User B to the client terminal 22.
  • the right managing server 940 may transmit the complaint information and the status information to the client terminal 22.
  • User A manipulates the client terminal 22 to transmit, to the right managing server 940, information indicating the cancellation of the contract.
  • the right managing server 940 for example generates a transaction for returning deposit money to User B to transmit it to the distributed ledger managing system 110.
  • the right managing server 940 may execute a process for returning a deposit money to User B.
  • User B if by any chance User B does not implement operation confirmation process within a period of the right to use, User B becomes unable to continue to use the object 930. Also, because the property right of the object 930 belongs to User A, User A can also remotely manipulate the object 930 to lock the object 930.
  • the right managing server 940 utilizes the transaction data 500 as shown in Fig. 5 to realize an escrow service.
  • the format of transaction data is not limited to the present embodiment.
  • the right managing server 940 may utilize transaction data in which a code is stored in a code storing region to realize an escrow service.
  • User A manipulates the client terminal 22 to generate transaction data having stored in its code storing region (i) "a code for causing a computer of a node 112 to execute a step of generating (a) transaction data indicating that the property right of the object 930 is to be transferred from User A to a service provider to transmit the transaction data to the distributed ledger managing system 110 if the service provider has received information indicating that an amount of deposit money equivalent to the charge of the object 930 has been received from User B", and (ii) "a code for causing the computer of the node 112 to execute a step of generating (a) transaction data indicating that the property right of the object 930 is to be transferred from the service provider to User B and (b) transaction data indicating that an amount of cryptocurrency equivalent to the charge of the object 930 is to be transferred from an account for deposit of the service provider to an account of User A to transmit the transaction data to the distributed ledger managing system 110 if information indicating that User B has received the object 9
  • the client terminal 22 transmits the generated transaction data to the right managing server 940.
  • the right managing server 940 transmits, to the distributed ledger managing system 110, the transaction data received from the client terminal 22. Thereby, an escrow service similar to the embodiment described above can be realized.
  • a data managing system including: a transaction information transmitting unit, if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, the transaction information transmitting unit transmitting, to the distributed ledger managing system, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information, wherein the transaction information includes: successor information indicating one or more successors of the one right in the variation; and encoded data of preceding transaction information concerning a preceding variation in the one right, the distributed ledger managing system includes multiple nodes constituting a P2P network, each node of the plurality of nodes stores the distributed ledger, the distributed ledger includes multiple blocks, and each block of the plurality of blocks includes: one or more pieces of transaction information concerning one or more variations in the one right;
  • 10 communication network; 22: client terminal; 24: client terminal; 30: object; 100: right managing system; 110: distributed ledger managing system; 112: node; 114: peer-to-peer network; 120: user terminal; 122: private key; 210: communication control unit; 220: blockchain generating unit; 230: storing unit; 232: blockchain storing unit; 234: public key storing unit; 240: request processing unit; 300: blockchain; 310: block header; 320: transaction data; 410: block version; 412: hash value; 414: hash value; 416: block lock time; 418: target; 420: nonce; 500: transaction data; 502: version; 504: number of inputs; 506: input; 508: number of outputs; 510: output; 512: block lock time; 522: hash value; 524: output index; 526: size; 528: signature script; 530: signature value; 532: public key; 534: sequence terminal symbol; 542: share; 544:

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A data managing system includes: a transaction information transmitting unit, if transaction information concerning a variation in a right is transmitted to a distributed ledger managing system, the transaction information transmitting unit transmitting thereto encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the right or with information indicating the right identification information. The transaction information includes: successor information indicating one or more successors of the right concerning the variation; encoded data of preceding transaction information concerning a preceding variation in the right; and one of: encoded data of detail information that indicates details of the variation in the right and is to be stored in detail information storing unit to store the detail information; and the encoded data of the detail information stored in the detail information storing unit.

Description

DATA MANAGING SYSTEM, INFORMATION PROCESSING APPARATUS, PROGRAM, DATA MANAGING METHOD AND DATA STRUCTURE
  The present invention relates to a data managing system, program, data managing method, information processing apparatus and data structure.
  Assuming a situation where a user who utilizes digital contents switched from an old terminal to a new terminal he/she purchased, there is a system known to authenticate succession of a right to use contents on a terminal by acquiring, from a terminal managing server, a certificate of transfer indicating that the user has switched from the old terminal to the new terminal (please see Patent Document 1, for example).
Prior Art Documents
Patent Documents
[Patent Document 1] Japanese Patent Application Publication No. 2016-081134
  However, if a right is managed utilizing a centralized-management type system like a client-server system, it is difficult to warrant the credibility of data stored in a server.
General Disclosure
  A first aspect of the present invention provides a data managing system. The above-mentioned data managing system includes a transaction information transmitting unit, if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, the transaction information transmitting unit transmitting, to the distributed ledger managing system, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information. In the above-mentioned data managing system, the transaction information includes: successor information indicating one or more successors of the one right in the variation; encoded data of preceding transaction information concerning a preceding variation in the one right; and one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in detail information storing unit to store the detail information; and the encoded data of the detail information stored in the detail information storing unit. In the above-mentioned data managing system, the distributed ledger managing system includes multiple nodes constituting a P2P network. In the above-mentioned data managing system, each node of the multiple nodes stores the distributed ledger. In the above-mentioned data managing system, the distributed ledger includes multiple blocks. In the above-mentioned data managing system, each block of the multiple blocks includes: one or more pieces of transaction information concerning one or more variations in the one right; and encoded data of a preceding block.
  The above-mentioned data managing system may further include an input unit that accepts an instruction about the one right from the user.
The above-mentioned data managing system may further include a right variation judging unit that judges existence or nonexistence of a variation in the one right resulting from execution of the instruction. The above-mentioned data managing system may further include a detail information updating unit that generates or updates detail information indicating details of a variation in the one right if the right variation judging unit judges that there is the variation generated due to the execution of the instruction. In the above-mentioned data managing system, if the right variation judging unit judges that there is a variation generated in the one right due to the execution of the instruction, the transaction information transmitting unit may transmit, to the distributed ledger managing system, the transaction information including the encoded data of the detail information.
  The above-mentioned data managing system may further include an access restriction unit that restricts access to the detail information. In the above-mentioned data managing system, if the right variation judging unit judges that there is a variation generated in the one right due to the execution of the instruction, the transaction information transmitting unit may transmit, to the distributed ledger managing system, the transaction information including the successor information designating the user as a successor when the one right is not transferred, but there is a change generated in details of the one right. In the above-mentioned data managing system, the transaction information may be information about a transaction of a cryptocurrency utilizing a blockchain technology.
In the above-mentioned data managing system, the right identification information may be currency identification information uniquely specifying the cryptocurrency. In the above-mentioned data managing system, an amount of the cryptocurrency retained by the user may be decided according to a share of the one right of the user. In the above-mentioned data managing system, the transaction information may further include information defining a total amount of the cryptocurrency issued.
The above-mentioned data managing system may further include a command transmitting unit that transmits, to an object of the one right: user identification information to be used for identifying the user; and a command to the object.
  In the above-mentioned data managing system, the object may include a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object. The object may include a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information. The object may include a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit. The object may include a request transmitting unit that transmits, to the distributed ledger managing system: the right identification information about a right related to the command; or information indicating the right identification information, and requests to extract information indicating a current right holder of the right related to the command. The object may include a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit. The object may include a command executing unit that executes the command received by the command receiving unit. In the above-mentioned data managing system, if the user identification information is included in the response, the restriction control unit may decide to cancel the restriction. In the above-mentioned data managing system, if the restriction control unit decides to cancel the restriction, the command executing unit may execute the command.
  In the above-mentioned data managing system, the object may include a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object. The object may include a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information. A command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit may be included. The object may include a request transmitting unit that transmits, to the distributed ledger managing system: right identification information stored in the right identification information storing unit or at least part of information indicating the right identification information; and the user identification information, and requests to judge whether or not the user has a right related to the command. The object may include a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit. The object may include a command executing unit that executes the command received by the command receiving unit. In the above-mentioned data managing system, if the response indicates that the user has a right related to the command, the restriction control unit may decide to cancel the restriction. In the above-mentioned data managing system, if the restriction control unit decides to cancel the restriction, the command executing unit may execute the command.
  In the above-mentioned data managing system, the object may include a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object. The object may include a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information. The object may include a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit. The object may include a request transmitting unit that transmits the user identification information to the distributed ledger managing system, and requests to extract: right identification information of one or more rights possessed by the user; or information indicating the right identification information. The object may include a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit. The object may include a command executing unit that executes the command received by the command receiving unit. In the above-mentioned data managing system, if the right identification information included in the response or the information indicating the right identification information is included in: the right identification information stored in the right identification information storing unit; or the information indicating the right identification information, the restriction control unit may decide to cancel the restriction. In the above-mentioned data managing system, if the restriction control unit decides to cancel the restriction, the command executing unit may execute the command.
  The above-mentioned data managing system may further include a request transmitting unit that: transmits, to the distributed ledger managing system, user identification information to be used for identifying the user; and requests the distributed ledger managing system to extract: right identification information of one or more rights possessed by the user; or information indicating the right identification information, or to judge whether or not the user has the one right. In the above-mentioned data managing system, the one right may be (i) a real right, quasi-real right, credit or contractual status, or (ii) a digital data accessing right or permission. In the above-mentioned data managing system, the one right may be a right concerning at least one of: usage or utilization, profit, and disposition of a tangible item or intangible item. In the above-mentioned data managing system, the one right may be an intellectual property right, a license or right to utilize concerning an intellectual property, or a publishing right.
  A second aspect of the present invention provides a program for causing a computer to function as the above-mentioned right managing system. A non-transitory computer readable medium having stored thereon the above-mentioned program may also be provided.
  A third aspect of the present invention provides An information processing apparatus configured at least to transmit and receive information, through a communication line, to and from a distributed ledger managing system that manages one or more distributed ledgers concerning variations in one or more rights. The above-mentioned information processing apparatus may include a request transmitting unit that requests the distributed ledger managing system (i) to extract information indicating a right possessed by a particular user, (ii) to extract information indicating an individual possessing a particular right, or (iii) to judge whether or not the particular user possesses the particular right. In the above-mentioned information processing apparatus, the distributed ledger managing system includes multiple nodes constituting a P2P network. In the above-mentioned information processing apparatus, each node of the plurality of nodes stores the distributed ledger. In the above-mentioned information processing apparatus, the distributed ledger includes multiple blocks that are continuous in time series. In the above-mentioned information processing apparatus, each block of the plurality of blocks includes: one or more pieces of transaction information concerning one or more variations in the one or more rights; and encoded data of a preceding block. In the above-mentioned information processing apparatus, at least one of the one or more pieces of transaction information includes: successor information indicating one or more successors of a right expressed by the transaction information in a variation expressed by the transaction information: encoded data of preceding transaction information concerning a preceding variation in the right expressed by the transaction information; right identification information that uniquely specifies the right expressed by the transaction information; or information indicating the right identification information; and encrypted data obtained by encrypting at least part of the transaction information using a private key of the user.
  A fourth aspect of the present invention provides a program for causing a computer to function as the above-mentioned information processing apparatus. A non-transitory computer readable medium having stored thereon the above-mentioned program may also be provided.
  A fifth aspect of the present invention provides a data managing method. The above-mentioned data managing method include: if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, transmitting, to the distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information. In the above-mentioned data managing method, the transaction information includes: successor information indicating one or more successors of the one right in the variation; encoded data of preceding transaction information concerning a preceding variation in the one right; and one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in a detail information storing unit to store the detail information; and the encoded data of the detail information stored in the detail information storing unit. In the above-mentioned data managing method, the distributed ledger managing system includes multiple nodes constituting a P2P network. In the above-mentioned data managing method, each node of the plurality of nodes stores the distributed ledger. In the above-mentioned data managing method, the distributed ledger includes multiple blocks that are continuous in time series. In the above-mentioned data managing method, each block of the plurality of blocks includes: one or more pieces of transaction information concerning one or more variations in the one right; and encoded data of a preceding block.
  In the above-mentioned data structure, each block of the multiple blocks has: data indicating one or more pieces of transaction information concerning one or more variations in one right possessed by a user; and encoded data of a preceding block. In the above-mentioned data structure, at least one piece of data indicating the one or more pieces of transaction information includes: successor data indicating one or more successors of the one right concerning a variation in the one right expressed by the transaction information; encoded data of preceding transaction information concerning a preceding variation in the one right; one of: right identification information that uniquely specifies the one right; and data indicating the right identification information; one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in a detail information storing unit to store the detail information; and encoded data of the detail information stored in the detail information storing unit; and encrypted data obtained by encrypting at least part of the transaction information using a private key of the user.
  A seventh aspect of the present invention provides a data structure of first transaction information constituting multiple blocks that are continuous in time series. The above-mentioned data structure includes data indicating one or more successors of a right expressed by the first transaction information in a variation in the right. The above-mentioned data structure includes encoded data of second transaction information concerning a preceding variation in the right. The above-mentioned data structure includes one of: right identification information that uniquely specifies the right; and data indicating the right identification information. The above-mentioned data structure includes one of: encoded data of detail information that indicates details of the variation in the right and is to be stored in a detail information storing unit to store the detail information; and encoded data of the detail information stored in the detail information storing unit. The above-mentioned data structure includes encrypted data obtained by encrypting at least part of the first transaction information using a private key of an individual possessing the right.
  The summary clause does not necessarily describe all necessary features of the embodiments of the present invention. The present invention may also be a sub-combination of the features described above.
[Fig. 1] Fig. 1 schematically shows one example of the system configuration of a right managing system 100.
[Fig. 2] Fig. 2 schematically shows one example of the internal configuration of a node 112.
[Fig. 3] Fig. 3 schematically shows one example of the data structure of a blockchain 300.
[Fig. 4] Fig. 4 schematically shows one example of the data structure of a block header 310.
[Fig. 5] Fig. 5 schematically shows one example of the data structure of transaction data 500.
[Fig. 6] Fig. 6 schematically shows one example of the internal configuration of a user terminal 120.
[Fig. 7] Fig. 7 schematically shows one example of a data table 700.
[Fig. 8] Fig. 8 schematically shows one example of a data table 800.
[Fig. 9] Fig. 9 schematically shows one example of the system configuration of a right managing system 900.
[Fig. 10] Fig. 10 schematically shows one example of the internal configuration of a user terminal 920.
[Fig. 11] Fig. 11 schematically shows one example of the internal configuration of an object 930.
[Fig. 12] Fig. 12 schematically shows one example of information processing at the right managing system 900.
[Fig. 13] Fig. 13 schematically shows one example of information processing at the right managing system 900.
[Fig. 14] Fig. 14 schematically shows one example of information processing at the right managing system 900.
[Fig. 15] Fig. 15 schematically shows one example of the system configuration of an escrow system 2100.
[Fig. 16] Fig. 16 schematically shows one example of a data table 2200.
[Fig. 17] Fig. 17 schematically shows one example of a contract object 2300. [Description of Embodiments]
  Hereinafter, (some) embodiment(s) of the present invention will be described. The embodiment(s) do(es) not limit the invention according to the claims, and all the combinations of the features described in the embodiment(s) are not necessarily essential to means provided by aspects of the invention. In the figures, the same or similar portions are provided with the same reference numerals, and the same explanation thereof is omitted in some cases.
  [Outline of Right Managing System 100] Fig. 1 schematically shows one example of the system configuration of a right managing system 100. In the present embodiment, the right managing system 100 utilizes a blockchain technology used also for transactions of a cryptocurrency (which is in some cases referred to as a virtual currency) such as Bitcoin to manage the history of variations in each right of one or more rights. Each right of the one or more rights may be one example of one right.
  Examples of variations in a right may include occurrence or acquisition of a right, changes in a right, and extinguishment of a right. Examples of occurrence or acquisition of a right may include inheritance and primitive acquisition. Examples of inheritance may include transfer succession and right-establishing succession. Examples of transfer succession may include specified succession, universal succession or general succession. Examples of changes in a right may include a change in details of a right, a change in a target object of a right and other changes.
  The above-mentioned right may be (i) a real right, quasi-real right, credit or contractual status, or (ii) a digital data accessing right or permission. Examples of a quasi-real right may include an intellectual property right. Examples of an accessing right or permission may include those that allow or prohibit reading, allow or prohibit writing, allow or prohibit execution, and other access rights or permission. Other examples of an accessing right or permission may include those that allow or prohibit viewing, allow or prohibit saving, allow or prohibit transmission, allow or prohibit output, allow or prohibit duplication and other accessing rights or permission. Examples of output may include printer output, audio output, image output and other output.
  The above-mentioned right may be: a right concerning at least one of usage or utilization, profit and disposition of a tangible item; or a right concerning at least one of usage or utilization, profit and disposition of an intangible item. Examples of an intangible item may include digital data, an IP address, an intellectual property and other intangible items. The above-mentioned digital data may be an item in a game or in a virtual space. The above-mentioned right may be an intellectual property right, a license or right to utilize concerning an intellectual property, or a publishing right. Examples of an intellectual property right may include an industrial property right, copyright (including a neighboring right and moral right of author), merchandising right, layout-design exploitation right, breeder's right, trade secret, indication of goods or business, product form, trade dress, indication of origin, geographical indication, trade name right, portrait right, domain name and other intellectual property rights.
  In use of a cryptocurrency, the history of transactions of the cryptocurrency (which are in some cases referred to as transactions) is recorded as a blockchain, and the blockchain is shared among multiple nodes participating in a P2P network; thereby, legitimacy of the above-mentioned transactions is ensured. A blockchain is data in which multiple blocks that are continuous in time series are linked like a chain, and each block includes data of transactions in a certain period (which is in some cases referred to as transaction data). Because according to the blockchain technology, multiple blocks are added while at the same time past information is maintained, it becomes very difficult to falsify the history.
  According to the present embodiment, information concerning the history of variations in each right of one or more rights is stored as a blockchain on the P2P network. That is, a transaction is generated every time a variation in a right occurs. Then, multiple transactions are put into one block, and the block is added to an existing blockchain.
  Each block includes information concerning a time at which multiple transactions are put into the block (which is in some cases referred to as a block lock time), for example. Thereby, a blockchain including multiple blocks that are continuous in time series is generated. Also, each block includes encoded data of a preceding block.
The encoded data may be a hash value.
  Because information recorded in a blockchain is difficult to falsify, and is highly credible, utilization of the information makes it possible to provide a service to prove a current right holder, a service to prove existence of a right or digital data, a service to prove that digital data has been created by a legitimately entitled or authorized individual, a service to prove that digital data is not falsified, and the like.
  In the present embodiment explained, for the purpose of simplifying explanation, the right managing system 100 is used to provide a service to manage information concerning a legitimate right holder of each right of one or more rights. However, services provided by the right managing system 100 are not limited to the present embodiment. In another embodiment, other than the above-mentioned service to prove existence of a right or digital data or the like, the right managing system 100 can provide a remote manipulation service, rental service or sharing service, escrow service or the like for articles or digital data. Also, depending on rights, a case where registration in a register managed by an administrative agency is required is conceivable, but explanation of an actual registration procedure is omitted.
  [System Configuration of Right Managing System 100] In the present embodiment, the right managing system 100 includes a distributed ledger managing system 110 and a user terminal 120. In the present embodiment, the distributed ledger managing system 110 has multiple nodes 112 and a peer-to-peer network 114, for example. In the present embodiment, the distributed ledger managing system 110 and the user terminal 120 can transmit and receive information to and from each other through a communication network 10.
  The right managing system 100 may be one example of a data managing system. The user terminal 120 may be one example of a data managing system or information processing apparatus.
  In the present embodiment, the communication network 10 allows transmission of information between the distributed ledger managing system 110 and the user terminal 120. The communication network 10 may be a wired communication transmission path, a wireless communication transmission path, or a combination of a wireless communication transmission path and a wired communication transmission path. The communication network 10 may include a wireless packet communication network, the Internet, a P2P network, a dedicated line, a VPN and the like. The communication network 10 may (i) include a mobile communication network such as a portable telephone network, and (ii) include a wireless communication network such as a wireless MAN (which is WiMAX (registered trademark), for example), wireless LAN (which is WiFi (registered trademark), for example), Bluetooth (registered trademark), Zigbee (registered trademark) or NFC (Near Field Communication).
  In the present embodiment, an object 30 serves as a purpose of a right possessed by User A or a target of action of User A. Multiple rights may be established for the object 30. The object 30 may be a tangible item or an intangible item. The object 30 may be digital data. Examples of digital data may include: a database; each record included in a database; an electronic file of application software (which is a Word file, an Excel file, text data, music data, picture data, moving image data, saved data of an electronic game and the like, for example), item in an electronic game, encoded data thereof (which is a hash value, for example) and other digital data.
  The object 30 may have a communication function, and transmit and receive information to and from at least one of the distributed ledger managing system 110 and the user terminal 120. According to one embodiment, the object 30 receives, from the user terminal 120, a command for manipulating the object 30. The object 30 accesses the distributed ledger managing system 110 to confirm whether User A is entitled or authorized to execute the above-mentioned command.
  According to another embodiment, the object 30 has a computer and reports the state of the object 30 to the user terminal 120. If the object 30 is a plant, microorganism, life form or the like, a monitoring apparatus that monitors the state of the object 30 may report the state of the object 30 to the user terminal 120. The object 30 or the above-mentioned monitoring apparatus may request the user terminal 120 to transmit, to the distributed ledger managing system 110, a transaction concerning the state of the object 30. Examples of the state of the object 30 may include the states of the object 30 about usage, wear or degradation, and growth and other states. The information concerning the state of the object 30 may be one example of information concerning increase or decrease in the value of the object 30.
  As one example, if the object 30 is an automobile, if for example having received an unlock command from the user terminal 120, having started an engine or system, having stopped an engine or system, having established communication with the user terminal 120, or ending communication with the user terminal 120, the object 30 transmits, to the user terminal 120, information concerning travel history, manipulation history, driving distance, battery properties or the like. Thereby, if the object 30 is sold off for example, the purchaser of the object 30 can acquire highly credible information concerning the state of the object 30.
  In the present embodiment, the distributed ledger managing system 110 stores, as a blockchain, information concerning the history of variations in each right of one or more rights. The distributed ledger managing system 110 may have functions that a general database system is required to have. The blockchain may be one example of a distributed ledger. In one embodiment, the distributed ledger managing system 110 stores a blockchain for each right. In another embodiment, the distributed ledger managing system 110 stores a blockchain for each object. For example, if a right established for an object is determined in advance, or a right managed by the right managing system 100 is determined in advance, the distributed ledger managing system 110 can manage the right by storing a blockchain for each object.
  More specifically, if the right managing system 100 is utilized to manage the property right of an article, the distributed ledger managing system 110 may store a blockchain for each article. Thereby, the history of variations in the property right can be managed. Also, if the right managing system 100 is utilized to provide services concerning renting or sharing of an article, or lending of digital data (which is for example to provide an item in an electronic game), the distributed ledger managing system 110 may store a blockchain for each article or piece of digital data. Thereby, the history of variations in a right to lease, right to use, accessing right and the like can be managed.
  In the present embodiment, each node of the plurality of nodes 112 stores a blockchain. Each node of the plurality of nodes 112 may be any information processing apparatus as long as it participates in the distributed ledger managing system 110, and its specific configuration is not particularly limited. Each node of the plurality of nodes 112 may be a computer into which a program for executing a new block approval process (which is in some cases referred to as a mining process) is introduced. In one embodiment, a given node 112 can freely participate in the distributed ledger managing system 110. In another embodiment, only a permitted node 112 can participate in the distributed ledger managing system 110.
  Each node of the plurality of nodes 112 receives transaction data from the user terminal 120. Each node of the plurality of nodes 112 executes a process of approving a new block including multiple pieces of transaction data received by each node. The new block approval process may be executed at constant time intervals. The approval process is a process performed by one of the nodes to find a solution satisfying a predetermined condition, for example. The approval process is not limited to the above-mentioned method. The approval process may be implemented according to an approach known in the blockchain technology or similar technologies, or an approach to be developed newly in the future. Upon approval of a new block by one node 112, the block is added to a blockchain, and the blockchain including the block is shared with other nodes 112.
  In one embodiment, in response to a request from the user terminal 120, each node of the plurality of nodes 112 may extract one or more pieces of transaction data agreeing with the request, and transmit the extracted transaction data to the user terminal 120. In another embodiment, in response to a request from the user terminal 120, each node of the plurality of nodes 112 may extract one or more pieces of transaction data agreeing with the request, and utilize the extracted transaction data to execute a process corresponding to the request. Each node of the plurality of nodes 112 may transmit, to the user terminal 120, a result of the above-mentioned process.
  In the present embodiment, the peer-to-peer network 114 allows transmission of information among the plurality of nodes 112. The peer-to-peer network 114 may be a wired communication transmission path, a wireless communication transmission path, or a combination of a wireless communication transmission path and a wired communication transmission path. The peer-to-peer network 114 may include at least one of a wireless communication network, the Internet and a dedicated line, or a combination thereof. The wireless communication method may be a mobile communication method or may be a short-range wireless communication method. Examples of short-range wireless communication may include those utilizing a wireless MAN, wireless LAN, Bluetooth (registered trademark), Zigbee (registered trademark), NFC and others utilizing short-range wireless communication.
  In the present embodiment, the user terminal 120 is an information processing apparatus utilized by User A. The user terminal 120 may be any information processing apparatus as long as it can transmit and receive information to and from the distributed ledger managing system 110 through the communication network 10, and its specific configuration is not particularly limited. The user terminal 120 may be a personal computer, a portable phone or smartphone, a portable terminal (examples of which may include a PDA, tablet, notebook computer or laptop computer and other portable terminals), a wireless terminal or the like.
  In the present embodiment, the user terminal 120 stores a private key 122 of User A. The user terminal 120 utilizes the private key 122 of User A to generate one or more transactions concerning variations in each right of one or more rights possessed by User A. The user terminal 120 transmits the generated transactions to at least some of the plurality of nodes 112. In one embodiment, the user terminal 120 transmits the generated transactions to any one of the plurality of nodes 112. The node 112 that has received the transactions from the user terminal 120 forwards the transactions to all the other nodes 112 through the peer-to-peer network 114. In another embodiment, the user terminal 120 may broadcast the generated transactions to the plurality of nodes 112.
Hardware Configuration of Each Unit of Right Managing System 100
  Each unit of the right managing system 100 may be realized by hardware, realized by software, or realized by hardware and software. Each unit of the right managing system 100 may be realized by a single server or realized by multiple servers.
  Each unit of the right managing system 100 may be realized by activating software or a program defining operations of each unit of the right managing system 100 in a generally configured information processing apparatus. The above-mentioned information processing apparatus may include: a data processing apparatus having a processor such as a CPU, a ROM, a RAM, a communication interface and the like; input apparatuses such as a keyboard, touch panel, camera, microphone, various types of sensor or GPS receiver; output apparatuses such as a display apparatus, speaker or vibration apparatus; and storage apparatuses such as a memory or HDD. The right managing system 100 may include, as part of it, a virtual server or cloud system.
  In the above-mentioned information processing apparatus, the above-mentioned data processing apparatus or storage apparatus may store the above-mentioned software or program. By being executed by a processor, the above-mentioned software or program causes the above-mentioned information processing apparatus to execute operations defined by the software or program. The above-mentioned software or program may be stored in a non-transitory computer-readable storage medium.
  [Outline of Right Management by Right Managing System 100] <Registration of Data> The right managing system 100 registers, in the distributed ledger managing system 110, information concerning variations in a right possessed by User A for example by the following procedure. First, User A possessing a right aimed at the object 30 executes, on the user terminal 120, manipulation that can generate a variation in the right. Examples of the manipulation that can generate a variation in a right may include manipulation concerning application software operating on the user terminal 120, manipulation for utilizing a service provided by an application server on the Internet, and other manipulation.
  For example, if User A executes an on-line game by manipulating the user terminal 120, first, an account of User A is created. At this time, a right to utilize the account occurs or is transferred. Thereafter, events such as acquisition of an item or level-upgrade of a character or item occur as the game proceeds. For example, upon acquisition of an item by User A in the electronic game, a right to utilize the item occurs or is transferred. Also, upon level-upgrade of a character or item in the electronic game, a change is generated in the details of the right to utilize the account or item. The right to utilize an account or item may be one example of one right.
  If a variation is generated in a right of User A due to manipulation of a user, the user terminal 120 utilizes the private key 122 stored in the user terminal 120 to generate transaction data concerning the variation in the right. Next, the user terminal 120 transmits the generated transaction data to the distributed ledger managing system 110 through the communication network 10. At appropriate timing, the distributed ledger managing system 110 forms a block of the transaction data received from the user terminal 120 to generate a new blockchain. Thereby, User A can register information concerning a variation in his/her own right in the distributed ledger managing system 110.
  <Extraction of Data>
  User A can manipulate the user terminal 120 to access information stored in the distributed ledger managing system 110. For example, based on an instruction from User A, the user terminal 120 transmits, to the distributed ledger managing system 110, a request to extract data agreeing with a particular condition, a request to judge whether or not a particular condition is satisfied, or other requests. The distributed ledger managing system 110 receives a request from the user terminal 120, and executes a process corresponding to the request. Thereby, User A can view the history of variations in a particular right, confirm a right possessed by him/her, or perform other processes.
  [Specific Example 1 of Right Management by Right Managing System 100] In one embodiment, if User A alienates the object 30 (which is an automobile owned by User A, for example) to User B, User A manipulates the user terminal 120 to cause the user terminal 120 to execute a process for transferring the property right of the object 30 from User A to User B. Upon start of the above-mentioned process, the user terminal 120 generates transaction data concerning the transfer of the property right of the object 30 to transmit the transaction data to one of the plurality of nodes 112, for example. Thereby, the transaction data indicating that the property right of the object 30 has been transferred to User B is registered in the distributed ledger managing system 110. The property right of the object 30 may be one example of one right.
  [Specific Example 2 of Right Management by Right Managing System 100] In another embodiment, if the User A lends User B the object 30, User A manipulates the user terminal 120 to cause the user terminal 120 to execute a process for establishing a right to lease or right to use for the object 30. Upon start of the above-mentioned process, the user terminal 120 executes (i) a process for causing a right to lease or right to use to newly occurs, or (ii) a process for changing the right holder and details of an existing right to lease or right to use. The user terminal 120 for example generates transaction data corresponding to the above-mentioned process to transmit the transaction data to one of the plurality of nodes 112. Thereby, the transaction data indicating that the right to lease or right to use of the object 30 has been transferred to User B is registered in the distributed ledger managing system 110. The right to lease or right to use established for the object 30 may be one example of one right.
  In the process for causing a right to lease to newly occur, the user terminal 120 for example generates transaction data for issuance to transmit the transaction data to one of the plurality of nodes 112. Examples of the details of a newly occurring right to lease may include (i) the duration of the right to lease, (ii) existence or nonexistence of a special contract stipulating that alienation of the right to lease or subleasing of the leased object is permitted, and other details.
  The transaction data for issuance for example includes information indicating that the transaction is for issuance, information concerning an issuance condition, information concerning a right expressed by the transaction, and information concerning a successor of the right. Examples of the information concerning an issuance condition may include information designating the unit number of assets to be issued, information designating the scale of the amount of assets to be issued (which is in some cases referred to as divisibility), information designating the upper limit of the amount of assets, and other information. The amount of assets is equivalent to the amount of cryptocurrency, and in the present embodiment, the amount of assets is for example the share of a right. Also, by setting the amount of assets at the time of initial issuance to the upper limit of the amount of assets designated in the issuance condition, increase in the amount of assets distributed after the issuance can be prevented, and the amount of assets to be distributed can be kept constant.
  Examples of the information concerning a right may include: information uniquely specifying each right (which is in some cases referred to as right identification information) or information indicating the right identification information; information concerning details of each right; and other information. Examples of the right identification information may include (i) object identification information, (ii) a combination of the object identification information and information indicating the type or name of a right, and other right identification information. Examples of the object identification information may include (i) the manufacturer's serial number, identification number or MAC address of an object, (ii) a combination of these and manufacturer or seller identification information, and other object identification information. Examples of the information indicating right identification information may include encoded data of the right identification information (which is for example a hash value) and other information. The right identification information or information indicating the right identification information is in some cases referred to as a right ID.
  In the process for changing the right holder and details of an existing right to lease, the user terminal 120 for example generates transaction data for transfer to transmit the transaction data to one of the plurality of nodes 112. The user terminal 120 may generate transaction data for transfer concerning the change in the right holder and details, and may generate transaction data for transfer concerning the change in the right holder and transaction data for transfer concerning the change in the details of the right. If the right holder does not change, but only the details of the right change, the user terminal 120 may generate a transaction for transfer that designates the current right holder as a successor.
  The transaction data for transfer may for example include: information indicating that the transaction is for transfer; information concerning a right expressed by the transaction; information concerning a successor of the right; and information concerning the share to be succeeded in the transaction. Examples of the information concerning a right may include a right ID, information concerning details of the right and other information.
  Fig. 2 schematically shows one example of the internal configuration of a node 112. In the present embodiment, the node 112 includes a communication control unit 210, a blockchain generating unit 220, a storing unit 230 and a request processing unit 240. The storing unit 230 for example includes a blockchain storing unit 232 and a public key storing unit 234.
  In the present embodiment, the communication control unit 210 controls at least one of communication with another node 112 and communication with the user terminal 120. If the object 30 has a communication function, the communication control unit 210 may control communication with the object 30. The communication control unit 210 may function as a transmitting unit that transmits information to external equipment, and may function as a receiving unit that receives information from external equipment. The communication control unit 210 may be a communication interface. The communication control unit 210 may support multiple types of communication methods.
  The communication control unit 210 for example receives a request from another node 112, the user terminal 120 or the object 30 to forward the request to the request processing unit 240. As a response to the request, the communication control unit 210 may transmit a result of executing a process in the request processing unit 240 to a transmission source of the above-mentioned request. The communication control unit 210 for example receives transaction data from the user terminal 120 to forward the transaction data to the blockchain generating unit 220. The communication control unit 210 for example receives, from the user terminal 120, a public key corresponding to the private key 122 to store it in the public key storing unit 234. The above-mentioned public key may be included in transaction data from the user terminal 120.
  The blockchain generating unit 220 acquires the transaction data from the user terminal 120 to generate a blockchain. For example, every time a predetermined period elapses, the blockchain generating unit 220 forms a block of one or more pieces of transaction data acquired in the period to generate a new block. The above-mentioned predetermined period may be a strictly defined period or an approximately defined period. If transaction data is not acquired in the above-mentioned predetermined period, the blockchain generating unit 220 may generate a new block or may not generate a new block.
  The procedure of forming a block is not particularly limited, but is executed in the following procedure, for example. First, after a preceding block is added to a blockchain, the blockchain generating unit 220 specifies one or more pieces of transaction data acquired in a predetermined period. If transaction data is not acquired in the above-mentioned predetermined period, the step of specifying one or more pieces of transaction data may be omitted.
  Next, the blockchain generating unit 220 accesses a current blockchain stored in the blockchain storing unit 232 to extract data of the preceding block. Next, the user terminal 120 hashes the extracted preceding block. The hashing may be one example of encoding. Thereafter, the blockchain generating unit 220 puts together a header including numerical data called nonce (number used once), the hash value of the preceding block, and one or more pieces of transaction data acquired in a predetermined period to generate a new block.
  If transaction data is not acquired in the above-mentioned predetermined period, the blockchain generating unit 220 for example puts together a header including a nonce and a hash value of the preceding block to generate a new block. The nonce included in the new block may have a value different from a nonce included in the preceding block.
  After generating the new block, the blockchain generating unit 220 executes a process of approving the block. The procedure of the approval process is not particularly limited, but is executed in the following procedure, for example. The blockchain generating unit 220 first hashes a new block. The blockchain generating unit 220 compares the hash value of the new block and a predetermined target value. If the hash value of the new block is smaller than the predetermined target value, the block is approved. On the other hand, if the hash value of the new block is larger than the predetermined target value, the value of a nonce included in the new block is changed, and the above-mentioned process is repeated. The target is data from which the mining difficulty (difficulty) is calculated, and the smaller the target is, the greater the mining difficulty is.
  Upon approval of the new block, the blockchain generating unit 220 adds the block to the existing blockchain to generate a new blockchain. The blockchain generating unit 220 stores the new blockchain in the blockchain storing unit 232. Also, the blockchain generating unit 220 transmits the new blockchain to other nodes 112 to share the latest blockchain with the other nodes 112.
  In one embodiment, the blockchain generating unit 220 generates a blockchain for each right. For example, different blockchains are used to respectively manage transaction data concerning the property right of the object 30 and transaction data concerning the right to lease established for the object 30. In another embodiment, the blockchain generating unit 220 generates a blockchain for each object. For example, the same blockchain is used to manage transaction data concerning the property right of the object 30 and transaction data concerning the right to lease established for the object 30.
  In the present embodiment, the storing unit 230 stores various pieces of information. The blockchain storing unit 232 for example stores a blockchain generated by the blockchain generating unit 220.
The public key storing unit 234 for example stores a public key corresponding to the private key 122 of the user terminal 120. The storing unit 230 may also store other information.
  In the present embodiment, the request processing unit 240 processes various requests to the distributed ledger managing system 110. As a response to the request, the request processing unit 240 transmits a result of processing to a transmission source of the request. Examples of a request to the distributed ledger managing system 110 may include a request to extract data agreeing with a particular condition, a request to judge whether or not a particular condition is satisfied, and other requests.
  In one embodiment, the request processing unit 240 receives, from the user terminal 120 or the object 30, a right ID, and a request to extract identification information of the right holder of a right specified by the right ID. In this case, the request processing unit 240 for example refers to the blockchain storing unit 232 to access a blockchain concerning the above-mentioned right, and extract identification information of the right holder of the right. Thereafter, as a response to the request, the request processing unit 240 transmits the extracted information to a transmission source of the request.
  In another embodiment, the request processing unit 240 receives, from the user terminal 120 or the object 30, a right ID, identification information of User A, and a request to judge whether or not User A is the right holder of a right specified by the right ID. In this case, the request processing unit 240 for example refers to the blockchain storing unit 232 to access a blockchain concerning the above-mentioned right and extracts identification information of the right holder of the right. Next, the request processing unit 240 judges whether or not User A is the right holder of the right by judging whether or not the extracted identification information of the right holder agrees with the identification information of User A. Thereafter, as a response to the request, the request processing unit 240 transmits information indicating the judgment result to a transmission source of the request.
  In another embodiment, the request processing unit 240 receives, from the user terminal 120 or the object 30, identification information of User A and a request to extract a right ID of a right possessed by User A. In this case, the request processing unit 240 for example refers to the blockchain storing unit 232 to access one or more blockchains stored in the blockchain storing unit 232, and extract identification information of the current right holder of a right corresponding to each blockchain. Next, the request processing unit 240 judges whether or not User A is the current right holder of a right corresponding to each blockchain by judging whether or not the extracted identification information of the right holder agrees with the identification information of User A. Thereafter, as a response to the request, the request processing unit 240 transmits, to a transmission source of the request, a right ID of the right for which User A is judged as the current right holder.
  Fig. 3 to Fig. 5 are used to explain examples of the data structure of data stored in the blockchain storing unit 232. Fig. 3 schematically shows one example of the data structure of a blockchain 300. The blockchain 300 includes multiple blocks that are continuous in time series. In Fig. 3, for the purpose of simplifying explanation, Block Bi and Block Bi-1 which is a preceding block for Block Bi among the plurality of blocks constituting the blockchain 300 are shown (i is a positive integer equal to or greater than 2). In the present embodiment, each block of the plurality of blocks includes a block header 310 and one or more pieces of transaction data 320. Each piece of the one or more pieces of transaction data 320 may be one example of transaction information concerning variations in one right.
  In the present embodiment explained, a single block includes transaction data concerning multiple rights. However, the data structure of a block is not limited to the present embodiment. According to another embodiment, a single block includes transaction data concerning a single right, but does not include transaction data concerning other rights.
  In the present embodiment explained, a single block includes multiple pieces of transaction data. However, the data structure of a block is not limited to the present embodiment. According to another embodiment, a single block includes a single piece of transaction data. According to still another embodiment, a single block may not include transaction data. Depending on the relationship between timing at which transaction data is generated and timing at which a block is generated, a block not including transaction data may be generated.
  As shown in Fig. 4, in the present embodiment, the block header 310 includes: a block version 410 of Block Bi (which is in some cases referred to as a current block); a hash value 412 of the block header of Block Bi-1 (which is in some cases referred to as a preceding block); a Merkle root hash value 414 of the transaction data of Block Bi; a block lock time 416 of Block Bi; a target 418 of a mining process at the time of the block lock of Block Bi; and a nonce 420 calculated in the mining process of Block Bi.
  In the present embodiment, the block version 410 indicates the version of rules, protocol or algorithm for block formation. The block lock time 416 indicates a clock time at which Block Bi was approved. The clock time at which Block Bi was approved may be one example of a time at which a block of one or more pieces of transaction data included in Block Bi was formed. The target 418 indicates the target in the approval process of Block Bi. The hash value may be one example of encoded data, and hashing may be one example of encoding.
  Fig. 5 schematically shows one example of the data structure of transaction data 500 concerning a variation in a right. In the present embodiment, the transaction data 500 includes a version 502, the number of inputs 504, one or more inputs 506, the number of outputs 508, one or more outputs 510 and a block lock time 512. In the present embodiment, the version 502 indicates the version of rules stipulating the format or protocol of the transaction data 500. The number of inputs 504 indicates the number of the inputs 506. The number of outputs 508 indicates the number of the outputs 510. The block lock time 512 indicates the clock time at which a block including the transaction data 500 was approved.
  In the present embodiment, each input of the one or more inputs 506 for example includes a hash value 522 of preceding transaction data, a preceding output index 524, a size 526 of a signature script 528, the signature script 528 and a sequence terminal symbol 534. The signature script 528 may include a signature value 530 of the transaction data 500, and a public key 532 corresponding to a private key of the current right holder.
  The signature value 530 of the transaction data 500 may be encrypted data obtained by encrypting at least part of the transaction data 500 using a private key of the current right holder (who is in some cases referred to as a successee). A method employed to generate the signature value 530 by encrypting part of or the entire transaction data 500 using a private key of the current right holder may be a known approach to generating a transaction in cryptocurrency, or an approach to generating a transaction in cryptocurrency to be developed in the future.
  In the present embodiment, each output of the one or more outputs 510 for example includes a share 542 to be succeeded, a size 544 of a public key verification script 546 and the public key verification script 546. The public key verification script 546 may include a hash value 548 of a public key of the successor, information 550 concerning the type of transaction data and information 552 concerning a right.
  In the present embodiment, the hash value 548 of the public key of the successor indicates one or more successors of the right expressed by the transaction data 500 in a variation in the right. If the right holder does not change in the above-mentioned right variation, the hash value 548 of the public key of the successor may be a hash value of the public key of the successee. The information 550 concerning the type of transaction data may be information indicating whether the transaction data 500 is transaction data for issuance or transaction data for transfer.
  Examples of the information 552 concerning a right may include a right ID, information concerning details of the right (which is in some cases referred to as detail information), and other information. Examples of the detail information may include (i) information concerning a feature, specification or state of a target object or object of the right, (ii) information concerning a change the target object or object of the right, (iii) information concerning a restriction on the right, (iv) information concerning a condition to exercise the right, and other information.
  The detail information may be (i) data indicating details of a right after a variation or details of a right variation (details of a right or details of a right variation are in some cases referred to as details of a right or right variation), (ii) a URI of data in which details of the right or right variation are recorded, or (iii) encoded data of data in which the details of the right or right variation are recorded. The recorded data in which the details of the right or right variation are recorded may be a second database system (which may be one example of a detail information storing unit) which is different from the distributed ledger managing system 110, or a record included in the second database system, or part of the record. The above-mentioned part of the record may be a value of a key-value type database.
  In the present embodiment, the transaction data 500 may be one example of the transaction data 320 constituting Block Bi of the blockchain 300. The transaction data 500 may be one example of transaction data for transfer (which is in some cases referred to as transaction data for forwarding). The transaction data 500 may be one example of first transaction information. The preceding transaction data may be one example of second transaction information. The hash value may be one example of encoded data, and hashing may be one example of encoding. The signature value 530 may be one example of encrypted data obtained by encrypting at least part of the transaction data 500 using a private key of a successee. The successee may be one example of a user possessing one right. The public key 532 of a successee may be one example of identification information identifying a successee. The public key of a successor may be one example of identification information identifying a successor.
  In the present embodiment explained, the number of inputs 504 and number of outputs 508 are one or larger. However, the transaction data 500 is not limited to the present embodiment. In another embodiment, in the transaction data 500, at least one of the number of inputs 504 and the number of outputs 508 may be 0.
  In the present embodiment explained, the transaction data 500 is transaction data for transfer. However, the transaction data 500 is not limited to the present embodiment. In another embodiment, the transaction data 500 may be transaction data for issuance.
  If the transaction data 500 is transaction data for issuance, as an input 506 of the transaction data 500, special data for indicating that it is transaction data for issuance may be input according to a predetermined rule or protocol. For example, predetermined special data is input to the hash value 522 of the preceding transaction data and the preceding output index 524. Also, the transaction data 500 may further include data indicating information concerning an issuance condition of a right expressed by the transaction data 500. The information concerning an issuance condition may be the same as the one described above.
  In still another embodiment, the transaction data 500 may be information about a transaction of a cryptocurrency utilizing a blockchain technology. In this case, the right ID may be currency identification information uniquely specifying the above-mentioned cryptocurrency. Using a right ID as currency identification information of a cryptocurrency, it becomes possible to utilize a platform of an existing cryptocurrency or utilize a mechanism similar to the platform of an existing cryptocurrency to manage the history of variations in a right identified by the right ID. Also, the amount of cryptocurrency retained by each user may be decided according to the share of a right possessed by each user. In this case, information designating the above-mentioned upper limit of the amount of assets may be one example of information defining the total amount of cryptocurrency issued.
  In the embodiment explained with reference to Fig. 5, the transaction data 500 has only a region to store information concerning balance. However, the transaction data 500 is not limited to the present embodiment. In another embodiment, the transaction data 500 may include a program (which is in some cases referred to as code) to be executed by a computer of the node 112.
  In this case, the transaction data 500 for example has, in addition to (i) the region to store information concerning balance like the one explained with reference to Fig. 5, (ii) a region to store the code (which is in some cases referred to as a code storing region), and (iii) a region to store data concerning execution of the code (which is in some cases referred to as a data storing region). The transaction data 500 may have, in place of the region to store information concerning balance like the one explained with reference to Fig. 5, (i) a region to store the code (which is in some cases referred to as a code storing region), and (ii) a region to store data concerning execution of the code (which is in some cases referred to as a data storing region).
  A code execution procedure is as follows, for example. First, the node 112 receives, from another terminal (which is the user terminal 120, for example), a message instructing to start execution of the code included in the transaction data 500 stored in the node 112. Upon reception of the above-mentioned message by the node 112, a computer of the node 112 causes the code to be executed automatically. The computer of the node 112 may store a result of executing the above-mentioned code in the data storing region of the transaction data 500. The computer of the node 112 may issue an address for specifying the stored code.
  Examples of the above-mentioned code may include (i) a code for registering, in the distributed ledger managing system 110, various types of code as information indicating details of a contract between a successee of a right and a successor of the right (which is in some cases referred to as a contract), (ii) a code for executing a command on a code registered as the contract, (iii) a code for generating a transaction, and a combination thereof. The above-mentioned code may be a smart contract code.
  For example, if an escrow service is realized, the transaction data 500 has stored in its code storing region: (i) a code for causing a computer to execute a process for registering, in the distributed ledger managing system 110, a code embodying an escrow service by an escrow service provider, (ii) a code for causing a computer to execute a process of recording contract details, (iii) a code for causing a computer to execute a process of transferring the property right of an object from a seller of the object to an escrow service provider, (iv) a code for causing a computer to execute a process of transferring the property right of an object from an escrow service provider to a purchaser of the object, (v) a code for causing a computer to execute a process of transferring an amount of cryptocurrency equivalent to the charge of an object from a purchaser of the object to an escrow service provider, (vi) a code for causing a computer to execute a process of transferring an amount of cryptocurrency equivalent to the charge of an object from an escrow service provider to a seller of the object, or the like.
  Examples of the above-mentioned contract details may include information indicating that a contract has been concluded, information indicating that the property right of an object is alienated to a purchaser of the object at a particular money amount, and other information. By the above-mentioned respective codes being executed, a transaction corresponding to the purpose of each code may be generated. In the above-mentioned respective codes, a condition for executing each code may be defined.
  In the embodiment of Fig. 5 explained, the information 552 concerning a right is stored in a region of the public key verification script 546. However, a region where the information 552 concerning a right is stored is not limited to the public key verification script 546. The information 552 concerning a right may be stored in a given region in the transaction data 500. For example, the information 552 concerning a right is stored in a region storing the above-mentioned code.
  Fig. 6 schematically shows one example of the internal configuration of the user terminal 120. In the present embodiment, the user terminal 120 includes a communication control unit 610, an I/O unit 620, a transaction data generating unit 630, a storing unit 640 and a request generating unit 650. The storing unit 640 may have a key information storing unit 642 and a transaction data storing unit 644.
  The communication control unit 610 may be one example of a transaction information transmitting unit, a command transmitting unit or a request transmitting unit. The I/O unit 620 may be one example of an input unit. The transaction data generating unit 630 may be one example of an encrypting unit, a right variation judging unit, a key generating unit, or a detail information updating unit. The storing unit 640 may be one example of a detail information storing unit.
  In the present embodiment, the communication control unit 610 controls communication with the distributed ledger managing system 110 or the plurality of nodes 112. If the object 30 has a communication function, the communication control unit 610 may control communication with the object 30.
The communication control unit 610 may function as a transmitting unit to transmit information to external equipment, and function as a receiving unit to receive information from external equipment. The communication control unit 610 may be a communication interface. The communication control unit 610 may support multiple types of communication methods.
  [Transmission of Transaction Data] In the present embodiment, the communication control unit 610 transmits, to the distributed ledger managing system 110, transaction data generated by the transaction data generating unit 630. If having detected a variation in a particular right, for example, the transaction data generating unit 630 generates transaction data concerning the variation in the right.
  In one embodiment, the transaction data includes a right ID of the right expressed by the transaction data. In another embodiment, the transaction data is provided with metadata, and the metadata may include a right ID of the right expressed by the transaction data.
  The transaction data includes at least (i) successor information indicating one or more successors of a particular right in a variation in the right (which is the hash value 548 in Fig. 5, for example), and (ii) encoded data of transaction data concerning a preceding variation in the above-mentioned right (which is the hash value 522 in Fig. 5, for example). The above-mentioned transaction data may further include data (which is the signature value 530 in Fig. 5, for example) obtained by encrypting at least part of transaction data concerning the above-mentioned right variation using a private key of a current right holder.
  Thereby, if transmitting the above-mentioned transaction data concerning a right variation to the distributed ledger managing system 110, the communication control unit 610 can transmit, to the distributed ledger managing system 110 and in association with each other, the right ID of the above-mentioned right and the data (which is the signature value 530 in Fig. 5, for example) obtained by encrypting at least part of transaction data concerning the right variation using the private key of the current right holder. If the right managing system 100 utilizes a cryptocurrency to express a particular right, the above-mentioned right ID may be currency identification information of the cryptocurrency. The above-mentioned cryptocurrency may be realized on a platform conforming to rules or a protocol of Bitcoin 2.0 or Cryptocurrency 2.0. Examples of the above-mentioned platform may include ColoredCoins, Counterparty, Omni, Ethereum and other platforms.
  As described above, the transaction data may further include detail information (which is the information 552 concerning a right in Fig. 5, for example). The transaction data may include data in which detail information is encoded. The detail information may be a second database system (which may be one example of a detail information storing unit) which is different from the distributed ledger managing system 110, or a record included in the second database system, or part of the record.
  For example, if Bitcoin or ColoredCoins is utilized as a platform, and if the right holder does not change in the above-mentioned right variation, information designating a successee as a successor of the right may be described in successor information of transaction data. Thereby, a platform not planned to handle information other than balance information such as Bitcoin can be utilized to express a right variation. In another embodiment, in order for a smart contract such as Ethereum to be utilized as a platform, a code indicating a detail variation is described in an appropriate region of transaction data.
  In view of this, if a second database system to record detail information exists beside the distributed ledger managing system 110, the right managing system 100 can be utilized to warrant existence or credibility of detail information stored in the second database system. For example, every time detail information to be stored in the second database system is generated or detail information stored in the second database system is updated, transaction data concerning a variation in a right corresponding to the generated or updated detail information is generated. At this time, encoded data (which is a hash value, for example) of the detail information stored in the second database system may be recorded in an appropriate region of transaction data. The generated transaction data is transmitted to the distributed ledger managing system 110.
  Due to the above-mentioned transaction data being incorporated into a blockchain, existence or credibility of the transaction data is warranted. As a result, existence or credibility of detail information stored in the second database system is also warranted. The order of a process of storing newly generated detail information in the second database or a process of updating detail information stored in the second database system and a process of generating or transmitting transaction data is not particularly limited. The second database system may be one example of a detail information storing unit. The second database system may be disposed in the user terminal 120, or may be constructed on an information processing apparatus different from the distributed ledger managing system 110 and the user terminal 120.
  In one embodiment, access to detail information stored in the second database system may be restricted.
For example, at least one of reading and writing of stored data is restricted. At least one of viewing, saving, transmission, output and duplication of stored data may be restricted. The above-mentioned access restriction may be (i) executed by the second database system, (ii) executed by the distributed ledger managing system 110, (iii) executed by an information processing system present interposed between the at least two of the second database system, the distributed ledger managing system 110, the user terminal 120 and the object 30, or (iv) executed by the user terminal 120.
  [Transmission of Various Types of Request] In the present embodiment, the communication control unit 610 transmits various types of request generated by the request generating unit 650. For example, the communication control unit 610 transmits the above-mentioned requests to the distributed ledger managing system 110. The communication control unit 610 may transmit, to the I/O unit 620, a request to a user to cause the request to be output. If the object 30 has a communication function, the communication control unit 610 may transmit various types of request or command to the object 30. The communication control unit 610 may receive information transmitted from the object 30. The communication control unit 610 may transmit information necessary for execution of the above-mentioned requests or commands in association with the requests or commands. The communication control unit 610 may receive responses to the requests.
  In the present embodiment, the I/O unit 620 accepts an input to the user terminal 120. The I/O unit 620 may accept an instruction about a given right from a user. The above-mentioned instruction may be an instruction concerning manipulation of the user terminal 120. For example, if a user is utilizing the user terminal 120 to play an on-line game, manipulation for acquiring an item in the game (which is manipulation of pressing an input button, for example) is equivalent to the above-mentioned instruction.
  In the present embodiment, the I/O unit 620 outputs information from the user terminal 120. Examples of the I/O unit 620 may include an input apparatus such as a keyboard, pointing device, touch panel, microphone, camera, sensor or GPS receiver, or an output apparatus such as a display apparatus, speaker or vibration apparatus. The I/O unit 620 may be a user interface.
  In the present embodiment, the transaction data generating unit 630 generates transaction data. The transaction data generating unit 630 stores the generated transaction data in the transaction data storing unit 644. Also, the transaction data generating unit 630 transmits the generated transaction data to the distributed ledger managing system 110 through the communication control unit 610.
  The transaction data generating unit 630 may generate the private key 122 of User A and a public key corresponding to the private key 122. The transaction data generating unit 630 may store the above-mentioned private key 122 and public key in the key information storing unit 642.
  Although a method of generating transaction data is not particularly limited, the transaction data generating unit 630 generates transaction data Ti for transfer concerning an i-th variation Vi of a right R, the current right holder of which is User A, for example by the following procedure (i is a positive integer equal to or greater than 2). If the right R is not transferred in the variation Vi and a change is generated in details of the right R, transaction data Ti including successor information that designates a successee as a successor may be generated. Also, the transaction data T1 for issuance can be generated by a similar procedure.
  First, the transaction data generating unit 630 generates tentative transaction data including at least (i) successor information indicating one or more successors of the right R in the variation Vi, and (ii) encoded data of transaction data Ti-1 concerning a preceding variation Vi-1 of the right R. The tentative transaction data may include a right ID. The tentative transaction data may include information concerning a share of the right R to be succeeded in the variation Vi. The tentative transaction data may include detail information indicating a change in details of the right R in the variation Vi. The above-mentioned detail information may be encoded data of data in which details of a right or right variation are recorded.
  The tentative transaction data may be data in which given data is tentatively placed at a signature script portion of the transaction data Ti. The given data may be a hash value of the public key of User A. The tentative transaction data may be one example of at least part of transaction data to be a target of encryption by the encrypting unit.
  Next, the transaction data generating unit 630 encrypts the entire tentative transaction data using the private key 122 of User A to generate a signature value of the transaction data Ti. Thereafter, the transaction data generating unit 630 arranges the generated signature value of the transaction data Ti and the public key of User A in an appropriate region of the transaction data Ti to generate final transaction data Ti.
  In the present embodiment, if having detected the variation Vi in the right R, the transaction data generating unit 630 generates the transaction data Ti concerning the variation Vi. In one embodiment, if the I/O unit 620 accepts an instruction from a user, the transaction data generating unit 630 judges existence or nonexistence of a right variation resulting from execution of the instruction. In another embodiment, if the communication control unit 610 receives a request from the object 30, the transaction data generating unit 630 may judge existence or nonexistence of a right variation resulting from execution of the request. The transaction data generating unit 630 may generate the transaction data Ti in response to a request from the object 30.
  If having judged that a right variation Vi is generated due to execution of the above-mentioned instruction, the transaction data generating unit 630 generates the transaction data Ti concerning the variation Vi. In this case, if the transaction data Ti includes a URI or encoded data of data in which details of the right or right variation are recorded, the transaction data generating unit 630 may access a second database system different from the distributed ledger managing system 110 to generate or update the above-mentioned data in which details of the right or right variation are recorded.
  The transaction data generating unit 630 may judge existence or nonexistence of a right variation resulting from execution of an instruction every time the I/O unit 620 accepts the instruction from a user. The above-mentioned instruction may be an instruction concerning a process or manipulation the main purpose of which is to vary a particular right, or the above-mentioned instruction may be an instruction concerning a process or manipulation the main purpose of which is not to vary a particular right.
  The storing unit 640 stores various pieces of information. The key information storing unit 642 stores the private key 122 of User A. The key information storing unit 642 may store a public key corresponding to the private key 122. The key information storing unit 642 may store a private key and public key of each user of multiple users. The transaction data storing unit 644 stores transaction data generated by the transaction data generating unit 630. The storing unit 640 may store other information.
  The request generating unit 650 generates various types of request. The request generating unit 650 may generate a request to the distributed ledger managing system 110. For example, the request generating unit 650 generates data requesting the distributed ledger managing system 110 (i) to extract information indicating a right possessed by a particular user, (ii) to extract information indicating an individual possessing a particular right, or (iii) to judge whether or not a particular user possesses a particular right. The request generating unit 650 may generate a request to the object 30 or may generate a request to User A.
  The request generating unit 650 may transmit, in association with the above-mentioned request, user identification information to be used for identifying a particular user to the distributed ledger managing system 110. The user identification information may be a public key corresponding to a private key of the user or encoded data of the public key. The user identification information may be terminal identification information to be used for identifying a user terminal utilized by the user. The request generating unit 650 may transmit, in association with the above-mentioned request, a right ID of a particular right to the distributed ledger managing system 110.
  Fig. 7 schematically shows one example of a data table 700. The data table 700 shows one embodiment in which information stored as a blockchain in the distributed ledger managing system 110 is expressed in a table format. In the present embodiment, the data table 700 includes a transaction ID 702, a successee user ID 704, a successor user ID 706, a right ID 708, share information 710 and detail information 712.
  Identification information identifying each piece of transaction data is recorded in the transaction ID 702. User identification information of a user who is a successee in a right variation corresponding to each piece of transaction data is recorded in the successee user ID 704. User identification information of a user who is a successor in a right variation corresponding to each piece of transaction data is recorded in the successor user ID 706. Examples of the user identification information may include a user name, a user account name, a user address, a user private key and other user identification information. A right ID of a right expressed by each piece of transaction data is recorded in the right ID 708. The right ID may be information for identifying an object of the right, or may be information for identifying an object of the right and the type of the right. Information concerning a share of a right to be succeeded in a right variation corresponding to each piece of transaction data is recorded in the share information 710. Information indicating details of a right or right variation is recorded in the detail information 712. A URI or encoded data of data in which details of a right or right variation are recorded may be recorded in the detail information 712.
  If the right managing system 100 utilizes a cryptocurrency to express a particular right, the successee user ID 704 corresponds to a From address of the cryptocurrency. Likewise, the successor user ID 706 corresponds to a To address of the cryptocurrency, the right ID 708 corresponds to currency identification information of the cryptocurrency (which is the name of the encrypted currency or the name of a platform of the encrypted currency, for example), and the share information 710 corresponds to the amount of the cryptocurrency.
  Fig. 8 schematically shows one example of a data table 800. The data table 800 shows one example of data stored in a second database system which is a database system different from the distributed ledger managing system 110 and in which detail information is recorded. In this case, for example, a URI of data in which detail information is recorded or encoded data of the detail information is recorded in the detail information 712 of the data table 700. In the present embodiment, the data table 800 stores, in association with each other, detail information 804, and encoded data 802 obtained by encoding the detail information 804. The encoded data 802 is a hash value of the detail information 804, for example. The encoded data 802 may be a hash value of data including the detail information 804 and other information. Examples of the above-mentioned other information may include a timestamp, an IP address and other information. In this case, reuse of data after being encoded can be prevented.
  Utilizing the data table 700 and the data table 800 can warrant, at a practically sufficient accuracy, that the detail information 804 stored in the data table 800 is not falsified. For example, in a case where encoded data of data in which detail information is recorded is recorded in the detail information 712 of the data table 700, if the encoded data recorded in the detail information 712 of the data table 700 matches encoded data recorded in the encoded data 802 of the data table 800, it can be determined that the detail information 804 stored in the data table 800 is not falsified. In another embodiment, the data table 800 may store, in association with each other, the detail information 804, and a right ID for identifying a right related to the detail information 804.
  Fig. 16 and Fig. 17 are used to explain other examples of information being stored as a blockchain in the distributed ledger managing system 110. Fig. 16 schematically shows one example of a data table 2200. The data table 2200 shows one embodiment in which information stored as a blockchain in the distributed ledger managing system 110 is expressed in a table format. Fig. 17 schematically shows one example of a contract object 2300. The contract object 2300 is one example of a code stored, in the data table 2200, as a record the transaction ID of which is T1. The contract object 2300 includes a command for transferring a property right and a command for recording a detail variation in the right.
  In the present embodiment, the data table 2200 is one example of a data table in a case where a process similar to the process explained with reference to Fig. 7 is realized utilizing a so-called smart contract technology. In the present embodiment, the data table 2200 includes a transaction ID 2202, a manipulation account 2204, an execution-target code 2206 registered in the blockchain and code call details 2208. The data table 2200 may have a remark column 2210.
  Identification information identifying each piece of transaction data is stored in the transaction ID 2202. Identification information identifying a user who has caused a right variation to occur corresponding to each piece of transaction data is stored in the manipulation account 2204. For example, an address of a code to be an execution-target in each transaction of codes stored in a blockchain is recorded in the execution-target code 2206. A function to be an execution-target among functions held by an execution-target code in each transaction, and an argument of the function are recorded in the code call details 2208. The execution-target code 2206 and the code call details 2208 may be one example of a code storing region. For example, simple explanation of a code is stored in the remark column 2210.
  [System Configuration of Right Managing System 900] Fig. 9 schematically shows one example of the system configuration of a right managing system 900. According to the right managing system 900, a keyless entry system, a rental or sharing system, a remote manipulation system, an escrow system, a settlement system, a matching system, an auction system, an on-line game system, an update program distribution system, and the like can be realized.
  In the present embodiment, the right managing system 900 includes a user terminal 920. The right managing system 900 may further include the distributed ledger managing system 110. The right managing system 900 may further include an object 930. The right managing system 900 may further include a right managing server 940. In the present embodiment, the right managing server 940 has a detail information storing unit 942 and an information managing unit 944. The right managing system 900 may be one example of a data managing system. The user terminal 920 may be one example of a data managing system or information processing apparatus. The right managing server 940 or the detail information storing unit 942 may be one example of a second database system. The right managing server 940 or the information managing unit 944 may be one example of a detail information updating unit.
  For the purpose of simplifying explanation, in the present embodiment explained, the right managing server 940 includes the detail information storing unit 942. However, the detail information storing unit 942 is not limited to the present embodiment. In another embodiment, the detail information storing unit 942 may be a database system that is disposed outside the right managing server 940, and can transmit and receive information to and from the right managing server 940.
  In the present embodiment, the user terminal 920 is different from the user terminal 120 in that it generates a command to the object 930, and transmits the command to the object 930. The user terminal 920 may transmit the above-mentioned command directly to the object 930 by short-range wireless communication or wired communication. The user terminal 920 may have a configuration similar to that of the user terminal 120 in other respects than the above-mentioned difference.
  In the present embodiment, the object 930 is different from the object 30 in that it has a communication function, and transmits and receives information to and from the distributed ledger managing system 110, the user terminal 920 and the right managing server 940. The object 930 may transmit and receive information to and from the distributed ledger managing system 110, the user terminal 920 and the right managing server 940 through the communication network 10. The object 930 may transmit and receive information to and from the user terminal 920 by short-range wireless communication or wired communication. The object 930 may transmit and receive information to and from the distributed ledger managing system 110 and the user terminal 920 through the right managing server 940.
  The object 930 is different from the object 30 in that it receives a command from the user terminal 920, and determines whether or not execution of the command is possible based on a blockchain stored in the distributed ledger managing system 110. The object 930 may have a configuration similar to that of the object 30 in other respects than the above-mentioned difference. In the present embodiment, the object 930 may store a private key 932 for specifying or identifying a computer of the object 930 in information processing at the distributed ledger managing system 110 or the like. If it is not necessary to specify or identify the computer of the object 930, the object 930 may not store the private key 932.
  For example, the computer of the object 930 uses the private key 932 to create transaction data indicating a right variation concerning the object 930, and registers the transaction data in the distributed ledger managing system 110. For example, if transaction data stored in the distributed ledger managing system 110 includes a signature value encrypted using the private key 932, the distributed ledger managing system 110 can specify that the transaction data was generated by the computer of the object 930. Thereby, the distributed ledger managing system 110 can use the private key 932 to specify or identify the computer of the object 930, and so on.
  [Outline of Right Management by Right Managing System 900] In the present embodiment, the distributed ledger managing system 110 stores the history of variations in a right concerning the object 930 as a blockchain. The history of variations in a right concerning the object 930 is stored as one or more pieces of transaction data in the blockchain. In the present embodiment, the blockchain includes for example (i) transaction data indicating that the current owner of the object 930 is User A, and (ii) transaction data indicating that a right that allows access to data indicating the history of variations in the right concerning the object 930 is established for the computer of the object 930. Examples of the right that allows access to data indicating the history of variations in the right concerning the object 930 may include authority to access the data (which is authority to access the data itself, or authority to access the right managing server 940, the detail information storing unit 942 or the distributed ledger managing system 110, for example), the property right of the object 930 and other rights.
  For the purpose of facilitating understanding, in the present embodiment, the right managing system 900 is explained using an example where (i) User A is the current owner of the object 930, (ii) the computer of the object 930 has a right to access data concerning the history of variations in the property right of the object 930, and (iii) User A utilizes the user terminal 920 to manipulate the object 930. The property right of the object 930 may be one example of a right concerning the object 930.
  In this case, according to one embodiment, a blockchain stored in the distributed ledger managing system 110 includes: a transaction for issuing two coins of a cryptocurrency corresponding to the property right of the object 930; a transaction for transferring the property right or right to use of one coin of the cryptocurrency to User A; and a transaction for transferring the property right or right to use of the other coin of the cryptocurrency to the computer of the object 930. Thereby, authority to write data concerning the history of variations in the property right of the object 930 in the detail information storing unit 942 or the distributed ledger managing system 110, to read the data from the detail information storing unit 942 or the distributed ledger managing system 110, and so on can be granted to both User A having the private key 122 and the computer of the object 930 having the private key 932.
  The cryptocurrency corresponding to the property right of the object 930 can be generated for example by, at the time of issuing the cryptocurrency and as the name of the cryptocurrency, setting a string including an identification symbol indicating the property right of the object 930. The number of coins of the above-mentioned cryptocurrency issued may be three or larger. Also, the share ratio of the property right allocated to each coin of the cryptocurrency may or may not be equal to each other.
  According to another embodiment, the blockchain includes: a transaction for issuing one coin of a first cryptocurrency corresponding to the property right of the object 930; a transaction for transferring the property right or right to use of the first cryptocurrency to User A; a transaction for issuing a second cryptocurrency corresponding to a right to access data indicating the history of variations in the property right of the object 930; and a transaction for transferring the property right or right to use of the second cryptocurrency to the computer of the object 930. Thereby, authority to write data concerning the history of variations in the property right of the object 930 in the detail information storing unit 942 or the distributed ledger managing system 110, to read the data from the detail information storing unit 942 or the distributed ledger managing system 110, and so on can be granted to User A having the private key 122. On the other hand, authority to read out data concerning the history of variations in the property right of the object 930 from the detail information storing unit 942 or the distributed ledger managing system 110 can be granted to the computer of the object 930 having the private key 932.
  The first cryptocurrency can be generated for example by, at the time of issuing the first cryptocurrency and as the name of the cryptocurrency, setting a string including an identification symbol indicating the property right of the object 930. The second cryptocurrency can be generated for example by setting, at the time of issuing the second cryptocurrency and as the name of the cryptocurrency, an identification symbol indicating the property right of the object 930 and a string including a symbol indicating an access authority. Examples of the access authority may include authority to write, authority to read, authority to execute and a combination thereof. The number of coins of the first cryptocurrency issued may be two or larger, and the number of the second cryptocurrency issued may be two or larger. Also, the share ratio of a right allocated to each cryptocurrency may or may not be equal to each other.
  In the present embodiment, User A who is the current owner of the object 930 manipulates the user terminal 920 to execute a process for manipulating the object 930. The user terminal 920 generates a command to the object 930 in response to an input from User A. Also, the user terminal 920 transmits, to the object 930, the command to the object 930 and user identification information of User A.
  Examples of the process for manipulating the object 930 may include (i) a process for restricting a function of the object 930, (ii) a process for cancelling a function restriction set for the object 930, (iii) a process for installing a program (which is an update program, for example) in the computer of the object 930, (iv) a process for causing the computer of the object 930 to execute a particular program or command, and other processes. Examples of a means for restricting a function of the object 930 may include enabling locking, a lock function or an access restricting function of a locking apparatus provided to the object 930, and other means. Examples of a means for cancelling a function restriction of the object 930 may include disabling unlocking, a lock function or an access restricting function of a locking apparatus provided to the object 930, and other means.
  In the present embodiment, upon reception of a command from the user terminal 920, the object 930 accesses the distributed ledger managing system 110 to judge whether or not User A is entitled or authorized to execute the command. The above-mentioned judgment process may be executed at the distributed ledger managing system 110. If having determined that User A is entitled or authorized to execute the command, the object 930 executes the command from the user terminal 920. On the other hand, if having determined that User A is not entitled or authorized to execute the command, the object 930 discards the command from the user terminal 920.
  A specific method of the above-mentioned judgment process is not particularly restricted, but it is executed for example by the following procedure. According to one embodiment, the computer of the object 930 accesses the right managing server 940 or the distributed ledger managing system 110 to request information concerning the current owner of the object 930. The right managing server 940 or the distributed ledger managing system 110 first judges whether or not the computer of the object 930 is authorized to access information concerning the current owner of the object 930. If having determined that the computer of the object 930 is authorized to access, the right managing server 940 or the distributed ledger managing system 110 transmits information concerning the current owner of the object 930 to the computer of the object 930. The computer of the object 930 compares user identification information received from the user terminal 920 with the information concerning the current owner of the object 930 acquired from the right managing server 940 or the distributed ledger managing system 110 to judge whether or not User A is authorized to execute the above-mentioned command. On the other hand, if having determined that the computer of the object 930 is not authorized to access, the right managing server 940 or the distributed ledger managing system 110 discards the above-mentioned request.
  According to another embodiment, the computer of the object 930 accesses the right managing server 940 or the distributed ledger managing system 110 to request to judge whether or not User A is entitled or authorized to execute a command. For example, the computer of the object 930 transmits, to the right managing server 940 or the distributed ledger managing system 110, user identification information received from the user terminal 920 together with the above-mentioned request. The right managing server 940 or the distributed ledger managing system 110 first judges whether or not the computer of the object 930 is authorized to access information concerning the current owner of the object 930. If having determined that the computer of the object 930 is authorized to access, the right managing server 940 or the distributed ledger managing system 110 compares user identification information received from the computer of the object 930 with the information concerning the current owner of the object 930 registered in the distributed ledger managing system 110 to judge whether or not User A is authorized to execute the above-mentioned command. On the other hand, if having determined that the computer of the object 930 is not authorized to access, the right managing server 940 or the distributed ledger managing system 110 discards the above-mentioned request.
  In the present embodiment, the detail information storing unit 942 stores detail information indicating details of a right variation. The detail information storing unit 942 may store the detail information and encoded data of the detail information in association with each other. The detail information storing unit 942 may store the data table 800.
  In the present embodiment, the information managing unit 944 manages various types of information to be utilized at the right managing system 900. In the present embodiment, the information managing unit 944 manages detail information stored in the detail information storing unit 942 by generating or updating detail information. The information managing unit 944 may be an interface for accessing at least one of the detail information storing unit 942 and the distributed ledger managing system 110.
  In one embodiment, the information managing unit 944 manages information concerning a variation in a right or details of the right. For example, if a process to generate a variation in a right or details of the right is executed as a result of User A manipulating the user terminal 920, the information managing unit 944 receives, from the user terminal 920, (i) detail information concerning the variation and (ii) transaction data including encoded data of the detail information concerning the variation.
  The information managing unit 944 stores the received detail information in the detail information storing unit 942. The information managing unit 944 may generate encoded data of the received detail information to store the detail information and the encoded data of the detail information in association with each other. On the other hand, the information managing unit 944 compares the encoded data obtained by encoding the received detail information with the encoded data of the detail information included in the received transaction. If both the pieces of data match, the information managing unit 944 registers the received transaction data in the distributed ledger managing system 110.
  According to the present embodiment, it is possible to warrant, at a practically sufficient accuracy, that detail information stored in the detail information storing unit 942 has not been falsified since the time point when it was stored in the detail information storing unit 942. Also, it can be warranted, at a practically sufficient accuracy, that the detail information was registered, at the latest, at the clock time when a block including the above-mentioned transaction data was generated.
  The computer of the object 930 judges existence or nonexistence of falsification of detail information stored in the detail information storing unit 942 for example by the following procedure. First, the computer of the object 930 accesses the right managing server 940 to request detail information to be a target of judgment about existence or nonexistence of falsification. For example, the computer of the object 930 transmits a right ID indicating the object 930 or a right ID indicating a particular right of the object 930 to the right managing server 940 to request detail information associated with the right ID. Upon reception of the request from the computer of the object 930, the right managing server 940 accesses the distributed ledger managing system 110 to acquire encoded data included in transaction data corresponding to the right ID acquired from the computer of the object 930. The right managing server 940 accesses the detail information storing unit 942 to acquire detail information corresponding to the encoded data acquired from the distributed ledger managing system 110. The right managing server 940 transmits, to the computer of the object 930, the detail information acquired from the detail information storing unit 942. Thereby, the computer of the object 930 acquires detail information to be a judgment target from the detail information storing unit 942.
  Next, the computer of the object 930 encodes the detail information acquired from the detail information storing unit 942. The computer of the object 930 accesses the distributed ledger managing system 110 to judge whether or not the encoded data of the detail information acquired from the detail information storing unit 942 is registered in the distributed ledger managing system 110 in association with the right ID acquired from the computer of the object 930. For example, the computer of the object 930 judges whether or not the encoded data of the detail information acquired from the detail information storing unit 942 matches latest encoded data registered in the distributed ledger managing system 110 in association with the right ID. If the encoded data of the detail information acquired from the detail information storing unit 942 is registered in the distributed ledger managing system 110, the computer of the object 930 judges that the detail information is not falsified. On the other hand, if the above-mentioned encoded data is not registered in the distributed ledger managing system 110, the computer of the object 930 judges that the detail information is falsified.
  Also, according to the present embodiment, detail information itself is not registered in the distributed ledger managing system 110, but encoded data of the detail information is registered in the distributed ledger managing system 110. Thereby, even if a third-party accesses information registered in the distributed ledger managing system 110, leakage of the detail information itself can be prevented.
  In another embodiment, as the detail information, the information managing unit 944 manages a code for remotely manipulating the object 930. Examples of the remote manipulation on the object 930 may include (i) a process for restricting a function of the object 930, (ii) a process for cancelling a function restriction set for the object 930, (iii) a process for installing a program (which is an update program, for example) in the computer of the object 930, (iv) a process for causing the computer of the object 930 to execute a particular program or command, and other remote manipulation.
  For example, if a contract is established concerning succession of a right R concerning the object 930 between User A who is a successee of the right R and a successor of the right R, User A manipulates the user terminal 920 to execute a process for registering contract details. In this case, the information managing unit 944 receives, from the user terminal 920, (i) a code for registering contract details, and (ii) transaction data including encoded data of the above-mentioned code. The code for registering the contract details may include a code for remotely manipulating the object 930.
  The information managing unit 944 stores the received code in the detail information storing unit 942. The information managing unit 944 may generate encoded data of the received code to store the code and the encoded data of the code in association with each other. Also, the information managing unit 944 registers the received transaction data in the distributed ledger managing system 110. The above-mentioned transaction data may include the above-mentioned encoded data of the code.
  Thereafter, the computer of the object 930 accesses the information managing unit 944 to inquire existence or nonexistence of data transmitted to the object 930. Examples of timing at which the computer of the object 930 accesses the information managing unit 944 may include: (i) when the computer of the object 930 received any command from the user terminal 920; (ii) the computer of the object 930 received, from the information managing unit 944, information indicating that detail information concerning a right related to the object 930 was generated or updated; (iii) when a predetermined clock time has come; (iv) when a predetermined length of time has elapsed since the last access; and other timing.
  In this case, data used in the above-mentioned inquiry may include data obtained by encoding or encrypting, by utilizing the private key 932, information for preventing reuse of data after being encoded. Examples of the information for preventing reuse of data after being encode may include a timestamp, an IP address and other information. Utilizing the private key 932 of the object makes it possible to warrant legitimacy of the object 930 accessing the information managing unit 944.
  Upon reception of the inquiry from the object 930, the information managing unit 944 judges whether to allow or prohibit access of the object 930 to data registered in the distributed ledger managing system 110. If the computer of the object 930 is authorized to access data registered in the distributed ledger managing system 110, the information managing unit 944 accesses the distributed ledger managing system 110 to acquire data registered in the distributed ledger managing system 110 and transmits it to the object 930. On the other hand, if the computer of the object 930 is not authorized to access data registered in the distributed ledger managing system 110, the information managing unit 944 transmits, to the object 930, information indicating that access to the distributed ledger managing system 110 is rejected.
  In still another embodiment, the information managing unit 944 may manage, as detail information, data to be transmitted from the user terminal 920 to the object 930 in place of a code for remotely manipulating the object 930. A specific method of managing the above-mentioned data may be a similar to a method of managing a code for remotely manipulating the object 930.
  In the present embodiment explained, the information managing unit 944 (i) manages detail information to be stored in the detail information storing unit 942, (ii) relays communication between the user terminal 920 or the object 930 and the distributed ledger managing system 110, and so on. However, the information managing unit 944 is not limited to the present embodiment. In another embodiment, the information managing unit 944 may manage various types of service provided by the right managing server 940.
  For example, the right managing server 940 provides a remote manipulation service, an information delivery service, a matching service, an auction service, a rental service or sharing service, an on-line game service, an escrow service, a settlement service or the like. The information managing unit 944 manages the above-mentioned service by managing a user interface in the above-mentioned service, information provided to a user, user information or the like.
  In the present embodiment explained, a private key of each user is stored in a user terminal of each user, and a user terminal of each user generates transaction data. However, the right managing system 900 is not limited to the present embodiment. In another embodiment, for example, the information managing unit 944 may manage a private key of each user. In this case, the information managing unit 944 may utilize a private key of each user to generate transaction data. For example, upon reception of detail information from the user terminal 920 of User A, the information managing unit 944 may utilize a private key of User A to generate transaction data including encoded data of the detail information. The information managing unit 944 may register the generated transaction data in the distributed ledger managing system 110.
  Fig. 10 schematically shows one example of the internal configuration of the user terminal 920.
In the present embodiment, the user terminal 920 includes the communication control unit 610, the I/O unit 620, the transaction data generating unit 630, the storing unit 640, the request generating unit 650 and a command generating unit 1070. The storing unit 640 has the key information storing unit 642 and the transaction data storing unit 644, for example. The communication control unit 610 may be one example of a command transmitting unit. The user terminal 920 may have a configuration similar to that of the user terminal 120 except that it includes the command generating unit 1070. In view of this, explanation of the configuration in other respects than the above-mentioned difference is omitted.
  The command generating unit 1070 generates a command to the object 930. Examples of the command to the object 930 may include a code for remotely manipulating the object 930, a code for registering contract details, and other commands. The command generating unit 1070 may transmit the generated command to the object 930 through the communication control unit 610. The command generating unit 1070 may transmit, to the object 930, the generated command and the user identification information of User A in association with each other. Examples of the above-mentioned command may include an command for implementing a restriction concerning a function of the object 930, a command for cancelling a restriction concerning a function of the object 930, a command for causing information concerning a state of the object 930 to be reported, and other commands.
  The command generating unit 1070 for example transmits the generated command to the transaction data generating unit 630. In one embodiment, the transaction data generating unit 630 generates transaction data including the command generated by the command generating unit 1070. In another embodiment, the transaction data generating unit 630 generates transaction data including encoded data of the command generated by the command generating unit 1070. The transaction data generated by the transaction data generating unit 630 may be transmitted directly to the object 930, or may be transmitted to the object 930 through the right managing server 940.
  Fig. 11 schematically shows one example of the internal configuration of the object 930. In the present embodiment, the object 930 includes an I/O unit 1110, a control unit 1120 and a storing unit 1130. The control unit 1120 has a communication control unit 1122, a request generating unit 1124, a function control unit 1126 and an executing unit 1128, for example. The storing unit 1130 has a right identification information storing unit 1132 and a cancellation condition storing unit 1134, for example. The communication control unit 1122 may be one example of a request transmitting unit, a response receiving unit or a command receiving unit. The function control unit 1126 may be one example of a restriction control unit. The executing unit 1128 may be one example of a command executing unit.
  In the present embodiment, the I/O unit 1110 accepts an input to the object 930. The I/O unit 1110 may accept an instruction from a user. The above-mentioned instruction may be an instruction concerning manipulation of the object 930. In the present embodiment, the I/O unit 1110 outputs information from the object 930. Examples of the I/O unit 1110 may include an input apparatus such as a keyboard, pointing device, touch panel, microphone, camera, sensor or GPS receiver, or an output apparatus such as a display apparatus, speaker, vibration apparatus, or beacon transmitting apparatus. The I/O unit 1110 may be a user interface.
  In the present embodiment, the control unit 1120 controls the object 930. In the present embodiment, the communication control unit 1122 controls communication with the user terminal 920. The communication control unit 1122 may control communication with the right managing server 940, and may control communication with the distributed ledger managing system 110 or the plurality of nodes 112. The communication control unit 1122 may function as a transmitting unit that transmits information to external equipment, and may function as a receiving unit that receives information from external equipment. The communication control unit 1122 may be a communication interface. The communication control unit 1122 may support multiple types of communication methods. The communication control unit 1122 may support two or more types of communication methods selected from mobile communication, a wireless MAN, a wireless LAN, Bluetooth (registered trademark), Zigbee (registered trademark) and NFC.
  In the present embodiment, the communication control unit 1122 acquires a command to the object 930 from the user terminal 920. The communication control unit 1122 may acquire, from the user terminal 920, a command to the object 930 and user identification information of User A. The communication control unit 1122 may acquire the above-mentioned command or information through the right managing server 940. The communication control unit 1122 may forward, to the request generating unit 1124, information received from the user terminal 920 or the right managing server 940.
  In the present embodiment, the communication control unit 1122 transmits various types of request to other information processing apparatuses to the other information processing apparatuses. Examples of the other information processing apparatuses may include the distributed ledger managing system 110, the right managing server 940 and other information processing apparatuses. The communication control unit 1122 may transmit, to the right managing server 940 or the distributed ledger managing system 110, a request generated by the request generating unit 1124. The communication control unit 1122 may transmit information necessary for execution of the above-mentioned request or command in association with the request or command. The communication control unit 1122 may receive, from the right managing server 940 or the distributed ledger managing system 110, a response to the above-mentioned request. The communication control unit 1122 may forward the above-mentioned response to the function control unit 1126.
  In the present embodiment, the request generating unit 1124 generates various types of request. The request generating unit 1124 may generate a request to the right managing server 940 or the distributed ledger managing system 110. For example, if the communication control unit 1122 receives a command to the object 930, the request generating unit 1124 accesses the right managing server 940 or the distributed ledger managing system 110 to generate a request to judge whether or not User A is entitled or authorized to execute the command. The request generating unit 1124 may transmit the generated request to the right managing server 940 or the distributed ledger managing system 110 through the communication control unit 1122.
  In a first embodiment, the request generating unit 1124 generates data for requesting to extract user identification information of the current right holder of a right related to the above-mentioned command. The request generating unit 1124 may transmit, to the right managing server 940 or the distributed ledger managing system 110, the generated data and a right ID of the right related to the above-mentioned command.
  In a second embodiment, the request generating unit 1124 generates data for requesting to judge whether or not User A possesses a right related to the above-mentioned command. The request generating unit 1124 may transmit, to the distributed ledger managing system 110, the generated request, user identification information of User A and a right ID of the right related to the above-mentioned command. The right related to the above-mentioned command may be one example of at least part of a right stored in the right identification information storing unit 1132.
  In a third embodiment, the request generating unit 1124 generates data for requesting to extract a right ID of one or more rights possessed by User A. The request generating unit 1124 may transmit, to the right managing server 940 or the distributed ledger managing system 110, the generated data and user identification information of User A.
  In the present embodiment, the function control unit 1126 controls a function of the object 930. The function control unit 1126 may control implementation or cancellation of a restriction concerning a function of the object 930. For example, the function control unit 1126 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on a response from the right managing server 940 or the distributed ledger managing system 110 to a request generated by the request generating unit 1124. If it is judged that User A is entitled or authorized to execute a command to the object 930, the function control unit 1126 decides to cancel a restriction concerning a function of the object 930, and causes the command executing unit 1128 to execute the above-mentioned command.
  On the other hand, if it is judged that User A is not entitled or authorized to execute a command to the object 930, the function control unit 1126 decides to implement a restriction concerning a function of the object 930 or not to cancel the restriction, and discards the above-mentioned command. The function control unit 1126 may not process the command instead of discarding the above-mentioned command. Also, at this time, the function control unit 1126 may transmit, to the user terminal 920 through the communication control unit 1122, information indicating that User A is not entitled or authorized to execute the above-mentioned command. The function control unit 1126 may output, to the I/O unit 1110, information indicating that User A is not entitled or authorized to execute the above-mentioned command.
  In a first embodiment, the function control unit 1126 may judge whether or not User A is entitled or authorized to execute the command by comparing a result of extraction by the distributed ledger managing system 110 and user identification information of User A. For example, if the result of extraction by the distributed ledger managing system 110 agrees with the user identification information of User A, the function control unit 1126 judges that User A is entitled or authorized to execute the command.
  In a second embodiment, the function control unit 1126 may judge whether or not User A is entitled or authorized to execute the command based on a result of judgment by the right managing server 940 or the distributed ledger managing system 110. For example, if the result of judgment by the right managing server 940 or the distributed ledger managing system 110 indicates that the user possesses a right related to the above-mentioned command, the function control unit 1126 judges that User A is entitled or authorized to execute the command.
  In a third embodiment, the function control unit 1126 may judge whether or not User A is entitled or authorized to execute the command by comparing a result of extraction by the right managing server 940 or the distributed ledger managing system 110 and a right ID of the right related to the above-mentioned command. For example, if a right ID included in a result of extraction by the right managing server 940 or the distributed ledger managing system 110 is included in a right ID stored in the right identification information storing unit 1132 (which is particularly a right ID of the right related to the above-mentioned command), the function control unit 1126 judges that User A is entitled or authorized to execute the command.
  In still another embodiment, the function control unit 1126 refers to the cancellation condition storing unit 1134 to judge existence or nonexistence of a condition (which is in some cases referred to as a cancellation condition) for exercising a right related to the above-mentioned command. If a cancellation condition is not set for a right related to the above-mentioned command, and User A is entitled or authorized to execute the command, the function control unit 1126 decide to cancel a restriction concerning a function of the object 930, and causes the command executing unit 1128 to execute the above-mentioned command.
  On the other hand, if a cancellation condition is set for a right related to the above-mentioned command, the function control unit 1126 accesses the right managing server 940 or the distributed ledger managing system 110 to acquire information for judging whether or not the cancellation condition of the right related to the above-mentioned command is fulfilled. For example, the function control unit 1126 acquires detail information of a right related to the above-mentioned command, a right ID and detail information of another right established for the object 930 or the like. The function control unit 1126 judges whether or not a cancellation condition is satisfied based on information acquired from the right managing server 940 or the distributed ledger managing system 110.
  If the cancellation condition is satisfied and User A is entitled or authorized to execute the command, the function control unit 1126 decides to cancel a restriction concerning a function of the object 930, and causes the command executing unit 1128 to execute the above-mentioned command. On the other hand, if the cancellation condition is not satisfied, the function control unit 1126 decides to implement a restriction concerning a function of the object 930 or not to cancel the restriction, and discards the above-mentioned command. In this case, the function control unit 1126 may transmit to the user terminal 920 or outputs to the I/O unit 1110 information indicating that the cancellation condition is not satisfied, and so on.
  The executing unit 1128 executes a command to the object 930 received by the communication control unit 1122. If the function control unit 1126 decides to cancel a restriction concerning a function of the object 930, the executing unit 1128 may execute the above-mentioned command.
  The storing unit 1130 stores various types of information. The right identification information storing unit 1132 stores a right ID of a right established for the object 930. The right identification information storing unit 1132 may store a right ID of a right established for the object 930 in association with a function or process of the object 930 or a command to the object 930. The cancellation condition storing unit 1134 stores a cancellation condition for cancelling a restriction concerning a function of the object 930. The storing unit 1130 may store other information.
  Fig. 12 schematically shows one example of information processing at the right managing system 900. Fig. 12 is used to explain one embodiment of a process of registering transaction data in the right managing system 900. In the present embodiment, the detail information storing unit 942 stores detail information of each right of one or more rights possessed by User A. According to the present embodiment, first, at Step 1202 (the phrase "step" is abbreviated to "S" in some cases), the I/O unit 620 of the user terminal 920 accepts an input from User A. The above-mentioned input may be an instruction concerning manipulation of the user terminal 920.
  If an i-th variation Vi is generated in a right R possessed by User A due to the above-mentioned instruction, at S1204, the transaction data generating unit 630 generates transaction data Ti for transfer concerning the variation Vi (i is a positive integer equal to or greater than 2). For example, at a step of generating the transaction data Ti, the transaction data generating unit 630 generates detail information indicating details of the right R or the right variation Vi. Also, it encodes the generated detail information to generate encoded data of the detail information (which is a hash value, for example). The transaction data generating unit 630 arranges the above-mentioned encoded data of the detail information at an appropriate position of the transaction data Ti. Thereby, the transaction data Ti including the encoded data of the detail information is generated.
  At a step of generating the transaction data Ti, the transaction data generating unit 630 may generate a signature value of the transaction data Ti by encrypting at least part of the transaction data Ti concerning the variation Vi in the right R using the private key 122 of User A, and arrange the signature value at an appropriate region of the transaction data Ti. Thereby, it can be warranted that the transaction data Ti is generated by User A who is the right holder of the right R.
  Thereafter, the transaction data generating unit 630 transmits the generated transaction data Ti to one of the plurality of nodes 112 participating in the distributed ledger managing system 110. In the present embodiment, the transaction data generating unit 630 transmits the transaction data Ti to a node 112 participating in the distributed ledger managing system 110 through the right managing server 940. More specifically, the transaction data generating unit 630 initially transmits the detail information and the transaction data Ti to the right managing server 940.
  At this time, the transaction data generating unit 630 may transmit the transaction data Ti including the signature value in association with the right ID of the right R. According to one embodiment, the transaction data generating unit 630 transmits the transaction data Ti including the above-mentioned signature value and the above-mentioned right ID. According to another embodiment, the transaction data generating unit 630 transmits data obtained by providing metadata including the above-mentioned right ID to the transaction data Ti including the above-mentioned signature value.
  If in the variation Vi, the right R is not transferred, but a change is generated in details of the right R, the transaction data generating unit 630 may generate the transaction data Ti including successor information designating a successee (who is User A) as a successor. Also, if a new right is established for the object 930, the transaction data generating unit 630 may generate transaction data Ti for issuance (i is 1).
  At S1212, the information managing unit 944 of the right managing server 940 receives detail information and the transaction data Ti from the user terminal 920. The information managing unit 944 confirms legitimacy of data received from the user terminal 920. For example, the information managing unit 944 encodes the detail information received from the user terminal 920 to generate encoded data of the detail information. The information managing unit 944 compares (i) the encoded data of the detail information received from the user terminal 920 with (ii) the encoded data included in the transaction data Ti received from the user terminal 920. If both the pieces of data match, the information managing unit 944 judges that the data received from the user terminal 920 is legitimate data.
  If legitimacy of the above-mentioned data is confirmed, at S1214, the information managing unit 944 updates detail information stored in the detail information storing unit 942. Also, at S1216, the information managing unit 944 forwards the transaction data Ti received from the user terminal 920 to the distributed ledger managing system 110. Thereby, the transaction data Ti is transmitted from the user terminal 920 to the distributed ledger managing system 110 through the right managing server 940. The detail information may be updated before the transaction data is forwarded or after the transaction data is forwarded.
  At S1222, one node of the plurality of nodes 112 participating in the distributed ledger managing system 110 receives the transaction data Ti from the right managing server 940. The node 112 having received the transaction data Ti from the right managing server 940 forwards the transaction data Ti to other nodes 112. Each node of the plurality of nodes 112 puts together the transaction data Ti and other transaction data received within a predetermined period to generate a new block.
  Next, each node of the plurality of nodes 112 executes a new block approval process. Upon approval of a new block by one node 112, the blockchain generating unit 220 of the node adds the block to an existing blockchain to generate a new blockchain. At S1224, the new blockchain is shared among the plurality of nodes 112. Thereby, a transaction data registration process completes.
  Fig. 13 schematically shows one example of information processing at the right managing system 900. Fig. 13 is used to explain a first embodiment of a remote manipulation process of the object 930 at the right managing system 900. According to the present embodiment, first, at S1302, the I/O unit 620 of the user terminal 920 accepts an input from User A. The above-mentioned input may be an instruction concerning manipulation of the object 930. The above-mentioned manipulation may be manipulation for cancelling locking of the object 930.
  At S1304, the command generating unit 1070 generates a command to the object 930 corresponding to the above-mentioned instruction, and transmits the command to the object 930. In one embodiment, the command generating unit 1070 transmits the command to the object 930 through the communication network 10. The command generating unit 1070 may transmit the command to the object 930 through the right managing server 940. According to another embodiment, the command generating unit 1070 transmits the command to the object 930 by P2P over short-range wireless communication.
  At S1312, the communication control unit 1122 of the object 930 receives a command from the user terminal 920 to forward the command to the request generating unit 1124. The request generating unit 1124 generates data for requesting to extract user identification information of the current right holder of a right related to the above-mentioned command. The request generating unit 1124 transmits, to the distributed ledger managing system 110, the generated data and a right ID of the right related to the above-mentioned command. If the right managing server 940 is interposed between the distributed ledger managing system 110, and the user terminal 920 and the object 930, the request generating unit 1124 may transmit, to the right managing server 940, the generated data and a right ID of the right related to the above-mentioned command.
  At S1314, the distributed ledger managing system 110 receives a request from the object 930. The distributed ledger managing system 110 accesses a blockchain expressing each right of rights indicated by one or more right IDs received from the object 930. Thereafter, the distributed ledger managing system 110 extracts user identification information of the current right holder for each right of the rights indicated by the one or more right IDs received from the object 930. As a response to a request from the object 930, the distributed ledger managing system 110 transmits, to the object 930, information extracted from a blockchain.
  If the right managing server 940 is interposed between the distributed ledger managing system 110, and the user terminal 920 and the object 930, for example, the right managing server 940 accesses the distributed ledger managing system 110 to extract, from a blockchain, information corresponding to a request from the object 930. Also, as a response to a request from the object 930, the right managing server 940 transmits, to the object 930, information extracted from a blockchain.
  At S1316, the communication control unit 1122 of the object 930 receives a response from the right managing server 940 or the distributed ledger managing system 110 to forward the response to the function control unit 1126. The function control unit 1126 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on an extraction result received from the right managing server 940 or the distributed ledger managing system 110 and user identification information of User A received from the user terminal 920.
  If it is judged that User A is entitled or authorized to execute a command to the object 930, the function control unit 1126 causes the command executing unit 1128 to execute a process corresponding to the above-mentioned command. Upon completion of a process by the command executing unit 1128, the remote manipulation process of the object 930 completes. On the other hand, if it is judged that User A is not entitled or authorized to execute a command to the object 930, the function control unit 1126 discards the above-mentioned command. As a result, the remote manipulation process of the object 930 ends without the above-mentioned command not being executed.
  Fig. 14 schematically shows one example of information processing at the right managing system 900. Fig. 14 is used to explain a second embodiment of a remote manipulation process of the object 930 at the right managing system 900. The embodiment described in Fig. 14 is different from the embodiment described in Fig. 13 in that S1412 and S1414 are executed in place of S1312 and S1314. In other respects than the above-mentioned difference, it may have a configuration similar to that of the embodiment described in Fig. 13.
  According to the present embodiment, at S1412, the communication control unit 1122 of the object 930 receives a command from the user terminal 920 to forward the command to the request generating unit 1124. The request generating unit 1124 generates data for requesting to judge whether or not User A possesses a right related to the above-mentioned command. The request generating unit 1124 transmits, to the distributed ledger managing system 110, the generated request, user identification information of User A and a right ID of the right related to the above-mentioned command.
  At S1414, the distributed ledger managing system 110 receives a request from the object 930. The distributed ledger managing system 110 accesses a blockchain expressing each right of rights indicated by one or more right IDs received from the object 930. Thereafter, the distributed ledger managing system 110 extracts user identification information of the current right holder for each right of the rights indicated by the one or more right IDs received from the object 930.
  The distributed ledger managing system 110 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on the above-mentioned extraction result and user identification information of User A received from the user terminal 920. As a response to a request from the object 930, the distributed ledger managing system 110 transmits a result of the above-mentioned judgment to the object 930. Also, at S1316, the function control unit 1126 judges whether or not User A is entitled or authorized to execute a command to the object 930 based on the judgment result received from the distributed ledger managing system 110.
  In the present embodiment explained, the object 930 transmits a request or the like to the distributed ledger managing system 110 not through the right managing server 940. However, the information processing at the right managing system 900 is not limited to the present embodiment. In another embodiment, the right managing server 940 may be interposed between the distributed ledger managing system 110, and the user terminal 920 and the object 930.
  Fig. 15 schematically shows one example of an escrow system 2100 utilizing the right managing system 900. In the present embodiment, the escrow system 2100 provides an escrow service to User A utilizing a client terminal 22 and User B utilizing a client terminal 24. Each of the client terminal 22 and the client terminal 24 may have a configuration similar to that of the user terminal 120 or the user terminal 920.
  In the present embodiment, the client terminal 22 stores the private key 122 of User A. The client terminal 24 stores a private key 2122 of User B. Also, the right managing server 940 as a service provider to manage the escrow service stores a private key 2124.
  [Conclusion of Contract]   In the present embodiment, first, User A possessing the property right of the object 930 and User B wishing to purchase the object 930 utilize a matching service or auction service provided by the right managing server 940 to conclude a contract to alienate the object 930. Thereby, the right managing server 940 acquires information concerning a variation in the right resulting from the above-mentioned alienation contract. The matching service or auction service is realized by information processing at the information managing unit 944, for example. The information managing unit 944 may have a brokering unit that brokers a successee of a right concerning the object 930 and a succession candidate wishing to succeed the right.
  The course of establishing an alienation contract is not limited to the present embodiment. In another embodiment, User A and User B may conclude an alienation contract without utilizing a service provided by the right managing server 940. In this case, User A or User B manipulates the client terminal 22 or the client terminal 24 to transmit information concerning contract details to the right managing server 940. Examples of the information concerning contract details may include a right ID of a right to be a target of transaction, a user ID of a transaction counterparty, a money amount and other information. The client terminal 22 or the client terminal 24 may transmit, to the right managing server 940, a transaction including data indicating contract details and encoded data of data indicating the contract details.
  [State Confirmation of Object 930] In some cases, User B wishes to confirm the state of the object 930 before starting a transaction. In this case, User A transmits, to User B, information indicating the state of the object 930 (which is in some cases referred to as status information). The status information can be any information as long as it is information with which it is possible to confirm that the object 930 satisfies a condition of an alienation contract, and details thereof are not particularly limited. According to one embodiment, the client terminal 22 transmits, to the client terminal 24, status information including an image of the appearance of the object 930. According to another embodiment, the client terminal 22 acquires the status information of the object 930 from the computer disposed in the object 930 by short-range wireless communication or wired communication. For example, if the object 930 is an automobile, the client terminal 22 accesses the computer of the object 930 to acquire information concerning driving distance of the object 930. The client terminal 22 transmits, to the client terminal 24, status information acquired from the object 930.
  The status information may be transmitted to the client terminal 24 utilizing an e-mail program, a messenger program or the like, and may be transmitted to the client terminal 24 through the right managing server 940. The status information may be transmitted to the client terminal 24 utilizing a service provided by the right managing server 940.
  If User A utilizes a service provided by the right managing server 940, User A transmits the status information to the client terminal 24 for example by the following procedure. User A first manipulates the client terminal 22 to transmit, to the object 930, a command for causing the state of the object 930 to be reported. Thereby, the client terminal 22 can acquire status information. Next, User A utilizes a file sharing service provided by the right managing server 940 to upload the status information from the client terminal 22 to the right managing server 940.
  Next, User A manipulates the client terminal 22 to generate a transaction for issuing an accessing right concerning reading of status information. The client terminal 22 transmits the above-mentioned transaction to the right managing server 940. Also, User A manipulates the client terminal 22 to generate a transaction indicating that an accessing right concerning reading of status information is to be transferred to User B. The client terminal 22 transmits the above-mentioned transaction to the right managing server 940. At this time, the client terminal 22 may transmit, to the right managing server 940, detail information concerning the above-mentioned accessing right. In cases of other rights described below also, similar to the above-mentioned accessing right, a transaction and detail information may be transmitted to the right managing server 940.
  The right managing server 940 forwards the above-mentioned two transactions to the distributed ledger managing system 110. Thereby, User B becomes able to access status information. At this time, the right managing server 940 may store, in the detail information storing unit 942, detail information concerning the above-mentioned accessing right. In cases of other rights described below also, similar to the above-mentioned accessing right, detail information may be stored in the detail information storing unit 942. Also, the information managing unit 944 transmits a URI of status information to the client terminal 24. Thereby, User B can access the status information to view the information. A hash value of the status information may be stored the above-mentioned two transactions. Thereby, the credibility of the status information can be ensured. These services may be realized by information processing at the information managing unit 944.
  [Start of Escrow Service] If User B wishes transfer of the property right of the object 930 after confirming the status information, User B manipulates the client terminal 24 to request the right managing server 940 to start providing an escrow service. The right managing server 940 receives the request from the client terminal 24 to start a process concerning the escrow service in response to the request. The process concerning the escrow service may be realized by information processing at the information managing unit 944. The information managing unit 944 may have an escrow service providing unit to execute a process concerning an escrow service.
  For example, upon acquisition, from the client terminal 24, of information indicating that it is requested to start an escrow service, the information managing unit 944 requests the client terminal 24 to execute a charge deposit process. Upon reception of the request from the information managing unit 944, the client terminal 24 for example causes a display apparatus of the client terminal 24 to display a screen prompting User B to make a deposit of the charge. If User B utilizes a charge deposit service provided by the right managing server 940, the client terminal 24 may display a user interface for charge deposit service on the display apparatus. The charge of the object 930 may be deposited utilizing a cryptocurrency such as Bitcoin. For example, User B sends the charge to an address corresponding to the private key 2124.
  The amount of deposit money may be the same as the charge of the object 930, may be less than the charge of the object 930, or may be more than the charge of the object 930. The amount of deposit money may be the total of the charge of the object 930 and at least one of the money amount corresponding to the risk of fluctuation of quotations of a cryptocurrency and the money amount equivalent to an escrow service utilization fee.
  [Delivery of Object 930] Upon acquisition of information indicating that User B has made a deposit of the charge of the object 930, the information managing unit 944 requests the client terminal 22 to deliver the object 930 to User B. For example, the information managing unit 944 causes a display apparatus of the client terminal 22 to display a screen prompting User A to deliver the object 930 to User B. The information managing unit 944 may acquire information indicating that User B has paid the charge of the object 930 from the client terminal 24 or from an information processing system providing a charge settlement service.
  As pre-delivery preparation, User A may execute processes such as (i) a process of restricting a function of the object 930 or (ii) a process of alienating the property right of the object 930 to the service provider. For example, User A delivers the object 930 with a restriction being imposed on part of or all the functions of the object 930. In one embodiment, the above-mentioned restriction is set such that only an individual possessing the property right or right to use of the object 930 can cancel the restriction. In this case, User A manipulates the client terminal 22 to generate a transaction for issuing a right for User B to use part of the object 930 or the entire object 930 only in a predetermined period. The client terminal 22 transmits the above-mentioned transaction to the right managing server 940.
  For example, upon access to the object 930 by User B using the client terminal 24, the object 930 acquires information for identifying User B from the client terminal 24. Also, the object 930 accesses the right managing server 940 to confirm whether or not User B possesses the right to use of the object 930. Thereby, even in a state where the property right of the object 930 is not transferred to User B, User B can confirm operation of the object 930.
  In another embodiment, information for identifying User B is recorded in the object 930 in advance, and if User B accesses the object 930 using the client terminal 24, a process to authenticate User B may be executed. User A may deliver the object 930 without imposing a restriction on a function necessary for operation confirmation by User B.
  After delivering the object 930, User A manipulates the client terminal 22 to transmit, to the right managing server 940, information indicating that the delivery procedure has completed. Also, User A manipulates the client terminal 22 to generate a transaction for alienating the property right of the object 930 to a service provider. If a charge is not paid even after a certain period has elapsed, the client terminal 22 may generate a transaction including a code to return the property right of the object 930 to User A. The client terminal 22 transmits the above-mentioned transaction to the right managing server 940.
  [Object 930 Operation Confirmation] Upon reception of the object 930, User B confirms the state and operation of the object 930. If User B manipulates the object 930, the computer of the object 930 may transmit, to the client terminal 24, a command for generating a transaction indicating a manipulation history of the object 930 and transmitting the transaction to the right managing server 940. Upon reception of the above-mentioned command from the computer of the object 930, the client terminal 24 generates a transaction indicating a manipulation history of the object 930 to transmit the transaction to the right managing server 940. If the computer of the object 930 has a private key (not shown in the figure; it is the private key 932, for example) for identifying the object 930, the computer of the object 930 may generate a transaction indicating a manipulation history of the object 930 to transmit the transaction to the right managing server 940. Thereby, it is possible to suppress User B falsely stating that it has not received the object 930.
  If the state of the object 930 agrees with details of an alienation contract, User B manipulates the client terminal 24 to transmit, to the right managing server 940, information (which is in some cases referred to as reception confirmation information) indicating that the object 930 has been received. If the state of the object 930 does not agree with details of an alienation contract, User B manipulates the client terminal 24 to transmit, to the right managing server 940, information (which is in some cases referred to as reception rejection information) indicating that reception of the object 930 is rejected.
  [Transfer and Settlement of Property Right] In response to having received reception confirmation information from the client terminal 24, the information managing unit 944 implements a property right transfer process and a charge payment process. The property right transfer process and the charge payment process may be implemented simultaneously. The information managing unit 944 for example generates (i) transaction data indicating that the property right of the object 930 is to be transferred from a service provider to User B and (ii) transaction data indicating an amount of cryptocurrency equivalent to the charge of the object 930 is to be transferred from an account for deposit of the service provider to an account of User A to register them in the distributed ledger managing system 110.
  The information managing unit 944 may generate transaction data indicating that an amount of cryptocurrency equivalent to an escrow service utilization fee is to be transferred from an account of at least one of User A and User B to the service provider account to register it in the distributed ledger managing system 110. If a balance of deposit money exists, the information managing unit 944 may generate transaction data indicating that an amount of cryptocurrency equivalent to the balance of deposit money is to be transferred from an account for deposit of the service provider to an account of User B to register it in the distributed ledger managing system 110.
  On the other hand, in response to having received reception rejection information from the client terminal 24, the information managing unit 944 implements a property right transfer process and a charge payment process for example in the following manner. The information managing unit 944 for example generates (i) transaction data indicating that the property right of the object 930 is to be transferred from a service provider to User A and (ii) transaction data indicating an amount of cryptocurrency equivalent to the charge of the object 930 is to be transferred from an account for deposit of the service provider to an account of User B to register them in the distributed ledger managing system 110. The information managing unit 944 may generate transaction data indicating that an amount of cryptocurrency equivalent to an escrow service utilization fee is to be transferred from an account of at least one of User A and User B to the service provider account to register it in the distributed ledger managing system 110.
  It takes a certain amount of time until a transaction is incorporated into a blockchain. In view of this, the information managing unit 944 may access the distributed ledger managing system 110 regularly or at given timing to confirm that each transaction of the above-mentioned transactions has been incorporated into a corresponding blockchain. After confirming that each transaction of the above-mentioned transactions has been incorporated into a corresponding blockchain, the information managing unit 944 may notify the client terminal 22 and the client terminal 24 of completion of a property right transfer process and a charge payment process.
  After completion of the property right transfer process, User B manipulates the client terminal 24 to transmit a command for cancelling a restriction to the object 930. The object 930 accesses the distributed ledger managing system 110 to confirm whether User B is entitled or authorized to execute the above-mentioned command. Thereafter, the object 930 executes a process for cancelling a function restriction. Thereby, User B can use the object 930.
  In the present embodiment explained, a cryptocurrency is utilized in settlement of a charge or deposit money. However, the settlement means is not limited to the present embodiment. In another embodiment, credit settlement, cash settlement, electronic value settlement and the like or utilized as the settlement means.
  In the present embodiment explained, various types of service provided by the right managing server 940 are combined to realize an escrow service. However, the escrow service provided by the right managing server 940 is not limited to the present embodiment.
In another embodiment, the right managing server 940 may realize an escrow service without utilizing a deposit service.
  Also, the right managing server 940 may realize an escrow service by changing, as appropriate, the order of notification of status information, payment of a deposit money or charge, delivery of a commodity, transfer of a property right and the like. In one embodiment, a status information notification process may be performed before concluding a contract. In another embodiment, in place of a process of viewing status information, or in addition to a process of viewing status information, an operation confirmation process may be implemented. The operation confirmation process may also serve as a reception confirmation process.
  If the operation confirmation process is implemented, for example, User A manipulates the client terminal 22 to issue a right to use of the object 930. An expiration date or term of validity is set to the right to use of the object 930. At this time, the client terminal 22 utilizes the private key 122 of User A to generate a transaction for issuing a right to use to which an expiration date or term of validity is set, and transmits it to the right managing server 940. Also, User A manipulates the client terminal 22 to generate a transaction for transferring the above-mentioned right to use to User B, and transmits it to the right managing server 940. Upon reception of a transaction from the client terminal 22, the right managing server 940 forwards the transaction to the distributed ledger managing system 110.
  On the other hand, after receiving the object 930, User B manipulates the client terminal 24 to transmit, to the object 930, a command for cancelling a function restriction set to the object 930. The computer of the object 930 accesses the right managing server 940 to confirm that User B possesses a right to use of the object 930, and executes a process for cancelling a function restriction.
  After confirming operation of the object 930, User B manipulates the client terminal 24 to transmit, to right managing server 940, information indicating that operation confirmation of the object 930 has ended (which is in some cases referred to as operation confirmation information). In response to having received the operation confirmation information from the client terminal 24, the right managing server 940 implements a property right transfer process and a charge payment process.
  On the other hand, if the object 930 is a defective product, User B manipulates the client terminal 24 to transmit, to the right managing server 940, information indicating that the object 930 does not satisfy a contract condition (which is in some cases referred to as complaint information). The client terminal 24 may acquire status information of the object 930 to transmit the status information to the right managing server 940. The right managing server 940 transmits the complaint information from the User B to the client terminal 22. The right managing server 940 may transmit the complaint information and the status information to the client terminal 22.
  If User A who has received the complaint information decides to cancel the contract, User A manipulates the client terminal 22 to transmit, to the right managing server 940, information indicating the cancellation of the contract. Upon reception of information indicating the cancellation of the contract, the right managing server 940 for example generates a transaction for returning deposit money to User B to transmit it to the distributed ledger managing system 110. After the object 930 is sent back to User A and reception confirmation information is received from the client terminal 22, the right managing server 940 may execute a process for returning a deposit money to User B.
  According to the present embodiment, if by any chance User B does not implement operation confirmation process within a period of the right to use, User B becomes unable to continue to use the object 930. Also, because the property right of the object 930 belongs to User A, User A can also remotely manipulate the object 930 to lock the object 930.
  In the present embodiment explained, the right managing server 940 utilizes the transaction data 500 as shown in Fig. 5 to realize an escrow service. However, the format of transaction data is not limited to the present embodiment. In another embodiment, the right managing server 940 may utilize transaction data in which a code is stored in a code storing region to realize an escrow service.
  For example, after delivering the object 930 to User B, User A manipulates the client terminal 22 to generate transaction data having stored in its code storing region (i) "a code for causing a computer of a node 112 to execute a step of generating (a) transaction data indicating that the property right of the object 930 is to be transferred from User A to a service provider to transmit the transaction data to the distributed ledger managing system 110 if the service provider has received information indicating that an amount of deposit money equivalent to the charge of the object 930 has been received from User B", and (ii) "a code for causing the computer of the node 112 to execute a step of generating (a) transaction data indicating that the property right of the object 930 is to be transferred from the service provider to User B and (b) transaction data indicating that an amount of cryptocurrency equivalent to the charge of the object 930 is to be transferred from an account for deposit of the service provider to an account of User A to transmit the transaction data to the distributed ledger managing system 110 if information indicating that User B has received the object 930 is received. The above-mentioned transaction data may include a code for generating transaction data for processing various types of fee.
  The client terminal 22 transmits the generated transaction data to the right managing server 940. The right managing server 940 transmits, to the distributed ledger managing system 110, the transaction data received from the client terminal 22. Thereby, an escrow service similar to the embodiment described above can be realized.
  While the embodiments of the present invention have been described, the technical scope of the invention is not limited to the above described embodiments. It is apparent to persons skilled in the art that various alterations and improvements can be added to the above-described embodiments. Also, matters explained with reference to a particular embodiment may be applied to other embodiments as long as such application does not cause a technical contradiction. It is also apparent from the scope of the claims that the embodiments added with such alterations or improvements can be included in the technical scope of the invention.
  For example, the present specification describes matters concerning the following data managing system.
  [Item A] A data managing system including:
  a transaction information transmitting unit, if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, the transaction information transmitting unit transmitting, to the distributed ledger managing system, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information, wherein
  the transaction information includes:
    successor information indicating one or more successors of the one right in the variation; and
    encoded data of preceding transaction information concerning a preceding variation in the one right,
  the distributed ledger managing system includes multiple nodes constituting a P2P network,
  each node of the plurality of nodes stores the distributed ledger,
  the distributed ledger includes multiple blocks, and
  each block of the plurality of blocks includes:
    one or more pieces of transaction information concerning one or more variations in the one right; and
    encoded data of a preceding block.
  [Item B] The data managing system according to Item A further including an escrow service providing unit.
  The operations, procedures, steps, and stages of each process performed by an apparatus, system, program, and method shown in the claims, embodiments, or diagrams can be performed in any order as long as the order is not indicated by "prior to," "before," or the like and as long as the output from a preceding process is not used in a later process. Even if the process flow is described using phrases such as "first" or "next" in the claims, embodiments, or diagrams, it does not necessarily mean that the process must be performed in this order.
Explanation of Reference Symbols
  10: communication network; 22: client terminal; 24: client terminal; 30: object; 100: right managing system; 110: distributed ledger managing system; 112: node; 114: peer-to-peer network; 120: user terminal; 122: private key; 210: communication control unit; 220: blockchain generating unit; 230: storing unit; 232: blockchain storing unit; 234: public key storing unit; 240: request processing unit; 300: blockchain; 310: block header; 320: transaction data; 410: block version; 412: hash value; 414: hash value; 416: block lock time; 418: target; 420: nonce; 500: transaction data; 502: version; 504: number of inputs; 506: input; 508: number of outputs; 510: output; 512: block lock time; 522: hash value; 524: output index; 526: size; 528: signature script; 530: signature value; 532: public key; 534: sequence terminal symbol; 542: share; 544: size; 546: public key verification script; 548: hash value; 550: information; 552: information; 610: communication control unit; 620: I/O unit; 630: transaction data generating unit; 640: storing unit; 642: key information storing unit; 644: transaction data storing unit; 650: request generating unit; 700: data table; 702: transaction ID; 704: user ID; 706: user ID; 708: right ID; 710: share information; 712: detail information; 800: data table; 802: encoded data; 804: detail information; 900: right managing system; 920: user terminal; 930: object; 932: private key; 940: right managing server; 942: detail information storing unit; 944: information managing unit; 1070: command generating unit; 1110: I/O unit; 1120: control unit; 1122: communication control unit; 1124: request generating unit; 1126: function control unit; 1128: execution unit; 1130: storing unit; 1132: right identification information storing unit; 1134: cancellation condition storing unit; 2100: escrow system; 2122: private key; 2124: private key; 2200: data table; 2202: transaction ID; 2204: manipulation account; 2206: code; 2208: call details; 2210: remark column; 2300: contract object

Claims (20)

  1.   A data managing system comprising:
      a transaction information transmitting unit, if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, the transaction information transmitting unit transmitting, to the distributed ledger managing system, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information, wherein
      the transaction information includes:
        successor information indicating one or more successors of the one right in the variation;
        encoded data of preceding transaction information concerning a preceding variation in the one right; and
        one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in detail information storing unit to store the detail information; and the encoded data of the detail information stored in the detail information storing unit,
      the distributed ledger managing system includes multiple nodes constituting a P2P network,
      each node of the plurality of nodes stores the distributed ledger,
      the distributed ledger includes multiple blocks, and
      each block of the plurality of blocks includes:
        one or more pieces of transaction information concerning one or more variations in the one right; and
        encoded data of a preceding block.
  2.   The data managing system according to claim 1, further comprising:
      an input unit that accepts an instruction about the one right from the user;
      a right variation judging unit that judges existence or nonexistence of a variation in the one right resulting from execution of the instruction; and
      a detail information updating unit that generates or updates detail information indicating details of a variation in the one right if the right variation judging unit judges that there is the variation generated due to the execution of the instruction, wherein
      if the right variation judging unit judges that there is a variation generated in the one right due to the execution of the instruction, the transaction information transmitting unit transmits, to the distributed ledger managing system, the transaction information including the encoded data of the detail information.
  3.   The data managing system according to claim 2, further comprising an access restriction unit that restricts access to the detail information.
  4.   The data managing system according to claim 2 or 3, wherein
      if the right variation judging unit judges that there is a variation generated in the one right due to the execution of the instruction, the transaction information transmitting unit transmits, to the distributed ledger managing system, the transaction information including the successor information designating the user as a successor when the one right is not transferred, but there is a change generated in details of the one right.
  5.   The data managing system according to any one of claims 1 to 4, wherein
      the transaction information is information about a transaction of a cryptocurrency utilizing a blockchain technology,
      the right identification information is currency identification information uniquely specifying the cryptocurrency, and
      an amount of the cryptocurrency retained by the user is decided according to a share of the one right of the user.
  6.   The data managing system according to claim 5, wherein the transaction information further includes information defining a total amount of the cryptocurrency issued.
  7.   The data managing system according to any one of claims 1 to 6, further comprising a command transmitting unit that transmits, to an object of the one right: user identification information to be used for identifying the user; and a command to the object.
  8.   The data managing system according to claim 7, wherein
      the object includes:
        a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object;
        a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information;
        a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit;
        a request transmitting unit that transmits, to the distributed ledger managing system: the right identification information about a right related to the command; or information indicating the right identification information, and requests to extract information indicating a current right holder of the right related to the command;
        a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit; and
        a command executing unit that executes the command received by the command receiving unit,
      if the user identification information is included in the response, the restriction control unit decides to cancel the restriction, and
      if the restriction control unit decides to cancel the restriction, the command executing unit executes the command.
  9.   The data managing system according to claim 7, wherein
      the object includes:
        a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object;
        a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information;
        a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit;
        a request transmitting unit that transmits, to the distributed ledger managing system: right identification information stored in the right identification information storing unit or at least part of information indicating the right identification information; and the user identification information, and requests to judge whether or not the user has a right related to the command;
        a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit; and
        a command executing unit that executes the command received by the command receiving unit,
      if the response indicates that the user has a right related to the command, the restriction control unit decides to cancel the restriction, and
      if the restriction control unit decides to cancel the restriction, the command executing unit executes the command.
  10.   The data managing system according to claim 7, wherein
      the object includes:
        a restriction control unit that controls implementation or cancellation of a restriction concerning a function of the object;
        a right identification information storing unit that stores: right identification information of one or more rights concerning the object; or information indicating the right identification information;
        a command receiving unit that receives the user identification information and the command transmitted by the command transmitting unit;
        a request transmitting unit that transmits the user identification information to the distributed ledger managing system, and requests to extract: right identification information of one or more rights possessed by the user; or information indicating the right identification information;
        a response receiving unit that receives, from the distributed ledger managing system, a response to the request transmitted by the request transmitting unit; and
        a command executing unit that executes the command received by the command receiving unit,
      if the right identification information included in the response or the information indicating the right identification information is included in: the right identification information stored in the right identification information storing unit; or the information indicating the right identification information, the restriction control unit decides to cancel the restriction, and
      if the restriction control unit decides to cancel the restriction, the command executing unit executes the command.
  11.   The data managing system according to any one of claims 1 to 6, further comprising a request transmitting unit that:
      transmits, to the distributed ledger managing system, user identification information to be used for identifying the user; and
      requests the distributed ledger managing system to extract: right identification information of one or more rights possessed by the user; or information indicating the right identification information, or to judge whether or not the user has the one right.
  12.   The data managing system according to any one of claims 1 to 11, wherein the one right is (i) a real right, quasi-real right, credit or contractual status, or (ii) a digital data accessing right or permission.
  13.   The data managing system according to any one of claims 1 to 12, wherein the one right is a right concerning at least one of: usage or utilization, profit, and disposition of a tangible item or intangible item.
  14.   The data managing system according to any one of claims 1 to 13, wherein the one right is an intellectual property right, a license or right to utilize concerning an intellectual property, or a publishing right.
  15.   An information processing apparatus configured at least to transmit and receive information, through a communication line, to and from a distributed ledger managing system that manages one or more distributed ledgers concerning variations in one or more rights,
      the information processing apparatus comprising:
      a request transmitting unit that requests the distributed ledger managing system (i) to extract information indicating a right possessed by a particular user, (ii) to extract information indicating an individual possessing a particular right, or (iii) to judge whether or not the particular user possesses the particular right, wherein
      the distributed ledger managing system includes multiple nodes constituting a P2P network,
      each node of the plurality of nodes stores the distributed ledger,
      the distributed ledger includes multiple blocks that are continuous in time series,
      each block of the plurality of blocks includes:
        one or more pieces of transaction information concerning one or more variations in the one or more rights; and
        encoded data of a preceding block,
      at least one of the one or more pieces of transaction information includes:
        successor information indicating one or more successors of a right expressed by the transaction information in a variation expressed by the transaction information:
        encoded data of preceding transaction information concerning a preceding variation in the right expressed by the transaction information;
        right identification information that uniquely specifies the right expressed by the transaction information; or information indicating the right identification information; and
        encrypted data obtained by encrypting at least part of the transaction information using a private key of the user.
  16.   A program for causing a computer to function as the data managing system according to any one of claims 1 to 14.
  17.   A program for causing a computer to function as the information processing apparatus according to claim 15.
  18.   A data managing method comprising:
      if transaction information concerning a variation in one right possessed by a user is transmitted to a distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, transmitting, to the distributed ledger managing system that manages a distributed ledger concerning the variation in the one right, encrypted data obtained by encrypting at least part of the transaction information using a private key of the user, in association with right identification information uniquely specifying the one right or with information indicating the right identification information, wherein
      the transaction information includes:
        successor information indicating one or more successors of the one right in the variation;
        encoded data of preceding transaction information concerning a preceding variation in the one right; and
        one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in a detail information storing unit to store the detail information; and the encoded data of the detail information stored in the detail information storing unit,
      the distributed ledger managing system includes multiple nodes constituting a P2P network,
      each node of the plurality of nodes stores the distributed ledger,
      the distributed ledger includes multiple blocks that are continuous in time series, and
      each block of the plurality of blocks includes:
        one or more pieces of transaction information concerning one or more variations in the one right; and
        encoded data of a preceding block.
  19.   A data structure comprising multiple blocks, wherein
      each block of the plurality of blocks has:
        data indicating one or more pieces of transaction information concerning one or more variations in one right possessed by a user; and
        encoded data of a preceding block,
      at least one piece of data indicating the one or more pieces of transaction information includes:
        successor data indicating one or more successors of the one right concerning a variation in the one right expressed by the transaction information;
        encoded data of preceding transaction information concerning a preceding variation in the one right;
        one of: right identification information that uniquely specifies the one right; and data indicating the right identification information;
        one of: encoded data of detail information that indicates details of the variation in the one right and is to be stored in a detail information storing unit to store the detail information; and encoded data of the detail information stored in the detail information storing unit; and
        encrypted data obtained by encrypting at least part of the transaction information using a private key of the user.
  20.   A data structure of first transaction information constituting multiple blocks that are continuous in time series, the data structure comprising:
      data indicating one or more successors of a right expressed by the first transaction information in a variation in the right;
      encoded data of second transaction information concerning a preceding variation in the right;
      one of: right identification information that uniquely specifies the right; and data indicating the right identification information;
      one of: encoded data of detail information that indicates details of the variation in the right and is to be stored in a detail information storing unit to store the detail information; and encoded data of the detail information stored in the detail information storing unit; and
      encrypted data obtained by encrypting at least part of the first transaction information using a private key of an individual possessing the right.
PCT/JP2017/034579 2016-09-26 2017-09-25 Data managing system, information processing apparatus, program, data managing method and data structure WO2018056445A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016187625A JP6971019B2 (en) 2016-09-26 2016-09-26 Data management system, information processing device, program, and data management method
JP2016-187625 2016-09-26

Publications (1)

Publication Number Publication Date
WO2018056445A1 true WO2018056445A1 (en) 2018-03-29

Family

ID=61689874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/034579 WO2018056445A1 (en) 2016-09-26 2017-09-25 Data managing system, information processing apparatus, program, data managing method and data structure

Country Status (2)

Country Link
JP (1) JP6971019B2 (en)
WO (1) WO2018056445A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840766A (en) * 2017-11-27 2019-06-04 华为终端有限公司 A kind of apparatus control method and its relevant device
RU2694138C1 (en) * 2018-07-03 2019-07-09 Некоммерческая организация "Фонд - оператор программы финансового содействия инновационным проектам Фонда "Сколково" Method for accelerated data transmission with preservation and protection
EP3591892A1 (en) * 2018-07-04 2020-01-08 Panasonic Intellectual Property Corporation of America Management system, server, management method, and program for management of access rights to a delivery locker using blockchain
JP2020024668A (en) * 2018-08-02 2020-02-13 Zerobillbank Japan株式会社 Asset management system and asset management method
EP3648049A1 (en) * 2018-11-02 2020-05-06 Fujitsu Limited Communication method, communication program, and communication apparatus
WO2019228550A3 (en) * 2019-08-20 2020-05-22 Alibaba Group Holding Limited Blockchain data storage based on shared nodes and error correction code
CN112541189A (en) * 2019-09-20 2021-03-23 富士通株式会社 Communication apparatus, communication method, communication system, and recording medium
US20210133343A1 (en) * 2018-10-22 2021-05-06 Panasonic Intellectual Property Corporation Of America Control method, contents management system, recording medium, and data structure
US20210399877A1 (en) * 2018-11-13 2021-12-23 Nippon Telegraph And Telephone Corporation Proprietor terminal, user terminal, new proprietor terminal, proprietor program, user program, new priorietor program, content use system, and data structure of route object data
US20220058208A1 (en) * 2020-08-21 2022-02-24 Fujitsu Limited Communication apparatus and communication method
CN114637755A (en) * 2020-11-03 2022-06-17 支付宝(杭州)信息技术有限公司 Block chain-based item code generation method, and item weight transfer method and device
US11775967B2 (en) 2019-12-26 2023-10-03 Sivira Inc. Transaction delegation method, transaction delegation system, and computer readable medium
US11782904B2 (en) 2018-09-19 2023-10-10 Salesforce, Inc. Advanced smart contract with decentralized ledger in a multi-tenant environment
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
US11880478B2 (en) 2018-07-30 2024-01-23 Hitachi, Ltd. Distribution management apparatus, distribution management system, and distribution management method

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115418B2 (en) 2016-12-23 2021-09-07 Cloudminds (Shanghai) Robotics Co., Ltd. Registration and authorization method device and system
US10878429B2 (en) 2018-03-28 2020-12-29 Konstantinos Bakalis Systems and methods for using codes and images within a blockchain
JP7317488B2 (en) * 2018-04-17 2023-07-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Control method, information processing device, management system, and program
WO2019207655A1 (en) * 2018-04-24 2019-10-31 アソビモ株式会社 Digital content secondary distribution system in which block chain technology is utilized
CA3103468A1 (en) * 2018-06-13 2019-12-19 Konstantinos Bakalis Systems and methods for secure access to property or information using blockchain
JPWO2020008524A1 (en) * 2018-07-03 2020-07-27 剛 那須 system
JP7232085B2 (en) * 2018-07-04 2023-03-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Management system, server, management method, and program
JP7031519B2 (en) * 2018-07-17 2022-03-08 日本電信電話株式会社 Resource management system, resource management method, resource transaction management device, resource management device and program
KR102193058B1 (en) * 2018-07-24 2020-12-18 이청종 System and operating method for copyright billing and copyright profit distribution based on domain-digital asset interwork
KR102000288B1 (en) * 2018-07-24 2019-07-16 주식회사 네이처모빌리티 Method for providing block chain based car-sharing service using dutch auction and bidding method
JP2020021186A (en) * 2018-07-31 2020-02-06 富士通株式会社 Transaction control device, transaction control program, and transaction control method
WO2020027269A1 (en) * 2018-08-01 2020-02-06 株式会社Standage Money transfer method, system, and program
CN109377215B (en) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 Block chain transaction method and device and electronic equipment
JP7159689B2 (en) * 2018-08-20 2022-10-25 富士通株式会社 Payment device, payment method and program
KR102113873B1 (en) * 2018-09-05 2020-05-21 엔에이치엔 주식회사 Method for storaging autonomous-driving record data based block chain
US11442926B2 (en) 2018-09-05 2022-09-13 Nhn Corporation Method and system for storing driving record data based on block chain
KR102144404B1 (en) * 2018-09-05 2020-08-12 엔에이치엔 주식회사 Method for storaging driving record data based block chain
US11080247B2 (en) * 2018-09-19 2021-08-03 Salesforce.Com, Inc. Field-based peer permissions in a blockchain network
US20200097671A1 (en) * 2018-09-25 2020-03-26 XRSpace CO., LTD. Method of Managing Ownership of Virtual Object and Related Interactive Platform
KR101966338B1 (en) * 2018-10-11 2019-04-05 신현구 Method for providing bidding service using various variety of periodic sales projection on virtual currency exchanges
WO2019072275A2 (en) 2018-11-27 2019-04-18 Alibaba Group Holding Limited System and method for information protection
ES2833552T3 (en) 2018-11-27 2021-06-15 Advanced New Technologies Co Ltd System and method for the protection of information
BR112019007727A2 (en) 2018-11-27 2019-11-12 Alibaba Group Holding Ltd information protection system and method
ES2859569T3 (en) 2018-11-27 2021-10-04 Advanced New Technologies Co Ltd System and method for the protection of information
EP3549082B1 (en) 2018-11-27 2020-08-26 Alibaba Group Holding Limited System and method for information protection
US11295318B2 (en) 2018-12-07 2022-04-05 Nike, Inc. Systems and methods for provisioning cryptographic digital assets for blockchain-secured retail products
US11308184B2 (en) 2018-12-07 2022-04-19 Nike, Inc. Video game integration of cryptographically secured digital assets
US10505726B1 (en) * 2018-12-07 2019-12-10 Nike, Inc. System and method for providing cryptographically secured digital assets
US11113754B2 (en) 2018-12-07 2021-09-07 Nike, Inc. Event-based distribution of cryptographically secured digital assets
US11087591B2 (en) 2018-12-20 2021-08-10 Sony Interactive Entertainment LLC Anti-fraud cloud gaming blockchain
JP7213705B2 (en) * 2019-01-31 2023-01-27 株式会社メルカリ Program, information processing device, and information processing method
KR102252954B1 (en) * 2019-03-05 2021-05-17 주식회사 헤세그 System for trading intellectual property using block chain, and method for operating the same
KR102257597B1 (en) * 2019-05-21 2021-05-28 주식회사 아크페트로 Method of Rental Service for Safety Apparatus
JP2021022279A (en) * 2019-07-30 2021-02-18 株式会社エヌ・ティ・ティ・データ Information processing apparatus, information processing method, and program
KR102250788B1 (en) * 2019-08-13 2021-05-12 김범석 Server, system and method for providing decentralized blockchain based contract assignment service with smart contract
JP2020053056A (en) * 2019-10-15 2020-04-02 株式会社メルカリ Information processing method, information processing device, and program
EP3828797A1 (en) * 2019-11-27 2021-06-02 Bayerische Motoren Werke Aktiengesellschaft Computer implemented method for providing a vehicle service and triggering a process to pay for the vehicle service, software program, and system
WO2021125107A1 (en) * 2019-12-19 2021-06-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Control method, device, and program
WO2021125399A1 (en) * 2019-12-20 2021-06-24 라인플러스 주식회사 Escrow transaction method and system using smart contract in blockchain
JP2021131779A (en) * 2020-02-20 2021-09-09 株式会社Tart Information processor, management device, data management system, data management method, and data management program
JP7020739B1 (en) 2021-10-29 2022-02-16 充宏 前田 Trading system, trading method and program
JP7266227B1 (en) 2022-07-08 2023-04-28 株式会社博報堂プロダクツ Token management system, computer program, and token management method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160012424A1 (en) * 2014-07-11 2016-01-14 Ribbit.me! USA Inc. Distributed ledger protocol to incentivize transactional and non-transactional commerce
JP2016162431A (en) * 2015-03-05 2016-09-05 ブラザー工業株式会社 Information processor, content distribution system, information processing method, and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160012424A1 (en) * 2014-07-11 2016-01-14 Ribbit.me! USA Inc. Distributed ledger protocol to incentivize transactional and non-transactional commerce
JP2016162431A (en) * 2015-03-05 2016-09-05 ブラザー工業株式会社 Information processor, content distribution system, information processing method, and program

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840766A (en) * 2017-11-27 2019-06-04 华为终端有限公司 A kind of apparatus control method and its relevant device
US20200349566A1 (en) * 2017-11-27 2020-11-05 Huawei Technologies Co., Ltd. Device control method and related device
CN109840766B (en) * 2017-11-27 2024-03-29 华为终端有限公司 Equipment control method and related equipment thereof
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
RU2694138C1 (en) * 2018-07-03 2019-07-09 Некоммерческая организация "Фонд - оператор программы финансового содействия инновационным проектам Фонда "Сколково" Method for accelerated data transmission with preservation and protection
CN110689679A (en) * 2018-07-04 2020-01-14 松下电器(美国)知识产权公司 Management system, server, management method, and recording medium
EP3591892A1 (en) * 2018-07-04 2020-01-08 Panasonic Intellectual Property Corporation of America Management system, server, management method, and program for management of access rights to a delivery locker using blockchain
US11880478B2 (en) 2018-07-30 2024-01-23 Hitachi, Ltd. Distribution management apparatus, distribution management system, and distribution management method
JP2020024668A (en) * 2018-08-02 2020-02-13 Zerobillbank Japan株式会社 Asset management system and asset management method
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
US11782904B2 (en) 2018-09-19 2023-10-10 Salesforce, Inc. Advanced smart contract with decentralized ledger in a multi-tenant environment
US20210133343A1 (en) * 2018-10-22 2021-05-06 Panasonic Intellectual Property Corporation Of America Control method, contents management system, recording medium, and data structure
EP3648049A1 (en) * 2018-11-02 2020-05-06 Fujitsu Limited Communication method, communication program, and communication apparatus
US12063292B2 (en) 2018-11-13 2024-08-13 Nippon Telegraph And Telephone Corporation Proprietor terminal, user terminal, and new proprietor terminal
EP3882794A4 (en) * 2018-11-13 2022-08-03 Nippon Telegraph And Telephone Corporation Proprietor terminal, user terminal, new proprietor terminal, proprietor program, user program, new proprietor program, content use system, and data structure of route object data
US20210399877A1 (en) * 2018-11-13 2021-12-23 Nippon Telegraph And Telephone Corporation Proprietor terminal, user terminal, new proprietor terminal, proprietor program, user program, new priorietor program, content use system, and data structure of route object data
US11016962B2 (en) 2019-08-20 2021-05-25 Advanced New Technologies Co., Ltd. Blockchain data storage based on shared nodes and error correction code
US11269864B2 (en) 2019-08-20 2022-03-08 Advanced New Technologies Co., Ltd. Blockchain data storage based on shared nodes and error correction code
US10769135B1 (en) 2019-08-20 2020-09-08 Alibaba Group Holding Limited Blockchain data storage based on shared nodes and error correction code
WO2019228550A3 (en) * 2019-08-20 2020-05-22 Alibaba Group Holding Limited Blockchain data storage based on shared nodes and error correction code
EP3796198A1 (en) * 2019-09-20 2021-03-24 Fujitsu Limited Communication device, communication method, communication system, and program
CN112541189A (en) * 2019-09-20 2021-03-23 富士通株式会社 Communication apparatus, communication method, communication system, and recording medium
US11775967B2 (en) 2019-12-26 2023-10-03 Sivira Inc. Transaction delegation method, transaction delegation system, and computer readable medium
US20220058208A1 (en) * 2020-08-21 2022-02-24 Fujitsu Limited Communication apparatus and communication method
CN114637755A (en) * 2020-11-03 2022-06-17 支付宝(杭州)信息技术有限公司 Block chain-based item code generation method, and item weight transfer method and device

Also Published As

Publication number Publication date
JP6971019B2 (en) 2021-11-24
JP2018055203A (en) 2018-04-05

Similar Documents

Publication Publication Date Title
WO2018056445A1 (en) Data managing system, information processing apparatus, program, data managing method and data structure
TWI814706B (en) Blockchain-implemented method and system
US20230091605A1 (en) Accessing an internet of things device using blockchain metadata
US10423921B2 (en) Delivery reservation apparatus and method
TWI791456B (en) Blockchain-implemented method
US20190101896A1 (en) Controlled 3-d printing
CN109791660A (en) Data protection system and method
US11841960B1 (en) Systems and processes for providing secure client controlled and managed exchange of data between parties
KR20190132159A (en) Method for Providing Cryptocurrency Trading Platform based on Blockchain by using Smart Contract
KR20190132054A (en) Method for Providing Cryptocurrency Trading Platform by using Smart Contract based on Blockchain
EP4046326A1 (en) Multi factor authentication using blockchain transactions
KR20190132160A (en) Method for Providing Cryptocurrency Trading Platform by using Smart Contract
CN115955324A (en) System and method for building block chain rights and interests

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17853212

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17853212

Country of ref document: EP

Kind code of ref document: A1