200 gigabytes.
That’s the maximum load some personal laptops will store. It’s also roughly the amount of space the bitcoin blockchain currently requires.
These bloating storage requirements are a longstanding problem for the community’s efforts to keep bitcoin decentralized. But Bitcoin Core contributor and maintainer Jonas Schnelli has spent the past few years trying to make full nodes easier to run for a wider audience despite this huge data cost – and in turn, make bitcoin more resistant to centralization.
With so much information to download, setting up a bitcoin full node currently takes days or even weeks. This issue was at the heart of bitcoin’s years-long scaling debate. While increasing transaction capacity by raising the block size limit might have eased the network’s steadily rising transaction fees, it also would have disqualified more users from running bitcoin’s core infrastructure.
And even though the block size held steady, the pressures favoring centralization remain, because of the storage space and time it takes to set up a full node.
Yet, developers argue that running a full node is the best way to use bitcoin (some even going as far as to claim that without a full node to validate bitcoin transactions themselves, users are just wasting their time on cryptocurrency). In this way, users take full advantage of all bitcoin’s benefits, including censorship-resistance and the minimization of trust in third parties.
“It’s very important to run bitcoin full nodes. It’s the main or at least a significant reason to use bitcoin,” Schnelli told CoinDesk. “If we throw that away we lose one of the more interesting parts of bitcoin.”
Schnelli’s particular focus is on making Bitcoin Core, the most popular bitcoin software implementation, more user-friendly, for people he calls “non-geeks.”
And he feels, perhaps, a stronger commitment than most to this cause, saying:
“I think it’s our duty as developers to make it possible to run full nodes.”
To be sure, you could argue that most of the 15,000 updates to the codebase implemented over the years are geared toward the same goal, making bitcoin more efficient and faster to download.
Yet, Schnelli is specifically focused on the software’s user experience, coming up with creative ways to make it easier for people to run these full nodes.
And Schnelli doesn’t want those full nodes leashed to the places they were set up, such as a user’s desktop computer at home or the office, where it can only verify transactions from one location.
Instead, Schnelli wants bitcoin full nodes to be mobile.
“We’ve almost reached that goal,” he said, adding that other developers have been helping him bring recent additions to Bitcoin Core – such the ability to load multiple separate wallets when starting the software – that would help bring full node mobility to fruition.
Once all the pieces are in place, users will be able to securely connect smartphone wallets to their full nodes running from home.
Further, Schnelli is developing a hybrid Simplified Payment Verification (SPV) mode, which allows users waiting for their full node to download to still use Bitcoin Core to validate and make transactions in the meantime.
With an SPV wallet, the user has some information about the bitcoin transaction history, but must rely on trusting other full nodes to ultimately verify transactions.
This scenario is one many bitcoin developers would like to avoid, but it would only be used for the time it takes to download the full node.
Depending on the hardware and internet speeds being used to download a full node, the process can take days, and sometimes, weeks – which is an “unacceptable user experience,” Schnelli said. Hence the need for some kind of connection in the interim.
And once the full node download is complete, the software switches back to the more secure full node.
Another project Schnelli is getting started on, in an effort to cut down the time it takes to set up a full node, is building devices that already have a bitcoin full node downloaded and set up on them.
This comes from the knowledge that users generally need to buy “dedicated hardware,” which can cost a few hundred dollars, to run bitcoin full nodes.
Also the co-founder of hardware wallet Digital Bitbox, Schnelli is calling the project a “full node in a box.” He hopes to sell those devices in the future. While unsure how much they would cost, he said they would save a lot of time.
“You could have a black box similar to an Apple TV or router that you just plug in and it works,” he said.
There are similar full node-only devices on the market, “but not in a way that I think is useful,” Schnelli said. “It’s hard to get affordable hardware that syncs pretty fast,” and building a “good” full node device requires knowing the ins and outs of the Bitcoin Core code.
BitSeed devices, for example, cost between $200 and $350. Schnelli said he thinks he can ship a product that slashes this cost, partly by doing the marketing required to attract a few hundred or thousand buyers.
Schnelli envisions the “full-node-in-a-box” device as a computerized auditor someone would run in their home to ensure their bitcoin finances are in check. Less entertaining than streaming television shows on an Apple TV, but perhaps producing greater satisfaction in the long run.
Jonas Schnelli image via San Francisco bitcoin developers video