Skip to main content
Share Your Experience: Take the 2024 Developer Survey
12 votes
Accepted

Are lightweight LN wallets vulnerable to transaction withholding?

There is no substitute in terms of security and trust for running a full node. There are different "lightweight client" concepts. Some of them are... BIP37 (bloom filter): [minus] With current used ...
Jonas Schnelli's user avatar
10 votes
Accepted

Lightning network and lightweight clients

How will the lightning network handle lightweight clients? Most steps during the payment process in an LN channel don't actually require full knowledge of the blockchain or even the unconfirmed (...
morsecoder's user avatar
  • 14.2k
7 votes
Accepted

is it possible to decode block height from a blockhash?

No. The block hash is a hash of the block header... but even if you could reverse the hash function (which is impossible, or Bitcoin would be broken), you wouldn't know the height, as the height is ...
Pieter Wuille's user avatar
7 votes

is it possible to decode block height from a blockhash?

No. The whole point of a hash is that it's a one way function. You can't "decode" any of the header data from the block hash. Moreover, the block height isn't even contained in the block header. ...
Nate Eldredge's user avatar
5 votes
Accepted

Correlation of number of (non mining) full nodes to internet bandwidth

I don't think any such study exists, because it is very difficult to gain any concrete information about full nodes on the network. Because nodes can (and often are) run over proxies or TOR, their ...
Jestin's user avatar
  • 8,812
4 votes

Why can the same 12 words produce different seeds in an Electrum wallet file?

It's actually a good question. Let's take a look at what is happening. First, Electrum hashes your mnemonic to generate a seed. The seed indeed contains all the information necessary to generate the ...
Hubert Jasieniecki's user avatar
4 votes
Accepted

Accepting Bitcoin payments without the full blockchain or third party APIs?

If you don't want to run a node or use any 3rd party APIs you can use a library since you only want to accept payments. Use an extended public key from one of your wallets, and generate new ...
m1xolyd1an's user avatar
  • 5,656
4 votes

Can a full node provide a bogus block bloomfilter to a Neutrino node?

They can lie to you about the filters, yes. However due to the filters being deterministic you can query other nodes for the hashes of their filters to gauge relative correctness. You can also use a ...
Claris's user avatar
  • 15.4k
4 votes
Accepted

c-lightning & Lightweight nodes (no local bitcoind)

One lightweight alternative that I use quite often when setting up a Lightning node is spruned. The following will get you up and running: Install some dependencies: apt-get install -y git python3 \ ...
cdecker's user avatar
  • 9,508
4 votes
Accepted

Why does a thin node need to know if a transaction is present in specific block's merkle tree?

Why would a thin node want to know information like this ? They quite possibly don't care about exactly which block the transaction was included in, but they most certainly care about knowing the ...
Pieter Wuille's user avatar
4 votes
Accepted

How do light clients using compact block filters get relevant unconfirmed transactions?

There's no design consideration in Neutrino / BIP157 for unconfirmed transactions, but it's not as much of a concession with context. A light wallet can effectively do nothing with information about ...
Claris's user avatar
  • 15.4k
3 votes
Accepted

Do full nodes store the complete merkle tree or do they regenerate it when creating a merkle proof?

Bitcoin Core, in its BIP37 implementation, will compute the Merkle proofs on the fly. It does not store the blocks' Merkle trees anywhere (only its root is stored).
Pieter Wuille's user avatar
3 votes

Who gives SPV nodes merkle path to do validation for small subset of transaction?

The thin client requests the Merkle branch from any full node that has the complete block available. It is requested by specifying the inventory type MSG_MERKLEBLOCK, usually in response to learning ...
Murch's user avatar
  • 75.7k
3 votes
Accepted

How a thin node ensures the validity of blockchain?

Most thin clients only download, check and keep the block headers. They do not download the transactions of blocks, so they cannot fully verify blocks. To learn about transactions they request ...
Murch's user avatar
  • 75.7k
3 votes
Accepted

What hardware requirements does a SPV client have?

Bandwidth - You need to receive an 80-byte header about every 10 minutes. In addition, if you want to spend, you will get SPV proofs that range about 500-1000 bytes per utxo. In other words, the ...
Jimmy Song's user avatar
  • 7,759
3 votes

How many lightweight nodes vs full nodes are there on the network?

It isn't easy to tell for a number of reasons. The network protocols don't explicitly distinguish between full-nodes, SPV wallets or other types of software that communicate with full nodes. Many ...
RedGrittyBrick's user avatar
2 votes

Electrum 2.0: non-BIP39/32 standardisation complicates matters immensely. Why?

Note: July 2017, Electrum v2.8.3... the command is now: getmasterprivate() The password dialog box will automagically pop up ;)
HCP's user avatar
  • 21
2 votes
Accepted

Is there a mobile wallet that works with a Trezor?

Is there a mobile wallet that support using a Trezor hardware wallet to spend coins? You first need an OTG cable and a phone that supports acting as a USB host. Trezor has not released a mobile ...
Louis's user avatar
  • 126
2 votes
Accepted

Can a full node provide a bogus block bloomfilter to a Neutrino node?

would it be possible for the full node serving this request to attack the Neutrino node by providing a fake block filter that omits certain transactions? Yes. Indeed, the protocol actually specifies ...
David A. Harding's user avatar
2 votes

What is the main difference between "light/thin client" and "client" in sense of "functionality" and "capability"?

Usually the distinction is made between full nodes and lightweight nodes. A full node independently validates all transactions. It guarantees that not transactions or blockchain will be accepted ...
Pieter Wuille's user avatar
2 votes

How do you get Sibling Hashed Values in a Merkle Proof?

But the Merkle Root is not enough to prove a transaction is in a block. All the sibling-values up the Merkle Tree are needed. Where do these values come from if they aren't already stored? Any full ...
David A. Harding's user avatar
2 votes

Lightning node on a Bitcoin SPV

LND is experimenting with the new Neutrino BIP157-style SPV at the moment. Check out their repo for news. Both Bitcoin Lightning Wallet and Eclair on Android use a trusted server for syncing with ...
stefanwouldgo's user avatar
2 votes
Accepted

Where does a Client in Bitcoin Read From?

Terminology Using non-standard terminology leads to confusion. Your question uses terms like "client", "web-based". "read" and "write" in ways that are not ...
RedGrittyBrick's user avatar
1 vote

Why does a thin node need to know if a transaction is present in specific block's merkle tree?

TL;DR: A Merkle branch provides costly-to-fake indicator that a transaction is actually part of the blockchain. The cost of forging a Merkle branch is sufficiently high to deter some attacks on low-...
Murch's user avatar
  • 75.7k
1 vote
Accepted

Is it possible to create a thin client that only listens for transactions and pending transactions?

When receiving a payment, it is critical to know whether or not the transaction that makes that payment is a legitimate Bitcoin transaction (or not). This is determined by checking if the transaction ...
chytrik's user avatar
  • 18.3k
1 vote

What is the difference between an SPV wallet and an API wallet?

SPV wallet: only download block headers from blockchain network, it's kind of lightweight node, SPV wallet is able to verify the TX with Merkel branch that from full node. There are lots of SPV ...
Wei Tang's user avatar
1 vote

Wallet for btc bot

Just about any wallet software should meet your three requirements. Security is something you'll probably have to figure out yourself, for example how you secure your server will probably have a ...
Steve Ellis's user avatar
  • 1,072
1 vote
Accepted

Which Bitcoin thin client that can execute on restricted IoT devices?

you could use a SVP Client/wallet like discussed here : What is an SPV client? IOT is a wide space, you could specify the technical features of your IOT to get the right help, a raspberry pi for ...
Badr Bellaj's user avatar
  • 1,151
1 vote

How long does it take for a SPV to intermittently sync (order of magnitude)?

SPV syncing depends entirely on the SPV servers that you're connected to. They may not have that much bandwidth and you might have a very slow sync, for example. That said, you only need 80 byte ...
Jimmy Song's user avatar
  • 7,759
1 vote

Does a thin client testnet wallet exist which allows offline signing?

It looks like a testnet option was merged in early 2017, but I'm not sure if it was released: https://github.com/spesmilo/electrum/commit/d042d6e970389f97331e9caae196bf7a3af1e293 https://github.com/...
Rich Apodaca's user avatar
  • 2,421

Only top scored, non community-wiki answers of a minimum length are eligible