URI Format

From OIP Wiki
Jump to: navigation, search

URL scheme

The "oip" scheme is used to locate network resources via the Open Index Protocol. This section defines the scheme-specific syntax and semantics for oip URLs.

oip_URL = "oip:" "//" host [ ":" application ] [ artifact ":" [ publisher ] [ "?" query ] ]

Host, publisher and artifact can be supplied either by their index IDs, or by their registered names. If the application is empty or not given, the hosts default application is assumed. The semantics are that the identified resource is located by the artifact name or ID, differentiated from other resources with the same name from other creators with the publisher name or ID, and displayed through the interface created by that host. If a publisher is not supplied, a list of artifacts with the provided name will be returned.

Examples:

oip://alexandria.io/ShelterFromTheStorm:BobDylan?buy

oip://YouTube.com/TinyHumanVideo:ImogenHeap?fullscreen=true&autoplay=true

oip://Apple.com:Music/1989:TaylorSwift?play


Note, the following examples would all resolve to the same artifact:

oip://alexandria.io:browser/AlexandriaDWeb:Alexandria

oip://alexandria.io/AlexandriaDWeb:Alexandria

oip://alexandria.io/AlexandriaDWeb:FR6Wbt

oip://alexandria.io/e5da37:FR6Wbt

oip://alexandria.io/e5da37

oip://alexandria.io/e5da376896157d7e652744c58fa108ccd8d1106f5d34b30a4cf95bac429c3e78:FR6WbtK19kmMcXjr4TciaTBt2Te5XE2DR7

https://YouTube.com/AlexandriaDWeb:Alexandria*

Namespace

  • "hosts" exist within a single global namespace in the Open Index
  • "application" exists within a limited namespace controlled by each "host"; in other words, there can be any number of applications called music, but only one Apple.com:music
  • "publisher names" exist within a single global namespace in the Open Index
  • "publisher names" are not required in order to publish artifacts. If a publisher wishes to not register a “human readable” name, they will be automatically given the publishername corresponding to the first 6 characters of their "publisher address"
  • "artifact names" exist within a limited namespace controlled by each "publisher"; in other words, there can be any number of songs named "IWantYou", but only one "IWantYou:BobDylan"

Name Registration

  • Before a protocol compliant application will send a publisher name registration message, it confirms that the name is available according to a series of checks:
    • Is the name currently unregistered or has its most recent registration expired?
    • Is the name associated with a currently existing rights holder found in IMDB or MusicBrainz?
  • If the requested publishername is unregistered and is not associated with any currently existing rights holder of feature films, tv shows or music, the application allows the name registration message to be sent to the blockchain
  • The cost to register a name will be $8 per year, and all registration periods will be for 2 years. Applications can be designed with features that allow automatic re-registration when they expire, but a name cannot be registered for longer than 2 years at one time.
  • Until 1.0, this price will be reduced by 90% to $0.80 per year, or $1.60 per 2-year registration period.
  • If a publishername owner wishes to sell to another party, they can do so by sending a message that signs the rights for the name over to a different publisheraddress. The transfer cost will be $8 per year, or $16 per 2-year registration period, but if the two parties involved agree on a purchase price to transfer the name, that is entirely between them.
  • Registration costs are paid directly to blockchain miners by being attached to the registration message itself as its transaction fee (TX-fee)

Currently Existing Rights Holders

  • If a name is found to be a rights holder in IMDB or MusicBrainz, the name is considered an existing rights holder
  • In IMDB, existing rights holder are limited to the roles of:
    • Production Companies, Distributors, Director
  • In MusicBrainz, existing rights holder are limited to the roles of:
    • Producer, Labels, Artists
  • In this case, the user must use verified-publisher, which will have them go to social media to connect themselves to the publisheraddress before a publishername registration message for this name would be valid - you can read more about this in the section “Social DRP” (Digital Rights Protection)
  • Once they have shared an authorization message on a publicly accessible social media account which is reasonably similar to the name being requested, they will be allowed to register the publishername