Wednesday, July 31, 2013

Release Notes of Litecoin 0.8.3.7

Litecoin-0.8.x should behave exactly like litecoin-0.6.x, just significantly faster! Chat with other Litecoin users in #litecoin. Please submit Issues, code review comments or Pull Requests to the github branch master-0.8.

If you appreciate our work please consider a small contribution to the Litecoin Developer Fund.  Follow the Google+ page for the latest dev news.


Goal of Litecoin 0.8.x
The goal of this major new upgrade to 0.8.x is to modernize the Litecoin reference client, improved speed while also minimizing risk in the transition.  To achieve these goals, Litecoin 0.8.3.7 has opted to defer the introduction of a few minor 0.7+ features until a later release.  0.8.3.7 is meant to behave like the previous 0.6.9.2.

Independent Code and Security Audit
Development has been underway since early May 2013.  Several developers have carefully reviewed all changes multiple times. To better ensure the safety of this upgrade to 0.8.x, we hired a known expert in the underlying codebase to conduct an independent audit of the source code and security implications.  The independent auditor Peter Todd has signed-off on the changes that are 0.8.3.7.  The end result strongly suggests that 0.8.3.7 has met a similar level of security as bitcoin-0.8.3.

Download the Auditor's Report: [from litecoin.org] [from auditor] [discussion]

Major Changes from Litecoin-0.6.x
  • LevelDB replaces BDB for the block index database.  Significantly faster blockchain sync performance.  See below Faster Block Sync or Reindexing to learn how to make it even faster during the mandatory reindex or block sync when you run 0.8.x for the first time.
  • 100KB transaction size limit.
  • Warnings for Pools: The block submission method has changed.  Please test your pool software with 0.8.x on testnet to ensure it successfully submits blocks before upgrading your litecoind.  Do not leave your pool mining enabled during reindex.
Changelog during 0.8.x Development
See litecoin branch devhistory-0.8.x for the messy, raw commits that have lead to the cleaned, squashed and rebased source branch in master-0.8.  Both source trees at 0.8.3.7 are byte-for-byte identical, just with different commit histories.
  • 0.8.3.7
    • Code and security audit complete.
    • Fix Hebrew translation.
    • Add scrypt unit test.
    • Add option for bloom filtering.
    • Pre-release message removed.
  • 0.8.3.6
    • Typo fix in splash screen.
  • 0.8.3.5
    • Minor fix to wallet.dat format.
  • 0.8.3.4
    • Fix win32 determinism.
  • 0.8.3.3
    • Win32 splash font consistency
  • 0.8.3.2
    • Source rebased and cleaned, minor improvements
  • 0.8.3.1
    • Fixes CVE-2013-4627 denial of service vulnerability.
  • 0.8.2-alpha3
    • Fixed bug in acceptance of large zero fee tx's.
    • Dump peers.dat every 15 minutes instead of every 10 seconds.
  • 0.8.2-alpha2
    • Reduced fee by 5x!
  • 0.8.2-alpha1
    • Initial release.
Upgrade Safely from Litecoin 0.6.x
Backup your wallet.dat from 0.6.x.  That is the only file you will need to restore litecoin-0.6.x if you need to downgrade later.  Follow the steps described on this page on how to find your wallet.dat, except you replace Bitcoin with Litecoin.

Why Alert for 0.6.9.2?
0.6.x has an alert because we cannot vouch for the safety of any 0.6.x node, and the developers have decided to no longer make any updates to the 0.6.x branch because too many things need to be fixed.  0.6.x has several known CVE's from Bitcoin yet unpatched, plus a few other issues not well known to the public.  Although it is likely to remain compatible for a while longer, it is highly not recommended for anyone to continue to use 0.6.9.2 due to the risk of unpatched vulnerabilities.

Faster Block Sync or Reindexing
The first time you run Litecoin 0.8.x it needs to reindex your existing 0.6 blockchain or download all blocks and index it from scratch.  You can make this much faster by running litecoin-qt or litecoind with the -dbcache=X parameter, where X is a number in megabytes you want to dedicate to the dbcache.  The default is 25MB which is fine for normal operation, but your reindexing of the entire blockchain can be much faster if you give it a higher number like 500 or 1000.  Currently Litecoin 0.8.3.7 without -dbcache needs up to 400MB of RAM, so be careful to add dbcache at a level that avoids swapping which will hurt performance.  Remove -dbcache after your 0.8 is fully upgraded and synchronized with the blockchain to reduce your memory requirements.

Download Source Code
https://github.com/litecoin-project/litecoin
v0.8.3.7 GPG signed tag, master-0.8 branch, git hash 1b5cb0866e085fe315ab6dcb22ffd2659c9385fd

Download Binaries
Warning: Please use GPG to verify the integrity of the binary downloads.  Linux, MacOS or Win32 cygwin command line GPG instructions are available here.  The community wrote a Windows GPG4Win guide with screenshots which is available here.  Please note that the Linux and Win32 builds are signed by the team GPG key C37E4723969276F5 while the MacOS builds are signed by 657EB016521670C0.  The exact binaries for Linux and Win32 are reproducible with the Gitian procedure below.
  • Downloads are available from [litecoin.org] and [mirror]
  • Supported Systems
    • Windows XP+
    • Linux
    • MacOS X 10.6.x+
    • MacOS X 10.5.x might work.  We are not sure.  We are interested in reports of it working or failing.
Gitian Build Integrity Verification
If you have a Linux x86_64 machine (Ubuntu, Fedora or Gentoo) that is not a virtual machine, it is possible for you to help by taking part of the gitian.sigs verification process.  Gitian builds the specified GPG tag from git in a new virtual machine created specially for the purpose of making a clean, deterministic binary build.  The deterministic binaries are meant to guard against any entity inserting hostile code, as anyone is capable of reproducing the official builds that are byte-for-byte identical when built from same source code using the gitian process.  Gitian is not easy to use, and you are also required to have a GPG key.  Random members of the public are invited to follow the step-by-step gitian procedure and to submit a github Pull Request containing your GPG signed files.  The more independent individuals who do this, the greater certainty we can have that the official binaries are good.

Experimental Client Variants
https://github.com/litecoin-project/litecoin/commits/exp-0.8.3.7-cc tag v0.8.3.7-cc
Coin Control variant, Binary downloads available here.  Verify GPG before using binaries!
https://github.com/litecoin-project/litecoin/tree/exp-0.8.3.7-ccsec tag v0.8.3.7-ccsec
Coin Control and sipa's secp256k1, super fast replacement for openssl (not known if safe!)

Credits
0.8.x core developers: aspect, coblee, face, pooler, thrasher, wtogami
Litecoin 0.8.3.7 is the result of months of hard work with direct and indirect contributions from many developers.

Sponsors [Spreadsheet]
Donations from the community have made it possible to hire expert advice and to reward several other developers for contributions, code and advice that were helpful in improving the safety and efficiency of the Litecoin network.

Support Litecoin Development
If you appreciate our work, please consider making a small donation to the Litecoin Dev Fundraiser.  It takes a considerable amount of effort to guard against mistakes while working on this software.  We also use funds to cover regular expenses like server infrastructure, hire a professional security auditor and other contractors, to pay a law firm to protect the project, and to produce an upcoming educational video about Litecoin.  Businesses may be interested in getting their name listed in the sponsor list.

Discuss Litecoin 0.8.3.7 in this forum thread.

No comments:

Post a Comment

For technical support please go to the LitecoinTalk.org forum. Blog comments are a bad place for discussion.