text:
Can i still get bcc?
I had bitcoin in my blockchain.info wallet when the hard fork happened but I transferred it since to gemini exchange can i still get bch.

If the BTC was in your blockchain wallet when the fork happened, then surely you can access your BCH right now.
As after fork, they both have different chain, so transferring your BTC after the fork does not have any effect on your BCH.
Infact, it is a recommended step by me to transfer your BTC before you try to access your BCH through wallets present right now. Why? Because these wallets are not completely tested for bugs.
Coming back to your question, how to access your BCH? Just login to blockchain.info and go to settings then wallet.
In there, access your private key of the wallet where you had your BTC before the fork.
Now use any of the online wallets present which can retireve your BCH through your private key.
Now, you can access your BCH and spend it as well.

Thank you so much it worked! I first created a coinomi wallet (bch) then I got the private keys from here https://www.google.com/url?sa=t&source=web&rct=j&url=https://github.com/OmniLayer/omniwallet/wiki/Exporting-Private-Key-from-Blockchain.info-and-Importing-to-Omniwallet.org&ved=0ahUKEwiv1e283P_VAhUqrlQKHQG_DcoQFggoMAE&usg=AFQjCNHBAUp0jmlterwNhznyJuVfVQLf1Q then I select sweep wallet and it showed up right away

Yes. You can recover your private keys from blockchain.info and send BCC coins from them.

You write I can recover my private keys. But I don't have my btc in blockchain.info anymore it's in gemini.,you think I can still recover my keys in blockchain.info.

You should login into your bc.i account and recover your private keys (which are empty for BTC, but still holding BCH). May be recovering is possible by using 12-word seed phrase on some service, but I can not recommend any to use.

Yes, tools to do it will be released soon. See https://blog.blockchain.com/2017/08/22/bitcoin-cash-update/

But I don't have my btc in blockchain.info anymore it's in gemini.,you think I can still recover my keys in blockchain.info ?

Normally yes, the BCH didn't move along with the BTC.


text:
binascii.Error: Odd-length string for Python Implementation of Bitcoin
https://gist.github.com/vivosmith/f0e692d9aedbc39ec8d3eb4651bc107c
I was trying to implement this video in Python 3
But the issue is that, it was implemented in Python 2
So I tried to implement this with binascii instead of encode/decode. However I keep getting a binascii.Error: Odd-length string at line 22.
How to I correct this? Or if this is completely broken, then is there any other libraries that work better for python 3?

This is working for me:
import os
import ecdsa
import binascii
import hashlib

private_key = os.urandom(32)
PK_EN = binascii.hexlify(private_key)
print("Your Key" + "  " + str(PK_EN))
PK_CON = binascii.unhexlify(PK_EN)
sk = ecdsa.SigningKey.from_string(PK_CON, curve=ecdsa.SECP256k1)
vk = sk.verifying_key
msg = binascii.hexlify(b'Hello')
sign_msg = sk.sign(msg)
assert vk.verify(sign_msg, msg)

public_key = b'04' + binascii.hexlify(vk.to_string())
print(public_key)

ripemd160 = hashlib.new('ripemd160')

ripemd160.update(hashlib.sha256(binascii.unhexlify(public_key)).digest())

I've changed the way you concatenated the public key with the prefix, and the call to the ripmd160.update, since it was expecting a string, not a Hash object.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
hash dosent match nbits
Im trying to clone a coin and I created a genesis block but when I run the wallet, it dosent start.. When I go to the log file, I see this error and I honestly dont know how to solve the problem. How do I create the genesis block for the quark-hash algorithm.. I tried some generators and it didnt work. Any help would be appreciated.
This is from the debug.log file...
ERROR: CheckProofOfWork() : hash doesn't match nBits
ERROR: CheckBlockHeader() : proof of work failed
ERROR: CheckBlock() : CheckBlockHeader failed
ERROR: ConnectTip() : ConnectBlock 7451cc25dd4fdfc6f441298e59dfc012d2dc078d687a120bf94a20d98beefd16 failed

Ok so im cloning BitcoinGreen... It uses Quark Algorithm. The way I generate the genesis block & MerkleRoot is by pasting the code on the chainparams.cpp which is this..
printf("genesis.GetHash = %s\n", genesis.GetHash().ToString().c_str());
printf("Gensis Hash Merkle: %s\n", genesis.hashMerkleRoot.ToString().c_str());
Even tho this gave me the code to the genesis block, it did not generate the correct code for the coin. I even use this special code, which generate the genesis block as well...
const int SCRYPT_SCRATCHPAD_SIZE = 131072 + 63;
      //if (true && genesis.GetHash() != hashGenesisBlock)
    if(true)
    {
        printf("Searching for genesis block...\n");
        // This will figure out a valid hash and Nonce if you're
        // creating a different genesis block:
        uint256 hashTarget = CBigNum().SetCompact(genesis.nBits).getuint256();
        uint256 thash;
        char scratchpad[SCRYPT_SCRATCHPAD_SIZE];

        while(true)
        {
            scrypt_1024_1_1_256_sp_generic(BEGIN(genesis.nVersion), BEGIN(thash), scratchpad);
            if (thash <= hashTarget)
                break;
            if ((genesis.nNonce & 0xFFF) == 0)
            {
                printf("nonce %08X: hash = %s (target = %s)\n", genesis.nNonce, thash.ToString().c_str(), hashTarget.ToString().c_str());
            }
            ++genesis.nNonce;
            if (genesis.nNonce == 0)
            {
                printf("NONCE WRAPPED, incrementing time\n");
                ++genesis.nTime;
            }
        }
        printf("block.nTime = %u \n", genesis.nTime);
        printf("block.nNonce = %u \n", genesis.nNonce);
        printf("block.GetHash = %s\n", genesis.GetHash().ToString().c_str());

        }

This also did not work. So thats pretty much it. I tried.

Please update your original question next time instead of adding your update as an answer. I went to give your question an upvote for some research effort and gave it to your answer instead.

Please provide more data. How did you generate your genesis block? (Specific parameters) Which coin are you cloning using what PoW algorithm? What steps have you taken relative to editing the source code?
EDIT:
Okay, so it looks like you're depending on the client to print the genesis hash into the debug log, which won't work if the client never successfully starts. It is either this, or some kind of checkpoint error based on the output of the debug log. Either way, I recommend using the genesis python script @ https://github.com/lhartikk/GenesisH0/blob/master/genesis.py
After successfully downloading all dependencies you can run the terminal command python genesis.py help in the directory you downloaded it to for a full list of available commands/flags. Essentially it asks for all required parameters (Unix timestamp, pzTimestamp, PubKey, PoW algorithm, nonce etc.) required to produce a valid genesis hash.
You will then need to replace all of these parameters in the source code as well as the actual genesis hash itself and make sure that there are NO references to ANY other block since we are in fact starting from the genesis block.
Please feel free to post updates for further assistance if required.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How can I prevent a transaction from being spent
For an academic article I want to know if I can prevent a transaction from being spent at all?
I tried to send a transaction with only one output that contains only data (no output address provided) but it got rejected by the server (mempool) with error message TransactionError::MAX_FEE_EXCEEDED.
---UPDATE---
My intention was that I have an UTXO with OP_RETURN script that I want to be not spendable. I set it's value to be 0.00 BTC and therefore all the inputs values go to fee.
The issue with that that My transaction weight is very small (154 vBytes) and the sum of the input is much higher.

The title question is formulated somewhat incorrectly, you want the UTXO (the output of the transaction) to be not spendable, not the transaction.

Can you elaborate on 'output that contains only data, no output address'. Is it an OP_RETURN script?

Have you set the value on the output? If not, all input value goes to fee.

It's not clear to me what you were exactly trying to achieve. Could you perhaps clarify your question now that RedGrittyBrick seems to have given a satisfactory answer?

I updated the question, thank you for your comments.

I want to know if I can prevent a transaction from being spent at all?

You can secretly burn money - send it to a randomly chosen address that has not been generated from a private-key.
You can also provably burn money by sending it to a burn address
In either case, the money can never be spent and can never be recovered.

TransactionError::MAX_FEE_EXCEEDED

Perhaps you spent an input but forgot to return change which would mean the whole input amount is given to the miner as a transaction fee. Wallets usually have fee limits to catch this kind of mistake.
But see also dust limit

Can I return all the money to the coinbase address that started the chain? The reason I got the MAX_FEE_EXCEEDED is because I didn't specify an address in order to make the transaction unspendable.

If the transaction was not mined (is unconfirmed), no money has been spent, there is nothing to return. If the transaction is mined (is confirmed), no money can be returned (other than by the recipient creating a new transaction). There is no functional distinction between coinbase addresses and non-coinbase addresses. Anyway addresses don't exist in the bitcoin network.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
bitcoin regtest listunspent generated with zero amount
I'm using regtest mode for testing new features. During my tests I encountered weird problem- listunspent RPC return a long list of transactions with amount 0. When I'm calling getwalletinfo RPC I can see positive balance at the wallet.
  {
    "txid": "5f38f1c2309f352b57fd9090e24526f86cf33de6203206413bd9e2d0e19cae01",
    "vout": 0,
    "address": "<some_address>",
    "label": "",
    "scriptPubKey": "<scriptpubkey>",
    "amount": 0.00000000,
    "confirmations": 1158,
    ...
    "spendable": true,
    "solvable": true,
    "safe": true
    ...
  }

Wallet output
{
  ...
  "balance": 5099.72700000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 14957,
   ...
}

Steps to reproduce the issue:

Get new address using getnewaddress
Generate 1 block to address from step 1 using `generatetoaddress 1 <address_from_step#1>
Get block details by getblock
Decode the block transaction by using gettransaction

Output:
{
  "amount": 0.00000000,
  "confirmations": 1,
  "generated": true,
...
  "walletconflicts": [
  ],
...
  "details": [
    {
...
      "address": "<address>",
      "category": "immature",
      "amount": 0.00000000,
...
      "vout": 0
    }
  ],
...

Sounds to me like you actually have a bunch of 0-value outputs to your address(es)?

@PieterWuille exactly. how this sitation can occured? My wallet didn't erased.

There is no way for me to know what you did with your wallet. If you want help from people to figure it out, you may want to share the exact steps you took (which RPCs and arguments, or code that issues them).

@PieterWuille I added steps to reproduce the issue.

Coinbase transaction outputs from blocks that have not been buried by 100 blocks cannot be spent. Such outputs are listed in the wallet as "immature", and shown as having 0 value.
Generate 100 blocks on top, and they will mature, and show up as spendable balance.
In addition, on regtest, the subsidy halving interval is 150 blocks, so after ~5000 blocks, the subsidy for new blocks will be 0. If the mined transactions have no fees, the coinbase outputs will have 0 value.


text:
Witness program hash mismatch stack size is zero
I'm trying to sign a raw transaction with private key on bitcoin core on regtest.
When I'm trying to sign the transaction I'm receiving this error: Witness program hash mismatch. When I debugged my bitcoin-core transaction I noticed the stack size is zero.
I verified my private keys are correct.
My decode transaction:
{
  "txid": "4454f34656a89f0ac4a2097fab289f4a8b38cb301e98b600362c135e2c18d10a",
  "hash": "4454f34656a89f0ac4a2097fab289f4a8b38cb301e98b600362c135e2c18d10a",
  "version": 2,
  "size": 157,
  "vsize": 157,
  "weight": 628,
  "locktime": 0,
  "vin": [
    {
      "txid": "53be831aad07b549ec91666674d28da5761f74f4a832e9fe93675c6449db7a24",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 99.79997001,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 f508fe341dfe0fbbeb7a38b41e7d2681d2376697",
        "desc": "addr(tpr1q75y0udqalc8mh6m68z6pulfxs8frwe5hxslc32)#xxr7capg",
        "hex": "0014f508fe341dfe0fbbeb7a38b41e7d2681d2376697",
        "address": "tpr1q75y0udqalc8mh6m68z6pulfxs8frwe5hxslc32",
        "type": "witness_v0_keyhash"
      }
    },
    {
      "value": 0.00000000,
      "n": 1,
      "scriptPubKey": {
        "asm": "OP_RETURN b48dfcd241e5894a8a5b8cef6782734481ee180ed3fd9d164e58307527e8f07082b12c5ba8baa3f05c66966334aea0eecbcb8f2bc5d14bfbddc332c1e39ca8c8",
        "desc": "raw(6a40b48dfcd241e5894a8a5b8cef6782734481ee180ed3fd9d164e58307527e8f07082b12c5ba8baa3f05c66966334aea0eecbcb8f2bc5d14bfbddc332c1e39ca8c8)#en45fqnk",
        "hex": "6a40b48dfcd241e5894a8a5b8cef6782734481ee180ed3fd9d164e58307527e8f07082b12c5ba8baa3f05c66966334aea0eecbcb8f2bc5d14bfbddc332c1e39ca8c8",
        "type": "nulldata"
      }
    }
  ]
}

EDIT
The decoded input transaction is transaction relies on two different outputs
{
  "txid": "53be831aad07b549ec91666674d28da5761f74f4a832e9fe93675c6449db7a24",
  "hash": "f50d764b8f662e7c12d794d9ac2a87775de35982544571bc6be83ed12eb818cf",
  "version": 2,
  "size": 370,
  "vsize": 208,
  "weight": 832,
  "locktime": 0,
  "vin": [
    {
      "txid": "540a6ce5413d602c8830589bcbfd70fe1f31f4229488c12f5dbd746a4b1bff07",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "txinwitness": [
        "304402204ee1d2b35adfe522517905f8eb3bee9cf91c15c0139673d52ba637aff7f9790d022055930d64c0a5d62f40e8d8fd200898341b7141bef708f8ae9182c1adbe489f6301",
        "02e0b590ccf577215eee2aa121d573fb26b83bd2c397d0446fd27ae3436c83803c"
      ],
      "sequence": 4294967295
    },
    {
      "txid": "e615c045166fb19cf485fb34d246931d3a1acda0d7510efc7bf6d6eee05ad807",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "txinwitness": [
        "304402200788197af3f73245a5e783c325b5ef397a47bcf19ea2b02b48c74c066bcaab5902207199f905b20bde2b8c1b7b359a4e1bdf6ea1c6a9eed6cb8698b04b6df5bfb05f01",
        "02e0b590ccf577215eee2aa121d573fb26b83bd2c397d0446fd27ae3436c83803c"
      ],
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 99.79999001,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 cd658ab850ca1f743496a16d58762fe7a2c39758",
        "desc": "addr(tpr1qe4jc4wzseg0hgdyk59k4sa30u73v896clelyyw)#eags8sr8",
        "hex": "0014cd658ab850ca1f743496a16d58762fe7a2c39758",
        "address": "tpr1qe4jc4wzseg0hgdyk59k4sa30u73v896clelyyw",
        "type": "witness_v0_keyhash"
      }
    },
    {
      "value": 0.20000000,
      "n": 1,
      "scriptPubKey": {
        "asm": "0 5f67b467ab1e01e0c803f26b36ade593f1ae6f2f",
        "desc": "addr(tpr1qtanmgeatrcq7pjqr7f4ndt09j0c6ume0yph3xl)#fnunjym6",
        "hex": "00145f67b467ab1e01e0c803f26b36ade593f1ae6f2f",
        "address": "tpr1qtanmgeatrcq7pjqr7f4ndt09j0c6ume0yph3xl",
        "type": "witness_v0_keyhash"
      }
    }
  ]
}

so first what kind of address did you use here when you built your transaction? WPKH(segwit native) or Taproot?

Could you please also provide the transaction that created the TXO you are spending?

The addresses are native segwit

@Murch I edited my question

It’s kinda hard to tell what’s going on when you remove the fields that we would be looking at to understand what’s going on. You said this is Regtest, so it’s a private testnet on your own computer, any particular reason why you are removing part of the output?

@Murch I created a unique prefix for my addresses in order not to be confused with the mainnet bitcoin addresses. I re-edit the question.

How did you implement the prefix? Did you change the witness version in the output script?

@Murch I changed the bech32_hrp prefix and recompiled bitcoin core. When I have a transaction with one input and two outputs I managed to sign the transaction.


text:
Why does the feature_block.py bitcoin functional test fail in tagged release 0.16.0?
I tried running the unit and functional tests from the latest tagged release (0.16.0) from https://github.com/bitcoin/bitcoin.git.
To my surprise, there is one functional test that persistently fails for me (everything else passes).  I'm running on a VirtualBox'd Ubuntu guest (host is OS X if it matters).
Any idea what might be wrong?  Is it truly failed functionality or did I just run the test incorrectly?  If the former, what is its significance to the correctness of the latest bitcoin?
2018-03-19 18:03:57.574000 TestFramework.comptool (INFO): Running test 97: ./feature_block.py line 1279
2018-03-19 18:05:00.534000 TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/jack/projects/bitcoin-audit/bitcoin/test/functional/test_framework/test_framework.py", line 123, in main
    self.run_test()
  File "./feature_block.py", line 76, in run_test
    self.test.run()
  File "/home/jack/projects/bitcoin-audit/bitcoin/test/functional/test_framework/comptool.py", line 341, in run
    self.sync_blocks(block.sha256, 1)
  File "/home/jack/projects/bitcoin-audit/bitcoin/test/functional/test_framework/comptool.py", line 211, in sync_blocks
    self.wait_for_pings(self.ping_counter)
  File "/home/jack/projects/bitcoin-audit/bitcoin/test/functional/test_framework/comptool.py", line 191, in wait_for_pings
    wait_until(received_pongs, lock=mininode_lock)
  File "/home/jack/projects/bitcoin-audit/bitcoin/test/functional/test_framework/util.py", line 222, in wait_until
    assert_greater_than(timeout, time.time())
  File "/home/jack/projects/bitcoin-audit/bitcoin/test/functional/test_framework/util.py", line 42, in assert_greater_than
    raise AssertionError("%s <= %s" % (str(thing1), str(thing2)))
AssertionError: 1521482700.509922 <= 1521482700.533904
2018-03-19 18:05:00.547000 TestFramework (INFO): Stopping nodes
Traceback (most recent call last):
  File "/home/jack/projects/bitcoin-audit/bitcoin/test/functional/test_framework/authproxy.py", line 106, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.6/http/client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1065, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.6/http/client.py", line 986, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Name.id encoded in blockchain
I've been working on a tool to decode hex messages inserted into OP_RETURN.  Whilst looking at strings in the blockchain I keep coming across user names with the format id:name.id.
If you run strings over a blk*.dat file you will find strings such as:
id:muneebmajeed.id
id:andrewlawrence.id
id:nicholas_studholmewilson.id
id:jorisheijne.id
id:algoventures.id
id:bgardineer4.id
I can't figure out what they are?

Those look like BlockStack IDs. Reference

Thank you for the pointer Eric, I had not come across BlockStack before but it would seem you are right.  Thanks again.

@EricAllam You should post that as an answer

As mentioned in the above comment, these are Blockstack IDs.
https://blockstack.org/blog/browser-public-alpha


text:
Blockchain android app did a stupid thing!
First of all, Sorry for my terrible English!
On Sep 24 i installed the BLockchain.info android app, before that, i signed up in their web application and made my account strong with 2-step-verification and wallet recovery phrase.
When i used the app, i logged in first time and it wants my verification(email and phone number 2FA), I just fill them and wait for app, but after it all of my bitcoins send to another address without my confirmation ( the address is 16hUh5k9V41EMzcuYW3kmkTCzyqju7RXr1 and yesterday had a another transaction ).
So what's going on exactly?
Their support says it must be hackers or malware, but how? It was their app.
After all, i just installed the app on 3 different devices, each of them shows the same picture in attachment with same address.
Please help me, and tell me what i must do?
Really, I'm SORRY FOR MY ENGLISH!

Isn't 16hUh5k9V41EMzcuYW3kmkTCzyqju7RXr1  your bc.i address?

No, i never seen this address!
I checked it, it has a lot of transactions.

Where did you get the application? Seems to me that it is fake app.

https://play.google.com/store/apps/details?id=piuk.blockchain.android
I'm thinking like u, but the app had their database info including my email, my phone number

Can i find email or owner name or anything that can help me from this address?

It was my fault. What a stupid who i am. I'm really sorry.
It is fake application:
https://play.google.com/store/apps/details?id=android1.blockchain.piuk.bitcoinwallet
Report application to google If you can to prevent from another SCAM.
Thank You.


text:
Do Receive addresses generated by blockchain.info's wallet expire with time?
Sender sent me BTC yesterday. I am expecting a deposit to my blockchain.info wallet but that has not happened in the past 20 hours.
I didn't give the sender my public address, but the receive address generated by the "Receive" button on the wallet.
Do those addresses expire? I gave the Receive addresses 6-8 weeks ago. Is it possible that the addresses generated by "Receive" button expire in 6-8 weeks time?
If so, can BTC sent to an expired Receive address be recovered?

Can you tell us the receive address or the transaction id?

Here are the three transaction nummbers.

confirmations:
Bitcoin transaction ID:
80464c1128267b8634041182aedcd23aad4611219e1722f19ee1f9ad169fce4a
Bitcoin transaction ID:
b3334318bf1a3c934cd33a6d1a9e4cff25407a94d194bc5d5190fe7e8edddc69
Bitcoin transaction ID:
fcf28f47260635952ab8ca33ae5658fc54cc75532d0ebe5e0e5aa926b84a1a16

I checked these transactions, and didn't found any. Are these transaction ID's send by the sender? Then there can be a chance that the sender is scamming you.

Thanks for looking into the tx numbers. I put one of them into cypher?????.com which recognized it but returned tech info that i was not able to interpret.

@asterisk, SE inserted spaces in txids, https://blockchain.info/tx/80464c1128267b8634041182aedcd23aad4611219e1722f19ee1f9ad169fce4a https://blockchain.info/tx/b3334318bf1a3c934cd33a6d1a9e4cff25407a94d194bc5d5190fe7e8edddc69 https://blockchain.info/tx/fcf28f47260635952ab8ca33ae5658fc54cc75532d0ebe5e0e5aa926b84a1a16 are confirmed

Andrew Chow is correct in that addresses don't expire.
However, when a 3rd party service generates a receiving address for your account, you're relying on them to continue monitoring that address over time and assign received funds to the balance of your user account. It's reasonably likely they won't monitor the address forever for every address they've ever issued, which effectively means they expire. How and when that happens is up to the service involved.
This kind of issue is one of the trade-offs with using a 3rd party wallet or account rather than running your own wallet and keeping full control of your private keys.
There is at least one other case where an address is no longer realistically usable, which is when the private key is known by someone else. In that case funds sent to the address won't reliably stay there. In your situation, this doesn't really apply though.

Addresses do not expire, regardless of the wallet that generated them.

authors: ศุภศิษฎิ์ คงสุวรรณ


text:
Can Bitcoin be stored in a computer without a wallet , just like a normal file?
Everything on computers are stored in some type of files like .txt , .MP3 , ... Etc , so is it possible that BTC itself could be stored in a PC independently without a wallet , just like any other file on a PC or a phone ? Or is it compulsory to store it in a wallet , so that one couldn't make offline transactions , as that wouldn't be added to the ledger ?

On the technical level, there is no such a thing as a Bitcoin. What there actually are are transaction outputs. Transaction outputs consist of a output script and a value. The value is in satoshis, and that is what gives your wallet a "balance". The output script specifies a set of conditions  that are required to spend the value associated with that output.
Typically the output script requires that a digital signature be made with a public key whose hash matches a hash provided in the output script.
So, no, a "Bitcoin itself" does not have any associated files that you can store. However you can store the Bitcoin blockchain (thus store the transaction data, including transaction outputs) locally, and that is what nodes do. But storing it offline would mean that it becomes out of date very quickly and thus missing new transactions.
Alternatively you can store the private keys which are necessary to spend from the typical type of transaction output. These can be stored independently of any wallet software. But you still need some software to create a transaction and then broadcast it to the rest of the network. In order for a transaction to "go through", you must broadcast the transaction so that it can be added to the blockchain. Just making it offline won't do anything.

When you 'own a bitcoin', what you actually own is a private key that can be used to spend the bitcoins that are located at the key's corresponding bitcoin address. Bitcoins themselves do not technically exist, instead the network simply keeps track of 'unspent outputs' at certain bitcoin addresses. Whoever owns a key that creates a valid signature to spend an unspent output can be said to "own the bitcoins at that address".
With that in mind, a wallet file is a collection of such private keys, which can be read by the wallet software so that you can utilize all of the wallet's functions.
However, it is possible to store just the private key itself in any format you desire. A private key is really just a very large random number, it can be encoded and stored in any number of ways. Keep in mind, if anyone is able to get a hold of the private key, they can steal your bitcoins. So it is a good idea to store the private keys in a very secure manner!
If you want to use the private key to spend your bitcoins (or perform any other function associated with a private key), then you would need to import that private key into some sort of wallet software.

is it possible that BTC itself could be stored in a PC independently without a wallet

Reading carefully, I think that you may mean keeping the Bitcoin without a wallet software.
If you install wallet software it will create a wallet file. In the case of Bitcoin Core this file is named wallet.dat. I can set a passphrase for my wallet, transfer some BTC into my wallet, exit Bitcoin Core, copy this file to my documents folder or somewhere (and rename it if I like) and then uninstall Bitcoin Core completely. This is risky for several reasons.
If you rename the file to be .doc and accidentally open it with a word processor program it may become corrupted. Also, you may forget what you named it. You should always set a passphrase to prevent theft and keep a secure backup copy of your wallet file.
Without a wallet software, it is not possible to use or spend your Bitcoin.
You may enjoy reading about a paper wallet with several options which may be suitable for your needs. You can receive BTC with your paper wallet but in order to spend you once again need a wallet software. The information is on the website. Caveat: I have not used this service.


text:
How does the bitcoin exactly prevent Double spending attacks?
I recently started reading about Bitcoin, the idea seems hard to get, and I'm trying to understand the basics now.
I read the white paper by Satoshi Nakamoto but I still have some confusions
First, it has been said that the main advantage of the Bitcoin is its capability to prevent the Double spending attacks, my questions are:

Is this because of the idea of blockchain or the proof of work?
Can anyone spend his bitcoins twice in two different transactions and
two different blockchain? if not, how does the protocol prevent
prevent such a case?
What exactly the process that minors follow to detect that a
certain transaction is spending the bitcoins twice?
Why don't minors (voters) simply accept a new block without even
check if it's truly valid or not? what are the consequences?

I'm sorry if my questions seem very basic,
Thanks in advance

A full node is a computer running full node software like bitcoin core that has verified every transaction in the blockchain and continues to verify new ones as and when it hears about them. Every full node validates transactions and rejects double spends. If it has learned of a transaction that spends certain coins it will reject any new transaction that tries to spend those same coins unless the original transaction has been marked as replaceable.
Because of the nature of computer networks it is possible that not every node has heard of every transaction. It is also possible that different nodes will have heard of the same transactions in different order. The blockchain fixes the order and history of the transactions so that everyone agrees on the state of the ledger. Once a transaction has been committed to the blockchain and enough blocks have been added to the chain after the block containing the transaction that transaction cannot be modified.
So every node individually prevents double spends that it hears about and the collective consensus of what transactions happened or did not happen comes through the blockchain.

What exactly the process that minors follow to detect that a certain transaction is spending the bitcoins twice?

Miners aren't the only ones validating transactions. Like I said every full node validates transactions to make sure that there are no double spends.
Miners follow the same process as full nodes. The full list of validation rules is given here.

Why don't minors (voters) simply accept a new block without even check if it's truly valid or not? what are the consequences?

There is no voting in bitcoin. It's not just miners who need to check the validity of blocks. Full nodes run by users check it too. If a miner generates an invalid block then full nodes will reject it and the miner will lose money because he will have wasted electricity and time producing that block.

Actually, there is voting on consensus changes. There was a slogan 'One CPU, one vote.' early on.

@Willtech I was told by gmaxwell that there is no voting in bitcoin because voting implies electing a third party to represent you. He said that only thing that comes close to the concept of voting is the "hashrate based quorum" which i take to mean the consensus formed using proof of work regarding the state of the ledger.

Okay, @gmaxwell uses correct terminology and his statements as you have relayed them are certainly without error. Personally, I do not only call it voting when electing somebody to represent me, but also for the case of a quorum, where the members' proceedings are valid and a determination is made.

What if all full nodes decide to accept any block regardless of its validity (why do they even waste their resources checking blocks?) ? what can prevent this situation??

@user971961 the rules of bitcoin require you to verify blocks. if you don't verify them then it's not bitcoin. if you allowed invalid blocks then someone could move money that doesn't belong to them. it would be an insecure and worthless system.


text:
Deserializing merkleblock message
I've been struggling the past couple of days to deserialize a merkleblock message. I'm writing a go app that uses the bitcoin rpc client to call gettxoutproof, but only need the merkle proof (array of required tx hashes needed to hash merkle root) of given transaction (want to verify the transaction in an ethereum smart contract).
So I've looked at how the serialization is defined in merkleblock.h which looks pretty straight forward. The problem i'm having is figuring out how CDataStream serializes the CMerkleBlock object, and finding the transaction hashes in the hex string.
Example:
This is the block im looking at: Testnet Block
it only contains one tx: 8148740e33df53073f55089f195c327f40e2a9c374dcc05643c60671243cc4a8
When I run the gettxoutproof command I get the following output:
0000002024ea1b7676f6ae9f2a3b639ec43e15c509a661d33d123deb3d00000000000000a8c43c247106c64356c0dc74c3a9e2407f325c199f08553f0753df330e744881f4d6715affff001d00cecafd0100000001a8c43c247106c64356c0dc74c3a9e2407f325c199f08553f0753df330e7448810101

Initially I expected to find the tx hash somewhere in that hex string, since its the only tx in the block and has to be included, but its no where to be found. Since the docs say that gettxoutproof returns a serialized, hex encoded string I thought maybe the tx hash has been hex encoded, but it isn't.
I've tried figuring this out with other blocks, that for example contain 2 transactions but have had no luck. I've looked at how CDataStream serializes the data but fail to understand it.
Would be very happy if someone could help me out!

Welcome to Bitcoin.SE! I am sure that the answer I am about to post will not answer your question completely but, hopefully, you will get a few more answers not too far away.

It seems that the transaction hash and the merkle root are both serialized in the gettxoutproof, but byte-wise reverse.
As stated in the bitcoin developer reference,

Bitcoin Core RPCs accept and return the byte-wise reverse of computed SHA-256 hash values.

So regarding your example, the hash (byte-wise)
81 48 74 0e ... 24 3c c4 a8

is contained twice in reverse in the gettxoutproof as:
a8 c4 3c 24 ... 0e 74 48 81

In this special case it is contained twice, of course, because with only one transaction the merkle root equals the according transaction hash.

I see, must have missed that part of the docs. Made that a lot more complicated then it had to be, thanks a lot!

If you can run gettxoutproof then you might just be able to use verifytxoutproof and then pass back that the transaction is/isn't verified? - I honestly have no idea how the data is serialized.
Information on using gettxoutproof/verifytxoutproof is available on this question.

The problem is that I have to prove the transaction in a smart contract, so I cant use verifytxoutproof. I know how to use the methods and it all works as expected, but im not able to extract the merkle path (not sure if that the proper name for the array of tx's needed to prove a transaction). There was another answer on friday but its (been deleted for some reason) about the net socket object that is being used to return the data, will take a stab at that and post the answer once I figured it out.

I have pinged a couple of users, I have seen thier informed answers on another question about Merkle Trees. We will see.


text:
How do I explain Schnorr signatures and signature aggregation to 7 year old cousin?
How do I explain Schnorr signatures and signature aggregation to my 7 year old cousin?
Nathan Aw

There are no BIPs for Schnorr signatures or signature aggregation yet.

Hi Pietter, I have edited my question. Understand that schnorr signatures is in the technology roadmap though?


text:
How to do atomic swap with bitcoin?
I have read about the ATOMIC SWAP, I could find only the concept level and could not find technically.  Is there any doc about atomic swap to achieve that technically and code sources to achieve this.

Currently atmoic swaps aren't really done except in really special occasions and with specially crafted transactions. There aren't really services that offer atomic swaps and existing software cannot perform atomic swaps without special modifications.
There is currently ongoing work on creating actually usable and easy to use atomic swap software. Most of this is working through the Lightning Network and HTLCs.

Some links that may help you do atomic swaps using Hashed Time-Lock Contracts:
Doing it with bitcoin-qt: HTLC (Hash Time Lock Contract) using bitcoin-qt
Doing it with libbitcoin: http://aaronjaramillo.org/libbitcoin-cross-chain-swaps-with-htlcs
To my knowledge, there are no wallets that currently support atomic swaps using HTLC. But the links above should give you some help in doing it somewhat "manually".

Here is a relevant article https://web.archive.org/web/20181003140221/https://wiki.swap.online/atomic-swap-on-tether/ with technical details how to perform BTC to USDT atomic swap. And it actually works in their crypto wallet project.


text:
OP_HASH160 and number of bytes of public key
When creating a raw transaction, why after the OP_HASH160 the number of bytes of the hashed public key should be included if it's always 20 bytes (that's what RIPEMD160 throws)?
Does this happen with every OP_CODE value in scripts?
Please explain. Thanks.

Are you refering to the pay-to-pubkey-hash script (https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29)?
In that case it is the hash of the public key, which is 20 bytes. It is NOT the public key itself.
Every op-code correponds to a byte-value in the raw transaction script. All operations are preformed on a stack onto which values can be pushed. The public-key-hash must therefore first be pushed onto the stack, before it can be compared to another value on the stack.
To first push the public-key-hash to the stack we prepend "the number of bytes" which is 20, because this value is itself just an op-code that pushes the next 20 bytes of data to the stack. (See https://en.bitcoin.it/wiki/Script#Constants)
This makes the scripting language more flexible.

I see. Prepending the number of bytes allows the OP_CODE to not be "married" with an specific value size.

Otherwise the protocol client would have to do something like if(OP_HASH160) then push the next 20 bytes to te stack. Right?

why after the OP_HASH160 the number of bytes of the public key should be included if it's always 20 bytes?

not always :)
https://bitcointalk.org/index.php?topic=671881.0

The OP_HASH160 opcode does not actually do any checking or have any size bytes that follows it. All it does is it takes the top stack item and hashes it with RIPEMD160(SHA256()). Then it pushes that item back to the stack. It does not compare anything nor does it require that any data follows the opcode.
The number of bytes that follows the opcode is actually for an OP_PUSHDATA opcode to push the next 20 bytes onto the stack. That pushes the 20 byte hash that we want to compare to to the stack. Then the OP_EQUAL compares the top two stack items: the hash produced by OP_HASH160 and the 20 bytes that we just pushed to the stack.


text:
Is this how to generate a bitcoin address with python?
So I have already the public key. My question is if I'm applying correctly the b58 encoding, since bitcoin uses b58check, and also adds x00 prefix. Can somebody explain me that? Thanks.
import hashlib
import base58

# ECDSA Public Key
base64_str = 'MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE7P0EE5amecnYKMlq96RUL3Q+mZJCQrta6iHyjQWtsbbgcBMayhR/CTzDi5j4Fb/wD9EclHt3dpYRyJcl9Rtmug=='

hex_str = base64_str.decode('base64').encode('hex')

sha = hashlib.sha256()
rip = hashlib.new('ripemd160')

sha.update(base64_str.decode('base64'))

rip.update(sha.hexdigest())

# Get address
print base58.b58encode(rip.hexdigest())

If the public key were correct (see Mark's answer), the code is not complete (lacks signature) and contains a hash of an ASCII hexdigest which is not correct.
I'd like to contribute with this implementation of bitcoin address from public key.
It covers the case of both uncompressed and compressed bitcoin addresses (just changing compress_pubkey boolean value).
#!/usr/bin/env python2
# https://en.bitcoin.it/wiki/Protocol_documentation#Addresses

import hashlib
import base58

# ECDSA bitcoin Public Key
pubkey = '0450863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b23522cd470243453a299fa9e77237716103abc11a1df38855ed6f2ee187e9c582ba6'
# See 'compressed form' at https://en.bitcoin.it/wiki/Protocol_documentation#Signatures
compress_pubkey = False

def hash160(hex_str):
    sha = hashlib.sha256()
    rip = hashlib.new('ripemd160')
    sha.update(hex_str)
    rip.update( sha.digest() )
    print ( "key_hash = \t" + rip.hexdigest() )
    return rip.hexdigest()  # .hexdigest() is hex ASCII

if (compress_pubkey):
    if (ord(pubkey[-2:].decode('hex')) % 2 == 0):
        pubkey_compressed = '02'
    else:
        pubkey_compressed = '03'
    pubkey_compressed += pubkey[2:66]
    hex_str = pubkey_compressed.decode('hex')
else:
    hex_str = pubkey.decode('hex')

# Obtain key:

key_hash = '00' + hash160(hex_str)

# Obtain signature:

sha = hashlib.sha256()
sha.update( key_hash.decode('hex') )
checksum = sha.digest()
sha = hashlib.sha256()
sha.update(checksum)
checksum = sha.hexdigest()[0:8]

print ( "checksum = \t" + sha.hexdigest() )
print ( "key_hash + checksum = \t" + key_hash + ' ' + checksum )
print ( "bitcoin address = \t" + base58.b58encode( (key_hash + checksum).decode('hex') ) )

AttributeError: 'str' object has no attribute 'decode'

Unfortunately the script is only valid with Python 2, to match the code in the question - for Python 2&3 scripts, you can check: https://github.com/circulosmeos/bitcoin-in-tiny-pieces/


text:
Bitcoin-qt on Elementary OS Loki
I'm very new to Elementary OS and I used the version Freya a short time. There I got Bitcoin-qt easily out of the repositories.
On Elementary OS isn't that that simple - has anyone experienced the same?
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update

The tags above aren´t working on Loki.
I just want to know - I have no problem to download the .tar.gz and start it from there.

What error message do you get when you try?

Hi!
I get this one:
sudo: add-apt-repository: Befehl nicht gefunden

Have you tried this? http://askubuntu.com/questions/493460/how-to-install-add-apt-repository-using-the-terminal

Thanks a alot - This worked perfectly:
apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install bitcoin-qt

@brandy: Since you're answering your own question after solving it, please post your comment as an answer instead. :)

Thanks a alot - I found the solution:
This worked perfectly:
apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update sudo apt-get install bitcoin-qt


text:
How bitcoin gets monetary value
This looks like a complex thing but I am trying hard to understand it. Why would any one in the world honor a crypto currency till it is backed by a government with monetary value? How does a crypto currency get its monetary value? Who will back it?

What do you mean "backed by a government"? Can you give an example?

Spelling note: "monetary", not "monitory".  I edited for you.

@JBaczuk I am trying to get the answer for the following example. Assume I have a bit coin and want to buy a product from a marchent. Why would he sell that product to me for a bit coin when he bought it from the supplier  for  dollars.

Currencies get value from demand and supply not from governments backing them. Currencies have existed long before government's started stamping them out in their own name. The demand for a currency comes from the utility that it offers as a medium of exchange. Even pre-historic humans went out of their way to create currencies because they were useful.
Bitcoin has value because it is useful as a global, irreversible electronic medium of exchange and store of value. That is why it is in demand.

Bitcoin’s value is given by the merchant who is willing to exchange it for something of economic value to you (goods, services, etc). These persons who are willing to trade with you for Bitcoin are considered the "economic majority", as they decide which Cryptocurrency definition they are willing to trade value for. The economic majority is the group of persons backing Bitcoin or other accepted Cryptocurrencies.
The US dollar value in contrast  is guaranteed by legal-tender laws: Dollars are always accepted for paying taxes, and that reflects a value that will always remain, even if the entire economy decides to stop accepting the US dollar. Dollars are NOT backed by gold.

Neither Bitcoin or USD are backed by anything. That term has a specific meaning, namely another valuable held in reserve with a guarantee of exchange. Just because certain activity results in a value does not imply it is backed by it

I should write “guaranteed value” instead of “backed”. Clearly there is no reserve nor guarantee of exchange for reserves held. However, state guarantees value of USD by accepting taxes paid with such. That is a guarantee of value, though not backed by reserve. Bitcoin’s only has a known present/past value. Future value is not guaranteed and unpredictable.


text:
Does mining bitcoin on a laptop have an expected revenue exceeding the cost of electricity and wear and tear on the computer?
My understanding, from a relatively old source, that it used to be that hobbyists would get bitcoins from mining on their private computers, but that more recently there was a heavy shift to e.g. Iceland where geothermal electricity is cheaper.
What is the expected value of mining bitcoin with spare computrons from laptop including an NVidia Geforce GTX, in the USA near Chicago as far as utilities go? If the expected value is (say) 105% of electricity burning up, what are the chances of breaking even? Does it have (say) a 10% chance of doubling an investment, or are we talking a financial lottery ticket where one minute's mining could theoretically return thousands of dollars worth of BTC, but the expected amount of crunching to get the winning lottery ticket is impractically long?
I've seen some discussion suggesting that Bitcoin is even more volatile than traditional currency, and I'd be a bit surprised at being told, "It's entirely worth it; go ahead." However, I wanted to ask, and confirm my expected answer about whether mining bitcoin is profitable in a reasonable amount of time.
Thanks,

Christos, I believe it's out by like a factor of 100 (!) these days to try it with an everyday home computer.  As everyone has pointed out this (good) question should be migrated.

@Fattie: You're a few zeros short.  A factor of 10000 or 100000 is closer to the mark.  Compare for instance the hash rate per unit energy figures (MHash/J) between graphics cards and ASICs, where the best of the latter are barely profitable if electricity is very cheap.

@NateEldredge , an excellent point !

BrtH's answer is 100% correct, but does assume you don't need the waste heat. If you're already using electric heat (not heat pump, actual dumping of electricity through resistors) or gas heating at comparable prices to heat your dwelling space (perhaps because the ambient temperature outside is so low that heat pump can't operate; if it can work you'd be better off saving up to buy one), then you break even on electricity for free, and only have to consider "wear" and whether you'll make any appreciable mining output at all. In this case there's a small chance it might make sense, but probably as some other proof-of-work coin you can exchange rather than as bitcoin itself.

@JimmyJames well, it's rare to live in places where it's always cool, but there are lots of major cities where every dwelling needs heating most of the year.

Well, it's summer here, so I don't need waste heat for space heating... but maybe I could attach the heat to a generator. Maybe if I made it efficient enough, it could generate more electricity than is used, and I could make a profit selling the excess energy. (-:

No, a heat generator cannot help. Only actually wanting all the waste heat can help.

I'd also like to point out that you're wandering off into perpetual-motion thinking which is guaranteed to get you wrong conclusions.

Maybe
Using a Bitcoin Profitability Calculator you can find this out by yourself.
This site lists the hashing rate for a GTX 1050 for various algorithms. It doesn't list a hashrate for mining bitcoin, though (our first hint). But even taking the highest hash rate in the table (12.45MH/s) and entering it in the above calculator shows you could expect to mine 3E-9 bitcoins* per month, effectively nothing (and worth nothing).
A GTX 1050 consuming 70W** would consume 50.4KWH of power in that month, assuming a cost $0.1/KWH you would spend $5.04 in electricity, and would have next to no income from it.
As per above, NO, mining bitcoin with a GTX 1050 is not profitable.
What about renting your hashing power?
Using a NiceHash Profitability Calculator you can figure this out by yourself.
For an example, I used the calculator to see how much Bitcoin could be generated by an NVIDIA GTX 1050. It said that that particular graphics has an expected earning 0.00096969 BTC in one month*. At current prices, this is worth $11.10 (all figures in USD)
Using the same figures for power as the previous example of $5.04/month leaves you with a profit of $6.06/month. You're not going to pay back your computer anytime soon with that, but you're not in the red either.
What about other cryptocurrencies?
Also worth mentioning that there are other cryptocurrencies which are more profitable than bitcoin with GPU mining. Here's an article on the Top 12 Best Cryptocurrencies to Mine Using GPUs in 2020.
To Conclude
Mining Bitcoin by yourself is not profitable, but renting out your hash rate could be, and mining other cryptocurrencies could also be profitable. Leaving me with an answer of maybe.
Footnotes
*Note that revenue is based on actually mining a bitcoin. If you mine by yourself you gain either nothing or an entire Bitcoin (and the vast majority of the time you'll get nothing). If you join a large enough pool, the pool has a higher chance of getting the bitcoin than you do on your own and you will be rewarded proportionally to what you contributed to the pool, meaning your earnings will get closer to the expected value stated above. Most miners join pools to have a more stable income, but be aware that pools take a fee in the form of a percentage of your payout.
**This is for the graphics card alone. Your entire computer will be using more. If you have a power meter it might be worth measuring how much power your particular computer consumes when mining bitcoin.

You didn't use a bitcoin profitability calculator. You used a NiceHash profitability calculator which has nothing to do with mining bitcoin.

But be careful not to pitch your answer so as to give an impression that mining bitcoin has a guaranteed return. In order to win your fraction of a bitcoin you have to contribute to a mining pool that succeeds in solving a block. Mining bitcoin is a lot like playing the lottery, and joining a syndicate doesn't mean you'll win every month

@CaiusJard in terms of having to earn bitcoin to have revenue, if you join a large enough pool it becomes pretty consistent and less of a luck issue. Also, the first word of my answer, in bold, is "Maybe". Hardly an endorsement of guaranteed anything.

I was merely pointing out how it reads; it reads like you say "maybe it will profit", and then launch into some figures that sound like they occur all the time (like interest from a bank) leaving the "maybe it will be a profit" tied to "maybe because it will pay X per month so if you can make your costs Y...". Don't shoot the messanger; I'm just trying to tell you how I, as a third person, perceives it to read. I think it's a good answer if it makes it more clear that, in essence mining is gambling with no guarantees

@CaiusJard I understand what you mean. I'll edit to make it clearer.

@CaiusJard Your statement is really not true. There are mining pools that pay per hash or offer a pay per hash option. Most people don't want this option because they make more by taking just a small amount of risk. F2POOL, for example, guarantees a particular minimum reward per share generated that is roughly equivalent to your 2.5% less than your expected yield from the block reward if solo mining. (You also get a share of the transaction fees, but that's based on an algorithm that has some risk for the miner.)

You should write an answer, David

@NateEldredge that's why I mentioned that "there are other cryptocurrencies which are more profitable than bitcoin with GPU mining." and linked an article that listed a dozen of them in my answer.

@DavidSchwartz thanks for the feedback, I edited my answer to add a bitcoin profitability calculator alongside the nicehash calculator and make it clearer.


text:
Is the index db downloaded from peers or generated locally?
When the user start the Bitcoin client for the first time, it will download the whole blockchain.
But what about the block index (blkindex.dat in older versions) ?
Is it downloaded from peers just like the blockchain or generated locally from the downloaded blockchain?
Then, does it depend upon the implementation (or version) or will the answer be the same for Bitcoin, Litecoin, or other random fork?
The version I talk about is an old fork that is still using blkindex.dat.

The only data exchanged over the Bitcoin peer-to-peer network are the raw blocks and transactions.  Everything else has to be generated locally from that data.
Litecoin and other forks work the same, as far as I know.
Of course, there could be some client implementations that get other data from other sources (not via the main peer-to-peer network), such as a dedicated server provided by the vendor.  Bread Wallet has an example of this.  But the Bitcoin Core reference client does not do that.


text:
How to turn my bitcoins into legal money
For a while now I have been mining and have now got 5 Bitcoin which I'm ecstatic about as it means once I have the money for it, I'll be £13k richer and can put a deposit down on a house.
Whilst I can mine and know how to sell the Bitcoin, I don't know how I'd do these legally.
If I simply just sell them, surely I'd need to put tax on them or something to comply with UK tax laws?
If I was to use the money to put a deposit down, they're going to want to know where the money has come from and whether it's legal money and no doubt the bank will go through my accounts very precisely.

Spend some of your newfound wealth on a consultation with an accountant.

One issue with using it or a mortgage deposit, is banks tend to view your act of saving of the deposit as evidence that you have the means to pay back the monthly mortgage payments. If you suddenly come across wealth but have not demonstrated an ability to save money on a monthly basis, the bank won't necessarily see you as being able to pay back a mortgage. Perhaps the correct thing to do would be to cash it in once a month as if it were a wage, and then attempt to use it as your mortgage deposit in 12 to 18 months.

Also, I think earnings from Bitcoin come under capital gains in the UK, which means they'll be taxed as part of your income depending on how much you earned in total. Check the information available on the gov.uk website.

Mark H, thanks for the advice. I am able to afford a mortgage easily and have also been saving from when I earn from my job. I have an amazing credit score, no debt and a highly paid job so I imagine I'll be accepted no problem, in fact I already have a few offers. I'd just hate to be open to getting fined or jailed for tax evasion or something.

Bitcoin acquired through mining are treated as income and subject to Income Tax at the appropriate rate (perhaps 40% if you also have a highly paid job). You'll need to declare this income in sterling equivalent. I believe you'll also be subject to NI contributions on those Bitcoin earnings.
If earned Bitcoins subsequently increase in value, I suspect the increase will be subject to Capital Gains Tax.
As others have said, employing a qualified accountant would be a sensible action.

HMRC Brief 9 - Bitcoin and other cryptocurrencies


text:
VPS with 80 GB Space, can't download the whole blockchain?
I am using an application and WordPress that allows people to pay with Bitcoin in a small multi vendor marketplace for trading hobby items.
The plugin that I'm using is recommending that I run a full Bitcoin node? I don't think I need to, but how does someone do that with a small SSD?
Can you prune and simultaneously download? Is there a blockchain light I don't know about.
I don't want to be running a $60 vps just because of the chain
Thanks!!

Yes, pruning will reduce disk space needs to a few GB.  The whole block chain will still be downloaded (which may cost you something in bandwidth charges), but old blocks will be discarded as you go.
See How can I run bitcoind in pruning mode?


text:
Get back my change
Please help. I was new to thew blockchain and did not know about getting change back. when the address to give me my change showed up on my Ledger nano wallet I hit the x instead of the check mark. I don't think I got my change. Can I go up to the same transaction on the blockchain and try again. I noticed there is a  button to receive payment would that work. Does it see that it is my wallet and send the address again.

Is your balance now lower than expected? It may be helpful if you post the tx id or address in question.

when the address to give me my change showed up on my Ledger nano wallet I hit the x instead of the check mark. I don't think I got my change

That is not how a transaction works, if you did indeed send a transaction, the change would be returned to you automatically. There would be no additional steps required for you to ‘claim your change’, that simply isn’t how things work.

Can I go up to the same transaction on the blockchain and try again.

No, if the transaction is already sent, you cannot now ‘resend it’ or ‘try again’.

noticed there is a button to receive payment would that work. Does it see that it is my wallet and send the address again.

You would use that button for someone else to send you a payment, it has nothing to do with change.

Are you using the ledger live app or the ledger chrome app?
when you login, is the balance lower than expected? if you so, i'd advice you try resetting the cashe on both apps.
If you pressed x to cancel, you could simply just reset the ledger with the 24 seed phrase and everything should be fine.


text:
help can I recover ltc sent to a btc address
Im super new like a lot of people. I have a nano s ledger and I attetpted to send ltc from coinbase to the ledger only to realize I used the btc address on my ledger. Is this recoverable?

Since the bitcoin address entered by mistake and litecoin address intended are derived from same mnemonic words, simple scanning the mnemonic into a litecoin wallet that scans a bit of the HD-key tree for balance, should work.
You can try entering your mnemonic at https://iancoleman.io/bip39/ and playing with the values. If you fix the purpose to 44 and coin to 0, changing the values of 'account' and 'internal/external' should reveal your bitcoin address in question in the list at the bottom. Once you do, you will know its private key and should be able to then scan it in a litecoin wallet.

If you send some cryptocurrency to an address of another type of cryptocurrency (with a valid address in its own format), you may have lost your money (if you don't own that address) in the source cryptocurrency you made the transaction from.
A way you could recover the money is to make another transaction from the new address to another address you own, like the old one. However, as this is still a wrong transaction, it could still have issues getting confirmed, and it may even come with a higher fee.

Not true.......

@RutgerVersteegden What did I say wrong?
[edit] I said "If you send criptocurrency to an address... ...you don't own" I was assuming that he sent the amount to someone else and not to an address of his own, I'll correct

I believe the derivation for segwit address for Bitcoin and Litecoin are more or less the same. Try importing the private key of the BTC ledger address in an LTC wallet.
They changed the 3 address to an M address because of this. However, these adresses are still valid.
See this guide:
https://litecointalk.io/t/accidentally-sent-litecoin-to-my-bitcoin-wallet-address/8826/19


text:
I think I found 241 Bitcoin
I have been having dreams for the past month about BTC and an old computer I had bought Bitcoin on a long, long time ago. I just found said computer in my grandmother's basement. Booted it up and lo and behold, found a wallet.dat file.
I abandoned Bitcoin a while ago as when I tried spending the Bitcoin, I couldn't for whatever reason.
Well folks, here is the reason:
Status: 0/unconfirmed, not in memory pool
Date: 4/9/2557 BE 03:53
To: (removed)
Debit: -200.00000000 BTC
Net amount: -200.00000000 BTC
Transaction ID: (removed)
Transaction total size: 192 bytes
Output index: 0
I have two transactions like this. I need to know how to retrieve these coins.

This isn't a site to look for people to hire. You can ask about how to solve it yourself, but you'll need to give more information.

I'm not hiring anyone, it is a good gesture for someone's time and help. I have a potential $3M windfall here so trying to get assistance. Do you blame me? What info do i need to add?

Nothing to do with blame, it's just that Stack Exchange doesn't think that posts offering money are a good idea.  See https://meta.stackexchange.com/questions/25615/offering-actual-money-as-a-bounty.  I have edited this out for you.

You've posted something about a transaction but it's unclear what it's about.  Is this an incoming transaction that you want to get confirmed, or an outgoing transaction that you want to cancel?  It would really help a lot if you were willing to post the transaction ID.

You can't offer money for help.

This is from a transaction that was sent in 2014 with no transaction fee. It just shows as unconfirmed. When I check the generated txid on Blockchain.info, there is none which means the transaction never happened. The coins are presumably in limbo. I found this out by just downloading Bitcoin Core (qT) and switching the generated empty wallet.dat with the recovered wallet.dat file from 2014. The transactions displayed upon booting up Bitcoin Core.

I have been reading online for hours that it is possible to retrieve the coins but I am unclear as to how. Do I fully install Bitcoin Core (150GB), then try to cancel the transaction that way so the BTC returns to my wallet balance or where do I go from here? I'm clueless.

As far as the rest of the world is concerned, that transaction never happened.  Your client just doesn't know that.  You can use -zapwallettxes to make your client forget about it.  However, you'll have to download the whole blockchain (that's the 150GB) to see your correct balance and be able to spend it.  You might also be able to import your wallet into "thin client" software that would let you do this without the full download, but I can't tell you the details as I've never tried this.

Do you know the private key???

I have the wallet.dat raw file. I used multibit. No passphrase, etc is associated. At this juncture, I am still lost. I need to download the entire blockchain. Upon doing so, my wallet.dat file (from 2014) is associated with it already. I then need to -zapwallettxes (how do I do this via my Macbook?), then the 200 BTC + 41.20 BTC transactions will drop off and the funds will be present in my balance. I am now a millionaire? Is this what is going to come to fruition?

Just extract every address from your wallet and see if any have a non-zero balance. Then, for those, extract the private keys. Look for the pywallet.py program that will extract addresses and keys from a wallet.dat file.

David, they are going to show a 0 balance as when I sent the transactions back ages ago, I did not include a tx fee through Multibit. I remember I was trying to buy something and told the guy the funds were sent but they really didn't send as I didn't include a fee. Now the funds are in limbo so I have to -zapwallettxes I guess (not sure how) upon downloading the entire blockchain and then the tx will drop and the BTC will appear in my wallet. (I think?) Someone please help.

If all your addresses have a zero balance, then you don't have any bitcoins. If the send didn't go through, then the bitcoins should still be there.

Before you do anything, you probably want to make a couple backups of the wallet.dat. Check that the backups are in order before continuing.
zapwallettxes only works on the start up of Bitcoin Core. First shut down your bitcoin-qt, then open a terminal.
Write:
bitcoin-qt -zapwallettxes=2
If this doesn't start bitcoin-qt, you might need to go to the applications folder. You switch to the installation directory:
cd Applications/Bitcoin-Qt.app/Contents/MacOS/
And then run the application from that folder:
./Bitcoin-Qt -zapwallettxes=2
This should start Bitcoin-Qt, but delete unconfirmed transactions from your wallet. After it loaded completely, check whether the transaction is still listed. The transaction should no longer be listed and your balance should show the full amount. After this you should be able to normally start Bitcoin Core.
If the transaction is still shown, and you're running a very new version of Bitcoin Core, it might have been in your Bitcoin Core's own memory pool i.e. the set of unconfirmed transactions as well.
In that case, you'll need to delete the persisted memory pool.
By default the data directory on Mac is:
~/Library/Application Support/Bitcoin/
In that folder, you should find a mempool.dat. After you shut down and before you restart with zapwallettxes=2, delete the mempool.dat (and no other files).
Bitcoin Core will probably prohibit you from creating new transactions until it is synchronized with the network.

Murch, thank you for this info brother. To confirm, do this upon the full 150GB being downloaded correct?

@merger: I think it should work before you are synchronized. I'll keep my fingers crossed for you. If you actually end up with a load of money, I would suggest that you read this post on reddit: https://www.reddit.com/r/Bitcoin/comments/7dlqtk/200_btc_telling_my_wife/dpza7b6/

why wouldn't he go just take the addresses from this pending tx (bitcoin-cli getreceivedbyaddress $ADDRESS and bitcoin-cli dumpprivkey $ADDRESS ), use this priv key in e.g. Electrum, and create new tx? Wouldn't this be much easier?

@pebwindkraft: Feel free to post another answer...

I first thought, it is bitcoin wallet (I'm still unclear), then one could take the addresses from this pending tx
bitcoin-cli getreceivedbyaddress $ADDRESS
bitcoin-cli dumpprivkey $ADDRESS

and use this priv key in e.g. Electrum, and create new tx. After re-reading all the comments, it turns out that it might be a multibit HD wallet.
As multibit is now discontinued, there was a video on their web page, how to convert into Electrum.

Multibit HD: https://youtu.be/E-KcY6KUVnY

Also on their website:
If you are having problems logging into Multibit, we created a utility to export the keys from your Multibit wallet file. Instructions for how install and use it are at https://github.com/Multibit-Legacy/read-multibit-wallet-file
IMHO, best approach is
1.) try the method from the video
2.) do not oversee the comment from David Schwarz :-)
3.) try to export the priv keys from MultiBit HD Wallet
    - see this thread as well: [How to extract Multibit HD Keys][1]
4.) read the instructions for how install and use their tool ...

Hope this helps to get to the keys or funds. Champaign?

naaa, no champaign - maybe it is an altcoin, same thread here: https://bitcointalk.org/index.php?topic=2804505.0

download the full blockchain and import your wallet.dat file.
Congrats btw. Hope you get it.

I am going to download the full blockchain and cross my fingers. Are you familar with the -zapwallettxes?

Check this out
opening an old wallet.dat
Otherwise -
AFAIK all wallet data should be bitcoin forward version compatible. This would mean that if you use the latest bitcoin executable it should be able to find the transactions in your wallet.
If not you might have to use the version of bitcoin client that you used when you made the purchase. This would involve downloading the source code and building it for your platform. Then copy the wallet.dat onto your data directory location check the GUI or some RPC calls to see balance.


text:
When I call the blockchain.info API, I an error. What can i do to solve this problem?
A script that calls the blockchain.info API to find the UTXO related to an address
# get unspent outputs from blockchain API

import json
import requests

# example address
address = '1Dorian4RoXcnBv9hnQ4Y2C1an6NJ4UrjX'

# The API URL is https://blockchain.info/unspent?active=<address>
# It returns a JSON object with a list "unspent_outputs", containing UTXO, like this:
#{      "unspent_outputs":[
#   {
#     "tx_hash":"ebadfaa92f1fd29e2fe296eda702c48bd11ffd52313e986e99ddad9084062167",
#     "tx_index":51919767,
#     "tx_output_n": 1,
#     "script":"76a9148c7e252f8d64b0b6e313985915110fcfefcf4a2d88ac",
#     "value": 8000000,
#     "value_hex": "7a1200",
#     "confirmations":28691
#   },
# ...
#]}

resp = requests.get('https://blockchain.info/unspent?active=%s' % address)
utxo_set = json.loads(resp.text)["unspent_outputs"]

for utxo in utxo_set:
    print "%s:%d - %ld Satoshis" % (utxo['tx_hash'], utxo['tx_output_n'], utxo['value'])

Running this script, shows the error:
Traceback (most recent call last):
  File "get-utxo.py", line 26, in <module>
    utxo_set = json.loads(resp.text)["unspent_outputs"]
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

The API returns No free outputs to spend when there's no unspent output, you need to account for that case. You can do a simple check on the status code (200: OK, 500: Error).


text:
What's the best way to transfer bitcoins between two exchanges?
I'd like to transfer bitcoins in my Kraken account to my Poloniex account. What would be the best (a.k.a. cheapest) way to do that?

Kraken BTC -> ETH -> Poloniex ETH -> BTC
That's the fastest and cheap way.

Withdraw your Bitcoins from your Kraken account directly to an address provided by your Poloniex account.

Can the same be done from coinbase to kraken?

Yes it can. Any exchanges that provide a deposit address.

Do you know why one of the comments suggested converting to ETH is/was superior? Do you know how much processing time your suggestion takes, is it instant transfer?

At the moment that would cost 6 USD!

Based on readings, one should be careful transfering ETH between exchanges as some exchanges seem to send the money as smart contracts and other exchanges seem not to be able to receive from contracts, only wallet addresses.   I believe I first read this in context of Cryptopia but seems it is not an uncommon issue amongst numerous exchanges.
Advice was to thoroughly verify first or just don't move from exchg to exchg.  Move from exch to a personal wallet and then wallet to an exchange instead.


text:
Lightweight Wallets Communication with Blockchain
I understand how the Bitcoin core wallet communicates with the blockchain, but how do the lightweight wallets like Multibits, Electrum, etc, communicate with the blockchain?

You should have a look at the SPV (https://en.bitcoin.it/wiki/Thin_Client_Security#Simplified_Payment_Verification_.28SPV.29_Clients).
It was also mentioned by Satoshi in his paper at page 5 point 8:
https://bitcoin.org/bitcoin.pdf


text:
How to connect my mining pool to another mining pool
What are some ways to connect my mining pool to another mining pool without altering any settings on the miners?

What effect are you trying to get?

I want to set up a pool that allows people to connect to it and then be able to outsource their mining power to another pool.

Your question and title are a bit unclear, we're gonna have a hard time getting you an answer.

Outsourcing to a larger pool is definitely possible and can help reduce variance. Conceptually, to them you're just a very large miner. On your side, instead of submitting a found block directly to the network, you submit it to the larger pool, and any shares you accept can be passed on the larger pool. (Regarding difficulty settings: Having different difficulty settings between your miners and the larger pool is find as long as the larger pool's difficulty does not exceed that of any of your miners. If that is the case, you must either bring down the difficulty of your miners or convince the larger pool operator to raise your difficulty (which they may very well agree to, since it reduces the load on their stratum).
For the actual implementation, I'd talk to someone who's done it before. TradeMyBit outsources its LTC and DOGE mining to MultiPool. I've talked to the owner merc before, and he seems like a nice guy. You could try contacting him here to see if he's willing to give you any tips.


text:
Unconfirmed BTC
Can anyone tell me how to fix BTC that seems stuck as unconfirmed?
Here is the blockchain info:
https://blockchain.info/tx/37ffff757d1735a8c4fe96a0ee63a7d797e9bc5a858b7a60f81eaf935bee5709?show_adv=true

Yes, that's weird that it hasn't confirmed yet!  I see that one of the outputs is also spent, in another transaction, also unconfirmed.

If you want to avoid a transaction to get stuck unconfirmed, you can better include a transaction fee. But nevertheless, this should not happen.

Looks like it finally got confirmed!

Every ten minutes in the blockchain the transactions are confirmed. So if you want to get 100% fully confirmed you will have to wait an hour. There is not much you can do in the process about that.

It's been more than 2 hours.  This is odd.

Alright maybe if you give us a whole lot more details. The OS you are using, what exactly happened; were you running other programs? What was the amount did you set a transaction fee? The more that everyone knows the better we might be able to assist you. Thanks. I just answered you with standard protocol, but I guess you are having a more serious problem.

You can see the transaction in blockchain.info.  It looks normal.  The only weird thing that I noticed is that is one of its outputs is spent in another unconfirmed transaction.  Maybe this interdependency is slowing things down?


text:
How many coins been mined on the Testnet?
How many coins been mined on the Testnet?
How can I check how many coins have been mined?

By visiting http://blockexplorer.com/testnet you can browse the testnet blockchain.
As of this writing, it shows that 128558 blocks have been mined on the current iteration of testnet (testnet3).  Since each block has a reward of 50 BTC (it has not decreased), that's a total of 6427900 BTC mined to date on testnet.


text:
How do you install blackcoin on a headless server or VPS?
Could somebody tell me the commands to get blackcoin installed over the terminal?

You may need to slightly modify the following steps for your needs:

ssh or log into the machine
Make sure that git is installed.
sudo apt-get install git
Clone the github repo
git clone https://github.com/rat4/blackcoin.git
Follow the instructions from the installation documentation  which are:
Install the dependencies.
sudo apt-get install build-essential libssl-dev libdb++-dev libboost-all-dev libqrencode-dev
Run the makefile which will compile the program from the source we just downloaded.
cd blackcoin/src
make -f makefile.unix
Run the newly created binary.
./blackcoind

There is also a #blackcoin irc channel on freenode where there are friendly blackcoiners happy to walk you through installation.


text:
Bitcoin Cash testnet wallet
Hey guys I've been searching for quite some time... Is there any good, except mycelium, wallet which supports testnet Bitcoin Cash?
Thanks for answers in advance!
Cheers!

"faucet Bitcoin Cash" What's that? Are you looking for a faucet?

I'm looking for a wallet that support testnet bitcoin cash currency

Copay is a mobile wallet which supports Bitcoin Cash testnet.
Desktop wallets based on Bitcoin Core should also support testnet; e.g. Bitcoin ABC and Bitcoin Unlimited.

Copay works. Enable BCH support then create a wallet for testnet.


text:
Is Bitcoin anonymous?
Bitcoin transaction's anonymity depends on public-private keys. The digital tie between a public and a private key is stronger than the tie between a person and his DNA.
If you committed a crime but the police had your DNA you would hardly consider yourself safe.
Furthermore there is a necessarily public list of transactions involving your public key and therefore connecting you to others by their public key.
To call this anonymous seems a stretch!

Bitcoin is pseudonymous, not anonymous. Sure public keys and private keys are tied and all transactions are public, but unless you have revealed your real identity and connected it to your public key, people do not know who you actually are when you make a transaction.
Furthermore, you can generate as many public-private key pairs as you want and those are not actually tied to your identity.
So with Bitcoin, what you really have are pseudonyms, the public keys. You can have as many pseudonyms as you want and said pseudonyms are not necessarily tied to each other or tied to your real identity. Thus you are pseudonymous, not anonymous.


text:
My BCH is marked 'unspendable' in my Blockchain Wallet
My BCH is marked 'unspendable' in my blockchain wallet. I entered my public address instead of my private address by mistake when I exported the BCH from my paperwallet. Is that the problem and how do I correct this?

Exactly! Just reset your wallet and then import your private key. It'll work like magic.


text:
Is the fastest Bitcoin ASIC miner available today still profitable after block halving?
As the title says, I was wondering if the fastest Bitcoin ASIC miner will be profitable after block halving?

Probably not at the current difficulty. We'll likely see a difficulty drop as people turn their mining hardware off, though.

If the fastest Bitcoin ASIC miner isn't profitable after halving, then the most miners have to turn their machines off right? The difficulty drop will be huge then. Will this lead to a centralization of new more efficient ASIC running by a few companies?

Whether a miner is profitable depends in large part on how much the operator pays for electricity.

We don't know your business model. What's your power price? Will you be selling the miners after a period of months? 2) Be careful in assuming that the difficulty will drop. The efficiency of miners historically has increased more quickly than the reward drops. There may be a localized stall or decline in difficulty, but as far as profit calcs go, I would never assume the difficulty will drop over anything resembling the long term.

I've downvoted this question because it has an obvious answer that's useless (which is "of course, otherwise nobody would be mining anymore") and a non-obvious answer that is individual to the respective circumstances. I therefore don't find the question useful.


text:
I am not able to connect to download blockchain in logoscoin. It shows active connection, I am also attach debug logs below:
2015-01-24 06:18:15 Logos version v0.8.6.4-ga5aedeb-beta (2015-01-22 22:29:38 -0800)
2015-01-24 06:18:15 Using OpenSSL version OpenSSL 1.0.1f 6 Jan 2014
2015-01-24 06:18:15 Default data directory /root/.logos
2015-01-24 06:18:15 Using data directory /root/.logos
2015-01-24 06:18:15 Using at most 125 connections (1024 file descriptors available)
2015-01-24 06:18:15 Using 2 threads for script verification
2015-01-24 06:18:15 init message: Verifying wallet
2015-01-24 06:18:15 dbenv.open LogDir=/root/.logos/database ErrorFile=/root/.logos/db.log
2015-01-24 06:18:16 Bound to [::]:11050
2015-01-24 06:18:16 Bound to 0.0.0.0:11050
2015-01-24 06:18:16 init message: Loading block index
2015-01-24 06:18:16 Opening LevelDB in /root/.logos/blocks/index
2015-01-24 06:18:16 Opened LevelDB successfully
2015-01-24 06:18:16 Opening LevelDB in /root/.logos/chainstate
2015-01-24 06:18:16 Opened LevelDB successfully
2015-01-24 06:18:16 LoadBlockIndexDB(): last block file = 0
2015-01-24 06:18:16 LoadBlockIndexDB(): last block file info: CBlockFileInfo(blocks=1, size=266, heights=0...0, time=2014-05-20...2014-05-20)
2015-01-24 06:18:16 LoadBlockIndexDB(): transaction index disabled
2015-01-24 06:18:16 LoadBlockIndexDB(): hashBestChain=2d352b606e859728ff5a58bc8f6c980c44535c2707022e959aab4109aac1af2c  height=0 date=2014-05-20 14:00:00
2015-01-24 06:18:16 init message: Verifying blocks
2015-01-24 06:18:16  block index             101ms
2015-01-24 06:18:16 init message: Loading anonymous desktop wallet
2015-01-24 06:18:16 nFileVersion = 80604
2015-01-24 06:18:16  wallet                  185ms
2015-01-24 06:18:16 init message: Loading addresses
2015-01-24 06:18:16 Loaded 1 addresses from peers.dat  29ms
2015-01-24 06:18:16 mapBlockIndex.size() = 1
2015-01-24 06:18:16 nBestHeight = 0
2015-01-24 06:18:16 setKeyPool.size() = 100
2015-01-24 06:18:16 mapWallet.size() = 0
2015-01-24 06:18:16 mapAddressBook.size() = 1
2015-01-24 06:18:16 msghand thread start
2015-01-24 06:18:16 opencon thread start
2015-01-24 06:18:16 addcon thread start
2015-01-24 06:18:16 net thread start
2015-01-24 06:18:16 upnp thread start
2015-01-24 06:18:16 dnsseed thread start
2015-01-24 06:18:16 Loading addresses from DNS seeds (could take a while)
2015-01-24 06:18:16 dumpaddr thread start
2015-01-24 06:18:16 init message: Loading complete
2015-01-24 06:18:16 4 addresses found from DNS seeds
2015-01-24 06:18:16 dnsseed thread exit
2015-01-24 06:18:16 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:17 refreshWallet
2015-01-24 06:18:17 GetMyExternalIP() received [183.87.126.235] 183.87.126.235:0
2015-01-24 06:18:17 GetMyExternalIP() returned 183.87.126.235
2015-01-24 06:18:17 AddLocal(183.87.126.235:11050,4)
2015-01-24 06:18:18 connect() failed after select(): Connection refused
2015-01-24 06:18:18 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:20 connect() failed after select(): Connection refused
2015-01-24 06:18:20 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:21 connect() failed after select(): Connection refused
2015-01-24 06:18:22 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:23 connect() failed after select(): Connection refused
2015-01-24 06:18:24 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:24 No valid UPnP IGDs found
2015-01-24 06:18:24 upnp thread exit
2015-01-24 06:18:25 connect() failed after select(): Connection refused
2015-01-24 06:18:26 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:27 connect() failed after select(): Connection refused
2015-01-24 06:18:27 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:29 connect() failed after select(): Connection refused
2015-01-24 06:18:29 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:30 connect() failed after select(): Connection refused
2015-01-24 06:18:31 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:32 connect() failed after select(): Connection refused
2015-01-24 06:18:33 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:34 connect() failed after select(): Connection refused
2015-01-24 06:18:35 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:36 connect() failed after select(): Connection refused
2015-01-24 06:18:36 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:38 connect() failed after select(): Connection refused
2015-01-24 06:18:38 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:39 connect() failed after select(): Connection refused
2015-01-24 06:18:40 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:41 connect() failed after select(): Connection refused
2015-01-24 06:18:42 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:43 connect() failed after select(): Connection refused
2015-01-24 06:18:44 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:45 connect() failed after select(): Connection refused
2015-01-24 06:18:45 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:47 connect() failed after select(): Connection refused
2015-01-24 06:18:47 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:48 connect() failed after select(): Connection refused
2015-01-24 06:18:49 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:50 connect() failed after select(): Connection refused
2015-01-24 06:18:51 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:52 connect() failed after select(): Connection refused
2015-01-24 06:18:53 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:54 connect() failed after select(): Connection refused
2015-01-24 06:18:54 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:56 connect() failed after select(): Connection refused
2015-01-24 06:18:56 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:58 connect() failed after select(): Connection refused
2015-01-24 06:18:58 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:18:59 connect() failed after select(): Connection refused
2015-01-24 06:19:00 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:19:01 connect() failed after select(): Connection refused
2015-01-24 06:19:02 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:19:03 connect() failed after select(): Connection refused
2015-01-24 06:19:03 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:19:05 connect() failed after select(): Connection refused
2015-01-24 06:19:05 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:19:07 connect() failed after select(): Connection refused
2015-01-24 06:19:07 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:19:08 connect() failed after select(): Connection refused
2015-01-24 06:19:09 trying connection 72.52.4.91:11050 lastseen=100.8hrs
2015-01-24 06:19:10 connect() failed after select(): Connection refused

when I tried to run bitcoin GUI it connected and show network and start download blockchain, this will not work. what I can do? Please help me on this.

It seems like the seed node 72.52.4.91:11050 is down. You either need to provide additional seeds (by modifying your logoscoin.conf and using addnode) - or contact the coin developers and ask them to fix it.


text:
BTC denominated vs fiat denominated stock exchange?
What could be done more easily (or just be doable) in a BTC-denominated stock exchange that is difficult (or plain impossible) in a fiat-denominated one?
i.e. what features of a BTC denominated exchange would make it relatively attractive to ordinary traders?

Perhaps would be more apt to ask: what could be done more easily (or just be doable) in a BTC-denominated stock exchange that is difficult (or plain impossible) in a fiat-denominated one? Plenty of legal hurdles anyway...

I edited to put "stock" in the title. At first I thought  you were asking about exchanges where you trade BTC for fiat, which didn't make sense.

Advantages of BTC stock exchanges
1) Speed of deposits and withdrawals
Ordinary investors (in USA where there is no SEPA) use ACH transfers or checks to fund their brokerage accounts. ACH transfers take 3 business days and make no progress on the weekends. After this is in the brokerage account it takes another 3 days for the cash to "settle". So in an extreme case where there is a holiday weekend, a money transfer to a stock exchange (with the intent to buy stock based on new time sensitive information) on a Thursday will take
(1) Friday, (1) Saturday, (1) Sunday, (1) Holiday Monday, (2), Tuesday, (3) Wednesday, (1-Settle) Thursday , (2-Settle) Friday, (2-Settle) Saturday, (2-Settle) Sunday, (3-Settle) Monday, (Tradeable) Tuesday
On Software as a Service bitcoin denominated stock exchanges (this is also known as "centralized") this takes just a few confirmations which will average an thirty minutes (3 confirmations) to an hour (6 confirmations) to fund an account, and the bitcoin is immediately then available for trading. For trades requiring less time to profit, the user can limit exchange risk by withdrawing their bitcoin from an exchange when they are not using it, and this only takes another the time for it to confirm to their personal addresses. Using ACH transfer from a fiat exchange will again require 3 business day cash settlement time (for stock sells, derivatives have 1 business day cash settlement time) and an additional 3 business days to reach their actual bank account.
If this investor is using a check from the brokerage, the time is further compounded by an 3 business days in snail mail.
But Wire/SWIFT transfers obviously aren't much better, due to the cash settlement time before the transfer happens.
On a decentralized exchange (using mastercoin protocol, counterparty, or colored coins), one does not need to "deposit" bitcoin at all, but the sacrifice being the stock trades themselves are at the mercy of the confirmation speed, so many kinds of trading (time sensitive under 30 minutes) are not practical, but investing and swing trading is. Colored Coin protocol does not have this sacrifice. On decentralized exchanges AML is impossible barring some future invention that attempts to make some bitcoin tainted to the entire network.
2) More liquid and greater fungibility: Investment funds can be spent for goods and services, indistinct from a personal wallet's funds.
On fiat stock exchanges, brokerages create investment accounts where cash has to "settle" and be transferred to a bank account before it can be spent on goods and services. We have already established that this can take two weeks.
On bitcoin exchanges, the user's exchange addresses (accounts) are indistinct from their personal accounts. On the centralized exchanges, they function as hosted wallets, if userA wants to get paid to a bitcoin address, userB doesn't know if the requested address is being accessed on bitcoin-QT or tied to an account on a stock exchange. Similarly if userA wants to send funds from a stock exchange they can simply 'withdraw' it to userB's requested address.
On decentralized exchanges, once again the user's funds have never left their private wallet to begin with and there is no concept of withdrawing before money can be spent on goods and services.
3) Economic freedom. Invest in companies in any jurisdiction in the world, and for-profit decentralized services that have no jurisdiction.
In fiat stock markets, a company has to list in each individual market in each individual country, and investors outside of those markets/countries cannot invest. (If an investor has practical access to invest in foreign stock markets, they are not your ordinary investor). Also many markets and countries have capital controls as well as socioeconomic barriers to entry.
In bitcoin stock exchanges, these barriers do not exist. If you want to invest in a hot sector in Gangzhou China or Missouri USA, you can just do that. On centralized exchanges, site operators have at some points attempted to limit people from certain countries (america) from accessing their markets, due to liability issues. With decentralized exchanges there is no practical way to limit access in this way.
4) Low to nonexistent costs to listing a company.
Many more types of crowdfunding can take place since hundreds of thousands of dollars in legals fees are not necessary to create an asset for trading.
5) Smaller investors can invest.
In fiat stock exchanges, minimum funding requirements can be $2,000 for a margin account or minimum account size at all. Its fun to tell teenagers to invest $100 a week in a stock so they'll be rich by the time they are 50, but no decent brokerage will let them open an account, and they'll be better off trading Nike shoes and go on to other frivolous activities.
In bitcoin stock exchanges this doesn't exist. Some centralized exchanges have high fees to enter, decentralized exchanges cannot barring a future protocol that does.
6) Lower fees to trade.
centralized exchanges have their own trading fees. decentralized exchanges will only have the network fee and whatever their protocol requires.
fiat stock market fees can be much higher, at 'discount brokerages', in direct access markets, and in tailored investment firms (bucket shops)
7) Data feeds are not delayed, free
Fiat stock markets give delayed data unless the investor goes out of their way to find better and better data with more and more custom tailored services. It is only a fairly recent change that an individual investor can get live quotes across exchanges at all, let alone level 2 order book information. But even then, this investor has to do a lot of research to find ways to do this cheaply.
No bitcoin stock exchange delays data. This would actually be hard to do. This is impossible on decentralized exchanges and no centralized exchange would gain a community if they did that.
8) Free API access
In fiat stock markets, getting API access to data feeds is impossible or very expensive. Nasdaq charges $6,000 a month for this access, and the protocol (FIX) is very antiquated compared to JSON and restful services.
Bitcoin stock exchanges all user modern JSON, some use various forms of restful services and Oauth. All provide this for free, not as a courtesy but because that is modern and the data is there.
Now ordinary investors are able to both VIEW live data and retrieve it via API for their own applications.
With fiat stock exchanges, making trading applications such as automated bots were largely out of reach for ordinary investors due to the restrictions in data access, contributing to an illusion that "High Frequency Trading" was an unattainable mystical trade reserved for the mystical quantitative programmers in secretive hedge funds.
9) 24/7 market hours
Bitcoin stock exchanges never close. Trade any asset any hour of the day. There are no gap ups and gap downs due to information coming out while markets were closed.
This is an advantage because information can become available at any time for a security in any part of the world.
In centralized exchanges, implementing "closed" hours is difficult (but a future exchange may opt to do this), and in decentralized exchanges this is impossible barring some future protocol change.
Advantage of fiat stock exchanges
1) Margin, lots and lots of margin. bitcoin currently does not have a practical way to offer margin for stocks.
2) SIPC insurance, for stocks. If the exchange shuts down many regulatory environments have a way for depositors to get their money back up to a point.

Albeit a bit lengthy, great answer!

I believe that international transfers and microinvesting are two things which are well suited to bitcoin but near impossible with traditional fiat. The $5/trade fee is what kept me out of the stock market; with the flat fee in cryptocurrency trading, once you have money on the exchange you can buy or sell any amount you please!
Of course, there is the issue of AML when it comes to bitcoin, and it is harder to mediate than with traditional payment systems.


text:
What happens to Private Key on Payment
If I pay someone in bitcoin, presumably I have to utilise both my private and public key in some way, and presumably this has to be verified by the network.
Now does the network thus obtain my private key as part of the verification process?  If not, how do they verify without it and if they do, does this mean my private key is now compromised?

related: How can transactions be verified without the private key?

The network does not obtain your private key.  That is why it is called "private", and this is the whole reason that digital signatures are secure
When someone pays coins to you, the transaction includes your address, which is a hash of a public key.  Public keys and private keys come in matched pairs, and to spend the transaction, you create a new transaction that is digitally signed using the corresponding private key.  The signature incorporates your public key, and anyone on the network can verify that it is valid.  A valid signature cannot be created without access to the private key, but the private key is not part of the signature and cannot be recovered from it.
If future transactions are paid to your address, you're still the only one who can spend them, so long as you keep your private key secure.

What does keep an adversary from storing your signed transaction and transmit it to the network again at a later point in time, effectively triggering the same transaction again?

@user1488118: Your transaction has to list one or more specific previous transactions as inputs that it's spending.  The network will only allow any given input transaction to be spent once.  They can transmit it as many times as they want but everybody will just ignore it.


text:
Defeating email spam with Bitcoin
There was a paper somewhere proposing a scheme for filtering email spam with the use of Bitcoin micropayments. I can't remember where I saw it and can't find it now. Anybody knows about it?

related: Could bitcoins be used to filter spam?,  BCT: "include messages in transaction, alternate use: anti spam email", BCT: "Bounty proposal for a Bitcoin-based email to fight spam."