
LBRY is a cryptocurrency-powered platform that provides the highly-decentralized, uncensorable metadata database that we use to publish and find files.
It is most widely known by its web frontend, Odysee.
Terminology[edit]
There's a lot of jargon surrounding LBRY, and you may hear people close to it (like GunCAD Index devs) refer to things like "claims" or "stream descriptor hashes". Here's what it all means:
-
claim - A transaction on the blockchain that reserves something on LBRY for you, like a repost, stream, or channel. It has a claim ID that's just a giant pad of hex characters.
-
channel - Exactly what it seems like -- an
@whatever:a
code. -
stream - A file. Can be a video, zip file, text file, whatever.
-
qualifier - Short handles for things (ex.
@mychannel
) are a bidding war. You have to stake LBC in order to get them and they're volatile. If you instead add a qualifier to your channel with enough characters of the claim ID to disambiguate it (ex.@mychannel:a
), you get a permanent immutable link to something. -
height - Refers to a proprietary algorithm LBRY uses to bid for the aforementioned short handles. In short: older and more expensive bids are "higher" and take more effort to topple.
-
blob - A 2MB unit of data addressed by its SHA-384 hash. It is the fundamental unit of data transfer and seeding across LBRY.
-
sd hash - A stream descriptor hash, which points to a blob that describes the stream in better detail and points to other blobs that have the actual file data. This may update somewhat regularly even if the underlying file changes and is thus not a good indicator of revisions.
Additionally, GunCAD Index invents even more jargon (kinda) to refer to specific things:
- release - A stream claim that is a zip, STL, or STEP that we care about.
Accessing the LBRY Blockchain[edit]
Odysee[edit]
To access the LBRY blockchain over the web, simply visit Odysee:
LBRY Desktop[edit]
To access the blockchain in a decentralized manner, you'll want to download and install the LBRY Desktop application:
The first startup will take some time -- it's gotta download the whole blockchain -- then you can use it just like Odysee. In fact, you can plumb any Odysee link straight into the search bar and it'll take you right to it.
Depending on how the app is set up (I don't have a Windows machine to test) you may or may not be able to just click the "LBRY Desktop" links on releases here on the Index. Not sure, needs testing.
The lbrynet Daemon[edit]
Downloading Files From the LBRY Blockchain[edit]
Downloading from LBRY goes two ways. Note that this is a technical dive on how downloading works -- if you just want a file, click the Download button on whatever interface you're using and forget about it:
Odysee[edit]
If you download via Odysee, you're downloading straight from them and not hitting the blockchain at all. They do still seed to people downloading via other means, but they make the whole process opaque to you. You're just grabbing it over HTTP.
Native LBRY Clients[edit]
Native LBRY clients follow a process that resembles something like a torrent:
- Consult the blockchain for the SHA-384 hash of the file's
sd_hash
(stream descriptor hash), which contains metadata about the rest of the file - Consult the DHT (yes, the torrent DHT) for seeders that advertise the
sd_hash
we just acquired - Reach out to a selected peer to download the stream descriptor blob
- Read the stream descriptor blob to see what blobs we need to acquire the file
- Repeat 2-3 for every blob we need
- Assemble the blobs into a file
- (Optional) Advertise to the DHT that we have all the blobs for this file and seed them to the cluster
The process of downloading blobs is parallelized by default.
This method of acquiring data is as resilient to malice and tampering as the SHA-384 checksum. The address of every blob is also the mechanism by which you ensure it hasn't been corrupted in transit.
LBC and What it Does[edit]

LBRY is the network, and it sits on top of a cryptocurrency. The currency mined is LBC -- LBRY Credits.
Stakes Claims[edit]
LBC is used directly to post files to the LBRY network. You need to tie up some amount of LBC into a claim, therefore staking it. The LBC can be refunded, but this abandons the claim permanently, and makes the file unaddressable on the chain.
A Note on Abandoned Claims[edit]
Claims removed from the blockchain are permanently unresolvable. You can use dirty hacks to dig them back up if you want to see the archived information -- it's an append-only blockchain after all -- but lbrynet can't see them.
Reposting Content[edit]
By reposting (retweeting, boosting, whatever) content, you post it to your channel and increase its visibility, both intuitively by giving it a listing on your page, and less intuitively by bolstering how much LBC backs the claim.
Note that this is not redundancy. You're setting up a repost claim, not a separate stream claim. If the author withdraws their claim, your repost collapses and you can refund the LBC for it.
Improves Search Rankings[edit]
This feature right here is why Odysee's search sucks. We don't vie for popularity in the rankings with LBC like a lot of other channels.
FAQ[edit]
Why Upload to LBRY/Odysee?[edit]
Several reasons:
- Because it's on-chain, uploads cannot be censored in any meaningful way barring a gigantic actor pulling a very visible 51% attack on the LBRY blockchain
- LBRY can be accessed without Odysee, allowing greater anonymity
- Even if a file is removed from Odysee, it can still be downloaded over LBRY Desktop if someone's mirrored it
- LBRY allows GunCAD Mirror instances to seed content transparently
- We're all here already
- It's battle-tested
- GunCAD Index integrates tightly with it -- we can only parse LBRY/Odysee releases
Additionally, other websites (like Printables, Makerworld, etc.) may have policies that result in the removal of firearms-related content.
How are Claim ID Collisions Handled?[edit]
So say you've got two claims for the @bro
channel handle, and they start as follows:
abc123...
, claimed first; andabd51f...
, claimed afterward
In this circumstance, it looks like the naiive qualifier of @bro:a
is ambiguous. However, per LBRY spec, there is no ambiguity. The earliest claim gets the shortest ID:
abc123...
-@bro:a
Then, subsequent claims, in order of claim time, append as many characters as it takes to disambiguate:
abd51f...
-@bro:abd
This algorithm minimizes length as much as possible. If someone comes along and makes another claim that doesn't quite collide as hard as the second, they're allowed to take a shorter qualifier:
a99881...
-@bro:a9