Hello, I am actually more interested in finding reliable solution instead of discussing mathematics and probabilities. But to make it short, you are wrong!
1. You are comparing apples and oranges. A corruption due to faulty hardware, is a random error, because it's not inherent to method you use, in opposite to the data corruption by a SHA-1 collision in the rep-sharing implementation, which is a inherent bias of the implementation. 2. you can't balance the possibility of one error with the that of an other. the total faultiness of a system is the combination of all possible errors, random and systematical once. It often results in something like: square_root( a_1* (error_1 ^2) + a_2 * (error_2 ^2) + ...) As the rep-sharing SHA-1 also depends on the hardware, it wouldn't be trivial to calculate the system faultiness of this non-linear combined possibilities. For detail look at http://en.wikipedia.org/wiki/Propagation_of_uncertainty, but in general the possibility of an error goes in the calculation with it's seconded power. 3. you over estimate the risk of undetected hardware faulty. hardware faulty is a long known and well controllable problem. Operating and network system have long tradition in implementing methods to detected data corruption by hardware faulty. It's an essential part of there design. In addition chemical firms and chem. software developers are doing a lot to detected and prevent data corruption, due to hardware faulty or any kind of other source, as willful acting humans. Like using checksums, data-replication , virtual machines, redundant systems etc. 4. you under estimate the error done by misusing math. methods. As I already said in my first e-mail. SHA-1 is developed to detected random and willful data manipulation. It's a cryptographic hash, so that there is a low chance of guessing or calculation a derived data sequence, which generates the same hash value as the original data. But this is the only thing it ensures. There is no evidence that the hash vales are equally distributed on the data sets, which is import for the us of hashing method in data fetching. In fact, as it's a cryptographic hash, you should not be able to calculate it, because this would mean that you are able to calculate sets of data resulting in the same hash value. So you can't conclude from the low chance of guessing or calculation a derived data sequence to a low chance of hash collisions in general. At last, I want to give a short example calculation: if we have a hash value with the size of 128 Bits and we assume the algorithms generates equally distributes hash values, than there are 2^128 = 3,40*10^38 different hash values to represent data sequences. That sounds much. But, how many different data sequences are there to represent? Let us take short binary files of 1K e.g. 1024 Octets. The 1. octet has 256 values which combine with 256 values of the 2. and 256 values of the 3. ... etc. So there are 256^1024 = 1,09*10^2466 different data sequences of 1K size. This means for every hash value there are (256^1024)/(2^128) = (2^(8*1024))/(2^128) = (2^(8192))/(2^128) = 2^(8192-128) = 2^8064 = 3,21*10^2427 sequences of Data of 1K size represented by the same hash value. I hope this give a clue on the problem we have with this implantation and why I am so interested in finding a reliable solution. Now I hope to find one or two experienced subversion developers, how are willing to assist me in solving the problem. Greetings Michael Felke Telefon +49 2151 38-1453 Telefax +49 2151 38-1094 michael.fe...@evonik.com Evonik Stockhausen GmbH Bäkerpfad 25 47805 Krefeld http://www.evonik.com Geschäftsführung: Gunther Wittmer (Sprecher), Willibrord Lampen Sitz der Gesellschaft: Krefeld Registergericht: Amtsgericht Krefeld; Handelsregister HRB 5791 This e-mail transmission, and any documents, files or previous e-mail messages attached to it may contain information that is confidential or legally privileged. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, you are hereby notified that you must not read this transmission and that any disclosure, copying, printing, distribution or use of any of the information contained in or attached to this transmission is STRICTLY PROHIBITED. If you have received this transmission in error, please immediately notify the sender by telephone or return e-mail and delete the original transmission and its attachments without reading or saving in any manner. Thank you. Greg Hudson <ghud...@mit.edu> 24.06.2010 18:41 An: "michael.fe...@evonik.com" <michael.fe...@evonik.com> Kopie: "dev@subversion.apache.org" <dev@subversion.apache.org> Thema: Re: Antwort: Re: dangerous implementation of rep-sharing cache for fsfs On Thu, 2010-06-24 at 11:29 -0400, michael.fe...@evonik.com wrote: > We must ensure that the data in the repository is, without any concerns, > the data we have once measured or written. You do realize that the probability of data corruption due to faulty hardware is much, much more likely than the probability of corruption due to a rep-sharing SHA-1 collision, right?