It seems it would be ideal for everybody to run their own full node through tor for privacy. But since we arent there yet, and privacy requires company (many others doing the same thing), wouldnt light node tx’s through tor have more company and thus be currently more private?
Lightwalletd servers talk to either zcashd or zebra full nodes in order to broadcast transactions from your phone or get memos and all that stuff. Using vpns and tor for network level privacy is great in any case but regardless if you transmit directly from the node then you will circumvent the need to communicate to lightwalletd and not rely on a third party server provider and their node.
Then with running a full node you have to understand its designed to run constantly pretty much so you need to be prepared to have your computer on and running zcashd pretty much always (obviously not necessary, you can turn it off whenever you want but prepare needing it to be an almost dedicated thing especially if it lacks computational resources compared to modern +8-thread +8-gig machines). It’s not the easiest thing to do and probably never will be but if you can and choose to run a full node, either with a wallet (zcashd) or not (zebrad), it’s probably the most effective way to support the network, by just letting it run.
Then comes the Issue of using the native zcashd wallet. Commands to the wallet are issued through zcash-cli and it’s not really designed to be used directly by human beings. It can be used by a person absolutely but its tricky and error prone and requires extra steps and typing so many things out for anything and its really horrible. Superstar Zcashers who can actually work it for a wallet constitute a small, heroic minority. This issue has been addressed in a couple of ways most notably with zecwallet full node and the qt predecessors. After lightwalletd came around focus I think shifted a lot to that to enable mobile wallets and all of the awesome stuff we’ve got now. Zenith was a project by pitmutt to help address the issue (also some cool raspberry pi node tutorials). I did one called zclimate beta. They make using the full node wallet not so horrible and you only got to push a couple of basic things to do it and not huge strings of text json format every time
Zcash is a peer to peer network. Currently, when you introduce an intermediary (lightwalletd) you are reducing your privacy, the lightwalletd will be a target even with (vpn/tor). The lightwalletd app developers will sing to the mountains its safe, trusted, an audited. However, as always it depends on what kind of transactions you are completing. If your just trying to learn zcash, try anything. Unfortunately, ZCG and 90% of funded zcash apps have gone to programs that rely on lightwalletd. 2023 will bring more opportunities to strengthen the peer to peer network.
Good luck ®
But batching your tx’s with a larger set of tx’s is what gives you privacy. For this question, the use of a third party for their full blockchain state appears to be a moot point. The advantage of tor is that your ip address isnt known so the third party cant really glean anything about you if shielded other than the fact you arent in the pool of users using full nodes. Even tho full node users obsfucate the origin of their tx broadcast to other nodes more, since it isnt always going to the same third party, the whole set of all full node users needs to be viewed as one pool of tx’s, contrasted to the pool of tx’s going through any one third party that people are connecting their light client to. Am I missing something?
So if total full node users = 10, and total light client users connecting to entity A =11, all other things equal and done through tor, sending your tx in the pool of light client users affords more privacy.
Additionally, full node activity through tor is identifiable by ISP for example, further limiting privacy.
I agree with all the reasons full node usage should be pushed. I am speaking strictly about privacy with the current state of use.
All Zcash transactions are one pool of transactions, theres one main chain, there’s one total for all of it. I don’t think I understand the question.
yes and they can be further abstracted into smaller subsets based on usage data
Ok so which are you referring to exactly? Again not understanding your actual question
What is this batching you speak of? Thats a download thing as far as I know. Do you mean sending to multiple recipients? From shared funds held in a single account?
I’m pretty sure we’re not on the same page about whats going on. What are your resources?
Lightwalletd servers are not nodes themselves, they have to talk to a node and the only kind there is are full (technically there are pruned nodes out there maybe but they’re not usable for this case so they don’t count). The difference in using a light client versus a full node was answered above.
What’s the question?
Im referring to broadcasting a single tx via a light node or a full node and the different privacy implications each would have. In an ideal world everyone would use a full node and that would be the best for a number of reasons. But currently since most tx’s are broadcasted via light nodes, your actually anonymizing your tx data better if broadcasting through tor because more people are doing so.
If I run a full node and very few people do, and if that activity is identifiable by ISP for example (even if running my full node through tor), then all timestamps doing the same thing as me could be associated to me. If less people are doing this than using a light node, then my timestamps would be more anonymized by using a light node, especially since, to my understanding, my ISP for example would have a harder time determining I was using a light node through tor than a full node.
Okay that’s a full node
a lightwalletd server connected to full node, there is no light node.
When we say full node we mean the same thing.
I was assuming like bitcoin and ethereum, there were funtional lightnode implementations for zcash. Electrum is an example. I thought lightwalletd was a way to implement that.
light node seems to be a term in wide use:
by light node i meant local client for broadcasting signed transactions to a third party to then broadcast to the full node network.
That’s typically preferred to as light client, it doesn’t do any node process of its own like verify transactions or anything like that, it just sends requests and lightwalletd server fetches the data ftom a full node and broadcasts it back.
So if i’m interpreting correctly you mean the set of transactions that come from all the users and sort of bottle neck into one lightwalletd server node as an entry point could provide obfuscation. I cant speak to that but it sounds interesting maybe for like the network level but I don’t know if any data about an entry point can be extracted from the tx after it’s been committed to the block other than the block timestamp. You’d have to subpeona the logs of an individual server and that’s what the canary is for I believe.
Yes, thats exactly what i mean.
And i dont actually have any usage statistics i could find, but intuitively i believe most, even shielded txs are likely through some lightwalletd server node.
(Also, I just thought of this: Without knowing how all those lightwalletd server nodes are used and work, the set of transactions to one server node could probably be even further divided into obfuscation sets. Like if one is predominantly used by some android app, then the obfuscation benefits of one node could be negated by the opsec ramifications of using an android app like most the other users are, instead of using a desktop Qube client with it.)
And yes, I believe the only thing after the tx is commited to the block that can be extracted is its timestamp.
I am thinking from a network monitoring perspective. What full nodes, lightwalletd servers, and ISPs can see and log.
Would the implementation of Dandelion++ into the Zcash network alleviate some of these concerns? The Dandelion protocol was originally proposed for Bitcoin, but I believe that Monero is currently the only privacy coin of note to implement this form of obfuscation.
Would be great for the exploration of a zcash leap platform ( https://leap.se ) designed for node operators. I’ve often wondered is it better to run nodes with individual ips or have multiple nodes running with the same ips?