To collectively trust what happens online - what does that mean? I'm reading an article here. There is a sentence the meaning of which I cannot figure out.

  blockchain is the answer to a question we've been asking since the
  dawn of the internet age: How can we collectively trust what happens
  online?

So, the author is trying to say, with blockchain, we can collectively trust what happens online. But what on earth does "to collectively trust what happens online" mean? Does it mean everyone can trust whatever is recorded on the blockchain as the underlying technology makes whatever that is recorded on the blockchain trustworthy?

So, the author is trying to say, with blockchain, we can collectively trust what happens online. But what on earth does "to collectively trust what happens online" mean?

There are multiple meanings that you could attach to that, but here's the one I think is the most true/useful/obvious.

To track what happens online, we use computer programs and databases. What happens when those programs disagree about what the state of the system is or ought to be?

For example, an online auction receives a bid moments before it closes. The bidder who sent the bid claims it was timely. The bidder who would lose the auction if the highest bid was accepted claims it was a second too late. The seller doesn't know, because ze was offline when the auction closed.

The typical solution to this is to pick some trusted computer, and let it decide. In this example, that would be eBay's database server. (Or, in some systems, a quorum of eBay's database servers.)

Blockchains are a search for a better solution.

  Does it mean everyone can trust whatever is recorded on the blockchain as the underlying technology makes whatever that is recorded on the blockchain trustworthy?

No.

For example, if you recorded a claim to be King of the United Kingdom on the blockchain, that would not mean that you were the King.


Running ERC20 contract on RSK Disclaimer: originally asked on the ETH SE site, but advised to post here.
I have been reading about RSK lately and was wondering about the compatibility and possibilities, so I wanted to ask for some basic info in case there's someone more knowledgeable.
I have a smart contract running on the Ethereum network (and more to come). The contract is based on the ERC20 standard. So, this smart contract, with its setup today, would it be possible to make it use the RSK network instead of Ethereum?
If yes, what could be the pros/cons (eg. cheaper/faster transactions) and whether it would make sense to do the transition?
If not for the current contract, then maybe for future ones?

So, this smart contract, with its setup today, would it be possible to make it use the RSK network instead of Ethereum?

Yes. https://developers.rsk.co/tutorials/ethereum-devs/port-ethereum-dapps/
RSK Bridge can also be helpful for users to swap tokens: https://developers.rsk.co/tools/tokenbridge/

If yes, what could be the pros/cons (eg. cheaper/faster transactions) and whether it would make sense to do the transition?

There are lot of differences. You can read this medium post which explains few technical differences and development of Rootstock: https://medium.com/iovlabs-innovation-stories/similarities-and-differences-between-rsk-and-ethereum-e480655eff37
Scaling is the biggest advantage in using a Bitcoin Sidechain for such experiments.
Rootstock resources: https://github.com/john-light/RSK


End-user security measures to protect your Bitcoins I am trying to make a presentation on Bitcoin for my Security and Risk Analysis class.
Currently, my research question is : What bitcoin security measures can enhance user-protection and reduce theft?

My professor needs the topic to be scientific, atleast that it sounds like one.

I need your help to paraphrase my question to make it more worthwhile for research.

Most Bitcoin thefts occurs due to user careless and ignorance, like not using two-factor authentication and sharing email and password across questionable websites. The risk of theft can be easily reduced by taking the basic security measurements which you should follow in any case when you are dealing with Internet.

Here are some things you should include in your presentation

Don't use questionable Bitcoin services or exchanges (see: Mt.Gox) - if you are unsure ask the Bitcoin community about the integrity of the service. Any "free bitcoins" sites are definitely no go.
Always enable two-factor authentication when using Bitcoin services (exchanges, web wallets)
Keep most of your Bitcoins in a cold wallet or vault service which is not directly connected to Internet
Don't install unnecessary software on the computer you use to handle Bitcoins. Especially don't install software from download sites (even legit ones) or from Bittorrent. Always download software directly from the site of the author.
Don't install unnecessary browser extensions
Don't use the same computer to surf on questionable sites (adult entertainment, illegal software, tor) - you usually get malware infection from sites like this
Keep your computer software up-to-date
Don't click phishing links
To reduce the risk of malware, use safer operating systems like OSX or Linux instead of Microsoft Windows. Please note that this only lowers the malware risk, it doesn't guarantee immunity if you don't follow the other advices mentioned here.

More information about Bitcoin end user threats can be found in this question.


how to make money payment? I am using multibit and I need to buy some bitcoin (real money needed) and sell bitcoin(real money needed too)

But I cannot find any article on google that guide you how to make the money payment in transaction.

how can I pay or recieve money when I try to buy or sell bitcoin？

thank you so much

You have to use a Bitcoin exchange. The most popular one is MtGox

There are other ways but I think this is the safest one and easiest.


Costing arbitrage between exchanges I'm currently writing something to script arbitrage between two exchanges to test the concept.

I know I can determine the difference in prices by using

(ExhangeA_sell - ExchangeB_buy) <- this will give me the price difference. i.e. gross profit (before fee's)

My question, how do I take the fee's into account when calculating net profit?

Currently my thinking is that I add the commission % to the buy price on ExchangeA and subtract the commission % from the sell price on ExchangeB.

Any ideas on this?

Thanks.

nmat: i think you got the signs wrong in there somewhere. the fees will /decrease/ your effective selling price, and /increase/ your effective purchase price. so it should in fact be:

ExchangeA_sell * (1 - ExchangeA_fee) - ExchangeB_buy * (1 + ExchangeB_fee)

and also, you should take into account any deposit/withdrawal fees (E.g., when you withdraw via LR from mtgox, that's a 2% hit, when you use dwolla, that's 0.25USD fee, etc) that you'd incur when moving money between the exchanges.


Where is the Signature stored in a SegWit transaction? I understand that SegWit makes transaction blockdata smaller, by not storing the signature in the Block, so that can fit more transactions in 1MB. This is because the signature is not anymore stored in the blockchain. The Signature makes nearly 70% of the data weight of the Block. So in a SegWit transaction it is 70% less stored in the Blockchain. But where are the signature stored if not in the Blockchain ?

That's not accurate. The witness is stored in the blockchain.
In the segwit format, the signature is part of the witness, the witness is part of the transaction and the transaction is written to the block in full. Nodes that understand segwit will download and store the complete transaction including the signature.
However, segwit is constructed in a forwards compatible manner. It's made so that it is possible to produce a "stripped version" of a segwit transaction that omits the "witness". This stripped version is a non-standard valid transaction according to pre-segwit rules. This means that pre-segwit nodes will not propagate it when it is unconfirmed, but accept it when it is included in a block. Segwit-enabled nodes would consider the stripped version incomplete and therefore depend on receiving the complete version of the transaction from another segwit-enabled node.
Since the transaction outputs are part of the stripped transaction (because they are not part of the witness), pre-segwit nodes will come to the same conclusion regarding the ownership of funds by following the stripped blocks as segwit-capable nodes that read the complete blocks.
Part of the criticism of segwit is that pre-segwit nodes will not verify the signature of segwit transactions, as they do not receive the witness and wouldn't know what to do with it. This means that a legacy node might accept an segwit-invalid block until that block is no longer part of the most-work chain-tip. However, such a block would not propagate well on the network, as about 89% of the nodes on the network are segwit-capable. If you're receiving a significant amount of funds from a segwit transaction and are running a segwit-incapable node, you might want to wait for  additional confirmations before taking it at face value. However, for significant amounts that would be a great idea regardless.


How to answer merchant who asks "What is Bitcoin?" There is a software product that I'm interested in purchasing a license for.  I sent an email to their customer service asking if they would be interested in accepting Bitcoin.  Software licences seem an ideal use of Bitcoin since there is not physical product to ship.  Since the product is "virtual", why shouldn't the payment be "virtual" too?

They emailed me back the question "What is bitcoin?" What is the best way to answer them?  Is there a blog or web page that is specifically designed for this situation?

The simplest way to explain it is that it is an alternative currency.

Of course, this is just going to prompt more questions. So why not use a different example. Explain it like this:

"Bitcoin could be thought of as a commodity, like gold, that people purchase to invest it. Let's say I have a Gold Bullion coin worth USD 1,600, and you have a software program that costs USD 1,600. I could then offer to use my Gold Coin to buy your software program. I get the software program, you get the coin. You can then choose to sell the coin now for the USD 1,600, or you could hold on to it to see if its value appreciates."

Just my personal opinion. If merchants aren't already accepting Bitcoins, they probably won't start right away. However, explaining it to them could generate interest in the currency, so in the future they might start accepting it. Again, just my opinion!

Hope that helps!


Is Blockchain.info Open Source? I know that there is a github public repo, but I'm not seeing a license file. The Android client is GPL3. Anyone know about licensing for the main site's code?

All parts directly involved with the wallet service are open source. On the github project page the repositories My-Wallet, My-Wallet-Integrity-Checker and MyWallet-RPC-Communicator is BSD licensed.

The repositories My-Wallet-iPhone, My-Wallet-Android are GPLv3.

However the database backend and some other parts of the site are not open source. This will change at some point in time, but there are some things I want to finish first.


Changing p2p to create a quark coin mining pool? I've been trying to mine some quarkcoins pretty unsuccessfully.

I can only find two pools that are up and neither seem to have returned anything, even after hashing for 24 hours.

I thought perhaps putting a p2p quark pool up would be a good idea, but there are no guides anywhere, obviously it's new'ish. There are a lot of bitcoin p2p guides.

Just wondering if anybody would be able to point me in the right direction of what parts of the bitcoin p2p I'd have to deviate from to get a quarkcoin p2p running?

I've been using the qrk.mime-pool.net for almost a week now and it is working fine:

They have instructions here:

http://qrk.mine-pool.net/start.html

All you need is a wallet address for it to pay into, the password can be whatever you want.  You can monitor payouts to your address from the Payout tab - if it doesn't appear after a few blocks have been  mined something is wrong:

http://qrk.mine-pool.net/index.html#mainnodepayout


Wants to send my bitcoin to another wallet I’m having issues trying to send my bitcoin to another wallet...it been asking me to confirm a whr code which I don’t really understand cos I have enough money on my wallet

The address you have is a watch-only address, meaning you can only watch it, but not send it without the private key. The private key is something you HAVE TO have in order to send it.

It's 32 bytes in size and starts with a 5


Can I use my laptop to mine bitcoins? I was just wondering if it is possible to mine BTC using my laptop.

If so, what sort of graphics card should I get for this computer and
what could I expect to mine in bitcoins a day with a single graphics card.

I would really appreciate your advice!

The times when one could mine Bitcoins with a laptop or graphics card are long gone. You would never even cover the cost of the electricity used. Bitcoin mining is done with ASICs now.


Bitcoin Stolen from Wallet, where do I stand? I had 4 coins on an old laptop and went to move them to a new wallet only to find out they had all been removed and sent elsewhere in 2014.

To: 1KM6rLnwgD67wRdMx9aVLRf1gfoNyCyv7Q

Debit: -3.93584800 BTC

This was to buy a house for me and my family and now my balance is at 0, i'm devastated but pretty sure there is nothing that can be done about this, just asking here in case I've overlooked something, any advice welcome, thanks

It seems that your coins are indeed long gone, and have traveled to, and through various exchanges. There's really nothing you can do.

If you're interested as to where they went, take a look here,

https://www.walletexplorer.com/wallet/0be05327716173e1?from_address=1KM6rLnwgD67wRdMx9aVLRf1gfoNyCyv7Q


scriptPubKey consisting of the only hash I found out that some transactions have strange scriptPubKey in their outs. They only contain a hash and nothing more. An example can be seen in JSON-view of block 200639:

{
    "value":"0.00000000",
    "scriptPubKey":"7ce73474ecef1936fca45fe7835cca09d1a24f52526c189ab40d371b5f69f4a3"
}

The transaction is valid as the stack will only contain this hash which is not empty and thus evaluates to true. This seems to be a way to save some data in transaction...

Does anyone know for what purpose such scripts may be used?

That's a transaction generated by p2pool. You assumed correctly in that it is designed to store data, it's used to store some metadata about the current state of the pool. In the future it would probably be better to use OP_DROP, as the output is provably unspendable and is able to be pruned from the mempool and blockchain.


Have the early mined coins been moved/transacted? Has anyone done an analysis of the early coins mined by Satoshi and Hal Finney? Have those coins been moved/spent/transacted?

I wonder whether Satoshi has been cashing in on his collection or does he just let it sit there?

The earlist blocks have not been spent (except for block 9). You can be alerted by email when new transactions occur here http://bitcoinwhoswho.com/address/12cbQLTFMXRnSzktFkuoG3eHoMeFtpTu3S/


Why is getdescriptorinfo returning an error "Invalid descriptor (code -5)" I am using Bitcoin Core bitcoin-cli with getdescriptorinfo like so:

curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getdescriptorinfo", "params":["sh(multi(2,[3c60330a/1]03061b79f20d49790c15bdaf15ec8db6d75275f62f04a56eaac31f5c2db48736fc,[d54e4481/1]0396bd8d30f0128dcc67e143cf46efd686bf9e4dc8587facc07f81bb248d1b0209,[1e132a06/1]03c77aa842edc8af76b76f5c29a1133b45b78c8c26a170090184e500232abd15a4))#3qpdv9la"] }' -H 'content-type: text/plain;' http://bitcoin:password@127.0.0.1:18332/

But it returns Invalid descriptor (code -5)

What am I doing wrong?

Descriptors in Bitcoin Core can have a suffixed checksum.

sh(multi(2,
[3c60330a/1]03061b79f20d49790c15bdaf15ec8db6d75275f62f04a56eaac31f5c2db48736fc,
[d54e4481/1]0396bd8d30f0128dcc67e143cf46efd686bf9e4dc8587facc07f81bb248d1b0209,
[1e132a06/1]03c77aa842edc8af76b76f5c29a1133b45b78c8c26a170090184e500232abd15a4))
#3qpdv9la

You pass the checksum 3qpdv9la. However if I call getdescriptorinfo without the checksum (see below) a checksum of 539k404m is calculated for that descriptor.

bitcoin-cli getdescriptorinfo "sh(multi(2,[3c60330a/1]03061b79f20d49790c15bdaf15ec8db6d75275f62f04a56eaac31f5c2db48736fc,[d54e4481/1]0396bd8d30f0128dcc67e143cf46efd686bf9e4dc8587facc07f81bb248d1b0209,[1e132a06/1]03c77aa842edc8af76b76f5c29a1133b45b78c8c26a170090184e500232abd15a4))"
{
  "descriptor": "sh(multi(2,[3c60330a/1]03061b79f20d49790c15bdaf15ec8db6d75275f62f04a56eaac31f5c2db48736fc,[d54e4481/1]0396bd8d30f0128dcc67e143cf46efd686bf9e4dc8587facc07f81bb248d1b0209,[1e132a06/1]03c77aa842edc8af76b76f5c29a1133b45b78c8c26a170090184e500232abd15a4))#539k404m",
  "isrange": false,
  "issolvable": true,
  "hasprivatekeys": false
}

Invalid descriptor (code -5) is returned, because your descriptor doesn't match the checksum you provide.

Did you enter the descriptor by hand (i.e. not copy pasting)? Where did you get the descriptor from?


What is the max character limit when creating a Bitcoin Brain Wallet? I'm thinking of using a brain wallet for btc storage. Yes i know all the talk about it being insecure. But what if I used a bunch of information that only I would know making a >100 character brain wallet ? What is the max length of a brain wallet?

Brainwallet algorithm uses hash function of entered data for creating privkey. So, there are no limits.


Why getinfo() and listchannels() inactive channel count differs? I have strange results comparing node information outputs between getinfo() and listchannels() calls. Maybe someone has thoughts what is wrong (with my trivial code or with c-lightning itself):

chans = lnd.listchannels(source=mychan)['channels']
for chan in chans:
    if chan['active'] == False:
        total_inactive += 1
        print('inactive chan with node: ' + chan['destination'])
    else:
        total_active += 1

print('my inactive chans: ' + str(total_inactive))
print('my active chans: ' + str(total_active))

gives me:

my inactive chans: 2
my active chans: 23

But, lightning-cli getinfo gives:

"num_active_channels": 25,
"num_inactive_channels": 5,

It would appear that you have (or rather had them at the time you ran the commands) 6 channels that were funded, but not yet announced. This is most likely why your node sees them (getinfo) but gossipd doesn't yet (listchannels) since they haven't been announced just yet.


Stable bitcoind build with watch-only wallets I found out that the new major release of bitcoind will contain support for the watch-only wallets: https://github.com/bitcoin/bitcoin/pull/2861. Anybody knows if there is available a binary package consisting of current stable version with this pull request merged in?

Depends on your OS, but building it yourself is crazy easy on OSX / Linux. It's an old enough pull request that it doesn't contain autotools.

$ wget https://github.com/sipa/bitcoin/archive/watchonly.zip
$ unzip watchonly
$ cd watchonly
$ qmake
$ make -j8

I'd supply builds for you myself, but there's absolutely no reason to trust that my binaries aren't backdoored or malicious in some other fashion.


How to buy bitcoins with amex debit card? I have a debit card and would like to buy bit coins, is there a way with amex?

Coinbase has options for both debit and credit.


Antminer S9 13.5Th/s is giving 9.5Th/s only I just bought a new antminer S9 model 13.5Th/s.

The problem that the average hash rate doesn't exceed the 10Th/s as attached in the picture, anyone knows why?

Thank you in advance.

First of all - check your logs on the miner and then the status via the buildt in GUI on the 9S.

From what i can guess, one of your hashboards arent running.
And there can be several reasons for this.

Reboot the miner,
Update Firmware,
Check PSU,
Check Netcable,
and Check Fans

IF non of this helped you need to look into the logs more closely,.
a board might be defective.


What does "deal with collisions" mean in the context of BIP32 fingerprints? As I could read on BIP 32, we can generate HD Wallets using all the rules defined by Pieter Wuille, but I came across a sentence that was written in the document and I could not fully understand.

  Note that the fingerprint of the parent only serves as a fast way to detect parent and child nodes in software, and software must be willing to deal with collisions. Internally, the full 160-bit identifier could be used.

What does it mean deal with collisions?

The fingerprint could be used as a unique identifier for a key (it is based on the longer hash160 of the key which is frequently used as a unique identifier). However because it is only 4 bytes long, it is not hard to find two different xpubs which have the same fingerprint. We would say that the fingerprint for these two xpubs collide with each other.

Note that these two xpubs would have different hash160s, just that the first 4 bytes of that hash (which is the fingerprint), are the same.

So any software that is handling multiple xpubs needs to be aware that there could be collisions in the fingerprint and implement ways to handle them.


share private key [blockchain] What happend if I share my private key with my partner? Can we spend bitcoins together without collisons from the same wallet?
Me and my friend are using BlockChain.info - what will happend when we import same private key? Can this destroy this wallet?

Depending on the client you use, this could be a very bad idea, the reason being that some clients send change to new addresses while others send the change back to the sending address.

If you use an online wallet such as blockchain.info you should be fine as it sends change back to itself, and in this case you'll both be online so your clients will always have an up to date list of the transactions for that address.

The chance of having a collision (aka: Double spend) is very low as this requires you to both spend the same transactions within seconds of each other and if you are both using the same online wallet it would probably need to be done near simultaneously.

Remember that the private key fully controls ownership of the coins (hence being private) so you need to fully trust anyone with knowledge of it.


P2PKH why the hash and not the address itself In a pay-to-public-key-hash script, what is the reason of storing the hash of the address and not the address itself, since anybody can copy the hash from a previous tx resolved by the same hash (i.e. Security is not one of the reasons)?

Is it maybe just to encumber the identity of the payer if he wants to show the hash of his address rather than his address?

You can also do Pay-to-Public-Key.

But public keys are bigger in size that public key's hash. Thus, Pay-to-Public-Key-Hash was invented by  Satoshi to make bicoin addresses shorter.

Compressed public key - 33 bytes

Public key hash - 20 bytes


How long should it take to synchronize with blockchain? I expected to find the answer somewhere here, but I could not find it.

I am using windows 10 and the bitcoin core wallet, with 2GB database cache. I have set the wallet to start on system boot, and I boot my system every 1-2 days.

How long should synchronizing with the blockchain take in this case? Let's say I'm 14 hours behind.

For me, Bitcoin core will take about half an hour to sync, and I feel this is way too slow. I have a relatively new gaming laptop with an i7 processor, 8GB RAM. I have Bitcoin core installed on my SSD, and the blockchain is stored on my SSD. I have 40 megabit internet (and I do actually reach similar speeds).

A half hour to sync two days is almost 100x faster than real-time.  It's slower than I would expect, but without more information it's not really possible to tell if there is anything that could be improved about your system or configuration.


Are multi-sig M-of-N transactions with N > 3 supported? BIP 11 makes M-of-N multi-sig transactions standard --- for N <= 3. What is the current support among miners for the multi-sig transactions with N > 3? (say 3-of-6). Also, BIP 11 states:

  The current Satoshi bitcoin client does not relay or mine transactions with scriptSigs larger than 200 bytes; to accomodate 3-signature transactions, this will be increased to 500 bytes.

Does this still hold, and if yes, does this limit come into play for N > 3 or M > 3? What other obstacles are in the way of standardizing M-of-N for meaningful N?

Standard multisig outputs have max 3 keys, but it is possible to add up to 16 keys.

This limit is probably a result of the hard limit of output script size.

EDIT: source: I don't remember where I found this information. (I implemented it in Dartcoin and put that in the documentation.) As an alternative source, check out Mike Hearn's BitcoinJ implementation here.


How do I get the value of a btc address transaction with pybitcoin tools? Lets say that I execute the code below when the user accesses the deposit page.

my_private_key = random_key()
my_public_key = privtopub(my_private_key)
my_address = pubtoaddr(my_public_key)

And I let the user deposit into my_address.

How would I obtain the value of the users deposit into my_address?

You can use the unspent command to find unspent outputs sent to that address, or history to see all outputs to that address whether they are spent or not. Note that it relies on public APIs to read the blockchain for transactions.


How can I mine Monero or other altcoins using Azure Cloud Services? Is there any way by which I can mine Monero or other altcoins using Azure Cloud Services.

Sure - you can run cpuminer-multi on Azure or AWS, and it will CPU mine. You will need to find a pool to mine with.

Alternatively, if you want to solo mine, then you merely need to run a full Monero node, and from within bitmonerod you use the start_mining command. Details on the options you can pass to that command are available via the help command within bitmonerod.


What is a "serialized signed transaction"? Shown in the gray area here, describing how to apply, I think, Segwit to a transaction (particularly a Bitcoin Cash tx).  The last section is titled "serialized signed transaction" however it doesn't appear to be the final form of the raw tx that you can copy and paste into a bitcoin cash wallet to use "sendrawtransaction".  Or is it the final raw tx form in spite of what it appears to be to me?
Example of final copy and paste form of a bitcoin cash tx:
Tx f0b9313fc11ce5ec5ac619f35dcf332530e99d185d8ee79b913bcc0b8b5e6df1

01000000
01
f5a6acfe637ceb57552e703bd4a3bb7ae10c75e81886646cf4ca641881daa4a3
00000000
6b48304502210088b72059940330faa94940a6f37b1be4d926a4d246abda8a1e6174a3a00659
040220
06e0627d6525afa275c4e730799ac11c037eed2e35a0839afcc62dfe710afb3d
4121
035e366a13be81aaada32f309b289ca26741fd55c582d6d8d394f9be7c7519974f
feffffff
02643fcb1d00000000
1976a9149b52b7016d89c5ad7645a8bbc34719b46131545288ac
0094357700000000
1976a914787b7c14737c3956456f40cf7abfca9b641afd5788ac
00000000

What the original webpage shows (but not for the same tx):

01000000
00
01
02
fff7f7881a8099afa6940d42d1e7f6362bec38171ea3edf433541db4e4ad969f
00000000
494830450221008b9d1dc26ba6a9cb62127b02742fa9d754cd3bebf337f7a55d114c8e5cdd30be
0220
40529b194ba3f9281a99f2b1c0a19c0489bc22ede944ccf4ecbab4cc618ef3ed01
eeffffff
ef51e1b804cc89d182d279655c3aa89e815b1b309fe287d9b2b55d57b90ec68a01
00000000
ffffffff
0220
2cb20600000000
1976a9148280b37df378db99f66f85c95a783a76ac7a6d5988ac
9093510d00000000
1976a9143bde42dbee7e4dbe6a21b2d50ce2f0167faa815988ac
000247304402203609e17b84f6a7d30c80bfa610b5b4542f32a8a0d5447a12fb1366d7f01cc44a
0220
573a954c4518331561406f90300e8f3358f51928d43c212a8caed02de67eebee
0121
02
5476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357
11000000

The one from the example website shows the "00" and the "02" being added near the beginning and that huge mess of stuff after the final output is mentioned.  Yet the first example I gave is the raw data straight from a "getrawtransaction" through the bitcoin cash wallet and it does not contain those things and yet is still considered to be valid.  Or is all that other stuff just basically "extra"?

I would like to comment on your "mess of stuff"... maybe not the best way to get support, if you don't understand what it is, and define it as such. I decode it here for you:

VERSION
 01000000

SEGWIT (BIP141): this is a segwit tx, marker=00
       (BIP141): flag=01

TX_IN COUNT [var_int]: hex=02, decimal=2
 TX_IN[0]
  TX_IN[0] OutPoint hash (char[32])
  9F96ADE4B41D5433F4EDA31E1738EC2B36F6E7D1420D94A6AF99801A88F7F7FF
  TX_IN[0] OutPoint index (uint32_t)
  hex=00000000, reversed=00000000, decimal=0
  TX_IN[0] Script Length (var_int)
  hex=49, decimal=73
  TX_IN[0] Script Sig (uchar[])
  4830450221008B9D1DC26BA6A9CB62127B02742FA9D754CD3BEBF337F7A55D114C8E5CDD30BE022040529B194BA3F9281A99F2B1C0A19C0489BC22EDE944CCF4ECBAB4CC618EF3ED01
  TX_IN[0] Sequence (uint32_t)
  EEFFFFFF
 TX_IN[1]
  TX_IN[1] OutPoint hash (char[32])
  8AC60EB9575DB5B2D987E29F301B5B819EA83A5C6579D282D189CC04B8E151EF
  TX_IN[1] OutPoint index (uint32_t)
  hex=01000000, reversed=00000001, decimal=1
  TX_IN[1] Script Length (var_int)
  hex=00, decimal=0
  TX_IN[1] Sequence (uint32_t)
  FFFFFFFF
TX_OUT COUNT, hex=02, decimal=2
 TX_OUT[0]
  TX_OUT[0] Value (uint64_t)
  hex=202CB20600000000, reversed_hex=0000000006B22C20, dec=112340000, bitcoin=1.12340000
  TX_OUT[0] PK_Script Length (var_int)
  hex=19, dec=25
  TX_OUT[0] pk_script (uchar[])
  76A9148280B37DF378DB99F66F85C95A783A76AC7A6D5988AC
 TX_OUT[1]
  TX_OUT[1] Value (uint64_t)
  hex=9093510D00000000, reversed_hex=000000000D519390, dec=223450000, bitcoin=2.23450000
  TX_OUT[1] PK_Script Length (var_int)
  hex=19, dec=25
  TX_OUT[1] pk_script (uchar[])
  76A9143BDE42DBEE7E4DBE6A21B2D50CE2F0167FAA815988AC

WITNESS TXIN[0] stack elements: hex=00, decimal=0
WITNESS TXIN[1] stack elements: hex=02, decimal=2
 WITNESS data[0]:
  47304402203609E17B84F6A7D30C80BFA610B5B4542F32A8A0D5447A12FB1366D7F01CC44A0220573A954C4518331561406F90300E8F3358F51928D43C212A8CAED02DE67EEBEE01
 WITNESS data[1]:
  21025476C2E83188368DA1FF3E292E7ACAFCDB3566BB0AD253F62FC70F07AEEE6357

 LOCK_TIME
11000000

So the 02 at the beginning indicates two inputs (TX_IN COUNT), and it's witness data is displayed at the end.


What does signing a transaction mean? What do people exactly mean when they say the person "signs" the transaction to transfer bitcoins?
Is it decrypting the previous output with your private key and encrypting it with the new recipient's public key?
Thanks for your time and efforts.

When you make a transaction, you need to unlock the outputs you’re trying to use. This is done by showing that you “own” the output, and you do this by showing that you know the private key of the address the output is locked to.
Digital signatures are used in bitcoin transactions. The goal of a digital signature is to prove that you’re the owner of a public key. Signing is an application of cryptography but in fact not a form of encryption.

You combine the private key + transaction data, and use some mathematics to create a digital signature.

You can then take the digital signature + transaction data + public key, do some more mathematics with them, and the result will confirm whether a legitimate private key was used to create the digital signature.

https://learnmeabitcoin.com/beginners/digital_signatures


Best way to distribute bitcoin to heirs in a will I see on [bitaddress][1] you can generate a split wallet. That's where multiple parties have to each submit their "share" keys to generate the combined private key.

So the hard part, the math, has already been done.

But, I'd like a system that has the following advantages if possible:

No lawyers / legal contract required
No trust required among the heirs
If an heir dies after me but before the distribution, the surviving heirs can divide the inheritance equally
While I'm alive I can freely use my bitcoin, and move it around, without worrying very much or at all that my heirs won't be able to find it
My heirs can't see my private keys while I'm alive
Non-heirs can't ever see my private keys
My heirs can find what they need to get started after I'm gone, without too much trouble

It's probably going to have to be a combination of a physical safe, a physical key, and the online stuff and software.

I'm willing to make the assumption that my heirs will know beforehand how to initiate the process with the physical key, and that they aren't going to take their inheritance early by force (e.g., breaking into my house).

I'm also willing to use a dead man switch website. That might be like an email that I must respond to every month or else it emails all of them their keys / instructions. Note I don't know what that website might be.

Has anyone thought through a process? Even a different process that doesn't have all the advantages I'm looking for might give me ideas.

To meet your requirement of freely using your bitcoins and moving them around, a deterministic wallet such as Electrum may suit well. In that case, you'd just need to share the wallet seed (and some details on how to use it), perhaps with half of the seed stored in each of 2 secure facilities to protect against theft.

That doesn't meet some of the other requirements, such as handling an equal split, but writing a will could handle that part reasonably effectively (though still with some chance of human error or fraud).


What is gettxoutsetinfo used for? Could you please explain gettxoutsetinfo, what is it used for? What are the different fields in the output?

I assume that it's used to calculate the amount of the unspent trasaction outputs in the blockchain. What is bytes_serialized and hash_serialized?

{
  "height" : 225494,
  "bestblock" : "00000000eb0443fd7dc4a1ed5c686a8e995057805f9a161d9a5a77a95e72b7b6",
  "transactions" : 335344,
  "txouts" : 2221582,
  "bytes_serialized" : 72130407,
  "hash_serialized" : "3d14832b1b468f52ce942d4b9dc0c76a54fa6865207ff64540105403e3109f43",
  "total_amount" : 10886823.50380013
}

The command computes some statistics about the database of unspent transaction output that is maintained by a bitcoin node.

height: the height of the block up to which the UTXO set is accurate. This may be lower than the result of getinfo's height, as the node does not flush the UTXO set from caches after every block.
bestblock: the hash of the block up to which the UTXO is accurate.
transactions: the number of distinct transactions to which the unspent outputs belong (or: the number of transactions that have at least one non-spent output).
txouts: the number of unspent outputs
bytes_serialized: how large the database is in bytes, should we serialize it.
hash_serialized: the hash of the entire serialized database. You can use this value to compare with other nodes (if they are at the same block), to verify the UTXO set's integrity.
total_amount: value (in BTC) of all unspent outputs together. This is the best possible guess for the amount of currency in circulation.


Why is a library's signature of a segwit tx different from Bitcoin Core signature? I have been writing a (yet another) Bitcoin python library primarily for educational purposes; for me and my students.

Signing a non-segwit transaction results in a signed tx that is identical to what Bitcoin Core produces.

However, signing a segwit tx results in a signed tx that is valid but different to what Bitcoin Core produces. The signature created is different.

I am trying to understand why. The library uses the same signing method in both cases. The library's tx digest calculation seems to be working fine since valid transactions are generated.

I have seen another post that mentions lax and strict DER encodings. Is this relevant, and if yes, does it only applies when signing segwit inputs?

What am I missing?

EDIT: the signature from the library is:
483045022100debdd831b8f144afcaa4e9cb71713ec657292ac09d163e827dc1d458417841a70220292b6f250e4ad94ec2b3f062129b85620c22be9be97f8a42346612de8fc423200121

And from Bitcoin core:
4730440220413d31dcd84594d2bf1408d41ec6913694b7936c2cc598f436a4709cd2d70264  02201b646f18fa4108ee19d103d427c2323a0f221e33ecb65bed0690ec69c478b8800121

This is unrelated to segregated witness.

Since Bitcoin Core version v0.17, signatures have low R signatures. The signing operating is repeated until an R value is constructed that's below 2255. On average this only takes 2 attempts, but it makes all signatures equally long (71 bytes; rather than 50% 71 bytes and 50% 72 bytes), making them more predictable and slightly cheaper on the network.


How does Bitcoin Core know it's on the longest chain? In trying to implement a client, I am wondering what is the most efficient approach to figure out if you are on a fork.
Let's say you pick a peer at random and go through IBD using the headers-first approach. After reaching the tip of the chain, what is the most efficient way to check whether this is the longest chain?
I'm guessing you have to ask your peers what their best header is, and based on the response and some heuristic, decide whether you are on the longest chain or not. Is this simply done via getheaders? What is the heuristic? And what do you do if you find out you're on a fork?
Pointers to the relevant code in bitcoin or btcd would also be appreciated.
Thanks
EDIT: In case this isn't obvious, I'm not asking whether it can know with certaintiy that it is on the longest chain (it can't), but rather what is the best effort attempt to remain on the longest chain at all times.

First of all, finding the longest chain is not the goal, but the chain with the most accumulated proof-of-work [1]
Now, finding the most-work chain is the entire goal of the full node. The whole meaning of its existence is finding the most-work chain, and so you can pick almost any line out of the networking and validation modules of the code and explain it in those terms.
To be a bit more specific:

The full node connects to at least 8 peers. More recent versions connect to 2 extra peers in 'blocks only' mode. Peers are chosen to be as diverse as possible (by IP subnet or AS map). If a new block has not been added within a certain timeout (I think it's 40 minutes) Bitcoin Core adds one more outgoing peer.
The full node sends a getheaders request to each peer and keeps track of the best block each peer knows about.
If a peer has a valid block header with greater accumulated work than our current tip, we ask it for the corresponding blocks. If those blocks are valid, it becomes our new chain tip. A reorganization may or may not be necessary to get to that state.

If you understand conceptually how headers-first sync works, the function FindNextBlocksToDownload() is the next step. This is where the node decides if a peer has headers with greater work than its current chain tip, and requests those blocks from that peer.
So all we can do is connect to a lot of peers and assume that at least one of them knows about the most-work chain. This makes peer discovery and choosing which peers to connect to of critical importance.


What Bitcoin-esque alternatives are there? I'm seeing lots of bitcoin-esque alternatives mentioned here. What alternatives exist and how do they differ from Bitcoins?

There are a number of other cryptocoins in use alongside Bitcoin, the most notable are:

Testnet Bitcoins (used only for testing Bitcoin applications, but they are an important mention) - they work exactly the same as Bitcoins.
Namecoins - coinage used as a distributed naiming system blockchain. Their most notable feature is that they can be merged mined with Bitcoins.
LiteCoins - "silver to Bitcoin's gold" - their blocks are generated every 2,5 minutes, and their hashing algorithms are more CPU-friendly (mining with graphic cards doesn't work well with those).
SolidCoins - 2 minute blocks, there isn't a limit on how many coins will be generated, CPU friendly, difficulty is adjusted more often, close-source. The SolidCoins have undergone a "reset" recently and have earned themselves a negative reputation for how some issues were handled.
GeistGeld - 15 seconds blocks, making it the fastest alternative crypto-currency.
I0coin - they don't list any difference from Bitcoins on their website
Ixcoin - same parameters as Bitcoins, asides more coins being generated each block (thusly, all 21M coins will be generated sooner)
Tenebrix - CPU friendly, a few million coins pre-minted

A list of them is also maintained on the Bitcoin Wiki.

There is a relative ease in creating new cryptocoins, as you can just tweak the main client, encode a new genesis block and start your alternatives with small effort.


Where can I request ardor ignis testnet coins? I can't seem to find a faucet to get ardor or ignis coins since u cannot mine it. Where can one get some?

You can request Ardor Testnet coins here: https://nxtforum.org/testnet/some-testnxt-to-test-asset-exchange/


Linux Mint: root running bitcoind on startup? Every time I start my machine, root user tries to run bitcoind. I've checked .profile and such, but there don't seem to be any answers there. what else could be making my computer try to run the daemon?

There are a couple of options where this could be loaded on startup, check the root crontab file (crontab -e) also look for files in the /etc/init.d/ folder it could be included in rc.local or another startup script.


Do all coin types use the same API? I'm new to the concept of crypto currencies but I understand the basics , I'm developing a website that will enable users to exchange their crypto currencies , it works like this

User x sends Bitcoins (or any other type) to website Bitcoin address
User y sends litecoins (or any other type) to website Litecoin address
Website sends Bitcoins to user y Bitcoin receiving address , and sends litecoins to user x receiving address

I know how to send Bitcoins , using an API like inputs.io or blockchain.info , but I'm wondering about all the other types (Anoncoin for example) , how can I send coins to receiving addresses ? can I use inputs.io or blockchain.info for coin types other than Bitcoin ? or does each one has its own API ?

Technically speaking, many other cryptocoins are based off of the source code of Bitcoin. However, a quick look at the Anoncoin website (https://anoncoin.net//) suggests that it's been heavily modified from that of Bitcoin (using the darknet, i2p, and all that). Therefore, an API that works with Bitcoin, such as those at inputs.io or blockchain.info is really unlikely to work with Anoncoin in particular. On a more specific note, Anoncoin is a Scrypt-based cryptocurrency, while Bitcoin is SHA-256 based. Therefore, they're even less likely to be able to use the same API. Even if you did try to perform operations on Anoncoin (or any other lesser known cryptocurrency) with the API of a Scrypt-based coin, you're pretty much doomed to fail, and if the API doesn't catch that and the coin does make it into the system, then things could get very strange on the server side regarding how the server should process your request.

In conclusion, most cryptocurrencies, if not all (there are so many that I cannot make a giant umbrella statement here) are handled by their own API depending on the website (for example, inputs.io and blockchain.info use two completely different APIs). It also means that lesser known coins will have difficulty gaining support and usability.

Of course, given that Anoncoin doesn't seem to have a notable exchange to support it yet, perhaps you could make your own API, website, or exchange to handle transactions with it to say other cryptocurrencies. Otherwise, it might just be smartest to sit back, wait, and hope for someone else to do it.


Verifying ownership of utxos Is there any other way besides signing a transaction to verify ownership of utxos?

To 'own some bitcoins' is to own the private key that allows a UTXO to be spent, so your question can be refined to "how do you verify ownership of a private key that controls a UTXO?"

There are a few ways you could do this:

Sign a generic message with the key, such as "I am the owner of bitcoin address 1a5Ag23...."
Sign a transaction with the key, spending the coins to a new address (you could post the address prior to broadcasting the tx, to prove the coins are not just moving by coincidence)
You could show off the private key itself (but this is a very bad idea! The bitcoins probably would not remain yours for long...)


Pruning a Bitcoin full node I am running a full node and considering pruning to gain some disk space.

Does Bitcoin Core know how to prune the existing database or will it start the entire sync process over?

How much free disk space does the process require?

Will the pruned .dat file be deleted by the process?

Does Bitcoin Core know how to prune the existing database or will it start the entire sync process over?

It knows what to do and you will experience no resync or reindex when you do the pruning process (barring any unclean shutdowns or sudden power loss). There is no noticeable effect when pruning except that the size taken up on disk is much smaller.

  How much free disk space does the process require?

No additional space is required. Disk space will be freed up by pruning, not consumed.

  Will the pruned .dat file be deleted by the process?

Yes, that is how it frees disk space.


Correlated raw transactions' input/output chaining So I'm in the process of implementing a BTC-based payment module where for every transaction to a non-wallet account a fraction of the amount will end up to a charity account in a external wallet not controlled by this module.

A typical round for that would be:

The module receives the payment from user
It forwards the 90% (this percentage is arbitary) of the amount to its final destination (e.g. a merchant)
It now has to forward the remaining 10% to the charity of the user's choice

In a lower level, the system:

Receives a transaction TxFromUser from the user with an amount of X BTC
Waits until it gets 6 confirmations
Creates a new raw transaction, TxToMerchant to forward the payment to the merchant
Creates another raw transaction TxToCharity to forward the donation to the charity

Going a bit deeper:

TxToMerchant:

Create new raw transaction
Add new input: TxFromUser
Add new output: Address: Merchant's address, Amount: 0.9 * TxFromUser.Amount
Add new output: Address: Module's own wallet address, Amount: 0.1 * TxFromUser.Amount
Calculate the fee for this transaction
Subtract the fee from the second output's amount
Create the transaction's hex and sign it with the right key
Send the transaction and get its id: TxToMerchant.Id

TxToCharity:

Wait for the above transaction (TxToMerchant) to get confirmed
Create a new raw transaction
Add new input: TxToMerchant (this will be the change we asked for above)
Add new output: Address: Charity's address, Amount: TxToMerchant.Amount = 0.1 * TxFromUser.Amount
Calculate the fee for this transaction
Subtract the fee from transaction's output amount
Create the transaction's hex and sign it with the right key
Send the transaction and get its id: TxToCharity.Id

I am aware of the fact that I could merge these two transactions (TxToMerchant and TxToCharity) into a single transaction, however for various reasons (business requirement) let's just say that this is not possible at the moment.

The issue I have with the above implementation is this: waiting for the TxToMerchant to confirm creates a lag, as I cannot forward the payment to the charity TxToCharity until TxToMerchant is confirmed (or can I, without having to worry about transaction malleability etc?).

On top of that, when the time comes to add the TxToCharity's input I have to keep track of how the change was returned in TxToMerchant and then get the right unspent transaction (where listunspent.txid = TxToMerchant.Id), is there a more efficient and less error-prone way to do this?

Let's suppose that the user wants to split the payment between 2 merchants (or a merchant and a freight service, which makes more sense), so in the above example there would be 1 more transaction like TxToMerchant, let's call it TxToFreightService. Let's say now that TxToMerchant goes trough well and gets confirmed but TxToFreightService fails and never gets confirmed because the input used for it was a double-spend regardless the 6 confirmations we got (for its input) before processing it. TxToCharity depends on TxToFreightService because the requested change in TxToFreightService will serve as the input to TxToCharity. How do I deal with this scenario programmatically without having to perform corrections by hand every single time this happens?

I think your business process is confusing the issue. I'm going to assume that the "business" side of this also wants to take a cut of the transaction or it wants to delay paying the charity and that is why this has become more complicated.

There are a number of considerations not least the fact that you are using one input to pay the merchant, and the change to pay the freight, and the change of that to pay the charity.

What you are concerned about is the inability that you have built-in to pay the one party because of a preceding ttransaction, but that's your business process at fault not the Bitcoin protocol.

You should also consider the minimum payment amount and the eventual network fee, neither of which are %age based.

These are not mentioned and in fact by making two (or possibly four) transactions you are incurring up to 4x the bitcoin network transaction fees.

This is one of the main reasons why (from a business perspective) you should not split the transactions up ie it is more expensive and who is going to wear the costs? The charity? the merchant? the freight? You?

Can I suggest also that you have misunderstood the "confirmations" as something other than your transaction being included in a block. When a transaction is requested by a peer prior to it being included in a block - the peer validates the transaction independently, and if for any reason it is not good it is rejected. This is NOT the process of "confirmation".

All peers in effect will do the same validation to your transaction as it propagates through the network (which BTW is extremely fast).

Confirmation on the other hand is when the transaction has been included in a block, and the only time this becomes an issue is if there is a fork in the blockchain. But even then you still can rebroadcast a transaction if the "other fork" becomes the final one provided the basis on which it was made is good.

The point I want to make is that you are placing too much emphasis on confirmations for transactions that you yourself have created, and then wait until someone else confirms what you already know to be true, and this seems completely pointless.

Perhaps you can expand your question to explain the "business reasons"?


Transfer to Bitcoin ABC wallet is waiting for full download I'm fairly new to cryptocurrency and decided to transfer some of my LTC to BCC using a Bitcoin ABC wallet on my MacBook. To test the wallet I already transfered 1 BCC to the generated adres. I was not aware that this wallet had to download the whole blockchain before I could use the wallet. Now I'm unable to reach this one BCC... Is there any way around downloading the whole blockchain to my MacBook? I'm at 2% increase per hour, around two days waiting for me??

You could use wallet software that does not require downloading of the blockchain, in the same way electrum.org does for Bitcoin.


fund stolen from my blockchain wallet I am Ashish jaiswal from India. I logged in to my blockchain wallet today and i received the approval email from blockchain. I approved the email and in next minute I see 8.43 btc has been taken out of my wallet. what shall I do?

It seems possible the "approval email" was a fake and that you clicked a link in that email which led to a fake website that tricked you into giving your account credentials to a thief.

what shall I do?

Report the theft to blockchain.com and ask for their help.
Report the theft to your local police.
Accept that your money is gone and almost certainly will never be recovered.
Perhaps do some research on the differences between custodial-wallets and non-custodial wallets and on the differences between hot-wallets and cold-wallets. Investigate the prices and availability of hardware wallets.
Do not respond to unsolicited messages from people saying they can recover your money - they are conmen who will later invent false fees you need to pay them.


How to find out a p2pool's node fee/donation setting? I'm mining LTC on a public p2pool node. The owner says there is a fee of 1%.

Is there any way to verify this is true for me as a miner?

Not really, you have to trust that the owner is being truthful. In actuality they could be stealing every bit of work you submit, but I'd like to think that they wouldn't.

If you don't trust the node, it's up to you to run your own.


Bitcoin Core 0.13 BIP32 support BitcoinCore 0.13 now supports BIP32 wallets. Documentation states, that if I create a new wallet and encrypt it, it will be an hd wallet. Then I can make a one-time backup of the master secret key.

Imagine that I do all the steps listed above. I start generating addresses and accepting payments. I do not make any backups.

How can I restore my wallet at any time in future (with all keys generated after the initial backup?)?

Correction: I had thought that Bitcoin Core implements BIP44, which it does not. Thus, what I previously wrote about the gap-limit was wrong.

To restore your wallet-backup you place the wallet.dat into the Bitcoin Core data directory as Pieter described.

When Bitcoin Core is started, it will load the wallet.dat. The wallet.dat includes the information up to what blockchain height it was used last. So, Bitcoin Core will now from what blockchain height to search for additional transactions.

Hereby, Bitcoin Core will generate a key pool of, by default 100, unused addresses that it also checks for. Whenever it discovers a transaction corresponding to any of its addresses, it will generate more addresses from the deterministic chain to fill the key pool back up.

To recover addresses beyond the key pool, you can just request new addresses in Bitcoin Core until you have found all your funds. This type of initial backup doesn't allow you to recover meta-data such as notes about the transactions' origins or recipients as they are only stored in the wallet.dat and cannot be recovered from the preceding backup.


How can I calculate the breakeven price for buying and reselling on cryptocurrency exchange? Assume that one side of the position will be charged the TAKER fee (0.25%), and the other will be charged the MAKER fee (0.10%).

I have tried using this formula, but when selling at the break even price, the result does not sum to zero.

Marking up the MAKER & TAKER fees:

Break Even Price = Buy Price * 1.0035.

There are two issues with your calculation:

You are assuming that you are both a Maker and Taker (either maker when buying and Taker when selling, or taker on the buy and maker on the sell) which could be true, but might not always be the case
You are calculating both fees based on the Buy Price (which is not accurate because the corresponding maker/taker fee is a percentage of the selling price too).

Your calculation only makes sense if you are being charged both maker- and  taker-fees and your buyPrice == sellPrice. Which will never be 0 because if you are buying and selling at the same price then you lose out on the fees.

If both orders were maker orders your calculation would be:
Break Even would be when: (sellPrice * (1 + maker)) - (buyPrice * (1 + maker)) = 0

If the buy was a maker order and the sell a taker order:
Break Even would be when: (sellPrice * (1 + taker)) - (buyPrice * (1 + maker)) = 0

You would need to extend these scenarios for all 4 possible permutations of the maker/taker fees.


HELP BITCOIN SENT CONFIRMED BUT I NEVER RECIEVED BEEN 2 DAYS help im not sure what to do i sent from Pax, bitcoin like i have done many times and it shows up as confirmed, but yet i dont see it at all heres the id 7581e42bf71df4b81fdb233542f3e0baeddeb60bd5e11361b1f8cb7ccb3553a5

is anyone able to help me recover this? or is it gone for good?

BITCOIN SENT CONFIRMED BUT I NEVER RECIEVED BEEN 2 DAYS

In reality Bitcoins are not actually sent or received. Those are not two separate events. They both really refer to the same event. If the Blockchain shows unspent bitcoins (unspent transaction outputs) associated with an address you control, you have "received" them - regardless of what your wallet says. This is easily checked using a blockchain explorer

  heres the id 7581e42bf71df4b81fdb233542f3e0baeddeb60bd5e11361b1f8cb7ccb3553a5

That transaction currently has 450 confirmations. It also has 12 inputs and 52 outputs. Presumably Pax have batched up their customer transactions and one of those 52 outputs is an address you gave to "Pax" (Paxful.com?).

If that address was generated by a desktop or mobile wallet, it's failure to show the amount expected could be due to a number of reasons - for example maybe it isn't fully synchronised for some reason?

  is anyone able to help me recover this?

Only the person or organisation who has the private keys from which the relevant output "address" was generated. Normally that would be you alone.

It may be that this isn't a question of "recovery" in the sense of recovering money transmitted somewhere. Perhaps you just need help finding out why your wallet doesn't show the expected amount associated with the relevant receiving address you gave "Pax". That would be a different question and depends on what wallet you use.

  is it gone for good?

The transaction is final. If you know who "received" the output in question, you can ask them for help. You could start with "Pax"


How many types of mining pool are exist for bitcoin or litecoin? I would like to know exactly how is the type of different Bitcoin or litecoin pool ?!

For example when you have P2POOL , it can be getwork or stratum but they are protocol ?!

In some pool like BTCGuild when you mine, the reward will be added instantly but in P2POOL takes time to see the reward in you wallet.

The pools are mostly distinguished by:

fees: how much the pool charges workers
size: the larger the pool, the smaller the variance of your payouts
payout style: pay per share, pay per last N shares, etc.
location: do they have a server near you (extra latency will mean less mining work accepted and a lower payout)

As you guessed, getwork, long poll, stratum, etc. are not types of pools, but rather types of protocols for getting mining work from the pools. Some pools support more than one type of protocol.

You can see a nice comparison of various BTC mining pools here:
https://en.bitcoin.it/wiki/Comparison_of_mining_pools


How to test if a transaction can spend an existing output? Suppose I'm writing a transaction by hand, that spends an existing uspent output sent by myself from another address. Is there a way to test if the transaction can really spend that output, before brodcasting? The reason is, I want to be sure if I'm correctly generating the sigScript.

EDIT: I know it is possible to syntactically verify transactions, but I'm asking if do exists a method such as canSpend(myTransaction, unspentOutput). Ideally that would execute the combination of scripts myTransaction.sigScript and unspentOutput.ScriptPubKey and check if the result is true.

If you build Bitcoin Core from master, you can use the new testmempoolaccept rpc method to check if your tx would have made it into the mempool. This will include checking the signature, and ensuring that your inputs are actually unspent. It does not add broadcast the tx into the mempool, but simply checks if it would have been accepted.


Bitcoin ATM paid out to a phone number, how can the funds be retrieved? A friend was trying to send me bitcoin using a Bitcoin ATM, she sent the funds to "her phone number" instead of my wallet QR code. The ATM indicated that Bitcoin was sent, but my friend doesn't even have a wallet address. It seems like a wallet address was generated for her and we don't know how to retrieve this bitcoin back, can you help?

it seems like a wallet address was generated for her

This seems most likely to me. An ATM should not allow the destination/receiving address to be empty or to contain something that is not a valid bitcoin-address (e.g. a phone number would be rejected)

A phone number might be requested for an online custodial wallet service with two-factor authentication (2FA) - if so you'd need to find out the URL of the service, and the corresponding username and password or other credentials.

If your friend doesn't have a printed receipt with some details on it, it is likely that the money is now forever inaccessible.

I would

try to find a printed receipt
contact the ATM owner (although I would not expect them to be able to help)
visit the ATM with your friend and try to recreate what happened with the minimum possible amount of money as a test.


Is Lightning network really a hope for better scalability and low latency? BTC can't do transaction in 1/4000 times to what VISA does and then still claims that it will disrupt industry. The proof of work has limitations to scalability and in no way it can record transaction within one sec. To overcome this, segwit and lightning network is proposed but Segwit is not the solution as it will still take 10 mins minimum to process transaction with segwit....and lightning is not based on blockchain...eventually creating payment channels that can be done without POW and blockchain. So its moving back to traditional way of transferring money in the name of off-chain. There will be security and centralization issue again with LN. If I have to do off chain work without POW, I have already that option available with VISA and others. Why should I go for BTC? I do not see LN as any improvement but it is convenient option to do away with POW only and is more like a hack.

Is Lightning network really a hope for better scalability and low latency? Is it not moving away from blockchain thereby compromising security and decentralization?

While Lightning Network payments are off-chain, they are not really removed from the blockchain. In fact, payments on the Lightning Network are merely creatively delayed Bitcoin transactions.

The funds of a payment channel are held in a 2-of-2 multisig address. Since spending money from there requires the acquiescence of both parties, the payment channel partners can set the payout conditions in advance and then rely on them remaining unchanged.

However, they may renegotiate the payouts with each other in order to adjust the respective balances. Since this process only involves the two of them, it is practically instantaneous and by the order of the negotiation protocol still trustless. If the negotiation fails, or one of the channel partners becomes unresponsive, either channel partner can simply broadcast the latest state of the channel to the blockchain for execution.

While LN has different security trade-offs and a different network topology, I don't think that  "compromising security and decentralization" is an accurate description.


Bitcoin Binary Options - What are they and is it a Scam? I recently came across Bitcoin Binary Options. I didn't really understand what Binary Options mean, is this like actual Bitcoin trading or is it one more scam I need to avoid ?

Bitcoin Binary Options are financial instruments that allow you to predict if the price of Bitcoin will rise or fall in a specific amount of time. They are called binary options because there can only be 2 outcomes - either you get your payout, or lose your money.

Each option has a predetermined expiration date and an agreed payout. For example, if you decide to buy a "call" Binary Option on Bitcoin this means you think the price will rise.
If at the stated expiration date the price was higher than what you've bought it at, you get your payout.

Binary options seem to resemble gambling in a way that you don't have to have any prior knowledge in order to succeed or fail in them. It's just "betting" which way the price will go which is almost impossible to do consistently in short time frames.

There have been many complaints about Binary options being scams and it's important to see that the company you're considering is regulated in your country. Also, if you dig a bit deeper into the math of Binary options you'll find out that just like a casino the house has better odds at profiting in the long run.

For more information you can read this article.


How to store wallets online? Something like blockchain.info appears to keep full wallets online. Do they run a standard bitcoind on thousands of servers (one per person)? Or are the somehow managing to keep individual wallets separated?

Blockchain.info probably doesn't use the standard bitcoind client, but something written just for their use, which works like bitcoind, but with a large list of encrypted wallets instead of just one.

Since bitcoind just isn't made to handle thousands of wallets, it would be cumbersome to try to have a web wallet like blockchain.info use bitcoind. I don't think you'd need one server per person, but you'd need one instance of bitcoind running (whether on-demand or always running) for each wallet.

I'd expect that nobody would use the standard client for this, but would fork (or create from scratch) their own version. Maybe at some point, someone will release such software as open source software, but there's not really a need to have many different servers like that (unlike, say, mining).


Receive/send Transactions latency I am on Ubuntu 16.04, with the latest version of Bitcoin Core, synced and working.

I would like to know why is there a little delay of approximately 1 sec, sometimes more, before a received transaction appear on the console when we run for instance bitcoind -printoconsole, if I check the tx on blockchain.com for instance, I can see that the transaction were received 1 or 2 sec before I even see it on my node, why is there a delay ? I have try on another ubuntu server with a super fast connection and it's the same thing. By the way, it's the same thing when I send a Tx, it's submitted and appear on the network 1-2 secs after.

So my question is why is there such a delay even on a node ? Is it possible to reduce it ?

I have already asked the same question on the bitcoin repo on github and someone told me that it is an intentional delay against attackers, but what I don't understand is why blockchain has access to it before node ? If they can it mean that we can too right ?

Just like when few years ago and even months, some brainwallet were swipped within milliseconds.

Thanks in advance !

If I understand your question, your latency compared to blockchain.info is motivated to the blockchain.ifo use the node distributed to the world and you have only the one node.

I have read this reasearch where write this

  In  any  peer-to-peer  system,  dierent  nodes  will  receive  thesame data at different times.  Blockchain.info uses a geographi-cally distributed set of nodes to obtain relatively accurate times-tamps.   BlockSci is a single-node system,  so its timestamps in-evitably lag those of blockchain.info. Based on 2 weeks of mempooldata recorded by our AWS node in theus-east-1ddata center, wefound that our timestamps lag blockchain.info’s timestamps byan average of 16 seconds and a standard deviation of 4 seconds.Any BlockSci user can perform a similar measurement and apply auniform correction to eliminate the average lag, but of course thevariance will remain.


Can i store multiple crypto currencies in one wallet? Is it possible to make a wallet for BTC and store LTC and NMC or other coins in it?

Coinomi Universal HD Wallet will do exactly what you're looking for.

Coinomi is a very secure and lightweight, universal, open-source HD wallet for Bitcoin and many altcoins. At the moment the supported coins are:

Bitcoin
Dogecoin
Litecoin
Peercoin
Darkcoin
Reddcoin
NuBits
NuShares
Blackcoin
Feathercoin
Rubycoin
Digitalcoin
Cannacoin

with more integrations on the way.


bech32 addresses beginning with "bcrt..." on regtest I'm playing around with regtest and wanted to generate a bech32 address. My Bitcoin Core version is 0.18.0.

I ran getnewaddress "" bech32 and got an address that began with bcrt, like this one : bcrt1qs758ursh4q9z627kt3pp5yysm78ddny6txaqgw.

I'm a bit surprised, because I was thinking that testnet bech32 addresses were different, and indeed I checked this page that says it should begin with tb1...

I tried to send some tbtc to this address with Electrum and a faucet, none worked, they indeed both say address is invalid.

So what am I missing here?

Regtest and testnet are different networks. They are not compatible with each other.

Regtest is a private local network which is used solely for testing. It is primarily used for the regression tests, hence the name regtest.

Testnet is the public testing network which is very similar to mainnet, the main network. It has a different genesis block and has actual miners, DNS seeds, and nodes that you can connect to.


Should I use bitpay? Looking to store .145 of bitcoin in a strong wallet. Should I use Bitpay for this? If not, please recommend better wallets. No hardware wallets please, I am trying to save money.

Electrum (https://electrum.org) is a good choice if you wish to store your bitcoin locally on your PC.   Supports things like hardware wallets, multiple wallets, seed (longish string of words) to recover your wallet if it's lost, and you can later on export your keys and import them into another wallet if you prefer.


How do I backup the Bitcoin Core data directory? I'd like to be able to backup the Bitcoin Core data directory. I know I can just copy everything except wallet.dat to an external hard drive.

I want to be able to restore it in case of drive crash, catch up, and be able to update the backup with just new blocks, because it would take too long to copy 50+ GB back. Can I do a full folder copy, telling Windows not to replace anything? I think that should work, but there's a block index, and wouldn't keeping the old index with new block data keep Bitcoin Core from knowing about the new blocks I had caught up on?

I found an answer: use TeraCopy and select Older Only when asked about replacing the destination files. And just to be certain that everything gets updated like it should, I tested the resulting backup folder by running the Bitcoin node on it, and everything was normal.


What's the point of ETHLend? I am trying to understand what the idea behing a site like ETHLend is.

IIUC, I can borrow coins for an interest, the same way I could borrow a traditional currency from a bank. That part is easy to understand.

But - again IIUC - they require that I block the collateral for the load - where they will only accept cryptocurrencies - upfront through the smart contract.

Translating to traditional terms, this would be as if the bank says:

Transfer 10.000 USD to us. Then we will borrow you 10.000 EUR which you can pay back in installments plus interest. After you will have paid your credit back in full, you will also get your 10.000 EUR back, otherwise we will just keep them.

What do I miss?

Your assessment is correct.

But think of it this way: to get a mortgage, you put up your house as collateral, where value(house)>value(mortgage). Same idea here.

Some response to your concern in their FAQ here

  Why would I borrow when I can just sell?

    There are a variety of reasons you may want to borrow and unlock the liquidity of your tokens rather than selling, some include:

    Borrowing Ether to participate in different ICOs,
     Purchasing other tokens from the exchange for different investment strategies without the need to sell tokens,
    Lending altcoins and tokens for short selling or hedging,
     Financing mining expansions,
     Finance for blockchain startups,
     Buying market dips.

    This list is expanded even further when we include USD Pegged Etheruem loans:

    Holding more ETH in a bullish market,
    Purchasing assets with $ while keeping your crypto portfolio safe,

    Future use-cases could include tokenisation of property, shares, intellectual property, and other physical objects (Cars, boats, power plants, art, etc)


What happens if the blocksize stays at 1MB? With the current impasse that Bitcoin finds itself in, what are the theoretical and pragmatic implications of the blockchain staying at 1MB for the long term future?

Will this simply mean that transactions will take increasingly longer confirmation times? Or will there be a point where the network will simply not be able to cope with the number of transactions (if the transaction rate continues to increase). I have looked online but haven't been able to find any answers for the blockchain illiterate that explain this.

As long as there is demand for Bitcoin transactions and the hash rate is somewhat stable, Bitcoin will confirm 1MB of transactions every ten minutes in average. Since this is a fixed supply, Bitcoin would not be able to satisfy a demand greater than 1MB per ten minutes and some transactions would never confirm. This is a graceful failure, as it would be rational for miners to confirm the transactions that give them the highest revenue, and thus the transactions that are the most valuable to their users will be catered to first, and transactions that signal less priority get priced out of the blockchain first. These would either move to off-chain solutions or other blockchains in the long term.

It seems obvious that fees would thus adjust respective to blockspace demand and economic value of the transactions. As either grows, pressure to provide more capacity will mount. It seems likely that sufficient pressure would lead to adoption of some capacity increase eventually, be that Segregated Witness an Lightning Network, or increased demand for altcoin solutions.


How can a cryptocurrency demotivate investment in favour of continued transactions? Is it economically and practically possible to create a system where investment cannot take place?(or if it does, it doesn't affect the system in a big way like Bitcoin had extremely high prices due to low supply and high demand)

What I thought of is a system where after a certain threshold(coins*time_left_inactive) the coins return to the system as a reward to every miner proportional to the hashing power they provide the system with.

But this has a problem, in order to bypass said limitation one can just continue transactions between two(or more) wallets and miners would be mining fake(I couldn't think of a better term here) transactions, greatly increasing the hashing power the system requires unnecessarily.

I don't know of any existing currencies that tackle said problem(Obviously)
So if there are any, please let me know, I'd like to look into 'em.

You could try demurrage, where the value of one's holdings is intentionally reduced periodically. Freicoin is the only example I know of in the crypto space.


Refunding of payments made I was scammed November 2017 by a woman called, Adele Johnson. I wanted to trade on bitcoin, but didn't had the experience to do it myself. She offered her help to trade on behalf of me. I paid R8000 into my Luno account where she requested all my registration details as well my wallet address. She made use of Tradeway Option Platform to trade for me. According to her my money growth to $50 000 and for me to withdraw this money I need to pay $7000. I told her I don't have such money, she got angry and blocked me.
A man, called Artem Vladys told me he can help me to trace this money through interpol. He requested a payment of $300 and he assured me that will be the only payment I had to make; which I made via Luno, I bought him bitcoin worth $300 and sent it to the wallet adress: 154oDjBXc1wSzYncP6YwrU7a9duVGd3J3. He requested another amound of $200, I unfortunately refused to make another payment before I haven't seen what he did to assist me tracing my lost money. He got mad and he blocked me.
Both people said they work for bitcoin.
All the transactions shows in my luno account. Is there any possibility that I can trace this money? Is there not honarable people/organisation who can get my money back?

Both people said they work for bitcoin

Some people lie.

  Is there any possibility that I can trace this money?

Criminals often try to make that difficult for you. It is unlikely that anyone can trace exactly where your money went.

  Is there not honarable people/organisation ...

There are but

  ... who can get my money back?

Part of the design of Bitcoin and other cryptocurrencies is to make it hard to track transactions to real people.

What you have done is the equivalent of putting banknotes in an envelope and posting it to a post-office box address in a foreign country where such boxes can be rented without presenting any ID.

You should report the crime to your local police. You would be wise to assume your money is lost.


Bitcoin disappearence rate I was wondering if there are public available researches about the "disappear" rate of Bitcoins (wallet data lost, person died, forgotten eWallet access, ...).

This could be generated by checking "idle" public addresses with unspent money. Or by scraping information about data lost on public forums.

I've not touched a large part of my online wallet (two weeks), nor the paper wallets under my sink (two years), but they are by no means disappeared, idle or lost. There's really no way of telling, no matter how much thought is put into it.

Some coins can be called lost, that is they don't have any associated private keys known, but there's no way of verifying that they are indeed unspendable. The exceptions are spends to addresses that the private key was never known like 1BitcoinEaterAddressDontSendf59kuE (1.6BTC).

There's an almost constant stream of suggestions that "idle" coins should be recycled, but really, what constitutes idle?


What is the meaning of target-confirmation? The API call listsinceblock has an optional parameter called target-confirmations.  Exactly what does it mean and how does it differ from the minconf optional parameter that many other calls take?  I understand the use of minconf, but I cannot at first glance see what's different about target-confirmations.

It's pretty much the same thing.  It probably should have been called 'minconf'.


What is stopping someone from creating their own "chain" in Proof-of-Stake systems? I'm studying how Proof-of-Stake systems work. This answer on "How does proof-of-stake “mining” work?" explains specifically the Nextcoin implementation of PoS. The idea is that the next "miner" is chosen randomly from a pool of online users. However, my main concern with this system is: how do you stop someone from simply building a longer chain (from scratch) of made up transactions towards thousand of addresses that were randomly created by the malicious user? If it were higher than the current "valid" chain, wouldn't the fake one replace the valid one?

This problem is generally known as "nothing at stake" or "costless simulation", where there is indeed nothing preventing anybody from making arbitrarily long chains where they are the only participants in the network. If you were an early majority holder of the altcoin, emulating a massive network with thousands of users and then presenting that to peers valid would be trivial and effectively costless. Compromised private keys or "empty" private keys purchased from early participants in the network would also be a viable choice for bootstrapping an attack like this.

The proposed solution in NXT is that nodes will refuse to reorganize very deeply (more than a day or two), making a weak assumption that the first chain you have seen is probably going to be the one the rest of the network is on. Ethereum has proposed for their move to Proof of Stake that they will use a "phone a friend" cryptosystem, essentially requiring users to confirm that they are on the same root proof of stake block chain using real world out of band communication (like a phone call or Royal Mail).

Neither has particularly strong assurances of validity, and is simply one of the realities of a Proof of Stake system that has the cost and reward internalized. In Proof of Work there is a significant real world cost to attempting competing chains, and given the choice of two there are clear rules for nodes to distinguish them.


How does a Lightning transaction work if one party starts with no Bitcoin and no wallet? Let's say Alice wants to give Bob 1₿, and Bob doesn't have a regular blockchain wallet address yet.

The classic example assumes that Bob is locking some Bitcoin of his own on the blockchain, and Alice and Bob are both funding a channel between each other.  But what if Bob doesn't have any Bitcoin yet, and Alice wants to give him some via Lightning?  Then he could get the Bitcoin from Alice, do transactions with it with other parties in the Lightning Network, and only do a slow expensive blockchain transaction when he's ready to cash out.

I know it's possible because I've been able to test this out with two different Lightning apps with separate wallets.  I funded one Lightning Wallet, and opened another app with 0 balance and no regular wallet.  I was able to fund the second wallet instantly.  But I'm not sure what's going on to make it happen.

The classic example assumes that Bob is locking some Bitcoin of his own on the blockchain, and Alice and Bob are both funding a channel between each other.

This is not how lightning currently works! Currently only one side is funding the channel. People are working for a dual funding solution in which two parties fund the channel in a way how you suggested it. So if Bob does not have any Bitcoin alice could fund the channel and then send btc to Bob. (which should also be the answer to your question)


Why can't a longer key combat quantum computers? Google's new quantum computer performed a calculation in 3.5 minutes that would have taken 10,000 years on a normal computer (so they claim: https://www.space.com/quantum-computer-milestone-supremacy.html).

So this is about 5 billion times faster, but why is this such a dire threat to bitcoin security? If Bitcoin core upgraded to increase the entropy of private keys by a mere 32 bits, this would increase the difficulty of a brute force attack by about 5 billion.

Why are people afraid that quantum computers will threaten the security of Bitcoin and other cryptocurrencies when you can just trivially increase the key size?

Quantum computing isn't simply faster. It is entirely different. Some computations are massively faster on a quantum computer, and other are not faster at all.

What has been demonstrated is meaningless: the "program" that was executed was in fact a randomly generated one, designed to be specifically hard on traditional computers, but easy on that specific type of quantum computer. It doesn't correspond to any real world application.

The real threat for Bitcoin from quantum computers comes from Shor's algorithm for discrete logarithms. While computing the discrete logarithm (private key) for a given 256-bit elliptic curve point (public key) on a traditional computer takes on average 2^128 EC multiplications (over 2^140 cpu cycles, all computers in the world couldn't do this given a time equal to the age of the universe), a sufficiently powerful quantum computer would be able to break it instantaneously.

The key point here is "sufficiently powerful" however. A practical quantum computer able to do this would need 1000s of logical qbits (which likely corresponds to 100000s of physical qbits; the machine Google demonstrated has 53), and billions of gates. A quantum computer with fewer gates or qbits is effectively useless for this task, and would reduce to traditional speeds. This is important: it's effectively an all or nothing; not something that gradually improves with increasing computing strength. At this point I don't think if it's even known whether such a machine is feasible to build, let alone at what cost.

As far as increasing key sizes goes, yes, that helps. It makes the speed of solving slower, even on a quantum computer, but not exponentially like on traditional systems. I believe that given an arbitrarily many qbits/gates quantum computer, doubling the size of the curve only makes breaking it 4 times slower - where on a traditional computer it would make it 2^128 times slower. However, it does increase the number of qbits needed from the machine (linearly) and the number of gates. Even if a particular key size at some point becomes vulnerable, it is very likely that a not very much bigger key size would in fact not be.


Sent a 1079 byte transaction without a fee on accident Honest mistake, I thought Bitcoin-Qt would ask if I wanted to add the fee which it did not. What are the chances this transaction will make it through? Is there anyway I can cancel this transaction or do I have to just wait it out and see? It was sent from Bitcoin-Qt v0.8.2-beta

Bitcoin-Qt will insist you add a fee if (and only if) it's required to get confirmed ever - so it should confirm eventually. If you want to always include a fee for a faster confirmation, go into Settings. Unfortunately, while Bitcoin allows you to add a fee later, Bitcoin-Qt does not support this.


How to set the exchange for MultiBit Wallet Currency Ticker? How can I set which exchange is used to feed the currency ticker in MultiBit, i.e. get rid of Mt. Gox and put MarketCap or some other legitimate exchange in its place?


How do bitcoin nodes agree who first mined ablock? Once transactions are broadcast and a node starts working on a proof of work, and finds it, it broadcasts it to all other nodes for that block to be verified and added onto their blockchain. All nodes agree to add another transaction that mints a certain amount of bitcoins to the miner.

However, I am confused about what protections there are against a bitcoin node receiving a proof of work for a new block that it did not find itself, and then sending the that block around as though it mined it!

How do bitcoin nodes who originally mined a block and how does the bitcoin system prevent tampering with this?

All nodes agree to add another transaction that mints a certain amount of bitcoins to the miner.

No, every miner already includes the transaction that pays them in their own block template. Whatever miner succeeds pays themselves by means of their block being the winner.

  However, I am confused about what protections there are against a bitcoin node receiving a proof of work for a new block that it did not find itself, and then sending the that block around as though it mined it!

All data in the block is committed to cryptographically via hashes and signatures. The proof of work is based on the hash of the block header, which in turn commits to all transactions via the Merkle root. To claim the reward, one would need to change the output of the Coinbase transaction to send the reward to someone else instead of the miner. This would make the Merkle root that commits to all transactions invalid. So they'd have to change the Merkle root. Well, that would change the block header and make the proof of work invalid. This means that another user can't redirect the block reward, because the instruction to pay out the block reward is protected by the proof of work. If you change a single byte in the block, it's no longer valid.


What prevents a pool miner from stealing the block if they find the solution? I'm learning about BC mining from a developmental level and I'm reading about how a pool delegates shares based on work, but it doesn't explain why the miner who finally finds the correct hash can't steal it from the pool - "turn it in" so to speak (I haven't learned how turning it in works yet, I should mention)

What prevents a pool miner from stealing the block if they find the solution?

I found the answer:

  [7] You might wonder why a miner doesn't cheat. If they successfully mine a block, why not submit it themselves so they can claim the full mining reward, rather than splitting it? The main reason is the coinbase transaction has the pool's address, not the miner's address. If the miner submits the block bypassing the pool, the reward still goes to the pool. And if the miner changes the address, the hash is no longer valid. - righto.com


Advice on upgrading firmware on Ledger Nano I have the discontinued Ledger Nano hardware wallet.

Ledger have released new firmware for this for SegWit and to allow splitting BCH.

To perform the update, you have to wipe your keys and re-create them from your 24 word recovery backup. If for whatever reason this doesn't work, your Bitcoins are gone!

This seems a bit extreme/risky to me, because I haven't used my 24 word recovery backup before (what if I got 1 letter wrong in one of the words?).

Just wondering what way I should approach this? Would it be safer to transfer my coins to Coinbase temporarily, update the stick, and then transfer them back? I know I'd be hit for 2 sets of fees, but at least I'd feel a bit safer.

1st test your 24 word recovery backup with Electrum . Electrum as Ledger using BIP39 seeds. Crate new wallet with Electrum and choose " I already have a seed" then enter the 24 word recovery backup.

You can do it from Tails live system if you worried of keyloggers. No need to  connect to internet if you don't need to see your balance but just want to test your seed.


Split BCH out of BTC and then BSV out of BCH? I have an old Bitcoin wallet from before the BCH split.
I think I can still split the BCH out of it, but then would I be able to split the BSV out of these BCH?
If that's possible, is there a special procedure?
I'm thinking :

Send full BTC wallet to some other address (to secure them)
Import the private key of the original BTC wallet in Electrum Cash to get the BCH
Send the BCH to another address (to secure the BCH)
Split the BCH into BSV from the original BCH wallet

Would that work?

All fork coins are tied to same private key. Simply import your private key to a multi-currency wallet like Exodus. This will unlock funds from all chains in one place.


BlockChain.info Investments? Sounds like a scam Today I received a strange email, which looks like a scam to me. It claims to be sent from blockchain.info no-reply@blockchain.info, but being a programmer, I know that I can send email from whomever I want, so I do not trust it so much.

  Welcome to BlockChain.info Investments, a place of stable income.

  This email is sent to all Bitcoin members. If you are not Blockchain
  user, you can still invest with us. All you have to do is choose
  amount you want to invest and send it to Bitcoin address below.

  Minimum investment is 0.1 BTC or 50$ USD More you invest, more you
  earn.  This is not a ponzi, we are paying our valuable members from
  advertising money and fees.  This Investment option will be available
  for limited time only.

  Example: Invest 0.1 BTC - 1 BTC - Receive 105% after 1 day. Invest 1.1
  BTC - 2 BTC - Receive 110% after 1 day. Invest 2.1 BTC - 5 BTC -
  Receive 115% after 1 day. Invest 5 BTC or more and receive 120% after
  1 day.

  For example if you invest 1 BTC, you will receive 1.05 BTC after 24
  hours. Invest 10 BTC and receive 12 BTC after 24 hours.

  Payments will be made automatically 24 hours after you send money. You
  will receive email confirmation after you send money to our Bitcoin
  address for investments.

  When you are ready to invest, choose amount and send it to this
  address below. 1LFHVdwAV9w994sMi6o1JpJeykZhdbGfpn Every user will
  receive custom address for deposits and withdrawals.

  Blockchain Team.

I formatted it a little bit, but basically this is it. Also this does not look like a ponzi scheme to me, it looks like a scam. Moreover I haven't found any information about blockchain investments on their site (but I admit I have not looked too much).

My question is: is this a real thing?

It seems obvious to me that this is a scam. No legitimate investment in the world can guarantee a rate of return of 20 percent per day. At that rate, with a 5 btc initial investment, you'd own all the bitcoins in existence after 81 days.  And after 15 months, you'd have this much.

But you may want to contact blockchain.info directly; there is a contact link at the bottom of their home page. They can confirm that this is a scam, and also announce it on their blog / Twitter feed to hopefully keep anyone from falling for it.


How to share the blockchain across local network residing on 1 PC, not copy? Shared blockchain... I have a server PC that is on all the time and runs a copy of bitcoin core 24/7.
My main personal computer I use separate for everything else including and I use both Bitcoin core and Armory.
Each time I open either of these I have to update the blockchain to my computer, no big deal if it is only a day or two behind but it means I have two copies of the same blockchain, one on each PC. Would be nice to not have that increasing disk space used on my main personal PC.
Rather than doing a copy from the server PC, is it possible to set up somehow, somewhere in the config file of either or both wallets to share the blockchain that will always be up to date on the server PC across my LAN ?

I wouldn't try to have both bitcoinds attached to the same storage, that sounds like a recipe for disaster, if it'll start at all.

You can either tunnel the 8332 port on your personal computer to the remote server like this:

ssh -L 8332:localhost:8332 <remoteip>

This'll basically say "whenever I connect on the local port 8332, open a connection on the remote end to localhost:8332, i.e., your server's 8332 port, and tunnel all traffic through it". So this mimicks a local bitcoind but transparently passes everything over to the server. No need to share at all.

The other option is to add the following line to your bitcoin.conf file:

rpcconnect=<remoteip>

This will make bitcoin-cli connect to the remote bitcoind instead. You also need to make sure you actually allow incoming connections on the server, so this may be a bit less secure than the SSH variant above.


Windows 7 : Unable to start bitcoin server using daemon in regtest : bitcoind -regtest -daemon I am trying to start bitcoin server in regtest mode using bitcoind -regtest -daemon command on my windows 7 operating system. Error I am getting is
daemon is not supported on this operating system.

My bitcoin configuration is:

regtest=1
rpcuser=username
rpcpassword=password
rpctimeout=30
rpcallowip=192.168.1.1/24
rpcport=8332
rpcconnect=127.0.0.1
rpcssl=1
# OpenSSL settings used when rpcssl=1
rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
rpcsslcertificatechainfile=server.cert
rpcsslprivatekeyfile=server.pem

gen=1
keypool=100
paytxfee=0.00001000

I am a novice so please bear with me if this is a basic question. Tried multiple times but getting same daemon not supported error.

In the command line on windows you must type just bitcoind -regtest whitout -daemon


In theory could a pubkeyhash script be solved without the public key in the scriptSig? When signing a pubkeyhash UTXO, it is required to provide both a signature and a public key. The public key is duplicated and one copy is provided to op_checksigverify to ensure the signature is valid, and the other copy is hashed to ensure it matches the pubkeyhash.

In theory, is it possible to build an opcode like op_checksigverify_pushkey that takes only the signature of the transaction and extracts the public key from the signature? With this it would be possible to only specify the signature and no need to provide the public key. The public key of course could be arbitrary, but would fail when hashed and compared against the vout pubkeyhash.

It's possible, but:

It's much slower
Pubkey recovery for this kind of application is arguably patented

For a "signature only" scriptpubkey, we already have p2pk.  Hopefully in the future, segwit programs will have bare pubkeys in the scriptpubkey, allowing for similar (and more advanced) constructions.


How can non-backed cryptocurrencies be stable (like by algorithm) Is it possible that a cryptocurrency can be stable, without being backed by another currency, for example stable by algorithm?

For example, when the value is too high, the algorithm will increased the number of new tokens created, or when the value is too low, the algorithm will decrease  the number of new tokens created.

I would appreciate your help. Thanks.

It's entirely possible, but no one would invest in such a coin because the return on investment would be predictable and low, and the value itself would be subject to manipulation by the creator. You are basically describing how a Federal Reserve works, and a cryptocurrency that acted like a Fed is useless.

Also, nothing in the blockchain indicates price, so you'd have to source price from an exchange. Each exchange price varies, so it's arbitrary and gameable which exchange is picked.


For the Noobs: Starting Bitcoin games. I cannot transfer Bitcoins, or use Faucets I started with Bitcoin a few days ago, and have mainly been going to free faucets and sites like that to get free Bitcoins. I just recently found out about Bitcoin games like the one at https://satoshimines.com/. I played around with it and like it, but I tried to transfer some Bitcoins to my account on that website.

It would not let me, and gave this reason...

There are not enough funds in this wallet to send 0.00001634 BTC  ($0.01) .
Note that you can only spend confirmed transactions.
Remember that the sender pays a fee.

I have 0.00008 bitcoins as of right now.

My BitChain - https://blockchain.info/address/148AadbRDjYeLSn4ZTe73bButUngMKz4cW

Also, when I start playing the game linked above, it states not to share the link. Why?

Remember that the sender pays a fee.

That seems to be your problem. According to this info, if your transaction output is smaller than 0.01 BTC, you need to pay a minimum 0.0001 BTC transaction fee. Since you only have 0.00008 BTC, there are not enough funds to make the transaction (note also that the minimum fee is over 6x the amount you're trying to transfer, so it might not be a good idea to do so).

As for your other question, your game seems to be uniquely identified by that URL, so sharing the link would allow someone else to continue the game for you (and lose your money). I'm not really sure how the mechanism behind this works, though...