RFP - Run Your Own Zcash Full Node

Hi ,

I read about web3 phone priced at $2000. I don’t know if it was meant for running nodes as that network requires a ridiculous amount of memory and storage.
My question is if we target the $100-200 price range for this device will users buy this product in this bear market?

1 Like

$100-200 for a device just to secure the network without getting nothing in return? I dont think so…

1 Like

I mean if there’s a $200 device that automates running and upgrading zcashd and zebrad, I’m buying. Also, open source software that automates this process is highly welcomed by the community.

3 Likes

@gottabeJay @tokidoki $100-$200 is a lot for most people. But considering how 8GB Raspberry pis cost more than $100 , I don’t think that I could get SoC+Ddr3+PMIC and Ethernet components for less than $100.

Embassy9 is selling these devices at $399 without SSD :neutral_face:

5 Likes

Good point. I take that back.

1 Like

I take in account that zcash network can potentially switch the consensus mechanism to Proof of Stake.

So, 200$ to run a node at home and earn rewards for staking at your own node is quite awesome. I’ll give even 300 and maybe in the future there will be some apps deployed on the top of zcashd.

3 Likes

I agree with Tim. Having a customized node for PoS node deployment sounds promising. For now ,I will wait to hear back from the community grants committee and will build based on their instructions and feedback.

2 Likes

Running a node in the cloud - 2 cores, 8 gigs, 100gb of storage is in the neighborhood of $50/month. So, IDK, $100 piece of hardware that just needs some internet? Sounds too cheap IMO … inflation is moving fast though - $100 isn’t what it used to be in June 2022 …

Links?

I’m interested in deploying zcashd and friends with docker/k8s or even ansible; but, right now I’m still in the typing-stuff-into-a-shell-after-launching-a-vm phase. Here are some notes I made for how I am messing around with running a full node in the cloud:

This method leaves a lot to be desired and I’m certainly interested in more one-click solutions for the cloud and I think a dedicated home device fullnode would also be cool. I have a kid who is really into linux and security and cryptography and such and a hobbyist fullnode device would be a cool project for us.

1 Like

These specs seem to be on the low side. Have you tested a full synchronization from genesis?

@skyl If your cloud provider offers archlinux, there is a package for zcashd. You just need to install it with the usual package manager.

https://man.archlinux.org/man/community/zcash/zcashd.1.en

It’s kept up to date by the community.

I pretty much always use debian - installing zcashd on debian is a breeze. But, I still want to further automate it either through ansible or k8s. k8s might be cool because it should be that multiple full nodes can share the blockchain data so that ~50GB is not needed redundantly for each node?

zcashd stores the blockchain data in LevelDb databases. They are not designed to be shared.

1 Like

Ah, thanks for the info! Hrmm …

Here is requested link https://hub.docker.com/u/electriccoinco

Contains zcashd, lightwalletd, ci builders and workers for testing/building/bench.

1 Like

Suggestion [0]: This section should contain a bullet point requiring the installation of a Tor daemon, and zcashd configuration to work with it unless the user opts out of Tor. That provides basic (but suboptimal) network-layer privacy by default.

Whenever Zcash starts to support onions (which it currently doesn’t), that should be configured by default. The node MUST support outbound connections to onions, and SHOULD configure an onion listener unless the user disables listening. (Thereby using RFC 2119 language.) I would even suggest adding an interface that helps the user opt-in to running a Tor middle node or bridge node, with secure defaults.

Suggestion [1]: This section should include a bullet point for something that the Zcash community badly needs anyway—perhaps even a subject for a separate grant: Investigating and documenting low-end hardware requirements for running an inexpensive node.

The Bitcoin community is full of such things—for only one example:

Someone (cough) should test a variety of configurations using inexpensive, widely-available hardware, report on what works/what doesn’t, and eventually develop a practical guide for easily running a low-cost node. But that costs money.

Support for a beta-development alternative node should not be a requirement. zcashd fulfills the stated purposes for which this project is proposed. Anyway, support for an alternative node is the type of thing which could be added in the future, if/when zebrad is fully mature.

Please stipulate that this should be fully and easily under the user’s control, even if it is enabled by default.

(As a separate issue, this is a general problem with zcashd: It can force you to update, unless you know how to edit code and recompile. To protect decentralization and avoid centralized authority, Bitcoin intentionally deprives Bitcoin Core developers of any ability whatsoever to twist people’s arms into changing to new versions. Except in the extremely rare event of a CVE, the only reason to install a new Bitcoin Core version is if you want to—which most people do.)

Reorgs should never require a reindex. A reorg is normal behaviour on a blockchain. A consensus node (and anything built on a consensus node) should handle reorgs gracefully and automatically.

Where have you seen a reorg require reindexing? That would be a serious bug.

I have never reindexed my zcashd due to a reorg. I have never (yet) used lightwalletd, so I cannot comment on that.


The foregoing are only some passing comments. If I have any further comments or wish to engage here, I will return to this thread.

1 Like

ZCG has received interest in response to the RFP post “Run Your Own Zcash Full Node” RFP - Run Your Own Zcash Full Node - #22 by ahas

The committee discussed the proposal Proposal 1 & 2 on a call with Ahas and is impressed by the background and projects undertaken by the applicant. At this time, Proposal 1 seems very applicable to the immediate need to decentralize and increase the number of Zcash nodes run by hobbyists the Zcashers. The proposal aims to build a completely customized Linux distro for installing on dev boards such as Raspberry Pi 4, which can start serving Zcash nodes without any setup. The distro will be maintained by the grant applicant and must be capable of running zcashd, zebrad, and lightwalletd without any installation or logging to the terminal. By leveraging a cron job to check for updates regularly, the node is kept running the latest version. Users can effortlessly set up the node just by installing the Linux image onto their Raspberry Pi 4 or NVIDIA Jetson and forget the pain of installing a hundred packages and libraries. (includes an excerpt from the proposal slides)

Apart from providing the downloadable distro, Ahas and the team will make available direct purchase of Raspberry Pi 4 & Nvidia Jetson devices (pre-installed with the Zcash distros) for Plug-and-Play setup, all at a nominal cost. Hardware and software support will be included, and the team plans to leverage the community to crowdsource troubleshooting of common issues.

The ZCG committee invites Ahas and the team to apply for a grant detailing the plans for Proposal 1 with set milestones. After evaluating the deliverables and community adoption of Proposal 1, ZCG may evaluate the need for Proposal 2 which includes the building of a custom SoC for an even more Zcash-centric design of portable nodes.

11 Likes

Hello @ahas & the Zcash Community, I am happy to announce that at the most recent meeting the @ZcashGrants Committee has voted to approve @ahas’s RFP submission.

You can view the approved proposal HERE

4 Likes

Hi,
Thanks for approving our proposal. We will keep posting updates on this space about the work we are doing and will post updates in a regular interval.

Once again , thanks for selecting our proposal for funding :heart:

  • Regards
4 Likes

Hi ,

With the current expansion of the Zcash network’s blockchain , is it feasible to continue with the assumption that smaller node operators can use Raspberry pi to host the the blockchain data. Provided that raspberry pi can use an 2TB SSD at max?
I’m working on the RFP - running your own Zcash full node for creating a plug and play node based on Raspberry pi or any other AARM64 capable processor.I can solve this issue for some time by using a 240GB SSD , but wouldn’t that be putting the future users at a risk?

  • Regards.

Passing this information along, per request:

There exists some concern in the hardware used initially to prototype and future design from. Specifically, the Raspberry Pi 4 8GB board. The upcoming Raspberry Pi 5 boards, with no confirmed release date, are rumored to potentially have 16GB of RAM, but do not intend to substantially upgrade other memory/disk IO ports(eMMC, M.2 NVMe, etc). These are critical IO components, until the disk usage from large transaction loads can be solved with alternative methods, to mitigate usability/robustness issues in future design/development. To be fair, it is still feasible to operate full nodes with these hardware specifications, and likely the best case when primarily considering cost/availability. Additionally, if significant software optimizations can reduce the effects of the large transaction load, this should not limit the future scope of work using Raspberry Pis or other ARM boards.

An example of such a board, with more IO options for mem/disk, can be found here:

As of writing this the default mainnet chain is 150GBs and grows at roughly 1GB+ per day during peak load. The 240GB disk would be filled in about 90 days. This all is fairly worst case estimates given none of these have fee mechanisms considered.

2 Likes

@dismad posted a fantastic guide that I think compliments this work really well zechub/RaspberryPi4FullNode.md at main · dismad/zechub · GitHub

4 Likes