<?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=Messaging</id>
	<title>Messaging - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://opentransactions.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Messaging"/>
	<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Messaging&amp;action=history"/>
	<updated>2026-05-05T11:52:46Z</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=Messaging&amp;diff=1915&amp;oldid=prev</id>
		<title>FellowTraveler: unlinkable</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Messaging&amp;diff=1915&amp;oldid=prev"/>
		<updated>2013-09-18T23:40: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:40, 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-l48&quot; &gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&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;&amp;lt;/pre&amp;gt;&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;&amp;lt;/pre&amp;gt;&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;The user registers his public key so that it can be stored on the server side. He might register with many different keys, depending on his level of paranoia. He might also go “cash only” and therefore not register at all, but this isn’t necessary for untraceability (only for anonymity), since even the pseudonymous accounts are &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;untraceable &lt;/del&gt;when you use cash.&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;The user registers his public key so that it can be stored on the server side. He might register with many different keys, depending on his level of paranoia. He might also go “cash only” and therefore not register at all, but this isn’t necessary for untraceability (only for anonymity), since even the pseudonymous accounts are &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;unlinkable &lt;/ins&gt;when you use cash.&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;Your public key is a pseudonym. You will see the words “User ID” and “Nym ID” and “Nym” and “pseudonym” used interchangeably in OT. They all mean the same thing: a public key, or an ID used to look it up.&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;Your public key is a pseudonym. You will see the words “User ID” and “Nym ID” and “Nym” and “pseudonym” used interchangeably in OT. They all mean the same thing: a public key, or an ID used to look it up.&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=Messaging&amp;diff=189&amp;oldid=prev</id>
		<title>FellowTraveler: removed bold, changed to italics</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Messaging&amp;diff=189&amp;oldid=prev"/>
		<updated>2013-06-17T10:25:58Z</updated>

		<summary type="html">&lt;p&gt;removed bold, changed to italics&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 10:25, 17 June 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-l7&quot; &gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&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;Each OTMessage is encrypted in an OTEnvelope, to the public key located in the server contract, after which only the server can open it.&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;Each OTMessage is encrypted in an OTEnvelope, to the public key located in the server contract, after which only the server can open it.&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;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/del&gt;''When messaging the transaction server, a new user includes his public key ''in the message'' so that the server can verify his signature and also so it can encrypt its response to him&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'&lt;/del&gt;''.&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;''When messaging the transaction server, a new user includes his public key ''in the message'' so that the server can verify his signature and also so it can encrypt its response to him''.&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;If you look at the below “Check Server ID” message, you can see that the user has included his public key:&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;If you look at the below “Check Server ID” message, you can see that the user has included his public key:&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=Messaging&amp;diff=188&amp;oldid=prev</id>
		<title>FellowTraveler: added link about OTX protocol</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Messaging&amp;diff=188&amp;oldid=prev"/>
		<updated>2013-06-17T10:25:19Z</updated>

		<summary type="html">&lt;p&gt;added link about OTX protocol&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 10:25, 17 June 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-l1&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;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;Open Transactions is agnostic to transport. Meaning that libOTLib.a, the actual library (containing the bulk of the code), includes '''no transport code at all'''.&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;Open Transactions is agnostic to transport. Meaning that libOTLib.a, the actual library (containing the bulk of the code), includes '''no transport code at all'''.&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;The '''OTMessage''' class, which OT uses for all of its messaging, simply serializes itself into string form, and then you can transport that string using whatever form of transport you wish. (OT operates on Request / Response model.)&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;The '''OTMessage''' class, which OT uses for all of its messaging, simply serializes itself into string form, and then you can transport that string using whatever form of transport you wish. (OT operates on Request / Response model.) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;See this article on the [[OTX|OTX protocol.]]&lt;/ins&gt;&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;The OT Server, Test Client, and API were written using the OT Library. ''These'' pieces ''do'' implement transport, via a callback function. The current callback is implemented using the [http://www.zeromq.org/ ZeroMQ Library]&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;The OT Server, Test Client, and API were written using the OT Library. ''These'' pieces ''do'' implement transport, via a callback function. The current callback is implemented using the [http://www.zeromq.org/ ZeroMQ Library]&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=Messaging&amp;diff=69&amp;oldid=prev</id>
		<title>Cryptoman at 22:23, 10 June 2013</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Messaging&amp;diff=69&amp;oldid=prev"/>
		<updated>2013-06-10T22:23:02Z</updated>

		<summary type="html">&lt;p&gt;&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 22:23, 10 June 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-l3&quot; &gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;The '''OTMessage''' class, which OT uses for all of its messaging, simply serializes itself into string form, and then you can transport that string using whatever form of transport you wish. (OT operates on Request / Response model.)&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;The '''OTMessage''' class, which OT uses for all of its messaging, simply serializes itself into string form, and then you can transport that string using whatever form of transport you wish. (OT operates on Request / Response model.)&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;The OT Server, Test Client, and API were written using the OT Library. ''These'' pieces ''do'' implement transport, via a callback function. The current callback is implemented using the [&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ZeroMQ Library] (&lt;/del&gt;http://www.zeromq.org/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;)&lt;/del&gt;&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;The OT Server, Test Client, and API were written using the OT Library. ''These'' pieces ''do'' implement transport, via a callback function. The current callback is implemented using the [http://www.zeromq.org/ &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ZeroMQ Library]&lt;/ins&gt;&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;Each OTMessage is encrypted in an OTEnvelope, to the public key located in the server contract, after which only the server can open it.&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;Each OTMessage is encrypted in an OTEnvelope, to the public key located in the server contract, after which only the server can open it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cryptoman</name></author>
		
	</entry>
	<entry>
		<id>http://opentransactions.org/wiki/index.php?title=Messaging&amp;diff=68&amp;oldid=prev</id>
		<title>Cryptoman: Created page with &quot;Open Transactions is agnostic to transport. Meaning that libOTLib.a, the actual library (containing the bulk of the code), includes '''no transport code at all'''.  The '''OTM...&quot;</title>
		<link rel="alternate" type="text/html" href="http://opentransactions.org/wiki/index.php?title=Messaging&amp;diff=68&amp;oldid=prev"/>
		<updated>2013-06-10T22:21:23Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Open Transactions is agnostic to transport. Meaning that libOTLib.a, the actual library (containing the bulk of the code), includes &amp;#039;&amp;#039;&amp;#039;no transport code at all&amp;#039;&amp;#039;&amp;#039;.  The &amp;#039;&amp;#039;&amp;#039;OTM...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Open Transactions is agnostic to transport. Meaning that libOTLib.a, the actual library (containing the bulk of the code), includes '''no transport code at all'''.&lt;br /&gt;
&lt;br /&gt;
The '''OTMessage''' class, which OT uses for all of its messaging, simply serializes itself into string form, and then you can transport that string using whatever form of transport you wish. (OT operates on Request / Response model.)&lt;br /&gt;
&lt;br /&gt;
The OT Server, Test Client, and API were written using the OT Library. ''These'' pieces ''do'' implement transport, via a callback function. The current callback is implemented using the [ZeroMQ Library] (http://www.zeromq.org/)&lt;br /&gt;
&lt;br /&gt;
Each OTMessage is encrypted in an OTEnvelope, to the public key located in the server contract, after which only the server can open it.&lt;br /&gt;
&lt;br /&gt;
'''When messaging the transaction server, a new user includes his public key ''in the message'' so that the server can verify his signature and also so it can encrypt its response to him'''.&lt;br /&gt;
&lt;br /&gt;
If you look at the below “Check Server ID” message, you can see that the user has included his public key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN SIGNED MESSAGE-----&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;OTmessage&lt;br /&gt;
 version=&amp;amp;quot;1.0&amp;amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;checkServerID&lt;br /&gt;
 nymID=&amp;amp;quot;Bg2QrSTomOEU5ICfvhfYfBYxQZPktDSnaVPpMLYxUnz&amp;amp;quot;&lt;br /&gt;
 serverID=&amp;amp;quot;44FmyPAgrmGu671RywGnhrt8aR6tzmNFn9WKQ92BXn&amp;amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;nymPublicKey&amp;amp;gt;&lt;br /&gt;
- -----BEGIN PUBLIC KEY-----&lt;br /&gt;
LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlHZk1BMEdDU3FHU0liM0RRRUJB&lt;br /&gt;
UVVBQTRHTkFEQ0JpUUtCZ1FEZThQMTg3aWkvanpuZ3Z6QmV1QisvYTJXMApQUFNK&lt;br /&gt;
NVd0TTFJdTdMWEc1REp2Ly80ekJuUVJqQzd5TXd4Q3VwdFJwZ2JyTHpNbTdmYklF&lt;br /&gt;
cXNFMDgvQW41OGtUCjYxK0JXRHpyUjBaVnZBeDNncUdtUXEybWtsZVpsb2FvdXE4&lt;br /&gt;
UXRwZHJoVEQwM2VxRDk5cVBRMHdRTWdHRy8rMFAKOEhsVHJtOGY1VFFtVkVuVHVR&lt;br /&gt;
SURBUUFCCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo=&lt;br /&gt;
- -----END PUBLIC KEY-----&lt;br /&gt;
&amp;amp;lt;/nymPublicKey&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/checkServerID&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/OTmessage&amp;amp;gt;&lt;br /&gt;
-----BEGIN MESSAGE SIGNATURE-----&lt;br /&gt;
Version: Open Transactions 0.40&lt;br /&gt;
Comment: http://github.com/FellowTraveler/Open-Transactions/wiki&lt;br /&gt;
&lt;br /&gt;
y0c9qAp9xS7f9/r9HokY70ajoAO92/LhNXvDOqg1Td0TtsvndNX4+rfahat+w2Y5&lt;br /&gt;
fbFn9ZAZkFUOqjNE4zPwazRSm93W0SIj1rCyOjWkCYfSFLsGm+YS5oMwRColAqu1&lt;br /&gt;
FmdO3SSTMVzLnUGpt4BKGPSct0xr48Rh0l5o6Za0XDI=&lt;br /&gt;
-----END MESSAGE SIGNATURE-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The user registers his public key so that it can be stored on the server side. He might register with many different keys, depending on his level of paranoia. He might also go “cash only” and therefore not register at all, but this isn’t necessary for untraceability (only for anonymity), since even the pseudonymous accounts are untraceable when you use cash.&lt;br /&gt;
&lt;br /&gt;
Your public key is a pseudonym. You will see the words “User ID” and “Nym ID” and “Nym” and “pseudonym” used interchangeably in OT. They all mean the same thing: a public key, or an ID used to look it up.&lt;br /&gt;
&lt;br /&gt;
Below is an example of an OTMessage where the user is requesting a copy of his inbox. Notice this message does not include a public key; once you have registered a public key with the server, it does not have to be passed back and forth anymore. Below, the message only includes the Nym ID this time, instead of the entire public key. The server will use the ID to look up the key, and then verify the signature on the message. '''Only messages signed by the appropriate key will be processed.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN SIGNED MESSAGE-----&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;OTmessage&lt;br /&gt;
 version=&amp;amp;quot;1.0&amp;amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;getInbox&lt;br /&gt;
 nymID=&amp;amp;quot;Bg2QrSTomOEU5ICfvhfYfBYxQZPktDSnaVPpMLYxUnz&amp;amp;quot;&lt;br /&gt;
 serverID=&amp;amp;quot;44FmyPAgrmGu671RywGnhrt8aR6tzmNFn9WKQ92BXn&amp;amp;quot;&lt;br /&gt;
 accountID=&amp;amp;quot;PhmhKernutijMa2XXxH1dZnTluIDQUVn1tifSOq9H4x&amp;amp;quot;&lt;br /&gt;
 requestNum=&amp;amp;quot;269&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/getInbox&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/OTmessage&amp;amp;gt;&lt;br /&gt;
-----BEGIN MESSAGE SIGNATURE-----&lt;br /&gt;
Version: Open Transactions 0.40&lt;br /&gt;
Comment: http://github.com/FellowTraveler/Open-Transactions/wiki&lt;br /&gt;
&lt;br /&gt;
mu6uLNV/OVL42bZbuD5lfUQLKfUcsLqyfy5dGfjPiQ3hzuhge4RXqzs1t0wnuS2F&lt;br /&gt;
AarWXdxO5+wlu5ZUW/7uJj0IP5dMJcxjWYh/ZBRDInBTH8zXbg6ZvPp+0Ia4nJOx&lt;br /&gt;
dsvwNyizqbSnidI5knjaJmusknFWA4r3Cp00fvZQWHg=&lt;br /&gt;
-----END MESSAGE SIGNATURE-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice a few things:&lt;br /&gt;
&lt;br /&gt;
# The above message includes the ServerID. Why? ''To prevent the message being intercepted and sent to a different server, since the signature itself will verify.''&lt;br /&gt;
# Notice also that the message above includes a “Request Number”. This number must increment with each message. Why? ''To prevent the message being intercepted and sent multiple times''. Once a message has been used once, it can never work again, since the request number is now invalid.&lt;br /&gt;
&lt;br /&gt;
If you send a &amp;amp;quot;getInbox&amp;amp;quot; request, the server replies with &amp;amp;quot;@getInbox&amp;amp;quot;. Here is that reply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN SIGNED MESSAGE-----&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;OTmessage&lt;br /&gt;
 version=&amp;amp;quot;1.0&amp;amp;quot;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;@getInbox&lt;br /&gt;
 success=&amp;amp;quot;true&amp;amp;quot;&lt;br /&gt;
 nymID=&amp;amp;quot;Bg2QrSTomOEU5ICfvhfYfBYxQZPktDSnaVPpMLYxUnz&amp;amp;quot;&lt;br /&gt;
 serverID=&amp;amp;quot;44FmyPAgrmGu671RywGnhrt8aR6tzmNFn9WKQ92BXn&amp;amp;quot;&lt;br /&gt;
 accountID=&amp;amp;quot;PhmhKernutijMa2XXxH1dZnTluIDQUVn1tifSOq9H4x&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;inboxLedger&amp;amp;gt;&lt;br /&gt;
eJx1UslyGjEQzXm+YoorhUf7QsWuAoMJXnDYTOAmqSUYswyBAUy+PiKkKskhukjd&lt;br /&gt;
6uW97lerxdNsd7q9dNjt9Nqt9Lnd6rQHF3ct+WL2i3o6bLxMk+Szca44bMpnD3O/&lt;br /&gt;
S49+t8+LzW0F36BKkpbnrb+t5BtbfETrd2i3Fb8lM8Ig67k0ygRnVbyo9cggcIpj&lt;br /&gt;
hR0OgghhGShMERc+cMuDVoRbAdpTTj3CjHkHilrDNHUekWAlaMcw4cZZ4M54J50N&lt;br /&gt;
QhuGnQSwkgaprQ0RzWHvdxcoErALQXAjg7fGmYjKmksgCI4o8UIQ5OMTB4a1wJZY&lt;br /&gt;
Tw1wLkBpDCzELpaTyE1JhyQYjYMFpxkCowQnTDsrPLLUiOAlCBGEpUF5qxnX2HKo&lt;br /&gt;
JBHI8YqFOccAOIop5sJEAooVkEcaTIiNgwOsNKUYIiUkQ6SEsQcltJDgMXE6BGCe&lt;br /&gt;
OgISAQJpEIkoPVEoEAg4QECcM8qVUCy6bJCWSmBEawMCfCW9iyvN/tnpXVL7o4ar&lt;br /&gt;
DH6JojEaD9pXQbxdt15PX7d+k452ZrM3royefYpuGErui/Xab8p6uijLbT3L5nm5&lt;br /&gt;
ONgbV6yzB79aFaeYcvQrv8suBWp/F8hO+TJPEvSl2s37s/OoaBSzZqe7P+Xs+zZn&lt;br /&gt;
s37HnXqPclGEsDyf9dtq3pnMqos+bayXIrQWM9IcHc7LZMwnjU6+YtkLmQn5bT2Y&lt;br /&gt;
PVQnyxV1Wf+o1U4Mz0/3LcdaTdT+Kp+Mqr7mfvremzbmp+Fb88d9QnjT4edpedjY&lt;br /&gt;
5UbNRsV8MP7QzU6m9h9sPXl/OBzL7PHVynx8e51Yu9f6z7ySTz8BFP0Cpw==&lt;br /&gt;
&amp;amp;lt;/inboxLedger&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/@getInbox&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/OTmessage&amp;amp;gt;&lt;br /&gt;
-----BEGIN MESSAGE SIGNATURE-----&lt;br /&gt;
Version: Open Transactions 0.40&lt;br /&gt;
Comment: http://github.com/FellowTraveler/Open-Transactions/wiki&lt;br /&gt;
&lt;br /&gt;
3Ly510ofsMjiaWZiid/5ekmfVHWbWmHZpY9u4T5QVViqCusw8NhGAZFDshrWtUWc&lt;br /&gt;
CFJ+H1uFiS91kreHeqb9Qp7difWL4lBgxNn4I8pP0dKJmkUiS5R9dLAFonJMBZfg&lt;br /&gt;
ybwAEUX6WxVYLEZpDxLFqojXgVP+nPrUcf9LVu89rHg=&lt;br /&gt;
-----END MESSAGE SIGNATURE-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, my inbox is attached to the above server reply. (In base64-encoded form.) Decoding it reveals it to be empty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN SIGNED LEDGER-----&lt;br /&gt;
Hash: SAMY&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;accountLedger version=&amp;amp;quot;1.0&amp;amp;quot;&lt;br /&gt;
 type=&amp;amp;quot;inbox&amp;amp;quot;&lt;br /&gt;
 accountID=&amp;amp;quot;PhmhKernutijMa2XXxH1dZnTluIDQUVn1tifSOq9H4x&amp;amp;quot;&lt;br /&gt;
 userID=&amp;amp;quot;Bg2QrSTomOEU5ICfvhfYfBYxQZPktDSnaVPpMLYxUnz&amp;amp;quot;&lt;br /&gt;
serverID=&amp;amp;quot;44FmyPAgrmGu671RywGnhrt8aR6tzmNFn9WKQ92BXn&amp;amp;quot; &amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;/accountLedger&amp;amp;gt;&lt;br /&gt;
-----BEGIN LEDGER SIGNATURE-----&lt;br /&gt;
Version: Open Transactions 0.40&lt;br /&gt;
Comment: http://github.com/FellowTraveler/Open-Transactions/wiki&lt;br /&gt;
&lt;br /&gt;
0H+IiQZyToAoZBGIswi4qpi4ZQGcwNJ7hoffkyy9VlgGWZ+hQ3Amk6fDhZ2BTuyk&lt;br /&gt;
U5WAGil4/M2Z67XmRZF+Wkl3c/Qv98r6SyKCDc4DB0EP7Ka8+OieYjNYAgwSVBzC&lt;br /&gt;
25Bc1LYtunbkn8ZTogRUx9BG/8sx4mWjFuvt/JOb7iU=&lt;br /&gt;
-----END LEDGER SIGNATURE-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
What about messages that involve transactions? [[Transactions|Click here to read about transaction-specific messages on OT]].&lt;/div&gt;</summary>
		<author><name>Cryptoman</name></author>
		
	</entry>
</feed>