text:
How well does P2Pool scale?
See this thread.
How would P2Pool scale if 10% of Bitcoin mining was done via it? 50%? 100%?
Is the current implementation scalable? If not, are there designs for making it scalable?

There are two problems with scaling P2Pool:

The sharechain difficulty goes up as the pool gets bigger to maintain the rate of finding shares at around every 10 seconds.  If everyone was using P2Pool then the difficulty of finding a share would only be 60 times less than the difficulty of solo mining, and so varience would go right up.
As more miners join, it's likely that the latency goes up.  Since the share that the pool is working on changes every 10 seconds or so, a delay of just a few seconds is very significant.

In order to scale, there needs to be multiple P2Pools.  Maybe they can be nested in a tree structure: a level 1 P2Pool sets its difficulty so it finds shares every 5 minutes.  100 different level 2 P2Pools feed into it, finding shares every 1 minute, and 100 level 3 pools feed into each of the level 2 pools, finding blocks every 10 seconds.  Ideally this would all be managed automatically by the p2p network if that's possible.

Interesting stuff.


text:
When did merged Namecoin-Bitcoin mining start?
(This question was originally asked before merged mining began)
When exactly did merged mining of Bitcoin and Namecoin chains start?

The switch to merged mining is scheduled for Namecoin block 19200.  At the time of this writing, the Namecoin network is on block 18805, so 395 more blocks need to be solved.
The last 29 blocks on the Namecoin block explorer were solved in an average of 108.79 minutes each.  Extrapolating from this, 395 blocks should be solved in just under 30 days, so sometime around September 29th.

Only 43 blocks to go, A couple of days at the current rate.

We're at block 19202. So, any early reports of merged mining in the wild?

Namecoin blocks are being generated about every 5.5 minutes right now.

source: Stack Exchange

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

sort: votes


text:
Where can I set the fee value for accepting transactions?
If I run a miner where can I set the fee value to accept transactions in the bitcoin client?

Note that the transactions are chosen by the client you issue your getwork requests to. If you're mining in a pool, the pool chooses the transactions.
The key settings are in the main.h file. Look at MIN_TX_FEE and MIN_RELAY_TX_FEE.
To accept non-standard transactions, comment out these lines in main.cpp:
// Rather not work on nonstandard transactions (unless -testnet)
if (!fTestNet && !IsStandard())
    return error("AcceptToMemoryPool() : nonstandard transaction type")

Note that if you accept transactions with less than the normal transaction fees, you should connect to Luke Dash Jr.'s node to make sure you get such transactions, since most clients won't relay them to you. Add -addnode=173.242.112.53 to the command line you use to start your client.

authors: Дмитрий Бондаренко

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


text:
What is the most common use of Bitcoin?
I'm a total newbie here, and I've read a bit on Bitcoin.  I get that it's a cryptographic currency, and that it can't be directly "cashed", etc.
I'm interested in the common purchase using Bitcoin - what do you buy with Bitcoin?

Currently, other than currency speculation and drug-buying on silk road, there's isn't really any other use

bitspend.com - You input a URL to anywebsite where you can buy something. They buy it on their side, you pay in btc, they have it shipped to you. This means you can buy anything that is for sale online with btc basically.

satoshidice is my guess

As I see it, there are currently (April 4th 2013) two main uses for bitcoin.

As a store of value, similar to gold or stock. The idea is that you buy bitcoin and it holds or ideally appreciates in value.
As a medium of exchange, though in reality few people actually except bitcoin for goods and services due to its volatility. However the Silk Road which lives on the Tor network exclusively uses bitcoins for exchange. This is because it deals in illegal goods, and makes use of bitcoins anonymity.

I found this link the other day that shows where you can use bitcoins https://www.spendbitcoins.com/places/?place_type=service  mostly for hosting companies, some poker sites/online casinos & many computer co's that i'm sure most people would never use right now.
Saw an article that a restaurant in NY wanted to accept them soon but probably its a marketing gimmick before the crash to get some free publicity.
there is also that article of the guy in Canada wanting to sell his house for bitcoins. I'm sure he's going to need much more bitcoins now after the 2 day crash unless bounces back.
Many have used them on Silk road for buying drugs too but I'm sure gov't going to crack down on that . Heard they caught some guy in Australia recently for Silk Road.
Hope that helps

There won't many statistics obtained from a psuedonymous digital currency, so unless there is data released voluntarily there is mostly only educated guesses as to how how much bitcoins are used for specific transactions.
BitPay, the largest payment processor (by a huge margin) only did $5 million USD worth of transactions in March.   That's such a tiny percent of all bitcoin transactions for the month that is doesn't really even register.
So why did bitcoins transfer?   To and from exchanges.
Bitcoin's #1 use is for speculation.  To a lesser, but still significant degree, it is used as a money transfer -- similar to how PayPal or Western Union is used.
Way down the list you'll find it being used for e-commerce transactions, and retail purchases, etc.
However, because Bitcoin has so much potential in replacing PayPal and VISA/Mastercard/AMEX for many transactions, that doesn't mean there won't be bitcoins used for commerce in the future.  It just means speculators are believing that day will come, and are buying up the coins that consumers will eventually need for making their purchase transaction.


text:
What is the ecological effect of increased work for the Bitcoin chain?
As more users use Bitcoin and "forced work" difficulty increases what effect does this have ecologically? It is a silly question I know. I'm just comparing let's say value or effect of using computational power for protein folding vs Bitcoin and curious if anyone has given or found some thought/exploration on the matter.

Are you asking what impact the Bitcoin mining has on ecology and how to control it, or the economical benefits of mining rather than folding or the like, because the later part of your question is not quite clear. Could you clarify your question a bit?

Sorry, you are right. The first is a practical question and the latter is just a thought in comparison. Some clustering CPU power projects are easier to justify footprint impact than others.

Blockchain.info reckons the network used    156.51 megawatt hours of electricity in the last 24 hours. This random physics page I googled up reckons a car driving at 40mph takes 100kW (so, 2.4 MWh in 24 hours).
So by these (very) rough figures, running the Bitcoin network takes about as much energy as driving 65 cars.
How many vehicles are used in the transportation of physical cash? Not to mention the energy costs of physically storing and securing cash. I'd say Bitcoin is almost certainly a net positive for the environment to the extent that it displaces physical cash.

You forgot to compare the energy cost of the Bitcoin network with the energy cost of mining, storing, and transporting precious metals.

@jl6: We cannot say that Bitcoin save fuel right now because not any coins have been withdrawn from streets thanks to Bitcoin. Physical cash is already displaced by Credit cards and online payment. This has nothing to do with Bitcoin.

@EliasZamaria : Money is not tied to precious metals since years ! Money just came from dept contracted to banks.

Still, precious metals can be used as a currency or a store of wealth, so I think it would make sense to compare them.

@jl6 How did you determine the electricity consumption number? bci says 113,000 megawatt hours based on a outdated number of 650watts per gigahash/s. So why cite bci if you are using a different number? Give the basis of your number.

To date, there has not been a single suggestion as to how to provide a work distribution system that is not centralized that would at the same time not be vulnerable to cheating.
In other words, it would be great if there was a way to not have to rely on sha256() hash calculations being done 9,000,000,000,000 times per second (the current hashing rate) and do something like folding instead.  But nobody can envision a way to do this where if someone isn't following the rules they don't disadvantage everyone else.  If there was a master node -- that would work, but with bitcoin, there is no master node.
An alt currency called Litecoin uses a different approach where GPUs don't give the miner an advantage but the the same concept of a proof of work useless for anything other than verifying the blockchain is the output.

Proof of work is a means to an end (synchronizing a transaction timeline), there certainly have been suggestions how to reach this end with less resources spent on proof of work.

Increase in difficulty does not make Bitcoin miners mine any harder, it just takes them a longer time to solve a block. Their power consumption per unit of time remains the same.
On the other hand, more miners joining the network and mining increases the difficulty. Correlation is similar, although causality is reversed.
So, what impact does the increased hashing speed (and thus increased difficulty) have on the ecology? Well, more resources (electricity, hardware) are used to create new coins. In return the Bitcoin network gets more and more secure from attacks.
But if you want to control the ecological footprint of Bitcoins, you should look into the USD/Difficulty ratio, that is how profitable mining is. Some miners operate on a tight margin, so getting that ratio lower would make them quit, and vice versa - get it high enough and people would want to mine with the least efficient hardware they can find.

It's a good question you're asking there. And the answer is plain simple : Bitcoin is definitely not environment friendly by design.
The reason is that it is designed to keep the output rate stable at 1 block every 10 minutes regardless the amount of computing power we give it. The more computers are working, the harder it become to solve a block.
This is a big concern for many (me first). If Bitcoin became THE money, financial groups will invest massive amount of money in mining and we will see humanity asphyxiated for crunching numbers. That would be the most ridiculous end of the world. :)
On the other hand, we can think of Bitcoin being the holly grail of money. Something that is available in a known limited in quantity (we don't know how much gold is on earth). It is far less virtual than the current moneys that are not tied to any physical value (gold) or limits and that banks are creating out of nothing. Bitcoin is certainly a way to get out of the actual system that led us to where we are : a world led by a minority that just care about their wallet and not about the future of earth.
I hope that we will find a Bitcoin alternative that require a limited amount of energy to run the system.


text:
Is multi-PPS the correct solution to the mining centralization problem?
See this post. Meni believes that this could be the correct solution to the mining pool centralization problem, and that are no known drawbacks. There is some work that needs to be done to write, test and integrate the code of course (perhaps money could be raised for this via Lighthouse).
Is multi-PPS indeed the right solution?

I hope someone can also answer these concerns: Will MultiPPS require additional infrastructure as a middle man between miner and pools? If so, who is going to pay for all of this? Sure, you'd get lower variance, but why would an individual miner (who doesn't care about decentralization) want to use this middle man over connecting directly to GHash (whose variance is most likely "low enough" and doesn't charge a fee)? Also, couldn't these middle men become centralized and cause the same problems and centralized pools?

@dg123: Middlemen aren't required, though they could facilitate the process. 3rd party nodes are required, though they will be commoditized.

First it should be understood that Multi-PPS aspires to solve only one aspect of mining centralization - the centralization of many small miners in a few large pools. It doesn't solve the problem of huge mining entities that enjoy economies of scale - though, I don't think that problem is too great to begin with, as I claimed in here.
Under the assumption that the cause of mining pool centralization is the built-in performance advantage (in terms of variance and fees) of large pools (as opposed to psychological factors and features), any solution must be based on having each miner target multiple pools simultaneously. This way, there can be many small pools while the miners enjoy the performance of large pools.
Multi-PPS specifically is best suited for a future scenario when Bitcoin mining is dominated by transaction fees. However, that scenario has some inherent challenges that will need to be solved in the context of any reward framework, Multi-PPS included.
Multi-PPS is an extension of classical PPS, in the same way that mining in multiple pools is an extension of classical PPLNS. Multi-PPS allows PPS with low fees, and mining in multiple pools allows PPLNS with low variance.
For either of these to work, mining pools need to become more of a commodity, so that the mining client can automatically connect to many pools to optimize the performance.


text:
How can I stop websites running an integrated Bitcoin miner without disabling javascript altogether?
"Bitcoin Plus" is one example of a javascript bitcoin mining client that can CPU mine bitcoins through a browser when viewing a website. Here is a screenshot from 4bitcoins dot com which automatically starts the miner when you load the page:

It could be considered a form of theft for a website to profit from the extra electricity used by a viewer of the page, and definitely isn't environmentally friendly as CPU mining through javascript is hugely inefficient and any revenue earned doesn't even come close to covering the cost of the electricity consumed (and besides, in this case the benefit is to the website, and the cost is to the user).
Doing some quick maths I'd estimate that the mining would earn the website owner around 0.12 US cents per 24hrs running, at a cost of around 17 cents to the user in power (assumed 1BTC=$5US, difficulty around 1.8m, power 14c/kWh).
In short, it's desirable to block such functionality from running without the user's consent.
How could such integrated mining be disabled without blanket-disabling javascript on all websites? Bear in mind that even though the miner is visible on 4bitcoins dot com, it doesn't need to be visible to work.
ps: I didn't use standard syntax for the website name, as that will only encourage search engines to send more traffic there!

The JS doesnt actually mine Bitcoins. It's just for research purposes.

I wouldn't accuse JavaScript miners of theft. Flash ads use a fair amount of CPU to display the wares of advertisers, and far more bandwidth than mining. If this is theft then so is all advertising of any kind, rickrolling or any unwanted use of any of your computing resources. I would reword the question to that end. You retain the right to control what does and does not run on your computer, but you can't accuse these folks of a crime.

Actually, the "What's this?" link says: "Your computer fan turned on because generating bitcoin takes computer power. It's essentially generating money to help support the website you came from." That doesn't sound like research to me.

Whether or not it might be considered a theft comes down to legality; it's probably legal, but that doesn't make it ethical. I will reword it to allow users to decide for themselves. I also believe that the majority of users don't have the skills to take control of their computer to prevent use of a loophole like that - most people wouldn't allow it if they knew the details.

I also disagree that it's similar to most Flash advertising. As an experiment I viewed a page with 3 embedded typical Flash ads, and the CPU usage was around 4% compared to 80% for the miner application.

I repeat what I said: Even though the JS perform hashes, no actual coin is generated.

Can you provide some evidence please?

https://bitcointalk.org/index.php?topic=9042.0
After a more careful reading, I think I have to apologize. Probably I confused this project with the original http://bitp.it/

I have to wonder whether you wasted more electricity asking this question than all the JS hashing in the world combined. Also, like David Perry said, it's really nothing compared to Flash...

You can use Adblock Plus to block the miner script.  In this case it would be:
http://www.bitcoinplus.com/js/miner.js

I asked for some clarification in the Adblock Plus forums as to whether blocking javascript miners would ever be likely to be done by default, and the answer was no. https://adblockplus.org/forum/viewtopic.php?f=2&t=8466

You would need some kind of browser plug-in that monitors the CPU consumption of JavaScript and alerts you if you see excessive usage for an extended period of time.

Very good idea.  Even better would be integrating it into an existing popular extension like say adblock plus having an option to "warn against high CPU code which may be malicious".

I agree. I did some searches to find some examples of such plug-ins, expecting to find them easily, and was quite surprised that I couldn't find any. If nothing else, they're useful for making sure your own JavaScript doesn't spin out.

For how JavaScript is handled memory-wise it is very difficult to profile it. In a real situation your readings will be most definitively tainted by a lot of noise.

It isn't really theft if you're broadcasting your availability to run javascripts. There are blockers that allow you to selectively block javascript files - check your browser's extensions (Chrome and FF both have many options).

Does a browser really "broadcast" that it will run javascript, or does it just respond to a custom-written request which allows the server to detect a response? In my view, automatic CPU mining isn't very different to the trojan viruses that run a miner on your PC - you just need to have the website page open for the javascript version (and your PC isn't infected). Maybe such websites will start to be blacklisted as malicious?

Yes, you broadcast your willingness to use JS with the user agent...

Using a selective JavaScript blocker is basic good practice from a system security point of view, and will prevent websites from using your CPU to mine for bitcoins.

The NoScript Firefox extension allows you to disable JavaScript on a per-site or per-page basis.  I like to set it to default to denying JavaScript on every page, and then add an exception for each page on which I want to allow JavaScript to run.
If you're using Chromium or Chrome then there's a built in Javascript blocker.  Go to the 'wrench' menu, select "Preferences", then "Under the bonnet" (or 'hood' if you speak American?) then click "Content Settings" in the "Privacy" section and select "Do not allow any site to run JavaScript".  Then whenever you're on a site which needs JavaScript to run, you'll see a red X at the right hand end of the address bar which you can click to allow JavaScript on just that site.
If you're using Internet Explorer you're probably not too concerned about what random strangers run on your computer.  Enjoy.

From memory, I think there is also a "YesScript" Firefox extension which by default allows you to turn on scripts on just the pages you want.

For the latest browsers, I would suggest implementing CSP(Content Security Policy), specifically defining the script-src
This will work if you own the site and CSP will prevent it from being XSS with bitcoin javascript.

You should add some details to your answer.  As it stands, this is pretty much a "link-only" answer.

can I earn bitcoin from http://onesoftwares.net/

Browsers could limit the amount of CPU capacity a website is allowed to use to something as low as 1 %.

They could, but that would also make the website horribly unresponsive.

I wonder if a non-badly programmed website really needs more than that in Javascript.

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


text:
Is there a hardware wallet project that plans to add multisig capabilities?
What I want: A hardware wallet that I don't need to trust.
That wallet will hold one out of three keys in a 2-of-3 multisig scheme. The other two parties will be a paper wallet I create, and a password that I choose.
Now, I can store the paper wallet in a safe, and use the hardware wallet + password in my day to day life. If I forget the password, I can recover using hardware + paper. If I lose the wallet, I can recover using paper + password (paper is stored in multiple bank vaults).
At any point in this process, an evil hardware wallet maker cannot steal my bitcoins.
Do any of the hardware wallet projects plan to support such a scheme?

This isn't exactly what you want, but it's close:
The Case hardware wallet uses 2-of-3 multisig, where one key is on the device, one is on Case servers, and the third recovery key has two options: Self-storage or Vault storage through Third Key Solutions (invisible to the customer). If you choose the self-storage option, you provide an xpub key during initial setup, and the multisig wallet will use that as the third key.
In that scheme you would have signing control of 2 of the 3 keys. There is still the human trust element where Case servers are necessary to perform the transactions, but they cannot sign any transactions not initiated by the user.
Full disclosure: I work at Case.

As I mentioned, I work at Case. I tried to word this as non-advertisey as possible, please let me know if I should make any edits.


text:
Solo Mining vs Pool Mining for users with high computing power
Let's say that a user has a decent amount of computing power. At the current difficulty of 1777774.4820015, he could have for example 10Gh/s (he would earn around 5 BTC per day according to a calculator).
Is it more profitable for him to solo mine or to pool mine? What are the differences in this situation?

Hahaha...10 GH/s

Looking at this question in 2017... good ol` times!

It completely depends on the "pool fee". Theoretically, with a zero percent pool fee, solo mining and pooled mining should, over the long term, produce precisely the same revenue. The only exception is that some (most) pools keep the transaction fees for themselves.
If you mine solo, with an expected 5 BTC/day take, that will mean on average you'll mine a 50 BTC block every ten days. It will be completely random though. You could mine two blocks in a day. You could go three weeks without a block. When the difficulty changes, not only will the amount you get paid change (that always happens) but the time between payments will change drastically as well.
If you mine in a pool, you take the pool fee right off the top. A 3% pool fee means you make 3% less. Also, most pools don't pay transaction fees. But your revenue is more predictable. You'll get paid on a regular basis and your payments won't vary much (until the difficulty changes, of course).
One advantage to solo mining is that it's more reliable. Pools have outages and have had a problem with denial of service attacks lately. Mining solo, you aren't relying on other people's systems to keep your mining going. If you pick a very reliable pool, or use a mining proxy with a "fallback pool" configuration, this isn't a major issue.
One advantage to pooled mining is that you get to use the pool's tools. These include things like web-based control panels, alerts, and so on.

The rule of thumb I recommend is to solo mine when you have enough hash power to generate at least one block per day on average and use a pool if you have less than that.  You can expect the pool to take between 1 and 3% for their service, but that's a better alternative to the prospect of being unlucky and not getting a block before the next difficulty retarget.

Solo is more profitable in the long run for the reasons David stated.  And if you do the math, you will see it is independent of hashrate.  Only variance is higher.  But you should consider pool hopping as well for maximum profit.  By always mining at the pool with the currently highest projected share price for the next block, you will earn even more than you would mining solo.

If the difficulty doesn't increase before mining a block, then solo mining is more profitable, because the pools normally take fees. otherwise pool mining is more profitable.

Pool mining is equivalent to solo mining before fees. The chances of a pool finding a block or a solo miner finding a block at the same difficulty are identical. Hence pool mining is always less profitable in the long run, independently from the difficulty. The pool fee is what you pay for an ensured steady income, instead of having a large income one month and then going months without any income.

@cdecker, with the caveat that you might get a payout early from a pool just before a difficulty raise. In which case the pool helped you.

@cdecker " at the same difficulty are identical" presicly, but given difficulty might increase before solo mining mines 1 block, the payouts one would get from pool mining while the difficulty was still the same required less work then the solo mining that mined 1 block at a higher difficulty level.


text:
Why would someone rent hashing power?
I have seen some people on the bitcointalk forum looking for hashing power to rent (here is one example) and usually they pay more to rent the rig than they would earn by selling the mined coins at market price.
It seems to me that they are losing money with the deal so why would someone want to do this? Are there other uses for the hashing power besides bitcoin generation?

Note that the thread you link to is actually looking to rent GPUs, not pure hashpower.  He's insisting that people let him run his own code on the GPUs.  Sounds like he's not actually mining BTC (if he were, he could just export a GetWork proxy), but doing something fairly similar.

@eldentyrell That's why I also asked about other uses besides mining. He is not looking for a CUDA/OpenCL cluster. He specifically wants to rent Mhash/second.

.@nmat this guy isn't looking for "Bitcoin hashing power", or else he'd be happy offering a GetWork proxy.  He might be looking for "hashing power" of some other sort.  Maybe you want to modify the title of your question?  I think there's a possibility that he's just using BTC-hashes-per-second as a vendor-neutral measure of how much compute power he wants, and is asking on the bitcointalk forums because he knows lots of people with GPU clusters hang out there.

@eldentyrell OK. I also changed the link because that thread was just an example. There are lots of other people looking for it.

The person hopes that the future ratio of how much money they can earn with a given hash power will be more favourable, so they enter a long-term contract.
The person wants to increase the hashrate of a mining pool they own, whether for test purposes or to attract more people with a high hashrate.
The person holds some other cryptocoins and wishes for their price to increase due to higher difficulty the extra hashing power would bring.
The person wants to mine coins, be they Bitcoins or otherwise instead of buying them at an exchange (one may not exist, or the person does not want to use it for some reason).
The person wants to do other activity that can use hashpower for. The person would need to make special arrangements with the owner of the rig, but it could be possible to use the hashpower for generating vanity addresses for example.
The person wants to launch a 51% attack on a smaller cryptocoin network.
To commit money laundering. Renting hashpower is not regulated under anti-money-laundering laws like the exchanges. On the other hand, the mined coins can't be traced back, so they can be sold at any exchange with ease.

+1 for some interesting possibilities. Interesting evolutionary argument arising for number 6.

The number 6 reminded me that one can try other attacks on the network. Performing a Finney attack is much easier if I can get hashing power on demand.

@nmat - It might be connected to point 4, guess I'll expand it.

@ThePiachu I just removed the comment when you posted. It was about using rented power to launder bitcoins, but now that I think about it, there are probably much better systems for that.

@nmat I think money laundering through renting, or even buying hashpower is kinda interesting. Certainly would be odd enough for the police not to even consider it for awhile. Have some other ideas on how one can use Bitcoins to aid in their criminal activity, but it's kind of off-topic here.

There are two main reasons:
1) The person wants to build the hash rate for an alternative currency or mining pool in which they have a financial interest. You can't get a mining pool or alternate currency going without hashing power.
2) The person wants to mine something other than Bitcoins, typically a currency that isn't yet available on any exchange. So hiring mining power is the only way to get the currency.

This may be a worthwhile link to those observations: http://bitcoin.stackexchange.com/questions/256/what-would-a-country-adapting-bitcoins-as-official-currency-have-to-reinvent/276#276

Some possibilities:
1) Pool-hopping.
2) Password cracking.
3) Supporting a specific mining pool / alternative blockchain currency.
4) Betting on the difficulty decreasing (relatively to the exchange rate), and securing a long-term contract which will be profitable in that contingency.

If one could enter into a long term agreement at a particular price for renting the equipment, then they would benefit from any increases in the exchange rate.
I can't think of any other reason, but others might.

.@irregular, actually they would benefit from increases in the exchangeRate-to-difficulty ratio.  That number is (in the long run) actually more stable than the exchange rate, though, so I'm not sure it's such a great bet.

We've sometimes had to rent hashpower for a coin when there are too few miners, e.g. when it gets stuck at a high difficulty after other miners leave it there. Beats buying a rig :-)

or the person might be in financial difficulty and cannot afford the hundreds or even thousands of dollars to build a proper rig, renting is much cheaper than building one yourself. rig rental services are ideal for poor people that can't afford to build a rig themselves.

-1 This post doesn't offer an answer, as the question asks "why people would pay more for renting the rig than the worth of the mined coins".


text:
Bitcoin mining by using solar energy. Is it possible?
I have a peculiar question concerning about bitcoin mining, for example, in Brazil it is unfeasible due to the high cost of electric power. Is it possible to do mining by using solar energy?
Does someone know how much energy is necessary to setup a basic unit of bitcoin mining?
It sounds interesting for me, since solar energy is cheap! Of course you will have the investment with batteries, solar panels, cables, etc..  but I think it still possible..  any ideas?
EDITED
I'm looking for a basic project about mining bitcoin using solar energy.

Since the answers are "It depends on what you consider a 'basic unit of Bitcoin mining'." and "Yes, if you have enough solar power panels.", I'd say your question is off-topic: Solar power setup is really not in the scope of the Bitcoin.SE and the rest of your question seems to boil down to a product recommendation.

The products are not a problem, I have some and I Know the dealers, the problem is really about to use solar energy for mining bitcoin. I'm looking for a basic project about this. Also I'm not looking how to setup SE in anyway, since it is already setup in the farm. Just wonder if somebody is doing mining with SE. Thanks anyway.

Perhaps this is what you are looking for: Guide: Building a Solar Powered Mining-Plant. Information is a bit dated, but one could probably learn something about the setup. First hit on Google for "solar powered bitcoin mining". ;)

@B4NZ41 SE means here usually stackexchange.com

thank @ArtShayderov misundestood. ;)
All answers have good points, it is hard to accept one. thanks a lot for all of you.

Don't worry, just pick the one that solved your question for you. If a better one comes along later you can still change it.

I saw the question was put on hold, they think I seeking a product or a service recommendations. Really is not what I'm looking for. I have already all suppliers name and address. I'm just looking for someone that did already bitcoin miners using solar panel instead of common energy grid. Thanks anyway, nevermind if I'm looking a bit mad here. 0_o

It largely depends on what machine you want to power with those solar panels. You're definitely going nowhere with GPU based mining. As PCs consume a huge lot of energy, and those who don't, are equipped with Atom and Intel graphics, meaning mining won't get you far with that equipment.
However, it may be possible to run a USB ASIC miner based on a Raspberry Pi. I think those kind of machines consume very little energy. However, you may also need an Internet connection, but I'm assuming you already have a router you can connect to.
In that case, I'd buy one Raspberry Pi for each USB ASIC stick you want to buy.
The initial cost may be a bit hefty, though, and I'm not sure the performance would be that great, because there's just so much hashing power already in the Bitcoin network.
I'm sure you're better off mining Litecoin, Dogecoin or Feathercoin anyways. But well, there's no USB ASIC miner for scrypt cryptocurrencies, so you're out of luck for those alts.

The original idea is work with ASIC (looking for something cheaper). I'm studying all possibilities and costs at the moment, even if it has so much hashing power in the bitcoin network, it can still be a good business if measure correct how to apply that. That is what I'm doing now. Thanks for your valuable information.

You could maybe flip things around. And sell your solarpower as it's generated, to a local grid for payment in bitcoins?

Actually the generated power is for the farm, maybe we can sell the excess and use that money to invest in bitcoin. Good idea! Thanks. For sure it an option I will think about, since we have no power grid in the farm. It is all solar energy, then it is a bit difficult to put it in the grid, but always have a solution. Thanks again!

Of course it's theoretically simple to convert solar to electricity and use electricity to mine alt-coins.  But it's a business+engineering problem to determine if it's a money making proposition.
In a hot climate the cooling costs might offset the abundance of solar power (I don't know this, just throwing out things to consider).  Understand at this point some very smart engineers and entrepreneurs are engaged in an arms race to economically mine alt-coins, like this operation in Iceland. I'd do some serious research into potential competition before investing in your own mining operation.

It is all to consider for sure. Actually the place is tropical (Thailand and Burma) but we have water in abundance to cool down things. Like everything in life is so saturated! Thanks for the advice.


text:
When do you need to run bitcoin-qt -rescan?
I was under the impression that the -rescan flag was no longer needed for some time now. Can someone document precisely, when does one need to run bitcoin-qt -rescan? How has this changed throughout the versions of bitcoin-qt?

This answer might help: https://bitcoin.stackexchange.com/a/1251/11026
The gist is that a -rescan was needed, when you were restoring an older backed up wallet that didn't have all the transactions in your current blockchain reflected. Basically the client then goes through your blockchain to see if there are any transactions that affect your wallet.
However, you don't have to worry about this anymore since the client now checks automatically if the wallet is on the same level as the currently downloaded blockchain, and if needed, does the rescan:
https://bitcointalk.org/index.php?topic=6642.msg99812#msg99812
Hope this helps.


text:
Is there an up-to-date professional analysis of different "mining shield" technologies?
E.g. Digishield, Gravity Well etc.
As a non-miner, I only hear bits and pieces about these algorithms. Is there a comprehensive resource with details on the history of these algorithsm and relative performance and weaknesses?


text:
What is the format of coinbase input scripts?
The input script of the coinbase transaction of block number 1 (right after the genesis block) looks like this: 04ffff001d010b
How do I recognize this as a coinbase transaction?
Do I simply know that this is a coinbase transaction because it is the first transaction in the block?
Does the coinbase script have to have a special format?

I tried to find the answer on the Bitcoin wiki, but that particular page is empty even though it is linked from the protocol specification page: https://en.bitcoin.it/wiki/Coinbase_transaction

A coinbase transaction is characterised by "previous_output" field of the transaction being 32 bytes of zeros and 4 bytes of 0xFF. It should be the first transaction of the block, but I'm not sure whether all the clients enforce this rule. The signature script of the coinbase transaction need not obey the Script protocol, but as far as I remember the first block's script pushes data onto the stack and then pops it off. The data encoded in the Genesis Block represents the famous headline of Times:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

And was used as a way to prove that the block was created no sooner than on 2009 01 03, but can also be speculated that it relates to Satoshi's intent when creating Bitcoin - to counter debt-driven currencies.

Yes, the coinbase must be the first and only the first transaction of a block. This is a network rule, and any client not enforcing it risks ending up on a fork.

Coinbase input scripts can contain arbitrary data. No data is required currently. Bitcoind creates coinbase input scripts so that they are properly-formed scripts, but this is not required.

As of BIP34, nversion==2 blocks are required to have the block height encoded as a minimal-size data push in the coinbase.

Also, the size of the coinbase script must be between 2 and 100 bytes.


text:
Is there a way to use a webservice for `createrawtransaction`?
createrawtransaction is a bitcoin-cli command that generates a raw transaction given one or more transaction ids and a list of Outputs, which are the destination amounts that will receive the funds.
AFAIK, the raw transaction is only based on the blockchain, and does not require any private key or address; the signing process is done separately, using signrawtransaction.
If the createrawtransaction process requires no secret keys, is there a way to generate a raw transaction online, using a web service?

createrawtransaction is not based on anything. It just converts the arguments you are passing to a hex transaction. It does not need a network connection, or the blockchain, or your wallet. There is even a standalone tool shipped with bitcoind (bitcoin-tx) that can do the same. Why do you need a webservice for it?

That's correct, a private key is not required to use createrawtransaction. The private key is only required during the signing process of signrawtransaction just as you stated in your question.
If you are looking for a web service that will allow you to create a raw transaction online, I suggest you check out http://coinb.in it does exactly this, as well as broadcast the transaction, and allow you to save a local copy to sign the transaction offline.

I have created a step by step tutorial from create wallet to broadcast a transaction in testnet with online tools : step-by-step-create-and-broadcast-a-bitcoin-transaction-on-testnet

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

authors: นิติพัฒน์ พุ่มประเสริฐ


text:
How much data is transferred using Andreas Schildbach's Bitcoin Wallet Android app?
After installing the app, a message appeared on my phone saying there were 83 weeks of data to synchronise. How much data is involved in this process? I don't want to exceed the data limit for my phone.
Also, 14 peers appear to be connected. While the app remains open in the background, how much data does connecting to peers require over time?
A comment against the app in the Play store says:

During the last 4 weeks, Bitcoin Wallet has consumed 166 MB of my data
  plan, 160 MB of which was running in the background. I am pretty sure
  that I had once set it to only transfer data in background when Wifi
  is on and it had been running smoothly like that for about 1 year. For
  now, I turned of "Sync on Power" and I hope this helps for now. But I
  think you should re-introduce the "background sync only on wifi"
  setting.

That gives some idea of the quantities of data, but it doesn't split it into what's required for the initial synch and the ongoing connection, so my question still applies.

Since January 14 on my Galaxy Nexus, Bitcoin Wallet for Android has used 120 bytes of mobile data. It's used approximately 160 MB of data on WiFi in the same period. One month cycle earlier, it used 463 KB of mobile data, and approximately 113 MB on WiFi. I plug it in every night and whenever I'm in my car.
I can't answer for the amount of data necessary for the initial synchronization, other than advise you to do it on WiFi for both speed and data limit reasons.

What tool or utility did you use to measure this?

Android 4.0+ has a data counter built-in.


text:
Do any vendors sell good mining rigs?
I'd like to buy a mining rig, something like 4 5850 cards, preferably more.  I'd rather not build it myself.  Are there any vendors who sell such machines at a reasonable price?

There are two sites that I know of: bitcoin-rigs.com and bitcoinrigs.com
If you have a local computer shop near you, you could also order the parts and ask them to mount. There is a wiki entry for mining rigs that has a few standard configurations (including two setups with 5850s).
You might also want to check the Marketplace section of the bitcointalk forums. Sometimes people sell used rigs there.


text:
International shipping times for Butterfly Labs ASIC hardware
The Butterfly Labs FAQ says they use USPS for shipping (except for Mini Rigs), and displays the options "Standard" and "Express" during the checkout process:

However, the USPS website appears to offer "Express" shipping (1-3 business days) and "Priority" (6-10 business days) for international shipping.
I'm sure people out there have received FPGA devices internationally from BFL in the past, probably with the same international shipping options. Can anyone confirm that delivery times of BFL hardware are equivalent to the two options I found on the USPS website?

I am in London, United Kingdom. I selected the standard shipping option, which came to $38.00 (hardware was $149.00). I made my order back in April 2013, and they shipped in October 2013. ButterflyLabs used USPS (United States Postal Service) shipping option. I could track the order via the USPS site, although it says it got to the UK, and then was held - for about a month (presume they were working out import tax on the product) and then returned to Butterfly Labs, without informing me. Butterfly labs are now ignoring any communication from me, as I  try and resolve the issue.
My advise would be to look for another option, as the issue appears to be with USPS, and if you get any issues Butterfly Labs will blank you, as they already have your money, and there is not much you can do about it.

That's strange (and frustrating) behaviour on the part of USPS, or whoever sent it back... thanks for sharing, and good luck resolving your issue!

I've heard back from BFLabs. They say they see the problem, and not sure why the postal service didn't contact me. They say they will repost the kit after they get it. don't know how long that will be though.. sounds as if they are weeks behind in emails and follow ups, so need to be (very) patient

When selling a product that needs timely delivery, I'm pretty unimpressed by the stories coming from BFL customers! It's not good enough to be weeks behind in customer service responses.

there is no confirmation to this yet. at the time i was placing an order for a BF box, the prices where 50% lower and the standard shipping was about or less than 25$.
since the orders of that time haven't been even shipped yet, orders nowdays like yours are also not shipped and thus no user can confirm the shipping times. only someone from BF staff but one cannot believe their statements.

But this doesn't answer the question. He asked how to match their declared shipping with the USPS ones.

he asked Can anyone confirm that delivery times of BFL hardware are equivalent to the two options I found on the USPS website and my answer is no, nobody can confirm that nowdays.

BFL must have shipped quite a number of FPGA devices. Perhaps some of those customers were international and could share their shipping times and costs?


text:
How is block-solution-withholding a threat to mining pools?
If I understand the technical process (for most mining pools) correctly, a participant in a mining pool is given block data to combine with a nonce to try to solve the block. If they get close (but not close enough to give the actual solution) to solving a block, they have solved a "share", and at that point return proof-of-work to the mining pool to receive a share of the final payout when the block is solved.
However, the participant performing the mining DOES know if they actually solve the block. At this point, a malicious miner running custom mining software could potentially choose to not send the solution to the pool. I think I have seen this referred to as a "solution withholding attack".
How vulnerable are pools and pool-miners to this threat?
[Edit]: Also, what can pools do to detect or deter this threat?

Another variant might be to hold the block for ransom.  "I have just solved a block with a reward of 12.5 BTC.  I'll sell it to you for 10 BTC."  In the short run, the pool would do better to pay the ransom and at least get 2.5 BTC instead of nothing.  I guess you could do some game theory analysis as to how this would shake out (pool: "How about we just give you 0.1 BTC instead?  That's 0.1 BTC more than you'll get if you throw it away"), and of course the negotiations all have to happen before another new block is found and makes the whole thing moot.

They can not prove that they have found a block without publishing a block. So that won't work. So why pay someone if you can't be sure if you would get anything and it is not a Scam. And any way this block would expire in 6 minutes or so.

If I understand correctly, the malicious miner would give to the pool the solution of the share when he found one, but not give the solution of the block when he found one. Is this correct?

Every pool is vulnerable to the threat. And there's pretty much nothing they can do about it other than perhaps to try to force their miners to use a closed source mining program that they try to make tamper-proof.
Your analysis is precisely correct. Miners know when they only found a share versus when they solved a block. A malicious miner could submit shares but withhold solved blocks.
The consequences of this depend on the payout model the mining pool uses. If, for example, the pool uses a fixed pay per share, such a miner is robbing the pool operator. But he does no harm to the other miners. If it uses most of the other distribution schemes, such a miner is robbing the other miners since he is being paid out of solved blocks and never contributes to the number of solved blocks. The amount of harm he does is typically proportional to the amount of hashing power he has.
This attack is typically undetectable because it just appears to be ordinary bad luck. An attacker can use a large number of distinct user names so it wouldn't appear suspicious that no blocks had been solved.
There are generally two motives for such an attack, depending on the payout plan the pool uses. One would simply be to make the pool operator lose money. In a PPS plan, you would get paid normally for your mining, all of which would be a straight loss to the pool operator. With other payout plans, making the pool seem unlucky (and thus driving away miners from that pool) could be a part of the motive. You still get paid for your shares, so the cost to launch such an attack (assuming you were already going to mine) is not that much.
The consensus is that such attacks are likely to remain rare and generally insignificant. The payout for the attack is simply too small and it's not an effective way to bankrupt a pool or get miners to desert a pool unless it's a particularly small pool, in which case there's generally no point.
Note that it is not possible for an attacker to submit any blocks he finds himself and keep the profits. To earn shares, he must attempt to solve the blocks the pool asks him to solve, and those will include a coinbase entry that pays the block reward to the pool's operator.

Does the pool operator have control over which nonces the miners try? And do they also know which nonce solved the block? If the those is yes, when a pool solves a block it could instantly give the known solution to the other miners to work on - if they don't return it solved (and remain active), then they can be flagged as suspicious. If current miners don't support that, perhaps a modified open-source miner could be released that does. The only problem would be that any delay in publicly releasing the solved block through the bitcoin network would increase the chance of it being orphaned.

That's actually a pretty clever idea.

thanks for the thorough answer, david. more thorough than i had the time to make mine :D

irregular: as far as your cheating prevention suggestion, i've actually discussed this issue with a pool operator; we have come to the conclusion that this would not be an effective mechanism of block-withholding-prevention. primarily, because the party carrying out the attack could easily connect more than one miner to the pool, and when all of his miners receive exactly the same work, he will immediately know that this is a "test" and will be sure to return the resulting solved block. as a result, pool will open a window of orphanage, while gaining approximately nothing.

@nanotube: Unfortunately, I think you're right. You couldn't test all your miners at once. And a single failure wouldn't be conclusive, because a miner does not promise to check every nonce. You could only test when you had found a block, and only at the risk of losing it. However, most likely current 'cheaters' don't use these countermeasures. So for now, you could probably check with a block to all miners even after you had submitted it to the network.

@nanotube that is why you wouldn't send it to all miners just some % of the pool.  That combined with requiring miners to keep some earnings in reserve would make attacking very exepnsive.

david, unhandled: so it becomes a game of cat and mouse, which we know the cheaters can win in principle. just because "currently" cheaters don't use the countermeasures, doesn't mean they won't start using them just as soon as the pools start using the test works. but well, it would be interesting to see - just because we know the endgame, doesn't mean the middle of the game is without interest. :)

Incidentally, this detection mechanism is as old as time - before slush was told shares can be used to prove the miners are working, he wanted to use this to make sure they are doing any work at all... Anyway, as I mentioned in my answer, if pool operators ever get serious about this problem, oblivious shares are probably the solution.

"Note that it is not possible for an attacker to submit any blocks he finds himself and keep the profits." Can someone elaborate on this? I basically just asked this question.

Hm, this doesn't seem that hard to fix. Why can't the pool just pay 1% of the block reward to a correct submission, and leave 99% to be split as pool rewards for everyone else? That 1% of a block reward is still a large enough amount of money so that a miner would still submit it as opposed to withhold it. The 1% could be included in the bitcoin scripting language, and the pool pays shares when it receives the 99%.

@NicholasPipitone This does give you some incentive to turn in the block, but given that you had to go to some effort to withhold it anyway (since all mining software available submits all blocks and you'd have to add code to detect blocks and withhold them) it's unlikely there are many "marginal withholders". Someone withholding has a good reason to and a 1% cost (borne only if they're successful!) likely wouldn't discourage them.

@DavidSchwartz Perhaps but at the current rate, there's no penalty. And changing the code for a check to withhold would be very trivial, so it's just: Do they want to? At some point it would discourage them, since obviously they must submit it if they get 100% of the reward (Since at that point, they're just solo mining). Since much less than 1% of shares turn into block rewards, 1% of a block reward is an incomparably huge reward in comparison to the average share. I think this is would certainly prevent any possibility of someone withholding, unless they just like burning money.

In the end, it's a solution to a nonexistent problem. I just threw it in because the discussion and provided solutions are very complicated, and a simple 1% reward solves the same problem (Notably, all the talk about "suspicious", which isn't going to be any more accurate or preventative). If the goal is some type of attack, they could eat the 1%. But, there aren't any possible attacks, so it's just a matter of having a nonzero incentive.

@DavidSchwartz Oh Jesus, I didn't expect to see a profile like that when clicking. Wow; amazing job with your work on Ripple. You have my praise.

@NicholasPipitone Thanks. I agree with you that there's no real reason to think that it's a real problem. Someone has to go to effort to do it and there scenarios in which they get any benefit at all are fairly remote.

There are at least two things you can do with block withholding:

The well-known sabotage - not submitting blocks at all to cause financial harm to the pool or its participants.
The lesser-known lie-in-wait - delay submitting of a block, and use knowledge of the imminent block for extra profit.

The attacks and a proposed solution (oblivious shares) are analyzed in section "Block withholding" (currently 6.2) of Analysis of Bitcoin Pooled Mining Reward Systems.

A "check block" and "block found reward" combined are an effective counter measure.
Once a "good" miner reports a valid block the pool operator could resend it to other members of the pool (maybe random % of pool, maybe pool members who are "unlucky" , etc).  As others have indicated if you sent it to entire pool that would be detectable by bad miners so pool would need to experiment with what fraction of pool is the best countermeasure.
The pool operator knows this header (with this specific extra nonce) is valid.  If a miner reports it as invalid he is suspicious.  If he keeps doing it then he is an attacker and the pool bans him and seizes his funds.  Most pools hold 120 blocks worth of rewards as unconfirmed meaning the attacker risks losing more than one block worth of compensation everytime he cheats.  To avoid bad morale the pool operator could split the siezed funds among "good miners" to compensate them for the times when bad "miners" are not caught.
Another method which can be combined with the check block is to provide a "block found reward".  Collect an x% fee from all miners and award the miner who finds the block this fee.  In the long run this fee has no cost to miners (they will receive as much as they payout).  That puts a financial gain on finding a block.  This increases the revenue loss an attacker will incur by witholding blocks.  That combined with risk of getting caught and losing all unconfirmed rewards should be sufficient to make block witholding punitively expensive for the attacker.

Depends on what you mean by 'vulnerable'. If you mean "is it possible to do without the ability of a pool to stop it" then the answer is "yes". If you mean "will a pool suffer significant damage and/or die as a result of it", then for a sizeable pool, the answer is "no". A relatively small pool may see an attack such as this manifesting itself as "really bad luck", inasmuch as it would be below expected value for the number of blocks it can be expected to solve given its hash rate, per unit of time. But for a large pool, an attack of a few (dozen) GHps doing this is just not going to be noticeable.


text:
Who obeys discouraged blocks?
I just found this gem - Discouraged Block. It proposes a method where miners "will" (are requested to?) ignore chains with certain blocks at the tip.
It's not like anyone can dictate the behavior of all miners, but if large parts of the network choose this discouragement strategy, then it becomes unprofitable for any single miner not to join in.
Are any current miners/pools for or against this discouragement policy (currently, the only policy is "ignore forks where the coinbase of the block at the tip does not contain the block height")?

That is an interesting mechanism. The official client has a set of rules that blocks should follow, but even if a certain block does not follow a given rule, it is considered okay if at least 20% of recent blocks also did not follow the rule. This allows for rules to be abandoned if they turn out to be bad without updating a majority of the client code. You'd only need a majority (80%) to put in new rules.

I suspect what will happen is that most of the mining pools will use the official client, and so will use the discouragement policy as set by Gavin et al.  This will make it in each pool's best interest to not have their blocks be discouraged.


text:
Will any of the proposed Scripts (OP_XXX) allow subscription/recurring type payments?
Is it possible to implement a subscription/recurring payment type using Bitcoin scripts?
For example, you could send a payment for a service where there is a monthly subscription say, and each month if there was enough bitcoin in the paying address the required amount would be sent to the service provider. The time could be based on block number, which should correlate well with time, i.e. a monthly payment could be a payment every 4320 blocks.

In order to send someone Bitcoins, you need to sign a transaction with your private key.
Each transaction on your set of coins refers to the previous transaction. It is possible to create a daisy chain of transactions like this, but if you'd perform any operation in between the start and the finish of such sets of payments, the remaining transactions would be invalidated.

This makes it impossible under current model of transactions to perform such an operation. You could define a new OP that would allow one to redeem coins only after a certain amount of time, but then you'd be paying the full amount up front anyway.
You could, however, create a client that would be scheduling payments. But there is a problem - it is generally advised to keep your private keys encrypted, so nobody could steal your coins. A client can't sign a transaction with an encrypted key, so you'd have to be prompted for passwords every time. On the other hand, one could imagine a single address in a wallet to be kept unencrypted for such transactions. In the end though, it is not a matter of creating a new OP in the protocol, but new functionality in a client.

I'm thinking of something like having an address I could fund from which the subscription service could pull the subscription fee every 4320 blocks (1 month) say. I could fund it with whatever amount I wanted, e.g. 1 years worth of subscription fees, but the service could only pull the set amount each subscription period. If I wanted I could move the bitcoins out of the pre-funded address anytime I wanted without any permissions needed from anyone else and stop the subscription. Is this possible?

@kirian You'd have to have some modified client for this. You need to sign with your private key for every transaction that is to take place. Currently something like this is not available, but maybe in a couple months I should have some eWallet going that could do something like this. For now, everyone's paranoid about having their coins stolen.

All you would need is a "not valid before block X" (or block with timestamp Y) transaction. You could then hand them transactions for each month in the next year, and you could remove the funds at any time prior to them taking the payments.


text:
Who has admin privileges for the bitcoin wiki?
Who has an admin user?
I know Stephen Gornick has. Who else?
Who besides MagicTux has technical admin credentials? (server access)

FYI, if you have admin right or know someone who does, there are a few issues that need their attention. https://bitcointalk.org/index.php?topic=94903.0 and https://bitcointalk.org/index.php?topic=133974.msg1436221#msg1436221

Any mediawiki installation have a special page giving you the list of all the admins .
For the bitcoin wiki,find it at :
https://en.bitcoin.it/w/index.php?title=Special:ListUsers&group=sysop
See also :
https://en.bitcoin.it/wiki/Special:ListGroupRights

Currently shows magicaltux (controls the bitcoin.it domain and hosts the site), nanotube, genjix, kiba and myself,

@StephenGornick - Woot! I am now also an admin!


text:
How to convert Litecoin difficulty of 6 to an expected time per block solved?
The current difficulty for mining Litecoins is about 6. If I mine them at 25kh/s, how often should I expect to solve a block with a difficulty of 6?
I'd also appreciate an explanation (or formula) of how the calculation is done.

Litecoin topics might be appropriate on the Alternate Cryptocurrencies board on the BitcoinTalk forum: http://bitcointalk.org/index.php?board=67.0

@StephenGornick, my understanding is that all similar cryptocurrencies are within the scope of this site. http://meta.bitcoin.stackexchange.com/questions/15/are-questions-about-other-crypto-currencies-on-topic

I don't know much about Litecoin, but if its difficulty works the same as in Bitcoin, then on average it takes approximately difficulty * 2^32 hashes to solve each block.
Since you're calculating 25000 hashes per second, it should take you around 6 * 2^32 / 25000 seconds to solve a block.  Or about 286 hours.
Does that sound about right?

Yes, that seems about right. What's the significance of 2^32? Does the numeric value of the hash need to fall under 1/((2^32)*D) where D is the difficulty, as part of the block solving algorithm? That would explain it.

The answer to this question http://bitcoin.stackexchange.com/q/1453/516 has a formula for Bitcoin, but I couldn't make any sense of it. Seeing the similarity to your answer, I was able to fix it by adding some brackets that were necessary to get the correct result. I'm pleased to get that cleared up!

See the link 'approximately' for too many details about this whole 'difficulty' thing.  But yes - a difficulty 1 block needs to have a hash starting with 32 zero bits.  That's where the 2^32 comes from.  It actually has to be less than 0x00000000FFFF, which is why I said "approximately", since 2^32 is off by a factor of 65535/65536.  Starting with 32 zero bits isn't quite enough - at least one of the next 16 bits has to be zero too.


text:
Is performing a 51% attack / double spend on Bitcoin illegal?
Suppose I had an ultra large ASIC from the future, and could perform a double spend on the core Bitcoin network. At this point in Bitcoin's development, it is no longer a game - there's real money involved.
Would performing a successful double spend be considered illegal (e.g. in the U.S / Europe)?

The double-spend itself probably not. But someone would have delivered some goods to you without being payed, so I guess they could go after you because of that. Just like a cheque that bounced. Those are not illegal, either, right?

A double spend is the act of "spending" Bitcoins twice. E.g. to purchase coins on an alt chain, or a car from wikispeed. To just do a "51% attack" without double spending is a different manner, and open to more interpretation.

Bouncing a check may well be illegal, depending on your jurisdiction

@ZacharyK - Bitcoin isn't legally money. Or maybe it is, I don't know anymore.

Good point, but there is still an implied contract A for B. In truth I have no idea, and I expect it would depend a lot on the laws of where ever it came up and a million other factors.

Buying something and not paying is fraud, it doesn't matter if you didn't pay with Bitcoin or with a bounced check – Fraud is illegal.

The only way I could see a double spend attack being illegal in any part of the world would be if there was some kind of law that automatically recognises international alternative currencies in the first place.
I'm no lawyer, but I've never heard any mention of such a law existing.
Proprietary systems that create currency, points or tokens often have some kind of contract or T&C's that promise to give you something in return for the units and they also have conditions that you must meet to use them. Bitcoin however has no such contract for users to agree to, and no central authority to form an agreement with.
Further to that, even if a law in one particular country somehow made a double spend attack illegal, the international nature of Bitcoin means the attack could be performed from elsewhere.
Note that it may not be in your best interest to perform a double spend attack either. A successful, sizeable double spend would likely draw widespread attention and could shake the confidence in Bitcoin, maybe causing the price to plummet. Quietly mining 51% of the coins over a long period would likely earn you more profit.

Of course, drawing widespread attention and shaking the confidence in Bitcoin could be the purpose of doing this attack.

The law doesn't specify each tactic in committing fraud, it specifies what fraud is and lets a judge (and / or jury) determine if that tactic was fraudulent.
Intentional double spending with the intent to defraud would be illegal in most parts of the world.

FYI, interchange of goods is legislated in most countries. Trading a good for another good is the same as trading a good for bitcoin when digital goods are taken into account. They may not be physical but it can be shown that they are not transferred.
This is just so with buying and selling digital goods (see gaming items) being similar to buying and selling bitcoins.

A double-spend would be blackletter law illegal, guys.  Fraud and theft include a wide variety of intentional deception wrongfully depriving someone of property - use of a government-minted currency is not, and never was, a required element.  Look at any larceny or fraud statute - it will refer to loss of or damage to person and property not "dollars."
Schwarz - when you double-spend, you are representing to the seller as an existing fact that you are passing a valid bitcoin, which is a misrepresentation.  Your representations as to fact are readily, and usually, implied from conduct in fraud and "larceny by trick." You don't have to literally state them in words.  this goes for more than bitcoin.  If you were considering stealing puppies to return them for a reward, it's a legal problem for the same reason.  But do I really have to tell you this?
Of course, these are just general legal notes, and not legal advice.  Before you consider undertaking any questionable business activity, consult an attorney.

It's probably not criminal in many jurisdictions. It should be fraud, but it's not quite in most jurisdictions. For example, in the United States, the elements of fraud are:
a representation of an existing fact;
its materiality;
its falsity;
the speaker's knowledge of its falsity;
the speaker's intent that it shall be acted upon by the plaintiff;
plaintiff's ignorance of its falsity;
plaintiff's reliance on the truth of the representation;
plaintiff's right to rely upon it; and
consequent damages suffered by plaintiff.

All of these are clearly met by the typical double spend except the first one. There really is no "existing fact" that is misrepresented.
However, you can certainly be sued for unjust enrichment and breach of the implied covenant of good faith and fair dealing implicit in any agreement.

The federal wire fraud statute would apply (assuming you weren't in the same state as the guy you were ripping off) and it's much less restrictive than the law you're quoting.

Let's ignore the crypto-currency part of Bitcoin, the 51% attack you're talking about is a form of computer hacking, and there are laws to protect against this.
My opinion is that any law that applies to "hacker 'penetration testing'" applies to hacking bitcoin in addition to whatever else the law can throw against such an attacker.

Don't do it! Don't do it! If you are in the US, the law is very broad.
  You don't want to even tiptoe up to the line.
The relevant law is the Computer Fraud and Abuse Act (18 U.S.C. 1030).
  In a nutshell (and simplifying slightly), under the CFAA, it is a
  federal crime to "intentionally access a computer without
  authorization or exceed authorized access". This language is very
  broad, and I imagine an ambitious prosecutor could try to use it to go
  after everything on your list except #1 (view source).
Orin Kerr, one of the leading legal scholars in this area, calls the
  statue "vague" and "extraordinarily broad", and has said that
  "no one actually knows what it prohibits".
And, as @Robert David Graham explains, there have been cases where
  folks were prosecuted, threatened with prosecution, or sued for doing
  as little as typing a single-quote into a textbox, adding a ../ to a
  URL, or signing up to Facebook under a pseudonym. It's pretty wild
  that this alone constitutes a federal offense, even if there is no
  malicious intent. But that's the legal environment we live in.
I'd say, don't take chances. Get written authorization from the
  company whose websites you want to test.

source
Although that above link applies to a specific company, I'm sure the distributed nature of Bitcoin could land a hacker in hot water in several countries, not to mention the attacker will also be wanted by the entire community of Bitcoin users (both good people and unsavory users).
If you want to test, be open and transparent about your actions (tell people on the forums) and only do your tests on the test network.  (yes there is a dedicated bitcoin network for testing that makes it pretty easy to apply a 51% attack on)

Mining isn't necessarily any different between when done with 2% of mining power than with 52% -- you are simply performing hashes and solving blocks.
Now when you have more than 50%, the options available to you change.  You have the ability to do a transaction, to let that transaction get a confirmation maybe even, and then to release blocks that make it as if that original transaction never happened and to spend the coins a second time to secure the funds.
You really can't double spend accidentally.  So that would be an action performed with the intent to defraud.  Nearly everywhere fraud is illegal.
Now whether a Bitcoin double spend would be something that a jury would convict on, who knows.

Double spending would be fraud.

I'm not sure it's actually breaking any specific law (see other answers here).

One thing to consider is that the purpose of the 51% attack may not to be to double spend the same bitcoins.  The purpose could be to disrupt the network and profit from a short.  This kind of attack would also need to be considered.


text:
Are there any linux distros that have the bitcoin client pre-included?
Ideally would be able to make a bootable usb with a lightweight linux os which already included the bitcoin client.

LinuxCoin is such a distro (based on Debian).

looks like exactly what I was looking for.

It doesn't give a very professional impression unfortunately. What version of the Bitcoin client will I get if I download their LinuxCoin 0.2-final (or 0.2b-final, or 0.2.1b)? The main page of the wiki is just a page full of spam.

@D.H. True, I would perfer installing a clean linux, then securely downloading the latest Bitcoin release.

Since LinuxCoin doesn't seem to updated very frequently, here are instructions for creating a custom bootable USB with the MCNLive distribution on it. You add whatever programs you want and it can then create a new .iso file for you to use for your USB.
http://www.pendrivelinux.com/make-your-own-portable-mandriva-flash/

BitSafe is an opensource Debian based lightweight live distro designed to provide a multilanguage, easy and secure live environment for Bitcoin.
It has a lot of innovative features like:

Onscreen keyboard to thwart keyloggers
Encrypted storage partition for wallet and client
Tor tunneling capabilities
Minimal number of applications and installed packages to reduce attack surface

https://bitcointalk.org/index.php?topic=46916.0
https://github.com/rb1205/BitSafe

Ubuntu is a most popular Debian fork have bitcoind package in official repository:
# dpkg -l bitcoind
ii  bitcoind  0.8.1-1   amd64    peer-to-peer network based digital currency - daemon

More info:
# aptitude show bitcoind
Package: bitcoind
State: installed
Automatically installed: no
Version: 0.8.1-1
Priority: optional
Section: universe/utils
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 3,126 k
Depends: libboost-filesystem1.49.0 (>= 1.49.0-1), libboost-program-options1.49.0 (>= 1.49.0-1), libboost-system1.49.0 (>= 1.49.0-1), libboost-thread1.49.0 (>= 1.49.0-1), libc6 (>= 2.15), libdb5.1++, libgcc1 (>= 1:4.1.1),
         libleveldb1, libminiupnpc8 (>= 1.6), libssl1.0.0 (>= 1.0.0), libstdc++6 (>= 4.6)
Suggests: db-util, db4.8-util
Conflicts: bitcoind
Description: peer-to-peer network based digital currency - daemon
 Bitcoin is a free open source peer-to-peer electronic cash system that is completely decentralized, without the need for a central server or trusted parties.  Users hold the crypto keys to their own money and transact directly
 with each other, with the help of a P2P network to check for double-spending.

 By default connects to an IRC network to discover other peers.

 Full transaction history is stored locally at each client.  This requires several GB of space, slowly growing.

 This package provides bitcoind, a combined daemon and CLI tool to interact with the daemon.
Homepage: http://www.bitcoin.org

This is a distribution that has Bitcoin in the package repository, but that's not the same as it being pre-included.

Creation of "bootable usb image" is easy task with Ubuntu. It is exactly what Asking want to achieve.


text:
How to run a litecoin miner behind a proxy server?
I've downloaded the Windows 64-bit Litecoin mining software as provided from http://pool-x.eu/gettingstarted
I'm trying to run the miner from behind a firewall. My browser uses an HTTP proxy to get to the internet, and as I understand it I should be able to use a similar method to connect my Litecoin miner to a pool.
So far, I've modified the file start.console.bat from:
@echo off

START /LOW /B minerd.exe --algo scrypt --url http://litecoinpool.org:9332/ --userpass username.1:1 --threads 4 -r -1 -s 5

to:
@echo off
set HTTP_PROXY=http://myproxyserver:myport
START /LOW /B minerd.exe --algo scrypt --url http://litecoinpool.org:9332/ --userpass myusername.1:mypassword --threads 4 -r -1 -s 5

I've substituted my values in to take the place of the following values:
myproxyserver
myport
9332
myusername.1
mypassword
When I try using the port my browser uses for the proxy server (for both port values), I get this output when I run it (and it spits out another error every 30 secs):
[2012-07-07 13:57:48] HTTP request failed: The requested URL returned error: 503

[2012-07-07 13:57:48] json_rpc_call failed, retry after 30 seconds
[2012-07-07 13:57:48] 1 miner threads started, using 'scrypt' algorithm.

Should the port number for the proxy and for the mining script be the same? What settings can I use to get my miner working?

This question is related but not identical: http://bitcoin.stackexchange.com/q/4014/516

I got it working for pool-x.eu connecting via port 80 (the proxy server name and port is just what my browser uses):
@echo off
set HTTP_PROXY=http://myproxyserver:myport
START /LOW /B minerd.exe --algo scrypt --url http://mine.pool-x.eu:80/ --userpass myusername.1:mypassword --threads 4 -r -1 -s 5

Not all pools allow connections through port 80, so it does limit which pools you can connect to.


text:
How can I participate in a mining pool that is mining Litecoins?
To date I've only participated in mining GPU-optimised crypto currencies. I wondered what happens when I pointed my GPU miner to a Litecoin mining pool worker, Litecoin being designed to be optimised for CPU mining.
I tried do this for just three shares on coinotron.com and according to guiminer (running Phoenix) two of them were rejected as stale and one was accepted. However, my worker on coinotron.com registered no shares submitted at all (which is probably correct, since it's likely a GPU miner won't work at all for Litecoin).
If I can't use Phoenix, then what do I use to participate in a Litecoin mining pool?

Note that it seems to be accepted that alternative currencies are on-topic: http://meta.bitcoin.stackexchange.com/questions/15/are-questions-about-other-crypto-currencies-on-topic

Litecoin doesn't use the same algorithm as Bitcoin. Bitcoin hashes are SHA-256 based.
Litecoin hashes are Scrypt based. You must use a miner capable of understanding scrypt.  Early in Litecoin history there were no GPU capable miners as the performance of GPU relative to CPU was very poor.  In time GPU performance increased and today most mining software supports both SHA-256 and Scrypt.  Part of the reason that GPU mining is possible is that the Scrypt parameters used in Litecoin (and other clones) have been selected to reduce the "memory hardness" of the algorithm.  The default parameters for scrypt are n=2^20, r=8, p=1.  The Scrypt used by Litecoin uses the parameters n=2^10, r=1, p=1 making it roughly 100x less memory hard and allowing GPUs to out perform CPUs while they are unable at n=2^20, r=8, p=1.

Is this still accurate? there are several miners that can mine litecoin with GPU, for example cgminer and bfgminer.

Now the GPU specific information is no longer correct.  I have updated the answer.

You better off using your CPU to mine.
Basically, you should download an optimized litecoin miner, and point it to a pool.
See also this thread.

Indeed you can mine Litecoins with your GPU.
Get CGMiner and register at coinat.com, start mining.


text:
When I have a problem running the bitcoin client, where can I go to get help?
Let's assume that either a bug report exists already, or the problem is unlikely to be caused by a bug.
What I know so far is:

This site will be appropriate for some support questions, and the mechanism for the site encourages peer review of each answer. Here's an example of a support question.
The bitcointalk forums have a technical support category that is likely to give a good response as there are lots of active users.

Where else might I get timely support? (paid or unpaid)

I think you have mentioned them all:
bitcointalk,
bitcoin.stackexchange,
github issues page,
bitcoin-dev.
For commercial companies offering bitcoin client support see Stephen Gornick's answer.

If it is a problem such as a bug that might affect other users, the community wants to know, find the root cause, and document or fix the behavior.
If it is a feature request or suggestion for improvement, there are processes for those as well.  e.g., BIP submissions.
There is help from professional service organizations that offer their services as well.

http://www.BitcoinConsultancy.com
http://helpcoin.com/contact.html


text:
What is an "unspent output"?
What is the meaning of the term "unspent output" in the Bitcoin protocol?

An unspent output is simply an output of a transaction which isn't yet an input of another transaction.
To take the example from ripper234's answer (in which generated coins are immediately spendable, and we don't have to wait 100 blocks for them to mature), where:

The first block contained 50 mined BTC in address A (A = 50)
The second block contained 50 mined BTC in address A, a transaction sending 20 BTC to address B, and putting the change in address C (A = 50, B = 20, C = 30)
The third block contained 50 mined BTC in address A, a transaction sending the 20 BTC from address B to address D (A = 50 + 50, C = 30, D = 20)

So, after three blocks, there are four unspent outputs:

A has two unspent outputs worth 50 BTC each
C has a single unspent output worth 30 BTC
D has a single unspent output worth 20 BTC

And there are two spent outputs:

the 50 BTC generated in the first block, spent in the 2nd block
the 20 BTC output created in the 2nd block and spent in the 3rd block

Note that unspent outputs don't merge together.  The two unspent 50 BTC outputs at address A are separate, and will remain separate at least until they are spent in a transaction

I must be missing something, as I cant create any logic which can explain the above. A has 50 (I am assuming this is its balance, which we are saying is also called unspent outputs), and sends 20 to B and 30 to C.  Now A has zero. Later A magically has 50 again, then 100.  Does this mean A started off with more than 50?

In the second row, surely A's output WERE spent by making them inputs of B and C, so why are they still unspent?

@JohnLittle A is the miner, he got another 50 for the second block he mined.

Can we assume that: Total balance = Sum of unspent transactions

@Umarov I think the Total balance = Sum of unspent transactions - Sum of spent transactions.

@zhaozhiming No I don't think so. Read here and here

@Umarov Yes, you're right. I misunderstood it. Thanks.

It means "Bitcoins that were not spent".
Imagine the early days, when the blockchain was of length 3 (imaginary chain of events):

The first block contained 50 mined BTC in address A
The second block contained 50 mined BTC in address A, a TX sending 20 BTC to address B, and putting the change in address C
The third block contained 50 mined BTC in address A, a tx sending the 20 BTC from address B to address D

So, after 3 blocks, this is the "sum total":

A has 100 BTC
C has 30 BTC
D has 20 BTC

Total 150 BTC in unspent outputs. These are the "unspent coins" - all the generated BTC, without counting transactions that moved BTC twice.

I don't quite understand what you mean by "bitcoins that were not spent". So what is a bitcoin that is spent? When a TX sends 20 BTC from A to B, aren't those coins considered spent? When will a coin be considered spent?

@Pacerier The coins in A are considered spent after this tx, but the coins now reside in B in an "unspent form". Note that it's not bitcoins that are actually spent or unspent, it's "outputs". Read Chris' answer for more details.

Then the number of unspent coins will only increase and never decrease right? What's the point, I mean, Isn't the number of unspent BTCs forever equivalent to the number of BTCs?

Yes, to total value of unspent transaction output are the total bitcoin in circulation.

Bitcoin is a distributed system that enables users to receive, store, and send money. Value is transmitted by submitting a payment order to the network called a transaction. Transactions are cryptographically attested statements instructing each network participant to update their copy of the network's ledger of spendable balances which they independently maintain.
All funds in Bitcoin exist in the form of unspent transaction outputs (UTXOs): when users wish to spend bitcoins, their transaction explicitly states which UTXOs are being spent and define how their funds are to be assigned to new UTXOs. UTXOs cannot be partially spent, they are created once and then spent in full by another transaction. (You can think of bitcoins as a substance that is melted and recast every time it's spent.)  Only while they are available to be spent, we refer to them as "unspent" transaction outputs, although the blockchain keeps the records of all past transaction outputs. UTXOs are denominated in satoshis, the native unit of the bitcoin protocol. 100,000,000 satoshis are one bitcoin.
Each UTXO is uniquely identified by its outpoint, the combination of the transaction that created it and its position in the transaction's list of outputs. Incidentally, "addresses" are proxies for the locking script the receiver must fulfill to spend the funds later and sending to the same address multiple times will create separate UTXOs.

For example the transaction f4272d...a70f2e depicted here, (1) spends the two UTXOs 5f9de0...be8c55:1 and 7be1b7...7c8378:0, and reassigns the funds to two new transaction outputs, (2) the zeroth output of the transaction f4272d...a70f2e:0, paying to the addresses 1GxJtQ7...mee8bg, and (3) the first outputs of the transaction f4272d...a70f2e:1, paying to the address bc1qy6...7pdwnc.
As you notice, these mechanics do not align with the common intuition that Bitcoin balances function like bank accounts. We refer to this model of tracking funds as the "UTXO model". You can read a bit more about the benefits of the UTXO model here: UTXO model vs. account/balance model


text:
Why did BitcoinEXpress plan a 51% attack on Namecoin?
I don't understand this post.
What is "ArtForz modified exploit"?
What does "Gavin's patch will not work for the exchanges" mean?
Any more important details I'm missing?

This is supposedly the code that is attacked. The timestamps on the blocks are manipulated to fool the difficulty algorithm into accepting a large number of blocks with rapidly decreasing difficulties. The basic idea is that you manipulate the timestamps on the first and last blocks in a set and you can get the difficulty to divide by 4 every time.

Anyone know what "Gavin's patch" is?

This question is becoming quickly dated.  Is there any case to be made that this content is of lasting value?

@emansipater why do we need to make this case? The question served its propose, it has an accepted answer, just let it be.

On Stack Exchange sites, questions without lasting value are usually closed as too localised in time.  The idea is that the site exists primarily as a reference, and that quality is maintained by keeping it restricted to content that people will find useful.

@eMansipater: it still has an historic value: "Why did BitcoinEXpress plan a 51% attack on Namecoin in Sep 2011?"

@Lohoris - changed to past tense.

Just adding that even in late '13, this question has some historical value as documentation for this historical attack.

This post by ArtForz on the forums explains the attack:
https://bitcointalk.org/index.php?topic=43692.msg521772#msg521772
Quote: "By exploiting the fact that retargeting ignores one block interval every period, it's possible for an attackers' fork chain to "jump backwards in time" and create lots of blocks at low difficulty without running nTime off into the far future."
This attack has been proven to work on GeistGeld (which uses 10 second blocks and 16 block retarget intervals). It was rather easy there, because of the low intervals and because the developers "forgot" to adjust other constants regarding timing and clocks. They since made it much better.
Now it seems it will be tried on namecoin, with the goal of making bitcoin more secure.

The answer to the title question "Why is BitcoinEXress planning a 51% attack on Namecoin?" has been given in the linked post itself:

Goals

Developing protection for Bitcoin against exploits
Developing a lethal alt chain killer.
Making developers aware that when the "bad guys" make you aware of an exploit, FIX IT!

We know the 51% attack could be a danger to bitcoin (there are several threads about this IIRC), so they are trying that attack against a bitcoin weaker clone to see "live" if it really works, to raise public awareness of this problem.

The said reason behind why someone is doing something and the actual reasoning behind it may be very different. Just because this man declares his intentions as genuine it may not be the case. By destroying a live chain will only put fear and concern to the unknowning and media about the safety of any technology built this way.

The reason stated by him is a fact, while what he might be actually thinking is pure speculation hence unfit for a SE site.


text:
Have there been reports of botnets mining Bitcoin / crypto-currencies?
Is the threat of Botnets using massive amounts of CPUs/GPUs to mine Bitcoin, or some CPU-friendly coin, purely theoretical at this point? Or have there been reports of this actually happening?
I know of trojans stealing Bitcoin wallets, this is not related to my question.

This article from Symantec might interest you. They try to calculate the profitability of such botnets. With the current difficulty and price, I highly doubt that bitcoin mining is an appealing activity to botnet owners.

First report about mining botnet was made at the end of June, and it evolved rapidly from CPU to GPU mining. But there is no consensus about what kind of harm it will do to Bitcoin, because from the bitcoin network point of view, infected computers run legitimate mining that supports network operation.

17 Jun 2011 - Symantec suggested that it would be profitable to
run CPU mining botnet.
28 Jun 2011 - Kaspersky Lab's expert Alex Gostev made first
report about simple CPU mining botnet found in the wild.
2 Aug 2011  - F-Secure reported about discovery of advanced CPU
mining botnet controlled via twitter.
11 Aug 2011 - Symantec discovered first GPU mining botnet called
Trojan.Badminer.

There were a number of news articles in September 2011 about the rootkit TDL4 using the Ufasoft GPU miner to mine bitcoins. A few links:

World's most dangerous botnet mines Bitcoins - The Inquirer
TDL4 Worms Discovered in Bitcoin Pools: Trend Micro - spamfighter.com
New worm turns PCs into Bitcoin miners - GMA News

Quotes below are from the article in the Inquirer:

SECURITY RESEARCHERS at Russian antivirus vendor Kaspersky Lab warn
  that TDSS, one of the most dangerous and widespread family of
  rootkits, recently received an update that forces infected computers
  to mine Bitcoins.
TDSS rootkits have consistently grown in sophistication since first
  appearing in 2008. The latest version known as TDL4 installs itself in
  the master boot record (MBR) and is capable of infecting all Windows
  versions, including 64-bit Windows Vista and Windows 7, which require
  signed device drivers.
[...]
It turns out that the variant had been configured to execute a
  component called conhost.exe with special parameters. Further
  investigation revealed that conhost.exe was a copy of the Ufasoft GPU
  Bitcoin miner application.

I think it should be noted that whoever tries to reclaim Bitcoins generated by a discovered botnet is pretty much putting themselves in the line of fire. As Bitcoins aren't truly anonymous, it would be be a bit hard, but most people would love to catch whoever it was that did it.

It has been happening for months.
In fact botnet software is now smart enough to identify the best option to mine on and use that - cpu or gpu.

Citation required.

Unsupported claim.


text:
What is Bitcoin's "genesis hash"?
From Lightning Network documentation:

Used in several of the BOLT documents to denote the genesis hash of a target
  blockchain. This allows nodes to create and reference channels on
  several blockchains. Nodes are to ignore any messages that reference a
  chain_hash that are unknown to them. Unlike bitcoin-cli, the hash is
  not reversed but is used directly.
For the main chain Bitcoin blockchain, the chain_hash value MUST be
  (encoded in hex):
  6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000.

However this wiki entry about Bitcoin's genesis block has

GetHash()      =
  0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Indeed, inputting the latter value into blockchain.info yields Block 0, while the former value cannot be found on blockchain.info.
Why does the value 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 appear in Lightning Network as "Bitcoin's genesis hash"?

They're exactly the same number; one is written in little endian notation and the other is big endian.  Notice that the bytes (two-hex-digit pairs) are exactly reversed from one to the other.
Block explorers like blockchain.info usually expect big-endian for block hashes.  The proof-of-work requirement means that the most significant bits have to be zero, so big endian makes it easier to see this.

It is the same hash but reversed since bitcoin transmits data using little endian format (most significant byte last)

Also of note, the present testnet genesis:
Big Endian (typical for blockchain explorers):
000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943
Little Endian (correct for block header):
43497fd7f826957108f4a30fd9cec3aeba79972084e90ead01ea330900000000


text:
Are there any mining pools that allow a specified amount of bitcoins to be sent to a chosen address?
This would be like using a pool as a wallet service, as you could send a subset of your balance to a retailer to purchase something and avoid running the Bitcoin client app.
Most pools only pay out the complete balance to your specified address, which makes this option unavailable.
Obviously, whether or not it's a good idea depends on how trustworthy the pool operator is, and the sum of BTC at risk.

You can use an online wallet to handle all of your Bitcoins.
The reason you don't want such an option in a pool, is that in case someone steals your password, they can drain your account. This is the reason most pools have a 24h waiting period between when you change your receiving address and being able to send any Bitcoins.
In the future someone could potentially make a joined pool and wallet service that will allow you to manage your earned Bitcoins easier, but that is not yet an option (I'm slowly working on it though;) ).

"The reason you don't want such an option in a pool, is that in case someone steals your password, they can drain your account." - the same is true of an online wallet (except for one I saw recently which apparently uses your browser to encrypt the data before they receive it. Can't remember the name)

Yes, but login security of a pool might be not as big as an online wallet, simply because what you can gain from it is smaller. Compare security of an online bank to that of PayPal. Personally, my bank requires me to log in with a special number as my account name that is separate from my wire transfer account number, when I send wire transfers I get one-time passwords and so forth. For PayPal, you get your email and password, and you can pretty much do anything having those two.


text:
What to do about a "stuck" transaction?
I started the standard client with --rescan instead of -rescan after switching wallets and before synchronizing with the latest blockchain, and made an going transaction.
This transaction got "stuck", never validating, even after the client caught up with the chain, after multiple restarts (last one with -rescan). I now have a too high balance shown in the client, and the tx never went out (I checked it in Blockchain.info).
After the blockchain was synchronized, I create another similar tx (same amount and target address), and that one went through ... but the bad tx is still shown in my client.
What should I do about it?

possible duplicate of What is the best way to recover from an accidental double-spend?

I believe your options are to:

Upgrade to Bitcoin-Qt/bitcoind v0.9 or greater, which takes care of this situation.
Live with it as-is (showing an 0/unconfirmed that will never confirm)
Transfer funds elsewhere and abandon your wallet
Export your keys and import them into another wallet, perhaps a new one
Perform wallet surgery (pywallet to remove the private key used in the double spend, rescan, then import it back in.  Instructions).

Should I open a bug report? I don't have a lot of information I can post here, so I'm not sure what to write in the "How to reproduce" section. Is there an existing bug like this that you're aware of?

This bug is well-known. There's no need to report it.

Apparently if there are double spend transactions, pywallet can be used to remove ALL transactions, rescan, and that will fix it.  Transactions that confirmed will reappear as the result of the rescan of the blockchain.