Transferable virtual property

From Bitcoin Wiki
Revision as of 14:50, 13 January 2013 by Thandal (talk | contribs) (Created page with "Usually, digital objects (like an mp3 file or a helmet in a video game) is either infinitely duplicateable (the mp3) or controlled by a central authority (the video game serve...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Usually, digital objects (like an mp3 file or a helmet in a video game) is either infinitely duplicateable (the mp3) or controlled by a central authority (the video game servers). Transferable virtual property are digital objects that are not controlled by a central authority, can be exchanged between peers, and yet can only have a single owner.

A motivating example is the case of inventory ownership in online games (virtual worlds). Current games store your inventory on the company servers, which means all exchanges have to go through them, and you can't use the item in other games. Really, we would like a system where items are:

  • granted from a reputable server to a user
  • transferred freely between users
  • declared by users who want to use them on another server
  • verified by servers 1) to be owned by the declaring user, and 2) to have been granted from a trusted reputable server (and maybe 3, have acceptable characteristics)

Theory

A Passe-Partout item looks like:

  • name: convenient_name
  • content: arbitrary_digital_content
  • creator_key_name: a_server_that_has_a_good_reputation
  • origin_tx_id: the_original_bitcoin_transaction_id
  • signature: original_servers_cryptographic_signature_of_the_above
  • last_tx_id: the_most_recent_transaction_that_transferred_the_item_to_someone

In order to "declare" an item, the user provides the server with a copy of the item and proof that they own the output from the last_tx_id. The server can verify the signature to prove that the item is unmodified, and also trace the history of transactions to see that the user is the unique owner of the chain of transactions that lead from orign_tx_id to last_tx_id.

Implementation

Passe-partout is an experimental implementation that includes a demo.