<?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=Cracki</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=Cracki"/>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Special:Contributions/Cracki"/>
		<updated>2026-04-05T10:33:31Z</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>2010-08-31T23:12:13Z</updated>
		
		<summary type="html">&lt;p&gt;Cracki: oops. should be using the preview more often&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | &lt;br /&gt;
[[AICH-de|Deutsch]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
[[ICH|ICH's]] success is indisputable but it would be convenient to know exactly which part of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is [[Corrupt|corrupt]], especially when multiple parts are corrupted. [[AICH]] (Advanced Intelligent [[Corrupt]]ion Handler) takes care of this task and allows [[aMule]] and any other supporting [[client|clients]] to know precisely which portions of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] 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 parts (52x 180KB and 1x 140KB) and each of these parts is hashed using the [http://www.faqs.org/rfcs/rfc3174.html SHA1 algorithm]. Each of these hashes is called a [[Block Hash]]. By combining pairs of [[Block Hash|Block Hashes]] (i.e. each part with the part next to it) [[aMule]] will get a whole tree of hashes (this tree which is therefore a hashset made of all of the other [[Block Hash|Block Hashes]] is called the [[AICH Hashset]]). Each hash which is neither a [[Block Hash]] nor the [[Root Hash]], is a [[Verifying Hash]]. The hash at the top level is the [[Root Hash]] and it is supposed to be provided by the [[ed2k link]] 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 a [[client]] that is sharing the complete file. 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|Verifying Hashes]] to complete the [[AICH Hashset]] tree up to the [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
Once it gets the [[Block Hash|Block Hashes]] and the [[Verifying Hash|Verifying Hashes]], it builds up the tree to get the [[Root Hash]] and check if it's the same as the [[Root Hash]] provided by the original [[ed2k link]]. If it is, those [[Block Hash|Block Hashes]] will be considered reliable. If it isn't, the [[Block Hash|Block Hashes]] and [[Verifying Hash|Verifying Hashes]] 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 received [[Block Hash]]es. If they are the same, that part alright, so there's no need to download it again. If the hashes are different, that part is [[Corrupt|corrupt]]ed and it will be downloaded again.&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 link]]. However, files are more frequently downloaded through the search feature of the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k]] [[client]]. Also, the [[ed2k link]] might not include the [[Root Hash]] in its URL. In such cases an alternative method is used to get the file's [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
[[client|Clients]] ask other [[client|clients]] for the [[Root Hash]]. If at least 10 other [[client]]s send you the same [[Root Hash]] and that is 92% or more of the total [[Root Hash]]es received, that [[Root Hash]] will be considered reliable for the '''current session only'''. It will not be stored anywhere on 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 downloaded completely, [[aMule]] builds its complete [[AICH Hashset]] and stores it in ''~/.aMule/known2.met'' so whenever a [[client]] asks for it, aMule can provide the Hashset without having to recalculate it every time.&lt;br /&gt;
&lt;br /&gt;
Please note 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>Cracki</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>2010-08-31T23:10:14Z</updated>
		
		<summary type="html">&lt;p&gt;Cracki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | &lt;br /&gt;
[[AICH-de|Deutsch]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
[[ICH|ICH's]] success is indisputable but it would be convenient to know exactly which part of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is [[Corrupt|corrupt]], especially when multiple parts are corrupted. [[AICH]] (Advanced Intelligent [[Corrupt]]ion Handler) takes care of this task and allows [[aMule]] and any other supporting [[clients]] to know precisely which portions of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] 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 parts (52x 180KB and 1x 140KB) and each of these parts is hashed using the [http://www.faqs.org/rfcs/rfc3174.html SHA1 algorithm]. Each of these hashes is called a [[Block Hash]]. By combining pairs of [[Block Hash|Block Hashes]] (i.e. each part with the part next to it) [[aMule]] will get a whole tree of hashes (this tree which is therefore a hashset made of all of the other [[Block Hash|Block Hashes]] is called the [[AICH Hashset]]). Each hash which is neither a [[Block Hash]] nor the [[Root Hash]], is a [[Verifying Hash]]. The hash at the top level is the [[Root Hash]] and it is supposed to be provided by the [[ed2k link]] 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 a [[client]] that is sharing the complete file. 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|Verifying Hashes]] to complete the [[AICH Hashset]] tree up to the [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
Once it gets the [[Block Hash|Block Hashes]] and the [[Verifying Hash|Verifying Hashes]], it builds up the tree to get the [[Root Hash]] and check if it's the same as the [[Root Hash]] provided by the original [[ed2k link]]. If it is, those [[Block Hash|Block Hashes]] will be considered reliable. If it isn't, the [[Block Hash|Block Hashes]] and [[Verifying Hash|Verifying Hashes]] 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 received [[Block Hash]]es. If they are the same, that part alright, so there's no need to download it again. If the hashes are different, that part is [[Corrupt|corrupt]]ed and it will be downloaded again.&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 link]]. However, files are more frequently downloaded through the search feature of the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k]] [[client]]. Also, the [[ed2k link]] might not include the [[Root Hash]] in its URL. In such cases an alternative method is used to get the file's [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
[[client|Clients]] ask other [[client|clients]] for the [[Root Hash]]. If at least 10 other [[client]]s send you the same [[Root Hash]] and that is 92% or more of the total [[Root Hash]]es received, that [[Root Hash]] will be considered reliable for the '''current session only'''. It will not be stored anywhere on 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 downloaded completely, [[aMule]] builds its complete [[AICH Hashset]] and stores it in ''~/.aMule/known2.met'' so whenever a [[client]] asks for it, aMule can provide the Hashset without having to recalculate it every time.&lt;br /&gt;
&lt;br /&gt;
Please note 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>Cracki</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Corrupt</id>
		<title>Corrupt</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Corrupt"/>
				<updated>2010-08-31T23:00:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cracki: dammit, if your english is that weak, get someone else to do it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | &lt;br /&gt;
[[corrupt-de|Deutsch]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Corrupt stands for anything that isn't exactly the same as the original, whatever it is.&lt;br /&gt;
&lt;br /&gt;
In the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]], a [[file]], [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] or part is called &amp;quot;corrupted&amp;quot; if it differs (bitwise) from the original.&lt;br /&gt;
&lt;br /&gt;
Since the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]] was designed to maintain data integrity, all file corruptions will be detected and corrected. The chance of the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]] not detecting a corrupted file is less than getting struck by lightning. If you downloaded a file and it's corrupted, it was probably already corrupted before someone shared it.&lt;br /&gt;
&lt;br /&gt;
Do not confuse ''corrupt'' with ''[[fake]]''.&lt;/div&gt;</summary>
		<author><name>Cracki</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>2010-08-31T22:48:13Z</updated>
		
		<summary type="html">&lt;p&gt;Cracki: i'm not done yet...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | &lt;br /&gt;
[[AICH-de|Deutsch]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
[[ICH|ICH's]] success is indisputable but it would be convenient to know exactly which part of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is [[Corrupt|corrupt]], especially when multiple parts are corrupted. [[AICH]] (Advanced Intelligent [[Corrupt]]ion Handler) takes care of this task and allows [[aMule]] and any other supporting [[client]] to know precisely which portions of the [[FAQ_eD2k-Kademlia#What_is_a_chunk?|chunk]] is [[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 parts (52x 180KB and 1x 140KB) and each of these parts is hashed using the [http://www.faqs.org/rfcs/rfc3174.html SHA1 algorithm]. Each of these hashes is called a [[Block Hash]]. By combining pairs of [[Block Hash|Block Hashes]] (i.e. each part with the part next to it) [[aMule]] will get a whole tree of hashes (this tree which is therefore a hashset made of all of the other [[Block Hash|Block Hashes]] is called the [[AICH Hashset]]). Each hash which is neither a [[Block Hash]] nor the [[Root Hash]], is a [[Verifying Hash]]. The hash at the top level is the [[Root Hash]] and it is supposed to be provided by the [[ed2k link]] 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 a [[client]] sharing that file which is complete, meaning the file at the client side is complete. 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|Verifying Hashes]] to complete the [[AICH Hashset]] tree up to the [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
Once it gets the [[Block Hash|Block Hashes]] and the [[Verifying Hash|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 link]]s provided. If it is, those [[Block Hash|Block Hashes]] will be considered as reliable. If it isn't, then the [[Block Hash|Block Hashes]] and [[Verifying Hash|Verifying Hashes]] 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 link]]. However, files are more frequently downloaded through the search feature of the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k]] [[client]]. Also, the [[ed2k link]] might not include the [[Root Hash]] in its URL. In such cases an alternative method is used to get the file's [[Root Hash]].&lt;br /&gt;
&lt;br /&gt;
[[client|Clients]] ask other [[client|clients]] for the [[Root Hash]]. If at least 10 other [[client]]s send you the same [[Root Hash]] and that is 92% or more of the total [[Root Hash]]es received, that [[Root Hash]] will be considered as reliable for the '''current session only'''. It will not be stored anywhere on 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 its 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>Cracki</name></author>	</entry>

	</feed>