lbry.com/content/news/204-hf1903.md
YULIUS KURNIAWAN KRISTIANTO 49c841c9ea
Capital C Credits (PHASE 3 on News) (#1403)
* Update 003-5-questions-about-lbry.md

* Update 009-introducing-lbry-the-bitcoin-of-content.md

* Update 016-digging-into-lbry.md

* Update 019-free-lbry-credits-come-and-get-em.md

* Update 020-open-a-valve-to-gush-classic-movies.md

* Update 022-building-the-web-3-0-decentralizing-content-in-an-age-of-centralization.md

* Update 023-bravenewcoin.md

* Update 024-our-christmas-surprise.md

* Update 025-huemer-joins-lbry-ethical-advisor.md

* Update 027-lbry-adds-chief-growth-officer-josh-finer.md

* Update 030-try-lbry-on-os-x-el-capitan.md

* Update 032-if-lbry-succeeds-humanity-wins-lbry-ceo-on-lions-of-liberty-podcast.md

* Update 035-why-doesnt-lbry-just-use-bitcoin.md

* Update 036-built-for-artists-by-autists-lbry-takes-autism-personally.md

* Update 040-tipping-in-LBC.md

* Update 045-lbry-blockchain-live-mine-lbc-now.md

* Update 046-lbry-at-porcfest-first-public-screening-film-via-blockchain.md

* Update 047-beta-live-declare-independence-big-media.md

* Update 048-lbry-credits-on-bittrex.md

* Update 049-mysterious-100k-lbc-revealed.md

* Update 050-1.2B-market-cap-we-dont-care.md

* Update 069-reddit-ama-answers.md

* Update 071-credit-policy-third-quarter-report.md

* Update 077-lbry-windows.md

* Update 114-coinomiwallet.md

* Update 123-popup-open-beta.md

* Update 129-lbry-release-first-run-wallet-invites-rewards.md

* Update 134-new-lbry-version-with-search.md

* Update 135-kaze.md

* Update 136-johncleese.md

* Update 137-nilered.md

* Update 139-MemeSafe.md

* Update 140-3blue1brown.md

* Update 141-lbry-is-trending.md

* Update 142-unbubbled.md

* Update 147-lbry-shifting-into-high-gear.md

* Update 158-LBRY-in-2017-2018.md

* Update 159-lbry-development-community-update-Jan-2018.md

* Update 163-lbry-development-community-update-Feb-2018.md

* Update 167-lbry-development-community-update-Apr-2018.md

* Update 169-what-is-chainquery.md

* Update 172-lbry-development-community-update-May-2018.md

* Update 175-austen.md

* Update 176-lbry-development-community-update-June-2018.md

* Update 178-lbry-development-community-update-july-2018.md

* Update 181-the-LBRY-economy.md

* Update 204-hf1903.md

* Update 226-sept-dev-2019.md
2021-05-24 11:49:00 -04:00

4.9 KiB

author title date category
alex-grintsvayg HF1903: A Hard Fork on March 21st, 2019 2019-02-19 10:00:00 technical

Update 2019-Mar-25 1pm EST: The fork is live. Block 539941 occurred on March 24th about 1:40pm EST. The post-fork chain is now proceeding normally. Thank you for your cooperation and support in this. You can validate that you are on the correct fork using the command line: ./lbrycrd-cli getblockhash 539941 = 7d3034e02879c3224aa324063e22368cee28d5e791290caeaaa595e3b06d161b ./lbrycrd-cli getblockhash 540444 = c466452ad520a41b0d491e078eb3ec6f2529ce636b46b288c2c23992b8b5a09b

When the fork occurred there was still strong hashing on the old chain. This continued for six hours afterward; many continued on the wrong chain. While hashing on the old chain has died down now, many may need to take action to get on the correct chain. Updating to the latest release of LBRYcrd is the first step. However, if you have proceeded down the wrong chain, you may have data in your blocks that is now considered invalid. Unfortunately, the newer LBRYcrd will fail its block validation with a crash in this scenario. If you are not utilizing the wallet in lbrycrd, you may safely clear your data (rename the ~/.lbrycrd folder) and resync. Otherwise you may need to selectively remove some data and bans or rollback using the previous version of the software. Please contact support for help on this: https://lbry.com/contact

Also, please ensure that you have 4GB of RAM for running the current version of LBRYcrd. The next release will significantly reduce this requirement.

What's Changing

The LBRY blockchain will experience a hard fork (named HF1903) on March 21st to fix the way names are compared and claims are grouped.

When content is published to LBRY, the publisher selects a human-readable name to point to their content. Multiple claims for the same name compete with each other, and the claim with the most Credits supporting it determines what content is visible at the name. In order to use the system correctly, publishers need clarity on how the name they choose affects the visibility of their content.

At present, every different combination of letters and symbols constitues a unique name. Unicode supports many different alphabets and there are a lot of symbols that are defined as different but that look very much the same. For example, Amélie and Amélie look like the same word at first glance. But your computer sees the first as having an é (\xc3\xa9 in UTF8) character, while the second has a normal e followed by a combining accent, which is shown as a single accented character (\x65\xcc\x81 in UTF-8). Lower-case and upper-case letters are also treated as distinct, which creates even more gotchas.

To prevent such confusion, the proposed fork will treat similar-looking names as the same when deciding what name a claim is competing for. When checking if two words correspond to the same name, the words will be normalized using standard Unicode string normalization (in NFD mode) and then lowercased using case folding. The original text and casing will still be preserved and used for display purposes, but all comparisons will be done on normalized text.

HF1903 will activate on the mainnet at height 539940, which should take place on March 21st, 2019. The testnet activation will happen today, at block 993380. Regtest activates HF1903 at height 250.

Please note that the block rewards, token distribution, hash algorithms, etc. are all staying the same. Normalization is the only change that affects consensus.

What You Should Do

For most people, nothing needs to be done. The fork will take effect transparently and won't change your experience of LBRY.

If you are running a full node, upgrade to the latest version of lbrycrd as soon as possible. Pre-built binaries are available on the releases page. You will need version 0.12.4 or higher.

If you have published content to LBRY, there is a very small chance that the fork will cause your claims to experience more competition, and they may stop being the highest-amount claims for their names. This affects less than 0.2% of claims (~1000 out of 640,000).

We will post updates about HF1903 to this page. If you want to be notified of news about this fork and future forks, please join the fork mailing list.

Fork Details

The fork has been discussed at length in this pull request, as well as the following issues: 1, 2, 3, 4. Please review the details and the code if you are able to. We pay significant bounties for any bugs found in blockchain code, especially fork-related code. Email brannon@lbry.com if you wish to discuss.