lbryio / lbryio/lbrycrd

Allow claims outside the claimtrie

Open
#398 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.5k
Forks
173
PR merge metrics
No merged PRs in 30d

Description

The computation of the claim trie is the bottleneck on sync, and it will soon be the overall bottleneck on each new block. Many LBRY streams presently use this mechanism but have no need for claim competition, as they are grouped by channel.

We need to enable a mechanism to allow these streams-in-a-channel to migrate to a non-competitive registration. The proposed method is that we will modify the trie to ignore claims for the root node (aka, claims with an empty name will no longer compete). We will no longer allow someone to competitively claim the root node; there's no way to view it presently anyhow.

Subtasks

- [ ] update LBRY spec to, among other things, remove the requirement that URLs have a name component. Add examples of URLs with only a claim ID.
- [ ] we need a hard-fork plan for this.
- [ ] the hard-fork will need to pull all the claims in root at present out of the trie.
- [ ] should the RPC methods to query claims by name return the entire list of no-names?
- [ ] proof RPC methods will need to not support empty claim names

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the claim trie behavior and the LBRY spec requirements for URL names, then trace the RPC methods that query claims by name and the proof RPC methods. Done requires a decided hard-fork plan, migration of existing root claims out of the trie, clarified handling of no-name claims, and corresponding spec and RPC behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
blockchain
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.