Average cost of mining per BTC over time Are there any approximations to the average cost of mining of a BTC over time?

The reason I ask is because I think that as this ratio will affect the general availability of  Bitcoins on MtGox, and will be a factor influencing the price.

In other words miners won't sell BTC at a loss, while competition increases and BTCs per block decrease.

This is a chart of blockchain.info's estimated miner operating profit.
The chart makes a number of assumptions which are listed below.

Electricity consumption is estimated based on power consumption of 650 Watts per gigahash and electricity price of 15 cent per kilowatt
hour. In reality some miners will be more or less efficient.
For profit margin hardware costs are estimated to be $1000 per gigahash every
2 years, and bandwidth $1 per gigahash per year.

It is also entirely possible that miners will start only accepting transactions that pay fees, and possibly increase the amount of fees they take to increase the amount of BTC per block. But the amount of fresh bitcoins taken from mining will almost certainly affect the price.

The way I think about Bitcoin is like this:

Bob wants to conduct a transaction with Alice using Bitcoin. Who can help Alice prove that she really owns and is giving Bob the number of Bitcoins that she says that she is?

Someone with a really fast computer.  Luckily, Manny has one of those.  Manny will gladly help Alice and Bob out, but only if his costs are paid for and he gets a little something for his effort.  The proof takes energy, and energy has a cost.  So does Manny's equipment. And, quite honestly, Manny would rather be on the beach than spending time purchasing, installing, and tending to that equipment.  (not the mention the risk Manny is taking by owning all that expensive equipment in the first case).  But he is rewarded/paid enough that he will run the proof.

The average cost of a bitcoin will tend toward the cost of mining a bitcoin (or earning a bitcoin in fees).  It would be interesting to compare at this time given that the cost of a bitcoin is easily measurable in USD, EUR and the like.  Cost of equipment and energy are relatively easy to know, which could make measuring real fiat labor costs relatively easy.  Then again, it is difficult to know how many see this as a hobby (or are teenagers/young adults stealing electricity from their parents).


What Bitcoin-esque alternatives are there? I'm seeing lots of bitcoin-esque alternatives mentioned here. What alternatives exist and how do they differ from Bitcoins?

There are a number of other cryptocoins in use alongside Bitcoin, the most notable are:

Testnet Bitcoins (used only for testing Bitcoin applications, but they are an important mention) - they work exactly the same as Bitcoins.
Namecoins - coinage used as a distributed naiming system blockchain. Their most notable feature is that they can be merged mined with Bitcoins.
LiteCoins - "silver to Bitcoin's gold" - their blocks are generated every 2,5 minutes, and their hashing algorithms are more CPU-friendly (mining with graphic cards doesn't work well with those).
SolidCoins - 2 minute blocks, there isn't a limit on how many coins will be generated, CPU friendly, difficulty is adjusted more often, close-source. The SolidCoins have undergone a "reset" recently and have earned themselves a negative reputation for how some issues were handled.
GeistGeld - 15 seconds blocks, making it the fastest alternative crypto-currency.
I0coin - they don't list any difference from Bitcoins on their website
Ixcoin - same parameters as Bitcoins, asides more coins being generated each block (thusly, all 21M coins will be generated sooner)
Tenebrix - CPU friendly, a few million coins pre-minted

A list of them is also maintained on the Bitcoin Wiki.

There is a relative ease in creating new cryptocoins, as you can just tweak the main client, encode a new genesis block and start your alternatives with small effort.

There is a design specification (but not yet working code) for AnonyMint a.k.a. AnonyCoin.

Claims to fix what are claimed to be fatal flaws in Bitcoin.

UPDATE: the algorithm for the stability of value has been added.

P.S. I am the designer and I designed it in one day, after learning from scratch about Bitcoin the previous day.

Anonymously downvoting because you think something is a threat to Bitcoin is irrational, because the best way to protect the future of Bitcoin is to enumerate and improve its weakness. However, the schedule of Bitcoin 's debasement is non-negotiable.

Anonymously downvoting because this is not yet a released product is a mockery considering my specification is much superior to TimeKoin's incomprehensible description, yet its answer above has an upvote. And the comprehensive list includes many alternatives in various states of development.


Dumping private keys from wallet.dat from command line (pywallet.py alternatives) I have somewhere in my hard disks some copies of old wallets which I need to analyse.

My idea was importing them into blockchain.info, but to do that apparently you need to dump them with pywallet.py, which is one of the worst pieces of software I've recently put my hands on.

Is there an alternative?

I.e. either one software which given (via command line) the full path of the file, will dump something that blockchain.info can import, or something that at least given a wallet (again, full path via command line) will dump all the private keys.

PS: this has to work for encrypted wallets too, asking the password either at runtime (would be better) or at the command line.

This is an old question but just to say that the dumpwallet command has been added to bitcoin core. This will give you all the private keys in a text format.

If it's fewer than 10 wallets, just copy them into bitcoin-qt's configuration directory one-at-a-time and transfer all the bitcoins to a new wallet.  It would take you about 10 minutes to do it.


Can I do transactions while Bitcoin Core is being synchronized? How long does this process take? It is telling me 46 weeks left but its doing this for months. How do I speed of the synchronization?

I downloaded it from their website. It is the latest version of Bitcoin Core. Windows 10, 4.00GB 64 Bit

I assume, you are using bitcoin QT client, then the general answer to move coins without bitcoin core being sync'd is yes :-) Simply use another wallet software. You could export your keys from the current bitcoin core system, and import it into another wallet software. I am doing this often, and I have written my own unix shell scripts to then create a transaction manually. However I recognize, that you are a new member here, and I assume, you do not have the experience yet to do so. So it is quite difficult to explain the process, without having a sound understanding, what you do.

Why it is so slow in sync'ing the blockchain? There can be many reasons:
I explained it here: https://bitcointalk.org/index.php?topic=4500995.msg40584294#msg40584294
There is no easy way to speed up things, but if you have a decent QUAD CORE CPU and 4 gig memory, with an SSD, you're good to go a few days.

For the sake of quickly getting things done, playing with low volumes (low values of funds), I guess the best option for you would be to export the PRIVATE keys from bitcoin wallet (there is plenty of messages in the forum her, just search for it, keywords QT wallet and dumpprivkeys), and then import into some SPV wallet, or some online wallet. However, there are different representations of keys to import and export (keys can be hexadecimal, or WIF or even WIF-compressed). So there is a learning curve involved! You would need to find a matching pair. Perhaps the question should be rephrased a bit, and someone in the community can help out on compatible export/import wallets...


What if my Internet Service Provider decides not to let me send bitcoins? Since bitcoins are sent through the internet, what would happen if my Internet Service Provider prevented me from sending bitcoins?  If they can do that, does that mean that I don't really control my bitcoins?

Since bitcoins are sent through the internet, what would happen if my Internet Service Provider prevented me from sending bitcoins?

There really is no practical technical way to do this, but they could just have a rule.

  If they can do that, does that mean that I don't really control my bitcoins?

No, since you choose your ISP.

Easy! Use Tor, or any VPN service. Problem solved! The ISP can't monitor encrypted traffic.


What exactly is Mining? I have heard that mining is for people with ready hardware and blah blah blah... But what exactly is it? Does it operate like real mining? I mean, people talk about it like you are physically mining.

David Schwartz's answer is entirely accurate, but all that "bitspeak" might be a little intimidating to the average user.  Let me try and put it into more plain language:

The way Bitcoin works is that instead of having one central authority who secures and controls the money supply (like most governments do for their national currencies), this work is spread out all across the network.  Most of the heavy lifting for Bitcoin is done by "miners".

Miners collect the transactions on the network (like "Alice pays Karim 10 bitcoins" and "Liam pays Sofia 8.3 bitcoins") into large bundles called blocks.  These blocks are strung together into one continuous, authoritative record called the block chain, which doesn't permit any conflicting transactions.  This is necessary because without it people would be able to sign the same bitcoins over to two different recipients, like writing cheques for more money than you have in your account.  The block chain lets you know for sure exactly which transactions count and can be trusted (so no bad cheques!).

The way Bitcoin makes sure there is only one block chain is by making blocks really hard to produce.  So instead of just being able to make blocks at will, miners have to compute a cryptographic hash of the block that meets certain criteria.  Bitcoiners refer to this process as "hashing".  The only way to find a cryptographic hash that's "good enough to count" is to try computing a whole bunch of them until you get lucky and find one that works.  This is the "lottery" that David Schwartz refers to, because miners who successfully create a block are rewarded some bitcoins according to a preset schedule.  The difficulty of the criteria for the hash is continually adjusted based on how frequently blocks are appearing, so more competition equals more work needed to find a block.  Modern dedicated mining hardware (e.g. ASIC miners) can try trillions of hashes per second, so to be competitive in this race to find hashes miners need specialised hardware, otherwise they will tend to spend more on electricity than they make in the "lottery".

In addition to the hash criteria, a block needs to contain only valid, non-conflicting transactions.  So the other main task for miners is to carefully validate all the transactions that go into their blocks, otherwise they won't get any reward for their work!

Because of all this work, when a Bitcoin client signs on to the network it can trust the block chain that was most difficult to produce (since this is evidently the one that was being worked on by the most miners).  If there was a "fake" blockchain competing with the real ones (say, where someone pretends that they didn't actually give Sofia those 8.4 bitcoins and they still have them), the fraudster would have to do as much work as the whole rest of the network to make their block chain look as trustworthy.  So essentially, the intense work that goes into finding blocks through hashing secures the network against fraud.  There is also, of course, some nifty code that figures out how to choose between conflicting transactions; and what to do if two people find valid blocks at the same time.

One last thing:  why is it called mining?  In the original analogy, people who performed this essential work were compared to gold miners digging the gold out of the ground so that everyone could use it.  But in reality, Bitcoin "miners" are just running computer programs on very specialised hardware that automates the process of securing the network.  To sum up, this software

Collects transactions from the network
Validates them, and doesn't allow conflicting ones
Puts them into large bundles called blocks
Computes cryptographic hashes over and over until if finds one "good enough to count"
Then submits the block to the network, adding it to the block chain and earning a reward in return.

That's mining in a nutshell!

The answers in this section all present different, useful perspectives.  Another useful, but non-technical perspective is:

Mining is a battle between those who want to see Bitcoin succeed for the greater good, and those who don't care if it is destroyed as long as they achieve some victory, even if only to be part of the destruction (they might not get any BTCs from their destructive efforts).

In other words, Bitcoin is a fascinating attempt to establish an alternate money system.  Since the P2P, decentralised architecture is integral to its success it is, by design, open to any participant.  The mining process assumes that some participants are evil.  It pitches 'good' against 'evil' in the hope that 'good' will continue to succeed and maintain the integrity of the network.


Can I look for transaction in the genesis block? I'm testing bitcoin and, as an experiment, I added a transaction after the coinbase to the genesis block. However, it appears that it can't be searched with the rpc commands. Why is that?
I already read that the coinbase in the genesis block can't be spent and this is ok, but what about the other transactions?

There are no other transactions in the Genesis block. For all intents nothing in that block is worthwhile inquiring information about.


What economics/finance methods and tools can be used to analyze and predict the Bitcoin market? Bitcoin differs from standard markets in many ways. Some standard market analysis tools are inapplicable due to unique features of Bitcoin. Hence the question

What methods/tools can used to analyze and predict the Bitcoin market?

It is better if the tools have a proven trackrecord of actually working for predicting the Bitcoin market, but it is unlikely that such examples exist. Therefore, I am perfectly happy with references to the literature on econ/finance tools that should work for the bitcoin market but maybe haven't been applied yet.
Related questions
Is there a correlation between Technical Analysis predictions and actual prices?
Can bitcoin transaction data be used to study markets?

Technical analysis is important, but right now I think that one should not rely exclusively on chart analysis and indicators to predict Bitcoin's price movement. For example, at the end of July and mid-August some indicators, such as MACD or RSI, clearly showed a trend inversion that did not happen.

One of Bitcoin's unique features is the mining system and I think that, right now, this plays an important role in price analysis. After Bitcoin hit $30 in July, many people invested in mining rigs and difficulty rose a lot. Those people are looking forward to get their investment back and, since Bitcoin is extremely infalctionary right now (50 new coins every 10 minutes), there is a big selling force at the markets.
If miners sell 30 coins out of each block, we need around 1 million dollars per month to keep the price at $5.

I also believe that the $30 spike was caused by media exposure. Such a small market can be easily manipulated by a few serious investors.

Main points:

Use Technical Analysis carefully.
Consider the number of coins per block and the money invested by miners
Keep an eye for important news that may attract new investors to the market

To finish, here is one stock behaviour that I could identify: the dead cat bounce.

  A dead cat bounce is a trading term used to define when a stock in a
  severe decline has a sharp bounce off the lows.

I hazard that you might be better off manipulating the market than trying to predict its direction. The BTC market is not that large, and seems to be subject to fluctuations when big "events" happen such as a hacking attempt. Perhaps hacking MtGox or defacing bitcointalk.org is a better way to manipulate the price than Bollinger bands?


Could someone solve for your private keys by sending many transactions to the same address? I've read that it's never safe to use the same bitcoin address more than once because there is a small chance that someone could solve for your private keys (though I don't have a solid-enough background in encryption to understand all of the implications of this concept). In any case, even if you did generate a different address for every incoming transaction, what would stop an attacker from simply sending many transactions to the first address they see in an attempt to crack your private key?

So there are attacks where if you sign enough times with the same private key, the attacker, with access to a side-channel can figure out your key.

So if you were signing with your private key a lot of times, this would make your private key slightly less secure. If you're receiving bitcoins to your address, you're not signing with your private key, so this isn't an issue.

The more important consideration here is that you lose privacy with address reuse.

It does make your address slightly less secure once you send from it. If the address is only used to receive Bitcoin though, it is secure, and there is no significant risk to your private keys.

EDIT Added: Sending lets the world know the public address. This increases risk (albeit to insignificant levels) but still IMO many times higher risk than not disclosing this information at all, because now any attacker is closer to finding the private key.

So as just one reason (there are more)... given that there is clearly non-zero risk that technology could be developed to compute private keys more easily from public addresses, publicizing public addresses increases risk. See link below.

Reddit thread discussing quantum-safety


sendrawtransaction and txn-mempool-conflict When i sendrawtransaction to bitcoind, i get error (exceptions) 18: txn-mempool-conflict (use Bitcoin JSON-RPC denpamusic/php-bitcoinrpc)
But the transaction is sent to the network and is subsequently confirmed.

Example one decoded transaction : https://jsfiddle.net/rn58a4j6/

then i send this transaction:
94ec12fc463230b4285a29b047608627c05572a4c6eabe6688a201ce49ae72f7

To solve this problem, I restarted bitcoind.

I think that maybe when i was developing my project, I made a bad transaction and it saved in mempool


Why was transaction malleability fix required for Lightning network? Transaction malleability is that TXID can be changed modifying the signature slightly without the private key. To implement Lightning Network, it was required to fix the malleability.

However, I thought that we just wait for 1 confirmation that we create an opening transaction, which is 2 of 2 Multisig, in order to open a channel.

After researching Lightning network protocol, I kind of found out that before broadcasting the opening transaction, we have to create a commitment transaction that needs the TXID of the opening transaction, and we have to keep it to claim. If the TXID is changed, the commitment transaction won’t be valid. So we needed to fix transaction malleability to keep the commitment transaction valid.

Is this correct? If not, please educate me.

Alice creates a multisig transaction sending 100btc to a shared Alice-Bob output–one that requires both signatures–and signs it. We’ll call this transaction Tx0. And she only reveals Tx0 to Bob after:

Alice and Bob each sign a timelocked transaction for 30 days from now, sending 100btc back to Alice. This is not committed to the blockchain, and opens a “channel” between them.

Uncommitted transaction has dependency over Tx0. After Alice reveals Tx0 to Bob, if Bob successfully changes the transaction hash for Tx0 on blockchain, then uncommitted transaction will become invalid and Alice will not be able to claim 100btc back.

If, in addition to requiring the refund Tx, Alice also requires Bob to sign Tx0 before she does so that only she can submit Tx0 to the blockchain, this attack would not work.

Lightning network channels are a multi signature operation, if Alice and Bob open a channel, both are signing a contract where they agree the terms, so both sign.

If changing the signature of the transaction (if transaction malleability) is allowed. One side could modify/invalidate the contract.

that why it was fixed


How big will the block chain become? How big can the block chain become? It's already 7 GB after a couple years!

The block chain length in number of blocks will grow indefinitely with one block being created for 10 minutes on average.

The actual size of the whole chain will strongly depend on the following two aspects:

the number of transactions

The number of transactions in a block determine the size of the block. So, the more transactions are made in the network, the more information there has to be stored.

how the block chain will be stored across clients

Since the speed with which the block chain grows has been slightly increasing since the beginning of Bitcoin and the block chain is already significantly big, some of the Bitcoin developers have been considering to implement a solution for this that would make it unnecessary to keep a history since the beginning of time.

Currently already the standard Bitcoin client compresses the block chain for storage. The older blocks become, the more they are compressed. This means that you required less disk space to store the block chain, but also that it takes longer to start building it from scratch. Other clients have to decompress it to share it with you and you will have to compress everything you receive. This results in the fact that new clients often need multiple days to get in sync with the network.

Even if there are no rewards paid for finding/calculating a block in the blockchain, miners still get the transaction-fees.

That is needed because without blocks, no transactions would be possible.

Because of that, there is no limit on the blockchains size.


are individual satoshis as secure as an overall bitcoin? I don't really understand Bitcoins as well as I'd like.  I understand that eventually there will be 21,000,000 bitcoins mined.  And, I understand that each bitcoin can be subdivided into 100,000,000 satoshis.  so there will one day be 2,100 Trillion satoshis in the system.

So, Is each satoshis as secure as a bitcoin?  Or, I was imagining, that even though each bitcoin might be highly secure, perhaps a bitcoins individual subdivisions might not be accounted for so well.  Suppose one organization had a several bitcoins, but a great many of the organizations members owned various numbers of those bitcoin's satoshis.  Would they need to be extra concerned that their satoshis could somehow disappear, when they owned less than a full bitcoin?

(Does accountability begin with the satoshis, or with the bitcoin?)

When people "hold Bitcoin", they actually have access to a private key that allows them to sign for one or more unspent transaction outputs (UTXO) of the corresponding Bitcoin sum. The amounts in transaction outputs are in fact specified as a count of satoshis.

All unspent transaction outputs are tracked by each full node on the network, therefore, it is no more likely that a smaller amount is going to be forgotten rather than a greater amount. However, since transaction fees are paid for transaction size and not transacted amount, smaller amounts can have a much higher relative cost to be spent than larger sums.

Yes they are. From Bitcoins perspective it's just the floating point number of Bitcoins in the wallet. 000-001.0000 works the same way 000.0001 does. Satoshis are a human mechanism used to talk about small amounts of bitcoin, similar to micro btc. In fact a satoshis is equal to .01 micro btc.

In the software it is a variable which has a presicion to millionth decimal place. I'm not sure the exact c data type the current software uses but probably unsigned char or array of them.

This value when hashed and what not agrees with the block chain Merkel tree so they know that value of Bitcoin had to be in wallet.

Also the amount gets put into a string of numbers so it's not that number alone but others to tacked on to front and back.

Finally the Sha 256 algorithm does not depend on number size or what not to derive it's randomness for the output number.


Electrum's "script hash" form with NBitcoin? I've come across how scripts are hashed in the electrum (stratum) protocol implementation by looking at the docs.

I'm using NBitcoin, and I've tried to generate this hash from a segwit address, first this way:

myPublicKey.WitHash.ScriptPubKey.Hash.ToString()

However, electrum servers throw an error saying that this hash is not valid. I'm guessing because this hash is of type HASH160 instead of SHA256 like the docs claim? (As I see that the hash generated by this technique is the same hash that appears below the address in a page like this.)

Also I'm wondering if I need to reverse the chain of characters myself or if NBitcoin's SHA256 methods would do it for me? All in all, how to get this hash with NBitcoin API so that Electrum servers are happy?

In F#:

let address = BitcoinAddress.Create("1HLoD9E4SDFFPDiYfNYnkBLQ85Y51J3Zb1",
                                    NBitcoin.Network.Main)
let sha = NBitcoin.Crypto.Hashes.SHA256(address.ScriptPubKey.ToBytes())
let reversedSha = sha.Reverse().ToArray() // add `open System.Linq` at the top
NBitcoin.DataEncoders.Encoders.Hex.EncodeData reversedSha

Electrum server expects scripts to be queried by their sha256 hash, regardless of script type.  The name script hash is a bit confusing - it actually just means take the sha256 of the script.  You should be using a bare sha256 method instead of the Hash one, which seems to hash the data for use with bitcoin transactions.
I'm not sure which endianness is used by NBitcoin, but if you do end up needing to reverse it, you shouldn't reverse the individual characters, rather you should be reversing the raw bytes, or in case it's a string, then in groups of two characters.


Two weeks have past, still nothing on my transactions Two weeks have past, still nothing, can anybody advise? tried the zap wallet thing, and its just removed the transactions, so theres nothing in my wallet on my mac. the only thing i have to go on is the bitcoin link:

https://blockchain.info/tx/44c784d8f82d962103ffdf5d463a1460150a21cc67a0750d4a3f6a35a0d18d9a?show_adv=true

Since you already tried "-zapwallettxes", your client is now no longer broadcasting this transaction.
You have four choices(I listed them after difficulty):

1. Wait until it gets dropped from mempool or picked up by a miner.

2. Ask miners for help.
Since you are in urgent need: bitcointalk.org have plenty of members providing free transaction accelerator services. You can also go for the paid services, but be aware don't fall for the scammy ones.

3. Attempting a Replace-By-Fee (RBF) double spend transaction.

4. Attempt a Child-Pays-For-Parent transaction if you are also the recipient of this transaction.

I’ve done three transction of btc to my exchange wallet and it been 12 days and still no confirmation
My address are https://blockchain.info/address/3C6FMy8BFeCbVRd7457eBTFoYGQirna1Y3

https://blockchain.info/address/3FYUHdqEQ5Sg7mkMBtyQbUSfJgDbhTejUt

https://blockchain.info/address/3368APnw4u3b18ediJYerdyAA4fcfh5ztE

Please help me im really desperate. I cant afford to loose that much amount


What is a share? Can I find it while mining solo, or only when pool mining? In mining, what is "a share"?
When mining solo, do I "find shares"?

A share is a hash smaller than the target for difficulty of 1* (see clarification at end).  Every hash created has a 1 in ~4 billion (2^32) chance of being a valid share.  In comparison if the difficulty of network is 2,000,000 then a share is 2 million times "easier" to find than a valid hash for the block, and on average it will take 2 million shares (8 quadrillion hashes) to find a valid hash for the block.

Shares have no actual "value".  To the bitcoin network they are worthless.  The only hash with any value is the one that is smaller than the target (determined by difficulty).

Since a miner has no control over when he will generate a share (they occur randomly roughly once per 2^32 hashes) he can't cheat the pool.  When one miner in the pool finds the solution hash (the only hash worth anything) rewards can then be split by number of shares submitted.  There are multiple reward methods (Proportional, PPLNS, SMPSS, PPS, etc) that calculate the "fair share" of the reward but all use a share as a proxy for work completed by the miner.

It is important to emphasize that a share has no actual value.  The only hash with value is the one that solves a block.  A share is merely an accounting method to keep the miners honest and fairly divide any rewards earned by the pool.

There is no need to keep track of shares in solo mining because you will not split the reward and can't cheat yourself.

Usually pools use a difficulty of 1 as the target for a share.  Technically any difficulty (less than network difficulty) could be used.  Each miner's share of the reward would remain the same regardless of what difficulty is used.

1% of 12.5BTC is not 1.25BTC 12.5 × .01 = .125BTC.  But yes, your reward would be proportional to the total amount of work done. If you only did 1% of the shares, you get 1% of the reward.


How automatically to forward bitcoins from one address to another? I have a bitcoin wallet address (the private key is known by other people). I periodically receive payment on this address (and cannot change it/receive to other address).

I need:
When I receive a payment on it, automatically and immediately (at 0 confirmations, like in BlockChain.info wallet) send/forward them to my new wallet address (the private key is known only by me).

Is this possible and how?

You may use /etc/crontab on your Ubuntu:

* * * * * root /bin/bash /usr/local/bin/bitcoin_resender

And script shall looks like:

$ cat /usr/local/bin/bitcoin_resender
#!/bin/bash
if [ $(echo "$(bitcoind getbalance) > 0" | bc) -eq 1 ];then
      bitcoind sendtoaddress YOUR_NEW_ADDRESS $(bitcoind getbalance) "Comment for resender"
fi

It will check every minutes your bitcoind balance and resend each bitcoins to YOUR_NEW_ADDRESS.

Your probably need to check the fee.

It is not possible.
You need to write your own software for this.

As a workaround, maybe you can import this receiving address to spending wallet?


How do I restore my Multibit wallet without seed words? So I created my BTC wallet back in 2013 and had always kept a backup of the files handy. The computer I used has since died and now that I've installed the latest version of Multibit on my new computer, I can't figure out how to restore my wallet. It asks me for seed words, but I do not recall ever having seed words when the wallet was created.

I have the files multibit.info, multibit.wallet, and wallet.aes.json among other backups (along with my password). How do I get to a point where I can get my wallet up and running again?

In 2013, MultiBit was not using Hierachal Deterministic (HD) wallets. The latest version is MultiBit HD. If you want to use the older version you can use MultiBit Classic and that should let you import your multibit.wallet file.

Take your private keys you had with Multibit, go make a new wallet on the blockchain.com site and restore your wallet there


How would one inject a blockchain fork to the Bitcoin network? For theoretical purposes, how would one inject a blockchain fork in to the Bitcoin network? For example, lets say we have a small chain of blocks prepared in a program that is not a standard client / standard client with modified code. Can one force a client to accept those blocks through getmemorypool RPC command, or will the client not accept any block that would not go at the tip of the current blockchain?

What are the ways of getting a blockchain fork into the Bitcoin network?

EDIT:
I'm not talking about alternative blockchain forks, like SolidCoin, etc., but rather about a fork in the standard Bitcoin chain/testnet chain that would cause some blocks to be orphaned.

Just pass the blocks one at a time to your official bitcoind program, and it will broadcast them to the network.  You don't need to do anything tricky, except for somehow manage to hash faster than everyone else combined.

If you modify your client in such a way that it is not compatible with other clients, you will split the block chain for you and anyone else that uses your version of the client. If you can get more than 50% of the Bitcoin Network to adapt to your client, then it will become the official fork. There probably will be a hard fork made to the official core someday if consensus is reached on desired Bitcoin attributes.


Whats the easiest way to go from BTC to GBP? Paypal solution? Is there anyway of being able to transfer bitcoins to pound sterling to a paypal account at all? I struggle to find any solutions in this area so that I can make regular conversions. Even just to a UK bankaccount is ok, but Paypal is prefered? even if it means getting small fees as one would expect.

I assume you are asking about how to convert your BTC into GBP.

For small quantity, you can do a direct sales at one of the many bitcoin community forum, such as bitcointalk.org (particularly, the Currency Exchange sub-forum).  There is currently an active thread on the forum, where someone is buying large quantity of bitcoin and payment via cash deposit into your UK bank account.

For large quantity, you should check out major exchanges, such as MTGOX, and receive your money via Bank Wire.

Accepting payment via Paypal and other reversible transfer services should be avoided, as the buyer can take your bitcoin and reversed the payment at a later date.

I bought bitcoin on https://bitbargain.co.uk/, not sure what it's like to sell there.


how can i get rid of a zombie channel in LND? My LN-Node: 023bf99414b3e93ab7463ce60f44cd691f8be3c1ae33a2015fe784c85c36e770cf
bitcoind 0.17.1 // LND 0.5.2-beta commit=v0.5.2-beta-rc7

Channel: 598078250466476032

Problem: lncli feereport returns:
 rpc error: code = Unknown desc = no policy for outgoing channel

edit:
more of the same?
lncli fwdinghistory returns:

{
    "forwarding_events": [
    ],
    "last_offset_index": 0
}

related?
trying to edit a recent channels policy..

"channel_id": "620981077780267008",
    "chan_point": "e388cce2698c0406985af2fce27ee47c5f02b04e8fbda0523975b71246e66d77:0",
    "last_update": 1551629972,
    "node1_pub": "023bf99414b3e93ab7463ce60f44cd691f8be3c1ae33a2015fe784c85c36e770cf",
    "node2_pub":
 "03efccf2c383d7bf340da9a3f02e2c23104a0e4fe8ac1a880c8e2dc92fbdacd9df",
    "capacity": "500000",
    "node1_policy": {
        "time_lock_delta": 144,
        "min_htlc": "0",
        "fee_base_msat": "1000",
        "fee_rate_milli_msat": "1",
        "disabled": false
    },
    "node2_policy": {
        "time_lock_delta": 14,
        "min_htlc": "1000",
        "fee_base_msat": "485",
        "fee_rate_milli_msat": "1",
        "disabled": false

lncli updatechanpolicy --base_fee_msat 419 --fee_rate 0.000001 --time_lock_delta 14 --chan_point e388cce2698c0406985af2fce27ee47c5f02b04e8fbda0523975b71246e66d77:0

[lncli] rpc error: code = Unknown desc = Channel from self node has no policy


How to put pool name in a Bitcoin Block? If someone access blockchain.info, see blocks and Pool name who finded. I want know how sign this?

Thanks

Mining pools self-identify blocks they've created by putting an identifier into the freely choosable input space of the Coinbase transaction.

Signed blocks come with a Relayed by IP address field belonging to the solver of the puzzle. Blockchaininfo then on its own, assigns names of mining pools to the respective IP addresses.


Two bitcoin addresses - Can you link them together? I'm new to bitcoins and I was wondering; if I generate an address, add money to it (from MtGox for example), remove the address and use another address in the future. Would it be possible to link those two addresses together?
Or would I be perfectly safe (anonymous)?

You will not be anonymous unless you take special measures to make it so.

If you simply not use the old address to receive new payments, in all likelihood there will be a point where the client will combine outputs from this address and your new addresses, and this will indicate that the addresses belong to the same person.

It will be somewhat better if you send all the coins from the old address to a new one (with change, so the amount you should send is lower than the total). Then everyone will know that coins moved from the old address to the new one, but they can't tell if they both belong to you or if this was a payment to another party.

Bitcoins are tied to a specific address, it is not possible to link addresses together. You can send coins from one address to another, provided you have the private key for the first one. If you lose the private key, those coins are lost, they effectively can't be recovered, ever.


How do I double spend using electrum? I have created a transaction several days ago, with a very low fee. The transaction was meant to remove dust from my wallet, so increasing the fee won't help as the transaction is very big (1.6KB), and I can't afford to spend more than a few (28 right now) satoshis per byte. Now as expected, this transaction is stuck forever.
I now want to send some of the dust somewhere else. If I understand correctly, I could just create a new transaction that uses the same (not transferred yet) bitcoins, which would then automatically invalidate the waiting transaction. How can I do this with Electrum? If I just create another transaction, it will wait for the parent to confirm.

You need to perform a replace by fee transaction

Go to preferences and activate dynamic fees if that's not already set. You can then right click on a "low fee" tx in the history and select "Child pays for parent". You then have a fee slider with "within 2 blocks" pre-selected from a dynamic fee. You will now see a preview window for the transaction. Click sign and broadcast the signed transaction and the fee is bumped.

This will only work if you have change from the transaction to your own wallet (usually the case). Otherwise you can ask the recipient to do a CPFP on the transaction. The CPFP transactions in Electrum are by itself RBF, so you can further bump the fee after doing CPFP if needed (which means you could select a lower target like 25 blocks and bump further from there if you want to save on fees).

Make sure you select a server that runs Bitcoin core (the servers usually print what they are running in the console tab) because BU won't accept RBF and will prompt an error (you can still switch then). Most Electrum servers are running core though (I'd guess ~80%+), so it'll work out most of the times.

Source


What are tainted coins exactly? I've come across the term of a tainted coin several times now.
I understand that coins, or better, the origin of a coin can be traced throughout the blockchain.

I've read that bitcoins can be disassociated from an address, by sending it to a sufficiently large enough wallet which handles many transactions, thus making a transactions origin "untraceable".

This collides with my understanding of the blockchain, where each transaction can be tracked back to its origin.

What does the concept of a tainted coin mean in this context and how can a coins taint be measured?

You can trace the coin back to its origin, the question is whether that information is meaningful.

Say I steal 50 bitcoin. I can pass them around between several different Bitcoin accounts, all mine, and you can trace them. The problem is, you don't know whether any of those transactions are real.

Say Jack has 50 bitcoins that come from a block reward and are untainted. Now, say Jack and I both deposit our 50 bitcoins in a web-based wallet. And say Jack withdraws his 50 bitcoins from that web-based wallet and he gets my 50 bitcoins.

Jack now has 50 bitcoins that you can trace to a theft and are therefore tainted. But Jack has done nothing wrong and it doesn't do any good to be able to track his bitcoins because I, the bad guy, now have untainted bitcoins.

Tainted bitcoins actually refer to coins which have gone through suspecious transactions e.g. over dark web or those transactions which can be labeled as theft cases. Let's say a hacker hacks a web based wallets database and steals 100 bitcoins while traferring them to his wallet through a transaction of hash 'X'. Now this transaction has been labeled tained along with all the bitcoins associated with it.
Now what stealer does is that he moves these bitcoins from wallet to wallet or exchanges them to other coins i.e ether or xmr. This is what is called mixing or tumbling. There are very few secret exchanges here on clear web or dark web where these tainted bitcoins are sold for cash or even clean bitcoins/ether/xmr at a price lower than the actual rate. So the basic aim of these exchanges is to get hold of cleaner coins even if they have to sell tainted bitcoins at -10% or even up to -20%. This process eases the pain of mixing for them automatically.


How to download wallet from coinbase I got some newbie questions;

I bought some bitcoin on Coinbase.

I want to download the wallet, I'll probably put it on a USB then throw it in the safe. Could someone advise how I can download the wallet?

Once downloaded is it still also mirrored on coinbase?

I think you can't do that.. it's another type of wallet

https://community.coinbase.com/t/saving-all-bitcoins-on-usb-stick-so-they-are-safe-from-usg-confiscation/233/5 <-- there are some info as well..


Where can I find how much one XRP (Ripple unit) is worth? XRP are the units of the new Ripple.com system.

Where can I find how much they're worth right now? Historic charts?

Update 2: There are now more traditional price / volume charts:

BTC:Bitstamp/XRP at RippleCharts.com
USD:Bitstamp/XRP at RippleCharts.com

Update: Ripple Live Orderbook and Charts by webr3 provides various bitstamp style charts and orderbooks for various XRP/xxx pairs.

Update: The Ripple Ledger Explorer by melvster shows a graph of Ripple vs Bitcoin prices.  It also shows recent ledger activity.

Early on there was also a manually-updated list at:

Ripple: XRP Price Tracker

The discussion there had a nice example of what an order book snapshot from the ripple client looks like, with headers.

The #ripple-market irc channel at freenode.net also shows real-time trades via a "Streaming exchange feed for notable #ripple gateways" all trades.  You can see it via

freenode Web IRC

A trade example looks like this:

< ripplebot> TRD bitstamp 730.698114 @ 48,713.2076 BTC rwdLV79WzXmFuzP2cBwTG6mtXcfSnCjtoF #142

I assume that means that the price for that transaction was 48,713 XRD per BTC, and I'm guessing that 730 XRD were traded at that price via bitstamp, but I haven't seen good documentation yet.

Here is an example ASK report:

ASK bitstamp 347.152555 @ 41,854.251463 BTC rwdLV79WzXmFuzP2cBwTG6mtXcfSnCjtoF #143

The code for ripplebot can be found at

rippleFoundation/ripple-watch · GitHub

It will be worth different things to different people in different instances. There won't be any global price just like there isn't any global price for bitcoin. Multiple exchange rates exist on multiple exchanges. MtGox is just the biggest and thus often quoted. Some people are paying more some people are paying less than the MtGox rate. This creates opportunities for arbitrage.
This only accounts for other currencies and not for example how many gallons of gas a bitcoin is worth.


What's the rationale of using ECDSA instead of RSA? One major drawback of (EC)DSA is that it requires a good RNG, otherwise the private key may be accidentally exposed. This is also one of the major reasons (I found so far) why no(?) smartcard supports any kind of DSA. In contrast to that, RSA, while usually being used for encryption, can also be used for digital signatures and behaves deterministic, i.e. signing the same message again will yield the same signature everytime. Lacking the requirement of a RNG (other than in key generation) this is why RSA is available on many smartcards, which would make bitcoin much safer without requiring a rather complicated offline-wallet setup.

So, does ECDSA provide anything bitcoin absolutely needs that RSA cannot achieve? Or is it merely bad luck in Satoshi's choice?

I'm not sure why you think RSA is much safer than ECDSA. As you can read here: https://crypto.stackexchange.com/questions/3216/signatures-rsa-compared-to-ecdsa

ECDSA offers same levels of security as RSA, but with a much smaller footprint.

In fact, the more you increase the security, the larger the RSA keys become compared to ECDSA.  This makes RSA less fit for a system such as bitcoin which requires small packets to be sent around the network all the time (being peer-to-peer).

Now with vulnerability found in RSA it looks like a good choice… then in the past
https://crocs.fi.muni.cz/public/papers/rsa_ccs17 .
With Amazon AWS  (Intel E5-2650 v3@3GHz) you can crack 512bit RSA key proximately in 2 hours.


Copy wallet to Electrum or Multibit? Is there a way to import my wallet from Bitcoin.org's client into the much lighter Multibit or Electrum?  The disk space & bandwidth consumption (not exactly well presented to a beginner) quickly made it unfeasible on home computers.

Speaking as one of developers on MultiBit, it is not currently implemented at the time of writing (Dec 2011) but there are serious development efforts to consolidate the wallet file format to suit all major Bitcoin clients.

Expect to see this functionality in Q1 2012.

download bitcoin-tools(python wallet-reader)
export the privatekeys.
import them, at a wallet site blockchain.info
export json format private key
import json key from Multibit


Where to place Bitcoin bootstrap.dat I'm sure this has been asked many times before, but I've recently gotten into the whole cryptocurrency thing starting with Dogecoin, and I now want to use Bitcoin as well. I am on Windows 7. I found out the hard way that downloading the blockchain through bitcoin-qt takes forever, so I went to https://bitcoin.org/bin/blockchain/ and downloaded the torrent rather than waiting ages. I now have bootstrap.dat ready, but I don't know where to put it. I have two storage drives - a 120GB SSD and a 1TB hard drive. Because of the SSDs small size and the amount of small writes that bitcoin will do I opted to store the client and blockchain on my HDD. According to https://en.bitcoin.it/wiki/Data_directory I need to place the file at %appdata%\Bitcoin. Since appdata is located on the C drive, there is no bitcoin directory there. The rest of that article is for other operating systems.

Where should I place the bootstrap.dat file?

From what you said, I'm assuming you're using an option like this when you run Bitcoin Core (bitcoin-qt):

-datadir=D:\BitCoinData

(if not, you should do something like that to specify that the blockchain will be on your 1TB HDD; otherwise, it's only the small client, and not the large and oft-updated blockchain, that resides on your HDD)

In this example, you would move bootstrap.dat to D:\BitCoinData\bootstrap.dat. Move the file there while Bitcoin Core is turned off. Next time you start Bitcoin Core, it will verify and use this file to build its databases before synchronizing the remainder over the network.

Yes, confirmed - copy to C:\%userprofile%\Appdata\Bitcoin\

Relaunch the Bitcoin client. In bottom left, it will say "importing blocks from disk..."


Are price movements of Bitcoin and altcoins inversely coupled? It is said that when the value of Bitcoin rises altcoins lose value, or at least their price in BTC falls, and I would like to understand exactly why.

If I have spend $10 in BTC to buy BLK, and BLK doubles its BTC price, but in the meanwhile the BTC value rises 6%, too (in reference to USD), I have $10 * 2 * 1.06 = $21.20, so, there's no loss of value.

However, on yobit at least, there was altcoins which saw a generalized selling, and other altcoins that just saw a tiny activity. In other words, the market was mostly paralyzed or only selling. Why is that?

The idea that bitcoin rising leads to altcoins falling is an unproven hypothesis, it is something that traders have noticed, but due to the various flaws in human observation, we cannot say for certain it is true.

That said, there are several factors that could lead to this effect in the short term - but these are all speculative.

Traders are attracted to liquidity. Bitcoin has the most liquid leveraged markets of any crypto currency, or at least historically that has been the case.  While the relative swings of bitcoin are smaller than for altcoins, the use of leverage allows traders to create large profits off of those swings in highly liquid, leveraged environments. When bitcoin is climbing rapidly, traders might be incentivized to reduce altcoin positions in order to increase their available bitcoin capital for leveraged trading.
Arbitrage against US dollar. Many altcoins are traded against the US dollar as well as against bitcoin. Let's say ETH is $50 USD, and .05 BTC/unit, and bitcoin is $1000. Bitcoin suddenly spikes to $2000 - the standing order books for the BTC/ETH pair will still show a price of .05, but that .05 is now worth $100. An arbitrage trader can buy ETH on the USD market and sell it on the BTC market for a near-instant profit - this drives down the BTC value and drives up the USD value until equilibrium is reached.
Bandwagon effect. The idea has become axiomatic so when bitcoin spikes, traders may be psychologically primed to sell altcoins in response.

Note: in many situations these factors are overwhelmed by other market forces, and it is not entirely uncommon for altcoins to outpace bitcoin during sustained price increases - this is demonstrably the case for most of the early 2017 bull market.

when a new alt coin gets hyped, that you can only buy with bitcoin, people dump their money out of btc to it. yes they are linked in that sense. one goes up the other goes down. hello?


Why can't I get over 8 connections on my client? How do I make my client acquire more than 8 connections? What settings in firewall and operating system, or flags at execution do I need to use to allow it?

Typically connection counts of 10 or lower usually indicate that you are behind a router or firewall that is not configured properly. Try enabling UPnP from within the Bitcoin client's options dialog. If that doesn't work, try manually forwarding port 8333 to the computer which is running the Bitcoin client/daemon.

A)

  To disable the half-open TCP connections limit, set the value of the
     EnableConnectionRateLimiting DWORD registry entry to 0 (0x00000000).
     To do this, follow these steps:

 1.       Click Start, type regedit in the Start Search box, and then click
 regedit.exe in the Programs list. If you are prompted for an administrator
 password or for confirmation, type your password, or click Continue.

  Locate and then double-click the following registry key:

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
 \EnableConnectionRateLimiting

  In the Value data box, type 0, and then click OK.
  Exit Registry Editor.

 5.       Restart the computer.

B)   Open the command prompt and use the following opening switches, alternatively you could plug the switches into the properties of your exec. shortcut.

  bitcoin-qt -maxconnections=1000 -maxreceivebuffer=5000 -maxsendbuffer=128 -upnp=1 -seednode=69.246.237.30:8333 -seednode=66.103.14.157:8333 -seednode=47.221.170.251:8333 -seednode=207.172.126.186:8433 -seednode=68.99.179.170:8333 -seednode=52.54.198.224:8433 -seednode=73.252.200.173:8333 -seednode=96.249.247.157:8333 -seednode=47.147.194.182:8333 -seednode=98.206.255.202:8333 -seednode=70.62.132.134:9333 -seednode=107.189.36.4:8333 -seednode=35.198.150.233:8333 -seednode=100.8.165.86:8333 -seednode=100.11.81.93:8333 -seednode=72.224.101.65:8334 -seednode=136.61.154.117:8333 -seednode=34.225.107.142:8333 -seednode=70.181.115.20:8333 -seednode=47.88.33.248:8333 -seednode=54.175.243.122:8333 -seednode=107.23.184.33:8333 -seednode=54.183.187.249:8333 -seednode=13.56.168.64:8333 -seednode=54.183.216.238:8333 -seednode=47.88.76.190:8333 -seednode=54.215.248.143:8333 -seednode=47.88.32.206:8333 -seednode=47.88.78.14:8333 -seednode= -seednode=[2001:470:b3d5:1:641c:6bff:fe9d:bccf]:8333 -seednode=[2601:601:1380:395:c1a:622c:4dd5:363d]:8333 -seednode=[2601:240:d002:2979:69fc:f725:bdc:d8ec]:8333 -seednode=[2601:601:cf80:3e44:f34:2645:867d:f7f6]:8333 -seednode=[2601:441:4480:1618:1077:aa2c:2d9:b5e]:8333 -seednode=[2601:441:4480:1618:1077:aa2c:2d9:b5e]:8333 -seednode=2601:c0:c100:1880:21f:5bff:fe3c:6e84]:8333 -seednode=[2603:3024:181e:3200:ec4:7aff:fe6b:8826]:8333 -seednode=[2601:445:4380:3692:260a:64ff:fe92:15ed]:8333 -seednode=[2001:558:6024:8:45ab:91b9:1f6c:f673]:8333 -seednode=2601:241:301:3ca5:45ff:3590:18bb:abc3]:8333 -seednode=[2601:380:4102:abe0:c9b2:6874:d4aa:2dfc]:8333 -seednode=[2601:446:c200:3580:7161:8278:33fe:effa]:8333 -seednode=[2601:644:8600:4875:470:de72:7c3e:f326]:8333 -seednode=2601:6c3:8380:143c:134:2d28:b933:755d]:8333 -seednode=[2601:1c2:600:bb:ab55:7b10:9f49:c333]:8333 -seednode=[2603:3024:1890:0:88f7:b3ff:feda:18d5]:8333 -seednode=[2002:496d:6fc3:e472:604b:e70c:fe47:d969]:8333 -seednode=2601:408:8100:1480:8ccc:6d53:5a67:2f82]:8333 -seednode=[2601:408:8100:1480:8ccc:6d53:5a67:2f82]:8333 -seednode=[2601:40a:202:6ff0:7cb9:6352:19df:f2b6]:8333 -seednode=[2603:3022:501:7800:495c:728c:ed5d:5d75]:8333 -seednode=2601:152:4400:1d50:30d6:854e:d379:2be]:8333 -seednode=[2601:101:c100:cd69:cd5a:41e:ff56:cf5d]:8333 -seednode=[2601:646:8e80:3ff9:d250:99ff:fe83:a470]:8333 -seednode=[2002:c1c6:6623::c1c6:6623]:8333 -seednode=[2002:58de:961e::58de:961e]:8333 -seednode=[2a04:c000:ed51:917:68::1]:8333 -seednode=[2605:a601:a48:a900:3c1a:85a:1a1:120a]:8333 -seednode=[2001:470:1f12:1dd::2]:8333 -seednode=[2001:470:1f12:1dd::2]:8333 -seednode=[2001:19f0:ac01:3f7:5400:1ff:fe43:e94b]:8333 -seednode=[2604:e880:0:15:ec4:7aff:fe4a:40e1]:8333 -addnode=69.246.237.30:8333 -addnode=66.103.14.157:8333 -addnode=47.221.170.251:8333 -addnode=207.172.126.186:8433 -addnode=68.99.179.170:8333 -addnode=52.54.198.224:8433 -addnode=73.252.200.173:8333 -addnode=96.249.247.157:8333 -addnode=47.147.194.182:8333 -addnode=98.206.255.202:8333 -addnode=70.62.132.134:9333 -addnode=107.189.36.4:8333 -addnode=35.198.150.233:8333 -addnode=100.8.165.86:8333 -addnode=100.11.81.93:8333 -addnode=72.224.101.65:8334 -addnode=136.61.154.117:8333 -addnode=34.225.107.142:8333 -addnode=70.181.115.20:8333 -addnode=47.88.33.248:8333 -addnode=54.175.243.122:8333 -addnode=107.23.184.33:8333 -addnode=54.183.187.249:8333 -addnode=13.56.168.64:8333 -addnode=54.183.216.238:8333 -addnode=47.88.76.190:8333 -addnode=54.215.248.143:8333 -addnode=47.88.32.206:8333 -addnode=47.88.78.14:8333 -addnode= -addnode=[2001:470:b3d5:1:641c:6bff:fe9d:bccf]:8333 -addnode=2601:601:1380:395:c1a:622c:4dd5:363d]:8333 -addnode=[2601:240:d002:2979:69fc:f725:bdc:d8ec]:8333 -addnode=[2601:601:cf80:3e44:f34:2645:867d:f7f6]:8333 -addnode=[2601:441:4480:1618:1077:aa2c:2d9:b5e]:8333 -addnode=2601:441:4480:1618:1077:aa2c:2d9:b5e]:8333 -addnode=[2601:c0:c100:1880:21f:5bff:fe3c:6e84]:8333 -addnode=[2603:3024:181e:3200:ec4:7aff:fe6b:8826]:8333 -addnode=[2601:445:4380:3692:260a:64ff:fe92:15ed]:8333 -addnode=[2001:558:6024:8:45ab:91b9:1f6c:f673]:8333 -addnode=[2601:241:301:3ca5:45ff:3590:18bb:abc3]:8333 -addnode=[2601:380:4102:abe0:c9b2:6874:d4aa:2dfc]:8333 -addnode=[2601:446:c200:3580:7161:8278:33fe:effa]:8333 -addnode=2601:644:8600:4875:470:de72:7c3e:f326]:8333 -addnode=[2601:6c3:8380:143c:134:2d28:b933:755d]:8333 -addnode=[2601:1c2:600:bb:ab55:7b10:9f49:c333]:8333 -seednode=[2603:3024:1890:0:88f7:b3ff:feda:18d5]:8333 -addnode=2002:496d:6fc3:e472:604b:e70c:fe47:d969]:8333 -addnode=[2601:408:8100:1480:8ccc:6d53:5a67:2f82]:8333 -addnode=[2601:408:8100:1480:8ccc:6d53:5a67:2f82]:8333 -addnode=[2601:40a:202:6ff0:7cb9:6352:19df:f2b6]:8333 -addnode=2603:3022:501:7800:495c:728c:ed5d:5d75]:8333 -addnode=[2601:152:4400:1d50:30d6:854e:d379:2be]:8333 -addnode=[2601:101:c100:cd69:cd5a:41e:ff56:cf5d]:8333 -addnode=[2601:646:8e80:3ff9:d250:99ff:fe83:a470]:8333 -addnode=[2002:c1c6:6623::c1c6:6623]:8333 -addnode=[2002:58de:961e::58de:961e]:8333 -addnode=[2a04:c000:ed51:917:68::1]:8333 -addnode=[2605:a601:a48:a900:3c1a:85a:1a1:120a]:8333 -addnode=[2001:470:1f12:1dd::2]:8333 -addnode=[2001:470:1f12:1dd::2]:8333 -addnode=[2001:19f0:ac01:3f7:5400:1ff:fe43:e94b]:8333 -addnode=[2604:e880:0:15:ec4:7aff:fe4a:40e1]:8333


What can xxxCoin do to stop the impending 51% attack? Within the coming weeks both Namecoin and SolidCoin have been threatened with the same attack. What can be done by the users, pool operators and developers of these forks to either;

A. Minimise damage.

B. Stop it altogether.

There are two basic fronts on which they can defend, and they really do have to do both.

First, they need to increase their total hashing power. 51% of a very large number is much harder for an attacker to muster than 51% of a small number. Merged mining is probably the most realistic way for these currencies to accomplish this.

Second, they need to fix specific vulnerabilities in their difficulty adjusting algorithms. Some of these attacks requires less than 51% of the hashing power or do more damage than they should because of specific weaknesses in the difficulty-adjusting algorithm.

Alternative currencies are vulnerable to hash rate decrease attacks. To resist them, they've adjusted their difficulty algorithms so that difficulty can drop rapidly. Unfortunately, these algorithms have been found to have unexpected defects. Because strict timestamp accuracy can't be enforced, an attacker can maliciously inject false timestamps into mined blocks to cause the difficulty to drop very, very quickly. This allows a malicious group of coordinated miners to extract a very large number of coins in a very small period of time with relatively little hashing power.

Effort will be needed to fix these algorithms so that they still provide protection against a hash rate decrease attack but don't create even more serious new vulnerabilities.

It may well be a rocky road these next few weeks. The 51% attack is fundamental to the decentralized nature of these currencies -- the only solution is more hashing power. But the difficulty algorithm attack issues will likely be solved by fixing the algorithms.

There is nothing "stopping' any Bitcoin technology chain from being 51% attacked. It can happen at any time , and it will likely be completely unannounced, which is my own personal concern with it. Furthermore, since Bitcoin is heavily centralized around one major pool, and 2 other large ones, if those pools were ever hacked and pointed towards malicious intent then it could happen at very little cost.

SolidCoin was recently released with 51% protection, you can read more about it here. http://solidcoin.info/solidcoin-most-secure-currency.php

The 51% problem is something inherent in the design of a 100% no trust system like Bitcoin, it will never be overcome. So if you like that about Bitcoin technology chains then learning to live with 51% attacks is all you can do. You can try to limit it by securing more network power in the hands of so called "good" people, but that's a never ending game and one where you will likely be outspent by a large attacker (government or large corporations).


Getting an online Litecoin wallet I want a litecoin wallet to store the litecoins that I am going to buy with my bank account. I wanted to use ltc-wallet.com but when I try to go the site, it doesn't load. Also, when I went to sign up for btc-e I find many, many, MANY sites that say that Btc-e is a scam. Finally I found coinbase.com ...which also came with a plethora of horror stories. Is there a LEGITIMATE site that I could use in order to store my litecoins?

It's been reported that ltc wallet is DOWN and people have been scammed. Unfortunately there isn't a reputable online ltc wallet at the moment that I'd trust with a 10 foot pole. The ones that have come are just as quickly gone run by fly by night scammers. You're best off encrypting your wallet with a very secure password and making multiple copies of your wallet file that you store in remote, secure locations if you want to protect yourself from loss should your drive ever die on you.

The other option would be to start an account at an exchange that trades in litecoin and use it as your online wallet. Just be sure to use a well established exchange, of which I'm only aware of btc-e.com

You can use the newly launched https://www.coinwallet.co for Litecoin


Does encoding Namecoin/messages into the blockchain bloat it? I read today twice concerns about inflating the blockchain:

NameCoin
Bitcoin Message Service

So, does using these services "over inflate" the blockchain? The way I see it, if another protocl rides on top of Bitcoin but obeys by its rules and pay all the proper transaction fees / mining time, then it's "legit". My question is how can such a "legit" protocol inflate the blockchain more than a regular miner would?

Does it introduce spurious transactions? If this actually became a problem, wouldn't increasing the minimal transaction fee solve it?

NameCoin merged mining adds no more than 49 bytes to the size of the block.  Namecoin messages aren't stored in the bitcoin block chain, instead the hash of the most recent namecoin block is stored in the Bitcoin block providing continuity between a potential hash and the Namecoin block chain.

So yes it technically does "bloat" the Bitcoin blockchain but it current is ~4% and that percentage will decline as transaction volume increases, as that fixed 49 bytes is measured against increasingly larger blocks.

As for "how" can it be done.  The coinbase transaction (which transfers rewards and fees to miner's address) contains a field called coinbase.  Without merged mining this field is used to generate entropy for hashing process (extra nonce) which alters the block header each time it is changed.  Allowing a miner to try nearly infinite number of hashes.

This field is not used by the blockchain for anything other than entropy so adding namecoin hash to the field doesn't collide with any Bitcoin transaction.  Once a block is signed the field is never used for anything other than verifying the block valid (by verifying the hash is correct and is smaller than required target).

Of course you can simply encode a message as the amount of bitcoins sent in a transaction. And like any transaction, a transaction increases the size of the blockchain. Could that bloat, that is could it add a significant amount of "undesired" data to the blockchain? You can bloat it up to a point where the "value" of your message is smaller than or equal to the transaction fee (including the "value" a disruption of Bitcoin itself might have to you).

If this results in an increase of the size of the blockchain faster than hardware vendors (hard disks, CPU, internet bandwidth, ...) can keep up with then the transaction fees will increase, too. Whether at this point "normal" transactions have become unfeasible - I don't know. I guess that comes down to the question how scalable the Bitcoin protocol is and will be.


Why all blocks at Blockchain are relayed by Unknown now? only last week I could study which mining pool signed latest blocks.
Today this option turned status to Unknown

https://blockchain.info/

Any idea?

(formatted table)

Height  Age     Transactions    Total Sent  Relayed By  Size (kB)   Weight (kWU)
491728  31 minutes  352     196.23 BTC  Unknown     1,002.67    3,992.19
491727  31 minutes  266     920.01 BTC  Unknown     134.31  515.14
491726  33 minutes  1447    2,900.32 BTC    Unknown     1,017.02    3,996.92
491725  39 minutes  290     822.51 BTC  Unknown     132.29  494.91

There was an update to the site that changed its behavior to no longer properly identify who relayed blocks.

Until they fix the issue, you can use other blockexplorers to find the information.

Given your stated usecase, I suggest you look at http://coin.dance/blocks

Issue seems to be fixed.
Blockchain back in order, blocks relayed by real names of mining pools.
Thank you Blockchain

Height  Age     Transactions    Total Sent  Relayed By  Size (kB)   Weight (kWU)

492019  1 hour 4 minutes    2628    18,615.76 BTC   ViaBTC  1,035.85    3,992.75
492018  1 hour 7 minutes    2662    19,214.10 BTC   BitFury     1,036.1     3,992.5
492017  1 hour 11 minutes   2856    4,369.50 BTC    ViaBTC  1,038.23    3,992.72
492016  1 hour 13 minutes   2815    6,719.06 BTC    AntPool     999.17  3,728.27


Probability an honest node finds the next block vs. probability the attacker finds the next block I am trying to understand Satoshi's paper [1]. On page 6 of the paper, he calculates the probability that someone can attack the blockchain from z blocks behind. He begins by defining:

My question: The mining of a block i.e., solving the hash puzzle is a completely brute-force trial-and-error process in which one keeps trying a random nonce until one gets a hit. No one has an upper hand in this process. So shouldn't p and q be equal to each other?

EDIT: since comment would have been very long. Responding to the comments, in that case it gets even worse. q can be greater than p. Let the Bitcoin network be composed of M mining pools with their compute power be given by p_i. Then all an attacker needs to do is to form a pool whose compute power is greater than max(p_i). Am I missing something? In other words, the pool with max compute power can attack the blockchain already.

In an ideal design, if I want to attack the blockchain, I should be pitted against the sum of p_i not the max of p_i.

No one has an upper hand in this process. So shouldn't p and q be equal to each other?

The chances of finding a valid block header that meets the target requirement increases proportionally to the number of tries. This means that it is proportional to the hash power that you have. Even if there are two miners, one could be using a huge datacenter (the size of United States), while the other might be mining on his 10 year old laptop. Their hash power would not be the same, and hence p and q will also not be equal to one another. Hash rate is the metric to be used to find out the probability of a miner finding the next block.

  Then all an attacker needs to do is to form a pool whose compute power is greater than max(p_i). Am I missing something? In other words, the pool with max compute power can attack the blockchain already.

What you are describing is a 51% attack. With the current hashrate of the Bitcoin network, it would require HUGE investments (billions of dollars) from the entity who is planning to do such attacks. At that investment level, the economic incentive to launch such attacks may be tiny, unless it's a state actor who is trying to annihilate the confidence of the network. Even if a fraudulent miner amasses >50% of the hash rate of the network, full nodes MAY try to patch themselves to reject such blocks (for example: if that attacker tries to broadcast a longest chain that is > 6 blocks different than the original chain, to prevent double spends).

The reason p and q are not equal is because the attacker is indeed pitted against the cumulative power of the entire network vs. being pitted against one miner.

If there was just one miner to compete with, then both the attacker and miner would have equal chances of finding the next block and p is indeed equal to q in that case (assuming identical hardware and hashing power). But when there are n miners, each of them working independently, then the chances that one of them finds the next block increase dramatically. The rate factor becomes $n \lambda$ instead of just $\lambda$. See https://en.wikipedia.org/wiki/Exponential_distribution#Distribution_of_the_minimum_of_exponential_random_variables and so now p/q=n.

Another way to get above result is to recognize that mining a block is like winning a lottery where everyone has equal chances (again assuming identical compute power). So if there are n miners plus 1 attacker, then p/q=n

Bitcoin is pure genius.


How do I reverse an unconfirmed transaction to the original wallet Is there an easy to understand step by step guide I can execute to create a double spend and get the unconfirmed transaction reversed back into the original wallet so I can resend it with a higher fee and get it delivered?

Is there an easy to understand step by step guide

No. There is no easy to understand guide if you do not understand the underlying  processes.

  I can execute to create a double spend and get the unconfirmed
  transaction reversed back into the original wallet

The transactions can not be "reversed back" and are not going "to/from the wallet".

  so I can resend it with a higher fee and get it delivered?

The doublespending transaction is the transaction which uses the same input set, but has another outputs/fees. You do not need to do two steps (a) reverse original transaction (b) send another transaction with higher fees, because this is one step.

As far as I know, some wallets contain Replace-By-Fee features, but I use my own program. It is not "easy-to-understand", but it works

No. That type of double-spend will produce a conflict and will get your node DoS banned assuming that you've already broadcasted an earlier transaction that spent the UTXOs.

Unfortunately, you will not be able to use RBF to doublespend.


How To Send Cash To BTC-e, Crypto-Trade I have bee scouring on how to fund accounts in captioned exchanges from the US-preferably with a credit card or even paypal where possible, I suppose no online sites would do ACH confirmations type transactions. I have noticed some of online sites don't want to deal with us on this side of the pond. What ways are some you using to fund your accounts?

Most exchanges which support USD exchange will be funded via international wire. Depending on your bank these charges can be between 10-50USD.

If your transferring from a different currency the rate given on conversion is better than if you were to purchase USD in cash from your high street but lower than spot on forex markets.

ACH / domestic transfers will come when domestic (to you) exchanges build more solid relationships with banks when more regulation comes in place.

Trading with locally on places like localbitcoins is the best bet if the percentage in fees is larger than 5% of the amount you plan to buy. This is a good rule of thumb.

Don't send cash to BTC-e.com. They're horrible and are having serious issues with fiat transfers. I recommend only moving coins in and out of btc-e.com.

My personal favorite is using localbitcoins.com to buy coins in cash. Send those bitcoins to your btc-e.com and trade away! In the past, I have also used Dwolla/MtGox as a way of transfering fiat from my US bank account into bitcoins. Good luck!


BFGminer running on GPU on Windows 7 I can't get the BFGminer to work on my Windows 7 machine. I've followed the instructions on https://www.btcguild.com/index.php?page=support. But when ever I run bfgminer.exe I get the following message at the top:

Waiting for devices; press 'M+' to add, or 'Q' to quit

I want to use my GPU, as I don't have any FPGA or ASIC devices yet. Can anyone help out?

You can try to "auto-manually" add your GPUs to bfgminer by pressing M then + and then typing auto, or you can use the -S opencl:auto option when launching bfgminer.

NOTE: Not all graphics cards are compatible; various software is required (e.g., AMD APP sdk); it is not recommended to use GPUs for bitcoin mining with bfgminer.

According to README.GPU, the official documentation for bfgminer on github:

  By default, BFGMiner will NOT mine on any GPUs unless in scrypt mode. If you
  wish to use your GPU to mine SHA256d (generally not a good idea), you can
  explicitly enable it with the -S opencl:auto option.

To start scrypt mining with bfgminer and GPUs, use the --scrypt and -S opencl:auto options, but keep in mind that there are several other parameters to consider. See README.scrypt for additional details about scrypt mining configuration and optimization with GPUs.

Throw a batchfile in the directory of your bfgminer with this:

start cmd /k bfgminer -S opencl:auto


What would happen to the Bitcoin network if all ISP's collectively block port 8333 at once? Will nodes still be able to find each other using today's official Bitcoin client?

The core developers could decide on a new port then get the word out that everyone should start using that port.  It's a very easy change in the bitcoin.conf file.  Mining pools, online wallets like blockchain.info and Coinbase, and "light" wallet providers like Electrum could lead the way.  (For example, once blockchain.info made the port change on their server, all their users would automatically have service again).  I think it would recover quite quickly.

The new port could also be shut down but it would turn into a game of "whack-a-mole".  The developers would probably come out with a new release that used some kind of strategy to dynamically search for a port to use to solve the whack-a-mole problem.

Alternatively, there is no reason they could not just switch to using port 80 for bitcoin.  The main disadvantage is it would make it a bit more complicated to run a web server and bitcoin node on the same machine.

Now that I think about it, it wouldn't be possible for all the ISP's to shut down a common port at the same time unless the timing was synchronized perfectly. Now that doesn't mean they couldn't do it, just it would be nearly impossible for them to sync all at the same time. Consider an honest party whom is nanoseconds away from completing a block the very moment that every single ISP decides to block the port. Say there exists a party that has a really high latency and they get the very last bitcoin 100ms after the shutdown. Now they are only 10ms away from another party whom was mining with a 50ms latency. Could a bad transaction occur within those remaining milliseconds if one party decided to buy / sell? If the entire world stopped mining bitcoins at once and you had an extra 100ms of mining would those 150ms directly scale and create a drastic increase in the price while still leaving you time to sell? What if you decided to buy all the bitcoins from people who had higher latencies at a discounted price because they didn't receive the market data fast enough?

In all honesty, there are so many different things that could happen economically wise as well. Under those given scenarios, I believe it would be possible for one party to benefit greatly due to the lapse in the latency. Each party would stop mining at different intervals, it would be impossible for the ISP's to attempt to stop every party at the same time due to them not being able to stop a packet once it's sent. It's a very interesting scenario to think about though as to how one might exploit the latency differences.

As far as a solution to the problem one might consider an alternative port. Consider
a different method of linking the transactions (0, 1,... to n) to use two autossh tunnels: one through port 22 and the other through port 2222. If the ISP's block these ports, well... then it wouldn't exactly be possible for them to ssh into the server in the first place. In regards to the potential leakage of the clients public key by switching to the ssh ports, one might suggest a fully homomorphic Encryption scheme such as the one used with popular secure email client Lavabit. (recently shut down by the NSA for being too secure) Thats just my two cents.

Nonetheless Homomorphic encryption would secure a users public key as required by the bitcoin protocol if we switched to ports 22 and 222:

http://en.wikipedia.org/wiki/Homomorphic_encryption#Fully_homomorphic_encryption


Are there any online services available to exchange prepaid cards into BTC? I live in the USA.
I would like to use prepaid cards to buy some BTC (less than $100USD)
I've tried trucoin.com and the wait time is enormous, 4 days since sign up and still haven't received an invite.

I've also tried circle.com but they do not currently accept prepaid options.

What other options does a prepaid card user have?

You can buy a Target or Walmart gift card and trade it for Bitcoin in https://cardforcoin.com/

Besides using something like http://localbitcoins.com, you can try https://purse.io/ and buy stuff for people on amazon with your card and get bitcoins back.


Why would I trust a cryptocurrency that allow only 3 transactions/s? I noticed that the recent blocks usually includes about 2k transactions with is almost the upper limit (max. 1 MB per block). From this I can see that bitcoin would never allow more than 2000 / 10 * 60 = 3.5 transactions per second which is far below other money services such as PayPal or any credit card company.

Because the 1 Mb limit is already reached in most blocks (in 2017), I can conclude the bitcoin ecosystem is already fully saturated in terms of transactions per minutes so it cannot expand further more.

Why should I trust bitcoins and invest my money on it with such considerations? Lots of people believe in bitcoins and put their money on it despite what I mentioned above.

I know bitcoin is a living ecosystem and the question of increasing the block size to 10 Mb has already emerged. Unfortunately performing any change to such fundamental build block of the system would have an enormous impact on its economy so may be never accepted by the community to make any change to the core code.

You are equating the value of a currency with the performance of just one way to exchange that currency. There are poor ways to exchange dollars as well.

Also, I'm not sure what you mean by "invest in such service". You can invest in bitcoin-related businesses and you can invest in bitcoin, the currency. But I don't see how you can invest in the bitcoin generation and transfer service provided by the blockchain.

The number of transaction per sec. is not relevant as they are scaling solutions in the works (lightning, sidechains, etc.)

There are many reasons there is a 1MB limit, one of them is to allow miners to earn a return on their investment by creating a market for fees. This means if you want your transaction in the blockchain you gotta pay a fee.

Bitcoin can be scaled to many transactions per second through clever add-ons, it does not have to be done by increasing the block size per se.

Do you think that 10% of the population would invest $1000 each in bitcoin?
If you think that this scenario is possible, then the price can climb much higher (around $35K per bitcoin)

As per the question in your title about trust, the smat-a$$ answer is that bitcoin is trustless :)


Is there an updated accurate list of retailers who accept Bitcoin from Canadians? I'm new to Bitcoin and I wanted to know which retailers/hotels would accept Bitcoin as a form of payment from Canadians. If a site accepts Bitcoin as a form of payment does that mean they accept it from every country or just specific countries though they might accept credit card as a form from every country.

You're asking 2 questions here..

1) list of retailers/hotels: try this site https://spendbitcoins.ca/

2) bitcoin is borderless. if they accept it, they accept it. now that's not to say a geo-located website might accept btc on their american (.com) site but not the british version (.co.uk), as overstock do. but that's a business decision, not a property of crypto currencies. think of it this way: if a business accepts it, they have a wallet address you can send money to, as long as you have a wallet too. doesn't matter where in the world you are. kind of like email.

LAMASSU BTM's are everywhere. Watch out though, because they charge at least 5% on all transactions.


What are some good online Bitcoin wallets based on client-side security? I just found Bitventory, which seems to be an online wallet service that requires a minimal amount of trust (it's the major design goal, at least).

Are there other services with similar goals or functionality?

Yes there is such a service which provides exactly what your looking for it is called StrongCoin

Lumi Wallet is a client-side HD secure wallet for BTC, ETH and a load of ERC20 token.
it also has 2FA (strangely, many decent wallets doesn't have this)


Bitcoin-Qt setup: Change block-chain file location, settings? documentation? I am installing Bitcoin-Qt and have been reading about Bitcoin basics, but I found very little information on the client. I have a few questions about the Bitcoin-Qt program (v0.8.1-beta under Windows 7),

Where is the complete Bitcoin-Qt documentation? I can not find it.
How do I change the file locations for the block-chain storage?

Block chain is ~6 GB
The default appears to be MyDocuments\AppData\Roaming\
My C: system drive is small, and I have a second drive for such data.

Is the "Wallet" a separate file/entity from the block-chain?

How do I define the wallet's location?
Can I backup the wallet by simple copy/paste/tar.gz without carrying the entire block-chain?

Does the Bitcoin-Qt client currently have built-in mining/transaction-processing? I do not see the dialog-box to configure. I have a graphics card and ample wasted CPU-cycles.

Thanks for clarification. Links to proper documentation are welcome!

Here:

https://en.bitcoin.it/wiki/Bitcoin-Qt
https://www.google.com/search?q=bitcoin-qt+documentation

Use the -datadir option.
Right-click on your bitcoin-qt shortcut, press properties, and add -datadir=D:\Bitcoin
Go make that directory, then run bitcoin. If a bunch of files show up in there, you've done it correctly.
Yep.

-datadir
File > Backup Wallet

Yes, but not GPU mining. GUI miner is a nice option though.

That didn't quite work at first for me because some linux distros don't seem to like creating a symbolic link named “.bitcoin”.

I created a symbolic link named “test” in my home directory and then renamed that to “.bitcoin”

Using bitcoin-qt in Xubuntu12.04, this did not work:

ln -s /new/path/to/.bitcoin .bitcoin

Did work:

exited bitcoin-qt
moved “.bitcoin” to another partition
created a valid symbolic link to there named “test”

ln -s /new/path/to/.bitcoin test

renamed “test” to “.bitcoin”


App for managing multiple crypto portfolios I know I can use Blockfolio to manage/monitor multiple crypto-currencies. However I'm starting to feel the need to subdivide them by the type of asset (different risk classes, price points etc).

I have however been unable to find an app that allows me to create multiple portfolios. I really like Blockfolio in every other way though.

Any ideas?

Just clone your blockfolio app with appcloner
https://steemit.com/cryptocurrency/@tektao.tips/blockfolio-a-trick-to-manage-multiple-portfolios-on-android

Currently I'm using vertfolio https://vertfolio.com, it’s new but simple and easy to use. You can filter by labels ( portfolio )


Are bitcoins really immune to inflation? I see people everywhere saying that bitcoins are immune to inflation but nobody has explained it adequately to me. I understand why bitcoins would be more or less immune to inflation cause in increased money supply - because there's a fixed money supply forever. But what about hyper-inflation caused by confidence crisis?

Any currency have worth if people are willing to accept it. And how much would a bitcoin be worth is exactly how much goods would people accept to trade for one unit of bitcoin. If for any reason people start to think that bitcoins are worthless, its buying power will diminish and you will have inflation! I don't see how this can be avoided.

Is there something I'm not seeing? Where's the catch? Why are bitcoins  immune to inflation?

Specifically, bitcoins are immune to M0/MB inflation, meaning that the money supply itself does not inflate, except at the very beginning (which we're still in) while the original 21 million BTC get distributed via the mining process. Once 21 million coins exist, they become deflationary since no new coins are issued and, as naturally occurs, money falls out of circulation as wallets are lost.

Bitcoin could still suffer the kinds of inflation most currencies see in M1/M2/M3/MZM such as fractional-reserve banking, but the idea of a publicly published block chain is that at any moment it should be trivial to audit a bank and ensure their deposits are correctly recorded. Essentially, any institution practicing fractional reserve banking should be much easier to spot and those who dislike such practices can more easily walk away from them. There are complications to this model, but that's the ideal anyway.

No, they are not.

Like others have mentioned, prices can increase in size, even if the total amount of Bitcoins that will be created is limited. The main problem is that there are other currencies.

In spite what others have mentioned, the limit of 21 million Bitcoins can be eliminated. In fact there are people who support the idea already.


Where to find P2pool networks.py settings for altcoins? Is there a forum post or website where all the altcoin networks.py settings are being shared? I can see the P2pool forks on Github where people commit their own networks.py settings back to their own repository but none are being merged back into the original forrestv/p2pool repository. For now, I am specifically searching for the Digibyte altcoin but would like to add the other altcoins later on as well.

I am talking about this part:

    litecoin=math.Object(
    PARENT=networks.nets['litecoin'],
    SHARE_PERIOD=15, # seconds
    CHAIN_LENGTH=24*60*60//10, # shares
    REAL_CHAIN_LENGTH=24*60*60//10, # shares
    TARGET_LOOKBEHIND=200, # shares
    SPREAD=3, # blocks
    IDENTIFIER='e037d5b8c6923410'.decode('hex'),
    PREFIX='7208c1a53ef629b0'.decode('hex'),
    P2P_PORT=9 338,
    MIN_TARGET=0,
    MAX_TARGET=2**256//2**20 - 1,
    PERSIST=True,
    WORKER_PORT=9327,
    BOOTSTRAP_ADDRS='...'.split(' '),
    ANNOUNCE_CHANNEL='#p2pool-ltc',
    VERSION_CHECK=lambda v: True,
    VERSION_WARNING=lambda v: 'Upgrade Litecoin to >=0.8.5.1!' if v < 80501 else None,
),

And if none are being shared publicly, how do I edit the settings myself for the different altcoins?

You can download this fork https://github.com/Rav3nPL/p2pool-rav It has a lot of altcoins on it.

Got the answer and posted it here:

https://bitcointalk.org/index.php?topic=214512.msg4998082#msg4998082


How to store Bitcoin values in a MySQL database? floats are bad.... right? What should I be using to store the values of a wallet in a MySQL database?

Apparently floats are too imprecise to be storing Bitcoins, especially down to the satoshi.

So what should I be using? Decimal ?

What you want is a MySQL Decimal field.

Specifically you want a DECIMAL(16,8)

That will give you 8 digits before the decimal and 8 after the decimal

See http://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-changes.html for details.

a float natively only goes up to 7 decimals in most cases. if you just roll with decimal you'll be safe. When you round a 7 digit number to 8 decimal places you'll run into rounding issues.


Timed Out Payment Still Unconfirmed After 2 Days? On Friday night I tried making a payment of 0.08244000 BTC to a website for some things I had bought, the website used CoinPayments.net for their BTC payments.

I had never used BTC to buy things online before and therefore I didn't realise that I needed to pay miners tax (rookie mistake, I know) and it's now been 2 days and the payment has timed out but is still unconfirmed which means I can't get a refund for my coins.

Can anyone help me out?

Can anyone help me out?

nobody can help you. bitcoin is decentralized and no one is responsible for anything.

live with it and try to spend the rest of your life with a principle that first is learning and the second is using something.


Receiving donation on a bitcoin address and security issues of reusing the same address I am running a blog and would like to receive donations from my followers. So I thought to add a bitcoin address on my "Support me"-page!

But on bitcoin.it, it is recommended to never reuse addresses, which is supported by citing not only Privacy concerns (not my concern here) but especially for security reasons.

So:

Is it safe to use (and thus reuse) the same address for all my donations?
If not, what are the best practices?

For a blog that only receives occasional small amounts you probably shouldn't worry too much about it.  However, if you plan to scale up, here are some things to consider:

One issue with using the same address for all transactions is that people can see the total amount received by that address and know how many bitcoins you have.  If the total is large enough, this might make you a target for attack, especially if you publish personal information along with the bitcoin address.

Another potential issue is that people can see who else is donating to you.  They only see the bitcoin addresses used, but this might be enough to draw some conclusions about who they are.

Best practice is to use new addresses for each donation.  This way there is no link among the transactions except in your wallet, which is only accessible by you.

If you plan to keep bitcoins (instead of just receiving them and cashing them in), you should look into creating an offline wallet.  You could generate a new address for each web page view, and then transfer funds from each of the addresses that received a donation to a different pre-computed offline wallet address.

The main security risk is that the elliptical curve might get broken in which case reusing addresses will become unsafe. You can use armory to make new addresses every time if this is a big concern.


Importing private keys creates different address How does importing private keys work?

I have previously imported the private key for a 1Archive... address into Bitcoin Core and noted then it added an address like 1AXbRq...  and I didn't follow it up further.

Today I have exported the private key for a 3... address from Bitcoin Core and imported it in Electrum. Electrum adds a 1... address and doesn't see any of the transactions.

How does this work? I understand that there is an underlying 1... address behind a SegWit address but how would I spend any BTC if it is not showing in my wallet balance? What else should I do?

If there is an answered question for this already on Bitcoin.SE I could not find it.

My private key begins with L.

Prepend "p2wpkh-p2sh:" to the private key before importing it into Electrum. For example:

p2wpkh-p2sh:5Kkzs8XrJNAmf9VQDFeGBfaRvSByAvPK6DbDXw5BVqswWaXSG2Y

"I have previously imported the private key for a 1Archive... address into Bitcoin Core and noted then it added an address like 1AXbRq... and I didn't follow it up further."

First of all, I won't be answering the first question. It just sounds weird, and 99% it's caused by a mistake.

  How does this work? I understand that there is an underlying 1... address behind a SegWit address but how would I spend any BTC if it is not showing in my wallet balance? What else should I do?

Here's how importing a P2PKH address works:

WIF result is affected by three parameters: Privkey type (a byte for BTC private keys), the private key (that also contains which y coordinate the pubkey has, if we want the compressed pubkey), and an extra 0x01 byte if we want the compressed pubkey. There's only one public key that can be generated using that WIF.

Here's how importing a P2SH address works:

1) Dump the WIF of the P2SH address

2) Import the WIF

3) Make a transaction, and watch how your wallet or Bitcoin Core doesn't recognize the transaction.

It won't recognize the transaction, because there's infinite number of P2SH addresses one can create using the WIF (Note: script has a size limit, so it's not infinite)!

To inform your wallet about your P2SH address, you should also import the script. And, this is not supported by 99.9% of the wallets. (However, the wallets can import Witness addresses, as they're standardized and widely used) That's why Electrum doesn't see your P2WPKH address, if you don't tell it to use the Witness address.


How to generate a Litecoin Private key and correspondent Public Address in C# I found this C# tool to generate addresses for Bitcoin (compressed and uncompressed):

https://en.bitcoin.it/wiki/Bitcoin_Address_Utility

https://github.com/casascius/Bitcoin-Address-Utility

It works perfectly for Bitcoin, but for Litecoin it seems not to work.

Any ideas how to use similar code to generate Litecoin Addresses?

Thanks

That's odd, since BAU's docs say that they ought to work with Litecoin. In the drop-down menu that selects the coin type, have you selected Litecoin?

Alternately, if you're willing to run an RPC node, you could use BitcoinLib, and call CoinService.GetNewAddress(String).

Generally, it's exactly the same as generating Bitcoin addresses, except that the version byte is 48 instead of 0.

Bitcoin and Litecoin have different inner workings, so many of their parts shouldn't be interchangeable.

A short answer to your question could be: do you know C++ ? In this case, you could take a look at the parts of the reference implementation of Litecoin where the addresses are generated, and adapt it to C#.

Another answer would be to find an alternative library, independent of Litecoin reference implementation. One such implementation seems to be Litecoin-PHP-Library, that is a heavily commented PHP code, where you can find answers to your questions. Good luck.


BFGMiner for Debian Wheezy Is it possible to install BFGMiner on Debian Wheezy?

I have been looking for a solution but I can't find one.

Download the bfgminer source code, extract the source, change directory into it.

Then:

$ dpkg-buildpackage -uc -us -rfakeroot

And it'll build a package you can install on Debian Wheezy. You will need to install "dpkg-dev" for dpkg-buildpackage and all the build dependencies, which you'll find out by running the dpkb-buildpackage command.

you have to patch it first before building the package;

patch -p1 < debian/patches/bfgminer-bitforce.diff


Sharing the lightning-rpc socket I'm using user "lightning" to start the daemon, but would like to have user "bitcoin" to make the lightning-cli calls. How do I share the lightning-rpc file to do so?

Thanks!
Francois

Have the users share a group, and write a wrapper it even a plugin to change the group and permissions on the rpc file. That's the normal Unix way...

Just give everyone to read bitcoin directory and rw RPC file:

chmod a+rx .lightning/bitcoin/
chmod a+rw .lightning/bitcoin/lightning-rpc


Can there be a blockchain without mining? This is a question about Blockchain in general, not about Bitcoin as a currency on top of Blockchain technology.

Let's say I want to issue a vote on top of, lets say, multichain. I would issue an asset called "voting_right". Let's say I have 1000 participants, so I create 1000 voting rights and send each participant address one voting right. Everyone can either transfer their vote to somebody else or directly to a vote option.

I don't have given anyone mining permissions, because I don't want anyone to "illegally" earn voting rights. On the other side, I require miners to collect the votes into blocks and prevent double-voting.

Can there be a Blockchain without miners?
If no, what I am assuming, is there any danger if I, let's say create two mining-enabled multichain nodes (with 0 reward), 100% controlled by me? How can others trust me?

I don't know anything about Multichain so I'm not sure if this is the answer you're looking for, but here's one answer that might help you.

The interesting thing about proof-of-work (Nakamoto) blockchains is that they enable a constantly-changing set of unknown nodes on the internet to achieve consensus under certain assumptions about the adversary (i.e., the good guys are more "powerful" than the bad guys).

Before Bitcoin, no one knew how to do this (AFAIK) and all consensus algorithms required that the participants were known and that 2/3 of them were honest. Typically, an admission control process was used to decide who could participate and who couldn't. This was, for the most part, a human process.

Now, blockchains solve this very hard problem of permissionless consensus: How can you agree on a log of operations among N participants as they leave and join the system, without an admission control process? The answer: Use a little bit of economics to incentivize participants to behave correctly, no matter who they are (i.e., Bitcoin).

Now, with this understanding of the hard problem Nakamoto blockchains solve, you can image that a system such as the one you propose (if I understand it correctly), where users have to trust you to correctly dictate consensus, is not that interesting nor useful. It is well known how to achieve consensus with trust: just use any Byzantine agreement protocol and keep 2/3 of your nodes honest.

I am not sure if I properly understood your question and your system, so I hope this answer is not completely useless to you.

Mining is still a murky concept to me. Mining, as I understand it, is used to verify and secure unconfirmed transactions. Based on what I've read, for Bitcoin it seems to mean that when a transaction occurs it is unconfirmed until a new block is verified. My assumption has always been that the block is not "written" until both unconfirmed transactions are in the queue AND a block has been "mined" with a bundle of unconfirmed transactions.

If “mining” sounds like a process which extracts value from Bitcoin, nothing could be further from the truth!

Miners are the backbone of the Bitcoin network:

Without miners, the network would collapse and lose all value.

The role of miners is to secure the network and to process every Bitcoin transaction.

Miners achieve this by solving a computational problem which allows them to chain together blocks of transactions (hence Bitcoin’s famous “blockchain”).