text:
Refund a transaction send twice
By mistake, I have send second time 0.09923 BTC
to bitcoin address: 15qMMPEa4M26XX4KqXxrvD5yjNwfETg3Hx via transaction id:0a5c7ea12bd84b1dfeea4972d6415c28d6846d83c5fb00f56cf4f6d20c05f4da
I did the transaction twice. How to refund it ?

You cant do basically nothing from your end, as you have lost the control of those bitcoins.
One thing that you can do is to ask the recipient of the transaction to refund. If he refunds you will get back the bitcoins.

You've signed over the bitcoins to your trading partner. If you have any contact details, you can try to explain the situation to them and request that they return the unintended payment.
As there are no chargebacks or other ways to cancel a payment in Bitcoin, you're at the mercy of their goodwill or would need to pursue legal action. Basically, the situation is the same as if you had paid in cash and could prove that you had paid twice.


text:
What type of power supply do Gridseed G-Blade need?
I have recently purchased 2 Gridseed G-Blade Miners, not realising the power supplies didn't come with them.
Do I need a specific PSU to power them? Or can I get an AC adapter and plug them straight into the wall?

Either solution will work fine. For reference, check out these two setups:
https://www.youtube.com/watch?v=nCjSQMsdlKg
https://www.youtube.com/watch?v=2QrkWR5HdcQ
The former video illustrates use of AC adapters and the latter illustrates use of an external PSU.

source: Stack Exchange

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

sort: votes


text:
Pay, or partial pay in Bitcoin
If I wanted to be paid or partially paid in Bitcoin, but my employer is not participating, is there a secure online service where I could authorize all or a portion of my pay to be sent and converted to Bitcoin?
Thanks

Yes, what you need is BitWage; it does exactly what you ask: get paid fully or partially in bitcoin without involving your employer. There might be other services like that.

While you could use bitwage to do this, you could just easily link your bank account to coinbase or circle and choose how much you want to buy after your paycheck clears into your account. You can even allow your account to buy X amount of dollars worth every week or something like that. Bitwage, in my opinion, doesn't really make sense when you can just control how much you want to buy each week or 2 weeks after you get your pay check.

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


text:
What incentive is there for a miner to not cancel his own 'real' txs
It is said that a Bitcoin miner attacker with enough CPU power to outrun the entire network is better off mining honest bitcoins - which is not correct since by creating a false block chain the attacker already wins the coinbase on the way, just like he would if he behave honestly.
Actually, an honest miner has all the incentive to defraud by adding to his block transactions that cancel his own 'real' transactions.
Or am I missing something?
EDIT- and maybe an answer
Let me give an example, lets say Alice owns a very big pool (big pools had known to create up to 6 blocks in a row), also Alice buys something from Bob for 1 bitcoins every 10 minutes.
Alice could try to do double spending of each of her payments (by passing the same bitcoins to herself) and use the second transactions in the block she is mining.
Note that this is all completely legit.
If the pool solves the proof-of-work, then her 'real' txs will be canceled - Bob can wait 10 minutes to see if the transaction gets confirmed or not, but it might not be enough in the case that there was a fork.
Conclusion:
A owner of a big pool can try to create doublespends but he will win his btc back only in rare occasions when:

there was a fork
Bob didn't check the fork, and didn't wait enough time (e.g. 1 hour) to see if the transaction was confirmed
The good that Alice bought is not associated with any physical address (so that Bob cannot find Alice and claim for his money).

This scenario is referred to as a [tag:majority-attack], and what you're referring to is described in the Bitcoin-Whitepaper in Section 6: Incentives.

The full quote is "If a greedy attacker is able to assemble more CPU power than all the honest     nodes, he would have to choose between using it to defraud people by stealing back his payments, or using it to generate new coins. He ought to find it more profitable to play by the rules, such rules that favour him with more new coins than everyone else combined, than to undermine the system and the validity of his own wealth."

I'ts not what's the question is about: 1. any miner can do the fraud - it helps to have more CPU though (e.g. a owner of a big pool), 2. the white paper present a choice - but you can do mining and try to fraud at the same time - actually you have an incentive to try to do this fraud if you are a miner, it might work every rare occation an it's legit

Ah, you mean, you are trying to doublespend by keeping the doublespending transaction secret and only include it in blocks that you discover? I think then you may be describing a Finney attack.

This question would be improved if it were asked openly and the attempted answer were to be moved to the answer section as a separate post.

It is a short term gain only, as bitcoin would very quickly lose its value as people realize that holding one's wealth in bitcoin has become a bad idea. Behaving honestly gets you income until such a time your hashing power decreases.

If Alice publish her block chain than Bob can check all fork for a double spend
if Alice doesn't publish her block chain than there's a big chance she will lose her coinbase - which is a majority attack

Any way it's recommended to wait for at least an hour when doing big txs

Its not that easy to create a false blockchain. When a miner mines a block it has to be verified by the bitcoin network, before accepting it. (Proof of work)
He will be able to create a false blockchain if he controls 51% of the total network.
The bitcoin network is several times faster than the all the super computers combined. More details in this link. So its not that easy to control 51% of the total network.

Note that the blockchain is legit - a miner can choose which txs to include in a blockchain, as long as they are legit


text:
What is MaxBTC and what it represents?
I am trying to understand what is the phrase "MaxBTC" and for what is it used? I am new to bitcoins.
Thank you very much.

In case you don't know, BTC is an abbreviation for bitcoin, the currency.  It's similar to how US dollars can be called USD, and Euros can be called EUR.  I know that's pretty basic stuff, but I'm not sure just how new you are, and I want to make sure you at least have that part down :)

Ah! Thank you very much ! So MaxBTC is maximum value for bitcoin? :/ :/

No, I don't think so.  I'm not sure where you are seeing this term, but I think MaxBTC used to be a mining pool a few years back (https://bitcointalk.org/index.php?topic=68734.0).  I'm not finding anything relevent when googling the term, so I'm curious why you're asking about it.

I have found it in an article about provision : privacy=preserving proofs of solvency. And suddenly they use that term. It says "We can represent any bitcoin account with MaxBTC  2^(51) . Perhaps its something I am not getting.

"We can represent any bitcoin account with MaxBTC 251."

It appears that MaxBTC is used here as a strict upper bound to refer to maximum number of bitcoins that will ever exist.
There will always be fewer than 21m bitcoins. All of Bitcoin's protocol logic actually is defined in terms of satoshis. There are 100 million satoshis per bitcoin. Altogether, this means that there will be fewer than 2,100,000,000,000,000 or 2.1×1015 satoshis.
Therefore, 251, which is about 2.25×1015, is larger than the total satoshis that will ever exist in the Bitcoin protocol and thus big enough to express any single amount of bitcoin that will ever need to be referenced.


text:
Government Taxes on Bitcoin in India
What is the tax regulation for Bitcoin in India? If I make profit out of Bitcoin, what percentage will I have to pay to the government?

Go through this link, it explains some of the legal stuffs: https://bensonsamuel.com/bitcoin-3/reserve-bank-of-india-regulations-on-bitcoin-in-india/

Most of the Indian bitcoin businesses go by the analysis from Nisith Desai and Associates:https://www.zebpay.com/wp-content/uploads/2016/04/Bitcoins.pdf
Bitcoin is unregulated in India(not illegal or legal) and only points of dealing with the sovereign currency(INR) are taxable. Rules vary depending on if you mine, earn, buy, invest, sell or spend your coins and also with the parties in the deal.


text:
How can a X-coin market cap go down while its value goes up?
Quoting Wikipedia, Market cap is given by the formula
MC = N × P
where N is the number of shares outstanding, and P is the closing price per share.

In the specific case of a crypto currency, one could assume that N is the amount of coins in circulation and P its current value.
How can the image below happen, given that Zcash, being a fork of Bitcoin, cannot (unless I missed something very important) be destroyed, thus N can only grow.

Source: coinmarketcap.com, a few minutes before this post

Did you notice in the graph that price is measured in BTC, while market cap is measured in dollars?  Your units are inconsistent.  Everything in the picture would be completely consistent if the price of BTC (in dollars) fell during the relevant time span.

@NateEldredge: Thanks, I had missed that. I've updated my answer.

As Nate Eldredge pointed out, the chart you're looking at is denominated in BTC, while the market cap is denominated in USD.
If you look at the chart below, you'll see that the price in USD (green) behaves exactly as you describe in your question.
On the other hand, the price in BTC (orange) does not behave like you expected, because it combines the price movement of Bitcoin with the price movement Zcash respective to the Market Cap denominated in USD (blue).

It was so obvious.. Thanks for saving both the website and elementary maths!


text:
Why does coinbase make 2 transfers instead of one
I'm new to bitcoin in general and coinbase.com in particular. Can somebody explain what happens when I order a payment (in bitcoins) from their web interface?
Say that my acount owns 1 BTC. I create an address AAA to pay 0.1 BTC for my loaf of bread to my baker's address BBB. I order the transfer from coinbase.com web interface, and looking at blockchain.info, I see the following (amounts rounded):
// webUI says I own 1.0 BTC

AAA  pays 0.1032   --> X = 0.1     BTC to BBB (my baker)  // what I wanted
                   --> Y = 0.0002  BTC as network fees    // fine with that
                   --> Z = 0.003   BTC to CCC             // what is that ?

// after payment, webUI says I own 0.8998 (= 1.0 - X - Y)
// The mysterious Z = 0.003 BTC have *not* been removed.

But what is that 0.003 BTC transfer to an address I don't know CCC? Apparently I own this address, or at least coinbase.com does on my behalf. Is it a standard way of processing I'm not aware of? Is it a safety feature managed by coinbase to authenticate the transaction?
Obviously there are a lot of informations on this reddit, but it's too technical for me.

It looks like change.

Your scenario is a bit confused in that you do not create AAA at the time of transacting, rather when you create a transaction, you use the funds that you previously received to AAA.

When you receive money, a UTXO (unspent transaction output) is generated and assigned to your address. When you want to spend money, you can only ever spend entire UTXOs. However, you may have received 1 BTC but you only bought goods worth 80 mBTC in an online shop, so you don't want to send your entire 1 BTC UTXO to the merchant.
Enter change. A transaction can have an arbitrary number of outputs. 2 outputs to different addresses are very common. In the scenario described above, you send 80 mBTC to the merchant and 920 mBTC back to you. The latter is called change.
Now, it is possible to send the change back to the address you sent the money from. This way, it's possible to only ever use one address to hold your money. However, people could learn that that you always send from that address and associate it with you. This means reduced privacy.
It's of course not as bad as with banks where it's cumbersome to open a new account, everyone who sends money to you or receives money from you knows your name, you even have to use your ID to get an account in the first place, and in most cases people can even steal money from you when they just know your bank information which everyone you ever exchanged money with using that account knows.
But if it's worth doing, it's worth overdoing, because people. companies, and governments are still trying to figure out who made which transaction. To make this harder, wallet software uses new addresses for each transaction. You cant still receive money again and again payed by different people to the same address and will be able to spend it but if you get an arbitrary number of addresses completely for free, why not take the opportunity to improve your privacy? Some wallets let you control where the change goes but there aren't many reasons to not use a new address each time.

So, it's not a historic/backward compatibility/backward security matter as the linked reddit sounds like (to my inexperienced mind): Coinbase makes an effort to have the inputs to outgoing transactions spend from outputs associated with addresses only associated with your account. In earlier days certain systems (and some still do) made the horribly broken decision of assuming addresses associated with transaction inputs are under the control of the user making the transaction and thus are a reasonable refund/return address

No, it's not a historic artifact or only there for backwards compatibility. It's done for a good reason and that reason is the same, HD wallets exist in the first place. However, the person you quoted talked about something else: blockchain.info creating a transaction from their own wallet to the an address of the user spending money, and then creating a second transactions already spending the funds they just sent to the user's address. This has nothing to do with change. They created 2 transactions. What you're seeing is 1 transactions having 2 outputs (like most transactions have).

very well explained for the most part, I just want to add my 2 cents; a transaction is made by "outputs", and they must be 100% spent to new outputs, you don't actually send a tx to the miners, they take the unclaimed btc from the not spent outputs. So if you have address_mine_1 has an output called output1 with 1 btc, if you want to pay a merchant 0.1 btc it would kind of be like this the tx: output1(address_mine_1) => merchant_address 0.1, address_mine_2 0.895 <-- that's a sum of 0.995 and therefor the miners can (and do) take the 0.005 or they'll be gone forever


text:
Anonymity of Bitcoin ownership a fakery?
If John needs to send 0.1 BTC to you as payment to your product, and he wants to retain his BTC ownership confidential, and the transaction goes something like this...

1fdfsefesf.....   ---> send 0.1 BTC to 1hsjhjkwa..... (your account)
  ---> send 999.9 BTC to 1lkskakkd... (not your account)

... then doesn't that mean John has at least 999.9 BTC left in his savings?
Even though John may not want you or anyone else to know he has that much but the transaction has just given away info of his savings.
So how can anonymity really be sure?

Bitcoin isn't anonymous in any rigorous sense, and the developers never claimed it was.  See for instance https://en.bitcoin.it/wiki/Anonymity.  If someone has been telling you that it is, then indeed that is "fakery".
However, the specific issue you describe is pretty easy to avoid, practically speaking.  If John doesn't want you to know his total holdings, then he should split them across a large number of addresses.  For instance, there is nothing stopping him from spreading his coins across 10,000 addresses, each containing BTC 0.1.  (There will be some transaction fees but clearly he can afford them.)  Then he can send you coins from just one of them, and you won't really know about the others.  If he wants, he can use a mixer or similar service to further obscure the fact that those addresses were funded from a common source.


text:
Does signing a message weaken the address' security?
Will signing a message (without doing any $ transaction) reveal the private key to the blockchain just the same/similar way the private key is revealed to the blockchain when you do a $ transaction?
The point is, doing a transaction weakens the security of the address a tiny bit because the private key is revealed to the blockchain. That's one reason why change/new address is used with every transaction.
But what about just signing a message? Will that weakens the security of the address a tiny bit too?

There was a suggested edit on this post to change the instances of "private key" to "public key" since the private key is of course never revealed. I've declined the suggested edit since addressing this misunderstanding is the main point of the answer which then would make a lot less sense.

Public / Private key encryption requires that the private key is never revealed - the owner must keep it secret.
Message and transaction signing is done with the private key and verified with the associated public key. So the private key is never revealed to the blockchain. Note that public key here refers to the the full ECC public key, and not a Bitcoin address - which is a hashed and transformed representation of the public key. The public key can only be derived from a Bitcoin address if the SHA256 and ripeMD-160 hashing algorithms are ever broken. This question explores the challenge.
To answer your question: Yes, each new signature produced by a private key may bring an attacker, who already knows the associated public key, closer to discovering the private key.
Comments to this answer have informed an updated position:
Although there is no provable security for ECDSA, it is commonly assumed that, even with knowledge of multiple signatures produced by a particular key, an attacker will not have improved odds at deriving the associated private key or forging its signature.
It is an almost impossible task to discover a Bitcoin private key from its public key. An answer to this question illustrates the challenge mathematically.
Some people advise an attitude of "better safe than sorry" - that public keys should not be revealed, where possible. Yet, caution should not discourage practical utility - as pointed out in the comments below.
Best practice, as you say, is to  frequently change keys and to preferably use a new address for every receive transaction. If you want someone to be able to verify a signature they will, of course, need your public key.
As far as I'm aware, the only Bitcoin transaction type that reveals public keys is Pay-To-Public-Key-Hash (P2PKH) which contains the full public key in its script.

Thank you for your answer. I guess I will pass up on that Stellar Lumens giveaway that requires signing message. Better be safe than sorry.

I think "better safe than sorry" here is misleading.   Attacks based on knowing the public key are purely theoretical and I know of no reason to think they will become practical in the foreseeable future.  Yes, you might as well avoid revealing the public key if there is no reason to do so.  But if, as in your case, there is something to be gained by doing it, then that probably outweighs the negligible risks.

While ECDSA does not technically have a security proof, it is commonly assumed that an attacker is allowed to see an arbitrarily large number of signatures with a certain key, on messages he chooses, and would still be unable to derive the private key or otherwise forge a signature. I believe this answer is incorrect for that reason.

answer updated with respect to comments by Nate Eldredge and @PieterWuille .

Indeed an attack is almost impossible to hack for the private key after an address is used in a transaction, theoretically speaking. Just as theoretically speaking it's impossible to have collision but the Large Bitcoin Collider project has so far collided more than 50 addresses. So much for being theoretical that doesn't work in practice. So why are people recommending to use a new address with every new transaction if the hack is impossible? To suggest using new address with every new transaction while saying its impossible to hack the private key sounds very much self-contradicting.

LBC only found keys that were generated with broken random number generators. The reason to not reuse addresses is privacy first and foremost. In the unlikely event of an EC crypto break, it may offer some extra protection as long as miners don't have access to a means of breaking EC.

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


text:
Bitcoin Core QT Fatal Error after moving block folder, can't retrieve Private Key
I have tried installing Bitcoin Core on my PC and without thinking, I went on and bought some coins (I was trying to be organized, so by the time the sync was done I would already have the coin).
90% into sync my HDD got full so I decided to go through this forum and see how to move the BLOCKS Folder to my D:\ Drive. After doing it the FATAL Error came and I am now unable to re-install the program EVEN After moving the BLOCK Folder back to the original folder.
Now I can't access my private key because I can't launch the program BUT I still have access to my wallet.dat (88KB).
I have search the forum for answers but can't find mine in particular.
Please help me retrieve my key!!

Just to understand what happened, did you move the folder while Bitcoin Core was running? As long as you have access to your wallet.dat, it should be possible to retrieve your keys. It would probably be helpful if you provided the error message.


text:
Is there any way to experiment with the Bitcoin technology without having to buy actual bitcoins for use on the larger bitcoin network?
So, I'm just a curious person at this point, I've only just decided to look into Bitcoin and see how it works and what it does. But I'm not sure if I want to try out things on the larger bitcoin network, where there's real money of real value at stake. Is there a way I can setup a local bitcoin "network", with its own blockchain, etc. for testing purposes?

you can check these instructions to setup a local bitcoin network https://blog.starapps.io/setup-private-bitcoin-regtest-using-docker-a406127192df

Yes. You can run bitcoind in regtest mode. In that mode, you can produce your own "bitcoins" for testing purposes.


text:
What's the relationship of Bitcoin addresses to public keys?
A Bitcoin wallet can handle multiple private keys.  In ECC, you can have 2^256 private keys, and for each key, you can have 2^256 public keys.  Assuming that's right (please correct me if I'm wrong), you generate a Bitcoin address basically by hashing a public key with a RIPEMD160 hash function, which can produce 2^160 different addresses.
Is the relationship between the Bitcoin address and the public key 1:1 (one address for each public key)?  If not, how is it possible to connect more than one address to a single public key, since this "connection" is made through hash functions and the hash for one entry (the public key) doesn't change unless you change the entry itself?
Thanks in advance.

you generate a Bitcoin address basically by hashing a public key with a RIPEMD160 hash function,

You use HASH160, actually. HASH160 is RIPEMD160(SHA256(x)).
This is a good resource for learning how to transform a private key into a Bitcoin address: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses

how is it possible to connect more than 1 address to a single public key

The compressed and uncompressed versions of an address hash to different values. That's one way that the same key could hash to two different values. There are also Hierarchical Deterministic wallets that allow you to take a single key, and derive many different subkeys from it, all of which have different addresses.
It's also not 1:1 in the sense that it's theoretically possible to create two different public keys that hash to the same value.

Thanks, man. I found more info about [un]compressed addresses here: https://bitcoin.stackexchange.com/questions/37373/how-can-i-test-if-a-bitcoin-address-is-compressed-or-not

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


text:
Does bitcoin have the potential to be subject to a hard fork where miners are forced to choose which fork they will accept, like Etherum?
Some background (Taken from Quartz):

Ethereum is similar to bitcoin, but it also supports smart contracts,
  agreements written in computer code that execute automatically when
  conditions are met.
Distributed Autonomous Organization (DAO) sought to build a humanless
  venture capital firm that would allow the investors to make all the
  decisions through smart contracts. It was one of the biggest
  crowdfunding effort in history. For Ethereum, the backbone of the
  project, it was a major vote of confidence in its nascent technology.
Then it got hacked, when someone started siphoning money out of the
  DAO. By the end, the hacker, who has said that he was simply taking
  advantage of a technical loophole in the DAO, had amassed $50 million
  in ether, based on current exchange rates at the time. While the core
  developers who designed and run Ethereum didn’t really have anything
  to do with the DAO, they were left to deal with the mess, so they
  decided to hack the hacker.
They managed to stop the theft and move the funds into another smart
  contract where they currently sit: a temporary fix. The way the code
  of DAO was written, there is a question of whether the original hacker
  can still lay claim to the funds. Fixing this would require more
  intervention from the core developers.
Whether to do so has created an existential question for Ethereum. One
  of its underlying tenets is that it’s a decentralized platform,
  meaning the power lies almost exclusively with all of its users. By
  stepping in to fix this problem, it would completely undermine that
  objective. This has led to a heated debate between those who want to
  return the funds and others who say that the the power of smart
  contracts lies in their immutability.
Doing so would basically eliminate the DAO, and move all the money
  into a smart contract that can only reimburse investors. The initial
  proposal was a soft fork where a majority of the Ethereum miners could
  voting on the roll back. Unfortunately, a security flaw was found in
  the voting process, which eliminated this option.
That leaves a hard fork, where the core developers of Ethereum
  unilaterally make the decision to essentially create a new version of
  the network with different rules than the original. Then, miners,
  exchanges, and other major apps that are built on it need to decide if
  they want to a part of the new version of Ethereum or the original.

Could you put the part from Quartz in blockquotes?  It would make it easier to see which part is the article, and which is your question.

There is only one question listed. What are the other questions you are referring to? All of the verbiage after the question is background, as stated prior to it, Everything after the colon is taken from Quartz, hence my notation.

Yes, Bitcoin could also be subjected to a hardfork. In fact, there are members of the Bitcoin community that feel so strongly that the blocksize should be increased that they are proposing to do just that:
They are working on a version of Bitcoin that is incompatible in regard to the current consensus rules of Bitcoin forcing a permanent split of the blockchain into two. They surmise that their vision for Bitcoin will have greater support than the road map followed by the Bitcoin Core developers and expect to oust the original chain completely.
As they (IMHO) appear to overestimate the support for their project, I don't expect the latter to come to pass.
As Mindwin has pointed out in the comment rightly so, the Bitcoin blockchain has actually forked before by accident: See march-2013-fork, or Bitcoin Magazine's report.
There have also been previous forking attempts, such as the ones pushed for by Bitcoin-XT and Bitcoin Classic.

Regarding forks, It has (1) already happened (2) in the past.

@Mindwin: Good point, I've updated my answer

Be my guest, glad it was useful.


text:
Are there any bitcoin communities for women?
Not to knock the guys, but it would be nice to talk to girls about this awesome virtual currency...partly to bring awareness to enable widespread adoption of bitcoin, as well as to try to get involved with other girls who may be working on bitcoin-related projects.

Might be a great opportunity to start one!

I'm trying to teach myself about Bitcoin .... unsure whether I'd start mining though ;-)

I don't know why this is being voted as "primarily opinion based" as it's fairly clear that a factual answer can be made.

There is the Mädchenabend in Berlin for Bitcoin-ladies only.

If you are curious about Bitcoin or already in love with it > and if you are a woman, you're in the right place! Since May 2014 we meet once a month in Berlin to chat about Bitcoin, share our knowledge, connect and -most important- have a lot of fun together! ---Girls and Women only!--- The goal of this meetup is not to entirely separate us from the male community, but to once in a while gather in a smaller, more pinpointed group and provide a space for exchanging our ideas and Q&A in a relaxed atmosphere.
'Every woman using and teaching #bitcoin becomes a full node that forms a World Decentralized Women Bitcoin Network. Steadily we grow.' (@TrueBitcoinGirl)
To all our male supporters: Thank you in advance for acting as our ambassadors, spreading the word and inviting more women!

There is a Meetup for Women in Bitcoin in San Francisco. It might be helpful to try to get in touch with them as they might be able to point out a meetup near you or recommend an online community, unless you happen to be near there anyway.


text:
Electrum 2.7.9 setup never went through the password and seed setup, now I can't send coins
I installed the Electrum 2.7.9 wallet and it never went through the password and seed setup. I ended up with a default standard wallet. I then uninstalled the Electrum wallet and then reinstalled it. Once again it didn't go through any password or seed setup and I had a default standard wallet on my pc. I made the dumb decision, because I am totally new at this, to go ahead and send my bitcoins from my coinbin wallet to the address associated with the standard default wallet and now I can't send anything because it wants a password. Please help!

You entered the password it asks you for when you created the wallet. If you don't remember the password, you need the seed. You were asked to write it down when creating the wallet. Do you have it?

For the future, I would really strongly recommend against putting in Bitcoin any money that you can't afford to lose.

I'm sorry but didn't you read my post? The setup of the Electrum wallet didn't ask for or walk me through the setup of password or seed. I also think your recommendation is painfully obvious. I have not technically lost the bitcoins, they are in my default wallet I just can't access them. Is there anything else I can do?

Okay I have now figured out how to setup a new Electrum wallet from my default Electrum wallet. My bitcoins are still on an address associated with my default Electrum wallet and when I try to send to my standard Electrum wallet the default wallet is asking for a password which was never setup. The default wallet doesn't have a password. What do I do?

Apparently, without either password or seed, an Electrum wallet is not recoverable.
But let's reconstruct how it happened and see what you perhaps could do:
Electrum doesn't create a new wallet during setup only when there is already an Electrum wallet on the system.
It therefore seems likely that you or another user of your computer had installed Electrum on that computer before. Perhaps you should try to figure out if the seed and/or password was recorded back then, but you had forgotten about it. Else, you should first try likely passwords.
If you cannot make any progress with that, you might want to consider getting in touch with https://walletrecoveryservices.com/. I cannot personally vouch for them, but they appear to have helped a load of people in the past. They may be able to help you recover your password, if you have any idea about what you may have used.
Thanks to #electrum on freenode for most of the above information.


text:
Move BC before/after reformatting
I plan on reformatting my main drive. I did this once before and of course lost access to my Bitcoin Core wallet and the Bitcoins therein.
Does anybody know how I can go about transferring my Bitcoins before or after I reformat my drive?
Can I just copy and paste the Bitcoin Core folder to my second drive before formatting, and then transfer it back afterwards?

You can just copy your wallet.dat from your local wallet directory. If using windows it will be in %appdata%/Bitcoin. After reformatting download a fresh copy of Bitcoin Core and replace the wallet.dat with the one you saved prior to reformatting.
There's also the method of using the backupwallet and importwallet commands. https://bitcoin.org/en/developer-reference#backupwallet


text:
Import multiple watch-only addresses using importaddress?
With the importaddress RPC command it is possible to import one watch-only address.
But how can I do that with, let's say, 100?

There is an alternate command importmulti to be used as follows:
bitcoin-cli importmulti '[
{
  "scriptPubKey" : { "address": "mxbvcPj7cnbxPP6oqpHJxxNb4xC8QoLquG" },
  "timestamp" : 0,
  "label" : "mxbvcPj7cnbxPP6oqpHJxxNb4xC8QoLquG"
},
{
  "scriptPubKey" : { "address": "n1iNb8XafoJTrCBBcGSSEZ6YNd6EWYo8PU" },
  "timestamp" : 0,
  "label" : "n1iNb8XafoJTrCBBcGSSEZ6YNd6EWYo8PU"
},
{
  "scriptPubKey" : { "address": "mgLs7quWwYBJa7jkZyebAec7RNXQtwaerK" },
  "timestamp" : 0,
  "label" : "mgLs7quWwYBJa7jkZyebAec7RNXQtwaerK"
}]' '{"rescan":false}'

Response is as follows:
[
  {
    "success": true
  },
  {
    "success": true
  },
  {
    "success": true
  }
]

No need for the labels.

The RPC interface doesn't generally provide any "batch mode" functionality.  If you want to import 100 addresses, call importaddress 100 times.  You might like to write a short script with a loop in some other language.
You should set the rescan parameter to false for all but the last address, so that you don't trigger rescanning 100 times.


text:
cpu, ram or bandwidth -- what is most important for bitcoin mining?
[I know Bitcoin mining on a server is a losing proposition, consider this an academic question.]
I've got some old proliant rack servers and VMWare licenses and thought I'd put them to use mining.  In setting up the VM I can alter cpus, ram, and network.  (I'm stuck with 10k rpm HDDs.)  My question is which of these is most important for optimizing mining?
My guess is CPU followed by RAM but interested in thoughts here.  thanks.

CPU is basically the only thing that matters.
The memory requirements for mining are trivial (enough to run bitcoind; SHA256 uses only a few bytes of memory).  Having more that enough will add no benefit.  Disk performance is nearly irrelevant also.
A fast network connection may help you get new blocks a little bit faster.  This is helpful because the time in between when a new block is released and when you get it is effectively wasted mining time.  But even with a very slow network connection, this should be at most a few seconds.  With a 10 minute block time, the difference between the slowest and fastest network connection should impact mining efficiency by less than 1%.


text:
Is it possible to use the same payout address on multiple miners at the same time?
I just started out mining, and I'm using Nicehash to mine BTC, so my question is if I ran the Nicehash client on two different computers in my house, both using the same wallet address, does it add the profit to the wallet? What are the problems with it if i do use this?

Hello Sumanth, sorry that I'm not addressing your question directly, but you should probably check out https://bitcoin.stackexchange.com/q/9046/5406

Yes, NicehHash allows you to mine whatever algorithm you like, and be paid out in Bitcoin, in fact I'd recommend only using one address for as many miners/computers as you have, they currently only pay out on balances over 0.1 BTC daily, and 0.01 BTC weekly (0.001 for their own wallets).  So hitting these limits on multiple accounts may be difficult without losing some dust.
As @Murch says, you really shouldn't be reusing addresses, but in cases like this, it's difficult not to, since it's tricky to stop mining when you hit the payout limit (although not impossible, you just have to know when it is) and switch to a new payout address.  If you're just getting started, then you can ensure that you don't use this address for other things, solely for NiceHash mining.
Some links on NiceHash payouts:
https://new.nicehash.com/help/fees
https://new.nicehash.com/help/when-and-how-do-you-get-paid
(note: these are links to "new" as they have recently updated their website so may break.)

You could use the same address with both miners and there would be no problem. Addresses can be reused, even though this is not recommended due to privacy concerns.
However, you will never manage to mine any bitcoins with home computers. They're too slow and don't contribute enough proof of work to get paid.

It's unlikely the OP is actually mining BTC, I would assume he's using the NiceHash miner to mine whatever his CPU/GPU is capable of, and it's being converted to BTC by NiceHash.

@DanielMorritt: I see. To be honest, I have not been keeping tabs on the home mining market. If you were to provide a better answer, I'd surely upvote it.


text:
How can I recover a blockchain.info wallet from a 17 word phrase?
I have a wallet at blockchain.info which I've opened about 4 years ago.
Right now I cannot access it. It looks like the site is sending me a verification email, but sadly I don't know which address it uses.
If I use the "I've lost my 2FA Device" option, I have to enter my mail, but it keep telling me that the mail address is not correct (I've tried my main mail and 3 other mail addresses that I've used to use).
If I use the "I've lost my Wallet Password" option (although I have the password), I have to enter a 12 word phrase. I have a 17 word phrase and I've tried to use the first 12 words and the last 12 words, but no luck - I cannot even press the "continue" button.
I've contacted the site's support a few times but haven't got any answer at all.
Is there a way for me to recover my wallet directly from the 17 word phrase?

As the question was originally asked, the only answer I could think of was that only the customer support can help you. However, I've edited your question now to emphasize an underlying question that might help solve your issue. I hope somebody knows how to help you.

The updated recovery URL is: https://login.blockchain.com/wallet/forgot-password But don't take my word for it, the original https://blockchain.info/wallet/forgot-password link you used does redirect into this now.

Blockchain.info's legacy wallet phrase decryption is here:
https://blockchain.info/wallet/forgot-password

The updated blockchain wallet only has a 12 word phrase. I had this same issue a couple of months ago. Try this link, enter the 17 word phrase and you will get your password: https://blockchain.info/wallet/forgot-password

Thanks for the link, but this is not the case - the link helps to recover a lost password, but my password is good. The issue is that the site sends me a verification mail to unknown address.


text:
How to buy and sell Ardor
I know this community is for bitcoin but I couldn't find any community to talk about crypto-currencies in general so I thought this may be the right place to ask.
I am interested on investing money on Ardor but I am kind of new in the world of crypto-currencies. So if someone could explain me how to buy and then sell Ardor in an easy way and avoiding places that could end up like mt.gox that would be nice.

Hi Juan, you're in the right place. Per our community guidelines questions about all cryptocurrencies are on-topic (although Ethereum and Monero have created their own Stackexchange sites by now).

Poloniex is probably the best place to invest into Ardor.
Changelley (https://changelly.com) would be better if you don't want to keep the tokens on an exchange like Poloniex.
From the website:
Note: If you have ARDR tokens, do NOT send them to the address you create on the Ardor Testnet. Please send them to a Nxt Wallet from Nxt.org as ARDR is currently an asset on the Nxt blockchain until its launch in Q3.
Notice even the Ardor explorer is on Nxt:
https://www.mynxt.info/asset/12422608354438203866

If you have bitcoins you can buy Ardor fastly and easily in Poloniex.
If not, you can buy Ardor with $ here

In case you owned some BTC you can exchange it easily for Ardor in one of the exchanges who maintain BTC\ARDR market.
for example:

Poloniex.
Bittrex.

In case you don't own any BTC you need to buy some and then the above.
In general:
before trading you need a platform that will generate you Ardor private/public key so later you will be able to commit transaction - this pair can be stored  web exchanges, desktop client or else.
When this is done (you found way to store your tokens), you can search for exchange place who have a market Ardor\AnyKindOfValueYouWant and there you can start trade with users.
By market I don't mean only one of the listed above, it can on be even on instant msg platform such as Whatsapp, Telegram or Facebook group.

I think you probably mean Poloniex?

Coinmarketcap lists several markets, like Polo and BTC38:
https://coinmarketcap.com/assets/ardor/#markets


text:
Is it feasible to store information in the Bitcoin system?
I see that some new services are based on the possibility of storing information in the bitcoin system. For example, you can use it to store an encrypted file with a blueprint of an invention.
Is this use endorsed, accepted, or expected?
Could services build like this be reliable?

Do you want to store the actual data, or just create a proof of existence?

Storing data on the blockchain is frowned upon. Since the blockchain is replicated on all non-pruned full nodes and downloaded by all full nodes, thousands of people must spend the extra resources to download and host your data on their machines for essentially eternity. This costs money and disk space while also taking up valuable block space that would otherwise be used to confirm someone's money-transferring transaction.

Also, if that file is of any significant size, it won't be economically feasible to buy the blockspace for it.


text:
How are code changes (e.g. new features) to applications such as Bitcoin deployed and how is compatibility mainted?
How does Bitcoin deploy new features and manage different versions compatibility?
For example if a new feature is added to Bitcoin, how is that then deployed and managed? That is, how is everyone on the network not forced to upgrade when a new version is available?
If an upgrade/update is not forced, how does Bitcoin manage different versions of Bitcoin on the network? Is there a minimum required version somehow distributed amongst the network?

Usually the code is written, tested, and merged into the release, and then deployed switched off.  Depending on the change, it can then be activated on a particular date, block, when the network has a consensus (certain %age of people agree to implement it), or when x number of blocks mined support the new change.
Code can be hard, or soft forked, and the developers attempt to make changes backwards compatible as much as possible to avoid client issues.
Occasionally incompatible clients can generate odd blocks (like for example a recent 1.01MB block) that get orphaned, or discarded by the rest of the network. Or even a chain of several blocks that get orphaned, this is one of the reasons you should wait for more than one successful confirmation after transferring money.

Almost all changes made to the Bitcoin protocol so far where backwards compatible in that they only restricted the ruleset of acceptable behavior on the network. Therefore, if the new rules where enforced by a majority of the current hashrate, any older software would follow along on the same blockchain as the rules they expected to be followed allowed a superset of the currently enforced behavior.
So, the main idea is that there is only one version of the protocol enforced at the same time.


text:
Transfer BTC from Coinbase to Bittrex: fee static or percentage
I want to transfer BTC from Coinbase to Bittrex. Now I only have a very small amount of BTC to transfer. But I have some money in my wallet with which I will buy BTC and transfer it later.
Now is my question. Is the fee to transfer the BTC static or is it a percentage?
So does it matter if I transfer twice (one 1 BTC, later 10 BTC) or at once (11 BTC)?

The transaction fee is neither static nor a percentage of the amount you transfer. It is based entirely on the size of the transaction in bytes (because a transaction is just data). Since you have no control over the transaction except for one of the outputs, you cannot determine the fee that will be paid.
It is better to send it all as one transaction rather than multiple. This is because there is some overhead bytes in a transaction that are saved by making one transaction instead of two. Furthermore, there is a cost to create a change output (as that would likely need to happen, although it will probably happen anyways) and a cost to spending that change output again when you make the second transaction. Since sending as multiple transactions will incur an extra cost, you should make just one transaction.

Do you have a source for this information? Bittrex's website says "All trades have a 0.25% commission.", and Coinbase also indicates there is a 1.49% fee when using USD as a payment method for buying and selling.

Transferring Bitcoin from bittrex to coinbase is just a normal bitcoin transaction. It is not a trade or buying or selling bitcoin.


text:
What happens when the sent amount doesn't match the payment request exactly?
If I opened an address with a request for 1 BTC, what is the limit that can be sent to me?
For instance, if someone sends 0.9/0.89+ to this address then it will consider as accepted, but if any less than that, it won't be received at all.
So I'm asking what are the rules here regarding sending less than / more than the amount requested.
Thanks!

There are no rules.
Once you share an address with someone, they can send arbitrary amounts of bitcoin to that address.  They can also send further transactions to that address any time in the future.  There is no way to reject a transaction just because you don't like the amount or for any other reason; if the transaction spends valid coins and is properly signed, it's valid and is irreversible once confirmed.
The various schemes for requesting a payment (bitcoin: URI, QR code, BIP 70) do include a requested amount, but it is nothing more than a request.  Most client software handles it by pre-filling the amount field in their "send coins" dialog, but typically the user can just change the amount if they want to.  They could also just extract the address from the payment request and send whatever they want to it.
It is up to you to decide what to do if you receive a different amount than you expected.  As far as the Bitcoin protocol is concerned, the money is just yours to keep or to spend as you please.
In a typical commerce platform, you would have had the user log in to make a purchase, and you would generate a unique address for them.  So if the user sends a different amount than you requested, you would know to contact that user and ask them to send more money or to provide refund instructions.  But that is outside the scope of Bitcoin itself.
You can try to create a new transaction that sends the coins back to the address(es) that sent them, but this has some pitfalls.  In some cases the sender may not have access to that address anymore.  You will also have to pay a transaction fee for this new transaction (or manually deduct it from the amount).  The BIP 70 payment protocol contains a "refund address" feature that makes this a bit more reliable; but this is optional. The sender can still send coins to your address without providing a refund address, if they choose.

I just saw this question in review and wanted to write an answer. However, you've already covered everything I can think of. Thanks. :)


text:
Will buy and sell offers from one trader be matched with each other?
If one user made a buy and a sell order at the same time, would they be matched with each other or remain pending?

Welcome to Bitcoin.SE. I edited your question to make it a bit clearer and added more tags. I’ve also removed your additional questions, because only one topic should be asked about in each question. You can find an answer to your other questions here: How do bitcoin exchanges set prices?

On "real" exchanges Trading Against Yourself or Wash Trades are usually forbidden. Either by a real time check when you enter the second order or after the fact with fines by the oversight agency.
As Bitcoin Exchanges are not regulated, it's their choice to either block you from doing it or not (earning fees for the exchange).
The spread is pretty wide, so it will probably cost you quite a bit of money to do this on a meaningful scale.

Depends on which exchange you use. Those are all internal policies not used by the Bitcoin network.

The proposed scenario doesn’t make sense to me. If you would make a buy and sell order as market orders at the same time, you would lose money. If they were matched with each other, you’d buy from yourself, paying what you earn and losing the trade fee. If they were not matched with each other, your buy order would be the best for the moment, and your sell order would be matched with a lower buy order afterwards (or vice versa).
So, if you’d have a buy and sell order open as limit orders at the same time, you’d open them at a spread: e.g. buy for $5 and sell for $6. Those two orders would be unmatchable though. For them to be matchable, you’d have to open them at e.g. buy for $6 and sell for $5. Then you’d lose money on every trade though, and that would be stupid.

One example of a case where you would want to make buy and sell orders that match is if you benefit from the market being liquid. In this case, you don't want your offers to match each other, you want them both to stay on the books so that liquidity is improved. (Another example is if you want to peg an asset at a specific price relative to another asset.)


text:
What is the price of an ask order bought if a bid order is placed at a higher price?
What is the price of an ask order bought if a bid order is placed at a higher price? For example, if there exist two ask orders at $50 and $49, and I place a bid order at $50 of an amount larger than amount of the two ask orders, will I buy the $49 ask order at $49? Or will I pay $50 for both orders, losing $1 on the lower one?

When a new order is added to the order book, it will first be matched against already existing bids and offers. The older orders take precedence: you match them at what you saw on the order book. If there are multiple orders at the same price, they are prioritized oldest first.
In your specific example where you bid with a larger amount on an order book that has offers at $49 and $50, you would buy the offer at $49, then the offer at $50, and the remainder of your bid would be added to the order book for someone else to be matched with a sell order.

If you bid a higher price than a buy order, you will purchase that buy order at the ASK price, you won't pay more than they were asking for. Your order will fulfill all sell orders up to the amount and price you set your bid. This is known as a limit order.
If you requested to buy more coins than the $49 sell order, you would fulfill that order at $49 and then buy the rest at $50.
See also: How will Mt.Gox select matching orders if asking for a price that is higher than available prices


text:
How does one create a brain wallet from a seed using SHA256?
How does one create a brain wallet from a seed using SHA256? Is this possible?
Could you please explain using the example seed "coinbase is awesome" (no apostrophes)? What is the resulting address?

Just to be clear. PSA: Any private key generated from a publicly shared seed, or any seed as generic as this is unsafe to store funds on. It's almost certain that the funds will be misappropriated.

This is what Coinbase asks on their employment application, did you get the job?

A bitcoin generator can generate an address.
i.e. https://brainwalletx.github.io/

A brain wallet is simply the SHA256 hash of an arbitrary string, this is a Bitcoin private key in hexadecimal format. The 64 character hex string is then encoded to a Base58 Private Key, more commonly known as WIF(Wallet Import Format). Basically you can create a key from any data, even an mp3.
Bitaddress.org has been around since 2011, and let's you create brain wallets.

BIP39-based Brainwallets kick ass over any older brain wallet technologies such as that encapulsulated by https://brainwalletx.github.io/.  The rationale is because of the 2000 rounds of additional sha512 hardening of the brain wallet passphrase.  This adds a computational coast for those trying to brute force discover the keys associated with low entropy brain wallets. Additionally, importing BIP 39 seed words, which are cryptocurrency agnostic, has now become much more broadly supported by HD wallets than importing specific wallet input format (WIF) private keys for specific coins.

Unsafe test vector for a 12 BIP 39 Seed Word Brain Wallet:
% echo -n "This is a very low entropy brain wallet seed that needs dhc&%hFF{]" | bx base16-encode | bx sha256 | cut -c 1-32 | bx mnemonic-new
nothing flock unusual sibling physical world combine story atom above keep display
Unsafe test vector for a 18 BIP 39 Seed Word Brain Wallet:
% echo -n "This is a very low entropy brain wallet seed that needs dhc&%hFF{]" | bx base16-encode | bx sha256 | cut -c 1-48 | bx mnemonic-new
nothing flock unusual sibling physical world combine story atom above keep disorder web spoil awake mom bring brother
Unsafe test vector for a 24 BIP 39 Seed Word Brain Wallet:
% echo -n "This is a very low entropy brain wallet seed that needs dhc&%hFF{]" | bx base16-encode | bx sha256 | cut -c 1-64 | bx mnemonic-new
nothing flock unusual sibling physical world combine story atom above keep disorder web spoil awake mom bring broccoli cancel unveil bullet bird common frown

See bx for additional details, and be sure to take advantage of user defined BIP 39 passphrases to harden the brain wallet even further, see the mnemonic-to-seed bx command.


text:
Why is the network congested?
I'm reading a lot of people saying that is taking around 3/4 days to confirm a transaction.
What are the reasons for this being happening?

The Bitcoin network confirms one block of transactions approximately every ten minutes. The blocks are produced in a random process by miners. Each miner may select their own set of transactions to confirm, and therefore whoever is successful at finding the next block determines which transactions get confirmed.
Since the blocksize is limited to 1,000,000 bytes, the number of transactions that can be confirmed per block is limited as well. Miners maximize their mining revenue by selecting the transactions first that pay the largest fee rate, i.e. the greatest amount of satoshis per byte of blocksize the transaction requires.
Thus, users are bidding with "transaction fees" for inclusion into a limited supply of blockspace. The network is "congested" when a lot of more transactions bid for inclusion than can find space in the blocks.
Multiple proposals to upgrade the network's capacity exist. Especially the segregated witness proposal has been production ready for several months and is waiting to be activated. Unfortunately, an insufficient portion of the hashrate is signaling readiness for its activation at this point in time.


text:
Would it be possible to pay from the Blockchain app to a Coinbase app in a restaurant?
I walk into a restaurant that accepts bitcoins and pull out my phone with a blockchain app to pay with, the waitress then shows me a phone with coinbase app to pay to..
Are there any issues with paying from one company's app to another company's app?
Regards: Beginner bitcoin user

What you really do is to send bitcoins (with a phone app, in this case) to a bitcoin address. So, strictly speaking, Blockchain or Coinbase, if we consider only the send/receive function, are providing you something it's already yours, meaninf that a wallet with its addresses and the send and receive functions are at your disposal for free on the bitcoin network, and you can use them installing one software wallet on the PC.
What is important for them, and is useful for you too, is another function of the app, the one which allows you to buy bitcoins, maybe with no waiting between the payment and the bitcoin "arrival".
All the apps, under the hood, are compliant to the same rules, defined by the protocol. Apps realized by companies like the ones you mentioned must obey those rules: if the don't, are unable to interact with the network, they would be useless. So, all does the same things the same way, as fare as we speak of activities that require to use the bitcoin protol (send and receive the coins)
If you're asking if there is some kind of proprietary/private protocol that makes the use of Coinbase or Blockchain the same as choosing between VISA and American Express: no, as far as I know. It is not possible, because Bitcoin's code is open source, which means everyone can read it and learn how to write its app to send and receive bitcoins. It is not something owned by a company, is something everybody can access for free.
It would be a ruin for Blockchain if you could not send bitcoins away the easiest way possible, wherever you are and to every address in the (bitcoin) world! After all, they earn money because you buy bitcoins from them. The easier and faster you spend your bitcoins, the sooner you'll buy others.
What exists is the opposite. In 2012 was described a way to represent a bitcoin address and to ask to do something with it, all in a line similar to the internet links.
Here you can find the specifications, the document is called BIP21. The simplest example is this:
bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W
An example of use: I send you an email with that URI inside, you click on it on your smartphone, the mail app, that implements BIP21, is aware of the bitcoin URI format, so knows what to do: pops up a requester asking if you want to save the address in the phonebook, for example, under my name, since I am the sender of the email.
Bitcoin took quite a long distance from some of the ways we are all used to relationship ourself with money in general, and with the market, too. Who knows what else will be possibile, given that some big evolutions are not that far.


text:
How do I determine an optimal or above average fee to gain priority in the network during a transaction?
I am using the blockchain.info API to send btc from my blockchain wallet to about 3000 addresses. I'm using their send to many API/Service to do this.
My problem is that I need to make sure the send doesn't get stuck or go to limbo. The amounts I'm sending are about 150USD to each of the 3000 addresses.
The API call lets you set a custom fee to pay. What fee should I pay to gain priority in the network and ensure the transaction goes through fast and easy as possible?

The amount you should pay is constantly changing, so you'll have to check at the time you send the transaction. 21 has an API that provides recommendations on mining prices.
They are only recommendations though, there isn't really a definitive answer. The network could get flooded with higher fee transactions at any time, and your fee would then appear relatively low to miners. If you need to be absolutely certain you may want to raise the fee even further, but I believe they've taken some amount of that into account.

So when I use the API it comes back measured in satoshis per byte. How do I know how many bytes my transaction is going to be??

Normally, handling your own wallet you could inspect it and make sure. I don't know with Blockchain.info.
According to https://bitcoin.stackexchange.com/questions/31974/what-is-the-average-size-of-a-bitcoin-transaction average size seems to be close 500. The transaction size will depend on how many inputs you have and how many outputs you create.
I wrote a program for this a while ago and was seeing, 315 bytes base(one input) and about 70 bytes additionally per output.


text:
First time bitcoin buyer; been reading, but still not sure how to purchase
I want to buy bitcoin for the purpose of making a transaction with a business that specified bitcoin. I have a Copay wallet on my desktop, but after doing quite a bit of reading, I'm still not sure about where to go to buy them and how to get them in my wallet. I would be paying with my Visa debit card or through Pay Pal. I've already calculated the amount, which would be 0.025 bitcoin which roughly comes out to $50 US. I know I have to click receive and then to 'request specific account', which takes me to a place where there's a QR code and an address. Not quite sure what the long alpha numeric address is for and about how I purchase the bitcoin and get them into my wallet. I see there is a slower and faster way to do this. Fast is good, but I"m in no particular hurry If you can help, I think that I'm almost there. I"ll keep reading in the interim.
Thanks so much,
John

Forgive me. I see that none of these questions are being answered and in the one I did find, someone at the same basic level got a  response about all the research he should have done beforehand. I had no way of knowing that this isn't the place for newbie questions. I will be reading more before asking another quesion. It just seems to me that crucial information is left out on even some of the better tutorials I've read. If this Bitcoin Exchange could write a succinct, step by step explanation about how, exactly to purchase and put the bitcoin in your wallet, more people would use Bitcoin.

If you're based in the US, Coinbase and Gemini are two examples of companies that help you purchase Bitcoin, Ethereum, etc. using USD.
(Opening an account can be a multi-day process.)
Coins you purchase from them will be placed into a wallet with those respective companies.
To spend bitcoin:

find & copy the address (long string of letters/numbers) of the recipient (the seller of goods in this case)
in your Coinbase/Gemini wallet start a send transaction, pasting the copied recipient address and specifying a quantity of coin (in your case .025 bitcoin)

That's about it.
A wallet on your PC is not necessary to make transactions.  You'll have a wallet from where you purchased the coin and can spend them directly from there.

The long alphanumeric address is one of your pseudonymous representations in the Bitcoin network. You may hand it out to your business partner in order to specify where you wish to receive the money.
After you've imparted your address, the sender may create a transaction which is a message to the Bitcoin network that signals his intent to sign over some of his bitcoins to you. This transaction will then be propagated through the network and hopefully incorporated into a block for confirmation. Once the transaction is written to a block, it has become part of the blockchain and the sent amount has been —bar exceptional occurrences— reliably signed over to your wallet.
Since there was really only one piece of information or step missing from your description, I hope that you're well informed at this point. ;)
To get a better overview on some related topics, may I suggest the following topics:

What's the difference between a wallet and an address?
Can someone explain how the Bitcoin Blockchain works?
I am new to Bitcoin, how can I get started?

Thanks for you concise but comprehensive explanation! It was quite helpful.


text:
Is the Bitcoin protocol secure if two parts of the network have no connection?
I'm trying to understand the Bitcoin protocol, and I have a security scenario.

Let's assume that today between the internet connection between Europe and America is lost.
John is in Europe
John sends money to Henry while he is in Europe.

Then John saves his wallet to a CD and travels to America, were he uses another computer. The connection between Europe and America is still broken.
Can John send the same money to another Bitcoin client? In America nobody knows what John did in Europe.
If he can send the same money again in America, what will happen when America and Europe reconnect?
Edit after Murch's answer:
I have a new story, it is the same except for some little modifications.

John is a bad boy. He cracked Alton's router and put him into a fake network. This network includes some (fake) Bitcoin peers that don't have a connection to internet.
John, Alton and other peers are located in an isolated network.
John sends money to Alton. Alton and the other isolated peers confirm this transaction, but it is not confirmed in the global block chain yet. Now, Alton thinks that he has the money.
John takes his wallet and connects to internet. And sends the same money to his other account. This transaction is confirmed in global block chain.
John releases Alton's router, now Alton can connect to internet.
When Alton connects to internet he will see that his transaction is unconfirmed in the global block chain.

I think Alton needs a service to confirm that he had a real transaction and it is confirmed in global block chain.
Are there a service like this? I don't know do we really need a service to confirm transactions?

Concerning your edit: I doubt that John alone could confirm the transaction,  as the difficulty would still be the same as before the network was isolated. The rest should work, except I would think that Alton should notice either that he is not connected to the internet anymore, that he is not receiving any records of transactions from other people, or that he hasn't received a valid block since he was put into the isolated network. That means such an attack would have to be timed very well and worth it. Yet given a valuable deal, Alton would probably insist on waiting for some confirmations.

Next time please start a new question for a new scenario, though. :)

To the edit:
What do you understand as "global" blockchain?
How can you tell which one is global?

There is blockchain.info and block-explorer.com, which shows transactions relayed to them.
However, somebody can still put them in Alton place and cheat them. Or worse, they can cheat you on purpose. Will their blockchain be still global?

I don't know how to define global block chain %100 correctly. I think it is the longest block chain in the network. Can you please answer on your own questions please?

possible duplicate of What would happen if a portion of the Bitcoin network was separated from the rest of the network?

Note that at today's prices, it would cost around $45,000 to launch an attack like this. So such a service would only be needed for very high-value transactions. You could just confirm with a secure connection to a public block chain service.

The direct effects of the netsplit
Miners in both the European network and the American network will continue to find blocks and validate transactions in their respective network part. However, until the difficulty will be adjusted, the validation will be slower, because the difficulty was set for a greater mining power than is available in each part of the world.
Let's assume that

2/3 of the mining power are in the Americas and 1/3 is in Europe
the hashing power remains constant (simplification) for the time of the network split
the network was operating at a previous block interval of 10 minutes in average before the split

Then the Americas should find a block every 15 minutes and the European network should take 30 minutes per block after the split. When the difficulty adjustment block is reached, both networks will return to creating blocks every 10 minutes in average. However, up to the adjustment the Americas will be twice as fast and thus their blockchain will be ahead significantly, specifically one and a half blocks for each block that had to be mined until the difficulty was scheduled to be adjusted.
John can spend his money again
When John goes to the Americas, the transactions sent in the European network have not been taken into account there. His wallet thus will still allow him to spend all the bitcoins that he had before the netsplit. He can now cheat Henry out of the money: John decides to send all the money to another of his own addresses.*
Reconnection: Shorter blockchain will be invalidated
Now, when the connection of the two networks is reconciliated, the American network's blockchain is longer (i.e. the total difficulty of the mined blocks is greater). All blocks in the European blockchain mined since the network split will be rejected by the American network, the European miners will retroactively lose their mining gains. The transaction John did in the Americas takes precedent, because it is part of the blockchain there and the transactions of the European network are just now readmitted to be validated by the global network. John's balance had already been sent to his other address, so the transaction that now tries to send the bitcoins to Henry is thrown out as invalid.
Alice, who had sent money to Bob in Europe, will see that her transaction (along with all others that were only seen in the European network) will go back to being unconfirmed in the new global blockchain (that is based on the longer American blockchain), because the block that had validated it in Europe has been obsoleted. The transactions that had been sent in the American network don't see any effect.
The global network will now find a new block every 6.67 minutes, until the difficulty is readjusted, because it had reduced the difficulty to fit the American miners' hashpower and is now returning to full power.

*However, if Gustav had taken his computer with him from Europe and connected it to the American bitcoin network before John arrived, Gustav could have submitted all transactions that had meanwhile occured in Europe to the American network as well, and John would not have been able to spend his balance again.


text:
How to calculate the minimum recommended hashrate for p2pool network?
I'm trying to add the current minimum required hashrate for miners on my p2pool frontend. I've seen such calculation for the litecoin network here.
For litecoin with quite a high p2pool rate and a low p2pool block spread setting the minimum recommended hashrate always seems to be very high, currently at around 2 MH/s.
Now I'm trying to figure out how this is calculated. I know the variables, currently for litecoin:
# Current snapshot:
diff_block  =         5895.581658 # Network difficulty (386M)
diff_share  =            3.919712 # P2pool share difficulty (257k)
hash_netwrk = 165000000000.0      # Network hashrate (165GH/s)
hash_p2pool =   1620000000.0      # P2pool hashrate (1.62GH/s)
block_24hr  =            5.51     # Expected blocks per day
block_sprd  =            3.0      # P2Pool blocks payout spread

For my calculations I assume I want to get static payouts every block, therefore I need to solve at least one share every 3 blocks with a diff of at least 257k.
solve_time  =  block_sprd / block_24hr * 24hr
solve_time  =           13.06715  # one target share every 13 hours

Now I know I need to find one share of at least 257k difficulty every 13 hours.
But now I get lost. How do I find out which hashrate do I need to find this share at this rate?
To find one 386M-share every 2.5 minutes I need 165GH/s.
# Difficulty; Blocktime; Hashrate
5895.581658; 150; 165000000000
3.919712; 47041.742; ???

But how many H/s do I need to find one 257k-share every 13 hours?
# Hashrate to find a block every 13 hours
47041.742 / 150 = 313.612
165000000000 / 313.612 = 526128472

To find one 386M-share every 13 hours I need 526MH/s.
# Hashrate to find a share every 13 hours
5895.581658 / 3.919712 = 1504.085
526128472 / 1504.085 = 349799.597

To find one 257k-share every 13 hours I need 350kH/s!? This differs from the link I posted above by factor 5. Where is my issue here? How to do this calculation right?


text:
How to fix kernel paging request error on raspberry pi miner?
I'm mining Bitcoin and Litecoin using Gridseeds.
As a host/controller I'm running a Raspberry Pi with ArchLinuxARM.
I'm using the latest Arch image and compiled cgminer from this github repository:
https://github.com/girnyau/cgminer-gc3355
I'm running 10 Gridseeds. They are running well at 3.6 MH/s Scrypt (10x 360kH/s @ 850 MHz) until some point when it goes Oops:
[ 4565.377848] Unable to handle kernel paging request at virtual address 00002055
[ 4565.385255] pgd = c9df8000
[ 4565.393214] [00002055] *pgd=c9df8000, *pte=00000000, *ppte=00000000
[ 4565.404992] Internal error: Oops: 17 [#1] PREEMT ARM

Here is a screenshot:

Why? And how to fix this?

why Arch or Debian? just wanting to know why?

@PhillPafford I'm using arch on all my devices, that simplyfies so many workflows. The Arch-Pi is very well supported.

ping me on twitter.com/phillpafford if needed, just looking to make a decision on Arch or Debian ( Wheezy / Raspbian ), just looking for a why choose this one over the other, thanks

Ok, I found the solution here and here:
You have to enable SLUB debugging for your linux kernel. Therefore you have to edit your linux kernel command line:
sudo nano /boot/cmdline.txt

Add the following code at the end of the first line (on the same line as the other text, don't add new line!).
slub_debug=FP

Save the file then reboot your Raspberry Pi.
What the above does is basically enable some kernel debug mode on the Raspberry Pi. The mentioned kernel paging request error seems to be a kernel bug and gets caught by the debugging settings.
The downside is that the overall performance of the raspi is lower. But that does not affect the mining performance at all.

Has anyone resolved this? I encountered this error in regular raspberry pi operations. So it seems this is a general issue. Has anyone found a solution? A workaround?


text:
How to change the displayed denomination in GreenBits Android wallet?
I just installed GreenBits, the native Java wallet from GreenAddress.it, on my Android device and transferred 0.1 BTC to the wallet. I like it so far.
However, it displays my balance as 100,000 bits. That's cool, but I would like to stick to a more commonly used display like 0.1 BTC. All the news items say you can chose:

All bitcoin denominations (BTC, mBTC, uBTC and Bits)

But I can't find anyway to change it. Anyone?

On the top right corner of GreenBits there's a menu with a number of entries: the first one is named "Settings" and we should select that, then "Info & settings" and then you can change the fiat currency, the bitcoin denomination as well as your preferred exchange if available.

I don't have that. I only see: Mnemonic passphrase, Auto logout timeout, Enable transaction replacement, Improve security with Ledger, Version (1.77 release). Maybe I'm blind?

You are not blind, it was changed in a later release. In that release you can change it from the Send tab by clicking on the bits text or to change fiat currency click on the $ USD icon. If you are using FDroid we have submitted a merge request to update GreenBits to the latest version https://gitlab.com/fdroid/fdroiddata/merge_requests/1663 and you can also download the latest version from our github release page

Thanks, this is what I was looking for. Waiting for the update via FDroid. And +1 for providing FDroid releases :-)


text:
How to find a list of all nodes in a p2pool network?
I'm running a p2pool node for cachecoin and see there are more users and hashrate in the overall p2pool network than from the known nodes.
Is there a way to get a list of the connected nodes somehow, maybe by IP?
All I see currently is the web frontend and the stdout buffer.

The answer is p2pool-scanner.
A little piece of javascript with minimal webserver (NodeJS) which keeps scanning your local p2pool-data directory for node ips and scans all nodes for public html frontend. If it finds a public accessable frontend, it will add it to a list of public nodes and displays the results sorted by uptime.
Its easy modified (scanner.cfg) to work with any *coins p2pool network.
Here is an example node scanner for vertcoin: http://q30.qhor.net:9172/


text:
How to find out a p2pool's node fee/donation setting?
I'm mining LTC on a public p2pool node. The owner says there is a fee of 1%.
Is there any way to verify this is true for me as a miner?

It can be faked, but you can see it at:
http://servername.com:9327/fee
e.g., http://nastyfans.org:9332/fee

Not really, you have to trust that the owner is being truthful. In actuality they could be stealing every bit of work you submit, but I'd like to think that they wouldn't.
If you don't trust the node, it's up to you to run your own.


text:
If there was a period of time with no transactions, what would miners have to do?
This question is similar to a few others, but I haven't gotten seen a clear answer anywhere.  It came up as I was trying to explain mining to a newcomer.  And he asked: "If aliens came and put all humans to sleep ( and any automated transactions that may have been setup ) would miners have anything to do?"
So the question is, if zero transactions are happening, are miners still mining? And if yes, what exactly are they doing?
I explained also that eventually block rewards will end, so I'm looking for an answer that is agnostic of the bitcoin network now vs the post-block rewards bitcoin network ( after the 21 million are "mined" )

related: https://bitcoin.stackexchange.com/questions/10795/can-a-block-ever-be-empty

They would mine empty blocks. Block difficulty would remain the same.
Would they have an incentive to mine blocks? In the year 2140, all mining rewards will be from fees. If there are no transactions, there are no fees. Between now and then, rewards will step down over time. So either:

Clients will keep mining.
Clients will stop mining because there are no transactions.

I recognize that this is a useless answer (maybe they will, maybe they won't) but I hope you understand the difficulty of predicting what mining clients will be like in 5-10 years.

"They would mine empty blocks."  Is all i was looking for.. But that also leads me to: Would miners still have a hash rate when mining "empty blocks"? Would the answer be different post block rewards?

In order: Yes. Yes.

There is virtually no "empty blocks".  All blocks except the genesis block is actually headed by the hash of preceding block and then followed by the miners reward of the previous block in terms of the first transaction of the current block.  Therefore there should always be at least one transaction.

That's like asking "what will banks do if no one spends money, no one takes out loans, and everyone shreds their credit cards".
;p
I would assume JPMorgan in that situation would shut its financial servers down to save electricity.

authors: Елена Маланчук


text:
how do nodes verify that a block has been solved and can be added to the blockchain
when a miner solves a block it gets sent out to the network, when other nodes receive it, how do they verify that the block received was indeed solved and can be added to the blockchain.
So you don't know what the answer is but if you got the answer you know what the question was.

StephenM wrote a good answer to that:

The difficulty (or nBits as it is called in the code) is shorthand for how difficult it is to solve the block. Essentially, it encodes a target value, and the hash of the block (when treated as a 256 bit integer) must be below that target value to be considered solved.

The other nodes can verify it by hashing the block using the supposed solution nonce, and if it returns the same hash as the solution, and it meets the difficulty restrictions (correct number of zeroes at the beginning), the that block is confirmed as solved.

Let's say block #396716 has been just mined. The participants verify:

Is the block really next? Simply look if the previous block is already accepted. Each block contains the ID of previous block.
Has miner performed enough work? Because difficulty is now 120 this means there should be 120÷8 = 15 zeroes in the block ID.

00000000000000000277e25b11ccc9dc44a8563de315c454507522dae5a0d204
000000000000000 <- 15 zeroes. Therefore miner spent enough work.

Is the timestamp correct? Just test if it's near current time.
Verify all transactions inside the block. This includes checking if miner sent himself the correct reward (currently 25 BTC). Next, all transactions are checked, if amounts match, signatures correct, etc..

That's not how difficulty works. It's not expressed as a number of zeroes at the start, but as a ratio between the maximum block hash and the actually required one.


text:
How can I rsync my bitcoin database?
I would like to use the bitcoind daemon but I don't want the high CPU footprint related to validating blocks every time new blocks come in. There is a better equipped computer that I can rsync with, which would in theory allow me to just download the files and run:
bitcoind --daemon -connect=0.0.0.0 -checklevel=0

Note that I run connect=0.0.0.0 because I don't want new blocks to arrive directly on this computer, and checklevel=0 to prevent any block checks upon start.
I sync this with command:
rsync --progress --partial --recursive --size-only --verbose --delete -e "ssh -v" bitcoinserver:/home/jny/.bitcoin/blocks/ /home/jny/.bitcoin/blocks/  && scp bitcoinserver:/home/jny/.bitcoin/blocks/index/CURRENT /home/jny/.bitcoin/blocks/index/
So I sync the blocks directory and download the CURRENT file in the index directory. Through trial and error I found this to work. However, there is one problem: I still have a high CPU usage because of the UpdateTip function that runs to process the blocks (see: Why could UpdateTip be taking so long?).
However, if I do include the chainstate directory in my syncing, then I can not start bitcoin:
2014-07-25 12:03:36 Opened LevelDB successfully
2014-07-25 12:03:36 Opening LevelDB in /home/jny/.bitcoin/chainstate
2014-07-25 12:03:39 Corruption: 207 missing files; e.g.: /home/jny/.bitcoin/chainstate/452003.ldb
2014-07-25 12:03:39 : Error opening block database.

Do you want to rebuild the block database now?
2014-07-25 12:03:39 Aborted block database rebuild. Exiting.
2014-07-25 12:03:39 Shutdown : In progress...

I imagine that the problem is that the files in chainstate are being changed as I download them. Stopping bitcoind on the server while rsyncing is not an option, unfortunately.
Another disadvantage is that files in the chainstate directory seem to change a lot, which makes rsync download many of them over and over again, even though it could have been only a few hours since the last sync.
Any idea how to set up a more streamlined rsync of my bitcoin database?

Before going to all this trouble, have you profiled to check that the "CPU footprint" is really unacceptable? Once you have caught up with the network initially, there's only one block every ten minutes on average, and on a modern computer it should take only a second or two of CPU time to verify. I'm having trouble thinking of a situation where that would pose a problem.

Thanks @NateEldredge. But yes, I did try using bitcoind the normal way. The problem is that I can't run it continuously. I can only open and sync it every 2-10 days, so the problem is that all the blocks come at once and it takes a whole lot of CPU power to catch up.

I don't think rsync is going to solve your CPU footprint, because the CPU intensive part comes from verifying the downloaded blocks, not from the downloading of the block. You are probably better off using a thin client like Multibit instead of a full client.

But I should be able to download the verification as well, no? Ultimately, it's all nothing but files, right? I really prefer to use the bitcoind client...


text:
How can I run bitcoind in pruning mode?
I read this comment:

You could consider running a pruning node, which is practically the
  same as a full node (including security), except it throws away some
  of the old history. Version 0.11 will make that possible

But I can't find details of how to run bitcoind in pruning mode. Questions on this site seem not to be recent enough to yield answers, and I also don't see a pruning mode in the bitcoind parameters.
Any insights into this?

as the comment said, this feature is not yet available in bitcoind.

Ahhh I see, I didn't know 0.11 is a future version. Thanks for clarifying!

By setting the -prune option.

-prune=
         Reduce storage requirements by enabling pruning (deleting) of old
         blocks. This allows the pruneblockchain RPC to be called to
         delete specific blocks, and enables automatic pruning of old
         blocks if a target size in MiB is provided. This mode is
         incompatible with -txindex and -rescan. Warning: Reverting this
         setting requires re-downloading the entire blockchain. (default:
         0 = disable pruning blocks, 1 = allow manual pruning via RPC,
  550 = automatically prune block files to stay under the
         specified target size in MiB)

The feature was originally introduced in Bitcoin Core 0.11 (see release notes).
As of version 0.12 pruning can be used while running a wallet. But note the -txindex and -rescan caveats.
Also note that the specified MiB will only include the block files and some undo space. Besides that you will also need some disk space for the chain state and block index databases.

The argument to pruning is how much disk space to use for blocks and undo data associated with them. It does not include and does not apply to the chain state or block index databases. Do not increase the number to account for them.

@PieterWuille That's why i decreased the number for him. In another question he mentioned he had 35GB diskspace. :) But thanks for the addition, you're right that my answer was a bit ambiguous.

Well, if it disables the wallet funcionality, what would someone do with this node? Just mining? If so, in the event of successfully mining, what would be the destination of the generated bitcoin reward?

@HenriqueBarcelos The upcoming version WILL allow running a wallet on a pruning node. The current version was just a stepping stone. As a side effect it made sure noone could possibly lose money due to a bug as there was no wallet at all. There are uses for (pruning) full nodes without wallet. For example you can use it as sort of a "firewall" between some internal application that you write yourself but that you don't want to directly hook up to the internet or possibly evil P2P traffic. Or to connect your Android wallet to it, so you are doing full validation, just not on the phone itself.

0.12.0 enables wallet support, you might want to update this answer. :)

This answer needs to be updated. Pruning no longer disables wallet support and %u must be at least a minimum value according to the current parameter description

There are more details in the release notes.

To enable block pruning set prune=<N> on the command line or in bitcoin.conf, where N is the number of MiB to allot for raw block & undo data.
A value of 0 disables pruning. The minimal value above 0 is 550.

Where 550 is the size in MB you want the node to occupy in your system.
The bitcoin.conf is in the Bitcoin data directory, you can create a text file by the name there, if there isn't a bitcoin.conf yet.

@user42169: "The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, Bitcoin (or bitcoind) will look for a file named bitcoin.conf in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the -datadir and -conf command-line arguments." –Running Bitcoin: Bitcoin.conf Configuration File. First hit when I searched for "Bitcoin.conf doesn't exist". ;)

where should the bitcoin.conf file reside on a win10 / win7 machine?

@duckx: I don't know.  If you don't find the answer in documentation, please ask a new question.

@duckx: Where is the configuration file of Bitcoin-Qt kept?.

there was a followup on what a pruning node could actually be good for. Well, one answer would be shop systems who do not want/cannot rely on third party APIs like blockchain.info for their payment processing. a prune node would allow to be run on say a cheap vps with low space, while checking mempool for incoming transactions to implement payments. it would also allow checking/signing messages using the clients rpc calls, and to a limited degree it could allow checking the balances of addresses. I personally think(and I proposed intelligent pruning as I call it back in 2013) bitcoin devs implemented it wrongly. My implementation suggestion back then was to prune coins from the blockchain that had already been spent. Current behavior is to verify coins in transactions back to coinbase(aka when they were mined), while it should be sufficient to keep the last say 120 blocks plus every unspent transaction. Since the client verifies all blocks it gets, it could rely on those coins to be verified, yet it wouldnt need to know any previous transactions the coins went through.

No, that's exactly what Bitcoin Core does. All unspent coins are kept for further verification, and everything else is deleted (apart from the last day or so, to help with reorganisations).


text:
Which transaction would get confirmed in an uncongested network?
Scenario:

Mallory sends some bitcoin with a $1 fee
Later, Mallory double spends her transaction with a $5 fee
A new block is found

In an uncongested network with an average transaction fee of ~20 cents, which transaction would most likely go through?

I've amended the scenario so that both transactions are sent by the same party as it would be highly unusual for another party to possess the private keys necessary to create a doublespend.

Transaction selection is the prerogative of miners, and specific behavior in regard to unconfirmed transactions cannot be enforced on the network as it precedes the consensus mechanism (block creation). Therefore, as chytrik states, it's completely up to the miner who succeeds at creating the block.
However, in December 2020, the prevalent transaction selection behavior by miners still appears to be "first-seen safe". Most nodes on the network also do not forward doublespend transactions, so a conflicting transaction would likely need to be submitted directly to a miner that does not adhere to first-seen safe selection. On the other hand, a network participant would not be able to reliably know whether any miners are attempting to include a doublespend until the block is published.
Even so, I'm aware of some businesses that conditionally accept transactions before confirmation. They rely on risk assessment based on factors such as feerate, amount, existence of a customer relationship, and probably more. I do not recommend accepting transactions before confirmation without risk assessment in place.
Note that opt-in RBF (see: BIP125: Opt-in Full Replace-by-Fee Signaling) transactions are explicitly unreliable before confirmation as the sender may overwrite them at-will. Opt-in RBF transactions MUST NOT be accepted before confirmation.

On an uncongested network with an average tx fee of ~20 cents. Which transaction would most likely go through?

The transaction which confirms is the one chosen by the miner which finds the next block. There is no way to know which one they may choose. It may be the first one they saw, or it may be the one with the highest fees, or it may depend on some other factor that is relevant to the miner in question. It is simply up to them.


text:
Is there a cudaminer difficulty parameter option
I try to mine some btc using cudaminer on cex.io.
I'm using cudaminer for that. I have a lot 'low' rejected shares due to low difficulty (On the ghash.io they say the minimum stratum difficulty is 16).
I think my rejected shares is due to this difficulty but I dunno if I can change that on my side to avoid rejected shares.
Any idea?

You should consider mining on their scrypt multipool and converting the earnings to BTC. You will earn MUCH more vs. mining BTC directly. You can change the difficulty of scrypt miners to a setting below 16. The minimum of 16 is for their BTC pool. To change it, go to the ghash.io page and click on the currency you are mining. After you load the page for the correct currency, click the workers link at the top and there will be a spot to edit individual worker difficulty. In that spot you can set the difficulty lower than 16.

No. Difficulty is handled server-side rather than client-side.
Different pools have different policies regarding difficulty. Some pools have a fixed difficulty. Others automatically calibrate the difficulty depending on your hashrate (this is called vardiff). And some let you set the difficulty, on the pool website. But in any case, it is ultimately the stratum that sends out and accepts work, so it is the pool that dictates difficulty.

THanks for answer. I was asking this because some pools offer us to set the difficulty ourselves but they use cgminer as example where you can set the difficulty with -d param.
Btw, thanks !


text:
Need to do 400 transactions, how do I get them confirmed?
I tried to send 0.00000001 btc to about 7 addresses, and paid the 0.0001 fee. But it seems like this transaction won't go through ever. Those coins are lost :(.
I have about 400 sponsors, and they should split about 0.05 btc even (and that's quite a lot of money). I'm thinking about sending them 0.0001 btc each, in one single transaction and pay the 0.01 fee or whatever it'll be.
Will that go through? What's the requirement to get transactions confirmed for sure?
Thanks in advance.

The coins are not lost; if the transaction never confirms, it will eventually be possible to spend them again.

So if it get confirms.. say, 3 times.. is the transaction then distributed over the whole network? That is, will every local copy of the global bitcoin database have that transaction = "it's now confirmed forever.. it's set and done"?

http://bitcoinfees.com/
Also pay attention to "Discourage "dust" spam"

Essentially, yes. Since the block chain is a chain, you will see the number of confirmations continue to increase over time as more blocks are piled on top. The only way for this to fail is if the chain splits and your transaction is left on an isolated branch: in that case, either it eventually gets added into the main branch anyway, or it doesn't and you can spend the coins again.

I think what this question is really about is setting a proper fee, although the 400 sponsors you want to send to is relevant but what you are really asking is how to make sure a large transaction confirms.


text:
How can I create a new wallet on Bitcoin Core?
How can I create a new wallet on Bitcoin Core (Bitcoin QT)? I forgot my old password, so I can't create transactions using the old wallet. I don't have money on my old wallet, I just need to create new wallet without the forgotten password.

Bitcoin Core will create a new wallet if it cannot find the wallet.dat in the Bitcoin Core folder.

Close Bitcoin Core.
If the wallet still has a balance, or addresses from the wallet were given out, back the old wallet.dat up: Move it to a different directory or rename it. If you are sure that it was never used, you may delete it instead.
Restart Bitcoin Core. A new wallet will be created.

If you don't know where to find the wallet.dat, check here: Where is the data folder for bitcoin-qt?

Would be nice to have a reference to where to find this in the bitcoin core code

So, a new wallet is created each time we open Core?

The first time it doesn't find a wallet.dat, it will create one, and then there will be one, so it won't create another.

With bitcoin-core version 0.21, A default wallet is no longer automatically created
Here is the command to create a new wallet.
$ bitcoin-wallet -wallet=wallet.dat create
Topping up keypool...
Wallet info
===========
Name: wallet.dat
Format: bdb
Descriptors: no
Encrypted: no
HD (hd seed available): yes
Keypool Size: 2000
Transactions: 0
Address Book: 0
(BTC) ➜  Wallets

Then start the bitcoin-core by specifying the wallets, for instance:
$ bitcoind -server -walletdir=/home/netsamir/.bitcoin/wallets/wallet.dat

Nowadays you can create a new wallet within the GUI with "File" > "Create Wallet...".