multi signature – How do Bitcoin balances work when an address is controlled by multiple parties together?

Bitcoin balances conceptually are not like bank account balances, but more akin to banknotes: uniquely identifiable, good for a specific amount, and can only be spent in full. The “account balance” shown by your wallet is simply the sum of funds that the wallet knows how to spend. In the case of your multisig example, if user1, user2, and user3 each have their own wallet but each wallet keeps tracks of the multisig unspent transaction output (utxo) as its own, they would each see it as part of their balance.

Basically, it’s up to the users to decide how to interpret the spendability of their shared funds. The network would enforce that they would only be able to spend the UTXO once in total, though. Alternatively, it’s possible that they share one “watch-only” wallet to track the balance, but each hold their own separate key. In that case this shared watch-only wallet would track the balance only once, but they’d each hold their own key independently.

So, concretely, the users’ balances after the transaction from user4 would be:

user1, pubkey1, 1.1 BTC
user2, pubkey2, 1.2 BTC
user3, pubkey3, 1.3 BTC
user4, pubkey4, 1.0 BTC
{user1,user2,user3}, 2-of-{pk1,pk2,pk3}, 0.4 BTC

Where the last UTXO is controlled by the multi-party address as described and has different spending properties than the individual balances of the the users.

Earn Free Bitcoin Everyday Legit And Paying!! – Other Money Making Opportunities

I’m sharing with you One of the Easiest and Simplest Of Methods to Earn FREE BTC, just by sitting at your home and having a Decent PC, Internet Connection.

EARN Upto 2 BTC in a Single Week and even more!

The Method is Newbie / NOOB Friendly.

Guaranteed Profit. 100% Autopilot Method & Simple Setup.

NO Investment Required.

Once Setup, you can sit back and watch CASH Rolling IN!!










Cheat Lightning network (c-lightning) – Bitcoin Stack Exchange

I want to understand how cheat lightning network using c-lightning.
I understand that if a participant of che channel send not last commitment transaction, it means that he tries to cheat. I’d like to replicate this scenario.

I tried to dump commitments, and I found these informations.

    $ ./hsmtool dumpcommitments 022f495a897360fdd287f7a823302479e62856e47727c0c8c9688faf45f4a92aac 1 2 
/tmp/l1-regtest/regtest/hsm_secret mypass
    shaseed: 14d384a3757ea8c750d1325997ed7c0761b1cf2a8845ae0aaf5b6c783bcbe8ef
    commit secret #0: 9d202a2c4df2792d4d77583b969d407dc0b31e9ff38bb9121932ac55e536202e
    commit point #0: 039f4232478aa0629637ba2d8fd9808bd3d06342b5fbc67699d2f09bc1a9c844ad
    commit secret #1: 8cf246e819e78d34ce331f897652909bdc7104b6eac173a4180be1bbcfc46f37
    commit point #1: 03cacc020bcc3a322c41854a3b0337643b5e9b10af79f96ba14ccf4637cd56ba8f

Where can I find the first transaction in order to try to cheat?
Because I want to understand how penalties work and i’d like to decode all commitments transaction

json rpc – How to customize a bitcoin rpc to show only some information (filtering out the rest)?

I would like to modify a bitcoin RPC, for example getblocktemplate to show only a single information, in this case: “mintime”: 1594178622

I tried to go into bitcoin/src/rpc/mining.cpp

and I commented out all the info I was seeing under : static UniValue getblocktemplate(const JSONRPCRequest& request)
leaving only “mintime” and I rebuilt bitcoin, but calling getblocktemplate gave the same result with all the info…

So I’m wondering what I am doing correctly

Any input would be greatly appreciated.

Why does bitcoin uses INIT_PROTO_VERSION (209) for addrme and addryou in the Version Message

Why does Bitcoin use INIT_PROTO_VERSION (209) in the addrme and addryou message of the Version Message? Why is it not using the nodes protocolVersion which had been advertised in the same Message.

This is part why the nTime from the node in the Version Message will be ignored

Code used for Debug in protocol.h

        SER_READ(obj, obj.nTime = TIME_INIT);
        int nVersion = s.GetVersion();
        if (s.GetType() & SER_DISK) {
            printf("nVersion %dn", nVersion);
        } else {
            printf("Not evaluated nVersion %d Type %dn", nVersion, s.GetType());
        if ((s.GetType() & SER_DISK) ||
            (nVersion >= CADDR_TIME_VERSION && !(s.GetType() & SER_GETHASH))) {
            printf("nTime %dn", obj.nTime);
        } else {
            printf("Not evaluated nTime %dn", obj.nTime);
        printf("nServicesInt %dn", obj.nServices);
        READWRITEAS(CService, obj);

See below the Output


Receive addrMe
Not evaluated nVersion 209 Type 1
Not evaluated nTime 100000000
nServicesInt 0
Receive addrFrom
Not evaluated nVersion 209 Type 1
Not evaluated nTime 100000000
nServicesInt 1033
2020-07-07T01:35:08Z New outbound peer connected: version: 70015, blocks=638069, peer=1 (full-relay)

Is this a wanted behavior?

How to reference different wallets with curl JSONRPC requests Bitcoin core

I have a headless Bitcoin core 0.17.1 running on Debian 10, and have created a second wallet “johns-wallet”.

I’d like to get the walletinfo (or any wallet request) of that specific wallet via curl, not the cli.

The Bitcoin core API reference doesn’t offer an example of how to target different wallets when not using the CLI (and neither did my Google search).

I’ve tried:

curl --user johnsmith --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getwalletinfo", "params": () }' -H 'content-type: text/plain;' bitcoind:18332/wallets/johns-wallet/

and also

curl --user johnsmith --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getwalletinfo", "params": ("/wallets/johns-wallet/") }' -H 'content-type: text/plain;' bitcoind:18332

And also variations on the path itself to the wallet – none of them return a result, let alone an error.

Running without trying to specify a wallet returns:

{"result":null,"error":{"code":-19,"message":"Wallet file not specified (must request wallet RPC through /wallet/<filename> uri-path)."},"id":"curltest"}

(In case it matters, the Bitcoind is running in a docker container, with a named volume)

Buy #PPT at ( around 3730-3570 Free Binance Futures ByBit Okex Bittrex BitMEX Signals & Bitcoin BOT

Visit –

Join our Largest Telegram group where we provide signals with more than 90% accuracy. We do provide signals for ByBit, Binance, Bittrex, Okex, Coinpro & BitMEX. We do all the hard work for you. Simply copy the signals provided by our professional traders. Follow our signals and trade. With our unbeatable accuracy, you will be able to trade like a pro. Make consistently huge profit and highly impressive returns with low-risk investments.

We too provide Free Bitcoin Binance auto trading BOT which does trades automatically in your account.All the Premium Signals are being traded by our Binance Crypto BOT automatically on Binance account with the quantity and limit set by trader

You dont need to have VPS to run our BOT – we provide all the options through which you can run the BOT from your mobile

Enter our Free Binance/Bittrex/Bitmex Signal Community