text:
Will Segwit embedded inside P2SH save fee compared to P2PKH?
How much transaction fee will Segwit embedded inside P2SH save fee compared to P2PKH?

Update 1
I found a similar question.

or they can be nested in a legacy P2SH 3... address which are backwards-compatible (although less efficient)

He said less efficient. I want to know how much? Transaction size will be smaller than normal...?
How do transaction costs compare between Bech32 addresses and legacy Bitcoin addresses?

Update 2
I found another one. I'm reading it.
SegWit transaction fee/byte

Update 3
The following page describes block weight. P2SH is used in the example. I think P2SH-wrapped segwit addresses has benefit for cheaper transaction.
Block weight
https://en.bitcoin.it/wiki/Block_weight
Someone posted the following table. I don't know if it is correct or not. But seems segwit(p2sh) has benefit than I expected.
Quick table. Sizes in bytes (virtual bytes for segwit, including the segwit discount)

How do I calculate my fees for a transaction sent from a Segwit address?
https://www.reddit.com/r/Bitcoin/comments/7m8ald/how_do_i_calculate_my_fees_for_a_transaction_sent/

Spending a P2PKH output in an input of a transaction requires 4 * (36 + 1 + 1 + 33 + 1 + 72 + 4) = 592 weight units. Spending a P2SH-P2WPKH in an input of a transaction requires 4 * (36 + 1 + 1 + 22 + 4) + 1 + 33 + 1 + 72 = 363 weight units. Thus, given the same fee rate in BTC per weight unit, it will be cheaper to spend from a P2SH-P2WPKH output than it is to spend from a P2PKH output.

He said less efficient. I want to know how much? Transaction size will be smaller than normal...?

P2SH-P2WPKH (P2SH nested segwit) is not less efficient than P2PKH (non-segwit). It is less efficient than P2WPKH (native segwit).


text:
Why did the remaining money go to another address?
I'll try to be short.
I gifted 1 BTC to a friend several months ago. She is a completely non-technical person. She tried to send a small fraction of that 1 BTC to her brother, and either she seriously messed something up, or fell a victim to some attack.. I never had a reason to use the Blockchain Explorer, but now that I want to try and figure out what happened to her 1 BTC, this is what I see when looking up her Wallet's address in there:
1) A transaction where I send 1 BTC to her:
{transaction id xxxx}              ===>    16WE..<her address> (Spent)   1 BTC
1HHj..<my address> (N BTC Output)          1HHj.. <my address>(Unspent) N-1 BTC

That's what I've expected to see - I've started with N BTC, spent one, it's now in her wallet, and I got N-1 left.
And here's the 2nd transaction (of the only 2 associated with her wallet):
2)
{transaction id zzzz}               ===>    14vg..<her bro's address> (Unspent ???!)  0.0001 BTC
16WE..<her address> (1 BTC Output)          15Hn..<WTF? who's that?!> (Spent) 0.9999 BTC

Well, F&#@. Whatever they did (I should've looked over her shoulder...), the dude got the fraction of the 1BTC which was intended for him - but why the rest ended up in some wallet other than the originator's (as it happened in (1) above).
I don't she'd unknowingly did the "advanced send" stuff, which does allow multiple target wallets.. but anyway, she's not technical, but she ain't dumb to place some random wallet into the 'To:' box.. and being very new to the whole explorer business, being a little confused, but I want to know what happened. Why her bro's wallet has "Unspent" next to it, unlike in the first transaction, is just one of the questions. Where could the second wallet come from is another, obviously.
Thanks!

@venzen: Please don't post partial answers as comments. Comments are meant to request clarification or provide transient related information. —
Alex: I've edited your question's title slightly to make it capture the main issue, and edited the tags. Please feel free to edit the title further if you feel that it doesn't fit your intention. :) — Related: https://bitcoin.stackexchange.com/q/736/5406

@Murch: Sure thing, good job!

What you are observing is a change address.
The wallet created a new address for itself to send the change of spending the 1 BTC to. This is so that it is non-obvious to the rest of the world which is which. The 0.9999 BTC is still hers to spend, just assigned to a different address.
And it is working: if you didn't know she was sending to her brother or his address, you would not be able to infer anymore how many BTC she holds.

I never had a reason to use the Blockchain Explorer

You generally never have to. The problem is that explorers do not know your wallet. They present a lower-level view of what is going on in the system than your wallet does, which can be confusing.
Read more: Why does Bitcoin send the "change" to a different address?

thank you very much. I was actually just thinking - "hm, wallet address isn't the same thing as wallet id - I wonder if it's of a dynamic nature"

source: Stack Exchange

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

sort: votes


text:
What roles of WIF(Wallet Import Format)?
I am reading "Mastering Bitcoin" written by Andreas and I found this explanation about "WIF(Wallet Import Format)"

Key Formats
Both private and public keys can be represented in a number of
  different formats. These representations all encode the same number,
  even though they look different. These formats are primarily used to
  make it easy for people to read and transcribe keys without
  introducing errors.
http://chimera.labs.oreilly.com/books/1234000001802/ch04.html#base58

I have two questions:

I agree with that a private key as decimal numbers is not easy to use for people. However, the hex format and WIF are very similar. I think that WIF has two advantages compared to hex. One is starting with 5 and the next one is having checksum. Are there any good points of WIF.
Can I sign on a transaction by using WIF without the private key?

I'm keen to know about inside bitcoin. Any information will be helpful for me.
Thanks,

Are there any good points of WIF

It is shorter than decimal/hex representation. And, yes, there is checksum.

Can I sign on a transaction by using WIF without the private key?

WIF is a representation of private key.

Another important feature of the WIF is that it encodes whether the public key for the private key is to be used as an uncompressed/compressed public key.

Can someone clarify what a SIPA format key is? BCI Wallet (JavaScript) source code refers to this. Seems like it maybe an archaic WIF synonym.

https://bitcointalk.org/index.php?topic=80861.5

https://bitcointalk.org/index.php?topic=129652.msg1384929#msg1384929

Besides for the checksum, the WIF key is encoded in base58, where similar looking letters, such as uppercase "O" and "I", lowercase "l", and the number "0" are omitted.
WIF does not hide the private key, it merely represents it in an alternative format. A WIF key can be converted back to a private key by walking-back through the formula used to create it: base58 decode the WIF key, drop the mainnet header bytes and checksum trailing bytes off the resulting encoded string, and there you have your private key.
The original Bitcoin client source code explains the reasoning behind base58 encoding:
base58.h:
// Why base-58 instead of standard base-64 encoding?
// - Don't want 0OIl characters that look the same in some fonts and
//      could be used to create visually identical looking account numbers.
// - A string with non-alphanumeric characters is not as easily accepted as an account number.
// - E-mail usually won't line-break if there's no punctuation to break at.
// - Doubleclicking selects the whole number as one word if it's all alphanumeric.

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


text:
Effect of the witness data discount on the UTXO set
Part of the rationale to apply the witness data discount was to incentivize transactions to spend more inputs and promote a smaller UTXO set. Are there any data on the success of this pursuit?

Related: https://bitcoin.stackexchange.com/questions/43596/why-is-the-witness-data-fee-discounted-by-a-factor-of-four/

[...] incentivize transactions to spend more inputs [...]. Are there any data on the success of this pursuit?

I guess this is data, but you'll have to draw your own conclusions.

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


text:
Is it possible that someone forks the chain?
I'm not sure I understood everything but all the clients always keep the longest chain, ok.
So, what happens if an evil person injects bad transactions in a block and successfully mine it (given the difficulty, the probability is extremely low, but let's imagine), how is the network gonna answer?

The rule is that the longest* valid chain is considered the active one. If you build a forking branch with invalid transactions in it, the network (in particular, all full nodes - including miners) will simply ignore it. If it's invalid, it does not exist. Blocks are not relayed to peers before validating them entirely.
You may be able to temporarily fool lightweight clients that don't do full validation, but to build a chain with sufficient length to "confirm" these invalid transactions requires sustained high hashrate, assumed to be impossible without significant (close to or above 50%) mining power.
longest* = it's actually the branch with the highest estimated total number of hashes that is considered the active one (as a tie breaker), not the longest one. This only very occasionally makes a difference (in particular, when the fork crosses a retarget).

Ok thanks for your answer. When you say "the total number of hashes", you mean in the last found block or in the whole blockchain?

In the whole blockchain. Fun fact: that number recently surpassed 1 yottahash (a 1 with 24 zeroes).

another question: when are the transactions checked? When the block is found, when the emitter of the transaction sends it to other nodes or the both?

Every node validates it before sending it to other nodes.

Ok but if I create a custom-fake block with fake transactions, successfully mine it and say to the network I have the answer, they're gonna compare the merkle root, no? My question is : how are they gonna find out if it's a fake and ignore it.

Because they validate it.

@heyo When you say "fake transactions", what do you mean? In what sense are they fake? How are they different from valid transactions?

Fake because they're present twice (double spending). If I understand well, miners can validate blockchain in a fraction of second, Proof Of Work is only there to slow down and regulate the distribution of Bitcoins that need to be created.

Adding the same transaction again in a block within a block chain that already has that transaction is a classic double spend attempt, and simply makes the block invalid. No node or wallet in the network will accept it.


text:
How do I keep my miners from doing duplicate work?
Someone has n machines to mine for bitcoins. What's the simplest way to ensure that mining work isn't duplicated?
(Will separate machines naturally work on different hashes even with the same recipient of rewards, or will there need to be some sort of pool software running organising nodes? Would having each new node create a wallet first be sufficent?)

My understanding of the mining mechanism is this:

The miner connects to a Bitcoin client (or pool) and submits a getwork request
The client (or pool) responds with a chunk of data containing the block data, including the randomized bits, and the nonce (the bit which the miner changes)
The miner increments the nonce multiple times until it either finds a solution or overflows, at which point it submits a new getwork request to the client (or pool)

Since the client/pool is responsible for handing out the getwork requests, the client/pool is also responsible for guarding against duplication. Since the entropy of the data handed out by getwork must, by definition, be greater than or equal to the output entropy of SHA256 (2^256 bits) it should have the same or lower chance of collision (1/2^256).
In this case a "collision" would be handing the same work to multiple miners and so we can say that multiple miners being given duplicate work has so low a risk of occurrence as to be a negligible risk.
One of my favorite comp sci professors once told me that the chance of such a collision (per unit of work) is about the same as winning the state lottery 11 times in a row, then being struck by lightning, surviving and being elected president. And he had the math to back this up...

By default a bitcoin node does not hand out duplicate getworks. Neither do any of the mining pools. So you don't need to do anything special, just point your miners at some source of work units, either a pool or your own instance of bitcoin, and off you go.

It is technically possible for duplicate getworks to occur, but it's so unlikely as to probably never occur.

Remember that coinbase has no input transactions, its input script can contain some arbitrary message. As long as the pool assigns each work unit with different message, there will be no duplicated work. [1]:

Pools change a value in the coinbase message for each worker/piece of
  work they assign.  Unless the pool wrote their own software and did it
  HORRIBLY wrong, there is absolutely no way that any two workers will
  be hashing the same values.

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


text:
Can I get an overdraft?
Hypothetically...
A uses a desktop bitcoin client, who would like an overdraft facility.
B has lots of bitcoins and would like to offer that overdraft and charge interest on the overdrawn amount.
Can A just go into a negative balance with B's backing? If not, what would A and B need to change to achieve an overdraft or an aproximation of an overdraft?
(Note, an overdraft is different from a loan, but a loan might be used to approximate an overdraft if its automatic.)

note that an overdraft is /exactly/ like a loan, inasmuch as you get another person/entity to loan you money for a period of time.

When you overdraft with a bank, you usually see a fee -- regardless of whether or not the bank honors that draft.  With Bitcoin, either the transaction is valid and gets propogated to each of the peers or it is invalid (funds already spent) and gets ignored.

Bitcoins are like tangible cash in a sense that you can't overdraft. If you want to spend more Bitcoins than you have, you have to get more Bitcoins first. To achieve that either B has to send A some Bitcoins, or A and B have to create a transaction together (A created one input, signs it, B creates another input, signs it, and then someone needs to do some balancing of how much Bitcoins go where).
Alternatively, one can expect to see some Bitcoin banks in the future that allow you to overdraft from their shared address, and later charge you for it. This solution is not hard to implement, but I don't know if something like this is available anywhere currently (maybe through IBB). The main problem with this solution is trust between parties and how effective debt collecting would be.

The only way that this could happen is if someone else was willing to offer a line of credit. I am far from an expert but it strikes me as a pretty high risk loan and therefor will be done at a high interest rate.
I can't imagine any mainstream bank wanting to touch bitcoin at the current time. I would imagine getting past thinks like anti-money laundering regulations would just be way to much of a pain for the amount of volume that would be involved. I used to work at a bank, Anti-money Laundering regulations are things they take VERY seriously. Messing that up is a good way to get hit with million dollar fines.


text:
What is criteria of mining priority except for transaction-fee?
I am reading "Mastering Bitcoin written by Andreas" and I found this explanation of mining.

Transactions are added to the new block, prioritized by the
  highest-fee transactions first and a few other criteria.
Source: [Mastering Bitcoins: Mining Transactions in Blocks]

I want to know what the a few other criteria are. And I want to see the source code where the system prioritizes by highest-fee transactions first and a few other criteria.
I guess that the code is in miner.cpp. But I don't understand the exact line.
https://github.com/bitcoin/bitcoin/blob/master/src/miner.cpp

The code you're looking for is in CreateNewBlock.
The usual way transactions are added to a block is by sorting by priority. The priority of an input is the value being spent in the input multiplied by the number of confirmations it has. The priority of a transaction is the sum of all the priorities of the inputs. See this line:
dPriority += (double)nValueIn * nConf;

Transactions are added to a vector of transaction priority:
vector<TxPriority> vecPriority;

Then they are sorted according to their priority:
TxPriorityCompare comparer(fSortedByFee);
std::make_heap(vecPriority.begin(), vecPriority.end(), comparer);

And one by one, transactions are verified to be valid and then added to the block, done by order of priority, higher priority first.:
while (!vecPriority.empty())
...
// Added
pblock->vtx.push_back(tx);

♦ As far as I read the code, if nBlockPrioritySize is set larger than 1, transaction fee has higher priority than the sum of all the priorities of the inputs. Is it correct?


text:
How to derive BTC m44 addresses from xpub?
I checked Swan's Address Derivation Library https://github.com/swan-bitcoin/xpub-tool.
I try to get m44 address, but I got m84. Why? Do you know is it any parameter to force return m44? I tried to pass path: "m/44'/0'/0'/0", but it did not help.
Do you have any idea?
addressFromXPub("xpub6C5oXscLYZwgq2DB42TFC32QcoPa1MeCWUNPZSjydunniCM77TRcBfFnjScJeToVXS5RBDr53Ls5RXvDHujmFSL4Fqc9kkpsMjU1vg68xv7"
  );

export const addressFromXPub = (key) => {
  console.log(
    addressesFromExtPubKey({
      extPubKey: key,
      network: "mainnet",
      addressCount: 3,
    })
  );
};

[
    {path: "m/84'/0'/0'/0/0", address: "bc1qfgnqm6g46ys0h9gh606m76wemka2rrttrac90x"
    },
    {path: "m/84'/0'/0'/0/1", address: "bc1qnvzdj2m4wsrcrtl30j5c304qa77v4h2s8ajp0r"
    },
    {path: "m/84'/0'/0'/0/2", address: "bc1qjf5u77e6clwkxgf7a0shw7zq2nhqr4vjys7an0"
    }
]

Where in your code are you trying to pass the derivation path as m/44'/0'/0'/0? I don't see it in your question. Also, xpubs already have the derivation path encoded in them. You can't change an xpub's deriv without changing the root and then create a new xpub/ypub/zpub.

The following key:
xpub6C5oXscLYZwgq2DB42TFC32QcoPa1MeCWUNPZSjydunniCM77TRcBfFnjScJeToVXS5RBDr53Ls5RXvDHujmFSL4Fqc9kkpsMjU1vg68xv7

Corresponds to a level 3 public key w/index of 0x00000080 which is 0h/0'. In the context you've described it probably corresponds to "m/?/?/0'". This key's parent's fingerprint is 0x3ab9169c, so you'd need to provide the parent's full fingerprint to confirm the original derivation path.
Although m44 & m84 have the same master/root key, they have completely different level 1 keys, which would change all lower nodes. In short you can only derive m/... full paths from root keys, not child keys, which you've provided.
Edit: The key you've provided is probably meant for deriving receive & change addresses of a certain address type.

thanks, do you know here: https://iancoleman.io/bip39/ which field contains the root keys? I tried both: Account Extended Public Key and BIP32 Extended Public Key to pass to addressesFromExtPubKey, but again m84 was returned, strange


text:
What keeps the average block time at 10 minutes?
I've been told "the network" sets the difficulty level such that there will be one new block mined every ten minutes.
I imagine the rich would instead prefer to keep difficulty as high as possible to prevent other people winning their 50 BTC and causing inflation, whereas the poor would prefer as low a difficulty as possible in order to get a greater share of the BTC available.
(By rich and poor, I mean only according to how many BTC someone has.)
What's the force saying "No, forget your petty self-interest and set the difficulty to 10 minutes."?

Only approximately every 10 minutes: https://bitcoin.stackexchange.com/questions/77783/shortest-and-longest-block-interval-time-ever-recorded-in-bitcoin

The bitcoin network rules define which difficulty each block has. This is done through a simple formula that only depends on the block chain itself. This means that if you give me a blockchain with blocks 1 through N, I can tell you with 100% accuracy what the difficulty of block N+1 will need to be, and I can reject any block which has the wrong difficulty. This means it is not really "the network" deciding on a difficulty, but really each separate node calculating and enforcing it independently.
The actual formula is this: at every block N which is a multiple of 2016, look at the time stamps of the past 2015 blocks, and change the difficulty for what follows to old_difficulty*(2 weeks)/(time the past 2015 blocks took). Additional rules on which time stamps are allowed in blocks prevent cheating (mostly).
In short, by using a bitcoin client, you agree to its network rules, and those include the difficulty adjustment.

Hmm, could you be more precise about the "time stamp" used? Afaik the time in the block header can be very inaccurate, and block propagation can induce some delay between nodes (so, if they record the time they first heard of the block, not everyone would exactly agree on the same difficulty). And, what would happen if one generated blocks with a computer whose clock is out-of-sync (like, days in the past/future)? (If this is not adequate as a comment I can make a separate question.)

I think the important thing is that it's not a buncha servers voting on what the difficulty should be, which is what it sounds like when people tell me that the difficulty is set by the network.

@billpg - Correct.  It would be more accurate to say difficulty is set by the algorithm.  It is adjusted every 2016 blocks based on average execution time for prior 2016 blocks to ensure future average execution time remains ~10 minutes.  Of course a miner could ignore/break this algorithm but then they wouldn't be mining valid bitcoin blocks (they would be mining a fork).

Just to be completely clear: "time the past 2015 blocks took" means "Timestamp of block 2016N-1 minus timestamp of block 2016N-2016"? And without the off-by-one bug, it would have been block 2016N-2017?

And another question - is it multiplied by 2 weeks (1209600 seconds, the desired time to create 2016 blocks) or by 1209000 (the desired time to create 2015 blocks)?

@MeniRosenfeld I believe so, yes.  And it's "14 * 24 * 60 * 60; // two weeks" (first mention of nTargetTimespan in main.cpp)

OH, it's 2 weeks and 2016 blocks, not 10 minutes. 2 weeks = 20160 minutes / 2016 = 10 minutes per block.

What would happen if my bitcoin client where cheating and not agree to its network rules, and put less or more transactions in the block?

There is no rule that requires a specific number of transactions to be put in a block. This question and answer is about proof of work in blocks, not transactions.

Each individual client checks the validity of each block it receives. If it receives an invalid block, it ignores that block as if it didn't exist.
If you mine a block and other clients ignore it, you don't get your 50 Bitcoins. You only get to keep your 50 Bitcoins if the block you mined becomes a link in the accepted public chain.
One of the first things that is checked by the client when it receives a block is that the block meets the difficulty target that it calculates based on how quickly blocks have been generated. If that client doesn't think that block meets the difficulty target that it calculated, then it ignores the block.
So you have to mine a block that other clients will accept, or you don't get your 50 Bitcoins.

Software. The Bitcoin network runs on a set of previously-agreed-upon rules that are built into the Bitcoin client software.
One such rule is that the difficulty should be changed every 2016 blocks to make a new block take, on average, 10 minutes to mine. As the economics change, miners will startup and shutdown making the average block take more or less than 10 minutes to find but the next time another 2016th block is mined, the difficulty will again be re-adjusted.
I would actually reword your question as well since a block's difficulty isn't technically set to a time but a number. Instead you might want to ask, "What keeps the average time to mine a block at 10 minutes?"

The difficulty is adjusted every 2016 blocks by the whole network so as to average the Bitcoin generation to a block every 10 minutes. If the coins were on average generated too fast since the last adjustment, the difficulty is increased, if they were generated too slow - it is decreased.
What the rich can only do is do their best to have the highest possible hashing speed. This would make them brake the block more often (they would earn more money), as well as increase the difficulty higher, so people with lower-end machines could not brake a block without using a pool in a reasonable time (as is the case currently).
What the rich can also do is hoard the Bitcoins, so their value would increase. Keep in mind that even if someone would own 99+% of all the Bitcoins the currency would still be as usable as with bigger pool of coins (Bitcoins currently can be divided to up to 8 decimal places, and there is nothing stopping a future implementation from dividing them up even further).
Of course if someone wants to depreciate the value he or she can undermine the trust people have in the coins. For example, the hacking of Mt.Gox caused a lot of people to be more reserved when handling the coins.
On the other hand, if one wants to increase the value of Bitcoins, one should promote them, convince new people to invest in them and be a contributing member of the community.


text:
Why won't my pool find my miners?
My main devices: 12x U1 AntMiner + Raspberry Pi B 512 MB (Included 32GB SD containing MinePeon)
As normal I should:

Plug in those miners & Raspberry Pi's micro USB-cable into hubs
Connect the hubs to Raspberry Pi
Connect R-Pi to the internet (88 MBit/s, if it's important)

It should start from here, where I could setup my pool but none of my miners were found.
P.S. I'm sure that cable and software are OK (Checked 4 times)

What hubs are you using? How are they connected?

And have u resolved it?


text:
Attach worker to CEX.IO account
I have been able to set up basic mining using minerd, and it is happily mining away on GHash.IO. However, it doesn't seem to be attached to my CEX.IO account, even though I am mining with these arguments:
minerd --url stratum+tcp://uk1.ghash.io:3333 --threads 2 --userpass [myusername].worker1:

Can anyone point me in the right direction?
EDIT: The above was mining with my account after all. A refresh rate of 1/day lead me to believe otherwise. Sorry to waste everyone's time!

Why do you have a : on the end?

The colon separates the username and the password. As a password isn't required for my pool, the left side is left empty.

this work
./minerd --url=stratum+tcp://uk1.ghash.io:3333 -u username.workername -p xxx

authors: Курбан Багдуев


text:
Can you create a bitcoin transaction where you specify the miner?
I want to be able to specify which bitcoin miner receives the fee. Is that even possible?

the fee will alawys go the miner who finds the block, therefore you need to make sure that the transaction only get to the miner you want to give your fees

Not directly. You could do it by transmitting the transaction only to the miner in question, and making sure that his software will transmit the transaction to no one else (note that standard clients don't work this way; they're happy to retransmit transactions quickly across the whole network). This would mean that only this miner is trying to include it in a block, so he's the only one that can get the transaction fee.
Note that this means it might take a prohibitively long time for this "transfer" to go through, since you have to wait for that miner (or pool) to find a block. In the case of a pool, the transaction fee goes to the whole pool, not a certain miner in the pool (unless you have some off-blockchain communication).


text:
I have over 10,000 shares accepted. How can I find out how much bitcoin that is?
I have over 10,000 shares accepted.  How does that translate to bitcoin?  How much bitcoin is 10,000 shares?  It says it will transfer to my wallet when I get .01 bitcoin.  But so far, nothing in my wallet.

What pool is it? What payout scheme do they use? Impossible to answer without that, at least.

The value of a difficulty one share is roughly the block reward divided by the difficulty. Right now, the block reward is 25 and the difficulty is 11,756,551,916. So 10,000 shares (assuming they're difficulty one Bitcoin shares) is worth about 0.000021 BTC.

Shares are no currency. Only if the pool you are mining for is actually finding a block you will be partial rewarded in dependence of how many share the other miners have send.
Some example:
Every block rewards 25 BTC
You got 20_000 shares
All other miners together done 1_000_000 shares (they will have more for sure)
Then you have this formula:
Your-Shares / All-Shares * Block-Reward
20_000 / 1_020_000 * 25 = 0,49 BTC
This would be your reward but the pool vendor will take off some fees from that as well.


text:
BITCOIN tutorials
I am new to bitcoin. I know a little about bitcoin mining.
Is there any tutorial or anything that i can read so that i can start bitcoin mining ?
Maybe a step by step guide or anything ?
Thanks in advance!

Welcome to Bitcoin.SE. Please first check if a question has already been asked before you ask a new one. :)

Actually there is not question that explains about bitcoin and mining from start to a newbie! Hence i posted the question. If there is already a question , please do share the link for the same !

Actually, nmat explains what you have to do on the question I linked, and hafnero updates for today's situation. There are no complete tutorials here, because ASICs usually work out of the box, and GPUs or CPUs don't cut it anymore. Today, it doesn't make sense for the average new user to start mining anymore: Bitcoin mining is not profitable unless you have very cheap electricity and very expensive hardware.


text:
How do you calculate a reasonable transaction fee?
These days transactions are taking a very long time to confirm. Higher transaction fees could be a possible solution. I want to know how to calculate a reasonable transaction fee, which is not so expensive and results in less time until confirmation (within 10-15min). Could you advice me on how to implement it?

See https://bitcoinfees.21.co/ for mempool size and tx fee. This will suggest fee in satoshi/byte depending on current network conditions.
If you are looking to exact fee in BTC for spending from wallet, you can try  https://github.com/shivaenigma/btxfees.

I was quite surprised at the size of fees - the 5000-10000 satoshi fees per transaction (2-5 cents?) are larger than participants/banks would pay for an international wire transfer in e.g. EU SEPA CT system.


text:
$40 of peercoin mined per day: possible?
I have a friend who tells me she mines $40 worth of PPC per day per machine.  She has around 5  Cointerra ASIC servers working all day long.  One server is part of a pool.
I don't know enough about the rates.  But to me, it sounds very unlikely.
Is this, in fact, possible?

Are the servers using CPUs, GPUs, ASICs, ..? It would take some serious firepower to make $40/day, but connecting it to 5 servers is not unreasonable (I'd guess). 5 servers worth of CPUs? No way.

They're Cointerra ASICs.

It would take around 1.6 TH/s to mine that as BTC and then exchange it, or 2 TH/s to mine that much PPC (not counting minting the PPC that you're mining, which is supposed to work out to 1% per year).
Cointerra sells a 1.6 TH/s miner for $3,500. With this $17,500 investment (plus any computers, electricity, maintenance, time, etc. associated with that), yes, she is mining $200/day on average currently (but ever-decreasing as the difficulty goes up), subject to market volatility. If only one is part of a pool and the rest are solo mining, that means she's taking the chance that she might never get anything of value from those 4 servers. That is a pretty high stakes gamble, if you ask me.


text:
Curious about a network-based double-spending attack
In their paper Two Bitcoins at the Price of One? Double-Spending Attacks on
Fast Payments in Bitcoin, Karame and Androulaki outline a particular race-attack that involves the slight control over a vendor's network connection (we need a direct connection to the vendor in this attack).  After reading it, I wondered why we couldn't connect more than one peer to the vendor.
Suppose an adversary A who owns many nodes on the network surrounds a vendor V so that V unbeknowingly is only connected to A.  That way, we could send a transaction to them, say, T_AV.  Then, when they broadcast that transaction to the network, they're just broadcasting it to the adversary, who would of course confirm the validity of T_AV.  In the meantime, so long as V isn't connected to the rest of the network they wouldn't know about the double-spend.  This would make for an attack that has feasible hardware requirements, and isn't hindered by fast transactions.
Am I missing something or would this attack work?  I'm also curious what kind of measures Bitcoin takes to prevent the controlling of someone else's connections, and what kind of counter-measures attackers have used to control someone else's connections, if any.

You're describing a Sybil attack. That's a known weakness (see https://en.bitcoin.it/wiki/Weaknesses#Sybil_attack) that can augment many other types of attacks.

That sort of attack sounds definitely doable. But it's important to take into consideration the cost of this type of attack versus the cost of the thing that you're actually stealing (double-spending):

If you're buying something expensive, the vendor will most likely
require you to wait at least 2-3 confirmations, defeating the
possibility for this type of attack.
If you're buying something inexpensive, the vendor could probably accept unconfirmed transactions, opening the possibility for a double-spending attack. But as an attacker, it'll probably cost you more to pull off this kind of stunt than actually buying the thing.

In conclusion, this type of attack can probably be successful, but the costs outweigh the benefits.


text:
lightning-cli listnodes is empty. Am I missing something?
I want the result of listnodes like the following. How can I do that?
{ "nodes" :
    [
        { "nodeid" : "028e5a8e86540f703e1f58880d35d1e318a54c27d84ec1edbcde04a78ed4469a1e", "alias" : "???? EXANTE", "color" : "007f39", "last_timestamp" : 1516636793, "addresses" :
            [
                { "type" : "ipv4", "address" : "148.251.53.235", "port" : 9735 } ] },

https://gist.github.com/coinables/19223b8bf09a24a3a6e8240433df04bf
This is what I did:

Installed c-lightning referring to https://github.com/ElementsProject/lightning/blob/master/doc/INSTALL.md#to-build-on-ubuntu
Add config file as the followings.
Open firewall for port 9735
Check netstat. but 9735 is NOT listing. ("netstat -anp | grep 9735" is empty)

$ cat ~/.lightning/config
alias=xxx
rgb=008000
network=bitcoin
bitcoin-rpcuser=xxx
bitcoin-rpcpassword=xxx
bitcoin-rpcconnect=xxx
bitcoin-rpcport=xxx
announce-addr=xxx:9735
log-level=debug

$ ./cli/lightning-cli getinfo
{
  "id": "xxx",
  "alias": "xxx",
  "color": "008000",
  "num_peers": 0,
  "num_pending_channels": 0,
  "num_active_channels": 0,
  "num_inactive_channels": 0,
  "address": [
    {
      "type": "ipv4",
      "address": "xxx",
      "port": 9735
    }
  ],
  "binding": [
  ],
  "version": "v0.7.0-41-g1cd0ae1",
  "blockheight": 567741,
  "network": "bitcoin",
  "msatoshi_fees_collected": 0,
  "fees_collected_msat": "0msat"
}

$ ./cli/lightning-cli listnodes
{
  "nodes": [
  ]
}

In order for list nodes to provide some output you need to first connect to at least one peer on the network. Because the peer is giving you all the information from the gossip protocol about announced nodes and announced channels.
So do lightning-cli connect 03efccf2c383d7bf340da9a3f02e2c23104a0e4fe8ac1a880c8e2dc92fbdacd9df@144.76.235.20:9735 to peer with my node.
In case I change my node in the future you can try any node from a node explorer or find the address of my node at https://ln.rene-pickhardt.de
Also keep in mind that syncing the network over gossip takes some time (currently a couple of seconds) after you connected so you should not call list nodes right away.

Thank you. It worked. The current number is "2914". "$ lightning-cli listnodes | grep nodeid | wc" => 2914
btw, I want to confirm if 1ml.com shows the correct figures. This is why I'm setting up c-lightning. I think I will post some another questions this site.

and I subscribe your youtube channel. I like it and very informative.


text:
What security threats does blockchain technology solve or present?
I am interested in security, identity and authenticity in electronic networks.
What sort of security concerns could blockchain technology help with and what sort does it pose?
Are there entry and exit security concerns?

The problem Bitcoin solves
Bitcoin provides a method for tracking scarce digital assets. This was previously solved by central entities providing an authenticator role and exerting control. Bitcoin solves this problem by creating a truth source from network consensus. Besides for its payment application, this truth source can be employed in a number of different ways, such as proof of existence, identity management, and due to its limited supply perhaps as a digital gold.
By nature, decentral systems are inefficient: For a big entity, i.e. countries or companies, with reasonable grounds to trust their own central truth source, there are more efficient ways of accounting their monetary flows.
Blockchains in general are only as valuable as they are secure, so I think it will be unlikely that there will be numerous competing services based on different blockchains, rather I think that there will be few, and additional services built on top of them, in the fashion of Colored Coins or sidechains.
Blockchain Security Vulnerabilities
As moshaholo already said the only known fundamental vulnerabilities are double-spending and majority attacks. While these are currently reasonably unlikely in Bitcoin, other blockchain projects with less hashpower have turned to implement additional measures to protect their integrity:

Alternative Mining algorithm, e.g. Merged Mining, Scrypt, X11, X13, X15, NIST5, POS, SHA-3, multialgorithm mining
Alternative Difficulty adjustment algorithms, e.g. Kimoto Gravity Well
Extensive Checkpointing

There may be bugs in Bitcoin Core that haven't been discovered yet, however the implementation of alternative client software is helping to uncover unexpected behaviour as the network matures.
Lesser problems include that correct time cannot be enforced on the network, traceability of payments can lead to reduced fungibility and loss of privacy.
Are there entry and exit security concerns?
While interaction on the blockchain is secure and mostly trustless, there are challenges with

wallet security
exchanging currency for bitcoin: counter-party risk, fraud by charge-back, scams
verifying authenticity of business partner's information

Identity on the network
As every user can use as many addresses as they want, identity on the network can be fairly private or as public as one wants. Privacy takes some effort, as one can reveal common ownership of addresses e.g. by using them together as inputs for a transaction, or by creating obvious change outputs.

I'm not sure, whether I am not actually missing the point of your question about entry and exit security. If you could point out whether I got your question, or specify it further, it would be appreciated.

Blockchain technology solves "Double-Spending" without a trusted third party

Blockchain technology is vulnerable to Majority Attack

Blockchain technology is often said to solve the Byzantine General's Problem. Blockchain technology addresses the problem; it does not solve it (look no further than a 51% attack for proof of this). It's semantics, but important nonetheless

@WizardOfOzzie It solves a subclass of the Byzantine General's Problem. See Satoshi's description of it here.


text:
reinstalled multibit wallet
I had to remove a copy of multibit wallet from my system & after multiple times of trying to get it to work on my 64 bit system I can now open multibit wallet. I guess when I removed the program that the wallet .dat files were removed as well but I do have the wallet addresses that were removed. Is it possible to retrieve the missing data? Can I just send my bitcoin to another wallet or do I have to have the .dat file in order to accomplish this? Hopefully I have not caused all my bitcoin to go away permanantly. Any advice on this subject will be totally appreciated big time.

According to MultiBit's Getting Started, the wallet file of MultiBit seems to be named multibit.wallet, not wallet.dat. You might want to try searching for that instead.
Sorry to break the bad news, but the addresses aren't sufficient to regain control of the bitcoins. If that were the case, anyone that knew your address could grab your coins, and addresses are public information which would make for a very insecure system.
Therefore, you need your private keys in order to transfer your bitcoins.


text:
Is there a class or sequence diagram for BitcoinCore?
I'm looking at the code located at https://github.com/bitcoin/bitcoin/tree/master/src
Does anyone have a basic diagram of what calls what, just a sequence chart of how all the classes piece together and what's a good entry point.  There was a thread with some overview but there has been a lot of change since it seems.  Just wondering if anyone has gone through this process.

Hi curfewed, I edited your question to make the title a bit more expressive, I hope that it still is aligned with your intent. Please feel free to roll-back or improve my changes, if it isn't. Since you are new to Bitcoin.SE, you might appreciate a look at our [tour].

You can use source code browsing tools like Source Insight(proprietary) or doxygen(Free software) to create dependency diagram of functions and files.
The doxygen documentation for Bitcoin source can also be found at https://dev.visucore.com/bitcoin/doxygen/


text:
Where can I find an overview of Bitcoin exchange APIs?
Where can I find information on a large number of "exchange" or "trading platform" APIs showing which currencies (digital and fiat) they convert between?

Hi user41634,
I just edited your question's title in order to better capture the question's intent. Should you disagree with what I did, feel free to change it to your liking or rollback. The second part of your question seemed fairly unrelated, so I removed it, to give your question a clear focus. If you can think of how to ask that without inviting discussion as it was before, you might want to ask that as a new separate question.

Since you originally stated that you wanted to write a trading bot, perhaps you will find the following library useful:
"XChange is a Java library providing a simple and consistent API for interacting with over a dozen Bitcoin exchanges providing a consistent interface for trading and accessing market data" (according to their GitHub page)
Unfortunately, I cannot tell you more about it, as I just stumbled upon it by accident.

Each site has its own set of apis and documentation, I don't think it's likely that you'll find a single site with a complete set of APIs.
Here are some links to get you started:

coinbase.com/api/doc

Are such APIs for free?

The API is usually free (I am looking into Coinbase/GDAX), but you are charged a fee at every trade. Also note, some of the above are N/A any more...

Multiple links have been removed because they were linking to broken or domain parking services. Please consider adding new links to make this answer more useful.


text:
How do transaction costs compare between Bech32 addresses and legacy Bitcoin addresses?
Now that Electrum 3 supports Bech32 addresses for segwit, when sending coins to a legacy address are fees higher or cheaper?

Transfer from Legacy ⟶ SegWit: pay full fee (doesn't benefit from SegWit discount)
Transfer from SegWit  ⟶ Legacy or SegWit: discounted.

Note: SegWit addresses can be Bech32 bc1... or they can be nested in a legacy P2SH 3... address which are backwards-compatible (although less efficient). Many exchanges, wallets support the legacy "nested" form only.

In general spending from a segwit output (i.e. "sending from" a segwit address) will be cheaper than spending a non-segwit output (i.e. "sending from" a non-segwit address). So yes, if you "send from" a bech32 address, it will be cheaper than "sending from" a P2PKH address.

My coins are on mycellium now and I'm assuming I can't send these coins to a bc1 address. How do you suggest I move it into electrum? Do I just do a sweep?

Import your seed phrase into Electrum and send from there. Or use Electrum to sweep your coins.


text:
How to file bitcoin income to the IRS as a nonresident alien
I am a Chinese student in US right now, and my taxation status is Nonresident Alien.
Since IRS has announced bitcoin as "property", I just wonder how to define my gains from my sell of bitcoin in US. My husband bought bitcoin on Chinese website by RMB and I sold them on coinbase to get USD.
According to IRS's explanation, is the money I gained from coinbase "US source property gains"? If so, how to calculate the gains? Does IRS accept transaction records from Chinese websites? Some of the websites even went bankrupt already.
It's my first time to file my taxes in US, I really don't want to cause any trouble. Thanks!

You might get answers on Money.SE since as far as I know, the answer should be the same as for buying and selling any other kind of property.

The analysis is the same as for other property.
You only need to report income that is effectively connected to the US or that is fixed, determinable, annual, or periodic (FDAP).  So while you would need to report a US-sourced scholarship grant or wages from working in the US, you do not need to report a foreign transaction.
If the transaction was a foreign person abroad (your husband) buying and then selling from foreign people, and the property was not located in the US (this is mostly about real estate), then you should be quite safe not reporting it.  The fact that he sold it for USD does not make it reportable or taxable in the US.
Please review Publication 54 if you have further questions.

authors: Воробьев Павел


text:
Pros and Cons between Ripple payment verification and centralized authority's payment verification
I want to know the advantages and disadvantages between Ripple payment verification system and centralized authority's payment verification system.

A centralized payment verification system, like Paypal or any number of financial institutions, only considers payments "valid" if they come from within the organization. A single organization is responsible for verifying the truth of statements (with a statement being "Bob sent Alice $50" and the like). This means that there is no mechanism of agreement on transactions required.
By contrast, decentralized systems like Bitcoin, Ripple and Stellar all must come to agreement on which transactions are valid, without a centralized authority to confirm their truth. Proof-of-Work, Proof-of-Stake, Tendermint and SCP (Stellar Consensus Protocol) are each different solutions to this problem.
Pros of a centralized system:

No need for a mechanism of agreement, such as mining or consensus
Lower operational costs

Cons of a centralized system:

There is a single point of failure. If the central authority goes down or offline, the entire network is compromised.
Centralization can post ethical issues of who controls information and money.It opposes the ethos of a neutral net.
Creates a closed network, meaning that entities can only join the system with the consent of the centralized authority
May only serve the interest of the centralized authority.
Does not allow for p2p interaction/payments


text:
Calculation of arbitrage profit
I have made calculations based on 3 exchange buy and sell orders. (Cryptsy, C-cex and Bter) and have taken DOGE/BTC market into account.
Both cryptsy and C-cex have the same calculations to get the net total amount(Final amount including transaction fee) for both buy and sell order.
In these exchanges Both buy and sell exchange transaction fee are  in terms of BTC  for DOGE/BTC market. But bter has different calculation on sell order and same calculation for buy order as in cryptsy and C-cex. Here  buy transaction fee in terms of BTC and sell transaction fee in terms of DOGE.
I am greatly confused about calcuting profit? Kindly look at both Cryptsy and Bter websites to see  the difference between sell orders.
DOGE/BTC Market
case (1): Both buy and sell exchange transaction fee are  BTC (cryptsy-buy, C-cex- sell)
Buy Exchange = Cryptsy
Sell Exchange =  C-Cex
buy amount = 1 DOGE
sell  amount = 1 DOGE
buy price =  0.0000038 BTC    //taken from cryptsy exchange  DOGE/BTC buy
sell price =   0.0000042 BTC  //taken from Ccex exchange  DOGE/BTC sell
buy_ex_txn_fee = 0. 002 BTC (0.2%)
sell_ex_txn_fee  = 0. 0015 BTC (0.15%)
Buy order:
Total = buy_amount * buy_price (Total = 1 * 0.0000038 = 0.0000038 BTC)

buy_txn_fee =  Total * buy_ex_txn_fee (buy_txn_fee  =  0.0000038 * 0. 002 = 0.000000008  BTC)

buy_order_Net_total =   Total +  buy_txn_fee (buy_order_Net_total = 0.000003808 BTC)

Sell order:
Total = sell_amount * sell_price (Total = 1 * 0.0000042 = 0.0000042 BTC)

sell_txn_fee =  Total * sell_ex_txn_fee (sell_txn_fee  =  0.0000038 * 0. 0015 =
0.000000006  BTC)

sell_order_Net_total =   Total - sell_txn_fee (sell_order_Net_total =  0.000004194 BTC)

Profit:
 Profit =   sell_order_net_total – buy_order_net_total (Profit =0.000004194 BTC -  0.000003808  BTC = 0.000000386 BTC)

Case (2): (For the same DOGE/BTC market buy transaction fee in terms of BTC(cryptsy) and sell transaction fee in terms of DOGE(Bter))
Buy Exchange = Cryptsy
Sell Exchange =  Bter
buy amount = 1 DOGE
sell  amount = 1 DOGE
buy price =  0.0000038 BTC
sell price =   0.0000042 BTC
buy_ex_txn_fee = 0. 002  BTC (0.2%)
sell_ex_txn_fee  = 0. 0018 DOGE (0.18%)
Buy order:
Total = buy_amount * buy_price (Total = 1 * 0.0000038 = 0.0000038 BTC)

buy_txn_fee =  Total * buy_ex_txn_fee (buy_txn_fee  =  0.0000038 * 0. 002 = 0.000000008  BTC)

buy_order_Net_total =   Total +  buy_txn_fee (buy_order_Net_total = 0.000003808 BTC)

Sell order:
Total = sell_amount * sell_price (Total = 1 * 0.0000042 = 0.0000042 BTC)

**// sell_ex_txn_fee is in terms of DOGE. How should I calculate profit?**

Profit:
Profit = ???

Am I heading in correct direction? Is there any other easiest way to calculate profit? If possible kindly explain me with sequence of steps?

What you are doing different from 'most' arbitrage options, is that you swap buy and sell. Arbitrage works because of the direct sell and buy options. What you are doing now, is spread trading. You wait untill someone else accept your offer, instead of the other way around. You depend on other people.

Please join me in chat, as there are more things I have to say and ask, otherwise we'll spam the whole comment block here. I made a new room, and I have no friggin' clue how to force you in, so you have to come willingly :)

@mathias711 - yeah sure. Give me the link

http://chat.stackexchange.com/rooms/15491/calculation-of-arbitrage-profit

The formula for sell_order_Net_total will be:
 sell_order_Net_total = sell_amount * sell_price * (1- sell_ex_txn_fee)

The final profit:
Profit = sell_order_Net_total - buy_order_Net_total

Keep in mind that there are also transaction fees between the two exchanges. If you have traded all your DOGEs for BTC on 1 exchange, and BTC for DOGEs on the other, you'll want to mix both accounts with an equal amount of DOGE/BTC. The transaction fees should also be accounted for if you want to trade between exchanges.

Mathias &711 - Greatest job & greatest man. Thanks.

I have created a custom script to calculate your profit from trading between two exchanges. You can customize the Buy and Sell price. The script also takes into account the transfer fees and Buy and sell fees. I plan on working on this script more but I want to see how much interest I receive. Would like to include:

Live updates on prices from different exchanges.
Quick trading with Trade Secrets and Trade Tokens.

I can't wait to here the feedback.  http://theark.io/projects/btcarb/


text:
I sent bitcoin from my BitcoinQt wallet while it was unsynced to another wallet, do I have to wait for it to sync?
The wallet shows that the transaction has not been broadcasted yet with 0 of 6 confirmations. My wallet is stuck on a block right now.

Is your question whether transactions can be broadcast without being in sync with the blockchain?

Yes, you have to wait. Otherwise you would be able to pay things with money you don't have in your wallet.
You could have spent all your bitcoins, but since your wallet is not synced you may be able to spend money you have already spent but has not been synced, thus it is not allowed to do that.

That sentence is somewhat ambiguous: "Otherwise you would be able to pay things with money you don't have in your wallet." Obviously his transaction wouldn't be accepted by the network, as it would be spending UTXO that don't exist, so no, he wouldn't be able to pay.

authors: татьяна просветова


text:
What is a mBTC?
I have been trying to find out just what is an mBTC is. Everywhere I look I cannot find out what the value is compared to a Bitcoin.
I was hoping you could advise me of what the value is.

I'd have thought that we have that question already, but we actually don't have it yet! Nice find. ;) These are somewhat related: What is a 'Satoshi'?, Naming convention: MilliBit or Millibitcoins (mBTC), microbitcoin or Mikrobitcoins (μBTC)?

m is the symbol for the metric prefix milli which indicates a unit to be one thousandth of its base unit.
A millibitcoin therefore is 0.001 BTC or 1/1000 BTC.

mBTC stands for milliBTC. Just like millimeter or millivolt, milli indicates 1/1000th in the metric system.

mBTC is also know as millibitcoin and it also one thousandth of a BTC (1 mBTC = 0.001 BTC) and there is another unit μBTC also known as microbitcoin and it is also one millionth of a BTC.

I've edited this answer because it contained grammar errors that made it somewhat confusing. However, in my opinion this answer doesn't add new content, rather it repeats previous answers.

A millibitcoin  is 0.001 BTC. But an easier way to remember is one satoshi is one hundred millionth of a bit coin.
Ten Satoshi                              = one Ith     I
one hundred Satoshi                      = one Hish    H
one thousand Satoshi                     = one Shi     S
ten thousand Satoshi                     = one Oth     O
one hundred thousand Satoshi             = one Tish    T
one million Satoshi                      = one Ash     A
ten million Satoshi                      = one Sha     S

Are these standard units?  What is the source for this?


text:
How to answer to whether Bitcoin is a Ponzi scheme?
I was asked whether Bitcoin is a Ponzi scheme as I was explaining Bitcoin. In support of the question I was presented with the following scenario. I didn't know what to answer.

Let's assume Bitcoin started today and had no transactions and no customers. Tomorrow, the first 10 people ever buy into Bitcoin. The price at that time for one bitcoin is $100. So, 10 people bought in at $100 thus there is $1000 in the Bitcoin economy.
  The next day, the price of a Bitcoin doubles and goes to $200 per coin. Now again hypothetically, let's say ALL 10 of these people want to sell their Bitcoin and cash out. The math now says $2000 will have to be paid out.

How will this be handled as there was only $1000 in the system? I don't believe Bitcoin is a Ponzi scheme, but this particular equation does not add up. What am I missing here?

You can't count "money in the system" based on the total purchase price of the asset and expect it to remain unchanged. By this logic, every capital market is a Ponzi scheme.

closely related: Is Bitcoin a scam?

It is part of the FAQ

It's not a strict ponzi scheme, but it does appear slanted toward giving early adopters and easy way to make a ton of money at the expense of those buying in late.

It is likely a ponzi because there is not a single exchange posting public records of their bank account holdings, that are verifiable with the bank.  The money is (mostly) gone.

@Almo Umm, that is true of all deflationary currencies. This only feels weird because for a hundred years, we've been using currencies that are only ever inflationary (by design!) - i.e. buying earlier means a net loss. And it's not really relevent to the question anyway, since that's not what a Ponzi scheme is, even in part. The investment return is just related to the risk - the initial adopters had much higher risks of wasting their investment than you have today - this is reflected in the demand going up while supply doesn't really change much -> increased real value.

@Almo: And the same is true for successful startups, yet they wouldn't be classified as ponzis either.

But the sole purpose of a Ponzi is to give early adopters the advantage, with no mathematical possibility for late adopters to profit. It's all in the intent. Without knowing the BTC founders' intent, we can't say if their interest really was in the idea of the open "currency" (BTC is a lousy currency, it functions more as a commodity), or if they figured they had hit on a way to funnel a lot of money into their pockets. I can think of mining difficulty curves that would generate much fairer distribution over the lifetime of the network.

Well, as long as the coins mined by Satoshi remain untouched, I like to assume good intent. And then, "Hindsight can be merciless. People of any given era often look back in time and wonder how their predecessors could have been so dimwitted." -James Balog

The question just makes no sense. What does "$1000 in the system" mean? When you buy a Bitcoin, the money goes to the person who sold you the Bitcoin who can then do whatever they want with it. It isn't in any system. Buying a Bitcoin is not like buying a share in a company.

The Scenario is confused, because it assumes that there is only one side to a trade.
The scenario assumes that the money goes "into the Bitcoin economy" when people buy bitcoins. This is confusing, because it sounds as if there were only one side to the trade. You will find that the scenario doesn’t imply Bitcoin to be a Ponzi scheme, once you take a closer look at how trades happen.
People own bitcoins:
When Alice pays Bob $100 to buy one bitcoin, Bob is the new owner of the $100 and Alice is the new owner of one bitcoin. The money didn’t "go into the Bitcoin economy" – it went to Bob.
What changed was the Total Dollar Value or Purchasing Power of Bitcoin: People see that someone was willing to pay $100 for one bitcoin.
So, in your scenario that should rather be: There are currently 10 bitcoins in the system, and the spot price is $100. This gives Bitcoin a Total Dollar Value, or Total Purchasing Power of $1000.
There is no problem the next day either: When the spot-price increases to $200 per bitcoin, that means that one person, say Alice, was willing to sell for $200, while another, say Carol, was willing to pay $200 for a bitcoin. Apparently, Carol thought that bitcoin was undervalued at $100 and was willing to go higher with her bid. And who would blame Alice for selling her coin for a 100% markup in one day?
Now as described in your scenario, the other nine owners of bitcoins offer their bitcoins as well for $200 each. The question then is, whether there are enough buyers to support the price at $200. This boils down to a balancing of supply and demand: Perhaps, Carol wanted only one bitcoin. Then there will be nine offers to sell a bitcoin each at $200, but no buyers. In order to cash out, the sellers have to find someone that wants to buy though. There is no "bitcoin economy" that stores the value and pays them out when they want to exit their positions.
What's a Ponzi scheme?
In a Ponzi scheme, investors are enticed by promise of fixed returns. The operator manages all funds and uses investments by later investors to pay off earlier investors. As no value is generated, the operator must constantly attract more investors to keep the scheme running.
In contrast, Bitcoin doesn’t pay any returns or dividends, nor is there a central operator that could make any such promises. Each individual manages their own funds. Bitcoin's exchange rate is established by supply and demand. Much like a commodity, its current spot-price is that of the last trade between individuals.

Related reading:

Is Bitcoin a scam? further elaborates on the differences between various fraud schemes, high-risk investments, commodities, and currencies.
How do buy and sell orders work? explores how Bitcoin's exchange rate is established.
What happens to cash used to buy bitcoins? looks at the role of Bitcoin exchanges in people's buying and selling of Bitcoin.

I've just discovered these related questions: What happens to cash used to buy bitcoins?, How is the exchange rate for Bitcoin established?

Bitcoins are no different from any other commodity in this regard. We say that the price of a car is $45,000, but that doesn't guarantee that you can sell one for $45,000 unless you can find someone willing to buy one for $45,000. When we say some particular number is the price, we mean that's basically the number that buyers and sellers both agree that it is worth. But it's not a guarantee that you'll be able to buy or sell at that price.
Bitcoin exchanges report the prices at which Bitcoins change hands when they do change hands. They also report the price at which people are willing to buy (typically slightly less) and the price at which people are willing to sell (typically slightly more). If you try to buy or sell a large quantity, this will change the price. For example, if the last trade was at $250 and someone is willing to buy 10 bitcoins for $240, and you sell them 10 bitcoins, the price would move to $240. And now there wouldn't be anyone left willing to buy at $240, so the new buy price might drop to $235.
I'm not sure why you would connect this to a Ponzi scheme. Ponzis don't work this way at all -- they pretend to be investing but actually a central operator pays out of a fixed pool. Bitcoins behave more like stock, they are bought and sold at some agreed value based on the value of the underlying assets. Bitcoins have underlying value because they can be securely exchanged, allowing them to function like a currency.
While some people buy Bitcoins hoping they can sell them at a higher price, other people buy them strictly as a means of exchange. They exchange the Bitcoins for goods and the recipient may exchange the Bitcoins back to some other currency. The Bitcoins provide value because they allow the exchange to take place in a neutral currency, with high security, and at high speed, something that might otherwise be impossible. This capability makes Bitcoins have value beyond speculation.
In an sense nobody sets the price and in a sense everybody does. Anyone who wants to buy a Bitcoin can set the price they're willing to pay however they please. Anyone who wants to sell a Bitcoin can set the price they're willing to take however they please. As a result of trades in a free market, discovering the value is not difficult. If the highest price buyers are willing to pay is $250, and the lowest price sellers are willing to take is $251, the fair value is right in-between. (Assuming a perfect market, which we don't quite have.)
This is how many markets, including stock markets, work.

! apologize for my lack of knowledge. I’m just not grasping how this would work. Who sets the price? I know you say it is basically determined by the last purchase price, but if that’s the case how will it ever go up? "Someone" has to say, even though the last bitcoin sold for $240 let’s set the price at $250 for the next coin. Who determines this? Is it the exchanges such as Coinbase? In the end, if tomorrow the sell price was $250 and EVERYBODY wanted to cash out at once, is it not guaranteed that there will be enough money in the system for everyone to be paid accordingly?

Exchanges don't set prices, but report them. When a Bitcoin changes hands, the exchange reports the price it traded at. Say the last Bitcoin sold for $240. Clearly, there can't still be both someone willing to sell at $240 and someone willing to buy at $240, or they would already have traded. So either the only people willing to buy are offering less than $240 or the only people willing to sell want more than $240. If you want to buy now, you'll have to offer more than $240. (Coinbase is not an exchange. They're a buyer and seller of Bitcoins. They can set their prices however they want.)

@Jayrok There is no money "in the system". There are just people willing to buy and people willing to sell. When they agree on a price, they make a trade. It's an open market, not a closed system.

If the sell price is $250, that just means someone is willing to sell at least some fraction of a Bitcoin at $250 and nobody is willing to take less. If the buy price is $250, that means someone is willing to buy some fraction of a Bitcoin at $250 and nobody is willing to pay more. When the buy price and sell prices meet, a trade occurs and we have a new last price. The distance between the buy and sell prices is called the "spread". Better markets have smaller spreads.

@Jayrok: I think I have covered this pretty well in my answer: In order to sell a bitcoin, you have to find someone that wants to buy it.  A trade happens once a buyer and a seller agree on a price. That price then becomes the "current price of Bitcoin", until the next trade happens.

So when i go to Google and type in Bitcoin price and it responds with the current price, does this mean that this was the very last purchase of a BC and this was the price paid by someone? Do all exchanges report the same price at the same time? If myself and 5 other people bought a bitcoin at exactly 12:10 pm and the price I got was $250 does this mean the other 5 people who bout at exactly 12:10 pm when the price was $250 as seen by me, are they guaranteed to get the same $250 price?

I got your How do buy and sell orders work link Murch. Thanks For all responses guys much appreciated!

@Jayrok: Check out What is the Bitcoin spot price and how is it calculated? for an explanation on how prices come to pass in Bitcoin. You're welcome.

@Jayrok No, for two reasons: 1) People might value, for example, dollars at Bitstamp differently from dollars at Coinbase. 2) The market isn't perfectly liquid nor instantly equalizing.

@DavidSchwartz "Exchanges don't set prices, they make them up" there, fixed it for ya.  ;D

A Ponzi scheme is characterised as follows (this is according to Wikipedia, rather than for example the US Department of Justice, which would focus more on the criminal culpability in its definition):

A Ponzi scheme is a fraudulent investment operation where the
  operator, an individual or organization, pays returns to its investors
  from new capital paid to the operators by new investors, rather than
  from profit earned by the operator.

If you sell your holding in Bitcoin (or any asset) to another investor, then you aren't being paid a return by the operator of the scheme at all, from new capital or otherwise. The concept is not applicable.
A Ponzi scheme is when the operator claims that they're holding people's money and using it to generate profit (that is, buying and selling something that generates profit, such that the operator has capital value to match or exceed investor's subscriptions). But actually the operator isn't holding anything, and has given away all the investor's subscriptions.
If Bitcoins paid interest/dividends in US dollars, meaning that you could keep your Bitcoins and take a return, and furthermore if the interest was paid using new subscriptions, then Bitcoin would be a Ponzi. But nothing like that happens at all.
Bitcoin isn't an investment scheme that holds your money for you. It is, as the other answers say, a tradable commodity. So, statements like "thus there is $1000 in the Bitcoin economy" doesn't mean that some hypothetical operator is holding $1000 in a US dollar-demonated bank account, and that it uses this money to pay anyone who wants to cash out. Nothing of the sort. If the price goes to $200 and those 10 people cash out, all that means is that 10 other people want to pay $200 each for bitcoin, and have bought them from the first 10 people. There isn't "$2000 in the system", the original owners have taken $2000 from the new owners. However, the value of the 10 bitcoins at the time of the trade is $2000, so the bitcoin system as a whole is described as "being worth $2000". Sometimes people say it "has $2000 in it", but this means it has $2000 worth of bitcoins in it, not that there are 2000 actual dollars in there. There is no guarantee as to what the value will be when the new owners sell, and there aren't $2000 "in it" any more than there are really $2000 "in" an old vase you fetch out of the attic and someone on Antiques Roadshow says it's worth two grand.
What Bitcoin (or any tradable asset) can be subject to is bubbles:

An economic bubble ... is "trade in high volumes at prices that are
  considerably at variance with intrinsic values". It could also be
  described as a situation in which asset prices appear to be based on
  implausible or inconsistent views about the future
Because it is often difficult to observe intrinsic values in real-life
  markets, bubbles are often conclusively identified only in retrospect,
  when a sudden drop in prices appears.

Since Bitcoin (like other currencies) is actually intended to be a marker of economic value with no other intrinsic value, one can argue that the US dollar and gold are also subject to extremely long-running bubbles, and Bitcoin should be no different. But at this point the argument becomes semantic, because what one actually cares about is not whether currency "is a bubble" in that sense, but under what circumstances and how badly it might crash.
Anyway, even if Bitcoin does eventually collapse, which is by no means certain, a bubble is not a Ponzi scheme. It does have one property in common, that the last person in before it collapses will lose most of their money.

The next day, the price of a Bitcoin doubles and goes to $200 per coin. Now again hypothetically, let's say ALL 10 of these people want to sell their Bitcoin and cash out. The math now says $2000 will have to be paid out.

Why? If everyone's selling off their assets in a panic sell, the price naturally drops to whatever people are willing to pay to buy it (which seems to be nothing in your simplified scenario). Bitcoin does not purport to guarantee a specific "cash out" value.

In addition to everything else already said, there is another false assumption here.
If Bitcoin started today, there would not be any bitcoins yet that you could buy. So the first ten users cannot possibly buy them for $100, or any price. They have to mine 10 bitcoins (either each user can mine one bitcoin, or the first user can mine 10, and then sell nine of them, or any other combination).
Let's say that the first user mines all 10 bitcoins. Let's also say that the first 10 users have $500 each sitting in the traditional bank account - $5000 total.
With your premise, users 2-10 would then pay the first $900 total. So User 1 would end up with $1400 in his bank account, and users 2-10 would end up with $400. It still adds up to $5000! Basically, contrary to your assumption, there is $0 in the "bitcoin economy".
Reading between the lines, it seems to me that you might be thinking of bitcoin as a "company" that you have to "pay". It's actually a marketplace.

People seem pretty confused based on their answers but you're asking the billion dollar question aren't you
A Buyer gets matched up with a Seller through an online exchange. The buyer needs to "fund" their account with "$" to trade to the Seller for crypto.
So the buyer gives the online exchange real actual money from their credit card. All that money goes to the exchange and stays with the exchange (forever... yes. forever. sorry guys, keep reading for explanation). In return the exchange gives the buyer "simulated USD/EUR/etc. $" but it's actually a form of crypto that remains on the exchange to be traded with buyers. It's treated like it's real USD/EUR/etc. but it isn't and it actually has no value but people keep buying it to buy crypto with all the while money continues to pool in the basements of exchanges
We treat the value of simulated USD/EUR/etc. $ as though it were actual $ based on the confidence that any number of us at any given time could make a withdrawal on it as if the exchange platforms have been keeping it safe for us all this time in good faith.. as if the first commandment of bitcoin cult school isn't to trust online exchange only for as long as you absolutely have to
Bitcoin isn't a ponzi scheme, the online exchange platforms are. The illusion of liquidity they're providing is responsible for meteoric rise in speculated value. But no real money will ever leave the Exchange, if too much of an attempt is made the Exchange will Mt.Gox
Whoever asked you this question is on the right track... What does this really mean? Right now it doesn't matter at all how much crypto is valued or how much anyone owns. 99.9% of us will have massive returns on our crypto investments but none of those returns are ever going to be getting spent on anything...

your answer is slightly wrong (and mostly speculative). Exchanges facilitate the transfer of values between two partners (A and B), and keep a fee. So money goes from A to B, and B sends e.g. the bitcoins to A. Exchange gets the fee for this tx. Exchanges don't have all the money in the basement. They are not banks. But if all users withdraw at the same time, I can imagine another MtGox. As crypto currency exchanges are not always regulated (I hate this f...ing word), it is pure speculation, how exchanges react to mass withdrawals.

Saying online exchanges are a ponzi scheme is exactly like saying a bank is a ponzi sheme.  They offer the same services, and may or may not run fractional reserves.  This is the primary reason one should maintain their own wallet under their own control where no-one else has access to the private key.  Use an exchange for the purpose it was designed, that is to exchange value between the fiat system and the cryptocurrency system.  By the way, the same advice goes for "real" banks where you deposit your fiat currency.


text:
Which exchange is better for average users?
How do bitstamp, btc-e, bitfinex, lakebtc, btcchina, compare on trading fee, deposit way, and withdrawal speed?
Which is the most comfortable for us?

This type of question is offtopic here, but checkout http://bitcoin.stackexchange.com/questions/4376/is-there-a-bitcoin-exchange-comparison-site-fees-details-like-distrowatch-com.


text:
Does AirBitz have federated servers?
I have been looking for a service that uses federated servers.
Why?
Because I am paranoid. And because companies pay me to be imaginative in my foe analogies.

// , It may seem too simple, but it's important. Even a well supported y/n would suffice.

We don't have federated servers right now but we do utilize open source, publicly accessible libbitcoin nodes which both Airbitz and 3rd parties host. This is a fully compatible replacement to bitcoind nodes but provides much faster blockchain queries, similar to Electrum servers. If you'd like to run one, we'll include it in the list of servers that our clients could access.
Our Git encrypted storage "sync" servers are also peer-to-peer but currently only we host them.

// , Part of the reason I ask is because it's not always clear what needs to happen when a Bitcoin wallet provider's infrastructure just dies. Any company that uses a Blockchain API for something, should fold in multiple providers for that something. GreenAddress's multisig makes this especially problematic, but they offer nLockTime transactions for each deposit.


text:
Recovering Bitcoin / Litcoin wallet with partial PyWallet recovery
My wallet disappeared over a year ago with 200+ LTC in it, possibly due to me running CCleaner for Mac over my machine (which looks for and deletes .dat files as part of its sweep as far as i can tell). I have made several attempts to locate my wallet including using Photorec and dumping the existing wallet.dat, but to no avail. I am going for one last chance attempt to recover it before giving up and moving on.
I am attempting to use pywallet to recover the wallet from my machine by issuing the following,
sudo ./pywallet.py --datadir=/Users/patrickquinn/Library/Application\ Support/Litecoin/ --recover --recov_size 121.3Gio --recov_device /dev/disk0 --recov_outputdir /Users/patrickquinn/Desktop/Looking --otherversion=48
which returned
Read 121.3 Go in 58.5 minutes

Found 0 possible wallets
Found 0 possible encrypted keys
Found 1640 possible unencrypted keys

and left two files, recovered_wallet_1388812907.dat and pywallet_partial_recovery_1388812907.dat in the specified 'Looking' directory.
Can these unencrypted keys be recovered or am I snookered?

Just as a side-note, even if the answer is "it cant be done" id like to know so i dont continue chasing my tail :) thanks.

The file recovered_wallet_NNN.dat should be a standard Litecoin wallet file containing those (possible) private keys that pywallet found.  Install litecoin-qt if you haven't already, back up your existing wallet.dat if any, and copy recovered_wallet_NNN.dat in its place.  Then run litecoin-qt -rescan (this may take a long time to start up as it rescans the entire block chain).
If the data found by pywallet included your old private keys, litecoin-qt will have access to them and will show you your balance.  You can then send your coins to a new address or whatever you like.
It's also entirely possible that the data found by pywallet looks like private keys but is actually something else.  They will still work as private keys (since a private key can be any 256-bit integer) but they will correspond to addresses that don't contain any coins.  In that case, litecoin-qt will show you a zero balance, and you are out of luck.
The file pywallet_partial_recovery_NNN.dat appears to be used by pywallet to save its progress in case you abort the recovery process.  Since in your case it finished correctly, you don't need this file for anything.

Like Nate said above, you may be able to recover it using that method.
In my experience though, i've never been able to actually recover it using pywallet. This wasn't because of CCcleaner(a whole nother story, but i highly advise against using software like this).
sFortunately Litecoin isn't nearly as valuable as BTC, so your loss is minimal.


text:
Why can't we design a bitcoin that does useful work?
The bitcoin network, including every miner, is the biggest computing project that humanity has created. Thus I ask: why, instead of using it to generate useless data, don't we use it to generate meaningful data, such as theorem proofs or something similar to folding@home?

Your question is based on the assumption that securing the Bitcoin block chain is useless.

@DavidSchwartz and other readers who understand the same: that is not what I mean. I said that the problem used itself is not useful (solving hashes). I'm asking if we could use other problem that is useful for other purposes (ie, protein folding) while still being able to maintain the blockchain security as well as the current approach.

See my answer. Protein folding has nothing to do with Bitcoin mining.

Gridcoin and Curecoin are doing this. CureCoins can be earned by running 'Folding @ Home' and mined by SHA-256 mining. Gridcoins can be mined by mining Scrypt and you get a 'bonus' when running BOINC.

Require the Miners to walk on treadmills to generate the Electricity for their Computers while they solve their Hash problems. This can be verified and quantified.

Solving SHA256 hash problems on Bitcoin is useful in the sense that secures the Bitcoin blockchain, but if your question is: "why can't it do something computationally useful as a side-effect?", then I think the answer is "we don't know how". For Bitcoin to work, the proof-of-work that miners do must have the following properties:

Easy to verify solutions
Hard to find solutions
Difficulty of finding solutions can be precisely quantified
Provably inseparable from the block it secures

Cryptographic hash functions like SHA256 satisfy these four properties. I don't think automated theorem proving fits the bill because, as far as I'm aware, there is no way to prove how difficult it was to find the theorem that you proved. General purpose grid computing, like BOINC, doesn't fit the easy-to-verify requirement, at least in the context of Bitcoin. (In fact, I think this is an active area of research in grid computing, called the "cheating problem".)
If there some proof-of-work scheme that satisfies these four properties and also has some useful computation as a side-effect, that would be interesting. I'm not aware of any.

You missed the most important requirement -- the work must be provably inseparable from the block it secures. Otherwise, it fails to secure the block.

Quite right @DavidSchwartz, amended my answer.

@dokkat Properties 1 & 2 are the reason why a circuit-optimizing proof-of-work would be of no use: it'd take exactly the same effort to find an answer than to verify it. Too bad, for it'd be a really useful task, which could also satisfy #3 (not sure on #4). Folding proteins has the same problems, plus doesn't satisfy #4. Analyzing SETI data satisfies 1 & 2, could satisfy #4 by linking it to a timestamp, but then you'd lose the network decentralization (you'd depend on accurate handling of data by SETI). Etcetera...

Now that I think of it, a proof-of-work that generated random pieces of music in MIDI format so the hash (any hash, even MD5) of the mini-file attached as stub to the block satisfies the difficulty requirements could count as "useful" in the eyes (or should it be "ears"?) of people who find such random, computer generated music pieces as "pieces of art". You could even require the length to increase with the difficulty, or establish such pieces should satisfy the rules of, e.g. Baroque counterpoint. Most pieces would be garbage, but occassionally beauty would emerge :)

Well, I know of one altcoin that does useful work: Primecoin.
As Wikipedia describes it:

Primecoin (sign: Ψ; code: XPM) is a peer-to-peer open source cryptocurrency that implements a scientific computing proof-of-work system. Primecoin's proof-of-work system searches for chains of prime numbers.

Primecoin already has quite some world-record prime chains on it's name: some Cunningham chains and some Bi-twin chains.

Finding cunningham chain records may be satisfying for those who found them, but it's not useful in any way. Chains used in applications don't need to be record-breaking any more than prime numbers need to be record-breaking.

There's already a Primecoin clone, by the way - should it fail, are the chains discovered on that network dissappearing? Hope not. Likewise, when a block goes orphaned on Primecoin, all the effort in discovering its chain goes wasted - an even more useful coin (from the POV of those who like to find Cunningham chains, especially to set records) would have a way to somehow preserve such chains rather than letting them dissappear in the ether.

@MeniRosenfeld Should Primecoin (and its clones) become much more valuable over time, I'm sure we'll see a whole new generation of chips dedicated specifically to the task of priving primality of a number and/or attempting to factorize a it - which would have deep implications for cryptography everywhere. In a way, that'd be even more useful than finding long Cunningham chains or Mersenne primes just for the sake of it.

Bitcoin mining is useful work, it secures the Bitcoin block chain. If you want to pay people to do other kinds of work, you can certainly do that, but that has nothing to do with Bitcoin mining. The work Bitcoin miners do is precisely the work needed to secure the Bitcoin block chain.
There is no known way to make something be both protein folding and also secure the Bitcoin block chain, any more than you can make doing your taxes also protein folding. Hashing wasn't picked arbitrarily, it was picked because it secures the Bitcoin block chain.

Isn't that exactly what Primecoin does?

Not really. Finding bitwin chains or Cunningham chains is not really useful.

Cunningham chains are now considered useful in cryptographic systems since "they provide two concurrent suitable settings for the ElGamal cryptosystem ... [which] can be implemented in any field where the discrete logarithm problem is difficult." - Wikipedia

@StevenRoose: Cunningham chains are useful in the same sense that prime numbers are useful. But finding Cunningham chain records just for the sake of it is just as useless as finding prime number records.

@DavidSchwartz have you heard of "killing two birds with one stone"?

In addition to PrimeCoin, there was also PermaCoin proposed as a solution to archival of public knowledge:
Excerpt from the abstract:

We propose a modification to Bitcoin that repurposes its mining resources to achieve a more broadly useful goal: distributed storage of archival data. We call our new scheme Permacoin. Unlike Bitcoin and its proposed alternatives, Permacoin requires clients to invest not just computational resources, but also storage. Our scheme involves an alternative scratch-off puzzle for Bitcoin based on Proofs-of-Retrievability (PORs). Successfully minting money with this SOP requires local, random access to a copy of a file. Given the competition among mining clients in Bitcoin, this modified SOP gives rise to highly decentralized file storage, thus reducing the overall waste of Bitcoin.

The full paper can be found here:
https://www.cs.umd.edu/~elaine/docs/permacoin.pdf


text:
Strict firewall & proxy, no stratum+tcp connectivity; what are my options?
I have access to a system for mining behind a squid proxy. No external connectivity except for HTTP & HTTPS. The access on my mining system is also fairly restrictive, but I have managed to build and compile *minerd for it.

System specs:
CentOS 6.5 x86_64, dual quadcore xeon, 16GB ram

This is for a project a group of us are working on; we are mining a private blockchain, not part of any *coin group (ours is based on DOGEcoin, I believe, but private).
The server only allows stratum+tcp to serverIP:3333. my minerd can't reach it due to the HTTP/HTTPS only outbound restriction.
I have looked at the Stratum Miner Proxy, but I have difficulty getting python to download what it requires to config and make/setup the proxy, when I run the setup.py
Is Stratum Miner Proxy still my best bet, or should I look into setting up a shell/relay outside the network that accepts HTTP from my miner and sends/receives stratum+tcp to the server? any other suggestions or thoughts?

Are you mining your own coin or a publicly available coin?

We are mining our own coin. We intend to use them at an event later this year, when it will be open to the public for participation in the event. No exchange will be set up; if people wish to sell or buy these coins they may (we sure can't stop them), but there will be no official sponsorship or exchange structure. The coins will be used as currency at the event for intangible benefits (early access to something, better seating, etc.)


text:
How does the network adjust the rate at which the coins are created?
Who runs the Bitcoin network, and how do they adjust the rate at which the coins are created?

TL;DR: The Bitcoin protocol runs the Bitcoin network and the rate at which coins are created cannot be adjusted manually, but follows a pre-defined reward schedule.
The money supply in Bitcoin is governed by the rules defined in the Bitcoin protocol. The protocol defines a reward schedule, i.e. how many Bitcoins may be created with each block, and the rules by which valid blocks may be created.
Reward schedule
The Bitcoin protocol allows a miner that finds a valid block to create a specific amount of new Bitcoins and sent them to an address of the miner's choosing. To do so, the miner includes the mandatory coinbase transaction in the block which doesn't have an input, but only outputs the newly generated coins.
For Bitcoin, this block reward started out to be 50 BTC per block. It is halved every 210,000 blocks, so that it is currently 25 BTC per block (as we are currently at block 281,535).
Block interval and difficulty
The protocol defines that any block which doesn't fulfill the current difficulty criteria should not be accepted by the network. The difficulty is adjusted every 2016 blocks (approx. every 14 days). By the rules defined in the protocol, the new difficulty is calculated such that there would be approximately one block every ten minutes, if the amount of the work available to the network remained like it was for the previous difficulty period.

Via difficulty: https://en.bitcoin.it/wiki/Difficulty
Simply put, the network tries its best to make sure a block of 25 BTC (reward will change in the future) is found every 10 minutes.

actually the difficulty has nothing to do with the reward

Yea, threw the reward part in to show the partial purpose of blocks.


text:
GUIminer, unnable to connect to pool
I'm getting a connection error, or just a "connecting..." message that doesn't stop. though the connection on my end seems to be fine. This is a printout of my console. If there is already a fix for this, would someone please direct me to it? This is a screenshot of my console. I'm connecting to slush's pool if that helps.
https://i.sstatic.net/GetfL.png

Apparently the URL of your pool was not entered properly, can you show us the configuration of your worker?

use the GUIMiner-scrypt instead .... I could not get the guiminer to work.


text:
Is it legal to buy things internationally for Bitcoin from India?
I want to buy educational videos from someone in the USA, who offers them privately for sale as a digital download. He accepts Bitcoin.
I'm purchasing them from India.
Would it be legal for me to buy from him in this fashion?

We're not your lawyers and can't offer you legal advice.  However, lots of people do this all the time.


text:
How do you load the Android bitcoin backup key onto Bitcoin Qt?
I have an Android wallet key and I want to load it onto my windows desktop. I am using Bitcoin-Qt, but i dont see an import option anywhere. How can this be done?

The backup file produced by the Android Bitcoin app is a text file containing lines of the form

5Jhvcnoi9LFxEcg68gTaDB3DiKEJ6TWJuMmyfjv89uEv3AbgdV 2013-01-01T12:34:56Z

The first field is the private key.  This can be imported into bitcoin-qt using the importprivkey command.  Choose "Help > Debug window", go to the "Console" tab, and enter:

importprivkey 5Jhvcnoi9LFxEcg68gTaDB3DiKEJ6TWJuMmyfjv89uEv3AbgdV

where you paste in the private key from the file.  bitcoin-qt will be unresponsive for several minutes while it searches the blockchain for existing transactions involving the new address; this is normal.

in my case the file doesn't look this way but rather a much longer series of baseXX characters

This guide was the only one that worked for me. My encypted backup file didn't had the mentioned format, and other guides that explained how to export the nmonic seed didn't work either with wallets like electrum or electron cash, but the exported private key as described here did:
https://bitcointalk.org/index.php?topic=2061691.0

Please follow the documentation here:
https://en.bitcoin.it/wiki/How_to_import_private_keys_v7%2B


text:
Why do I get this error when I try to install CGMiner on my RaspberryPi?
I am going crazy trying to install CGminer on my RaspberryPi (I use Raspbian) to mine Scrypt currency
I downloaded it and when I perform:
sudo ./configure

finally I get the following error message:
------------------------------------------------------------------------
cgminer 3.7.2
------------------------------------------------------------------------

Configuration Options Summary:

  libcurl(GBT+getwork).: Enabled: -lcurl
  curses.TUI...........: FOUND: -lncurses
  scrypt...............: Disabled
  OpenCL...............: Detection overrided. GPU mining support DISABLED
configure: error: No mining configured in

Why? And why it say to me that scrypt is disabled?
What is the problem? How can I fix it?

What should the configure do? Can you start cgminer directly with configurations as parameters?

I'm seeing that too but just got my ASIC today (Gridseed G-Blade), still testing. My old setup with cpuminer on a Raspberry Pi 3B is running 5 kH/sec on 3 cores with no overclocking.

Might as well give this old question an answer.
cgminer 3.7.2 (which was obsolete even when this question was asked) required scrypt to be enabled as a compile-time option with ./configure --enable-scrypt.  The asker evidently did not enable it, which is why it does not work.
It appears that current versions of cgminer have removed scrypt support altogether.
As Hồ Tuấn Kiệt points out, a Raspberry Pi would be hopelessly underpowered for CPU mining of any kind, so this would be a really ineffective idea even if it worked.
The asker probably got this idea because there is lots of discussion on the Internet about using the Raspberry Pi for mining.  However, most people use it in a very different way: not to do the mining itself, but as a controller for ASIC mining devices (typically for Bitcoin and other SHA256 coins, not scrypt).  It is well suited to the latter task, since controlling ASIC miners requires very little in the way of CPU performance; just the ability to run a minimal operating system with network access, and some simple software to fetch work from the network and feed it to the ASICs.  The Raspberry Pi is certainly capable of that task, and it is cheap and uses little electricity of its own.  But it isn't suitable for actually mining with its own CPU or GPU.

I think that you should use pooler's cpuminer instead. cpuminer is optimized for CPU mining  and cgminer 3.7.2 can only mine scrypt coin using GPU (and you can't use RasPi GPU for mining coin)
But even if you use cpuminer you can squeeze out only 0.4-0.5khash/s with overclocking
Tutorial if you want: http://www.tekassassin.com/2013/06/litecoin-mining-on-raspberry-pi.html