<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=T18ftw</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=T18ftw"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/T18ftw"/>
	<updated>2026-05-09T12:53:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Satoshi_Nakamoto&amp;diff=24530</id>
		<title>Satoshi Nakamoto</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Satoshi_Nakamoto&amp;diff=24530"/>
		<updated>2012-03-08T08:15:13Z</updated>

		<summary type="html">&lt;p&gt;T18ftw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Satoshi-nakamoto.gif|thumb|200px|right|Picture of Satoshi Nakamoto.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Satoshi Nakamoto&#039;&#039;&#039; is the founder of [[Bitcoin]] and initial creator of the [[Original Bitcoin client]]. He has said in a P2P foundation profile&amp;lt;ref name=&amp;quot;p2p_f_profile&amp;quot;&amp;gt;[http://p2pfoundation.ning.com/profile/SatoshiNakamoto Satoshi Nakamoto profile on P2P Foundation]&amp;lt;/ref&amp;gt; that he is from Japan. Beyond that, not much else is known about him and his identity. He has been working on the Bitcoin project since 2007.&amp;lt;ref&amp;gt;[http://www.bitcoin.org/smf/index.php?topic=13.msg46#msg46 Re: Questions about Bitcoin]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
His involvement in the Bitcoin project had tapered and by late 2010 it has ended.  The most recent messages reportedly indicate that Satoshi is &amp;quot;gone for good&amp;quot;&amp;lt;ref&amp;gt;[http://bitcoinstats.com/irc/logs/2011/04/26/5#l445170 Transcript of #bitcoin-dev for 2011/04/26]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Possible Motives==&lt;br /&gt;
&lt;br /&gt;
He left some clues about why he is doing this project with the inclusion of the following text in the [[Genesis block]], &amp;quot;The Times 03/Jan/2009 Chancellor on brink of second bailout for banks&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Some interesting quotes:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;Yes, [we will not find a solution to political problems in cryptography,] but we can win a major battle in the arms race and gain a new territory of &lt;br /&gt;
freedom for several years.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Governments are good at cutting off the heads of a centrally controlled &lt;br /&gt;
networks like Napster, but pure P2P networks like Gnutella and Tor seem to be &lt;br /&gt;
holding their own.&amp;lt;ref&amp;gt;[http://www.mail-archive.com/cryptography@metzdowd.com/msg09971.html Re: Bitcoin P2P e-cash paper Fri, 07 Nov 2008 09:30:36 -0800]&amp;lt;/ref&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;It&#039;s very attractive to the libertarian viewpoint if we can explain it &lt;br /&gt;
properly.  I&#039;m better with code than with words though. &amp;lt;ref&amp;gt;[http://www.mail-archive.com/cryptography@metzdowd.com/msg10001.html Re: Bitcoin P2P e-cash paper Fri, 14 Nov 2008 14:29:22]&amp;lt;/ref&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Possible identity==&lt;br /&gt;
&lt;br /&gt;
His identity and nationality are unknown. The few bits of information available&amp;lt;ref name=&amp;quot;p2p_f_profile&amp;quot;/&amp;gt; about him point to Japan, he never wrote a single line of Japanese, the Bitcoin client has no Japanese version and there is no Japanese page on [http://bitcoin.org bitcoin.org].&lt;br /&gt;
&lt;br /&gt;
He is entirely unknown outside of Bitcoin as far as anyone can tell, and his PGP key was created just months prior to the date of the genesis block. He seems to be very familiar with the cryptography mailing list, but there are no non-Bitcoin posts from him on it. He has used an email address from an anonymous mail hosting service (vistomail) as well as one from a free webmail account (gmx.com) and sends mail when connected via Tor. Some have speculated that his entire identity was created in advance in order to protect himself or the network. Perhaps he chose the name Satoshi because it can mean &amp;quot;wisdom&amp;quot; or &amp;quot;reason&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://forum.bitcoin.org/Satoshi_Nakamoto.asc Satoshi&#039;s PGP public key]&lt;br /&gt;
* [http://www.bitcoin.org/bitcoin.pdf Bitcoin: A Peer-to-Peer Electronic Cash System] Paper&lt;br /&gt;
* [http://sourceforge.net/users/s_nakamoto SourceForge page]&lt;br /&gt;
* [http://ubg.com.uy Fans Develop Group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[de:Satoshi Nakamoto]]&lt;/div&gt;</summary>
		<author><name>T18ftw</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Network&amp;diff=24529</id>
		<title>Network</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Network&amp;diff=24529"/>
		<updated>2012-03-08T08:10:22Z</updated>

		<summary type="html">&lt;p&gt;T18ftw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitcoin uses a simple broadcast network to propagate transactions and blocks. All communications are done over TCP. Bitcoin is fully able to use ports other than 8333 via the -port parameter. IPv6 is currently not supported.&lt;br /&gt;
&lt;br /&gt;
== Messages ==&lt;br /&gt;
* &#039;&#039;version&#039;&#039; - Information about program version and block count. Exchanged when first connecting.&lt;br /&gt;
* &#039;&#039;verack&#039;&#039; - Sent in response to a version message to acknowledge that we are willing to connect.&lt;br /&gt;
* &#039;&#039;addr&#039;&#039; - List of one or more IP addresses and ports.&lt;br /&gt;
* &#039;&#039;inv&#039;&#039; - &amp;quot;I have these blocks/transactions: ...&amp;quot; Normally sent only when a &#039;&#039;new&#039;&#039; block or transaction is being relayed. This is only a list, not the actual data.&lt;br /&gt;
* &#039;&#039;getdata&#039;&#039; - Request a single block or transaction by hash.&lt;br /&gt;
* &#039;&#039;getblocks&#039;&#039; - Request an &#039;&#039;inv&#039;&#039; of all blocks in a range.&lt;br /&gt;
* &#039;&#039;getheaders&#039;&#039; - Request a &#039;&#039;headers&#039;&#039; message containing all block headers in a range.&lt;br /&gt;
* &#039;&#039;tx&#039;&#039; - Send a transaction. This is sent only in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;block&#039;&#039; - Send a block. This is sent only in response to a &#039;&#039;getdata&#039;&#039; request.&lt;br /&gt;
* &#039;&#039;headers&#039;&#039; - Send up to 2,000 block headers. Non-generators can download the headers of blocks instead of entire blocks.&lt;br /&gt;
* &#039;&#039;getaddr&#039;&#039; - Request an &#039;&#039;addr&#039;&#039; message containing a bunch of known-active peers (for bootstrapping).&lt;br /&gt;
* &#039;&#039;submitorder&#039;&#039;, &#039;&#039;checkorder&#039;&#039;, and &#039;&#039;reply&#039;&#039; - Used when performing an [[IP address|IP transaction]].&lt;br /&gt;
* &#039;&#039;alert&#039;&#039; - Send a network alert.&lt;br /&gt;
* &#039;&#039;ping&#039;&#039; - Does nothing. Used to check that the connection is still online. A TCP error will occur if the connection has died.&lt;br /&gt;
&lt;br /&gt;
More information and in-depth technical information is in the [[Protocol Specification]].&lt;br /&gt;
&lt;br /&gt;
== Connection ==&lt;br /&gt;
&lt;br /&gt;
To connect to a peer, you send a &#039;&#039;version&#039;&#039; message containing your version number, block count, and current time. The remote peer will send back a &#039;&#039;verack&#039;&#039; message and his own &#039;&#039;version&#039;&#039; message if he is accepting connections from your version. You will respond with your own &#039;&#039;verack&#039;&#039; if you are accepting connections from his version.&lt;br /&gt;
&lt;br /&gt;
The time data from all of your peers is collected, and the median is used by Bitcoin for all network tasks that use the time (except for other version messages).&lt;br /&gt;
&lt;br /&gt;
You then exchange &#039;&#039;getaddr&#039;&#039; and &#039;&#039;addr&#039;&#039; messages, storing all addresses that you don&#039;t know about. &#039;&#039;addr&#039;&#039; messages often contain only one address, but sometimes contain up to 1000. This is most common at the beginning of an exchange.&lt;br /&gt;
&lt;br /&gt;
== Standard relaying ==&lt;br /&gt;
&lt;br /&gt;
When someone sends a transaction, they send an &#039;&#039;inv&#039;&#039; message containing it to all of their peers. Their peers will request the full transaction with &#039;&#039;getdata&#039;&#039;. If they consider the transaction valid after receiving it, they will also broadcast the transaction to all of their peers with an &#039;&#039;inv&#039;&#039;, and so on. Peers ask for or relay transactions only if they don&#039;t already have them. A peer will never rebroadcast a transaction that it already knows about, though transactions will eventually be forgotten if they don&#039;t get into a block after a while. The sender and receiver of the transaction will rebroadcast, however.&lt;br /&gt;
&lt;br /&gt;
Anyone who is generating will collect valid received transactions and work on including them in a block. When someone does find a block, they send an &#039;&#039;inv&#039;&#039; containing it to all of their peers, as above. It works the same as transactions.&lt;br /&gt;
&lt;br /&gt;
Everyone broadcasts an &#039;&#039;addr&#039;&#039; containing their own IP address every 24 hours. Nodes relay these messages to a couple of their peers and store the address if it&#039;s new to them. Through this system, everyone has a reasonably clear picture of which IPs are connected to the network at the moment. After connecting to the network, you get added to everyone&#039;s address database almost instantly because of your initial &#039;&#039;addr&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Network alerts are broadcast with &#039;&#039;alert&#039;&#039; messages. No &#039;&#039;inv&#039;&#039;-like system is used; these contain the entire alert. If a received alert is valid (signed by one of the people with the private key), it is relayed to all peers. For as long as an alert is still in effect, it is rebroadcast at the start of every new connection.&lt;br /&gt;
&lt;br /&gt;
== Initial block download ==&lt;br /&gt;
&lt;br /&gt;
At the start of a connection, you send a &#039;&#039;getblocks&#039;&#039; message containing the hash of the latest block you know about. If the peer doesn&#039;t think that this is the latest block, it will send an &#039;&#039;inv&#039;&#039; that contains up to 500 blocks ahead of the one you listed. You will then request all of these blocks with &#039;&#039;getdata&#039;&#039;, and the peer will send them to you with &#039;&#039;block&#039;&#039; messages. After you have downloaded and processed all of these blocks, you will send another &#039;&#039;getblocks&#039;&#039;, etc., until you have all of the blocks.&lt;br /&gt;
&lt;br /&gt;
0.3.18 introduced new &#039;&#039;headers&#039;&#039; and &#039;&#039;getheaders&#039;&#039; messages. These are not currently used, but they will be used by non-generators to download block headers without the corresponding block bodies. Only the headers are necessary for verifying received transactions -- full blocks are needed only by generators. Instead of the &#039;&#039;getblocks/inv/getdata/block&#039;&#039; sequence, non-generators will send a &#039;&#039;getheaders&#039;&#039; message (very like &#039;&#039;getblocks&#039;&#039;), and the peer will immediately respond with a &#039;&#039;headers&#039;&#039; message containing up to 2,000 of the next headers. This will make initial block download &#039;&#039;much&#039;&#039; faster.&lt;br /&gt;
&lt;br /&gt;
== Bootstrapping ==&lt;br /&gt;
&lt;br /&gt;
You choose which peers to connect to by sorting your address database by the time since you last saw the address and then adding a bit of randomization.&lt;br /&gt;
&lt;br /&gt;
Bitcoin has three methods of finding peers.&lt;br /&gt;
&lt;br /&gt;
=== Addr ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;addr&#039;&#039; messages described above create an effect similar to the IRC bootstrapping method. You know reasonably quickly whenever a peer joins, though you won&#039;t know for a while when they leave.&lt;br /&gt;
&lt;br /&gt;
Bitcoin comes with a list of addresses known as &amp;quot;seed nodes&amp;quot;. If you are unable to connect to IRC and you&#039;ve never connected to the network before, the client will update the address database by connecting to one of the nodes from this list.&lt;br /&gt;
&lt;br /&gt;
The -addnode command line option can be used to manually add a node.  The -connect option can force bitcoin to connect only to a specific node.&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
Bitcoin looks up the IP Addresses of several host names and adds those to the list of potential addresses.  This is intended to replace the IRC seeding mechanism in future releases.&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
&lt;br /&gt;
Bitcoin joins a random channel between #bitcoin00 and #bitcoin99 on irc.lfnet.org. Your nick is set to an encoded form of your IP address. By decoding all the nicks of all users on the channel, you get a list of all IP addresses currently connected to Bitcoin.&lt;br /&gt;
&lt;br /&gt;
For hosts that cannot make outbound connections on port 6667, the lfnet servers are also [[FAQ#Do_I_need_to_configure_my_firewall_to_run_bitcoin?|listening on port 7777]].&lt;br /&gt;
&lt;br /&gt;
== Heartbeat ==&lt;br /&gt;
&lt;br /&gt;
If thirty minutes or more has passed since the client has transmitted any messages it will transmit a message to keep the connection to the peer node alive.&lt;br /&gt;
&lt;br /&gt;
If ninety minutes has passed since a peer node has communicated any messages, then the client will assume that connection has closed.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Protocol Specification]]&lt;br /&gt;
* [http://bitcoinstatus.rowit.co.uk/ Current Network Status]&lt;br /&gt;
* [http://ubg.com.uy/ Network Researchers]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
&lt;br /&gt;
[[pl:Sieć]]&lt;/div&gt;</summary>
		<author><name>T18ftw</name></author>
	</entry>
</feed>