diff --git a/content/faq/naming.md b/content/faq/naming.md index 1adfadab..827a73c0 100644 --- a/content/faq/naming.md +++ b/content/faq/naming.md @@ -4,54 +4,62 @@ category: LBRY 101 order: 5 --- -#### The problem we're solving: +### The Problem -Assigning names is a difficult problem in centralized systems and it becomes nearly impossible in decentralized ones. We are taking a unique approach to a pre-existing naming system that has existed in centralized architecture in a decentralized way. +Before talking about how names (URLs) in LBRY work, it's important to understand the problem. What is a naming system and why do we have one? -Let’s look at the internet’s standard domain name system (DNS). DNS is a centralized service run by an organization called ICANN. ICANN grants registrars the ability to lease domain names for 1-year terms. Registrars pay enormous fees to participate in this system, and individuals and companies can end up paying substantial fees to maintain a particular domain. +Names exist so that we can map a human readable and understandable word or term to a more difficult to remember number or ID. In the traditional domain system, names map to numerical IP addresses. In LBRY, names map to a unique, permanent ID representing a piece of digital content and/or a publisher identity. -The end product of domain names can be very confusing. Domain names can be very awkward and are highly vulnerable to squatters. Domain name squatting has become an industry unto itself, with speculators viewing it like owning real estate. This isn't our vision for LBRY. +Designing a naming system that works well and fairly assigns names is quite hard! Consider the domain system you are likely using to access this document. Notice that you are reading this page on lbry.io, rather than lbry.com. Is this because lbry.com is providing some productive service? No! It is because a squatter holds it, simply looking to extort money from those who would do something useful or creative. -#### How naming in LBRY works: +The traditional system has several other flaws. It is centralized and a mechanism of censorship, as holders do not have true ownership of their domain, only the top-level provider. Top-level domains (like .io) are also arbitrary and largely illogical (if designing the domain system again, would we really want to add an arbitrary ".com" to the most prestigious URL for a given keyword? does LBRY have anything to do with the *I*ndian *O*cean?). Finally, in addition to incentivizing bad behavior, the flat-fee structure of domains prevents good behavior from those who are priced out. -First and foremost -**it is absolutely possible to own and control a URI forever**. +We wanted a system that: -Consulting with economists, we devised LBRY’s name claim system. LBRY URIs support four types of resolution: +- Allows a single word to be mapped directly to a piece of content, with no other extension or modifier. +- Allows creators to acquire a URL and own it permanently and forever, without ongoing fees. +- Alllows multiple pieces of content to be located at a single keyword, while keeping URLs as short and memorable as possible. +- Prevents squatters from extorting creators. + +After significant consultation with creators, consumers, economists, computer scientists, and more, we devised LBRY’s naming system. + +### How LBRY Does Naming + +First and foremost **it is absolutely possible to own and control a URL forever**. + +In LBRY, a URL entry is called a _claim_. For simplicity, a claim can be consistered to consist of: + +- The name (a string of characters chosen by the creator) +- An amount of credits +- Additional data related to the content and/or publisher identity + +Claims in LBRY are non-consumptive. When you designate an amount of credits in a claim, nothing is lost or destroyed beyond the relatively minimal transaction fee. At any time, the credits allocated to a claim can be used for another purpose, recovered, or sent somewhere else. When this happens, the claim is no longer considered valid. + +LBRY supports several types of URL resolution: | Type | Syntax | Resolution | | --- | --- | -| **Permanent** | `lbry://#` | A fixed id for a claim to a name, this id stays the same if the claim is updated. | -| **Vanity** | `lbry://` | The claim to the name with the most credits committed towards it (like voting) - the sum of the credits committed in the claim and any claim supports. | -| **Channel** | `lbry://<@channel_name>` | A claim containing a public key, the private counterpart is used for signing other name claims. Channel claims can be specified in the URI with the `#` modifier, and the unmodified URI has vanity resolution. | -| **Signed** | `lbry://<@channel_name>/` | The claim to `` in the channel of (signed by) `<@channel_name>`. The channel claim defaults to the vanity resolution, but can be specified with the `#` modifier given before the `/`. +| **Permanent** | `lbry://#` | This URL consists of a name and randomly assigned ID. This is permanently owned and controlled by the publisher. Permanent URLs support partial, temporal-ordered ID matching, so these can be quite short (e.g. lbry://name#8 or lbry://name#ab) | +| **Community** | `lbry://` | Of all of the claims named ``, this returns the publish with the most credits committed towards it, not just by the publisher, but by the entire community. These URLs are not permanent or owned, but instead controlled by the community itself, allowing the resolution to settle on that which the community determines most appropriate. | +| **Channel** | `lbry://<@channel_name>` | A URL corresponding to a publisher identity. These resolve to the identity of a specific publisher and their publishes. Channel URLs can be specified with or without the `#` modifier. An unmodified URL returns the channel determined by the community. +| **Signed** | `lbry://<@channel_name>/` | The piece of content published to the name `` within the channel of `<@channel_name>`. -#### What is a claim?
- -Claims are a human readable name that contains serialized data, which allows it to store a data for a specific purpose, or to point to something else. Currently claims contain encoded channel identities and download streams. This format is flexible, allowing support for many use cases to be added. - -Vanity name claims are designed to be controlled by the user who gets the most value out of them. For example, Radiohead would get a lot more value out of lbry://amoonshapedpool than a squatter, pirate, or troll. - -Permanent name claims are an extension of vanity name claims. It allows your URI for your content to remain permanent even if that content is edited. - -Here are a few key things to takeaway: +### Takeaways 1. **Names aren’t bought, only reserved – no credits are lost, only put on deposit.** If you win the auction for a name, your credits are held with that name until you decide to withdraw them (at any time you wish). You aren’t buying the name from anyone and no one profits off of the transfer of names. It’s just a test of who is willing to deposit the most credits toward a name. The only cost is that you can’t spend the credits on content or cash them out while they are reserving a name. -2. **The longer a claim name is held, the longer the holder has to counterbid.** You don’t just lose the name immediately if a bigger bidder comes along – especially if you’ve held it for awhile. The time to counterbid scales up to ~1 week. +2. **The longer a community name is held, the longer it sticks.** Community-controlled URLs don't change instantly if more credits are designated – especially if you’ve held it for awhile. The time for reoslution to change scales up to over 1 week. -3. **Other users can pledge credits to support the nameclaim of a creator they like.** If you claim lbry://bestmovieever and your film lives up to the hype, users may show their support by pledging some credits to make sure you hold onto that name. +3. **Everyone has a say.** If you claim lbry://bestmovieever and your film lives up to the hype, user tips and purchases are a strong force keeping your content there. If the community feels a URL resolution is incorrect, they can band together to change it any time. This is a powerful force keeping bad actors at bay that has already proved useful. -4. **Names are not like Youtube channels; they’re more like search terms.** Publishers can use a claim to a name for much the same purpose, with a "channel" claim. The URI for these claims support allow specifying other claims made by that publisher easily, like `lbry://@UCBerkeley/ucb-P7Wjq025f-Q` or `lbry://@oscopelabs/itsadisaster-sd`. Additionally, with the `#` syntax publishers have URIs that are permanent and embeddable, where resolution is not subject to the bidding system. The only time these claims cannot be resolved is if the publisher removes the specified claim. The bidding system is only meant to get traffic from users trying to discover your content through the naming system. Since every comedy video would want to be at `lbry://comedy` the nameclaim system allows the name to go to the creator who can make the most revenue off of it. +4. **Names are more like search terms.** When a user searches the LBRY network, or a recommendation engine suggests content, all valid claims are considered. Not having the community URL for your content does not mean no one will see it. Many different pieces of content under the same name can be displayed when users look for content on the network. For more details on claims, please see https://lbry.io/faq/claimtrie-implementation -#### Experimentation: +### Experimentation -This approach is unlike anything we've seen before. For creators, it's a tradeoff. You might lose a valuable name, but you also don't have to worry about people squatting on the best names. Squatting has plagued projects and we are hopeful that this approach provides a good solution. +Whether you're in love with this design or not, you'd likely agree it's unlike anything we've seen before. -Our economic advisor Alex Tabarrok notes: +The bottom line is that LBRY is dedicated to providing true content freedom. We want to provide the world's best method for creators and consumers to share and monetize digital content without middlemen. We happen to think this is a superior method to the alternatives, but we're also not dogmatic about it. ->“Auctions have many great properties, but the public doesn’t like auctions very much. Although participating in an auction is fun for some; others find it annoying. It requires inputs of time and risk, and no one likes being outbid at the last minute.” - -We’re aware that this is an experiment within an experiment. We’re trying to solve a very hard problem in a novel way. It’s important to note that LBRY doesn't depend on the naming system but we're committed to giving it a chance. +We’re trying to solve a very hard problem in a novel way and we're committed to giving this system a chance. 100,000 pieces of content in, it has worked seemlessly. But if we ever saw this system harming rather than helping, we wouldn't hesitate to change it.