text:
How can I specify multiple txids in createrawtransaction function?
I saw we can specify multiple txids, but I've never seen such a case.
So I wanna make it sure.
Thanks

Can you explain a bit more in detail? Or provide the. Example that you have seen? Do you want to use several inputs to be sent to a single output address?

Yeah exactly I want to use several inputs for an output.

Adam provided the answer already :-)

I see I thought that it was the way of multi payment

Send the command as following:
bitcoin-cli createrawtransaction
[{"txid":"FIRST_INPUT_TXID","vout":2},
{"txid":"SECOND_INPUT_TXID", "vout":3}]
{"FIRST_OUTPUT_ADDRESS":0.006, "SECOND_OUTPUT_ADDRESS":0.004}

if it didn't work try to skip quotation (") by adding backslash before it \"


text:
Restore Block.io multisig wallet in Electrum
I've exported my private keys from Block.io. They're compressed WIF keys (starting with L...).
Additionally I've got the following data from Block.io:

Address type: P2SH (obviously)
Redeem script
Redeem script hex
Two public keys

I've tried to restore that wallet in Electrum with the information I have. But as far as I understand, Electrum needs extended private keys to restore the wallet, right?
So, is there a way to restore that wallet? Maybe in a different wallet client? I've researched a whole evening but couldn't find the answer.

I knew that but I hadn't enough reputation to comment.
I have found a solution. I've got my BCH today from block.io which was already empty but it had a BTC on the day of fork.
So what you have to do is:
First of all you should get from security settings of you block.io profile: "Redeem Script Hex", and two private keys. (actually you will have some more strings and values but only these three required to claim your BCH).
After that:
Go to http://www.motelmaya.com/BCH/BCH.html
I know this seems strange and may cause doubts and believe me I wasn't sure too. But the real deal was: getting BCH (I had 0,5 of BTC at block.io wallet) or getting nothing.
So, then:

Click +TX
Enter the redeem HEX that you received from block.io in the first box (Address, WIF key or Redeem Script)
Click on "Advanced options" -> "Network" -> Settings and change the network to "Bitcoin Cash (mainnet)"
Click New -> Transaction or +TX once more.
Put in the amount you want to transfer and the address you are sending to (your new BCH wallet I guess - I've used my blockchain.info wallet address), make sure that the fee is not too high (I've entered something like 0.000317
Click "Submit", you will get a long HEX string. copy it
Click "Sign", paste the copied string, paste the first private key from the  block.io to the "Private key" field, click "Submit", copy the string.
Paste the string into the second box (below the "Private key" field), paste the second private key from the block.io, click Submit, copy the output
Go to "Broadcast", paste the string and click "Submit".

That's it. You will recieve TXid which you will be able to check at https://bitcoincash.blockexplorer.com
Actually all regards should go to ohad serfaty but I can't comment the post where he advised this method because of low reputation.
Good luck!

source: Stack Exchange

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

sort: votes


text:
I sent a BTC to a BCH/BCC address. I have the key for the BCH/BCC account,how to retrieve?
So, I read a similar thread in which a person transferred their BTC to a BCH account and people suggested that it could be retrieved if they have the key to the BCH account.
I have the key to the BCH account since I sent it from my coinbase to my BCH wallet by mistake but in my BCH wallet i see 0 and no transaction since it was a BTC which was transferred. How can I retrieve the BTC from my BCH wallet if I have the key for the BCH wallet?

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


text:
Electrum seed does not work when put into iancoleman's site
I used Electrum to make a new wallet and I copied out the twelve word seed. I then copied this into https://iancoleman.io/bip39. From previous experience a few years ago, I expected this to generate a number of addresses and keys. I ticked the BIP39 derivation path. It stated that it was calculating but it was still calculating 30 minutes later. I did something wrong ...??

Since you've pasted this seed into a website, I'm assuming it's just a throwaway seed not meant for actual funds. If that's correct, can you include the seed in your question so others can try to reproduce the issue?

Electrum does not generate bip39 seeds.
https://electrum.readthedocs.io/en/latest/seedphrase.html#description:~:text=For%20these%20reasons%2C%20Electrum%20does%20not%20generate%20BIP39%20seeds

Accepted. Wallet technology has moved on since 2017.

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


text:
My bitcoin transactions has not been confirmed after 24 hours. This is strange kindly help.
My bitcoin transactions on blockchain wallet  has not been confirmed after 24 hours. This is strange kindly help.
I used the standard fee proposed by blockchain wallet.
This is my transaction here https://blockchain.info/tx/31739044f5bfdceab883ab2fcafd3096647ad2e0ca0c499465d9bd7982003905

The Bitcoin network is congested as hell right now.
Over 200000+ unconfirmed-transactions https://blockchain.info/unconfirmed-transactions
And your fee at 136 sat/B is lower than the average https://bitcoinfees.earn.com/

What do you suggest I do to resolve this, since bitcoin transactions cannot be edited

There are som suggestions here: https://bitcoin.stackexchange.com/questions/9046/why-is-my-transaction-not-getting-confirmed-and-what-can-i-do-about-it                                                   So you can either try to abandon the transaction or try to double-spend it with a higher fee(only works if you have sufficient amount and sent from the same address).


text:
Sgminer No Login Credentials Supplied
I just started using sgminer but ran into some issues trying to get it to run correctly. Upon running my bat file I get an error saying: 'No login credentails supplied for hash-to-coins.com'. Below are my config and bat files with the worker name/password faked. If I run without the config file the miner recognizes the 9790m but will still fail to connect to the stratum. Any help is appreciated, I've been trying to fix this for several days now.
bat:

Config:

After a lot of search I finally found what was causing the issue. Apparently with Asus routers the AIProtection regarding malicious site blocking will actually block the connection to the pool. Disabling this setting in the router resolved the issue.


text:
Move from CoPay Wallet to Coinbase
What is the current procedure (as of 12-8-17) to move/send Bitcoin from a CoPay wallet to Coinbase?

Open a coinbase account -> get a 'receiving' address from your coinbase account -> send a transaction from Copay to coinbase. Right now the network is congested due to high traffic, so it may be worth waiting to make this transaction if you'd like to save money on fees. Getting a quick confirmation right now will be expensive.


text:
Home address and transfers?
I’ve been reading and researching bitcoin recently because I’m interested in the idea and would like to participate. My question is, since each bitcoin user is anonymous, if I bought something from someone else, how will they know where to send it? Also, if I’m transferring money to and from another person, how do I know it it going to the right person?

Bitcoin is not anonymous, it is pseudonymous.
When you send bitcoin to someone, they will tell you what their bitcoin public address is, and then you will send bitcoins to this public address. A public address is a random-looking string of numbers and letters, here is an example I just pulled randomly off a block explorer website:
15x6Ggmjwu6h5nDkidnkqpAms2L6JeuENJ
Privacy is maintained by not using an address more than once. If you have multiple people pay you at the same address, then those people will be able to know the other transactions you were involved in with that address.
Each address has a corresponding 'private key', and you need to know what the private key is in order to spend the funds. So you can tell people your public address(es) so that they can send money to you, and then you keep your private keys safe so you can later spend those coins! (wallet software automatically keeps track of private keys for you)


text:
Has anyone tried arbitrage between exchahges?
Has anyone ever tried this? I've read up on the difficulties of doing it manually, but some of the spreads I've seen are insane. I think it would be worth a try but I don't know where to start.

Yes and still at it full time. I have created a monitor that calculates the spread in % between several exchanges. Sometimes we see 25% spread! Those are the moments and getting fiat back from one exchange to another is bottleneck.

That’s awesome! May I ask which exchanges are you using? Also, do you do it manually or do you use a bot?

At the moment I do it manually and between exchanges in different countries (so using fiat as that has the biggest difference). You will need a good international network of people though. But I am also researching some bots but not sure which one will work for me. It can be really any exchange.

Very cool. I've developed an arbitrage platform that calculates the spreads for you and let's you make the decision where to buy and sell. We're in private beta and we're looking for users, such as yourself, who are well versed in crypto arbitrage and already trade for it on their own. If you're interested, I can give you access but the only thing I'd ask in return is that after you played with it, you allow me to answer some questions about your experience. Let me know if you're interested.

We have developed one ourselves. I am only researching trading bots but I trust none of them.

imo i have started a week ago and did some testing on various platforms. my issue is im using cryptopia as a base of info and i noticed i see some incredible deals available but by the time i send btc to for example then buy said coin cheap, then send to cryptopia? forget it. takes hours and hours to even show up as a deposit then depends which coin becuse as ive learned some have to wait for 200 confirmations and that in most cases is 12 hours min. so instead of making 500 dollars i lost money because price hit bottom.
I wish there was an easier way to do arbitrage. seems to me cryptopia is either seeing super long periods of confirmations or some sort of manipulations.


text:
HOW TO MOVE BITCOIN
I bought some BTC in 2013 to see what it was all about. I eventually moved the BTC to a paper wallet where it still is. Now, I am thinking that maybe I will sell the BTC, but I have cold feet about how to move the BTC into, say, an exchange. Presumably the exchange has a wallet with an address ? Could someone kindly point me to some instructions ?

You will have private keys in your Bitcoin adress.

So first install a bitcoin wallet (a lightweit one is Ok, such as the ordinary android Bitcoin wallet, samuray wallet...).
Then import your privkeys to your wallet.
Open an account in an exchange (for example Bittrex)
The exchange will give you an adress to which you can send your bitcoins from your wallet.
You can sell your bitcoins in the exchange.


text:
blockchain.com saying I do have enough funds
I have had 0.3097 of a BTC in a wallet for a couple of years. Needing to pay for something, I went into blockchain.com and entered the login link and password and the system showed me the balance which was correct. So far so good.
I then called up SEND and entered the balance (I want to send all the money in the wallet to a certain address). No matter what I enter in the amount box, red letters come up saying "insufficient funds".
What do I do ?

How did you receive the BTC? Was it in very small increments? You're sure its not a 'watch only' address? Do you have a mnemonic seed phrase for the wallet? You could recreate the wallet on another device and send from there (assuming this is a blockchain.info wallet bug)

The BTC was transferred into the wallet all in one go in December 2013. The wallet is a JC wallet and the details are held off line. I have a note saying that if you send money from this wallet, you have to send all the money to one or more destinations; you cannot send part of the money to an address and retain part of the money in the wallet. The wallet has to be "swept", my notes say.

What do you mean by 'JC' wallet? Is that the name of a service you used? It sounds like you have a paper wallet, and you need to sweep  the key (move the coins) to a new wallet in order to spend the funds. Did you 'import a private key' to the blockchain.info wallet? Or did you 'add an address'? There is a difference, and it may be why you're having issues.

I have now resolved this problem which was down to my unfamiliarity with the SEND form. Your comments appreciated.

When you click send a modal window pops up. Look at the transaction fee in the bottom right of that. Deduct that from your balance and you'll be able to move your bitcoins.

All it says in the modal window is Transaction Fee = Regular and there is no actual number given anywhere. In any case I tried entering lesser sums. This wallet was originally created as a JC Wallet and the details kept off line. I have a note that this type of wallet must have all of the contained money sent to destination(s) and that you can't sent part of the money somewhere and keep part of it in the wallet.

I have now resolved this problem which was down to my mis-understanding the SEND form.

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


text:
confirmation time limit
Reading How does mining works and towards the end of the explanation,

As more people start to mine, the difficulty of finding valid blocks is automatically increased by the network to ensure that the average time to find a block remains equal to 10 minutes.

But in Why do I have to wait for confirmation?

Each confirmation takes between a few seconds and 90 minutes, with 10 minutes being the average.

Since "finding a block" is "confirmation" of a transaction, the above quotes seam like a contradiction.
The other question is why the difficulty increases when more mining power is available? one would thing the opposite should be true. I must be missing something. Any  explanation for this? Thanks

The difficulty of the network adjusts in proportion to the hash rate, so that on average a block is found every 10 minutes. Of course, it's still a random process, so sometimes blocks are much shorter and sometimes they're much further apart.
As a result, if more hash power gets added to the network, the difficulty has to go up to compensate. Otherwise doubling the hashrate would result in one block per 5 minutes instead of per 10 minutes.
I don't understand where you think there is a contradiction, but feel free to clarify.


text:
How to display USD and Bitcoin price on Classified ads?
Hello i'm developing this website https://buysellcarwithbitcoin.com/ how can i display the USD price of classified ads also converted in Bitcoin ? thanks!

If you want that cars could be paid by Bitcoin you need some payment gateway.
Otherwise, if you want just to display prices in Bitcoin you can use some blockchain.info API to get the price for it.
For example, this URL will return you how much is 5000 BTC:  https://blockchain.info/tobtc?currency=USD&value=5000

yes i want only to display it, so how can do it? thanks so much

Use some api
for example, this is how much btc is $5000 https://blockchain.info/tobtc?currency=USD&value=5000

i not understand :-( i'm using Wordpress, but not know what i need to add and where

for example this is API from Coindesk, but where i need to paste it? https://www.coindesk.com/api/

That is more PHP code / Wordpress code related question. You need to put a code snippet that will make an api call with the appropriate price.

Some bitcoin exchanges will offer an API to return the current BTC price, so you can pull data from them, divide the item price into btc price, and display the resulting btc price to your customers.
A quick search brings up a Coinbase API for btc price that would probably work for you.

i know i must use API but not know what and where paste codes

Your question relates more to 'how to work with an API call' than it does 'how the bitcoin network works'. You may find better answers in another forum.


text:
Sequence of Mining and Collecting Transactions
I asked myself about the procedure of "Mining" and "collecting transactions".
The way I understand it both processes are always active running parallel. So I assume a node has somehow two queues: one with the transactions of a block which they are currently mining and another one active collecting the transaction which will be part of the next block. So once a node found the nonce to a block it broadcasts the whole block. All nodes immediately start to mine a block containing the hash of the new (previous) block and the transactions (or a part) they were collecting while mining the previous block.
I already read When does a miner decide to stop collecting transactions and start calculating hashes to try to win?
but like to have a confirmation of my understanding.
Thanks in advance

There's a 'mempool' of unconfirmed transactions maintained uniquely by every node, ordered by fee-rate. Miners select a template based on these transactions that is most profitable for them. If they solve a block, or someone else solves a block, those confirmed transactions contained in the newly seen block are stubbed out of the mempool and a new template is formed from what's left.


text:
Altcoin (Litecoin fork) creation. No synchronisation
i m trying to create an altcoin from the current Litecoin master branch on github. Its Litecoin in the version of 0.15.1.
By editing some parameter in chainparams.cpp i m able to create my genesis block. But i cant get the network to synchronize!
I m running litecoind on a vps with all ports open, and i am able to connect to the node when i start the litecoin-qt on my machine (with -addnode or -connect to the vps).
On my vps i can see my machine with -getpeerinfo and its block count (0).
On my machine i can see that it is connected to the litecoin node on my vps.
When running generate on my vps, to create some blocks, i can even see on my machine, that the block count of my vps has risen. Still, there is no synchronization! The blockchain on my machine stays 0.
The litecoin-qt on my machine shows me "Connecting to Network" all time, even though it is connected to the litecoin node on the vps.
In chainparams.cpp i have edited the following sections:
pchMessageStart:
    pchMessageStart[0] = 0xf1;
    pchMessageStart[1] = 0xc0;
    pchMessageStart[2] = 0xb6;
    pchMessageStart[3] = 0xd0;
    nDefaultPort = 9333;
    nPruneAfterHeight = 100000;

and the genesisblock:
genesis = CreateGenesisBlock(1512851040, 376896, 0x1e0ffff0, 1, 25 * COIN);
and the checkpoint (the genesis block i created):
      checkpointData = (CCheckpointData) {
        {
            {0,           uint256S("0x6213f0e07c17e4ccef1fd9d023b06ce7e8bdbddaf2c4175197149302b7c351e8")},
        }
    };

    chainTxData = ChainTxData{
        1512851400,
        500,
        0.06
    };

Anything else is unchanged! Ports, etc. are alle the same as with Litecoin!
Please help. debug.log shows no errors. Took different approaches with -listen, -server, -deamon and of course a .conf file. Nothing seems to help.
This is the last step of my first chapter in blockchain development :)

remove the chainTxData

chainTxData = ChainTxData{
    0,
    0,
    0
};

and make sure also that your first block is mined soon after the genesis time.


text:
Mnemonic seed BIP 39 HD wallet with vanity address
Can we create a mnemonic seed BIP 39 HD wallet with vanity address for LITECOIN, if yes, how?

Yes, this is possible. You will need to create a random BIP39 seed and derive keys/addresses, and check if the address has the pattern you desire. Repeat the process until you find a seed that produces your vanity address.
Here's a solution using Node. Being javascript, this will run slowly, but it's what I know, and it will eventually get the job done.
The script finds an address that has the search term either in all lowercase or all uppercase.
var bip39 = require( 'bip39' );
var bitcoin = require( 'bitcoinjs-lib' );

var searchTerm = 'newb';
var searchTermLower = searchTerm.toLowerCase();
var searchTermUpper = searchTerm.toUpperCase();

// Use a BIP44 derivation path for coin #2 (Litecoin)
var path = "m/44'/2'/0'/0/0";

var words, address, seed, root, i = 0;
do {
    // A value of 128 gives a 12-word phrase, and a value of
    // 256 gives a 24-word phrase
    words = bip39.generateMnemonic( 128 );
    seed = bip39.mnemonicToSeed( words ).toString( 'hex' );

    root = bitcoin.HDNode.fromSeedHex( seed );
    address = root.derivePath( path ).getAddress();

    if ( ++i % 100 === 0 ) console.log( 'Tried ' + i + ' seeds...' );

} while (
    address.indexOf( searchTermLower ) === -1 &&
    address.indexOf( searchTermUpper ) === -1
);

console.log( words + '\n' + address );


text:
alternative definition of Proof of Work
If the goal of PoW is only to have a single truth verifiable by all to which to converge.

Is it correct to say that PoW is only a method that serves to make it very unlikely that many solutions coexist in parallel for the same block?

And so is it a great way to converge to just one chain?

And that the fact that it is energy-intensive is just a side effect?

Is it correct to say that PoW is only a method that serves to make it very unlikely that many solutions coexist in parallel for the same block?

No. PoW is a method by which an amorphous mass of participants select one participant to provide an order (a sequencing) for transactions in a way that all nodes can each independently recognise, test and accept.

And so is it a great way to converge to just one chain?

That is an objective that it has succeeded in over the last decade or more.

And that the fact that it is energy-intensive is just a side effect?

No, the energy intensiveness is an inevitable consequence of the PoW method and Bitcoin's success in terms of the financial value of block-rewards and transaction-fees.
I don't think there is a known different PoW algorithm that would not cause total work rate to rise until it's cost approaches the value of the rewards.

1.
That would be the follow the first block seen at the tip rule. The first block seen is a special case of the longest valid chain rule.
2.
PoW and the longest valid chain rule indeed appears to converge to jut one longest valid chain.
3.
There is nothing that says the PoW has to be energy-intensive. It happens to be energy-intensive in our universe by virtue of more and more actors piling in who are attempting to carve out an increasingly smaller and smaller share of the block subsidy and fee pie.

I can understand only your third answer, could you rephrase the first two please?


text:
Who are the stakeholders and what are their key drivers?
Currently, I'm doing my masters in Computing Science and I'm working on a project in which I have to analyze the Bitcoin repository. I have a bit of trouble in identifying the stakeholders for the repository, so maybe anyone of you can help me?
A list of stakeholders (so far):

The people that use the Bitcoin blockchain (users).

And a list of negative stakeholders (so far):

The authorities, as system is anonymous.
The banks, as their number of transactions will decrease (in a perfect world, everyone uses cryptocurrency)

Secondly, to obtain a list of the key drivers of the system. I would like to now what the concerns of every stakeholder are. Example of concerns are: Security, Reliability, Performance, Extensibility, Efficiency and Adaptability.
Thanks in advance,
Patrick

This is off topic I think as this pertains to economics and not directly to the Bitcoin technology which knows nothing of the "Bitcoin repository" or "negative steak holders". Maybe economics would give better answer. Yes it probably does require knowledge of how Bitcoin works but that is just a nitch in the economic question you have asked.

Also I would wager miners were only real stake holders until now that it has become more used by general public as an investment security.

You can make  distinction between users who merely receive and spend bitcoins and users who have put a substantial amount of money into long term-storage in the blockchain. In other words, among the users you can distinguish between investors and those who use it as a daily currency.

There are two concerns: 1) Volatile Bitcoin value 2) Banks are scared of Bitcoin.


text:
Hard forking a blockchain to new codebase?
Several years ago, I forked Litecoin as a hobby project just to get some experience working with crypto code.  I generated a new genesis block and mined some for fun
I never really messed with it since then but I am still curious to learn more.  I want to change my project from Scrypt to something else like Lyra2REv2.  Monacoin for example is a litecoin fork that changed to this algo
I am not sure what all I would need to do to get a fork of Monacoin for example to sync up with my existing blockchain.  I know there are genesis block hash info in src/chainparams.cpp and block checkpoint hashes but not sure what else would need to be changed


text:
Does the OS make a difference for mining?
I would like to know whether it makes a difference to mine on Windows, on macOS or on Linux?

Performancewise?
Is there a big difference in the quantity of software tools available to mine?
Are graphics card drivers equally available for all those OS?

The major difference that you would face is the graphic driver support.
That kind of influences the performance as well. Windows is best suited that way because of extensive driver support for almost all graphic cards out there.
From mining software perspective, almost all the matured softwares are comptabile on the major platforms you mentioned.

I can see the lack of drivers on macOS, but what about Linux. I would expect major brands to have Linux drivers for their cards. Is it the case?

Yes major brands do have their drivers. However when setting up a rig, the major brands cost a lot more than their cheaper counterparts, specifically for which drivers aren't available


text:
Unacceptably slow bitcoin sync
Bitcoin core is currently 15 hours behind as I'm writing this and the piph (progress increase per hour) is at a STUPIDLY low speed. There are 95 blocks left but it says its going up 0.04% per hour. I've read that inscreasing the cache helps. Anyone else got some ideas on a fix? Or is this just how it is supposed to be?
Edit: Bitcoin core is also apparently using 50% of my disk which is not true. An application was using 12mb/s of disk and it was only using about 20% of the disk total. Bitcoin core however is using 3mb/s and is using 50%

The usual bottlenecks for syncing are in CPU speed, memory limitations, or disk IO limitations. There isn't really a "fix" short of getting better hardware. The software is already doing as much as it can to sync quickly.
The only available "fix" is to increase the dbcache. Doing so will mean that more RAM will be used. To increase the dbcache, add dbcache=<n> to your bitcoin.conf file where  is the amount of memory you want to dedicate to this cache (note that Bitcoin Core will use more memory than you specify as it does other things that need memory besides the dbcache), or add -dbcache=<n> to the startup command, or, if using the GUI, increase the dbcache in the settings.

If you don't understand bitcoin core, maybe you should look at alternative wallets.  Bitcoin core will take up massive disk space and typically you need a few days for an initial sync if you don't have SSD.  Mb/s is speed, not space.  Not sure what you are looking at there but it isn't going to give you an indication of what is going on.


text:
General Bitcoin questions
At the moment I'm trying to get a look inside Bitcoin and the Blockchain, but I'm having some general unanswered questions.

How does a wallet know how much Bitcoins belongs to a specific address?

I guess there are many possible ways to do that like parsing the complete blockchain and look for some transaction the address made and just sum up the transaction amounts. But that seems to be like the worst possible method. Is there another way to access the blockchain, for example like SQL for relational databases?

In which block will the transaction for creating a block hash listed?

When you find a correct hash of a block you'll receive Bitcoins. But the transaction will be listed in the following block, correct? If the transaction would be listed in the block for which the miner found the hash, the hash would be instantly incorrect after adding this transaction to the block?!

Who hashes the merkle root?

I already know that the merkle tree is "final" hash from all pairwise hashed transactions. But who hashes all the transactions? Is that also part of the miners themselves?
If so, the miners have to hash all transactions and afterwards find the correct nonce?

How do miners know that there is a new block?

I know that news blocks are generated every 10 minutes. Is this regulated by time? Let's say the last blocks hash was found at 9:30 and it's now 9:40, would the miner just look in the blockchain and get all transactions from 9:30 to 9:40 and that's the block that needs to be hashed?

Is the difficulty only regulated by the leading zeroes in a hash?

When finding the correct hash it seems like getting the correct amount of leading zeroes is elementary. But is this the only way to regulate the difficulty?

What if no nounce is found for a block?

Is it possible that the network can't find a nonce to generate the needed hash?
Thank you very much

Most of your questions are easily answered by looking them up in "Mastering Bitcoin" by Andreas Antonopoulos. Freely available at bitcoinbook.info.

How does a wallet know how much Bitcoins belongs to a specific address?

A wallet is a private key which generates public keys. You can look those up in the blockchain to see if any of them have an open balance.

In which block will the transaction for creating a block hash listed?

The first transaction in a block is generated by miners themselves, crediting themselves with the coinbase reward. then, the miner adds further transactions and starts looking for a hash that has the right difficulty target. If the miner finds one, the miner publishes the block. Miners thus credits themselves within their own block.

Who hashes the merkle root?

The act of mining is finding a suitable hash for the merkle root and the block header.

How do miners know that there is a new block?

The difficulty is updated every 2016 blocks. Because each block is timestamped, the difficulty adjustment knows how much time has passed, and can raise the difficulty in such a way that the next 2016 blocks will all take approximately 10min to find. Note that this assumes a steady hash rate.

Is the difficulty only regulated by the leading zeroes in a hash?

Yup.

What if no nounce is found for a block?

If so, you swap two transactions in the merkle tree that are unrelated. You can look for a new nonce for the corresponding tree.

Thanks for your answer.
But what's the best way to look up the public address in the blockchain? Parsing the complete blockchain would take too long.

if you want to do it manually, have a look at blockchain.info. The bitcoin core wallet does this while receiving tx from other nodes. So there is no manual intervention required...

Let's say I would have 100 Bitcoins and I'm going to download a mobile wallet from the AppStore. How exactly does the wallet get it's current balance? Or can a address ever only be accessed by the same wallet? So moving to a new wallet app wouldn't make any sense?

The hot wallet will probably not download the whole chain itself, but will just ask a server what the balance is for a bitcoin address.

So the server has to parse the complete blockchain? I'm sorry, but I don't understand how to access the blockchain the fastest way...

To be able to check the balance of a bitcoin address, at the very least somebody needs to parse the entire blockchain. Once that is done, you can ask that entity (preferably you yourself, or someone you trust) if an address currently has a balance.


text:
How do wallets receive the amount of Bitcoins
I've always wondered how wallet clients can receive the corresponding amount of Bitcoins so fast.
If I want to know how muc Bitcoins I own, I have to parse the complete the complete blockchain to read all incoming and outgoing transactions. The current size is over 170 GB, wouldn't it take minutes (if not hours) to get all the transactions?
But when I use a web wallet for example, the correct amount of Bitcoins is loaded instantly. How does this work?
Thank you

You don't have to parse the whole blockchain for every transaction, this is why database indexes exist.
You parse the blockchain once and create a unspent-transaction-output set (UTXO) which is a mapping between all unspent outputs and their balance. This is around 2.5GB in size and much-much faster to process.

There can be number of reasons for both instant and delayed payments -

Fees - Sender might have paid a good transaction fee if your balance was loaded instantly.
Node discovery - Your wallet might be connected to a very active node resulting in quicker discovery and propagation of your transaction. Please note the connection with a node or peer does not depend upon geographical locations.
Wallet infrastructure - Many wallets use local database to upload or query transactions instantly. You should refer to SPV wallets. SPV wallets do not store whole Blockchain data but only relevant data with respect to its own transactions. Only when it has to send transactions it communicates with full node. For receiving Bitcoins you don't need to have the whole Blockchain downloaded.


text:
Will all UTXOs eventually be worth 1 Satoshi?
If I want to spend 0.4BTC and I only have a UTXO for 1.0BTC, I will send 0.4BTC to the seller's address and 0.6BTC to my address. The seller has one UTXO and I have the other.
One UTXO has become two.
As time passes and more transactions occur, the number of UTXOs increases monotonically and the value of each will fall monotonically. (Right?)
If we extrapolate, the value of the individual UTXOs will tend to 1 Satoshi.
Or to ask the question differently, can two UTXOs ever be combined into one UTXO?
Thanks

what about the fees? can we have fractional satoshi for fees? if not either fee =0 or it's simply not possible.

Can two UTXOs ever be combined into one UTXO?

Yes, absolutely.  Each transaction can have any number of inputs and outputs; it can certainly have fewer outputs than inputs.
Here for example is a transaction with four inputs and one output, leading to a net decrease of three UTXOs.


text:
how much Mh/s is 15000 h/s?
)
Question: When Genesis is writing 15000 h/s for 12000usd what is that in Mh/s?
I plan to mine Ethereum at the speed of 15000 h/s which is the fastest speed you can buy at Genesis. Then I intend to upgrade for the daily output until I reach a high output = USD per month.
Thank you very much in advance for your help.

There is something SERIOUSLY wrong with that math. Mining Ethereum with 15000 h/s will take you over 1000 years to mine 1 ETH. I hope you know what you are getting yourself into.

The M stands for "mega", meaning million.  So 1 Mh/s means one million hashes per second.  Some very simple math will tell you that 15000 h/s is the same a 0.015 Mh/s.


text:
How can i set fee permanently via paytxfee command
I have set default paytxfee of 0.001 in bitcoin.conf file. I have updated paytxfee value via bitcoin-cli paytxfee 0.1 when I restarted bitcoin core value reset back to 0.001. is there is anyway i can set fee permanently.

set the fee while sending.

You can do one thing when running bitcoin-cli paytxfee 0.1 command, you can run command to update value of paytxfee inside bitcoind.conf file.
like this:
bitcoin-cli paytxfee NEW_AMOUNT && sed -i 's/paytxfee=OLD_AMOUNT/paytxfee=NEW_AMOUNT/g' ~/.bitcoin/bitcoin.conf

This will set fee for current session also when you restart bitcoin core price will not alter.

You can make it persistent by adding a line paytxfee=0.1 to your bitcoin.conf file.
You cannot make bitcoind persist the result of the paytxfee RPC.


text:
sendFrom with fee inclusive

I am using Bitcoin JSON RPC 14 version so how can I use sendFrom
  command in the case of fee inclusive.

sendfrom has these parameters:
sendfrom "fromaccount" "toaddress" amount , minconf, "comment" "comment_to"

As you can see there is no subtractfeefromamount boolean parameter.So you can't deduct fee from the amount itself.
You can use sendmany option with single destination address. sendmany has these parameter:
sendmany "fromaccount" {"address":amount,...} ,minconf, "comment", subtractfeefrom
Here subtractfeefrom in above parameter accept array of address from which fee will be deducted.
example:
bitcoin-cli sendmany "1521" "{\"n3jYBjCzgGNydQwf83Hz6GBzGBhMkKfgL1\":0.01}" 1 "" "[\"n3jYBjCzgGNydQwf83Hz6GBzGBhMkKfgL1\"]"

n3jYBjCzgGNydQwf83Hz6GBzGBhMkKfgL1 will get 0.0098(approx) and not 0.01

question is about sendFrom command not about sendmany. :)

Yes you are right. But sendfrom has no subtractfeefromamount option but sendmany does. sendmany with single recipient address is equivalent to sendfrom . also sendtoaddress has no fromaccount option

Thanks Ajit sendmany has subtractfeefromamount option and sendfrom does not have and this helped me to fix my problem.


text:
Trying to restore from 17 word seed
I just found a seed for my very first wallet ever, I thought was long gone. Problem is my hand writing was shit at the time...(still is lol)
I have tried to restore in using this block chain tool:
https://blockchain.info/wallet/forgot-password?guid=
Now it gives me the error:
     Unknown Word frieghtner or vincitore
but that is definitely what was given. does anyone know of a list of all the words so I can spell check my hand writing?
I don't remember if this wallet was created with electrum or blockchain.info, but I think there is a small amount of etc from 6+ years ago. any help would be amazing... if we can get it I WILL tip.
thank you

17 words seed and 6+years ago, it can't be Electrum, since "extended seed with custom words" was not implemented back then.
Here is blockchain's legacy mnemonic phrase wordlist, scroll to the bottom of the page. I couldn't find any words similar to frieghtner or vincitore.
Maybe it was a brain wallet passphrase?
Have you tried https://www.bitaddress.org offline and see if you get anywhere?

However I found the word 'vincitore' in a BIP39 Italian wordlist.....hmmm it just keep getting weirder.

It's a blockchain.info wallet, so it's not a 'seed', it's an encoding of your password.

When you decode you will get back your plaintext password


text:
Download Bitcoin, Etherium, Ripple rates 1min candles
is there any possibility to download archive with rates for Bitcoin, Etherium, Ripple VS USD?
I need 1m ... 1w candles.
I would like to find such service and download it on daily basis.

You can get those data with API, unfortunately I don't know anywhere where you can download archived data.

Yeah, I saw some services with API, can you recommend some?

A lot of exchanges have a limit on how many candles that can be returned per request.
If you can't be arsed to do several requests.
You can use:
https://cryptowat.ch/docs/api#ohlc
Example usage 1:
Fetch from GDAX - BTC/USD, 1-min OHLC candlestick after the date and time 19.12.17 00:00:00
https://api.cryptowat.ch/markets/gdax/btcusd/ohlc?periods=60&after=1513641600

Example usage 2:
Fetch from Bitfinex - XRP/USD, 1-week OHLC candlestick after the date and time 01.12.17 00:00:00
https://api.cryptowat.ch/markets/bitfinex/xrpusd/ohlc?periods=604800&after=1512000000

You can use https://www.epochconverter.com/ to convert the Unix Time stamp to human readable format.
Also btw, I found some archives here: https://api.bitcoincharts.com/v1/csv/ that might be of interest.

after and before parameters don't work in cryptowat.ch's api.You get the latest 6000 candles and that's it as far as I can tell (November 2018)


text:
Bitcoin Mining using an iPhone?
Is it possible to start Bitcoin mining using an iPhone with 4G internet connection?
Storage is not an issue,or is it?
(Mine is 256GB).

In principle you could, but in reality the processing power is way too small. So you wouldn't have a chance to find a block before others do. Mining is done today on specialized hardware.

Is it possible to start Bitcoin mining using an iPhone with 4G internet connection?

Yes. It is theoretically possible to start mining with an iPhone.
Your internet connection is almost completely irrelevant and your space is also not important. The important thing is the power of your CPU.
But: Mining with an iPhone means mining with CPU. And that's completely unprofitable. Even mining with GPU is not profitable anymore because of all the ASICs. You would fight against big mining pools and you would probably never be the first one who gets a hash with 20 zeros. So, you would waste a lot of energy and don't get any reward. Not worth it!

Theoretically it is possible, but in reality, cryptos are mined either by multiple fast GPUs (e.g. 1.5 USD daily income per GTX1080Ti minus the electricity costs) or by special equipment made only for the purpose of mining (ASICs). These devices are much, much faster and better suited for mining than an iPhones CPU. So in reality, you would need multiple years of work done by your iPhones CPU just to receive a tiny, tiny fraction of a bitcoin.
There is however one special cryptocurrency which is suited for mining by mobile CPUs: Electroneum. You can download the app and start mining with little effort and get some fractions of a cent per day at the current low prices. However, you should know, that even that is only a fake mining as the Electroneum coins you receive have already been premined and you only get a reward for wasting electricity with your mobile phone. Its simply a marketing move to "simulate" how it is to mine cryptocurrency and you can read it in Electroneums whitepaper.
TLDR: Forget mining of cryptocurrencis with CPUs in general, doesnt matter if mobile or desktop.


text:
Bity IPhone App gone
I had a couple of bitcoins in a iPhone “Bity” app wallet.  I hadn’t accessed that wallet in a few years. After hearing the recent bitcoin value, I decided to get into my wallet to see how many bitcoins I have. Well the Bity app is gone and so is my private key.  I can only “watch” my bitcoins with my public key.  Is it possible to import a private key that’s attached to those bitcoins?

Do you have a backup of that wallet, on iCloud maybe or somewhere else or have you written down somewhere a bunch of words (serves as a seed)?

Thanks for your help. No. So far I’ve been turning my house upside down.


text:
Is there a faster way to download IBD for bitcoin core?
I am trying to setup a node using bitcoin core https://bitcoin.org/en/bitcoin-core/
but it is taking ages to download. Running for past 2 days and downloaded only 15 % .  I have a decent internet connectivity 200 Mbps and a 4 GB windows machine with 200 GB of free disk dedicated for this.
Since the blocks get pruned, is it possible to get the latest pruned cut from somwhere I guess that will be around 2 GB instead of 350 GB .
Thanks in advance

If you could download an already synchronized state, you shouldn’t do that. The purpose of synchronization is to produce a valid database containing the state of the network, downloading somebody else’s can have false entries and your node would not know that it is invalid. Increasing the dbcache can improve performance but you don’t have much additional memory to give Bitcoin Core to use.

How much memory will be ideal for this ? I downloaded testnet and it downloaded in a few hours on the same computer. But relatively main is super slow .

Generally speaking more is better, if you can allocate a gigabyte or two to the dbcache it will be somewhat faster, there's diminishing returns past 4GB.

I have given 2048 MB as Size of database cache, and nothing else is running besides bitcoin core. I have given Prune block storage to 2GB, do think that can cause this slowness ?


text:
Bitcoin core initially downloads IBD quite fast , then it slows down a lot , What could be the reason?
I am trying to setup a bitcoin node , ran bitcoin core and it started the download process quite fast ETA 18 hours , gradually the speed decreases .
When I started download it showed like 17 hours ETA, and this continued for around 2-3 hours.
**
Progress Increase Per Hour : 5.5 %
Estimated time left until synced : 17 hours

**
after 2 - 3 hours , the progress starts going down .
After 5 hours
**
Progress Increase Per Hour : 0.71 %
Estimated time left until synced : 5 days

**
I have enough empty hard disk around 200 GB free, RAM is also 4 GB .
I stopped the download , renamed the Bitcoin download folder and started download again fresh.
Same issue happened , initially the speed remains high but gradually after around 40 GB of download it starts going down drastically .
My configuration are
Prune block storage to : 2 GB
Size of database cache : 2048 MB
Number of script verification threads : 0

Is there a bug in bitcoin-core or is it an expected behavior ?  What can I do to speed it up ?


text:
New to bitcoin or cryptocurriencies
First, to make sense to me. It sounds like I need a personal wallet first and then go to a place like coinbase to purchase bitcoin. Now what's the difference between bitcoin and cryptocurrencies?
So if the above is right, I purchase bitcoin and the transfer to my wallet for safer keeping. If anyone can answer these questions that would be great.

Take a look above to answer your questions and more that you will have.  Good luck and welcome to the world of Crypto Currencies.


text:
How to get the Extended Public Key
Hello I have the following code that generates a Public Key, Private Key and BTC Address.
import hashlib
import ecdsa
from base58 import b58encode_check, b58decode_check
import os

def pubkey_to_address(pubkey: bytes) -> str:
    if 'ripemd160' not in hashlib.algorithms_available:
        raise RuntimeError('missing ripemd160 hash algorithm')

    sha = hashlib.sha256(pubkey).digest()
    ripe = hashlib.new('ripemd160', sha).digest()
    return b58encode_check(b'\x00' + ripe)

def generate_new_keys() -> list:
    signing_key = ecdsa.SigningKey.generate(curve=ecdsa.SECP256k1)
    verifying_key = signing_key.get_verifying_key()
    my_address = pubkey_to_address(verifying_key.to_string())

    return signing_key.to_string(), verifying_key, my_address

So when I use this function (generate_new_keys) I will get all the important keys.
Now I'd like to get my Extended Public Key to generate more subaddresses. Any idea where to start?
I've tried this library but It seems unsafe for BTC: https://github.com/ranaroussi/pywallet

You can try this (disclaimer: I wrote it) and do the following:
from btctools import Xprv

>>> xprv = Xprv.from_mnemonic('impulse prize erode winner pupil fun off addict ...')
>>> xpub = xprv.to_xpub()
>>> xpub.encode()
'xpub661MyMwAqRbcFJwcugErEvzSgeKwGgHeLyzWKKK4C3edVRDbCU8o2pueJ5S26cXgPQQVRxQXyuoKrScnNKzohc4YNefs4zXg8tAhSLfnFo7'

>>> xpub/0/0/1
Xpub(path=M/0/0/1, key=039ec9190c3469b70f55a50466c7514b881ebe83b6215e94ed727854e1724ca811)

>>> xpub.address('P2PKH')
'1Fh2JwDc87R2BSXmcRYQPgRR5ntn5LuabK'


text:
ecdsa - Create Private key and Bitcoin Address
I have the following code:
import binascii
import hashlib
from fastecdsa import keys, curve

# generate a private key for curve P256
priv_key = keys.gen_private_key(curve.secp256k1)
print (priv_key)
print ("______")

# get the public key corresponding to the private key we just generated
pub_key = keys.get_public_key(priv_key, curve.secp256k1)
print (pub_key)

Which returns this:
68553277193328358088381091283586955911631072878513122367770244549235879948867
______
(defdba7ac050b698bc63134bbc495064b5a99125b023d8ae92d21ca43be77961,
 68ed2abc9d36bae64947b94dd15864e3b2f7601b7009c5b9bae8a8775553fea0)

The first one is the private key, and the second one is the public key. How can I convert these numbers to Bitcoin format?
I've tried with this script: https://github.com/bitcoinbook/bitcoinbook/blob/second_edition/code/ec-math.py
But doesn't work in Python 3.5

Do you want to create the keys in WIF format ?? or do you want to create the associated address to those keys ??

Both. I'd like to have the private key in WIF and a Bitcoin Address.

I solved the problem. This is the code:
import os
import hashlib
from hashlib import sha256

def ripemd160(x):
    d = hashlib.new("ripemd160")
    d.update(x)
    return d

P = 2 ** 256 - 2 ** 32 - 2 ** 9 - 2 ** 8 - 2 ** 7 - 2 ** 6 - 2 ** 4 - 1
G = (0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,
     0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8)
B58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

def point_add(p, q):
    xp, yp = p
    xq, yq = q

    if p == q:
        l = pow(2 * yp % P, P - 2, P) * (3 * xp * xp) % P
    else:
        l = pow(xq - xp, P - 2, P) * (yq - yp) % P

    xr = (l ** 2 - xp - xq) % P
    yr = (l * xp - l * xr - yp) % P

    return xr, yr

def point_mul(p, d):
    n = p
    q = None

    for i in range(256):
        if d & (1 << i):
            if q is None:
                q = n
            else:
                q = point_add(q, n)

        n = point_add(n, n)

    return q

def point_bytes(p):
    x, y = p

    return b"\x04" + x.to_bytes(32, "big") + y.to_bytes(32, "big")

def b58_encode(d):
    out = ""
    p = 0
    x = 0

    while d[0] == 0:
        out += "1"
        d = d[1:]

    for i, v in enumerate(d[::-1]):
        x += v * (256 ** i)

    while x > 58 ** (p + 1):
        p += 1

    while p >= 0:
        a, x = divmod(x, 58 ** p)
        out += B58[a]
        p -= 1

    return out

def make_address(privkey):
    q = point_mul(G, int.from_bytes(privkey, "big"))
    hash160 = ripemd160(sha256(point_bytes(q)).digest()).digest()
    addr = b"\x00" + hash160
    checksum = sha256(sha256(addr).digest()).digest()[:4]
    addr += checksum

    wif = b"\x80" + privkey
    checksum = sha256(sha256(wif).digest()).digest()[:4]
    wif += checksum

    addr = b58_encode(addr)
    wif = b58_encode(wif)

    return addr, wif

print("=========================")

from ecdsa import SigningKey, SECP256k1

sk = SigningKey.generate(curve=SECP256k1)
vk = sk.get_verifying_key()
addr, wif = make_address(sk.to_string())
print("Address: " + addr)
print("Privkey: " + wif)

Thanks but I keep getting the following error:
TypeError: point_bytes() takes 1 positional argument but 2 were given


text:
Would writing one's own cryptocurrency in a language other than C/C++ be stupid?
I'm curious from a performance perspective if writing a cryptocurrency from the ground up in a language other than C/C++ be stupid?
For example, if I wanted to write a cryptocurrency and protocol in Python or Nodejs, would I run into performance and speed issues later down the rode since these languages aren't as "low-level"?
Or are there any other issues besides performance I would run into?
Any thoughts are appreciated. Thanks

Writing a fully fledged cryptocurrency in an interpreted language will see many performance issues. The difference is not whether you implement the code in a high or low level language, it’s whether that language is compiled or interpreted.
JavaScript was traditionally an interpreted language, but many new JS engines (including Google’s V8, used in Node.js as well as Chromium) are actually Just-In-Time (JIT) compilers, meaning source code is taken as input and compiled to machine code at runtime. This is why we see many Bitcoin and other cryptocurrency libraries in JavaScript: performance gains of compiling to machine code, but using a high level language for what some consider a better development experience. Python, on the other hand, may be a poor choice, depending on your runtime (I know there are now Python environments that can compile to machine code, but it is mostly an interpreted language today)
Wallet software may be implemented in different languages to resolve concerns about portability+ease of setup, as performance should be less of an issue here than it would for software designed for validating transactions and mining.

There is no bright-line distinction between "compiled" and "interpreted" programming languages. In any case, such a distinction would not be a property of the language, but rather of the implementation of the language. Since a language can have multiple different implementations, you can't attach such a label to the language as a whole. Also, Python has always compiled to an internal bytecode, which is no less compiled than say Java is. Python would be a perfectly reasonable choice to write wallet software, it can handle databases just fine and hashing is implemented in native code.

There's no reason why a cryptocurrency needs to be written in a low level language. It's just that Satoshi's original implementation of Bitcoin happened to be in C++ (perhaps that was the language he/they felt most comfortable with), so now a lot of people seem to think it has to be that way. It doesn't.
You could certainly implement a cryptocurrency (either an existing one, or a totally newly designed one), in Python, or Javascript, or pretty much anything else. Wallet software is mostly managing a big database with a bunch of hashing.

Some cryptocurrencies/systems by implementation language:
C++
Bitcoin and derivatives
Erlang
Aeternity, Arweave
Go
Ethereum
Haskell
Cardano
Python
Chia
Rust
Polkadot and derivatives
Feel free to update this answer...


text:
When a transaction will reject if the fee was to low?
I would like to know when a transaction will reject if the fee was to low to be confimed.
If this transaction never will be rejected, what is to do to delete this transaction?

The minimum fee for relaying a transaction through the peer to peer network depends on the peer policy. It's up to the node (peer) operators to set the minimum relay fee.
Since Bitcoin Core uses a maximum mempool limit (before it was unlimited), this minimal relay fee will auto-adjust.
It's difficult to say feerate (fee per byte) x is the minimum fee required fee for the network.
And, later, you want that your transaction get mined, which is different from transaction propagation through the network.
This depends on the miners. They have full control if they include your transactions into a block or not.
If we assume, they act rational following financial incentives, then the higher your fee is, the more likely is, that it will be included.
It also highly depends on what other transactions in the mempool uses what ferrates.
EDIT:

deleting transactions as a user action is impossible, though you can assume, that over time, the transaction will vanish from the mempool(s) due to size limitations.
Best thing you can do is use RBF BIP125 (replace by fee) to ensure you have the capabilities to later replace the transaction with a new transaction paying higher fees.
In case your old (stuck) transactions hasn't signalled BIP125 RBF, then child pays for parent may help (CPFP, maybe google it). The concept there is that you use the change output of the stuck transactions as an input for a new transaction and use "relatively high fee" (pay for the missing fee and the new transaction). Therefore a miner likes to include that transaction (because of the fee incentives), but, needs also to pick the older (stuck) transaction.


text:
Ho to spend bitcoin in MultiBit Classic in these times of high transaction fees?
I bought some bitcoin back in 2013 and transferred it to my private wallet managed by MultiBit classic 0.5.17. I have successfully used the system and spent some of the funds in MultiBit Classic as recently as July 2016. Everything worked flawlessly up until that point.
Now I (and I imagine many others) find myself in a tricky situation. MultiBit classic does not allow for transaction fee adjustments and has a hard-coded 0.0001BTC transaction fee. Currently this is about an order of magnitude too low for any transaction generated with such a fee to move along. I know this because I have three transactions stuck in "unconfirmed" state for over a week now. I have tried to migrate the funds to a different wallet, but so far have had no success. MultiBit HD, the replacement for classic does not import secret keys. I also tried Electrum, but that only imports secret key into a "watch only" wallet, so I can't spend any funds from it. I am still looking and trying, but am getting really exasperated. If anyone knows of a way to transfer my bitcoin held in MultiBit Classic 0.5.17 into a modern wallet where I can set transaction fees so that I can move transactions along, please let me know.

Did you follow this when exporting the private key(s) from Multibit?

Yes, I did. I exported the private key without password and then copied the key into the appropriate place in Electrum. It took the key and displayed my coin properly, but would not let me spend any of it since it only creates "watch only" wallets in this manner.

That's weird. What is the first 3 characters of your exported private key?

First three characters are L47. But I think I just got it to work. I went through the same steps as last night but created a new wallet using import option instead of standard. Then I used the private key generated by MultiBit Classic (not password protected) and it seemed to have worked. I just issued a payment with the new wallet from Electrum and it showed up on Blockchain.info. Still unconfirmed, but I adjusted the fee to 910 sat/byte, which seems to be an amount that gets things moving these days. So I believe the issue is resolved. I may have been too tired last night to get it right.

This whole ordeal has been driving me nuts for days, so I may have been too frustrated to go through the steps correctly or to find the correct steps.

Good that you solved the issue. Your private key is a compressed base58 encoded private key, so Electrum should have no problem with that.

Yes, I knew it was able to use it yesterday, but it seemed (to my yesterday exasperated self) that it will only create a "watch only" wallet with an imported private key. I am very glad I figured it out. I already made a successful transaction that got confirmed in less than two hours with a fee of 910 satoshi/byte.


text:
Is it possible to adjust transaction fee amount in MultiBit Classic?
I have a few transactions I made with MultiBit Classic 0.5.17 stuck in the unconfirmed land for days now. They all have a transaction fee of 0.0001BTC as that is the only way my version of MultiBit sends payments. I do not see a way to adjust the transaction fee. Is there a way to adjust a transaction fee in MultiBit Classic 0.5.17? If not, what do I do with coins stuck in unconfirmed transactions? What do I do with coins in my MultiBit Classic wallet? If there is no way to adjust the fee, how can I move them out of there with any hope the transaction will get confirmed?

There should be a slider to adjust the fees in multibit classic?

Can you export your private keys or sign raw transactions?

Recover your private keys: https://github.com/Multibit-Legacy/read-multibit-wallet-file

It's been a little while and I have not gotten an answer here, but I figured it out myself and would like to post the answer to my own question here so it can help someone in the future.
The answer is NO, you can not adjust transaction fee amount in MultiBit Classic. It is only possible to send bitcoin with 0.0001btc transaction fee. This is outdated software and was hard coded to that amount.
What I did to deal with that is I imported my private keys from MultiBit Classic into Electrum, which not only is able to adjust the transaction fee, but also makes pretty good suggestions as to what the fee should be at the moment based on the data it collects from the network.
To export the keys you need to make them visible and that is not secure unless you are in a safe environment of your home, etc. After importing the keys to Electrum I was able to access that wallet and spend the coin to other places, which was my plan to begin with. You can always destroy the files with plain text keys by electronically shredding them (deleting does not destroy files beyond recovery). This is what I did.
Hope that helps someone in this situation in the future.

Hi Vladimir, you can help Bitcoin.SE by marking your own answer as accepted, that way the question does not remain "unanswered".

Last time I did that with Multibit Classic, I waited for approx. 1 month before it hits the recipient wallet.  You just have to wait I guess.


text:
Sent BTC to BCH address by accident
Posted elsewhere but I'll paste here too: I just tried to transfer BTC from Exodus to Coinbase but accidentally used the BCH address on coinbase and now I've lost all my funds. Any one got any sort of help whatsoever??? I'm an idiot I know and i'm freaking out

So you have BCH now but no BTC on Coinbase? Also, out of interest, what was the reason for transferring from Exodus to Coinbase? I am sorry - I am not sure if you can resolve your issue. You would have to sell BCH and buy BTC on Coinbase / GDAX, I assume.


text:
How to recover Bitcoin cash from Coinbase
I had a small bit of Bitcoin at Coinbase before the split. After the split, I moved a few Bitcoins to Coinbase, all of which were mined before the split. Now that Coinbase supports Bitcoin cash, they are only showing the small amount I had transferred before the split. The amount I transferred after the split but before they supported BCH is not showing up. I installed Bitcoin ABC and imported my BTC wallet and after synchronization, it shows 0 BCH. I can see the transaction to Coinbase in the transaction window. How do I recover the BCH? Is it even possible? I tried to contact Coinbase, but right now they are only answering account security and compromise related questions.
Thanks
Ali

Do you have timestamps? The fork occurred on 01.08.2017 at 12:16 UTC and on block #478558. You will not receive Bitcoin Cash for any Bitcoin you removed from the platform before the fork, or purchased/sent after the fork.

I had the coins in Bitcoin Core's wallet locally when the fork happened. I sent them to Coinbase after the fork.

In your case, Coinbase won't be able to help you. You will need to sweep the private key to the address where you stored the BTC when the fork happened. Follow this guide

In the other topic, the user has the coins locally and wants to split the wallet. I have already send the coins to a BTC address. I tried to do something similar, but so far I haven't been successful. I installed Bitcoin ABC on a new drive and copied the data from my Bitcoin to Bitcoin ABC folder.  When I try to view the private key, I get an error message.  I have unlocked my wallet. The weird part is I can view really old transaction private keys, but not the new ones.


text:
btc transaction stuck from last 3 days on blockchain
I've sent a transaction on bittrex wallet, but accidentally included too little fee. What can I do to cancel the transaction or speed up the transaction's confirmation?
transaction id:
https://live.blockcypher.com/btc/tx/007f4527695f69eac30d6431f50a7b3b5befc92b99c7d8a217e0ebc37c999961/
https://live.blockcypher.com/btc/tx/9e6973cf77e7148e81c0edfca0b25a6463c80d2248c31f9b43ee0027f52d1092/

Looks like you put a very small fee for the transaction. As the mempool is pretty cluttered your transaction may take quite some time to pass through. Did you send your BTC from a platform?
Check the mempool here:
https://jochen-hoenicke.de/queue/#all

Send it from coinome to bittrex. Can you tell approx how long it will take for confirmation.


text:
Bitcoin mining specification to write own mining application
Where can I find the design specifications to write my own mining application for mining bitcoin.
More I read I find there are number of implementations and some pools only work with specific mining software and there is no way to find single (kind of) wiki that explains the development design specifications.
Till now I find 2 protocols GetWork (which is obsolete now) and Stratum. But within stratum I find input and output implementation varies with different mining applications.

Did you ever find an answer to this? I've got some basic functions but I'm unable to find a good primer on crafting transactions (including coinbase transactions) and submitting blocks.

After a few years, I still don't know very well. Even Bitcoin core has removed the code that mines new blocks in 2016, and it seems that there is no reference implementation anymore.


text:
How to handle multiple share mining requests in solo
I was testing mining algorithm for solo and noticed that server keep sending the shares to work on (semetimes every 1 sec). In case of solo mining do I need to keep mining all the existing shares I received or only take the the latest one and discard previous ?

What coin are you mining? What hardware/software are you using? What hash rate? It makes a huge difference.

Bitcoin. My question is not on luck factor. Its about what's expected for client when it keep receiving multiple requests while its still working on previous request.

It really depends on the specifics of your hardware. How long does it take to finish a work unit? How much of a penalty is there for stopping a work unit in progress (if you can)? And so on. It's a complex tradeoff.

With most modern miners, it's not an issue. They finish a work unit so fast it's a non issue.

Thanks, so if I understand you correctly in order to solve a block one has to finish solving all the shares received and submit to server/node before anyone else   even for solo mining. Is that correct ?

No. Mining is only a race in the very rare case that two people mine a block at almost exactly the same time.


text:
Bitcoind gui client, wallet client with peer preference, node manager
first time user here so politely point out any thing I have done wrong.
I am looking for three things, but first let me explain the situation and use case:

I am using bitcond full node on a headless FreeBSD OS server. There is no GUI of any kind.
I am able to use CLI RPC (from an SSH session) to send commands to bitcoind. It works but I'm not a fan of it. I'm able to view account and wallet detail.

I would like to have working, using very secure technology/products:

A very secure 'remote wallet' GUI client that can 'connect' to bitcoind over the IP network. Use case will be 99.999% local LAN only, but if I want to allow it via WAN/Internet I can.  I realize the risks involved doing that over the Internet, but that is what I am looking for.
A bitcoind full node GUI manager. Please do the not confuse this with the first.  This application allows me to use a GUI to securely manage the node itself, via IP.  I'm guessing this would also be via RPC.
A wallet manager application like Armory, but one that allows me to configure it to securely peer only with my full node. Thus when I make transactions, the transactions are securely between my local PC wallet and my node.

See what I mean? I've done lots of looking, but no luck yet. Much thanks all.

Welcome to Bitcoin.SE! I am not aware of answers to much of your question but, think I may be able to help with one tiny section.

yup, see what you mean. Hopefully my answer is not disappointing. It is to my knowledge not existant. I'd reason this way:
I don't think it's the application, which should secure the network layer. Vice versa is the way to go on (layered approach). Create a secure network layer, and run the app on top of it. Otherwise all apps would build their own security layer, and I doubt there are enough security specialists...
The layers of the underlying OS allows to achieve security.

A very secure 'remote wallet' GUI:

define secure :-) Well, why not tunnel X over a VPN or through ssh?

A bitcoind full node GUI manager:

is the same.

A wallet manager application:

again, security built into the app is against principle of layers. You can tell your full node, from which IP to connect.

When I said "A very secure 'remote wallet' GUI" I meant a product that has international reputation ha being rock solid secure, versus a GitHub weekend project.  When I said "A bitcoind full node GUI manager" its because my bitcoind does not have a built in GUI; its CLI only.  As for "wallet manger" I understand now that is referred to as a SPV client. I found one but of course its programmers picked the servers it uses. I can't use my server.  But I will keep looking.

A wallet manager application like Armory, but one that allows me to configure it to securely peer only with my full node. Thus when I make transactions, the transactions are securely between my local PC wallet and my node.

If you run bitcoind on server 1 and on client pc 1 run >bitcoin-qt -connect={server 1} then client pc 1 should not try to connect to any other nodes. When you say securely, you could easily run Tor on each and specify the hidden service running on server 1. See this Q/A for information on setting up Tor.
I understand that it is now possible to run Electrum Home Server to do much of what you asked about.


text:
SegWit transaction fee/byte
For transaction not spending SegWit outputs it's straightforward: if I have 1000 Satoshi fee set for 500 byte raw transaction, I end up with 2 s/b fee.
How about transaction containing witness data?
Say, my raw transaction is 500 bytes,100 bytes of which are witness data. Thus, 400 bytes are now competing for the place in 1 Mb block.
How accurate is it to say that current transaction fee is 1000 / 400 = 2.5 s/b?

Say, my raw transaction is 500 bytes,100 bytes of which are witness data. Thus, 400 bytes are now competing for the place in 1 Mb block.

That's not correct.
SegWit replaces the concept of size and maximum block size with weight. The weight of a transaction is defined as 3 times the stripped_size in bytes (excluding the witness) plus the total_size in bytes (including the witness). The maximum weight of all transactions in a block is 4000000. This is the only limit that matters. Due to the way the weight formula is constructed, it implies that the old rule (stripped_size <= 1000000) is always satisfied. Miners try to get as much fees out of the weight limit they have available, and as a result optimize for fee per weight.
So, transaction sizes don't matter anymore. What matters is their weight. Unfortunately, there is a factor 4 scaling between the two, so you can't easily convert feerates from before SegWit to after. For this reason, the concept of vsize (virtual size) was introduced. It's equal to weight/4. For non-SegWit transactions, their size and vsize are identical. The easiest way to express fees is now to see them as BTC per vbyte (vsize byte).

How accurate is it to say that current transaction fee is 1000 / 400 = 2.5 s/b?

In your example, the weight of your transaction is 3*400 + 500 = 1700. This means its vsize is 425 vbytes. As a result, its feerate is 1000 / 425 = 2.35 sat/vbyte, and it would compete with other transactions at that level.

As clear as it gets. Thx

@pieter-wuille Does Segwit embedded inside P2SH get the benefit of the new concept of size? The following question mentioned that using nested in a legacy P2SH has benefit (although less efficient). I want to understand the meaning.
https://bitcoin.stackexchange.com/questions/62053/how-do-transaction-costs-compare-between-bech32-addresses-and-legacy-bitcoin-add

Yes, it does, though to a lesser extent. I'll try to write an answer to that question.

Legacy input size: 148 bytes (compressed)
Legacy output size: 34 bytes (compressed)
Segwit input size: 104 bytes
Segwit output size: 32 bytes

so if your transaction has two inputs and one output total size is ~ 246 Bytes, Don't forget about some more additional bytes for transaction header.


text:
Clearing 2 week old transactions from mempool
I can see a lot of questions posted on Reddit similar to "My transaction is not confirmed for X days. What do I do?".
The most common answer is "Transactions are cleared from mempool after 2 weeks".
Can anybody please explain how it is technically possible?
Say I broadcast a raw transaction through bitcoin-cli. A little later I can see it in

My local mempool
Blockexplorer.com
Blockchain.info

Transaction is not confirmed due to low fee for 2+ weeks.
I check if transaction is still known to network.

My local mempool. Transaction is not present. The reason might be not these 2 weeks, but rather my full 500mb pool where low-fee transactions are cleared due to limited space.
Blockexplorer.com. Transaction is not present. They definitely have a bigger mempool. So 2 weeks might be the reason.
Blockchain.info. Transaction is still known to the service. Probably not in mempool in terms of bitcoin, but somewhere in there local storage. The point is they still remember it.

So, two out of three parties forgot transaction.
The questions are:

What stops Blockchain.info to rebroadcast my transaction to the network again so that it is back again in network mempools? It would be exactly the same as if I just broadcast my transaction for the first time, right?
If Blockchain.info can do it, is this 2-week rule true in the first place?
If it is true, how it is implemented on the network level? Is it some kind of agreement that we do not rebroadcast transactions that are this days old?

What stops Blockchain.info to rebroadcast my transaction to the
  network again?

Nothing. Or may be laziness.

It would be exactly the same as if I just broadcast my transaction for
  the first time, right?

Right.

If Blockchain.info can do it, is this 2-week rule true in the first
  place?

Everyone can do it. And someones definitely do it. Your node will get it back after 2 weeks.

If it is true, how it is implemented on the network level?

It is not consensus rule. If you want - you have a right to rebroadcast a transaction if it is still valid [and not confirmed].

Is it some kind of agreement that we do not rebroadcast transactions
  that are this days old?

No.

There is no time embedded in a bitcoin transaction other than locktime which is the earliest a transaction can be valid. So it is fine to rebroadcast them as long as the other parts of the transaction are valid (e.g. the inputs are still unspent, properly signed, etc.)
You can validate and re-broadcast transactions on blockchain.info. If the fees are low you might try a transaction accelerator to see if you can get someone to mine it anyway.
For example try creating an account at AntPool (free) and using their accelerator here.


text:
Bitcoin price synchronized between exchanges
how the different exchanges manage to have the price of Bitcoin synchronized (or at least very close)?

Arbitrage bots, mostly

May you explain in More detail the arbitrage bots?

The exchanges don't need to synchronize.  It's just traders keeping the prices close.  If the price is $6500 on one exchange and $6700 on another for BTC.  Traders will sell on the $6700 exchange and buy on $6500 exchange until they are close.  They now own more BTC then before without spending any money

right, it's called arbitrage.


text:
How is Bitcoin supposed to serve as currency when it is all but impossible to spend at the moment (12/2017)?
It seems Bitcoin is not standing up to the test of use as currency (that is to say heavy use). I tried to pay someone 0.009BTC (about $150) for some goods which I need in a fairly timely manner. As if I was ordering some supplies from a crafts store. It has been 5 days and the transaction has not been verified. From what I read it may never be verified, i.e. there is no guarantee by design for the transaction to ever be mined, not to mentioned mined in a timely manner. say what you want about the banks, but when I spend fiat currency the transaction goes through immediately and the party I send the funds to can use the funds immediately. And I get my purchased goods in a timely manner. Not so with BTC. As the transaction volume is growing the system is breaking down to the point of being useless as currency. I am not even talking about being able to spend $5 for a hot dog (I am likely die of starvation before the $5 transaction becomes verified). I am all for crypto currency and bypassing the banks, but this model is simply dysfunctional.
Am I wrong? Am I missing something? Is it just growing pains? I think it's like that by design, which is not good.

I think its a gigantic misconception that is furthered by sound-bite media:  Bitcoin (in its current form) cannot replace cash, and it is not a currency.   I'm sorry if you ever believed it was.  Just as people never exchange gold bars for every day "hot-dog" transactions, they won't exchange BTC either.  But both gold bars and BTC are valuable for other reasons.

Well, gold is real and is valuable as raw material in various industries. BTC is 100% virtual and has no value in and of itself. And yes, it was touted as replacement for evil fiat currency until now.

Bitcoin is absolutely a currency. But it solves the need for a central bank and monetary policy controls, and replaces it with a purely digital system without central control. However, it's an absolutely terribly payment systems (for multiple reasons, including speed, consumer protection, reliability, ... in addition to potentially high fees for small payments). That's fine - no technology solves all use cases and many interesting developments are happening. The fact that it's natively digital allows building many kinds of other systems on top, without a need to interact with the real world.

@abelenky Bitcoin was originally sold (in the marketing sense) as being able to replace cash. Now it has not been able to live up to that promise. It has failed in delivering that promise. However it was definitely promised; you can't just turn around and say "oh, Bitcoin was never supposed to be that"...

@immibis Absolutely. But to function as cash requires more than a currency - it needs methods of payment. It's unrealistic to think the blockchain on itself can accomplish that in more than a rudimentary way - that's just not what it's good for. Accepting that and building on top (e.g. payment channels) will give us the best of both worlds.

Bitcoin has had an inherit limit from the very beginning of about 15,000 transactions per hour.   Visa alone handles around 24,000 transactions PER SECOND.   If someone told you BTC was as good as cash, and you believed them without understanding the technology, the fault is with you, not them.  A sucker is born every minute, and sometimes the sucker is you.

@VladimirFerdman gold also has no value in and of itself, but people recognize it as valuable. Most of gold's value is unrelated to its use as raw material, and therefore most gold is stored in "reserves" and not used for production.

@abelenky and sometimes the sucker is also the one who invested money in the misguided beliefs of suckers. Pop!

@abelenky It's pretty obvious it wasn't. People working on Bitcoin said it was going to be. Now it has failed to be. (Also don't bring ad hominem into it)

@abelenky: Literally the title of the white paper calls bitcoin "electronic cash". It's correct that it cannot ever live up to that promise, but it is not correct to say that that is not the intention of the system. It has been designed, advertised, and promoted from day one as being able to fill that use case and it is not helpful to anyone to pretend that that is not the case.

Very true, @Phoshi. BT WAS advertised as digital currency for everyday needs with no or low fees and no dependency on banking overlords.

You were probably trying to pay on the blockchain itself. That's like trying to pay for lunch by moving dollars through the Federal Reserve. You should use some system designed to move small quantities of bitcoins cheaply such as Coinbase.
We don't yet have good decentralized payment systems for bitcoin, so currently bitcoin is primarily being used as a store of value. Think of bitcoin as more like gold than dollars. The Lightning Network is one proposal to provide a way to move small amounts of bitcoin at high speed with low cost.

Bitcoin is touted as replacement for currency, so moving small amounts of it with ease, speed and security is an absolute must. Yes, I had coin in my private wallet (the safest place in light of Mt. Gox fiasco) and at this moment am trying to move 0.5BTC from my private wallet to Coinbase. So far it's been 5 days and the transaction has not been confirmed. Will it ever be confirmed? I have no idea. That's the point. There is no guarantee by design that any transaction using bitcoin will be verified at all, let alone in a timely fashion.

Too bad blocks couldn't be a little bigger.

@VladimirFerdman It seems like you missed my point. Yes, you found one way to transfer bitcoins that sucks for your use case. There are ways to transfer dollars that suck for your use case too. But if you transferred them some other way, such as using Coinbase, you would have found the transfer to be cheap and fast.

What troubles me greatly is that there is no way by design to guarantee a transaction will get verified. Any transaction can just sit there forever and there is absolutely nothing that can be done to move it along. That is very troubling and needs to be fixed. Once all the coin is mined there will be almost no incentive for miners to do their work and transactions will sit there depending on god-like miners to notice them and give them movement. That's not right and is very bad design.

@VladimirFerdman None of what you said above is true. Ask another question and I, or someone else, will explain why that's not true.

Ok, I'll post another question about that in a few minutes. I am really interested in learning about it. So far from what I have been able to learn my understanding is as I stated.

Actually, you shouldn't have waited for 5 days. Just make a double spend with higher fee. I've made about 20 bitcoin transactions to date and only once it has stuck the same way as yours. Yeah, bitcoin is not for buying hot dogs, but it is not worthless.

Phrase "Once all the coin is mined there will be almost no incentive for miners" is wrong. Right now miners get reward of 12BTC for new block and about half of it (4-6BTC) as fees.

Of course if you transfer within Coinbase, your system is no longer meaningfully "decentralised", and if they collapse then everyone will tell you you shouldn't have kept your money on an exchange.

@pjc50 That's why I keep my doubloons in my mattress. So that when the banks fail I can laugh at everyone who shouldn't have kept their money on an exchange. (Tongue in cheek since Exchanges fail a bit more than real banks, but given time I'm sure exchanges will become more stable and dependable)

Ok, so moving bitcoin from wallet to wallet will cost me $25 and will take an undefined amount of time with no guarantee that it will happen at all. Great! That's both cheap and convenient. Mind you, I have bought my bitcoin in 2013 when it was actually usable as currency. In fact I used it to as such to buy goods. But now that the scale has entered the equation, I can see that this is not a very useful commerce tool at all. Especially for small transactions as it was widely touted to be good for 4 years ago. Yes, it was touted as replacement for fiat currency back then.

There is no shame in admitting we've learned things. The blockchain on itself is starting to show the limits of its usefulness as a payment system - even if not since 2009, we've known that for a while (the start of a fee market was introduced in 2014 in Bitcoin Core). That doesn't mean the currency itself failed for one purpose or another (cash-like being one of them). What is happening now is that rapid price increases and influx of users is happening faster than the technology can adapt to accomodate them, but in time, I expect that to be taken care of.

You basically have two theories nowadays, in a hot debate:

Bitcoin is not like dollar; it is like gold (i.e. a store of value). Bitcoin is not made for everyday transactions for a cafe or a pizza. To allow such transactions with low fees, we would have to increase block size, allowing a lot of transactions to be stored forever in the blockchain.
This idea can be expressed more or less by: "We do not want every cafe or every pizza sold in the world today to be stored forever in the blockchain" The blockchain bytes are expensive (and thus the fees today), because the blockchain has to stay small. Why? Because if blockchain's size increases a lot faster than the average "hard disk" available to consumers, then fewer people will be able to host a node (at home or in their VPS). And then only big companies will be able to host a Bitcoin node, this would be the end of the decentralization paradigm. We don't want this, so writing a transaction (=bytes) in the blockchain has to stay expensive.
To solve this problem, everyday transactions have to done be off-chain, using Lightning channels for example (technology not available yet, as of 2017).
Bitcoin should not be a store of value, but really an everyday-usable currency, even for small payements. To solve the fee problem, let's increase a lot the block size, i.e. less competition to be in a block, i.e. lower fees. Then all transactions will be on-chain, but with a gigantic blockchain, growing much faster than what an average citizen could host at home or on his server. Then only a few big companies will be able to host a node. That could be seen as the end of (truly) "decentralized" model.
But on the other hand, it helps to keep everything saved in the blockchain.

I don't know which one of these two theories (Bitcoin vs Bitcoin cash) will eventually become dominant, but this makes the Bitcoin history exciting!
Anyway, we can sum up the problem like this: “Is the blockchain (i.e. gigabytes of data replicated on servers around the world - and soon terabytes) the right place to store the history of every cafe and pizza sold in the world for the future of mankind?”
If no, then we lose the "currency" aspect of Bitcoin.
If yes, then we lose a little bit of the "decentralized" aspect of Bitcoin.

Or perhaps bitcoin is a hair-brained idea that will not have any traction long term because of the dilemma mentioned above?

@9ilsdx9rvj0lo anyway a transaction has to be stored somewhere, either on a public secured database (blockchain for example) or off-chain.

I did not say the technology was bad. I said Bitcoin, a particular implementation, is a not a very workable solution. It is cumbersome, expensive to use, provides no guarantee of successful transfer (beholden to miners, who are not under anyone's control). It is also susceptible to all kinds of market manipulation as we are seeing right now. It is basically fiat currency without any kind of regulation. Bad idea. An it will crash and crash badly, I am afraid. It was good to use when it was obscure and there were few transactions. It does not scale well to anything like real currency volume.

This is exactly why, on August 1rst 2017 there was a fork for Bitcoin Cash. Instead of going for the Lightning network, it advocates bigger blocks (from 1mb to 8mb) which they will increase if necessary. The lack of competition to get into a block greatly reduces the fees which makes BCH, at this moment, much more convenient to use as a currency.

How does going from 1MB blocks to 8MB blocks affect things?  Is the net effect something like an 8-fold increase throughput-capacity for transactions?

@Nat exactly - and segwit2x would have doubled bitcoin block capacity while we were waiting for the fabled lightning network.  instead block capacity is maxed out since end of Oct 2017 - see e.g., here - and the backlog is about 200,000 transactions today (2017-12-20)

Maybe you did not include enough transaction fees in your payment. Miners will only include the transactions with the highest transaction fees in their block to make as much money as possible. Transaction fees are also the reason why miners will keep on "mining" once all the 21 million Bitcoins have been mined.
Average transaction fee (converted to USD)
As you can see the average transaction fee has increased rapidly over the last two weeks and is around $25 today. So you'll only want to pay with Bitcoin if you transfer a way higher amount of money.
The transaction fees are high because there is a limit on the number of blocks (on average every 10 minutes) and a limit on the block size (1 MB). The Bitcoin protocol could be changed to lower the transaction fees, for example they could increase the block size. But people would need to agree to this and the (majority of the?) Bitcoin clients would have to be updated to make this work.
Bitcoin scalability problem
If no widely accepted change would be made to the protocol, then the transaction fees will remain high as long as many people want to do Bitcoin transactions. It could be that Bitcoin will only be used to store large amounts of money, and not for transactions under $200 or something. But an other possibility is that the Bitcoin hype will come to an end and transaction fees will be restored to practical heights. Of course, if transaction fees are low again, the popularity of Bitcoin will increase and so the transaction fees will increase. The question is what the equilibrium will be, if Bitcoin ever becomes stable.

Imagine what shopping would look like if shops waited for cheques, credit card and electronic transactions to clear and the signature verified, cash to be sent to forensic experts for analysis of potential forgery and gold sent to the lab for invasive tests of purity.
The place you purchased goods from chooses to ship goods when a credit card transaction is received, because waiting until the transaction authenticates is not feasible. The place chooses to ship goods when a Bitcoin transaction authenticates. They could choose to ship them when the transaction is received.
All currencies we have ever had, have ultimately been authenticated primarily by trusting in the goodness and decency of people in sufficiently large numbers. Bitcoin's authentication is vastly superior to virtually any other currency.
As shops come to trust bitcoin, and users of bitcoin, they will start shipping goods when the transaction is made, not when it is authenticated.

I'm not sure this is true. You cant just enter any random credit card number into a site and get stuff. Some preliminary checks are definately done

@RichardTingle - yes, there is authentication that the credit card exists. But there is no authentication that you have actually permanently received the money, due to chargebacks etc. I've added a 'primarily' into my answer, as I wasn't meaning to say there are no partial authentications completed with traditional payments.

What happens when I then go home and create a double-spend with a higher fee?


text:
Time it takes to Transfer btc from exchange to another wallet?
I recently sent a small amount of btc from the exchange to my other bitcoin wallet and it hasn't shown up yet, can anyone give me info regarding delays and how long such a transfer can take?

the transfer in the bitcoin network is one thing. exchanges are adding usually high network-fees for your withdrawal. but Some exchange services sometimes take a lot of time for start a withdrawal-transaction.

Transactions are sent instantly, but may not be confirmed for a long time, depending on the fee you paid. See this answer for more info on confirmations and fees: Why is my transaction not getting confirmed and what can I do about it?

"depending on the fee you paid" he sent funds >from< an exchange. very few exchanges allows the user to set the network-fee for their withdrawals.

@anion "depending on the fee that was paid" then, a little bit picky don't you think :)

BTC transactions require at least 6 confirmations. Since BTC block time = 10 mins, then you need to wait for at least 1 hour for Bitcoin transaction
(And also it is possible, that your transaction couldn't get to the nearest block because of a low tx fee.
More tx fee => more chance to get in a block.
And each block restricted in size by 1 MB, so it can have a limited number of transactions. It's actually a big scalability problem with btc.
So, if your tx doesn't get to the nearest block, then it waits in the pool for the next one and so on. Pool size depends on the mining node, as well expiration time. In most cases after 2-3 days staying in the pool tx become expired. And even if tx becomes expired, your BTC will just remain on your exchange, as if nothing happens. But usually, exchanges put on transactions quite a big fee, so this situation almost impossible)

Transactions do not require 6 confirmations, that is just a recommendation for security, but even 0-conf transactions are still valid transactions


text:
I have read many times that bitcoin is a public blockchain. Why is that?
Is there some special reason that Satoshi made bitcoin like this. Wouldn't in a private blockchain, transfer of currency would be more secure?
Also, is it possible to create a separate blockchain to transfer bitcoin in that circle.

The whole point of bitcoin is that anyone can verify it, it's supposed to be trustless. If transactions were private, how could you trust anyone claiming to have BTC? How could you trust that BTC being sent to you in fact exists, instead of the sender just making up a transaction spending outputs which never existed? That's why all full nodes verify all transactions since the genesis block, to ensure all bitcoin being sent are legitimate.
A separate blockchain is possible but perhaps not in the way you think. It's possible to use sidechains or second layer networks like Lightning, but to make a separate blockchain itself would be to create a new currency completely, it would be an altcoin not bitcoin


text:
sent bitcoin to bitcoin cash address on coinbase
Accidently sent bitcoin from blockchain wallet to coinbase, but used a bitcoin cash address for the transfer, by mistake.  Can I fix this so I can get my bitcoin?  On my coinbase wallet,  i don't see the bitcoins anywhere.

You will probably want to talk to Coinbase.  They hold the private keys to both BTC and BCH addresses, meaning they are the ones who control those addresses.

Not getting anywhere talking to coinbase.  They don't seem to care or want to help.

I was going to leave a comment, but it got too long, and I figured it would work best as an answer.

It sounds like you sent your bitcoin to an address that you do not own, and is not associated with your Coinbase account.  If this is the case, it's important to understand what has happened.  Forgive me if this is review for you, but others may find it useful.
Bitcoin and Bitcoin Cash addresses are the same in structure.  These addresses are a hashed and checksummed representation of the public key of a asymmetric key pair.  In order to spend them, you need the private key.  If you have the private key, you control any money paid to the address on either blockchain.
It appears as though you copied a Bitcoin Cash address generated by Coinbase, and sent Bitcoin to it thinking it was a Bitcoin address tied to your Coinbase account.  I'm not sure how this happened, but the result is that your Coinbase Bitcoin account knows nothing about the transaction.  You transferred your Bitcoin to an address that Coinbase may not even realize exists on the Bitcoin blockchain.
Here's the problem: You don't have the private key, only Coinbase does.  Coinbase may only recognize this private key as a key to a Bitcoin Cash address, but it is also a key to a Bitcoin address.  You will need to get them to use this private key to generate a Bitcoin address that is tied to your account.  You cannot do this without their cooperation.  You don't own the private key, and therefore, you technically don't own the Bitcoin.
As a general rule, do not consider any Bitcoin held by a third party to be your Bitcoin.  It's not.  Bitcoin is owned by whoever controls the private key.  In the case of a Coinbase wallet, Coinbase owns the Bitcoin on your behalf.  They are nice enough to give you a web interface to let you use their Bitcoin that you paid for.

Jestin, thanks for the detailed reply.  It's kind of what i thought, but you've explained it well.  I am sure it will be beneficial to many of us in the same predicament.  Now, getting Coinbase to take the needed steps to remedy is, so far, like pulling teeth.  Several attempts at contacting customer support have proven fruitless.

Spoke to a supervisor at Coinbase, they are unwilling to cooperate with us to take the necessary steps to remedy this.


text:
bitcoin cash from fork no longer visible on blockchain.info
I had bitcoin before Aug 2017 on Blockchain.info.
After the fork there was a period of time that i could see my BCH balance in Blockhain.info's settings. i can no longer see it. how do i get access to my fork BCH?

I went to 'settings' then 'addresses', clicked on 'archived
  addresses', logged out and in again and there they were.

Possible solution: https://www.reddit.com/r/Bitcoincash/comments/7l2jk2/bch_suddenly_missing_from_blockchaininfo_wallet/