Subject: Re: [Bitcoin-development] Bitcoin components.

From: "Luke-Jr" <[email-masked]>
Date: Thu, 28 Jul 2011 01:56:50 -0400

On Thursday, July 28, 2011 1:25:46 AM Alan Grimes wrote:
> https://en.bitcoin.it/wiki/Infrastructure
> 
> This is OK as a super high-level overview, but it leaves a great deal to
> be explained.
> 
> First what is the status of this? Is it fully implemented? A working
> proposal? An approved proposal? etc...

I put the page together a while ago with logical segregation of the current 
Bitcoin concept. wxBitcoin originally implemented the entire thing as one big 
blob. Miners got moved out first. Spesmilo took the next step of separating 
out a GUI. Wallet and node are currently tightly tied together in bitcoind, 
though it can function as only one of the two just as well. So in practice, it 
is fully possible to run it like that, but I'm not aware of any de facto use 
yet.

> It is taken for granted that the peer will have a listening component
> that accepts connections from other peers.
> 
> Does it also have an active component? If so, what operations does it
> perform autonomously?

Generally, nodes need to make outbound connections too, at least to get 
started.

> Interesting... What is the exact relationship between the wallet and the
> miner? (The miner is irrelevant to me until I have a wallet I can trust
> enough to experiment with...)

The miner can really get by with just an address from the wallet--
it needs somewhere to put its generated coins ;)

> A general problem that I haven't seen any documentation on yet is that
> most of today's operating systems are properly multi-user systems.
> Naturally, each user would keep his wallet in an encrypted store in his
> home directory. Are there any standards yet for users to set up their
> personal wallet daemon that connects to a system-wide peer node and
> provides an interface for only their own GUI?

You can run a system-wide bitcoind (or equivalent) to handle p2p connectivity, 
and have each user run a dedicated wallet bitcoind (with the -connect option) 
with a unique JSON-RPC port (for Spesmilo) or wx GUI. I don't think there is 
any automated setup for this kind of arrangement. I personally foresee the p2p 
being implemented on a SOHO router as the end goal (or even better-- 
multicast).