<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://test.amule.szerverem.hu/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=213.60.48.4</id>
		<title>AMule Project FAQ - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=213.60.48.4"/>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Special:Contributions/213.60.48.4"/>
		<updated>2026-04-05T10:33:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AICH</id>
		<title>AICH</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AICH"/>
				<updated>2004-10-20T13:41:59Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.48.4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
[[ICH]]'s success has no point to be discussed about, but it comes to an end where being able to actually know which exact part of the  [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is [[Corrupt|corrupt]] would make life easier. This comes specially significant when several [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] are [[Corrupt|corrupt]]. [[AICH]] (Advanced Intelligent [[Corrupt]]ion Handler) takes part in this problem and allows [[aMule]] and any [[client]] supporting it to actually know which exact part/s of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is/are [[Corrupt|corrupt]].&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
Each [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is divided into 53 180KB parts and each of this parts is hashed using the [http://www.faqs.org/rfcs/rfc3174.html SHA1 algorithm]. Each of this hashes is called a [[Block Hash]]. The whole [[Block Hash]]es hashset is called the [[AICH Hashset]]. By combining the [[Block Hash]]es two-by-two each on the part next to it, [[aMule]] will get a whole tree of hashes (this tree is actually the [[AICH Hashset]]). Each hash which isn't neither a [[Block Hash]] nor the [[Root Hash]], is a [[Verifying Hash]]. The hash at te top level is the [[Root Hash]] and it is supposed to be provided by the [[ed2k links]] when releasing.&lt;br /&gt;
&lt;br /&gt;
== The actual work ==&lt;br /&gt;
&lt;br /&gt;
When a [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is known to be [[Corrupt|corrupt]], [[aMule]] will try to get an [[AICH Hashset]] from some [[client]] sharing that file and which has already completed it. It will ask for the all hashes of the 53 parts in the [[Corrupt|corrupt]] [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] and the necessary [[Verifying Hash]]es to complete the [[AICH Hashset]] tree up to the [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
Once it gets the [[Block Hash]]es and the [[Verifying Hash]]es, it builds up the tree to get the [[Root Hash]] and check if it's the same as the [[Root Hash]] the original [[ed2k links]] provided. If it is, those [[Block Hash]]es will be considered as reliable. If it isn't, those [[Block Hash]]es and [[Verifying Hash]]es will be dropped and considered fakes.&lt;br /&gt;
&lt;br /&gt;
Once the [[Block Hash]]es are considered reliable, each 180KB part in the [[Corrupt|corrupt]]ed [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] will be hashed (using the [http://www.faqs.org/rfcs/rfc3174.html SHA1 algorithm]) in order to compare the resulting hash with the recieved [[Block Hash]]es. If they are the same, then that part is not [[Corrupt|corrupt]]ed, so there's no need to redownload it. If they're not the same, then that part is [[Corrupt|corrupt]]ed and it will be redownloaded.&lt;br /&gt;
&lt;br /&gt;
== How is the [[Root Hash]] spread? ==&lt;br /&gt;
&lt;br /&gt;
The ideal way to spread the [[Root Hash]] is through the [[ed2k links]]. But many times files are downloaded through the search feture in the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k]] [[client]]s. Also, the [[ed2k links]] might not include the [[Root Hash]] in their URL. In such cases an alternative method is used to grap the file's [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
It will ask for the [[Root Hash]] to other [[client]]s. If at least 10 [[client]]s send you the same [[Root Hash]] and that is 92% or more of the total [[Root Hash]]es recieved, that [[Root Hash]] will be considered as reliable for the '''current session only'''. It will not be stored anywhere in disk and will only be kept in memory. Also, it will not be shared with any other [[client]] who asks for it.&lt;br /&gt;
&lt;br /&gt;
When the file download is completed, the [[Root Hash]] will be calculated, with the whole [[AICH Hashset]], stored in ''~/.aMule/known2.met'' and shared with any [[client]] who asks for it.&lt;br /&gt;
&lt;br /&gt;
== Storing the [[AICH Hashset]] ==&lt;br /&gt;
&lt;br /&gt;
Once a file has been completly downloaded, [[aMule]] builds it's complete [[AICH Hashset]] and stores it in ''~/.aMule/known2.met'' so whenever a [[client]] asks for it, it can provide it without having to recalculate it every time.&lt;br /&gt;
&lt;br /&gt;
Please notice that as long as the AICH method can be applied to a file, [[ICH]] will not be used for that file.&lt;/div&gt;</summary>
		<author><name>213.60.48.4</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AICH</id>
		<title>AICH</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AICH"/>
				<updated>2004-10-20T00:49:25Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.48.4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
[[ICH]]'s success has no point to be discussed about, but it comes to an end where being able to actually know which exact part of the  [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is corrupt would make life easier. This comes specially significant when several [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] are corrupt. [[AICH]] (Advanced Intelligent Corruption Handler) takes part in this problem and allows [[aMule]] and any [[client]] supporting it to actually know which exact part/s of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is/are corrupt.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
Each [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is divided into 53 180KB parts and each of this parts is hashed using the SHA1 algorithm. Each of this hashes is called a [[Block hash]]. The whole [[Block Hash]]es hashset is called the [[AICH Hashset]]. By combining the [[Block hash]]es two-by-two each on the part next to it, [[aMule]] will get a whole tree of hashes (this tree is actually the [[AICH Hashset]]). Each hash which isn't neither a [[Block Hash]] nor the [[Root Hash]], is a [[Verifying Hash]]. The hash at te top level is the [[Root Hash]] and it is supposed to be provided by the [[ed2k links]] when releasing.&lt;br /&gt;
&lt;br /&gt;
== The actual work ==&lt;br /&gt;
&lt;br /&gt;
When a [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is known to be corrupt, [[aMule]] will try to get an [[AICH Hashset]] from some [[client]] sharing that file and which has already completed it. It will ask for the all hashes of the 53 parts in the corrupt [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] and the necessary [[Verifying Hash]]es to complete the [[AICH Hashset]] tree up to the [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
Once it gets the [[Block Hashes]] and the [[Verifying Hashes]], it builds up the tree to get the [[Root Hash]] and check if it's the same as the [[Root Hash]] the original [[ed2k links]] provided. If it is, those [[Block Hash]]es will be considered as reliable. If it isn't, those [[Block Hash]]es and [[Verifying Hash]]es will be dropped and considered fakes.&lt;br /&gt;
&lt;br /&gt;
Once the [[Block Hash]]es are considered reliable, each 180KB part in the corrupted [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] will be hashed (using the SHA1 algorithm) in order to compare the resulting hash with the recieved [[Block Hash]]es. If they are the same, then that part is not corrupted, so there's no need to redownload it. If they're not the same, then that part is corrupted and it will be redownloaded.&lt;br /&gt;
&lt;br /&gt;
== How is the [[Root Hash]] spread? ==&lt;br /&gt;
&lt;br /&gt;
The ideal way to spread the [[Root Hash]] is through the [[ed2k links]]. But many times files are downloaded through the search feture in the [[ed2k]] [[client]]s. Also, the [[ed2k links]] might not include the [[Root Hash]] in their URL. In such cases an alternative method is used to grap the file's [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
It will ask for the [[Root Hash]] to other [[client]]s. If at least 10 [[client]]s send you the same [[Root Hash]] and that is 92% or more of the total [[Root Hash]]es recieved, that [[Root Hash]] will be considered as reliable for the '''current session only'''. It will not be stored anywhere in disk and will only be kept in memory. Also, it will not be shared with any other [[client]] who asks for it.&lt;br /&gt;
&lt;br /&gt;
When the file download is completed, the [[Root Hash]] will be calculated, with the whole [[AICH Hashset]], stored in ''~/.aMule/known2.met'' and shared with any [[client]] who asks for it.&lt;br /&gt;
&lt;br /&gt;
== Storing the [[AICH Hashset]] ==&lt;br /&gt;
&lt;br /&gt;
Once a file has been completly downloaded, [[aMule]] builds it's complete [[AICH Hashset]] and stores it in ''~/.aMule/known2.met'' so whenever a [[client]] asks for it, it can provide it without having to recalculate it every time.&lt;br /&gt;
&lt;br /&gt;
Please notice that as long as the AICH method can be applied to a file, [[ICH]] will be disabled for that file.&lt;/div&gt;</summary>
		<author><name>213.60.48.4</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AICH</id>
		<title>AICH</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AICH"/>
				<updated>2004-10-20T00:48:43Z</updated>
		
		<summary type="html">&lt;p&gt;213.60.48.4: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
[[ICH]]'s success has no point to be discussed about, but it comes to an end where being able to actually know which exact part of the  [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is corrupt would make life easier. This comes specially significant when several [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] are corrupt. [[AICH]] (Advanced Intelligent Corruption Handler) takes part in this problem and allows [[aMule]] and any [[client]] supporting it to actually know which exact part/s of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is/are corrupt.&lt;br /&gt;
&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
Each [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is divided into 53 180KB parts and each of this parts is hashed using the SHA1 algorithm. Each of this hashes is called a [[Block hash]]. The whole [[Block Hash]]es hashset is called the [[AICH Hashset]]. By combining the [[Block hash]]es two-by-two each on the part next to it, [[aMule]] will get a whole tree of hashes (this tree is actually the [[AICH Hashset]]). Each hash which isn't neither a [[Block Hash]] nor the [[Root Hash]], is a [[Verifying Hash]]. The hash at te top level is the [[Root Hash]] and it is supposed to be provided by the [[ed2k links]] when releasing.&lt;br /&gt;
&lt;br /&gt;
== The actual work ==&lt;br /&gt;
&lt;br /&gt;
When a [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is known to be corrupt, [[aMule]] will try to get an [[AICH Hashset]] from some [[client]] sharing that file and which has already completed it. It will ask for the all hashes of the 53 parts in the corrupt [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] and the necessary [[Verifying Hash]]es to complete the [[AICH Hashset]] tree up to the [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
Once it gets the [[Block Hashes]] and the [[Verifying Hashes]], it builds up the tree to get the [[Root Hash]] and check if it's the same as the [[Root Hash]] the original [[ed2k links]] provided. If it is, those [[Block Hash]]es will be considered as reliable. If it isn't, those [[Block Hash]]es and [[Verifying Hash]]es will be dropped and considered fakes.&lt;br /&gt;
&lt;br /&gt;
Once the [[Block Hash]]es are considered reliable, each 180KB part in the corrupted [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] will be hashed (using the SHA1 algorithm) in order to compare the resulting hash with the recieved [[Block Hash]]es. If they are the same, then that part is not corrupted, so there's no need to redownload it. If they're not the same, then that part is corrupted and it will be redownloaded.&lt;br /&gt;
&lt;br /&gt;
== How is the [[Root Hash]] spread? ==&lt;br /&gt;
&lt;br /&gt;
The ideal way to spread the [[Root Hash]] is through the [[ed2k links]]. But many times files are downloaded through the search feture in the [[ed2k]] [[client]]s. Also, the [[ed2k links]] might not include the [[Root Hash]] in their URL. In such cases an alternative method is used to grap the file's [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
It will ask for the [[Root Hash]] to other [[client]]s. If at least 10 [[client]]s send you the same [[Root Hash]] and that is 92% or more of the total [[Root Hash]]es recieved, that [[Root Hash]] will be considered as reliable for the '''current session only'''. It will not be stored anywhere in disk and will only be kept in memory. Also, it will not be shared with any other [[client]] who asks for it.&lt;br /&gt;
&lt;br /&gt;
When the file download is completed, the [[Root Hash]] will be calculated, with the whole [[AICH Hashset]], stored in ''½/.aMule/known2.met'' and shared with any [[client]] who asks for it.&lt;br /&gt;
&lt;br /&gt;
== Storing the [[AICH Hashset]] ==&lt;br /&gt;
&lt;br /&gt;
Once a file has been completly downloaded, [[aMule]] builds it's complete [[AICH Hashset]] and stores it in '~/.aMule/known2.met' so whenever a [[client]] asks for it, it can provide it without having to recalculate it every time.&lt;br /&gt;
&lt;br /&gt;
Please notice that as long as the AICH method can be applied to a file, [[ICH]] will be disabled for that file.&lt;/div&gt;</summary>
		<author><name>213.60.48.4</name></author>	</entry>

	</feed>