And details on "directory servers", "witnesses", "trusted party transaction servers".
A lot of that is explained in the technical documentation. Briefly, the directory servers function like torrent trackers. The network nodes contact one or more directory servers, register their own onion address, and request the onion addresses of 6-20 random peers. The network nodes then contact random peers via their Tor hidden services to assemble the mesh network that relays transactions and blocks. All communication with the directory servers is also via Tor so the transaction servers themselves don't have to be trusted--they can neither compromise a node's privacy, nor target their communications in an effort to split or fork the network.
The witnesses assemble the blockchain. That is explained in the whitepaper and the "Blockchain Assembly" document. The witnesses' only role is to timestamp the transactions. The number of witness is limited so the blockchain can be assembled in an orderly manner that achieves higher speed and reliability. All of the nodes on the network verify the blockchain, so the witnesses cannot add any transaction that violates the transaction rules. And since all communication is via Tor, the witnesses are also not able to compromise privacy nor target their communications in an effort to split or fork the network.
The transaction servers help wallet applications create and submit transactions. That is explained in the whitepaper, the "Wallet Developer's Guide" and the "Transaction API Reference Manual". Any network node can act as a transaction server, so you will eventually be able to run your own (when the network node software is done), or we plan to provide public transaction servers that anyone can use. The distinction between a trusted transaction server and an untrusted transaction server is explained in the whitepaper (page 9). The trust in this case is only in regard to privacy. If the wallet does not trust the transaction server to maintain privacy, the wallet can take extra steps to prevent its queries to the transaction server from being linked to the transaction that the wallet creates and submits to the network.
What is your .onion? What networks besides Tor do you have as pluggable (or even multihome) options for when Tor is or becomes incapacitated or unreachable or users simply prefer other?
We currently do not support any network other than Tor. Before introducing a new network, we would have to carefully consider whether it could potentially compromise privacy and security.
Our website does not have an onion address at the moment, although I'm sure we'll add one eventually. The current Bear Bonds test network has one onion address for a public transaction server--that address can be found in the wallet simulation script.
-- tor-talk mailing list - tor-talk@xxxxxxxxxxxxxxxxxxxx To unsubscribe or change other settings go to https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-talk