<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://cryptonite.info/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://cryptonite.info/wiki/index.php?action=history&amp;feed=atom&amp;title=Mini-blockchain</id>
		<title>Mini-blockchain - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://cryptonite.info/wiki/index.php?action=history&amp;feed=atom&amp;title=Mini-blockchain"/>
		<link rel="alternate" type="text/html" href="http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;action=history"/>
		<updated>2026-06-10T17:06:04Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.1</generator>

	<entry>
		<id>http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=67&amp;oldid=prev</id>
		<title>Admin: Fixed up stupid wording.</title>
		<link rel="alternate" type="text/html" href="http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=67&amp;oldid=prev"/>
				<updated>2014-11-04T22:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;Fixed up stupid wording.&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 22:56, 4 November 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:mini-blockchain.jpg|right|thumb|350px|Figure 0-a: Mini-blockchain diagram.]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:mini-blockchain.jpg|right|thumb|350px|Figure 0-a: Mini-blockchain diagram.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The mini-blockchain is 1 of the [[3 core components]] of the [[mini-blockchain scheme]], it performs the 1st [[functions of the blockchain|function of a blockchain]]. The mini-blockchain is essentially just a normal blockchain, except that we don't need to keep a copy of historic &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;blocks&lt;/del&gt;. It isn't truly finite, because changing the max block size could increase the average size of the mini-blockchain. A mechanism for achieving a [[dynamic max block size]] is actually a part of [[Cryptonite]] but it's not a necessary part of the scheme.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The mini-blockchain is 1 of the [[3 core components]] of the [[mini-blockchain scheme]], it performs the 1st [[functions of the blockchain|function of a blockchain]]. The mini-blockchain is essentially just a normal blockchain, except that we don't need to keep a copy of historic &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;transactions&lt;/ins&gt;. It isn't truly finite, because changing the max block size could increase the average size of the mini-blockchain. A mechanism for achieving a [[dynamic max block size]] is actually a part of [[Cryptonite]] but it's not a necessary part of the scheme.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If we are going to keep track of the [[account tree]] with a set of node hashes and a [[master hash]], we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of [[transactions]] which are inserted into the database in periodic intervals of time. Without having the transactions solved in groups of transactions as blocks we have no viable method of maintaining the account tree. This creates an inherent need for a blockchain, but since we can discard old &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;blocks &lt;/del&gt;let's call it a “mini-blockchain”.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If we are going to keep track of the [[account tree]] with a set of node hashes and a [[master hash]], we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of [[transactions]] which are inserted into the database in periodic intervals of time. Without having the transactions solved in groups of transactions as blocks we have no viable method of maintaining the account tree. This creates an inherent need for a blockchain, but since we can discard old &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;transactions, &lt;/ins&gt;let's call it a “mini-blockchain”.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bitcoin requires the full blockchain because that's the only real way to determine the full balance of all the addresses. However we have the account tree to fulfill the task of managing account balances and recording the ownership of coins. We don't need the full thing, we can throw away old &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;blocks &lt;/del&gt;and save an immense amount of disk space. However we do keep a few hundred or a few thousand of the newest &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;blocks &lt;/del&gt;and that makes our mini-blockchain. The mini-blockchain also provides us with a level of security.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bitcoin requires the full blockchain because that's the only real way to determine the full balance of all the addresses. However we have the account tree to fulfill the task of managing account balances and recording the ownership of coins. We don't need the full thing, we can throw away old &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;transactions &lt;/ins&gt;and save an immense amount of disk space. However we do keep a few hundred or a few thousand of the newest &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;transactions &lt;/ins&gt;and that makes our mini-blockchain. The mini-blockchain also provides us with a level of security.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each block has the master hash embedded in the header and we can verify each block in the mini-blockchain starting from the beginning, making sure the transactions in each block always correspond to the master hash in the previous block. Since there is a proof-of-work process required for each block before it will be accepted into the mini-blockchain, it becomes extremely difficult for an attacker to generate a fake mini-blockchain. Although difficult, if we totally delete old &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;blocks&lt;/del&gt;, it is far from impossible.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each block has the master hash embedded in the header and we can verify each block in the mini-blockchain starting from the beginning, making sure the transactions in each block always correspond to the master hash in the previous block. Since there is a proof-of-work process required for each block before it will be accepted into the mini-blockchain, it becomes extremely difficult for an attacker to generate a fake mini-blockchain. Although difficult, if we totally delete old &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;transactions&lt;/ins&gt;, it is far from impossible.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;With Bitcoin we can start at the very beginning and work our way up to the latest point because we have the full blockchain. If an attacker creates a new mini-blockchain from the oldest block available, new nodes would have trouble telling it apart from the real mini-blockchain, because before that oldest block they have no history of what happened. The attacker can spend as much time as they need building up the cumulative difficulty of their mini-blockchain because it's not an ever-growing chain they have to out-pace.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;With Bitcoin we can start at the very beginning and work our way up to the latest point because we have the full blockchain. If an attacker creates a new mini-blockchain from the oldest block available, new nodes would have trouble telling it apart from the real mini-blockchain, because before that oldest block they have no history of what happened. The attacker can spend as much time as they need building up the cumulative difficulty of their mini-blockchain because it's not an ever-growing chain they have to out-pace.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The attacker could then start broadcasting the fake chain and it might propagate enough to impose a risk of becoming the main chain. The [[proof chain]] solves this by providing a mechanism which can act as a container for storing the long term proof-of-work history so that we can calculate the total cumulative difficulty of any chain. Instead of totally deleting old blocks we must maintain the block headers so that we can always trace the history of any given chain and compare the total cumulative difficulty each chain.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The attacker could then start broadcasting the fake chain and it might propagate enough to impose a risk of becoming the main chain. The [[proof chain]] solves this by providing a mechanism which can act as a container for storing the long term proof-of-work history so that we can calculate the total cumulative difficulty of any chain. Instead of totally deleting old blocks we must maintain the block headers so that we can always trace the history of any given chain and compare the total cumulative difficulty each chain.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=23&amp;oldid=prev</id>
		<title>Admin: resized and relocated image</title>
		<link rel="alternate" type="text/html" href="http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=23&amp;oldid=prev"/>
				<updated>2014-07-16T08:16:50Z</updated>
		
		<summary type="html">&lt;p&gt;resized and relocated image&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 08:16, 16 July 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The mini-blockchain is 1 of the [[3 core components]] of the &lt;/del&gt;[[mini-blockchain &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;scheme]], it performs the 1st [[functions of the blockchain&lt;/del&gt;|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;function of a blockchain]]. The mini&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;blockchain is essentially just &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;normal blockchain, except that we don't need to keep a copy of historic blocks. It isn't truly finite, because changing the max block size could increase the average size of the mini&lt;/del&gt;-blockchain. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;A mechanism for achieving a [[dynamic max block size&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is actually a part of [[Cryptonite]] but it's not a necessary part of the scheme.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;File:&lt;/ins&gt;mini-blockchain&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.jpg&lt;/ins&gt;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;right|thumb|350px|Figure 0&lt;/ins&gt;-a&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: Mini&lt;/ins&gt;-blockchain &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;diagram&lt;/ins&gt;.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;File:&lt;/del&gt;mini-blockchain&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.jpg&lt;/del&gt;|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;right|thumb|500px|Figure 0&lt;/del&gt;-a&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;: Mini&lt;/del&gt;-blockchain &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;diagram&lt;/del&gt;.]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The mini-blockchain is 1 of the [[3 core components]] of the &lt;/ins&gt;[[mini-blockchain &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;scheme]], it performs the 1st [[functions of the blockchain&lt;/ins&gt;|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;function of a blockchain]]. The mini&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;blockchain is essentially just &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;normal blockchain, except that we don't need to keep a copy of historic blocks. It isn't truly finite, because changing the max block size could increase the average size of the mini&lt;/ins&gt;-blockchain. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;A mechanism for achieving a [[dynamic max block size&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;is actually a part of [[Cryptonite]] but it's not a necessary part of the scheme.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If we are going to keep track of the [[account tree]] with a set of node hashes and a [[master hash]], we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of [[transactions]] which are inserted into the database in periodic intervals of time. Without having the transactions solved in groups of transactions as blocks we have no viable method of maintaining the account tree. This creates an inherent need for a blockchain, but since we can discard old blocks let's call it a “mini-blockchain”.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If we are going to keep track of the [[account tree]] with a set of node hashes and a [[master hash]], we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of [[transactions]] which are inserted into the database in periodic intervals of time. Without having the transactions solved in groups of transactions as blocks we have no viable method of maintaining the account tree. This creates an inherent need for a blockchain, but since we can discard old blocks let's call it a “mini-blockchain”.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=20&amp;oldid=prev</id>
		<title>Admin: fixed image</title>
		<link rel="alternate" type="text/html" href="http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=20&amp;oldid=prev"/>
				<updated>2014-07-16T08:06:56Z</updated>
		
		<summary type="html">&lt;p&gt;fixed image&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 08:06, 16 July 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The mini-blockchain is 1 of the [[3 core components]] of the [[mini-blockchain scheme]], it performs the 1st [[functions of the blockchain|function of a blockchain]]. The mini-blockchain is essentially just a normal blockchain, except that we don't need to keep a copy of historic blocks. It isn't truly finite, because changing the max block size could increase the average size of the mini-blockchain. A mechanism for achieving a [[dynamic max block size]] is actually a part of [[Cryptonite]] but it's not a necessary part of the scheme.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The mini-blockchain is 1 of the [[3 core components]] of the [[mini-blockchain scheme]], it performs the 1st [[functions of the blockchain|function of a blockchain]]. The mini-blockchain is essentially just a normal blockchain, except that we don't need to keep a copy of historic blocks. It isn't truly finite, because changing the max block size could increase the average size of the mini-blockchain. A mechanism for achieving a [[dynamic max block size]] is actually a part of [[Cryptonite]] but it's not a necessary part of the scheme.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;min&lt;/del&gt;-blockchain.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;png&lt;/del&gt;|right|thumb|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;300px&lt;/del&gt;|Figure 0-a: Mini-blockchain diagram.]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;mini&lt;/ins&gt;-blockchain.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jpg&lt;/ins&gt;|right|thumb|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;500px&lt;/ins&gt;|Figure 0-a: Mini-blockchain diagram.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If we are going to keep track of the [[account tree]] with a set of node hashes and a [[master hash]], we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of [[transactions]] which are inserted into the database in periodic intervals of time. Without having the transactions solved in groups of transactions as blocks we have no viable method of maintaining the account tree. This creates an inherent need for a blockchain, but since we can discard old blocks let's call it a “mini-blockchain”.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If we are going to keep track of the [[account tree]] with a set of node hashes and a [[master hash]], we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of [[transactions]] which are inserted into the database in periodic intervals of time. Without having the transactions solved in groups of transactions as blocks we have no viable method of maintaining the account tree. This creates an inherent need for a blockchain, but since we can discard old blocks let's call it a “mini-blockchain”.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=18&amp;oldid=prev</id>
		<title>Admin: Added page to wiki</title>
		<link rel="alternate" type="text/html" href="http://cryptonite.info/wiki/index.php?title=Mini-blockchain&amp;diff=18&amp;oldid=prev"/>
				<updated>2014-07-16T08:05:13Z</updated>
		
		<summary type="html">&lt;p&gt;Added page to wiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The mini-blockchain is 1 of the [[3 core components]] of the [[mini-blockchain scheme]], it performs the 1st [[functions of the blockchain|function of a blockchain]]. The mini-blockchain is essentially just a normal blockchain, except that we don't need to keep a copy of historic blocks. It isn't truly finite, because changing the max block size could increase the average size of the mini-blockchain. A mechanism for achieving a [[dynamic max block size]] is actually a part of [[Cryptonite]] but it's not a necessary part of the scheme.&lt;br /&gt;
&lt;br /&gt;
[[File:min-blockchain.png|right|thumb|300px|Figure 0-a: Mini-blockchain diagram.]]&lt;br /&gt;
&lt;br /&gt;
If we are going to keep track of the [[account tree]] with a set of node hashes and a [[master hash]], we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of [[transactions]] which are inserted into the database in periodic intervals of time. Without having the transactions solved in groups of transactions as blocks we have no viable method of maintaining the account tree. This creates an inherent need for a blockchain, but since we can discard old blocks let's call it a “mini-blockchain”.&lt;br /&gt;
&lt;br /&gt;
Bitcoin requires the full blockchain because that's the only real way to determine the full balance of all the addresses. However we have the account tree to fulfill the task of managing account balances and recording the ownership of coins. We don't need the full thing, we can throw away old blocks and save an immense amount of disk space. However we do keep a few hundred or a few thousand of the newest blocks and that makes our mini-blockchain. The mini-blockchain also provides us with a level of security.&lt;br /&gt;
&lt;br /&gt;
Each block has the master hash embedded in the header and we can verify each block in the mini-blockchain starting from the beginning, making sure the transactions in each block always correspond to the master hash in the previous block. Since there is a proof-of-work process required for each block before it will be accepted into the mini-blockchain, it becomes extremely difficult for an attacker to generate a fake mini-blockchain. Although difficult, if we totally delete old blocks, it is far from impossible.&lt;br /&gt;
&lt;br /&gt;
With Bitcoin we can start at the very beginning and work our way up to the latest point because we have the full blockchain. If an attacker creates a new mini-blockchain from the oldest block available, new nodes would have trouble telling it apart from the real mini-blockchain, because before that oldest block they have no history of what happened. The attacker can spend as much time as they need building up the cumulative difficulty of their mini-blockchain because it's not an ever-growing chain they have to out-pace.&lt;br /&gt;
&lt;br /&gt;
The attacker could then start broadcasting the fake chain and it might propagate enough to impose a risk of becoming the main chain. The [[proof chain]] solves this by providing a mechanism which can act as a container for storing the long term proof-of-work history so that we can calculate the total cumulative difficulty of any chain. Instead of totally deleting old blocks we must maintain the block headers so that we can always trace the history of any given chain and compare the total cumulative difficulty each chain.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>