<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://opentransactions.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Sample_Cash</id>
	<title>Sample Cash - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://opentransactions.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Sample_Cash"/>
	<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Sample_Cash&amp;action=history"/>
	<updated>2026-05-12T04:55:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.2</generator>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Sample_Cash&amp;diff=1917&amp;oldid=prev</id>
		<title>FellowTraveler: unlinkable</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Sample_Cash&amp;diff=1917&amp;oldid=prev"/>
		<updated>2013-09-18T23:41:36Z</updated>

		<summary type="html">&lt;p&gt;unlinkable&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 23:41, 18 September 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l74&quot; &gt;Line 74:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 74:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In June or July, SERIES 5 would come into operation, valid until December 31st, etc. Around this same time, the Series 3 tokens would finally expire.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In June or July, SERIES 5 would come into operation, valid until December 31st, etc. Around this same time, the Series 3 tokens would finally expire.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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: #222; 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;Because all tokens for a specific series have the exact same expiration date, the date cannot be used to track the cash -- thus, it remains &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;UNTRACEABLE&lt;/del&gt;. Your wallet software can also compare the tokens to the Mint public file (for the correct series) and verify that they all have the exact same expiration date.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Because all tokens for a specific series have the exact same expiration date, the date cannot be used to track the cash -- thus, it remains &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;unlinkable&lt;/ins&gt;. Your wallet software can also compare the tokens to the Mint public file (for the correct series) and verify that they all have the exact same expiration date.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; 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;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once a specific series has expired, the spent token database for that series can be DISCARDED and does not have to be stored any longer by the server operator.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once a specific series has expired, the spent token database for that series can be DISCARDED and does not have to be stored any longer by the server operator.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FellowTraveler</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Sample_Cash&amp;diff=75&amp;oldid=prev</id>
		<title>Cryptoman: Created page with &quot;Nick Szabo wrote:  ''Meet the greatest simple equation since e=mc2:''  '''gSf(m) = S(m)'''  ''S is a digital signature. f is the blinding function, and g an unblinding functio...&quot;</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Sample_Cash&amp;diff=75&amp;oldid=prev"/>
		<updated>2013-06-11T16:10:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Nick Szabo wrote:  &amp;#039;&amp;#039;Meet the greatest simple equation since e=mc2:&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;gSf(m) = S(m)&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;S is a digital signature. f is the blinding function, and g an unblinding functio...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Nick Szabo wrote:&lt;br /&gt;
&lt;br /&gt;
''Meet the greatest simple equation since e=mc2:''&lt;br /&gt;
&lt;br /&gt;
'''gSf(m) = S(m)'''&lt;br /&gt;
&lt;br /&gt;
''S is a digital signature. f is the blinding function, and g an unblinding function. The blinding functions are usually based on a secret random number called the &amp;amp;quot;blinding factor&amp;amp;quot;. m is another random number, a unique identifier which can, for example, refer to an instance of some object.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
Here's a sample piece of OT cash:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN SIGNED CASH-----&lt;br /&gt;
Hash: SAMY&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot;?&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;token&lt;br /&gt;
 version=&amp;amp;quot;1.0&amp;amp;quot;&lt;br /&gt;
 state=&amp;amp;quot;spendableToken&amp;amp;quot;&lt;br /&gt;
 denomination=&amp;amp;quot;25&amp;amp;quot;&lt;br /&gt;
 assetTypeID=&amp;amp;quot;XUHBvdsWAEmErZMzHaRKaNPaAVsUvKwL4uLY4nOY2s4&amp;amp;quot;&lt;br /&gt;
 serverID=&amp;amp;quot;44FmyPAgrmGu671RywGnhrt8aR6tzmNFn9WKQ92BXn&amp;amp;quot;&lt;br /&gt;
 series=&amp;amp;quot;0&amp;amp;quot;&lt;br /&gt;
 validFrom=&amp;amp;quot;1281865563&amp;amp;quot;&lt;br /&gt;
 validTo=&amp;amp;quot;1297417563&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;tokenID&amp;amp;gt;&lt;br /&gt;
AAAAgGZdHsse3IXV4VTvm78X5uFwrmSuc116m3dSS2ueXbAKQnSeADKyUoBa8Dem&lt;br /&gt;
isNgXcjfbfVKsrVAPR3kNd9xCFY4uR7nMBSOHKrCaUSpUVVgB8IOYtgOmPQTXiuE&lt;br /&gt;
wtJrxofv947QBuP8RnVvf0ZVt0xLL6zlbpk3UW4iDIr0HXmuQQ49q/vJdWJjSHRF&lt;br /&gt;
Q/nt0BN5mxFiSbXyKr7no+QC0u7Sr78jYI3Itn67J3uaMmxBmA4JrIrHse36ABuW&lt;br /&gt;
zxecCkTNki9Om5bl6c1QgM/N1gogWX3n4o7Zz+7Dw7zt1e/7nG6AYlOT3kfpXNnT&lt;br /&gt;
8xojuyaiSINDQOoJboc0tq2CnX+ma6CNC7bQKtN69SZJs14DseqKquWe7gwCHPTo&lt;br /&gt;
ewSsKeRmTjzxDhjnFNLRRJGhC4bvH/tZD0UE8EY0X83mvQiNJ/5on2SxTxanJXNt&lt;br /&gt;
iCj3+Uczaa0CQ1fQ6ubrwbpeWgZRzB3CUtHTsLVhPSBkEnRbndyFEehfb6rKyEqs&lt;br /&gt;
kfEaa1LdiBj/MctrP6EBbGcrmixnr820KLXmFNjDhhybeFNK/cTRuYw7cWra4/S9&lt;br /&gt;
F4QViwCmlLToMwOCYmwMpm//HFn4eQSLsMcP+gVAXme9YmVTlEKupQGV+EbJ/gnO&lt;br /&gt;
prlZxQ==&lt;br /&gt;
&amp;amp;lt;/tokenID&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/token&amp;amp;gt;&lt;br /&gt;
-----BEGIN CASH SIGNATURE-----&lt;br /&gt;
GAry6ydopTPrPMs1V+9EPvszmZQsRkOtqm+5QeUywyEyOUoFuJJfHhPxMWPbupf/&lt;br /&gt;
cq+vBf0JwK5yy/XA2Pzom80TPTry4JpxXckx/JcmyUikhocTY01sDZNcXzEfBvQJ&lt;br /&gt;
kIeADfmw/4/adTjHhVCy4k+OdGFvdIwfNIdbVfsfKfg=&lt;br /&gt;
-----END CASH SIGNATURE-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
People have asked why the denomination &amp;amp;quot;25&amp;amp;quot; is human-readable in the note. They assume it is only supplemental and the actual amount is somehow stored in the Lucre blinded data.&lt;br /&gt;
&lt;br /&gt;
BUT IN FACT, the Lucre blinded data contains ''only'' a Token ID. The denomination (&amp;amp;quot;25&amp;amp;quot; in this case) is necessary so the server knows ''which'' minting key to use when verifying the note (it ''definitely'' won't verify if the wrong key is used.) Similarly, the wallet needs to know the denomination for unblinding the note, during the withdrawal process. So that number is there as part of the protocol, and the note will not verify if the wrong denomination is substituted.&lt;br /&gt;
&lt;br /&gt;
Decrypting the tokenID (from Lucre and stored on the Note):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
id=A4C05DF4C43B77EBF02309502E5FB3F30C5811886254DD8B9B0C2791&lt;br /&gt;
signature=9F29D79A07D48D467874DE7F76B5EF02646835A47DD576221612DA1A9C4A531C&lt;br /&gt;
10DFF2BECB5EC72D13F2C1DE3EB885636085F09CF33F80125BB2EA3CEA01EA6B112125E29E&lt;br /&gt;
796FD889CBA467B1F5B9BF4FA2FFEA8AB4C111D84F4E7236B70A42CE3137FB23DEBE79FF37&lt;br /&gt;
B6C161A3F77009EF714E8D0CE528B5572DA58155D59C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
All cash tokens have the exact same expiration dates as the [[Sample Mint|mints]] that created them. Tokens are sent back and forth between the client and server by bundling them into a [[Sample Purse|purse]] and adding them to a withdrawal or deposit transaction.&lt;br /&gt;
&lt;br /&gt;
For example, a certain currency may be in its third series, (SERIES 3), with ''all'' tokens valid from January 1st through June 31st, and the mint itself expiring on March 1st.&lt;br /&gt;
&lt;br /&gt;
On March 1st, SERIES 4 would come into operation, with all tokens valid from March 1st through September 30th. (At this point, the Series 3 tokens are still valid as well -- the server would accept both.)&lt;br /&gt;
&lt;br /&gt;
In June or July, SERIES 5 would come into operation, valid until December 31st, etc. Around this same time, the Series 3 tokens would finally expire.&lt;br /&gt;
&lt;br /&gt;
Because all tokens for a specific series have the exact same expiration date, the date cannot be used to track the cash -- thus, it remains UNTRACEABLE. Your wallet software can also compare the tokens to the Mint public file (for the correct series) and verify that they all have the exact same expiration date.&lt;br /&gt;
&lt;br /&gt;
Once a specific series has expired, the spent token database for that series can be DISCARDED and does not have to be stored any longer by the server operator.&lt;br /&gt;
&lt;br /&gt;
This is fully-functional now, and makes it much more practical to operate a server.&amp;lt;br /&amp;gt;Wallet software can automatically do the job of exchanging tokens if they are close to their expiration dates.&lt;br /&gt;
&lt;br /&gt;
Opportunity for wallet designers: If your wallet is unregistered, you exchange all expiring tokens and keep them for yourself. But if user pays registration fee, then you automatically exchange them for the user. Nifty?&lt;br /&gt;
&lt;br /&gt;
NOTE: the tokenSignature Lucre data no longer appears in the spendable cash notes. It's used to unblind the token after the Mint signs and returns it (during the withdrawal process) and then the signature is '''discarded''' because it's no longer needed and because it could be used to trace the token. You may notice the Open Transactions cash notes are a little smaller now, because of this fix.&lt;br /&gt;
&lt;br /&gt;
I kept the below signature decode for historical reasons, since this field still occurs in signed tokens, though it is removed by the time they are unblinded and become fully spendable.&lt;br /&gt;
&lt;br /&gt;
Decoding the tokenSignature, from Lucre and stored on the signed, (and still blinded), note:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
request=2331FBA771EB4DF7DFCD3D4DFD9F3DA5F43A90C7A00EC599C557E8C82D9679BB0F&lt;br /&gt;
2AEF36ECBCA3C551B5C7E134C151AC93779415E695C5CDDD753DE245DF31904EEFC1D3E3D4&lt;br /&gt;
64E5DB27E80AE65355004DC869CF47BBDCD2B79EF2F23A0412826EE9794E9B8BA07E03C417&lt;br /&gt;
A59EC2CB74195FB2714E1CBAE49EF89D5A672CA6BA&lt;br /&gt;
signature=8B29439A2CA05CE28C416A8C5395123468A8E8505C1B2FC1568910B27759B652&lt;br /&gt;
971240C975D1422C9ADC35368A6A6B439F1D4614C52713A82C9B662E9099121324DD4BEA5B&lt;br /&gt;
76AD123F9912AB43A47AC590FC1DCED905C10B72B418107FD709D57D8DEC779896F48989C7&lt;br /&gt;
2171D01BCB15673CCF36B2FFCC29B9D986FCFE97E689&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Sample Mint|To read about the OTMint object, click here]]. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Sample Purse|To read about the OTPurse object, click here]].&lt;/div&gt;</summary>
		<author><name>Cryptoman</name></author>
		
	</entry>
</feed>