text:
Understanding how ordinals work with the Bitcoin blockchain. What is exactly stored on the blockchain?
Supposedly someone uploaded a Doom clone to the bitcoin blockchain:
https://ordinals.com/content/521f8eccffa4c41a3a7728dd012ea5a4a02feed81f41159231251ecf1e5c79dai0
But I'm a bit confused on exactly what is uploaded using "Ordinals". From a quick read of Ordinals, I'm assuming they are just using OP_RETURN and putting in a encoded string into a block or a transaction?
This encoded string uploaded is a "id" that links to a file on ordinals.com? So technically no real files are uploaded like this Doom clone is it? And if ordinals.com is offline, none of these files are accessible?
And how is this different from colored coins or counterparty from about a decade ago?

Ordinals Inscriptions don't use OP_RETURN, they are embedded within the script of a taproot input. It's not just a link to a file on some website, the entire file is actually published to the blockchain.
The embedding is done using data pushes inside an unexecuted script branch like so:
OP_0
OP_IF
(embedded data comes here)
OP_ENDIF

You can view the script from your specific example here: https://scriptpath.info/tx/521f8eccffa4c41a3a7728dd012ea5a4a02feed81f41159231251ecf1e5c79da
It consists of 59 pushes of 520 bytes each and one push of 73 bytes.

So that Doom clone is exactly how big on the blockchain and how much did it cost?

520*59 + 73 = 30,753 bytes. The transaction adds another 445 bytes of overhead for a total of 31,198 bytes (but, because of the witness discount, only 7870 virtual bytes). The fee paid was 19,675 sats.

Any reason why they split the data in 520-byte chunks?

That's the maximum push size. You can search BIP141 and BIP342 for "520" to learn more.

@Vojtěch Strnad
How were you able to pin that that's the script

@mark You can use any blockchain explorer that decodes Taproot scripts. Alternatively, you can decode the script yourself from the input witness. (If you have another question, please create it as a new post.)

The MIME data type of that inscription is text/html;charset=utf-8. So maybe it is something like Doom in javascript
Ordinals inscriptions do embed the data in transaction data that occupies space in the Bitcoin blockchain.
See also
How to differentiate between BTC transactions and BRC20 transactions on a blockchain?

Minimal manual disassembly example
Just to provide a concrete example, let's consider the very first ordinal: https://ordinals.com/inscription/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
The format is documented at: https://docs.ordinals.com/inscriptions.html with an example:
OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

If you run a local node:
bitcoind

we can query the transaction and disassemble it with:
bitcoin-cli getrawtransaction 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799 true

Among the rest of the disassembly we see:
"txinwitness":
  "152b336f7b6fc69be82df72bb4653eed7e075da88c491c0ad76451fcf0514dd667702aabdeca72cea1427124fc511da6d9ffb43b7e32b908fcef169b19dfc1f6",
  "204a3ca2cf35f7902df1215f823d977df1174048b062e03a44f71c2ee736a60cc5ac0063036f7264010109696d6167652f706e67004d080289504e470d0a1a0a0000000d49484452000000640000006401030000004a2c071700000006504c5445ffffff00000055c2d37e000002ce4944415438cb95d44b6813411807f0944a13105d14b4146916c1b33d150b7d2ce45ab027295a4b0e1e4a5b4a2b4512fac8563c78509abb68051151aacda1600b4db2a1789162021e046d934dc921859addc4906c92dd9dbf21333b01c143e7f6e39bef3133ecbaceb824acb5d109d4da12b22ed2d68808a1bdb50e94b33ccd006c9ee8d624ac5b8ec4b4aa0464deed50559665a78cacc6ba1539c1044df627c18a76a8a5c668090bac4118440719600dc2a8164086a804d5ac544c84984a5aa1aa950895f7260a556861aade5fea5c559d0d304da2528131ce4ea76a958a86793a9a9437eb65d302531db51cca4c32718de86b02e8d8c13a92b7e5728e2a108031093b4d35370ff31ac80faa19d56dee59e20c8b45afdb3bc5a79f59dec373abc6974b2c2f985d18361e27584df92013d7234b32d5e07ec3ab9f3f59a6b3f487b11191483fd5e02659d7fa1a7b549280f52d898854bd22929a8c6ef628e3188bfb6d3f9520226dc8f03209782d4a84c9bd495e197d8d28bf794554c810d37e43c2b39315a683cc6a776ac95176c1368e131653b0d3dcab751e51758d08a64984e72c26c3e8058eb8aa17b80419bfdf01192a11f8b92d035412b07d5781f32a32c9dfd7a1d25b5a8599d4966150190a36744d110109b16c4b960ad12f62aaa58ed371e2f78fd9f78a2d99776aaaf2a0324165a97f52f1694c5141a94e45bf41a13ac5ce624f5a69b4e4aa92ef4ba35fe70bb4437d73a0789c7bb14d155a216e4bc8a7d86b3ed16d83d4242a0965d3ac3b6710b0928fe655c26e8228cd392316550751888e48d1f9fc5244278b59a65b01a2dbe935a69ed4e1446891c1e58ddf781b8e38ba183b34035b8e041940860b0008dfa9787c22dfe90e1ab1dc1157e0657eb8ad398fef6a5bd31edfe5ffc5748fcf6b71cd020d1eebfad0ccfbc8f5a999c7e57ee4f15d6957319add7995cedde664bb5c684e5d73d4a103a4e8c8650266962bf4e67d24c125dae3f8e73f78b6f5177fb5c56a2d73fc4b0000000049454e44ae42608268",
  "c04a3ca2cf35f7902df1215f823d977df1174048b062e03a44f71c2ee736a60cc5"
],

Let's further disassemble the large middle txwitness script which CLI unfortunately does not automatically disassemble for us. As per How to disassemble a bitcoin script? it can be done with:
bitcoin-cli decodescript "204a3ca2cf35f7902df1215f823d977df1174048b062e03a44f71c2ee736a60cc5ac0063036f7264010109696d6167652f706e67004d080289504e470d0a1a0a0000000d49484452000000640000006401030000004a2c071700000006504c5445ffffff00000055c2d37e000002ce4944415438cb95d44b6813411807f0944a13105d14b4146916c1b33d150b7d2ce45ab027295a4b0e1e4a5b4a2b4512fac8563c78509abb68051151aacda1600b4db2a1789162021e046d934dc921859addc4906c92dd9dbf21333b01c143e7f6e39bef3133ecbaceb824acb5d109d4da12b22ed2d68808a1bdb50e94b33ccd006c9ee8d624ac5b8ec4b4aa0464deed50559665a78cacc6ba1539c1044df627c18a76a8a5c668090bac4118440719600dc2a8164086a804d5ac544c84984a5aa1aa950895f7260a556861aade5fea5c559d0d304da2528131ce4ea76a958a86793a9a9437eb65d302531db51cca4c32718de86b02e8d8c13a92b7e5728e2a108031093b4d35370ff31ac80faa19d56dee59e20c8b45afdb3bc5a79f59dec373abc6974b2c2f985d18361e27584df92013d7234b32d5e07ec3ab9f3f59a6b3f487b11191483fd5e02659d7fa1a7b549280f52d898854bd22929a8c6ef628e3188bfb6d3f9520226dc8f03209782d4a84c9bd495e197d8d28bf794554c810d37e43c2b39315a683cc6a776ac95176c1368e131653b0d3dcab751e51758d08a64984e72c26c3e8058eb8aa17b80419bfdf01192a11f8b92d035412b07d5781f32a32c9dfd7a1d25b5a8599d4966150190a36744d110109b16c4b960ad12f62aaa58ed371e2f78fd9f78a2d99776aaaf2a0324165a97f52f1694c5141a94e45bf41a13ac5ce624f5a69b4e4aa92ef4ba35fe70bb4437d73a0789c7bb14d155a216e4bc8a7d86b3ed16d83d4242a0965d3ac3b6710b0928fe655c26e8228cd392316550751888e48d1f9fc5244278b59a65b01a2dbe935a69ed4e1446891c1e58ddf781b8e38ba183b34035b8e041940860b0008dfa9787c22dfe90e1ab1dc1157e0657eb8ad398fef6a5bd31edfe5ffc5748fcf6b71cd020d1eebfad0ccfbc8f5a999c7e57ee4f15d6957319add7995cedde664bb5c684e5d73d4a103a4e8c8650266962bf4e67d24c125dae3f8e73f78b6f5177fb5c56a2d73fc4b0000000049454e44ae42608268"

which gives:
4a3ca2cf35f7902df1215f823d977df1174048b062e03a44f71c2ee736a60cc5
OP_CHECKSIG
0
OP_IF
6582895
1
696d6167652f706e67
0
89504e470d0a1a0a0000000d49484452000000640000006401030000004a2c071700000006504c5445ffffff00000055c2d37e000002ce4944415438cb95d44b6813411807f0944a13105d14b4146916c1b33d150b7d2ce45ab027295a4b0e1e4a5b4a2b4512fac8563c78509abb68051151aacda1600b4db2a1789162021e046d934dc921859addc4906c92dd9dbf21333b01c143e7f6e39bef3133ecbaceb824acb5d109d4da12b22ed2d68808a1bdb50e94b33ccd006c9ee8d624ac5b8ec4b4aa0464deed50559665a78cacc6ba1539c1044df627c18a76a8a5c668090bac4118440719600dc2a8164086a804d5ac544c84984a5aa1aa950895f7260a556861aade5fea5c559d0d304da2528131ce4ea76a958a86793a9a9437eb65d302531db51cca4c32718de86b02e8d8c13a92b7e5728e2a108031093b4d35370ff31ac80faa19d56dee59e20c8b45afdb3bc5a79f59dec373abc6974b2c2f985d18361e27584df92013d7234b32d5e07ec3ab9f3f59a6b3f487b11191483fd5e02659d7fa1a7b549280f52d898854bd22929a8c6ef628e3188bfb6d3f9520226dc8f03209782d4a84c9bd495e197d8d28bf794554c810d37e43c2b39315a683cc6a776ac95176c1368e131653b0d3dcab751e51758d08a64984e72c26c3e8058eb8aa17b80419bfdf01192a11f8b92d035412b07d5781f32a32c9dfd7a1d25b5a8599d4966150190a3674
09b16c4b960ad12f62aaa58ed371e2f78fd9f78a2d99776aaaf2a0324165a97f52f1694c5141a94e45bf41a13ac5ce624f5a69b4e4aa92ef4ba35fe70bb4437d73a0789c7bb14d155a216e4bc8a7d86b3ed16d83d4242a0965d3ac3b6710b0928fe655c26e8228cd392316550751888e48d1f9fc5244278b59a65b01a2dbe935a69ed4e1446891c1e58ddf781b8e38ba183b34035b8e041940860b0008dfa9787c22dfe90e1ab1dc1157e0657eb8ad398fef6a5bd31edfe5ffc5748fcf6b71cd020d1eebfad0ccfbc8f5a999c7e57ee4f15d6957319add7995cedde664bb5c684e5d73d4a103a4e8c8650266962bf4e67d24c125dae3f8e73f78b6f5177fb5c56a2d73fc4b0000000049454e44ae426082
OP_ENDIF

Disassembly
With the help of https://stackoverflow.com/questions/7826526/transform-hexadecimal-information-to-binary-using-a-linux-command we can convert the hex dumps to binary with xxd -r -p:

6582895

is a decimal number, in hex:
printf "%x\n" 6582895

it is:
64726f

and:
printf 64726f | xxd -r -p

gives dro, which is the inverse of ord, for ordinals. All of this is just a disassembly artifact, we can see that the actual data contains 6f7264 in the usual ord order.

1 is the content_type tag according to https://docs.ordinals.com/inscriptions.html So this specifies the filetype of the data that follows.
printf 696d6167652f706e67 | xxd -r -p

gives:
image/png

which is the filetype.
It is worth noting that the filetype used to be mandatory for an inscription to be considered valid and get a valid number, but this restriction was later dropped leading to the creation of corresponding negative cursed ordinals such as: https://ordinals.com/inscription/4b9a822a057743813efbefa0dd21d0a01342ee793ce2ce5bd499a5f262187553i0

0 specifies that the actual content is coming up. We can decode it with:
printf '
89504e470d0a1a0a0000000d49484452000000640000006401030000004a2c071700000006504c5445ffffff00000055c2d37e000002ce4944415438cb95d44b6813411807f0944a13105d14b4146916c1b33d150b7d2ce45ab027295a4b0e1e4a5b4a2b4512fac8563c78509abb68051151aacda1600b4db2a1789162021e046d934dc921859addc4906c92dd9dbf21333b01c143e7f6e39bef3133ecbaceb824acb5d109d4da12b22ed2d68808a1bdb50e94b33ccd006c9ee8d624ac5b8ec4b4aa0464deed50559665a78cacc6ba1539c1044df627c18a76a8a5c668090bac4118440719600dc2a8164086a804d5ac544c84984a5aa1aa950895f7260a556861aade5fea5c559d0d304da2528131ce4ea76a958a86793a9a9437eb65d302531db51cca4c32718de86b02e8d8c13a92b7e5728e2a108031093b4d35370ff31ac80faa19d56dee59e20c8b45afdb3bc5a79f59dec373abc6974b2c2f985d18361e27584df92013d7234b32d5e07ec3ab9f3f59a6b3f487b11191483fd5e02659d7fa1a7b549280f52d898854bd22929a8c6ef628e3188bfb6d3f9520226dc8f03209782d4a84c9bd495e197d8d28bf794554c810d37e43c2b39315a683cc6a776ac95176c1368e131653b0d3dcab751e51758d08a64984e72c26c3e8058eb8aa17b80419bfdf01192a11f8b92d035412b07d5781f32a32c9dfd7a1d25b5a8599d4966150190a3674
09b16c4b960ad12f62aaa58ed371e2f78fd9f78a2d99776aaaf2a0324165a97f52f1694c5141a94e45bf41a13ac5ce624f5a69b4e4aa92ef4ba35fe70bb4437d73a0789c7bb14d155a216e4bc8a7d86b3ed16d83d4242a0965d3ac3b6710b0928fe655c26e8228cd392316550751888e48d1f9fc5244278b59a65b01a2dbe935a69ed4e1446891c1e58ddf781b8e38ba183b34035b8e041940860b0008dfa9787c22dfe90e1ab1dc1157e0657eb8ad398fef6a5bd31edfe5ffc5748fcf6b71cd020d1eebfad0ccfbc8f5a999c7e57ee4f15d6957319add7995cedde664bb5c684e5d73d4a103a4e8c8650266962bf4e67d24c125dae3f8e73f78b6f5177fb5c56a2d73fc4b0000000049454e44ae426082
' | xxd -r -p > tmp.png

which gives our image:
tmp.png

Payloads are generally not contiguous in the block data due to PUSHDATA opcodes
One important fact about ordinals is that unlike with OP_RETURN, the payload is not necessarily encoded contiguously.
In our example, we see that two separate constants were pushed to the stack.
This is not very explicit in the disassembly, but each one has an OP_PUSHDATA2 opcode immediately before it, which is encoded as byte 0x4d can handle only up to 520 bytes at a time:

PUSHDATA4 unnecessary?
https://en.bitcoin.it/wiki/Script

Therefore, you can't just directly carve out the payloads from the blockchain data, block parsing is required.
In our example, the raw data contained:
4d 0802 [ 89504e47 ... 190a3674 ] 4d 1101 [ 09b16c4b ... ae426082 ]

so there would have been a trash data of 4d1101 if we had tried to carve out values directly without parsing.
There can be multiple ordinals per transaction
Any valid:
OP_FALSE
OP_IF
  OP_PUSH "ord"

in txinwitness indicates the start of a new ordinal, and you can have multiple of those per transaction.
This is why there is that i0 at the end of the URLs at ordinals.com such as: https://ordinals.com/inscription/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
The i0 means "inscription 0" and serves to disambiguate between multiple different ordinals in the same transaction.
i0, i1, etc. are just taken in blockchain serialization order.
Tested on Ubuntu 24.04.


text:
What was the goal of creating the feature of immature coins?
I just ran into the idea of immature coins. Can someone explain to me the idea behind immature  coins and what was the purpose of it?

Immature coins are coins that were created in a block reward and haven't aged sufficiently, yet. The problem with block rewards is that they could still disappear again, if the generating block ends up being invalidated by a competing block chain.
In order to minimize the confusion and subsequent problems from someone spending coins that end up disappearing later again, block rewards are considered immature until another 100 blocks descend from the generating block. After this approximately 16 hours and 40 minutes, the coins are mature and considered safe to be spent.
On the other hand, regular transactions that were confirmed in a block that got invalidated by a longer competing chain would just be picked up by another block. The difference here is that a regular transaction is based on prior knowledge of the coins, even if it is through a chain of transactions, while newly created coins would not be there to fund a transaction.

It may be worth adding that this is different from normal transactions, which (in the case there is no malicious intent) can just move to the new chain in case of a reorganization. This means the concept of maturity and confirmations are very different (the first is a protocol rule, the second a client-side policy).

Thanks, good suggestion. I wrote a bit, but I will have to look tomorrow again, it's late and it might not be clear. ;)

source: Stack Exchange

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

sort: votes


text:
Best tutorial and info on setting up ASIC Mining USB Block Erupters to join a mining pool?
I just got my usb block erupters and I was wondering what is the best tutorial on setting this up to join a mining pool? I'm currently on Windows. I want to be able to mine other alt-coins that uses SHA-256.

How to set up Block Erupter hardware, how to join a pool, how to mine alt coins, and below you ask how to move coins from pools to wallets. Try searching or asking each question separately if they are not already answered.

Hi duckxx, could you please mention which usb block erupter it is? E.G. Antminer U1

Here's a decent bitcointalk thread: https://bitcointalk.org/index.php?topic=28402.0
Here's a more direct walkthrough of the installation (for windows 7 at least): http://rdmsnippets.com/tag/install-block-erupter-on-windows-7/ which will likely be helpful.

doesnt really give info on how to join mining pools after setting up cgminer. mainly looking for a all in one tutorial that shows setup and picking out which mining pool you want to join and how to send the mined btc to a specific wallet.

I use BitMinter and just plugged two (one at a time) block erupters into my laptop, once they were installed properly, I did a port scan in BitMinter and was up and running with no issues, only took but a minute or two.

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


text:
Is there a site that tracks volume over time?
Coinmarketcap shows the current volume data. Is there a site that tracks volume over time in a graph and data table where you can sort by highest volume days? I'm looking to see if a specific coin has been increasing volume over time.

coinmarketcap keeps track of volume data for every day. https://coinmarketcap.com/currencies/bitcoin/historical-data/

@patoshi: Many of your questions create new tags that are duplicates of existing tags or unnecessary. E.g. your question here uses Coinmarketcap as an example of what you're not looking for. It doesn't make sense to me that you then create that as a new tag here. Could you please see whether there are existing tags that are applicable and try to think about the utility of new tags before creating them?

Could you please clarify whether you mean trade volume or transferred volume?


text:
Where can I download BTC historical ticker data?
Where can I download historical data for Bitcoin price for mtgox?
In this 2 Year old thread:
Where can I get historic data series of Bitcoin prices?
The described solution is as follows:
download this tool and use it:
https://bitbucket.org/nitrous/bq
The problem is the tool only downloads data until 12.03.2013
Can someone explain to me what I need to do to get the data after this date.
Does someone have this data and could upload it or knows where to download the data?

This answer to the linked question is still valid.

Unless you Know/can tell me a way how to get the data till today i would not see this as an valid answer. The last day this download produces is 9 months old.

Go to http://www.quandl.com/BITCOIN-Bitcoin-Charts/MTGOXUSD-Bitcoin-Markets-mtgoxUSD, select the desired time span (default is from 2010-07-17 to today), click download, choose file format. This is what I get: http://pastebin.com/ED0Dt2sH

As i wrote I'm looking for TICKDATA not Daily. quandl is absolute NO solution.

You can get complete and up-to-date price history here:
http://api.bitcoincharts.com/v1/csv/mtgoxUSD.csv
You can also get subsets of the data.
For details see: http://bitcoincharts.com/about/markets-api/

Interesting link. Only problem it only has data back till 10th of June 2011. The first trades on Mtgox startet at 17. July 2010. But i can maybe combine this with some other data i found. I will post here how to do it if i find a way. Thanks for input so far.

Are you sure that these are actual transactions and not just "cherry picks"? Moreover, it would be great if each entry mentioned whether this is a buy or sell transaction.

Hi Tom, what do you mean with "Cherry picks" got curious...

Thanks for original answer. I use this link http://api.bitcoincharts.com/v1/csv/bitstampUSD.csv.gz

You can download BTC ticker data for February 2014 there
http://btce-alert.com/files/BTC_USD_ticker_data_february2014.csv

You can download them directly from the Binance, Bitstamp API
That's for example how I have managed to get the hourly data from Binance and Bitstamp since their openings so I can train my AI model on them.

If you have a WP site you can download the 99bitocins ticker.

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


text:
Connecting to Bitcoin wallet outside of LAN to 'Solo' Mine
For educational purposes only...
Scenario:
My friend and I want to solo mine on 1 wallet. But, his computers are not on\in my LAN network.
The wallet has been set to server mode:
-server
bitcoin.conf
rpcuser=user
rpcpassword=pass
server=1
cgminer settings:
-o localhost:port -u user -p name
This works fine for solo mining on just my computer. But how can I change it so that he can connect to my Bitcoin wallet from another state which is obviously outside my LAN?

You will want to pay attention to this note in the config file: NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED, because the rpcpassword is transmitted over the network unencrypted. An attacker who discovers your rpcpassword can spend your money.

I think you are confused about the term "solo mining".

There are possible configurations to do something like what you are looking to do.  But I cant understand why your friend wouldn't want to run his own wallet, on a p2pool configuration, all other users need to specify is the their address. the get block template etc is all done with the local wallet in order to reduce latency and improve performance.

In terms of unencrypted transmission of the rpcpassword: You may want to setup some kind of P2P VPN first between your friend and yourself to make sure traffic between your nodes cannot be intercepted.

You just need to throw this into your bitcoin.conf
rpcallowip=1.1.1.34 where the allowed ip is your friends and also make sure the port isn't going to be blocked by the router.
Is it solo mining? When there is a second party it now becomes pooled mining.

You have to set up port forwarding on your router so your bitcoin qt can receive requests. Then add
rpcallowip=1.1.1.1.1

in your bitcoin.conf where the ip address is your buddy's IP.


text:
0 accepted out of 460? Will my shares be accepted eventually?
I just started mining on Slush Pool using Macminer with a CPU. I am getting a hashrate of 12.28kH/s with the Scrypt hash algorithm, which I guess is not a big rate at all.
I am wondering about the acceptance bit, do I have to wait for the whole block to finish, so I can get the acceptance and shares, or does this mean I'm wasting my time and it's not going to be accepted?

What coin are you mining, and in what pool?

scrypt, connected to http://api.bitcoin.cz:8332

which is Slush Pool

they are mining bitcoins, SHA-256. I don't think you'll get any shares accepted. SHA-256 is for ASICs. Find yourself some scrypt coin with low difficulty. http://www.coinwarz.com/

Are you mining with CPU? Then better yet mine Primecoin.

If you're scrypt mining a SHA256d coin, you will probably never get any shares accepted. You need to use the mining algorithm the coin uses.


text:
Can I do mining with a normal PC?
Can I do mining with a normal PC in my house?
I will setup Linux (Ubuntu) for mining. It will be open 24/7. I don't have too many expectations. Maybe 0.1 in one week?

Related: How much Bitcoin will I mine right now with hardware X?

Can i do mining with a normal PC?

Yes, you can.

I don't have too many expectations. Maybe 0,1 in one week?

No, not possible. You will effectively compete against all computational resources on Earth, that are now cracking this nut. If I can estimate, a humble home PC will produce around 1 - 100 MH/s, based on CPU or GPU mining stats. This range covers different CPUs and single-GPU computers. You can compare hash rate with the profit estimate using this calculator. Based on the hash-rate, your electricity bill will much out-weight any profit from mining.
To achieve a 0,1 BTC/week you'd have to invest in a pretty expensive, power-hungry ASIC box that can produce tens of GH/sec, subject to ever-increasing complexity.

Actually, to be honest, a normal PC even is capable these days to make a only share, so it is possible you cannot mining at all.

To get 0.1BTC in one week with current difficulty levels you need to have at least 3.000 MHash/sec ASICminer.
A regular GPU will provide just 50 ~ 60 MHashes so it will take quite a bit longer to achieve 0.1BTC.
My recommendation is to get one of these ASIC miners to get a better performance:
http://www.ebay.com/sch/i.html?_odkw=asicminer+block+erupter&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR5.TRC1.A0.Xasicminer+usb+block+erupter&_nkw=asicminer+usb+block+erupter&_sacat=0

Could you show your work? Assuming "3.000" means three thousand MHash/sec, I'm getting that this would earn you an average of 0.01 bitcoins per week or so, not 0.1.

authors: Инна Шевченко


text:
Setting up my BFGMiner with two AMD GPU's
I have two AMD Radeon 7770's in my rig. I am able to get the command prompt of BFGMiner to run fine up, to the point where I need to add my devices (GPU's). I am not sure what commands to use or where I can find the instructions I need. Any advice would be helpful. Thanks.

have you installed the amd sdk drivers to run it? have you enabled gpu mining? what coin are you mining? what pool are you mining? lots more information is needed.

Have you read the Readme - GPU? I have pasted the contents at pastebin, if you wanna check it out?


text:
When mining with 2 computers, do I need to use 2 separate wallets addresses?
I understand that each miner is working on a different block. Correct me if I'm wrong but this is because the first transaction in a block basically contains my wallet address so I can receive the bonus of solving the block. Obviously everyone wants to receive the bonus so that first transaction will be pointing to everyone's separate wallet addresses.
Assume that I have two computers solo mining with both pointing to my wallet address, wouldn't this mean my computers are solving the same block? Continuing with this train of thought, wouldn't that mean that my slower computer is basically useless because it would be generating the same hashes as my faster computer?
Now how does this apply to pooled mining? In a pooled community, is everyone solving the same block which has the first transaction pointing to the pool owner who then distributes the coins?

Regarding pools: when working for a pool, the computer who solves the block doesn't credit its owner directly - it rather credits the pool's bitcoin address. The pool manager then tallies how much work each of the pooled miners delivered for the block, and proceeds to pay them proportionally to it - minus the fee the pool takes, of course.
The only exception is a P2Pool, which work with no centralized pool manager. In these type of pools, each of the peers in the pool ensure they're appropriately credited for their work when a candidate block solution arises.
As far as I know, you can configure your 2 solo-mining computers to either use each their own address or one for both. And no: even if both were using their own addresses and working independently, the processing power of the slower one is not completely wasted. Solving a block is highly random, there's not much chance both would be trying the exact same nonces in sequence. Rather, they'd each try a different set of nonces to solve the block. Obviously, in the long run the faster one will find answers more frequently than the slower one.

I think you have a misunderstanding about how solo mining works. You don't keep using the same address. You generate an ephemeral address and, if you mine a block, you keep its private key and then start using a new address.
If both miners are getting work from the same node, then the node will never assign both miners the same work. If both miners are getting work from different nodes, then they will get different ephemeral addresses.
(If I recall correctly, at one time addresses were reused for mining. But this could cause a very serious problem even with only one miner -- two coinbase transactions in two different blocks could have the same transaction ID!)

Note for ya David (and others in the future): For those who know python (or at least use a config file) you set up a mining server like slush0's example stratum-mining-server. You can use the same wallet over and over again with that.
I know this might not be quite what you were thinking, but its possible. It's in the coinbaser section of slush0's code i believe. (just a little extra info for those in the future wondering. As you said already you were correct that the same address is used more than once by some pools.

Hmm I never knew about the ephemeral address. What do you mean by "node"? Is that just the next closest computer who's mining on the network?

@Aust The "node" is the computer that is part of the Bitcoin network that is providing information to your miner(s). If you are solo mining, you control it. If you are pool mining, your pool operator does.


text:
Economics article on BitCoin
I was wondering if some economists started to create a research group around BitCoin, or published academic paper on it. In general, I was wondering how BitCoin was analyzed and studied in academic research.

Currently, it seems, most of Bitcoin-related published research are of technical and legal nature (according to Google Scholar, Mendeley, Bitcoin Wiki).
While there is some economical analysis performed by community (wiki, this question), I haven't managed to find any papers in peer-reviewed journals.
This discission on Quora explains some of possible reasons for this. Excerpt from top answer by Erik Madsen:

Overall, Bitcoin is a fine example of a currency market, but it hasn’t
  (so far) told economists anything new about how the world works. It’s
  not surprising that most research on Bitcoin is from a cryptography
  standpoint, because that’s really the interesting part of the whole
  endeavor.

and his comment on another answer:

Private currencies are no longer common, but they have existed.  And
  the intentional opaqueness of the market, and it IS quite opaque,
  means that its utility as a data source is severely limited.


text:
BFGminer can't find my NanoFury!
I recently purchased a Nanofury ASIC unit. I tried running it on my Linux system, as I just let the computer sit and run. I couldn't get it to work on Linux, so I decided to give it a try on Windows = but I'm still getting the same problem.
I installed Zadig, found the device, and installed WinUSB to the Nanofury NF1 0.6 device. I could then see it in the Device Manager listed as:
'NanoFury NF1 0.6'
So the device is recognized by Windows, but when I run BFGminer on the -S all option for finding devices, I get this message:
'NO DEVICES FOUND: Press 'M' and '+' to add'
How do I get the NanoFury device to operate properly with Windows? I'd really hate to be out like $150 on something I can't even get to work.
I'm currently running BFGminer 3.9.0 - if that helps at all.

Having a similiar issue http://bitcoin.stackexchange.com/questions/23944/bfgminer-cant-find-my-nanofury-on-linux

I was able to get my Nanofury working on Linux (rPi raspbian) and bfgminer 3.10.0 with a few permissions changes.  You really have three options:

Run bfgminer as root (undesireable)
Add the user running bfgminer to the "root" group:
usermod -G root -a miner
Change group ownership of the usb device (you will need to determine which one is your Nanofury device):
chgrp dialout /dev/bus/usb/001/006

Option 1 is the easiest, 3 is the most secure.  I went with option 2 as a middle-ground.
I also reverted commit 8383e33 (git revert 8383e33) from the bfgminer git repository, which gets rid of the "reinitializing" warning, and gives me a better hashrate.  I don't know the long-term effect of reverting this commit, though...
To start the miner, I use:
/path/to/bfgminer -S NFY:ALL --set-device NFY:osc6_bits=54

Once you have everything set up, you can write your settings (S, W,  in bfgminer) and you can drop the -S NFY:ALL.  You still need the --set-device, as far as I can tell, though.
Hope this helps!

could you give the command you're using to start the miner?

@PhillPafford Updated answer.

having a similiar issue http://bitcoin.stackexchange.com/questions/23944/bfgminer-cant-find-my-nanofury-on-linux

Bitfury and Nanofury devices are completely different.
You are describing a NanoFury.
In windows NanoFury devices autodetect, and it works using the autodetected driver.
It will NOT work using the BitFury driver as suggested above.
What I did is I deleted the pushed in BitFur driver that I tried first using zadig.
I then rebooted and reinserted the device and accepted the default windows driver.
Then I used this command with BFGminer 3.9.0
bfgminer.exe -o 192.168.101.1:8332 -u YourUsername -p YouPassword --coinbase-addr YourBitcoinAddress -S all --set-device NFY:osc6_bits=54
After this it worked fine.  I get 2.54 GH.
It is normal to see these errors with the NanoFury in Windows:
NFY 0: Frequency drop over 50% detected, reinitialising.
I was getting these errors but still earning bitcoins.
They come about every minute or so, unless you pool mine, then about every 15 minutes.

BitFury based usb sticks are hard to get working.
Have you installed the nfy specific drivers? I'm not sure if you have.
any more detail you can give is great
anyway, try appending the following line to your bfgminer command.

-S "NFY:ALL"

I will get some more documentation together from one of the guys who develops them and see what he knows about it. I remember we were having a hard time getting the nanofury sticks to work in ubuntu. In the end he ended up having to plug them in 1 by 1 i believe (but can't remember for sure)

When I first inserted the device, the Device Manager on my computer would not show it. I used Zadig to install the WinUSB driver to the device. At first, I couldn't find the device in the list - but I could find it after selecting 'List all Devices' in the options menu. It was listed as 'NanoFury NF1 0.6'. I installed the WinUSB driver, and could then see it in the Device Manager. BFGminer still doesn't recognize it. What other drivers could I need?

Also, the addition of `-S "NFY:ALL" had no affect on BFGminer. I would like to restate that I'm now trying to run it on Windows. I'd at least like to know if it's running properly on Windows before attempting to fix the issue on Linux.

Run "bfgminer --version" and see if you have the nanofury driver. If you don't you may need to build from the source (where the nanofury driver is included).

I had the same problem with the Nanofury. This is what works for me on Windows 7 Pro x64 using the Nanofury: I installed CP210xVCP, then I used the following command with bfgminer.
bfgminer-3.10.0-win64 -o yourpoolchoice -u yourusername_workername -p 123 -S all --set-device NFY0:osc6_bits=53
I created a shortcut for bfgminer in the same folder and put the above command into the shortcut target. Now, I can start it up by double clicking the shortcut, which is working fine with my nanofury.


text:
How do mining pools work?
I understand the following

Pooled mining is a mining approach where multiple generating clients
  contribute to the generation of a block, and then split the block
  reward according the contributed processing power. Pooled mining
  effectively reduces the granularity of the block generation reward,
  spreading it out more smoothly over time.

How does it work under the hood? What does the mining pool server do in terms of computation?
What do the mining workers do differently then if they would be mining solo?

The mining pool coordinates the workers. Think of it like a lottery. If you and your friends all buy tickets in the lottery the group has a better chance of winning. To be fair in the lottery example everyone should be rewarded proportional to the amount of money spent on tickets. So if there are 20 tickets for the pool one person purchased 10 and two people purchased 5 each - if one of the 20 tickets win the person who purchased 10 gets 50% and the other two get 25% each.
What a mining pool does is function as a coordinator for all the pool participants doing:

Taking the pool members hashes
Looking for block rewards
Recording how much work all the participants are doing
Assigning block rewards proportionally to participants

Miners mine differently by running pool software instead of the bitcoin client and just performing hashes for the pool.

Source: https://captainaltcoin.com/what-is-pool-mining/

Not clear. How they taking hashes? They should validate them, right? But validation means rehash, in other words - do the same work as miner. How is this possible?

What do the mining workers do differently then if they would be mining
  solo?

A miner that is mining within a third-party pool doesn't need the entire block chain. In fact it doesn't need to be connected to any peers of the Bitcoin network. These miners work entirely outside of the network and could technically just need to communicate to the administrator of the pool in order to mine.
The admin of the pool, on the other hand, needs to be exposed to the Bitcoin network and needs to listen for new blocks and validate transactions. The admin of a pool is a full Bitcoin node as described in Satoshi's paper.

How does it work under the hood? What does the mining pool server do
  in terms of computation?

What happens behind the hood is that the pool admin uses the combination of the miners computation, within her pool, as sort of an extension to her computational power. To do this there's specific software installed on the admin's server that takes care of making sure each miner is doing the work requested.
During a 10 minute block cycle, since most miners within a pool won't actually solve the block (only 1 miner on average will), the admin needs to make sure that miners are actually working on the problem.
To do this the miners solve a reduced difficulty hash, but one that could have also solved the actual hash, so it proves to the administrator they're actually working on the problem.

i dont understand one thing - when it is just one person that solves the block becouse he is the fastest, why the hell are then others needed to do the job? I may sound stupit but why should the admin of the mining pool even give the other members money when it is just one or two persons that are fast enough to overspeed the others and earn coins?

Do not use answers to ask a question. But I will answer your question. Bitcoin is a decentralized platform, meaning ownership is distributed throughout all the users. There is no admin, government, or higher power in the bitcoin network. Multiple miners exist because of the reward for mining a block. Anyone can be a miner, so people are trying to earn money through it. Also, if the leader of the mining pool doesn't let anyone else join, the other pools (there are a ton) will just mine faster than that one person because they have more computational power.

@BurakKilinc Because miners are obviously not hashing the same inputs and on average, each miner earn a proportional share of coins to its computational power.

I don't exactly grasp "miners solve a reduced difficulty hash" - is there a good example on this maybe?

@BurakKilinc Because those slower miners can also find a block. They are paid for the work they have done for TRYING to find a block.

this answer is great but needs clarification as to what exactly the reduced difficulty hash does

@ycomp I think the solving the reduced difficulty hash is only a way to demonstrate that a worker node in the mining pool is contributing, so that when a new block is mined, the manager node of the mining pool understands how much computing power each worker node has contributed and how much reward each worker should get. The work node is essential working on the original difficulty hash.

@jayarjo here is a good open source implementation of a mining pool https://github.com/oliverw/miningcore

Mining Pools are close to SoloMining under the hood. Most computers and hardware would take years to generate a block because they come in groups of 25 Bitcoins.
However with a mining pool the bitcoin share goes to the server its self and then it calculates the ammount of work that your hardware personally did. They will then send you that ammount of bitcoins.
All that the pooled mining servers do is record your amount of work. The mining server is basically Solo Mining.


text:
What compatibility issues might be expected when using the MegaCoin wallet on Wine?
Installing a wallet under linux is sometimes difficult without an up-to-date tutorial for users who are not familiar with linux.
I found that it is pretty easy to install wine on Ubuntu 12.04.4 instead and then installing the windows wallet.
I have been using this approach for Megacoin, Darkcoin, and Dogecoin for a month now and have not met any issues so far.
I am still wondering, whether one should expect negative consequences or compatibility issues when running wallets through wine?


text:
How Does Network Difficulty Relate to the Odds of Finding a Block?
Right now the network difficulty for mining is 40640955016.576. And, according to blockexplorer.com, the current odds of finding a block for any given hash is 0.0000000000000000000057288784391318092718842084135055792.
My question is, how is the "difficulty" and the odds of finding a block related? Obviously a difficulty of ~4 billion does not mean there's a 1 in 4 billion chance of finding a block (any modern ASIC miner could find a block in a heartbeat). So what does it mean exactly and how does difficulty and odds relate? And how can one calculate the odds based on the difficulty?

The difficulty is calculated in multiples of difficulty 1, which is defined as a probability of a single hash to be valid of 1/(2^32), i.e., in expectation one PoW is found by iterating through all 2^32 possible nonce values.
So given a difficulty of 40640955016.576 we have a probability for a single hash to be a valid PoW of 1/(2^32*40640955016.576). This in turn results in the ~5.72e-21 given by blockexplorer.

Ah! So a difficulty of 1 has odds of basically 1 in 4.3 billion (2^32) for any given hash. And with the difficulty coincidentally at around 4 billion, the odds are 1 /(~4bn * ~4bn). That's mind boggling. Thanks!

@fredsbend you're right - brain fart on my end.


text:
Why can't they use super computers to mine all the bitcoins?
I have very limited knowledge of bitcoin, but, I hope you don't mind my asking this question:
As I understand it, "mining bitcoin" requires "significant" computational prowess. A lot of dedicated mining rigs have been built out of FPGAs, ASICs and GPUs. But, I have always wondered: would it not be possible to mine ALL the bitcoins if you had access to some of the most powerful computers? So, for argument sake, if the NSA decided to stop snooping upon people and instead decided to, you know, mine bitcoins… would they be able to mine all the bitcoins in just a few hours if they redirected all their super-computational-power towards this one problem: mining bitcoins? Other potential candidates for this game include, but are not limited to: NASA, DoE, etc.
I realize that running a supercomputer to mine bitcoins may NOT be efficient (because a super computer consumes too much power, costs a lot of money, etc) but for a govt agency all that money comes from taxes so ...
Now, hypothetically, could "they" mine all the bitcoins in a few hours, or even in a few minutes if they redirected all their super-computational-power towards this one problem: mining bitcoins?

You might be interested to know that, while the techniques used to measure this are less-than-accurate, the Bitcoin network has been estimated to be about 6 to 7 times more powerful than the entire combined power of the top 500 supercomputers in the world. http://cnnmoneytech.tumblr.com/post/51098009327/a-fun-bitcoin-statistic?iid=EL
Maybe not a 100% accurate measurement, but when you win by a factor of 6 the error bars would have to be pretty large to falsify that statement...

A supercomputer is way slower than mining with ASICs. A supercomputer only has much CPU power, not even GPU power and ASICs are way more powerfull than GPUs. ASICs represent the hashing algorithm as hardware which means they can't do anything else, that's why they are so fast.
At http://bitcoinwatch.com/ you can see the current network hashrate in PetaFLOPS, which is 1534782.24 at the moment. Currently the fastes Supercomputer Tianhe-2 has 33.86 petaFLOPS.

but for a govt agency all that money comes from taxes so ...

If they would use all the money to buy ASICs and start mining bitcoins, it still would not be enough because of the difficulty factor. But they would be able to get a lot of blocks because the difficulty only changes every 2016 blocks.

Maybe stupid question: why are we even building supercomputers if ASICs are better?

ASICs are the hashing algorithm formed into hardware, so they cant do anything else while server can do what ever they are used for ;)

Good. My logic was working this time.

That's actually a really important part of the argument: ASICs are only made to do one thing, so it's not even a fair comparison. A specialized tool will usually win out over a general-purpose one for the one task it's designed to complete. We're comparing a rocket car to a Honda Civic here - the rocket car is obviously going to be faster, but you sure wouldn't want to drive it to work...

Hi @Recall ... I beg to differ. Here are my reasons:

You are assuming that any govt agency has only 1 super computer at their disposal. That is a completely wrong assumption. In some cases, re: NSA, we don't know how many super computers they have. But, we know for others. Eg https://www.nersc.gov/systems/computational-systems-table/
Your comparison of "total petaflops in the bitcoin network" with ONE single super computer seems flawed. I am saying: what if they deploy their entire computing prowess to this task. Not one, not two ... but ALL of their super computers.

Just my thoughts.

They cant have enough power by supercomputers because they would need 16k times more power than the currently fastes supercomputer...
Even with enough power they cant do it because of the difficulty factor see post.
I guess its impossible, at least currently, for them to have 16k Supercomputers which are as powerful as the currently top one.

@thatmaheshrs do you still differ in a point?

There are two reasons why they can't flash mine all bitcoins: Difficulty and specialized hardware.
First, the pace of Bitcoin creation is limited. The protocol defines how difficult it is to find more bitcoins. At normal pace, the difficulty is evaluated and readjusted about every 10-14 days. However, because the difficulty adjustment happens after a fixed number of blocks, the time until readjustment is shorter when blocks are found at a higher rate.
When blocks are discovered quicker than the target 10 minute interval, the protocol requires a readjustment to a higher difficulty, which in turn causes the pace to slow down. For a more detailed explanation see: How does the network adjust the rate at which the coins are created?
Mining in Bitcoin is done with application specific integrated circuits. ASICs are chips that can only execute one algorithm because it is hardwired into the chip. As these Bitcoin ASICs are single-purpose designed to solve only the calculations required for mining, they are highly optimized to do so. This lack in flexibility allows to increase their efficiency over general purpose hardware immensely, and has caused the hashrate of the Bitcoin network (the total "mining power") to grow about 20,000x (twenty thousand fold) since the first Bitcoin ASICs have shipped.
General purpose chips are many magnitudes less efficient at mining, and therefore don't stand a chance at competing.

Supercomputers are programmable to do anything. ASICs are built from scratch to calculate hash functions only. It is like comparing a human body, that can be trained to demolish a wall using karate, with a wrecking ball.

The Bitcoin network self-adjusts for the amount of hashpower available in total. This ensures that it will always take, on average, 10 minutes to mine a single block, regardless of the amount of hashpower on the network.
Basically as the total hashpower on the network goes up, a parameter called bits in the block headers goes down. This means that the amount of effort that miners have to expend to mine a block increases. If the hashpower of the network were to increase by a factor of 10, then the bits value would adjust such that the network would require 10 times more hashpower to mine each block as before. This has already happened many times over the lifespan of Bitcoin - modern ASICs are millions of times more powerful than the CPUs that were originally used to mine Bitcoin blocks. Yet the time to generate a block remains at 10 minutes on average.
So to answer your question, there will never be a computer fast enough to mine  all blocks in just a few hours - not even in theory. All Bitcoins will be mined by approximately the year 2140 but not before.

No, there is a difficulty argument built into the Bitcoin protocol itself, so the NSA would not be able to mine "all" the Bitcoins.

you are right that a single high power unit cant get all blocks at once, but still the supercomputers dont have enough power at all for bitcoin mining

@Recall: We can't know that for sure, as the NSA does not publish information about how much compute power it has available.

They cant have enough power by supercomputers because they would need 16k times more power than the currently fastes supercomputer...

@JacobKrall ... that's a really good answer.

why was this answer down-voted and by whom?

While it is correct, it is extremely short and relies on a link to explain instead of rather including an explanation that would be self-sufficient.

The bitcoin network hashrate estimate on bitcoinwatch.com passed 1 exaFLOPS (1,000 petaFLOPS) which is over 8 times the combined speed of the top 500 supercomputers.
Bitcoin network does this by using ASICs. Therefore a supercomputer cannot mine al the bitcoins in matter of hours.
Even if they could have, they have much better work to do...


text:
Where can one trade AuroraCoins for Bitcoin?
I have some AuroraCoins (AUR), minin' them on ghash.io.
I want to turn them into BTC and then use BTC (no USD!).
Some exchanging site?
Trust me, I've been Googling, Binging, DuckDuckGoing and others and found nothing.

Create an account on Mintpal, they have a direct trading market: AUR/BTC. From Mintpal you can withdraw it to your own wallet or where ever you want to have it.

https://coinmarketcap.com/ is a good site to show the trading pairs of various cryptocurrencies on different exchanges.
Find an exchange that has the trading pair you are after.
Do some research into the history of the exchange, any SCAM alerts, previous users experience, check on https://bitcointalk.org/index.php to see what other users say about the exchange.  Have a look at the support ticket response time.
Once you are happy you have found a suitable and reliable exchange, transfer in your altcoin, trade and transfer out your desired currency.


text:
How can i get the payee public key from the payment request
I'm trying to get the payees public key (destination node) from the payment request. You can see an example here.
In the source code for (https://lightningdecoder.com/) it seems like they get it from a tag or tag 19 (?) but I can't find this information in the decoded payment requests i get from LND:
https://github.com/andrerfneves/lightning-decoder/blob/0fd4bdcd9ec01e8bacd0a475543186ad2de3fe27/src/lib/bolt11.js#L386-L394
Does any one know how to get this? Preferably using Go and the invoice returned by LND

It's not quoite a duplicate question but I think the answer you seek for was given in the past to a similar question: https://bitcoin.stackexchange.com/a/96205

Thank you Rene, I think I can solve my question based on the answer you posted above. I’ll update this post once I have an example of the solution for future reference here.

Here is the solution I ended up using:
// var invoice *lnrpc.Invoice

inva, err := zpay32.Decode(invoice.PaymentRequest, &chaincfg.MainNetParams)
if err != nil {
    return err
}

fmt.Sprintf("%x", inva.Destination.SerializeCompressed())

Alternatively, I think you can replace the fmt.Sprintf with hex.EncodeToString
hex.EncodeToString(inva.Destination.SerializeCompressed())

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


text:
Problems decrypting my bitcoin-wallet on android
So I dropped my phone in the toilet... Of course I immediately turned it off and went with the rice technique. I realized later that I had coins on my phone on the bitcoin-wallet on android . Luckily, i was able to turn the phone back on after a day and the first thing I attempted on doing was backup my wallet. I used the back up function and was prompted to enter a password to encrypt with. I did. Then I wanted to decrypt the password (to prove in case of emergency that I could).
openssl enc -d -aes-256-cbc -a -in <filename>

When trying this I'm asked for the password, which I give. Then I'm given a bunch of garbage.
I have found that I'm using version 3.53  . Thanks in advance for the help.

If you didn't see the error message bad decrypt, and if the garbage you saw had the string org.bitcoin.production, then the decryption worked.  In recent versions of Bitcoin Wallet, as explained in the README, the wallet backup is no longer encrypted plain text but a custom protobuf format.
You can write the decrypted wallet to a file using the -out option to openssl, which is probably more useful than dumping it on the screen.  However, if you want to read it or extract the keys manually, you'll probably need special tools, which I am not sure if anyone has written.  See also Is there a known way to export my wallet private key from the "Bitcoin Android" app (com.bitcoinandroid)?, though it may or may not be current.
If you did see the message bad decrypt then you got the password wrong.  Try other variants.
The intended way to use the encrypted backup file is simply to copy it back onto your phone and restore it into the Bitcoin Wallet app with the "Safety:Restore Wallet" option.  You don't need to manually decrypt it with openssl unless you are trying to do something fancy.

It appears the new android app doesn't support SSL decryption as answered above/below

@Aussie: As in my first paragraph, the decryption itself works fine. It's just that the wallet file format is not plain text and is harder to deal with.

Yeah, I've not been able to decrypt either. Format has changed. I'll look into it

Here's a tool that dumps the protobuf format: https://github.com/lloeki/bitcoinj-wallet-dump


text:
Definition of blockchain height
What is the definition of blockchain height and how is it found/calculated.
I get the idea it is related to the SO answer by Gary Rowe, but the word "height" is not mentioned. Yet I see references to "blockchain height" in many places.

The height of a block is the number of blocks in the chain between it and the genesis block.  (So the genesis block has height 0.)
The height of the block chain is usually taken to be the height of the highest block, in the chain with greatest total difficulty; i.e. the length of the chain minus one.

This answer was used to create a tag-wiki for [tag:height]. :)


text:
Is there any academic research on the influences of Bitcoin's long term valuation?
Is there any academic research or theories about what future events and metrics will most influence BTC's long term valuation relative to fiat currency?

There are some research papers out there, including about bitcoins economical viability. A wonderful (a pleasure for hours) and fairly complete list can be found on the wiki. A random chosen abstract:

Bitcoin has emerged as a fascinating phenomenon of the ﬁnancial
  markets. Without any central authority issuing the currency, it has
  been associated with controversy ever since its popularity and public
  interest reached high levels. Here, we contribute to the discussion by
  examining potential drivers of Bitcoin prices ranging from fundamental
  to speculative and technical sources as well as a potential inﬂuence
  of the Chinese market. The evolution of the relationships is examined
  in both time and frequency domains utilizing the continuous wavelets
  framework so that we comment on development of the interconnections in
  time but we can also distinguish between short-term and long-term
  connections.

Have fun! :)

None as yet. It is pure speculation, and in any case any study of such a kind would have and even chance of being completely wrong. Nobody can see into the future.

Although you can analyze and extrapolate trends.

But nobody has yet done this as an academic AFAIK


text:
Would it be possible to overtake the network by running a secluded mining operation for many years?
I have a scenario. Let's say I start my own Bitcoin mining on a secluded network. I leave this to mine for many years or even pass it down to future generations.
To the very point that my chain is longer than the worlds current chain. Then I connect to the network. What would the result be? Would I instantly own every coin mined?

Only if you had over 50% of the power. (protip: you didn't)

'Longer' means 'more total work spent'. You're not going to be working harder than all miners put together are you? Then the only way to get some money is to join the existing miners and work with them. And by doing that you coincidentally enlarge the group of 'honest' miners, making it that much harder for someone else to consider your  'evil' plan.

Also, the secluded chain wouldn't include any of the checkpoints, so even if it at some point had a larger total Proof of Work, it would be ignored by the rest of the network.


text:
Mining Bitcoin- Simple Example for transparency
I'm spending a lot of time researching bitcoin before I make any decisions about it, and most of the research is getting to know its fundamental network. Most of the easily verified information is very high-level (meaning surface-level info, e.g. the videos on bitcoin.org or bitcoinmining.com).
What I'm looking for is simple C code (or whatever language) that is verifying information from the blockchain, but not through a pool. I understand the economies of scale and how this will not be efficient. Please don't emphasize how this is not profitable-- say I'm only interested in doing it to contribute my fair share to the p2p network.
How do you get jobs assigned to you from the network to perform your proof of work in the first place? Is there a tool to just get used to this procedure?

Initially miners get their work directly from other peers on the network.  The peer to peer network is publishing transactions constantly.  It is through the process of mining that these transactions are distributed to the entire network.  The tool that you need to help confirm transactions on the network is a mining application.  Some examples are cgminer, bfgminer etc. If you are interested in solo mining and contributing to the network I do urge you to understand difficulty and the formula used to generate a block and why you are very unlikely to ever generate a block of Bitcoin thus confirming the transactions that your node has seen on the network (unless you are mining with many ASIC's and have several Tera-Hashes per second).  As you requested I will not discuss profitability only the probability of this occurring.
From another thread I will reference an equation for how frequently a Bitcoin can be generated with a given hashing power:
Current difficulty = 908,350,862
Hashing power(based upon mining hardware) = 1000/Mhs or 1/Ghs
We will be solving for the approximate amount of time that it will take (on average to generate 1 block of BTC)
By solving for time we get roughly every 1083704 hours ~= 45154 days ~= 6450 weeks ~= 124 years.  Sadly we know that the difficulty is continuing to grow exponentially and it gets recalculated every 14 days or so thus making the average time to generate a block increase.  That being said if you would like to solo mine this is how you would do it.
Simply by launching either bitcoind or bitcoin-qt in server mode the application is ready to accept work from your mining application.  You can then direct your mining application to obtain work from this service via IP (generally on port 8333) Mining pools run an application server such as a stratum or http service that helps to calculate how much work is accepted from each miner if you do not have such an application running you will not obtain statistics from the Bitcoin service unless a block is generated by your miner.

authors: Евгений Дрозд


text:
How does a miner collects the fees?
The way I understand it,  at the very top of the block the miner adds a transaction to collect the 25 bitcoins it would earn if it solves the block.
Obviously that transaction is included in the hash/nonce when the block is solved.
But what about the fees? the only way I see it done is for the miner to also create transactions for each of the fees it finds in the block.
All these "fragments" have to be traced to some source/input address.
Q: How can the miner sign a fee transaction for itself if the miner's address is not the input of the transaction?

In the same special "generation transaction" that collects the 25 newly minted bitcoins, the miner also collects the total of all the transaction fees in the block, and together can send them to an address(es) of his choosing.
No signature is required; it's a hardcoded perk to whoever manages to find a block.

Essentially, when determining if a block is valid, a check is done. The coinbase transaction to reward the miner may not claim more than the block reward plus the difference between the bitcoins in and the bitcoins out.


text:
If I lose my wallet and private key does that effectively remove bitcoin from the market forever?
If I lose my wallet and private key does that effectively remove bitcoin from the market forever?
I understand that if I lose my wallet and have no record of my private key then I won't be able to re-establish my wallet. Does this mean that effectively the content of the lost wallet is lost forever to myself and the market?

If you permanently loose your keys, the short answer is essentially yes. Your loss, a deflation, will cause the value Bitcoin being held by others to go up proportionately.
With a 100% efficient quantum computer (not likely at all), the amount of energy required to brute force compute the private keys will cost ~$100M each in electricity (assuming 5 cents per KiloWatt-Hour) if the public keys associated with the private keys are published on the blockchain.


text:
Transactions Won’t Confirm
I have an offline wallet and I wanted to send some bitcoins to myself on an account I have on one of the exchanges. I sent a small amount 6 days ago and it still hasn’t gone through. I’m not sure why it’s taking so long and was wondering if anyone had any tips. I made a mistake of not adding a fee to it so I resent another small amount to my exchange based wallet with a fee of .0005 and that one hasn’t gone through either even though its been 5 days. Is there a way to reset the transactions or something so I can try again?
My transaction ID is: 2e0e6fcc39596707e6566b22c2806d68ca9d57117f43f1eeb31514c059b1e962

How about telling transaction ID?

2e0e6fcc39596707e6566b22c2806d68ca9d57117f43f1eeb31514c059b1e962

That transaction hasn't been seen by blockchain.info.  I entered it into my Bitcoin-Qt client and it said it was an invalid transaction ID.  Sounds like your transaction was never broadcast to the network.

It would help if you described the steps you took to send the coins from your offline wallet.

i opened up my bitcoin client, copy+paste the address to send it to (i have double checked multiple times to make sure its correct and it is), typed in my key to be able to send them and sent them. the bitcoins are no longer in my wallet and the transaction is showing in the client but with a ? mark and when I look at the info amongst other things it says 0/unconfirmed and sometimes its be broadcast through x number of nodes. is there a way to cancel these transactions so i can get the balance back and try sending them again?


text:
How do bitcoin exchanges set prices?
What do exchanges base their Bitcoin and alt currency prices on? What makes them say that they will sell bitcoins for certain amount? Do they increase and decrease their price based on what other exchanges are selling for?

possible duplicate of How is the exchange rate for Bitcoin established?

An exchange doesn't set a price at all. It provides a framework for customers to buy and sell coins to each other, at whatever prices the buyers and sellers find mutually agreeable. The exchange itself does not buy or sell, and the prices it quotes are just a report of what its customers are doing  right now.

If all exchanges' prices solely depend on bid and ask, we would not see what we see everyday where all exhanges (worldwide) prices are following each other in a synchronization manner. There must be something more to it then bid and ask.

@JoeAnucha: Whenever prices between exchanges diverge too much, a trader will find it profitable to buy on one and sell on the other. This arbitrage equalizes prices. Also see: https://bitcoin.stackexchange.com/a/20384/5406

The answers listed previously, are accurate with exchanges. Then you have coinbase.com which is not an exchange its more of a conversion mechanism. For BTC to Fiat and vice versa. I came to this stack based on a query as to how they replenish their supplies during rallies like the current ATH we are seeing now.
I think exchanges and sites like coinbase buy and sell from each other. They may do this via a large exchange like bitfinex or stamp, or even smaller exchanges. This is also most likely automated and built upon algorithms that watch for the most favorable exchanges and maximized profits. Large exchanges have lots of coins that can be bought and sold over and over again.

Coinbase.com also now offers an exchange.

Also, markets typically show the Lowest ask and the Highest Bid.
You can see some of the depth of the market on charts like this
http://www.bitcoincharts.com/markets/virtexCAD.html (should show where volume of buys and sells are)
The difference between the Bid and the Ask is the Spread. Major financial markets have market makers. These people (mostly robots now) will buy and sell an inventory of stock and try to capture that spread to make a profit. The more liquid the market the tighter the spread gets.
As far as I know there are no officail professional Bitcoin Market makers yet.

You set the price, and other user's decide if they want to buy it at whatever price. If you saw 1 btc selling for $10, you'd buy it asap right now wouldn't you? And what if you saw it at $1 million, you wouldn't buy that as well right? Exchanges just keep track and process orders people set. If set a sell order for $1 million right now, no one would fulfill it until it was reasonable for them, maybe sometime in the future.


text:
How to use blockstream's REST api to retrieve JSON output on an address?
I have a bitcoin address and I want to get the JSON format of the balance using blockstreams api service.
It's this one: https://github.com/Blockstream/esplora/blob/master/API.md#transaction-format
It's not clear on what I need to put in the URL. I tried:

https://blockstream.info/address/:bc1xxxxxxx

and it doesn't work.

I think you're confused about two things. The API needs a "/api" in the URL, and the colon indicates a value to be replaced, not a literal. For example https://blockstream.info/api/address/bc1qgsmfaz22lzy08wqjspd8xtm43hal5tgz4hyac6 works.

yes that works. it doesn't say anywhere on that docs that I had to add api after the domain name. thanks!

As others have said you can use https://blockstream.info/api/address/bc1qgsmfaz22lzy08wqjspd8xtm43hal5tgz4hyac6 for the JSON - the doc is in reference to running a local instance - the exact endpoint is depending on deployment, the default deployment we use has nginx forward /api/ requests to electrs without the api bit https://github.com/Blockstream/esplora/blob/master/contrib/nginx.conf.in#L32 but it depends on how people want to deploy it.
We should probably mention this in the API.md file to avoid confusion


text:
How to allow only local connections?
I've started to implement my bitcoin client to learn the protocol and faced a problem to see debugging output. When I start bitcoind with -debug option, it start to print so many debug messages in such speed that i can't see whats wrong with my client implementation. How can I start the bitcoind program in such way that it will not sync and just listen to new connections from local machine?

Try
bitcoind -bind=127.0.0.1 -connect=127.0.0.1

strange, when im doing -connect=127.0.0.1 it opens only port 8332, but without this option it also opens 8333 port. I believe that commands like "VERSION" i should send to 8333 port because 8332 doesn't answer me at all.

You're right. It seems that it goes in RPC mode. Adding -listen=1 enables 8333. If that doesn't work. bitcoind -bind=127.0.0.1 should do it.
Let what works for you.

I meant bitcoind -bind=127.0.0.1 -connect=127.0.0.1

I found another method, run the bitcoind as usual and add firefwall rule  sudo iptables -A OUTPUT -p tcp --out-interface wlan0 --dport 8333  -j DROP


text:
Could this stop double-spending?
Let's say you have a 15 second block time, and after your first transaction, your wallet's send button is frozen, and you have to wait for 2.5 minutes before you can send another transaction.
Would this prevent somebody from doublespending?
BTW: in case you want to ask how this could be enforced on the send button: Hmmmm maybe with something like scrypt which is timebased.

Possible duplicate of http://bitcoin.stackexchange.com/q/4974/11862 and http://bitcoin.stackexchange.com/q/8563/11862

oleksii I admit that I'm asking the same questions, but is it correct that enforcing a 2,5 minute transaction limit could stop doublespending in this scenario?

Double-spending has nothing to do with double clicking the send button.
It involves a malicious user, who will not use the standard client. It will hack one to avoid any client-side limits, sending two transactions to a different side of a blockchain fork, so both sides don't know about the transaction sent to the counterpart and includes the transaction in their forked version.
If you manage to do so while using both transactions to pay for something and are accepted, after the reorganization (the process by which forks are resolved) only one side of the fork will be mantained, so the blockchain will be OK as only one transaction will be kept, but you got both payments effectively using the same coins to pay two different merchants and one of them will lose what you paid.
As you can see, it is not an usual scenario. Forks are more or less common but not really deep as they typically get resolved within a single block. That's why it is recommended to accept a transaction only after six confirmations, as a fork of six blocks is almost impossible to appear under normal circumstances. But do note that even this has happened, when a bug between software versions kept some miners from agreeing to mine on what would otherwise have been the consensus branch.

Thanks for your crystal clear answer frisco... It's probably not as simple and possible for the standard-client to refuse everything that is NOT the standard-client... I mean this from the perspective of a new coin, because what is already out there is out there..

No, you never can control the other side of a connection, as long as it follows the stablished protocol you can not be sure if it is a standard client or one guy sending the bits one by one.


text:
Is it possible to identify exact GPU type using miner's log file?
In the miners (sgminer) log file I have the following lines:
[21:14:19] ADL index 0, id -546853344 - BIOS partno.: 113-C3865001-T04, version: 015.041.000.000.000000, date: 11/25/13 02:47
[21:14:19] GPU 0 assigned: iAdapterIndex:0 iPresent:1 strUDID:256:26520:4098:12289:5963 iBusNumber:1 iDeviceNumber:0 iDrvIndex:0 iFunctionNumber:0 iVendorID:4098 name:AMD Radeon R9 200 Series

Can I use the information above to identify the exact GPU type? It's clear about the AMD Radeon R9 200 Series family, but I need the exact type also.
Is there any database I can use?


text:
Profit by programming a Bitcoin service (wallet) in an "only-now" bc adopting country?
A country where I am from appears to take Bitcoin into an interest right now.
I am a senior programmer at one company and have done several projects, but right now I am mostly interested in the opportunities that might appear from Bitcoin to a programmer at my small european country.
I appear to have a domain bitcoin.abc and bitcoins.abc, where abc stands for my country tld name.
I went to freenode chat #bitcoin, #startups, asked out several people, but could not find any helpful information about an opportunities that one might get in my case.
I wonder if there is anything I can use such domain names and a programming knowledge, with interest in such a decentralized system and get on a way to profit.
I don't really know, but, perhaps building a new wallet, or such? I would really appreciate any ideas, thoughts or resources to read for me on my case. Thanks.

Why would anyone give you an idea to implement? If I would have a nice idea, I would do it myself. Having a domain is not really such a big deal.

Use your domain to sell bitcoins for fiat in your country. That's the most profitable thing you can do.


text:
What were some discussed and current potential issues with pre-forked Bitcoin coins from August 2017 that have never moved since then?
I was speaking to a friend that mentioned that there were issues with pre-forked Bitcoin coins from Aug 2017 that never moved. He wouldn't tell me exactly what the potential issue was, but what were some discussed or potential issues with these unmoved pre-fork UTXOs?
Is it a potential double spend that could happen on these coins that never moved?

A potential issue I can imagine is that if you have BTC coins that never moved since the BTC-BCH fork, and you want to sell the BCH side using a recovery tool, you'll need to expose your private key to it - and that private key can be used to access your BTC as well. That's obviously a risky proposition, and it's better to use trustworthy software regardless. Still, my advice would be to move the BTC coins before trying to recover BCH; not for replay risk, but to avoid needing to expose a potentially live private BTC key.

Didn't the exchanges at that time have to modify their bitcoin software to extract these forked coins at one point?

Possibly, but that was just due to the fact that BCH signatures worked slightly differently (and that's exactly what brings the replay protection).

No, there is no such problem. When BCH developers thought about introduction replay protection, they first agreed on the OP_RETURN-based one. Then they changed their minds and decided to use the better SIGHASH_FORKID-based one (see details about BCH replay protection).
Their first replay protection wasn't removed. It expired with block 530,000. After that block, unless you had moved your coins, it would have been impossible to separate your coins using that method.
That didn't matter to anyone then, since the second replay protection method introduced was made mandatory and worked perfectly. It was actually good enough to be exemplary (Bitcoin Gold copied it).

If you have pre-2017 coins, then you have BTC, BCH, BCHA, and BCHSV. To split those, send your bitcoins and BCHs to Coinex and they'll split it for you. (It is suggested to check that your transactions don't have nLockTime.)


text:
How does estimated coins calculated on Coinotron?
On 'Cointron' their is wallet table after logged in into the site, how they calculate estimated coins per day, estimated rewards, confirmed rewards and unconfirmed rewards?
How does Coinotron derive this value?

Regarding estimated coins per day, with any coin, the golden rule is:
coins per day = kh/s * coins per block / network difficulty / 50

So for example, if you were mining Dogecoin with 800 kh/s, you would have
coins per day = 800 * 250000 / 1000 / 50 = 4000

This 50 is not really a 50 exactly, but rather 2^32 / (3600 * 24 * 1000), where 2^32 is the expected number of hashes required to find a block at difficulty 1 (i.e. the probability of finding a block is 2^-32), 3600 is the number of seconds per hour, 24 is the number of hours per day, and 1000 is the the number of hashes in a kilohash. It works out to be only about 0.5% off, close enough for an estimate.
Estimated current round rewards is an estimate of how many coins you would get, based on your submitted shares, if a block were found right now. As for confirmed and unconfirmed rewards, mined coins require a lot of confirmations before they can be spent. The reason is that if the block gets orphaned, the mined coins disappear. So before the threshold of confirmations (different for each coin) is met, they are considered unconfirmed and cannot yet be paid out. Confirmed rewards, on the other hand, can be safely paid out.


text:
Should I mine bitcoins or litecoins?
I don't pay for my own power, but I have two problems mining. I am CPU mining at 250 mhash/s because my AMD Radeon HD 7800 series graphics card will only produce 4.0 mhash/s (the other problem I'm having that I don't understand) but my main question is- what is more profitable to me? litecoin mining or bitcoin mining?

Litecoin mining is currently more profitable for likely all GPUs.
From the bitcoin and litecoin hardware wikis, you'd get 300-400MH/s for bitcoin mining and 340-470kH/s for litecoin mining if you set it up properly (and there is something VERY fishy about you getting 250MH/s with your CPU, I'd guess it is using your GPU though you don't know it...).
For bitcoin, the current difficulty is about 6,500TH/s.  Thus, you'd own about 300/6,500,000,000 of the network.  At 25 bitcoins per block, 6*24 blocks per day, and $800 per bitcoin, you'd make about $0.13/day.  There is specifically-designed hardware for mining Bitcoins, which is way more powerful than GPUs, so unless you can buy a dedicated mining ASIC, your energy bill would overcome your revenue.
For litecoin, the current difficulty is about 90GH/s.  Thus, you'd own about 340/90,000,000 of the network.  At 4*6*24 blocks per day, 50 litecoins per block, and $25 per litecoin, you'd make about $2.72/day.  It uses a different algorithm (called Scrypt) than Bitcoin. FPGAs and ASICs can't be optimized for this algorithm as much as they can be optimized for Bitcoins' algorithm, so Litecoins are mined exclusively with GPUs. This means that you can still be comptetitive, and you should mine those.

Your best bet with a GPU is to mine scrypt coins.  If you want the resulting payout to be in bitcoin, try using mining on a multi-pool like middlecoin.com. That pool automatically chooses the most profitable scrypt-based coin to mine and pays out daily in bitcoin.
I have 4 7950s pointing at middlecoin and make between .05 to .1 bitcoin per day.

Could you describe your hardware configuration please ? How many GPU cards, computers and model ?

I cite: "I have 4 7950s"

Dogecoin is the most profitable scrypt coin as of today.
With growth from 0.05 BTC for 1 million to 0.35 BTC and difficulty rise from 4 to 101.67 in a week. Dec 9 - Dec 15, 2013

Citation needed.

It's still the most profitable as of 21/Dec according to dustcoin.com , and one of the most profitables according to coinwarz.com . Seems to have been among the most profitable for most of the month but of course, nobody knows how much time it will keep that place.

I find the dog, "comic sans" font and the language used in the GUI to be über-cute. I understand some people seem to hate with passion the same 3 :)

I don't think you have a choice. You will not do much mining bitcoins with MH/s. You need at least a few GH/s. Not sure about litecoin. If you want to mine bitcoins you have to look for specific hardware (butterfly labs kncminer) or cloudmining like cexio


text:
Is it possible to generate a complete public address with vanitygen?
FAQ says it's possible to use vanitygen to search for a match to a complete address yet when I input a complete address I get an "is too long" error message. Is there a way to run vanitygen using a complete public address?

related: Is it possible to brute force bitcoin address creation in order to steal money? --- Is Each Bitcoin Address Unique?

I assume you are the person that created this question. If you still are logged in from another computer, perhaps you could edit your question to clarify your intent. Concerning your "test", I don't see how you would be able to proof anything, except that your personal computer isn't sufficient to find a hash collision in "X" tries, where "X" will get larger over time, but remain magnitudes of magnitudes away from proofing something. IMHO it is not an expedient approach, rather it's a complete waste of energy.

It's so unlikely to succeed that it is not being offered. One could be tempted to say it's not possible:
Your chances are along the lines of 1 to 2^160. That is 1 to 4.666587*10^172, or very roughly rounded, 1 to 5 followed by 172 zeroes.
To put that in perspective, if you could create a billion addresses per second, the expected time to find a collision would still be longer than the age of the universe.

Well this website has a list of all Bitcoin addresses and their private keys:
http://directory.io/
Of course this is a joke, and it doesn't really have them, it just generates them on request.
If you want it to match the exact address - it's far better to just edit the .cl kernel file so that it will verify the public key directly instead of converting it to an address and then comparing it. This would also increase the rate with which it is finding keys.
That said - this exercise is futile, as it is virtually impossible to stumble on the same private key as someone else.

The basic answer is: "It's not impossible" but "It's improbable" to do so. You'll make more BTC's on average mining, rather than trying to crack a public address with a vanity generator.
Like Murch said, the possibility of finding the same address is: 1 to 4.6 x 10^172
While getting struck by lightning twice is: 1 to 3.6 x 10^11
Statistically talking, you'll probably die before you can even come close finding the same public address.
Kudos,
-Beşir

I see everyone's answers are more about how it's unlikely to be done and not about exactly how to enter an address to match without an error since the prefix cannot be an entire address I've noticed. I have been looking for the same thing to make sure I'm doing it right but I believe you use -r (space) (address you want to match) hit enter. It doesn't give you a time or how long only how many keys per second it's going through, which is a lot, and how many total have been covered.


text:
Is it profitable to mine any Altcoin in the Cloud? Amazon aws has servers with GPU.
As title says, I would like to mine in the cloud. Is it profitable? I don't mean bitcoin because the network hash power is too high at the moment. I'd like to mine, for example, Dogecoin in the cloud. Is it possible and profitable? Thanks!

Possible? Yes. Profitable? Only if you're not the one paying the EC2 bill.

If it were profitable, everyone would be doing it, increasing the difficulty, and making it no longer profitable. Mining is only profitable for you if you have some advantage over other miners.


text:
Is it important to buy Bitcion hardware to start mining?
I have just learnt about Bitcoin and Bitcoin mining. Is it really important to buy Bitcoin mining hardware like BFGMiner to earn Bitcoins ? Can't we just download the software and join a pool?

You should search for existing answers to questions before posting.  Your question is answered here:
http://bitcoin.stackexchange.com/questions/1433/how-can-i-start-mining-bitcoin/22916#22916

No, you can't. Your existing hardware is general purpose and is so inefficient at mining Bitcoins that the value of the Bitcoins you mined would be a tiny fraction of the cost of the electricity it would use. Think of existing miners as aircraft carriers and your computer as a bow and arrow, at least when it comes to mining Bitcoins.

I agree with what David said. However, if you have a GPU, then you can mine Scrypt coins like Litecoin or Dogecoin. For Nvidia GPUs, check out CudaMiner, and for AMD GPUs, check out sgminer. CPUs aren't really worth the effort to mine with, even for CPU-only coins like Primecoin (where an Intel Xeon can probably get you $1 a day).


text:
What is UASF, BIP148, Segwit, Segwit2x?
I keep reading these terms and I don't follow this everyday. Last I heard was that segwit was suppose to solve the block size debate. What are all these new terms like segwit2x and UASF?


text:
How old does one need to be in order to mine or use Bitcoins?
How old does one need to be in order to mine or use Bitcoins? Do I need to be 18 years old, or just 13? Is it illegal if a child uses Bitcoin?

Anyone can use Bitcoins there is no age specification. It's good that you start with crypto currencies at early age so that you can make a handful of money while you turn 18 but don't get do indulge into cryptos so that you put all other things aside.


text:
What is the benchmark that mining ASICs are measured with to determine the hash rates?
When a mining ASIC claims to run at 1 MH/s or 10/MH/s or even 1000 GH/s, at what difficulty and with what algorithm is that measured against?

When a mining ASIC claims to run at 1 MH/s or 10MH/s or even 1000 GH/s, at what difficulty

10 MHash/s means that the chip can do 10 million hashes per second, regardless of what the difficulty is. The difficulty changes how many blocks you find, but it doesn't change how many hashes the chip performs.

and with what algorithm is that measured against?

It'll usually say what algorithms it's capable of mining, but if it doesn't, you can usually assume it's SHA256. There are a couple of odd ducks, like hybrid ASICs that can mine multiple algorithms at once; those are actually two different mining circuits put on the same chip.

cgminer shows the ASIC running at the hash rate claimed. But when mining in a pool, the pool shows a hash rate of roughly 1/3 what cgminer says.

There are three possible explanations:

The chip is lying about how many hashes it's doing, but the pool can't be cheated in this manner, because it relies on shares. (unlikely)
You're failing to submit otherwise valid shares, because of some software misconfiguration. (slightly more likely)
You've been unluckly, and have gotten less shares than average. This will even out over time. (most likely)


text:
Yield Conversion
If you're mining at a yield of xBTC/Ghs how would you convert that to xBTC/Khs?  For example; what would .0009231BTC/Ghs convert to in /Khs?
Also, to calculate your total projected yield would you multiply the rate above by the number of seconds your rig is running?
Help much appreciated.

kilo, mega, giga, tera, peta, exa, zetta, yotta..
these are all SI prefixes, each multiply by 1000.
You might be a little confused since binary base values however are different, requiring powers of 2 instead of powers of 10.. that is why its 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, etc. This is why 1024 bytes = 1 kilobyte, since it does not conform with SI. However this is not the case with hashing.
One gigahash would be equal to 1000 megahashes, which is equal to 1,000,000 kilohashes.
To find how many bitcoins you are getting per kilohash you could divide the bitcoins you get per gigahash by 1,000,000.
If you would like to calculate how many hashes you will create over a certain period of time (in seconds), simply multiply rate * seconds to get the expected number of hashes to be preformed in this period of time.
Because of difficulty changes, you can only estimate your payout rate until the next difficulty change. The difficulty statistics can be found here: https://bitcoinwisdom.com/bitcoin/difficulty
More information on what bitcoin difficulty is can be found here: https://en.bitcoin.it/wiki/Difficulty
If you are trying to use a mining calculator, such as http://www.alloscomp.com/bitcoin/calculator you only need to put your hashrate/s, as it preforms calculations based on this and not the total amount of hashes.


text:
Can I build a mining ASIC from parts I find online?
I've noticed that there are all kinds of cards, blades, and other parts of ASIC mining rigs for sale on eBay. Is it possible I could buy some cards and blades and build my own high end mining ASIC without having to pay for something brand name or design my own (which we all know isn't going to happen)?.

Technically, sure, you can cobble together parts from bitcoin ASIC manufacturers and make your own farm.
Practically, you are better off going to one of the "something brand name" guys and getting a mining rig.  The bits and pieces that you see around on various auction sites are most likely out of date and will cost you more in electricity then you make (not to mention possibly faulty if they are selling them in bits).
Of course, depending on where you are, the chances are that even with the latest gear you won't actually turn a profit.
The mining industry is very cutthroat these days and profit margins are thin.  The rig turnover is also very high with miners replacing their rigs every 6-8 months in order to get the most efficient equipment.

I can see where you're coming from;  most prebuilt computer systems are awful.
However, most mining units are sold without power supplies, so almost all the time there's some level of assembly required. Pre-built versus "brand name" isn't a useful distinction. I suggest that you make a price comparison based on the hashes per second,  power usage, and price.


text:
Is there a reliable and accurate profitability calculator?
I've looked at the various profitably calculator sites and honestly I'm not sure how up to date they are. They don't seem very accurate. Is there one that's better than the others?

Will one of these calculators work for your purposes? If not, why? http://bitcoin.stackexchange.com/questions/485/how-can-i-compute-mining-profitability

What makes you think they are inaccurate? The basic arithmetic involved hasn't changed, and any time-sensitive data being used (eg current market values) should be shown to you, so that you can see if they are accurate.

All the calculators I have seen have been correct.
There are three typical sources of the confusion you are experiencing:
1. The calculator is NOT telling you what you will earn in the next 24 hours.
No, mining calculators cannot tell you exactly what you will earn from day to day. And they're not trying to.
If you had a dice calculator it would tell you that your average roll will be 3.5. You can roll a die 1 time, get a 6 and call bullshit because 6 is far from 3.5. But the calculator wasn't trying to tell you what your next roll will be. It cannot know the future. Neither can mining calculators.
What they are telling you is the average expected income with your hashrate mining at the given difficulty. Over the long term variance evens out, but something short like a single day has a lot of variance.
A common mistake among beginners is to try a few different mining pools for one day each and declare the one that paid the best as the most profitable pool. This is like buying one scratch ticket from three different lotteries and declaring one of the lotteries the best because you won on that ticket. This sort of thing makes absolutely no sense once you learn about variance.
2. Payouts lag behind mining work.
Another source of confusion is that pay from most pools lags behind the work you do. For example, many pools use PPLNS with shifts and pay for your work as long as your work is among the 10 latest shifts at the time when a block is found. If your work is eligible for pay (in the 10 latest shifts) for e.g. 48 hours, then it will take 48 hours before the work can no longer get paid more coins.
If you look at the pay after 2 of those 48 hours you are sure to be unhappy with how much you've been paid. This is like working a single day and then complaining to your boss that you didn't get paid, when your salary is being paid on a monthly basis. Note that 48 hours is just an example, this will vary from pool to pool.
3. Calculators don't include all the factors
This is a much smaller issue than the two others, but can still be useful to be aware of. There are many factors that affect your mining income, and most are ignored by calculators. I wrote about this here: BTC/hashes/second rates for various pools

Great answer. Expanding on #3: if it's altcoin mining the variance can be affected dramatically by multipools switching to match profitability, which in turn, can dramatically increase difficulty if the coin has a highly responsive KGW (Kimono Gravity Well) adjustment algorithm (as opposed to Bitcoin, which takes 2 weeks to adjust).


text:
Is it possible to pay part of a Bitcoin to someone?
Bitcoins are over $800, I need to pay someone about $200. Is it possible to pay someone with a partial bitcoin?

Related: What is a 'Satoshi'?

Yes! To send $200 at a Bitcoin price of $800/BTC, you'd send 0.25 BTC. Bitcoins are highly divisible, up to eight decimals behind the point. The smallest subunit of a bitcoin is currently still less than 1/1000 of a cent.
Many Bitcoin clients will also keep track of the current value of Bitcoin and allow you to enter the amount of a payment either as bitcoins or your preferred national currency.
For example, when I want to send someone $5 from my phone, I could either enter BTC 0.00625, or $5 to set the amount.
As Bitcoin has become so valuable that one bitcoin is worth much more than many things we want to pay for, some people have moved to denominating prices in mBTC, i.e. millibitcoin, which are 1/1000 of a bitcoin.

Judging by what you have written, I also assume I can buy just .25BTC to send it as a payment without buying the whole coin? If I am right, do you know a place I can buy this small of an amount? it seems like every place I have seen is only selling whole coins, unless I just don't understand their sites.

Yes, you can definitely buy parts of 'coins! In fact, I've seen sales of a single satoshi on MtGox. The convenience of different exchanges and markets strongly depends on the country that you are located in, but if you are in Europe Bitstamp might be convenient for you, otherwise check out How do you obtain bitcoins?.

With the current version of the Bitcoin protocol, bitcoins are divisible into 100,000,000 units (0.00000001 bitcoin). This very small amount is called a Satoshi after the creator of Bitcoin.
A Bitcoin transaction may be any amount that is a multiple of 1 Satoshi.


text:
Which kinds of transactions show quadratic signature-hashing scaling?
It has been stated:

A major problem with simple approaches to increasing the Bitcoin blocksize is that for certain transactions, signature-hashing scales quadratically rather than linearly.

https://bitcoincore.org/en/2016/01/26/segwit-benefits/#linear-scaling-of-sighash-operations
What are some examples of transactions with this behavior, and what do they have in common?
Does a simple one-input-two-output Alice-pays-Bob transaction show quadratic signature-hashing scaling?

related: Rusty Russel's blog: 'The Megatransaction: Why Does It Take 25 Seconds?'

Quadratic means that something grows as a square function of something else. If you're just talking about a one-input transaction, there is nothing that changes.
The quadratic hashing issue is that the amount of data to hash to compute or verify signatures grows as a square of the number of non-segwit inputs.

So the nature of the input/output scripts doesn't matter. The O(n2) dependence is caused by the current hashing method, which affects every mainnet transaction today? In this case, why use the term "certain transactions" in the quote for the original question and not "all transactions?"

Right, every transaction is subject to the "sighashing time scales quadratically with number of inputs", but only for some transactions (=those with many inputs) that results in noticably slower validation.

The quadratic hashing issue appears in the verification of all pre-segwit transaction formats. It stems from the method of verifying the input scripts.
For each input the transaction has, all the other inputs are stripped from the transaction to check that remaining input against the output it spends as wells as the corresponding signature. As the effort of stripping the transaction is linearly dependent on the number inputs and the stripping is repeated for each input, we do n-times work that scales linearly with n: O(n)*O(n) = O(n²), the cost grows quadratically with the number of inputs. This means that with twice the number of inputs, the computational effort for the verification quadruples.
Rusty Russell explained the conundrum in his blog when he analyzed 'The Megatransaction: Why Does It Take 25 Seconds?'.

Checking I understand. n is the number of inputs. There's a linear time dependence O(n) for hashing a single input. There's a second linear time dependence O(n) because the procedure is repeated for every input. The combination of time dependencies gives O(n2) scaling. In other words, doubling the number of inputs (for one transaction or millions) quadruples the signature hashing time. This applies to every non-segwit transaction and is independent on the content of the input/output scripts themselves. Right?

Yes, exactly. I've updated my answer.


text:
What does "new block detected on network before long poll" mean?
I'm new to mining and I'm mining doge coins. My mining client reported
new block detected on network before longpoll

but it doesn't seem like I'm actually mining anything. What does this mean?

It means a block has been found and what your currently mining is the past block.

It can mean that your miner is too slow for the coin you're mining. For example, if it takes you 30 seconds to finish a work unit and you can't abort a work unit in progress, that's about a 3% waste with Bitcoin, but a 25% waste with Dogecoin.

authors: Игорь Корчанов