Parchive (a portmanteau of parity archive, and formally known as Parity Volume Set Specification[1][2]) is an erasure code system that produces par files for checksum verification of data integrity, with the capability to perform data recovery operations that can repair or regenerate corrupted or missing data.
Parchive was originally written to solve the problem of reliable file sharing on Usenet,[3] but it can be used for protecting any kind of data from data corruption, disc rot, bit rot, and accidental or malicious damage.
As of 2014, PAR1 is obsolete, PAR2 is mature for widespread use, and PAR3 is a discontinued experimental version developed by MultiPar author Yutaka Sawada.
Parchive was intended to increase the reliability of transferring files via Usenet newsgroups.
Later Usenet software allowed 8 bit Extended ASCII, which permitted new techniques like yEnc.
Large files were broken up to reduce the effect of a corrupted download, but the unreliable nature of Usenet remained.
Version 1 became widely used on Usenet, but it did suffer some limitations: In January 2002, Howard Fukada proposed that a new Par2 specification should be devised with the significant changes that data verification and repair should work on blocks of data rather than whole files, and that the algorithm should switch to using 16 bit numbers rather than the 8 bit numbers that PAR1 used.
Michael Nahas and Peter Clements took up these ideas in July 2002, with additional input from Paul Nettle and Ryan Gallagher (who both wrote Par1 clients).
A discussion on a new format started in the GitHub issue section of the maintained fork par2cmdline on January 29, 2019.
The new Par3 format's specification is published on GitHub, but remains being an alpha draft as of January 28, 2022.