<p>A <strong>wallet</strong> is a way of storing your private and public keypairs. It is used by various <strong>clients</strong> to check your balance and create new transactions. A client usually listens on port 8333, and has 8 other ports open for outgoing TCP/IP connections. It finds peers through various means - exchanging info with other peers, using fallback nodes, seed nodes and so forth. Its main purpose is to exchange information with its peers about new blocks, transactions and the like in a peer-to-peer fashion.</p>

<p>A <strong>miner</strong> is an application connected to a <strong>mining pool</strong>. The mining pool runs its own client to get the latest information on blocks and transactions, as well as handling the creation of new blocks. The pools generally use port 8332 for communicating with their miners. It is a server that communicates with a lot of miners through the use of HTTP JSON RPC, and usually comes with a website of some sorts. The miners find the pool, and the pool doesn't care about peers (it has a client for that).</p>

<p>A miner is an application that runs on local mining rigs (computers with high-end GPUs and other dedicated devices). It communicates with a mining pool through HTTP JSON RPC calls. The miner connects to (usually) one pool of a predetermined address, but the getwork protocol facilitates the use of backup pool addresses. The miner is responsible for getting "work" from a pool, processing it, and submitting shares back to the pool. A miner does not care about its peers, just the pool it is connected to.</p>

<p>I hope that clears out all the problems you had. You might also be interested in checking out my <a href="https://bitcointalk.org/index.php?topic=88149.0">master thesis on Bitcoin</a> for more information on numerous subjects related to Bitcoin, mining pools and security.</p>

CC BY-SA 3.0
2012-12-07T15:46:59.510Z
@ThePiachu miners don't have to connect to mining pools, right?
Kinnard Hockenhull
CC BY-SA 3.0
2012-12-07T20:37:59.680Z
@KinnardHockenhull Miners need to connect to something in order to get their work. It can be a pool, a p2pool, or just bitcoind running on the same machine. In general though, it's most often a pool or something acting like a pool.
ThePiachu
CC BY-SA 3.0
2012-09-17T01:35:08.190Z
Fantastic paper!  I'll be sharing that with many people.  I do have some follow up questions on topics that weren't clear to me I'll post as separate questions on SE.
makerofthings7
CC BY-SA 3.0
2012-09-17T03:50:47.563Z
@makerofthings7 I'm glad you enjoy it, and feel free to ask anything, this is what this site is for:).
ThePiachu
CC BY-SA 3.0
2012-09-17T04:08:08.027Z
OK :) - In section 4.4.5 ...What is a safe transaction?
makerofthings7
CC BY-SA 3.0
2012-09-17T04:19:47.793Z
@makerofthings7 I think what I meant that **IF** RIPEMD-160 ever is considered compromised and unsafe, people should be using other transaction formats in order to send coins safely, for example by paying directly to a public key, rather than a Bitcoin address.
ThePiachu
CC BY-SA 3.0
2012-09-17T04:28:36.527Z
Aah, I was thinking the same for secp256k.. since it is so bitcoin specific; though the paper didn't tell me when or how that was being used.  I'll post that is a dedicated question.
makerofthings7
CC BY-SA 3.0
2012-09-16T19:45:17.773Z
2012-09-16T19:45:17.773Z
ThePiachu
<p>I'm trying to understand how transactions are broadcast, the time is synchronized, and the chain extended.</p>

<p>I have a wallet on OSX that required me to fully synchronize with the network.  Contrasting with this is the BitMinter client that doesn't need the historic chain.</p>

<p>Can someone help me understand how a wallet and a miner work in a P2P environment with respect to </p>

<ul>
<li>Network (port) requirements and what protocol</li>
<li>locating peers</li>
<li>The actions taken with each peer</li>
</ul>

<wallet><protocol><network><mining-software><port>
What ways does a miner differ from a wallet?
makerofthings7
# What ways does a miner differ from a wallet?

(Asked by: username_0 on 2012-09-16)

I'm trying to understand how transactions are broadcast, the time is synchronized, and the chain extended.

I have a wallet on OSX that required me to fully synchronize with the network. Contrasting with this is the BitMinter client that doesn't need the historic chain.

Can someone help me understand how a wallet and a miner work in a P2P environment with respect to

* Network (port) requirements and what protocol
* locating peers
* The actions taken with each peer

**Tags:** wallet, protocol, network, mining-software, port


---

## 1 answers

### Answer by username_1 on 2012-09-16. Score: 4 | Accepted answer

A **wallet** is a way of storing your private and public keypairs. It is used by various **clients** to check your balance and create new transactions. A client usually listens on port 8333, and has 8 other ports open for outgoing TCP/IP connections. It finds peers through various means - exchanging info with other peers, using fallback nodes, seed nodes and so forth. Its main purpose is to exchange information with its peers about new blocks, transactions and the like in a peer-to-peer fashion.

A **miner** is an application connected to a **mining pool**. The mining pool runs its own client to get the latest information on blocks and transactions, as well as handling the creation of new blocks. The pools generally use port 8332 for communicating with their miners. It is a server that communicates with a lot of miners through the use of HTTP JSON RPC, and usually comes with a website of some sorts. The miners find the pool, and the pool doesn't care about peers (it has a client for that).

A miner is an application that runs on local mining rigs (computers with high-end GPUs and other dedicated devices). It communicates with a mining pool through HTTP JSON RPC calls. The miner connects to (usually) one pool of a predetermined address, but the getwork protocol facilitates the use of backup pool addresses. The miner is responsible for getting "work" from a pool, processing it, and submitting shares back to the pool. A miner does not care about its peers, just the pool it is connected to.

I hope that clears out all the problems you had. You might also be interested in checking out my [master thesis on Bitcoin](https://bitcointalk.org/index.php?topic=88149.0) for more information on numerous subjects related to Bitcoin, mining pools and security.

> **Comments:**
> **username_0**: Fantastic paper!  I'll be sharing that with many people.  I do have some follow up questions on topics that weren't clear to me I'll post as separate questions on SE.  
> **username_1**: @username_0 I'm glad you enjoy it, and feel free to ask anything, this is what this site is for:).  
> **username_0**: OK :) - In section 4.4.5 ...What is a safe transaction?  
> **username_1**: @username_0 I think what I meant that **IF** RIPEMD-160 ever is considered compromised and unsafe, people should be using other transaction formats in order to send coins safely, for example by paying directly to a public key, rather than a Bitcoin address.  
> **username_0**: Aah, I was thinking the same for secp256k.. since it is so bitcoin specific; though the paper didn't tell me when or how that was being used.  I'll post that is a dedicated question.  
> **username_2**: @username_1 miners don't have to connect to mining pools, right?  
> **username_1**: @username_2 Miners need to connect to something in order to get their work. It can be a pool, a p2pool, or just bitcoind running on the same machine. In general though, it's most often a pool or something acting like a pool.  

---

