Download Use on Web ( Community ⌄ Meet, chat, and party in the heart of the LBRY community. YouTube Partner Program Sync your content instantly and start earning Frequently Asked Questions Got questions? We probably have answers! Blockchain Explorer Look up transactions and claims on the LBRY blockchain Company ⌄ @lbry on LBRY Everything about LBRY, from LBRY, on LBRY Company News The latest from the LBRY team The Team Meet the people building LBRY and why they're doing it Roadmap The next steps in our journey Contact Have a question or want to connect with the LBRY, Inc. team? Credit Reports Quarterly reports on LBRY's blockchain assets Developers ⌄ Find a technical overview, specification, APIs, and more Follow @lbrytech on LBRY From the devs, for the devs. The Spec Read a formal technical description of how LBRY works GitHub All LBRY code is public and open-source Contributor's Guide Become a contributor to the LBRY project Search Try LBRY Menu Try LBRY

LBRY Blockchain Update

Samuel Bryan • Sep 10 2019

On August 16, 2019, the LBRY chain experienced an unexpected fork between the current version of lbrycrd (v0.17.2) and previous versions. Block height of the fork: 617743. We might have favored the older build, but older versions of lbrycrd would crash when receiving data from the newer version after that block. v0.17.1 was able to proceed down its own chain, but there was little mining power behind this; the main pools were already mining with majority of hash on the correct (v0.17.2) chain.

This was middle of the night for most LBRY engineers, but the event was fortunately detected by a LBRY engineer three hours after the occurrence. In response to the incident, miners and other critical systems were immediately upgraded to v0.17.2. We appreciate the immediate and dedicated response from the various mining pools, exchanges, and others.

Version 0.17.2 replaces a large portion of the consensus-critical code path with more memory-efficient mechanisms. When this work was done, two existing issues with the takeover height computation were discovered in the older code. An effort was made to search for others through random block data generation. No other issues were found at the time, and it was hoped that there were no other lurking issues with the old code. The two known issues were maintained with workarounds in hopes that the root hash computation would match the existing versions, but it was done in a way that they would be disabled with the next hard-fork (not released yet). Details on the bugs are to be revealed after the pending hard fork occurs.

In block 617743, the newer code for the hash computation incorrectly decided that a certain claim required the takeover height workaround. It was a failure to completely model the previous erroneous behavior. Other blocks in the future may be affected, but the behavior will likely go undetected as most are now upgraded to the latest release. We appreciate your patience in the matter. Sincerely, [email protected]

Photo of Samuel Bryan
Samuel Bryan · · ·

Much of our writing is a collaboration between LBRY team members, so we use SamueL BRYan to share credit. Sam has become a friend... an imaginary friend... even though we're adults...