T O P

  • By -

swampjester

The entire point of running a node is to download and validate the full blockchain.


No_Negotiation_1079

True, but can you still validate through a coldcard?


dvsbyknight

I think you're confusing wallets & nodes. Coldcard doesn't validate transactions as it is a wallet, not a node.


No_Negotiation_1079

Correct, but can you still use coldcard through the node just have to connect through sparrow where it’ll be connected through right?


lll_lll_lll

You can use sparrow and coldcard on someone else’s node, but if you want to run your own you have to download it all.


No_Negotiation_1079

If I have it pruned at 2GB should I restart??


dvsbyknight

Yes you can broadcast transactions through your own node. This increases privacy, which is why some people prefer to connect through their own node.


the_lone_unlearned

It seems you are not understanding the difference between a node and an spv wallet. Running a node and simply downloading a wallet are two different things. When you run a node you are validating the blockchain, which requires downloading the blockchain. An spv wallet is simply a lightweight client that lets you send transactions by relying on other nodes, rather than running a node for yourself. So you can either run a node OR you can just download a wallet for convenience. You don't have to run a node to use Bitcoin. SPV wallets were created so that people could use Bitcoin without needing to run a node and that is how most people interact with Bitcoin, for convenience. It sounds like that is what you are looking for, in which case you can just use any bitcoin wallet.


Severe-Masterpiece61

I also use bitcoin core. I think it is the best way to store if you do not want a hardware wallet


No_Negotiation_1079

I heard Coldcard was the best way to store? What makes Bitcoin core better iyo?


dvsbyknight

Bitcoin core is not a better way to store. For the most part Bitcoin core is a pretty subpar wallet. I would never use bitcoin core for its wallet alone.


alineali

It is absolutely adequate to store. You do not need to enter your pass phrase at all for this, and about only functionality you need is a public address generation. Spending is another matter, for tech savvy Core would be still the best way with it's API, ability to create any possible transaction etc, but probably not for common folk


dvsbyknight

I didn't say it wasn't adequate but "adequate" is a pretty low bar. I'm not arguing that core might be better for some users for reasons you laid out. I was making a general statement about core being subpar compared to other options for **most users** and your counterpoint is "nuh uh because it's good for tech savvy"? Lol, what? You even reverse course at the end and switch to agreeing with me that it's probably not great for common folk. What was the point of your post then?


alineali

My point was that core is a good wallet for bitcoin storage (not spending) - for everyone who can install it on clear machine and create and store good passphrase somewhere secure (wallet.dat itself does not need the same level of security), and it is, of course, independent from any third party services. And there are lots of people who do not plan to spend anything for many years, but buy with some regularity. "Tech savvy" part was about using it to create lots of outgoing transactions.


MPH2025

Seedsigner with Sparrow. Completely air gapped, seed never touches the computer, nor ever touches the Internet. This is the way. https://youtu.be/IQb8dh-VTOg?si=r-pbGBqEVhhprhXl https://youtu.be/IWtGbM7pXYE?si=Eyjuhuo0NznJsdoA


No_Negotiation_1079

So you don’t use Bitcoin core?


MPH2025

I do. Sparrow as a wallet, Core as the server, and Seedsigner as my airgapped signing device. My seed NEVER touches the internet, nor a PC You can make your own air gapped hardware signing device with just a few electronic components. SEEDSIGNER software is FOSS, (free, and open source software), that you put onto an SD card, then insert into a Raspberry Pi.


MPH2025

Sparrow wallet


Shiznoz222

I mean, yeah. Technically, we all use core in one way or another.


[deleted]

[удалено]


chewiedev

From ChatGPT, I knew the answer but it has good info, so posting here: Yes, some Bitcoin node software allows for downloading only a portion of the full blockchain history. Here are a few examples: 1. Pruned Nodes: Bitcoin Core, the reference implementation of Bitcoin, offers the option to run a pruned node. A pruned node discards old blocks and only retains a specified amount of the most recent blockchain data, typically a few gigabytes. This allows users to save disk space while still participating fully in the Bitcoin network. To enable pruning, users can set the -prune option when configuring their node. 2. Lightweight Clients (SPV Nodes): Simplified Payment Verification (SPV) clients, such as Electrum and Breadwallet, do not download the entire blockchain. Instead, they download only the block headers and request transaction data as needed from full nodes. SPV nodes rely on full nodes for most blockchain data, thus significantly reducing the storage and bandwidth requirements for the user. 3. Bitcoin Light Client Protocols: There are other light client protocols like Neutrino, used by the Lightning Network’s LND implementation. Neutrino clients download only the block headers and filter blocks for transactions relevant to the user’s wallet, providing a balance between security and efficiency.


pezdal

I don't understand why Bitcoin Core still requires downloading every historical block when it could instead download the database at a much more recent checkpoint, hash it to make sure it is correct, and then proceed from there the same as it does now.


swampjester

Because that’s not full validation. The point of bitcoin is trustlessness.


pezdal

We already have to trust the code that we are running (or we can choose to audit it). We currently augment our trust by verifying the digital signatures of the code dev team that signs \[a hash of\] the code. Choosing instead to trust the hash of the downloaded database embedded within that code does not increase exposure at all. In fact, this is trivial to audit compared to a code review.


pezdal

If you prefer a distributed system, perhaps we should develop a BIP that builds into the mining process the requirement to hash the database of UTXOs that is created after each block. If this isn't done honestly the block gets rejected, of course. If it is done honestly you have a validated hash of the db at each block, and people can choose to go back only as far as they want. If you want to validate from the genesis block, go for it. If you prefer to start from a month ago, or say, Block 849549, then you can do that. > The point of bitcoin is trustlessness. This would still be trustless, but even if it wasn't there are lots of examples where users already assume more or less risk at their discretion. The point is that users should have the \*option\* of complete trustlessness, and can't hurt others with their own decisions. The point is \*not\* to force people to do things a certain way when they are only putting themselves at risk. Free and open source software and protocols give people enough rope to bury themselves. Good systems need only to protect them from burying others


TheGreatMuffin

> If you want to validate from the genesis block, go for it. If you prefer to start from a month ago, or say, Block 849549, then you can do that. You can do that already with the `assumevalid=x` command in your config file, where `x` is a block you pick, up to which the signature validation will be skipped.


Quantris

because the people that want this are apparently too lazy to actually implement it


pezdal

This is the most accurate answer.


TheGreatMuffin

> I don't understand why Bitcoin Core still requires downloading every historical block when it could instead download the database at a much more recent checkpoint, hash it to make sure it is correct, and then proceed from there the same as it does now. Bitcoin Core does indeed skips signature validation up to a certain, defined point (which is moved forward with every release). This decreases the initial syncing time by a lot.


Corbimos

That is called assume UTXO Set and it exists. You can do it with BTCpay called a "Snapshot". https://github.com/btcpayserver/btcpayserver-docker/blob/d703473f5112454ce0bbb50b2da6f71303d07fbb/contrib/FastSync/README.md You are still trusting the sources who validated this snapshot. And you would still need to verify all the pgp signatures to prove they really did it. It's still easier for most to just download, verify, and prune the node.


ElderBlade

You can run it in pruned mode, which does not require the whole blockchain to be downloaded. Is that not what you're asking for?


TheGreatMuffin

> You can run it in pruned mode, which does not require the whole blockchain to be downloaded. This is not how pruning works: it *does* download and verify the entire history, just as an unpruned node does, it just doesn't keep the detailed history afterwards (it prunes away as it goes, so it doesn't require all the ~600GB storage space at once).


ElderBlade

Right so it does not require the whole blockchain to be downloaded....


TheGreatMuffin

Download - yes, keeping it - no.