All Questions
3,437
questions with no upvoted or accepted answers
11
votes
1
answer
381
views
How does this field multiplication in libsecp256k1 work?
I'm looking at libsecp256k1's codebase, for learning reasons (doubt I can contribute with anything useful there). While looking at the field implementation, the implementation of ...
9
votes
0
answers
181
views
What are the advantages to attackers of different styles of replacement cycle attacks?
In Antoine Riard's
original description of replacement cycle attacks against HTLCs, a replacement cycle looks like this:
Bob broadcasts an HTLC-timeout (input A, input B for fees, output X)
Mallory ...
6
votes
0
answers
149
views
Which wallets are spending P2TR with SIGHASH_ALL?
I noticed there are quite a lot of transactions spending taproot key path inputs that use SIGHASH_ALL instead of SIGHASH_DEFAULT in signatures (around 20% in the last two weeks). Recall that ...
6
votes
0
answers
93
views
Bitcoin over Tor and man in the middle attack: risks mitigated yet?
This paper explains how combining Bitcoin and Tor creates an attack vector. A man in the middle can control the information flow between all users who connect over Tor. This paper is from 2014. Has ...
6
votes
3
answers
17k
views
Historical BTC data in JSON
As of now, the only API I can find that serves historical data is https://blockchain.info/charts/market-price?timespan=60days&format=json. It only uses USD, and I need to serve non-USD data. My ...
5
votes
0
answers
140
views
What are the steps to create a block template?
My current understanding is that pool operators create block templates and pool miners solve the math to add it to the blockchain.
My question is what are the steps for a pool operator to create a ...
5
votes
1
answer
235
views
How to compute the expected number of sats to arrive in a probabilistic payment flow?
Look at the following network example:
Assume S wants to send 3 sats to R. You can further assume that S has enough liquidity in each of its local channels to send up to 3 sats. Also assume the ...
5
votes
0
answers
176
views
How to approach building a custom UTXO index on top of a full-node
I want to avoid physically importing addresses into a wallet. I want to write a UTXO indexing system on a per-address basis.
I often wonder how a wallet can keep track of all of its addresses' UTXOs, ...
5
votes
1
answer
2k
views
How to build Bitcoin binaries for Windows on Ubuntu using cross-compile
I am trying to build Bitcoin 0.13 for Windows. I've always used this guide for building previous versions. Now seems that developers have changed their mind regarding Windows, and the new way seems ...
5
votes
1
answer
221
views
What is meant by getnetworkinfo: networks: reachable = false
What do all the reachable: false's mean under each network? My node is connecting fine to other peers both in and out, I assume via IPv4 (since I didn't configure anything else special). Is my node ...
5
votes
0
answers
311
views
BTCJam API 500 errors
I am currently trying to set up an application using the BTCJam api. I think the api could be very useful, but I have been unable to get it to work fully, and since support isn't responding, I thought ...
5
votes
1
answer
2k
views
addnode in bitcoin.conf doesn't work (Regtest mode)
I'm trying to make to nodes on the same computer communicate.
I set up two bitcoin folder with two bitcoin.conf files.
bitcoin.conf in the second node is the following:
rpcuser=bitcoinrpc
...
5
votes
2
answers
952
views
bitcond and bitcoin-Qt system configuration and bandwidth requirements
What is the best operating system configuration for a computer to run (bitcoind or bitcoin-Qt) and (BFGminer or CGMiner) under Linux, assuming that it will be connected to a 3 Terrahash mining rig on ...
4
votes
0
answers
23
views
How do I negotiate the opening of a larger than 16777215 sats channel on a Core Lightning node?
Core Lightning's describes a maximum amount that can be given as a parameter to lightning-cli fundchannel:
The value cannot be less than the dust
limit, currently set to 546, nor more than 16777215 ...
4
votes
1
answer
79
views
Build phase fails with undefined reference to `evhttp_uridecode`
I try to build Bitcoin Core on my Ubuntu 23.10 machine using the "Build Unix" documentation page but it fails with undefined reference to evhttp_uridecode.
Here are the details:
I started by ...
4
votes
0
answers
171
views
How does ban score algorithm calculate ban score for a node?
Specifically I want to know, for which types of misbehaves does ban score algorithm give a ban score to a node?
4
votes
0
answers
145
views
How does bitcoin core handle service flag spoofing?
There are 5 service flags in src/protocol.cpp:
static std::string serviceFlagToStr(size_t bit)
{
const uint64_t service_flag = 1ULL << bit;
switch ((ServiceFlags)service_flag) {
case ...
4
votes
0
answers
295
views
Creating a P2SH-P2WPKH using Bitcoin Functional Test Framework
I'm using the Bitcoin Functional Test framework to understand how SegWit works by analyzing and building a P2SH-P2WPKH transaction.
When I run my code the transaction gets created, but when I inspect ...
4
votes
0
answers
465
views
P2TR bech32m mismatch
When attempting to create a p2tr address using the private key 0x0000...01 I get, bc1pmfr3p9j00pfxjh0zmgp99y8zftmd3s5pmedqhyptwy6lm87hf5sspknck9 which does not match the provided test vectors provided ...
4
votes
0
answers
58
views
What are the malleability threat vectors when passing PSBTs to other actors?
If I am passing a PSBT (Partially Signed Bitcoin Transaction) between multiple people, and I pass on my signature for my UTXOs for given inputs, can someone take advantage of malleability and cheat me ...
4
votes
0
answers
168
views
Sign lightning channel creation PSBT with Golang
I'm trying to open a channel on regtest with LND v0.13.0-beta.rc3 using their PSBT workflow to allow for remote signing.
I've done the following steps:
I create a regtest wallet using the BIP39 ...
4
votes
0
answers
370
views
How are taproot scripts represented in general?
I'm pretty familiar with the opcode style of writing down scripts. I can understand the stack-based language nature of bitcoin script where you can write down different script spend paths via ifs like ...
4
votes
0
answers
152
views
Various caches are defined in the Bitcoin source code. What do these caches refer to?
The source code is as follows:
//! -dbcache default (MiB)
static const int64_t nDefaultDbCache = 450;
//! -dbbatchsize default (bytes)
static const int64_t nDefaultDbBatchSize = 16 << 20;
//...
4
votes
1
answer
571
views
Accepting micropayment donations via Lightning Network - what is the most efficient / recommended architecture?
The difficulty that I am experiencing at the moment - how to accept Lightning Network micropayments donations supporting (shameless plug): https://genesis.re/wiki#Plan_B
Zap / Joule:
I send on-chain ...
4
votes
0
answers
216
views
libwallycore error installing LND on Ubuntu 18.04
I'm setting up an LND node on Ubuntu 18.04. I've installed python3, and cloned the repo. I ran configure, and get this error on the make command:
checking byteswap.h, usability... no
checking ...
4
votes
1
answer
1k
views
Generate addresses from Trezor's xPub using Python
I am trying to generate BIP32 HD addresses from my Trezors xPub key.
I keep getting errors with most of the libs our there. What am I missing?
pywallet:
from pywallet import wallet
xpub = '...
4
votes
0
answers
704
views
Bitcoin RPC: How to find the transaction that spends a TXO?
I suspect there is no good way to do it.
However is there any sub-optimal way to find the transaction that spends a transaction output (knowing the txid and index) with Bitcoin RPC?
Assuming txindex=1 ...
4
votes
0
answers
897
views
To sign raw transaction with Segwit Address in the TestNet
I am using Bitcoin core 0.14.1 testnet. I created a Segwit address. transfer some coins to this address. Now I want to spend it. I created a raw transaction using console command i.e. ...
4
votes
1
answer
2k
views
Building Signed Bitcoin Transaction in Java
I have been attempting to build my own raw transaction generator in Java which I can then broadcast on the testnet network. The problem is when I attempt to broadcast the transaction it says there is ...
4
votes
0
answers
782
views
How to Use TransactionBuilder in NBitcoin
I have used this code. It returns a success, but does not send bitcoin.
var txRepo = new NoSqlTransactionRepository();
// Let’s me introduce you, Alice, Bob, Satoshi, and Nico with their ...
4
votes
0
answers
220
views
How does schnorr signature construct multisig functionality?
How does the multiparty schnorr signature work and enable multisig
functionality in Bitcoin?
What are its limitations? Can we construct any m of n signature?
Is there anyway to hide the signers among ...
4
votes
1
answer
248
views
Simulating -walletnotify option in Electrum
When run in daemon mode, bitcoind accepts a parameter -walletnotify=<cmd> which runs <cmd> whenever a wallet transaction changes due to sending/receiving.
Is there a similar feature in ...
4
votes
0
answers
660
views
Bitcoinj: How to fix error "You should use Context.propagate() or a ContextPropagatingThreadFactory"
I'm using bitcoinj from a Scala application... and when I start it, I always get the following errors:
[error] o.b.c.Context - Performing thread fixup: you are accessing bitcoinj via a thread that ...
4
votes
0
answers
423
views
bitcoin:uri for sending payments to multiple addresses
Lets say I want a donate bitcoin button/QR code to send to multiple recipients in different ratios.
As in send 50% to wallet 1.
Send 25% to wallet 2.
Send 25% to wallet 3.
Is there any way to do ...
4
votes
1
answer
1k
views
php private key to wallet import format (wip)
I have been writing a php file intended to create a bitcoin private key and change it to wallet import format. The issue is when I try a command in a gnome-terminal such as:
bitcoin-cli importprivkey ...
4
votes
1
answer
183
views
How many bitcoins would it require for a sustained DOS attack on bitcoin network?
How many bitcoins would it require for a sustained DOS attack on bitcoin network?
Without transaction fee, how many bitcoins would that be?
How many transactions could we generate with 1 BTC ...
4
votes
0
answers
413
views
How to explore transaction chain via Original Bitcoin API as blockexplorer does it
Is there any possibility to explore transaction chain via Original Bitcoin API (https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list) as the blockexplorer does it.
If not, why?
4
votes
1
answer
510
views
Cryptocompare API
Anyone here using cryptocompare api? Where would be the best place to ask questions about it?
I am just starting with it and for example I have stumbled upon few issues. Like, coin tickers with an ...
4
votes
2
answers
696
views
Wallets that support payment channels?
I know that maybe it's a bit early to start asking Wallets to implement Lightning Network connections even if the majority don't support SegregatedWitness yet.
But how about Payment Channels? In ...
4
votes
2
answers
3k
views
Where to find P2pool networks.py settings for altcoins?
Is there a forum post or website where all the altcoin networks.py settings are being shared? I can see the P2pool forks on Github where people commit their own networks.py settings back to their own ...
4
votes
2
answers
206
views
What are the downsides of integrating accumulators like Utreexo to bitcoind?
Inspired by the discussion on this question, I wonder what the downsides would be of adding accumulators like Utreexo (site, paper) to bitcoind?
On the positive side, it seems like a huge improvement ...
3
votes
0
answers
15
views
How to broadcast transactions in bitcoin regtest mode?
I build three nodes named A,B,C based on bitcoin-regtest image of docker. And these three nodes are in the same network which means they can communicate with each other.
In node A, I use
bitcoin-cli -...
3
votes
0
answers
60
views
How do I set up my own custom signet?
Configuration: a Windows machine on a local WiFi network.
For classroom purposes I would like to have a custom Signet network so students can get used with Bitcoin Core and Send/Receive.
This is the ...
3
votes
0
answers
47
views
What is the advantage of using truncated HASH256 over CRC32?
Some of the checksums in Bitcoin are the first 4 bytes of the HASH256 of the data. HASH256 is just double SHA256, so SHA256(SHA256(data)). What is the advantage of that over using a dedicated checksum ...
3
votes
0
answers
517
views
Lightning Network Nodes do not report Bolt9 Features
Looking at the output of the describeGraph command of my node (LND), I have seen that my node detects approximately 19,000 nodes. Of those 19 thousand, 6 thousand do not report any bolt9 feature.
lnd@...
3
votes
0
answers
33
views
Timelocked bribing
Did anyone observe any instance of Timelocked Bribing in Bitcoin transaction? Are there any specific articles that points out that the attack has been mounted in reality?
3
votes
0
answers
37
views
Stuck low-feerate transaction after forced closed channel
Someone cooperatively closed a channel with me, then forced closed it later. It has not confirmed. In fact, it is not even showing up in mempool, which says "waiting for transaction". I'm ...
3
votes
0
answers
81
views
bitcoind still running after 'bitcoin-cli stop'
I'm running Debian 11, all updates installed. 12gb RAM, massive internal SSD for storage.
$ /usr/local/bin/bitcoin-25.0/bin/bitcoin-cli stop has worked well shutting down bitcoind on my computer until ...
3
votes
0
answers
78
views
Bitcoin core shutdown after running for about 1 day
I have my bitcoin core daemon up and running on Ubuntu. However it always stops after running for serveral hours or 1 day. Here's the debug.log before it stopped.
2023-11-23T18:04:42Z [net] Saw new ...
3
votes
0
answers
64
views
the switching timing between high-bandwidth mode and low-bandwidth mode in CompactBlockReray
If the Compact Block transmission node is bandwidth-limited, there is a statement in bip152 implemention Note that an 'inv/headers' is sent. Are there specific thresholds or settings for this in the ...