Why can't I use Electrum seed to recover my wallet on Trezor and Blockchain.info? I wanted to use my BCH after the hard fork so I was going to import my wallet on Trezor or Blockchain.info since they support BCH (Electrum doesn't support BCH AFAIK) but it seems both Trezor and Blockchain.info can't recover seed generated from Electrum. Am I missing something ?

Electrum uses a custom mnemonic format so yes Electrum wallets cannot be restored in any other wallet using the seed mnemonic. Instead I suggest installing and running electron cash to get access to your BCH straight away. It's a fork of electrum for bitcoin cash and by default it imports all your electrum wallets automatically. The official site is https://electroncash.org/


Bitcoins never showed up in wallet. Yet sender says transfer complete I've used a site called bit trade australia to buy and send bitcoins to a wallet on blockchain.info. Successfully three times this month, trusted too.

Yet this time (after receiving an email from BTA, "your coins have been transferred" like normal) there is zero proof on blockchain.info of this happening. My wallet hasn't changed. No bitcoins. It's been 13 hours since that email. And I assure you, this has never happend to me before.

Any ideas? Thank you, Regards.

This should be easy to prove or disprove using any block chain explorer.  Ask the sender to send you the transaction hash for the transaction where the coins were supposedly sent to you.  Then, do a search for this transaction hash using any block chain explorer (such as blockchain.info).  If a transaction is found for the hash, with your bitcoin address and the amount that you expected as one of the outputs, then this confirms that the sender did indeed make the payment to you.  Otherwise, the sender can't support their claim.

If they are using an intermediary with poor performance it could could just be sitting in a queue somewhere.


multibit - my wallet is not reopening the guidebook says that "when you open MultiBit, the wallets that were open in the previous use of MultiBit are reopened", but I've stored some money in a wallet that I created in a USB key. Now I am opening again multibit and I can't see this wallet. The .wallet and .info files are in the flash and I know its address so the problem is, how to do in order to see the wallet in multibit again? there is not an explanation of it in this short guidebook. Thanks for your help.

You can use the "File | Open" menu option to open an existing wallet.
A file chooser opens and you can navigate to where your wallet is stored to open it.

Note that in the older code (v0.4.23 and before) your wallet does not automatically resync when you open it. You have to do this manually with a 'Tools | Reset blockchain and transactions'.

The current version (v0.5.9 or later) automatically resyncs wallets when you open them.

I think if you want it to use the info you musttransfer the wallet files especially the Wallet.dat files to your appdata folder on the C drive as the default loading folder is the appdata folder, uhnless you tell it to open the file from the flash disk or right click on it in the flash drive and tell multibit to open it the multibit will always look in the c drive in your appdata folder for the files it uses.


Reward schedule and maximum number of dogecoins? According to Dogecoin's bitcointalk-thread there will be a maximum of 100 billion dogecoins. Yet, just below that figure is stated that the reward schedule offers a reward of up to 1 million dogecoins for each of the first 100k block, which would amount to 100,000,000,000 doges already rewarded for the first 100,000 blocks. The subsequent next 500k blocks would up the total doges to just shy of 170 billion dogecoins.

It also states that there will be a constant reward of 10k doges starting with block 600,001.

This information is inconsistent and I am wondering, how the reward schedule is actually implemented:
Is there a maximum of dogecoins or will the amount continue to grow infinitely as suggested by the constant reward?

The Dogecoin reward schedule
I subsequently found the information that the Dogecoin reward schedule provides random amounts sized between 0 and a halving maximum for the first 600,000 blocks:

Block 1 — 100,000: 0-1,000,000 dogecoins
Block 100,001 — 200,000: 0-500,000 dogecoins
Block 200,001 — 300,000: 0-250,000 dogecoins
Block 300,001 — 400,000: 0-125,000 dogecoins
Block 400,001 — 500,000: 0-62,500 dogecoins
Block 500,001 — 600,000: 0-31,250 dogecoins
Block 600,001+: 10,000 dogecoins

The random reward amounts are dependent on the hash of the previous block. (H/T @JesseBusman)
How much?
At optimal random distribution, the first reward interval would provide 50 billion dogecoins. Altogether, the first 600,000 blocks would provide an estimated ~98.44 billion dogecoins, leaving another expected 156,250 blocks to be mined with the subsequent constant block reward of 10,000 doges per block.
How long?
As the block time is aimed to be 60 seconds, the reward is expected to halve every 69 days, 10 hours and forty minutes. At optimal block time, the last block with a reward would be expected after 525 days, or one year and 160 days.
Update: Flat 10k reward forever
On February 1st, 2014 the Dogecoin developers announced that Dogecoin would not be capped at 100 billion dogecoins after all, but would continue to have a flat 10k dogecoin reward for each block after Block 600,000.
While not hard-capped, a constant tail emission is predictable and disinflationary:

The math says that the coins will be fully mined-ish in 1.43 years (525 days) from the genesis block.

That's June 2015 folks


Losses when trading with bitcoins When investing in bitcoins can you lose any more than the total amount of currency with which you invested?

Gentlemen, I see my original question has caused a bit of debate. I have been asked by someone to be more specific as the question seems to be causing some confusion. Let me give an example. If I invest 500 US dollars into buying bitcoins; let's say this is not money loaned, but my own money from my own personal savings account; let's also say that I do not trade or buy anything with these bitcoins. This is purely a financial investment with the hope of gaining a return one day of say, 600 US dollars; is it possible (maybe even likely?) that I could lose not just the 500 dollars invested, but also more than this, say 520, 550 or 600 dollars? You experts, please take account of all possible scenarios, fees and other hidden costs when answering my question. Thanks!

Yes, absolutely. Here's just one example of how this can happen:

You invest Bitcoins worth $100 in some kind of high interest scheme.
You cash out of the scheme and get Bitcoins worth $200.
You invest those Bitcoins.
You lose them.
The high interest scheme turns out to be a Ponzi scheme. You are sued to clawback the $100 value of the Bitcoins that were fraudulently paid to you.
You lose that suit and now owe $100 on top of the $100 you invested.

Another example would be if you unknowingly withdraw funds from an exchange that's insolvent, then reinvest and lose those funds. If the exchange declares bankruptcy, your withdrawal could be ruled a preferential transfer and you would have to repay it.

Yes for example you can buy 1$ worth of coin, the price doubles, market site collapses

you lost $2 worth of coin


P2pool Crashing after a few minutes This start today I have reboot the server etc. but doesn't seem to have helped.

Basically it will work for a while then I get a long list of request parent share items.

then the process crashes totally and just loops with

2014-07-09 09:37:33.050000 > ---  ---
2014-07-09 09:37:33.051000 >   File "p2pool\data.pyc", line 431, in attempt_veri
fy
2014-07-09 09:37:33.052000 >
2014-07-09 09:37:33.053000 >   File "p2pool\data.pyc", line 320, in check
2014-07-09 09:37:33.054000 >
2014-07-09 09:37:33.054000 > exceptions.ValueError: share_info invalid
2014-07-09 09:37:33.068000 > Share check failed:
2014-07-09 09:37:33.069000 > Traceback (most recent call last):
2014-07-09 09:37:33.070000 >   File "p2pool\util\deferral.pyc", line 233, in it
2014-07-09 09:37:33.071000 >
2014-07-09 09:37:33.072000 >   File "p2pool\util\deferral.pyc", line 284, in _wo
rker
2014-07-09 09:37:33.072000 >
2014-07-09 09:37:33.073000 >   File "p2pool\node.pyc", line 304, in clean_tracke
r
2014-07-09 09:37:33.075000 >
2014-07-09 09:37:33.076000 >   File "p2pool\data.pyc", line 452, in think
2014-07-09 09:37:33.076000 >
2014-07-09 09:37:33.077000 > ---  ---

I restart p2ool and a few minutes later it is doing it again, I've redownloaded the p2pool files and still happens. am on version 13.4

resolved now, it was the web interface causing a mass of errors that crashed the system.


Is there a newer Bitcoin blockchain download available? The SourceForge project page for Bitcoin provides a blockchain download at http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/ but this file is old/dated.

How and where can I download an up to date copy of the Bitcoin block chain?

Since v0.10, the parallel block download in Bitcoin Core is often comparable in speed to torrent downloading, does not require temporary double storage, and validates while downloading instead of sequentially.

Original answer:

Please use the bootstrap.dat torrent download. It is more frequently updated and much safer to use.

You can find the .torrent download at http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/bootstrap.dat.torrent/download

Here you go I have recently uploaded the bitcoin blockchain to sourceforge.

Blockchain & Chainstate Date: 29th October 2013

Download Link: https://sourceforge.net/projects/bitcoinblockchain/files/29-10-2013/
Download Size: 9GB (Compressed) - 13GB (Decompressed)


Should fractional reserve banking be prohibited through the bitcoin protocol or otherwise, and how could such a change be implemented? There's a massive macroeconomic debate between Keynesians, who want central banks to control the money supply, and Austrians who want no central banks doing any such thing--or at least competing currencies which provide an alternative to central banks which do.  Bitcoin, with its set mining schedule, takes a clear stand against the former and opts for what will in 2033 become a stable/deflationary currency.

A debate which has not been settled, even among hardcore Austrians, is whether fractional reserve banking is good or bad for economies.  Similar to central banks, fractional reserve banking expands the money supply, but not at the fundamental level.  The effect is often the same, however, and the result is booms and inevitable busts as growing loans and investment cycle with contractions and bank runs.

For bitcoin enthusiasts who are skeptical about inflation, fractional reserve banking poses a similar threat.  As long as anyone except you are holding your bitcoins, there's no way to prove that your coins aren't being lent out at any possible reserve ratio.  Gresham's law suggests that 'bad money drives out good', meaning people will first use unsecure, inflationary currencies and hoard better ones.  Since bitcoin aims to be an optimal currency, it should explore avoiding the fate where it is bested by a regime which prevents fractional reserve banking.

My question is:  Can fractional reserve banking be prohibited, technically, a) through a change the bitcoin client itself; b) in a customer-bank protocol; or c) in another cryptocurrency scheme.

I don't know enough about public key cryptography, but I have an inkling that it would involve limiting return addresses, so for example, I send 10 bitcoins to address A, but those bitcoins can ONLY be sent back to an address I provide, and nowhere else.  Could that kind of scheme be implemented at any level, even just as an option?

No, you can't prevent fractional reserve banking technically. For example, IOUs can circulate just like Bitcoins and there's no technical means to stop it. Essentially, anything worth X Bitcoins (once risk and the like are factored in) can act just like X Bitcoins, even if it's not X Bitcoins. And since it's not Bitcoins, nothing Bitcoins can do can stop it.

Unless you foresee some massively powerful central coercive authority that prohibits it, you will always have fractional reserve banking. It just makes too much sense. It will happen absent the use of massive amounts of force.

There are trivial technical fixes to the "run on the banks" problem. However, there is still the very real "the bank is a crook" problem and the "the bank goes broke due to fundamentally unsound loans" problem.

Many e-Wallets seem to run a single bitcoind server that only supports a single wallet. Thus, the default for such e-Wallets is to pool the money, and fractional banking is possible. If we could convince the bitcoind developers that it is a good thing to support many separate wallets for many users, more alternatives might appear, and sensibilizing the users to the issues might then help.


Where is the data stored in Bitcoin? Is all the data related with the transaction of bitcoin stored in blockchain or the data stored somewhere in the cloud and they are referenced from blockchain. I have this confusion because if we are storing all the transaction information on blockchain then it will become heavy with time. How it will get managed at storage level (if the data is in blocks).

The size of each block in bitcoin is 1 MB, is it sufficient to store all the data (of every 10 mins) in the blocks?

The blockchain (at least as far as Bitcoin goes) is a series of transactions, collected in blocks.

This data is stored on each and every full node (pruning aside). There is no cloud based storage as part of the bitcoin network, although third parties host various forms of parsed data in the form of explorers and other such products, some of which may use cloud storage (assuming by "cloud" you are referring to AWS/GCP/similar offerings).

The bitcoin network itself is self sufficient and requires no third party resources. When a new node joins the network, it simply downloads the historical data from other, existing nodes. There is no need for any other form of storage.

For each device the user saves the blockchainas long string . If there are transactioncs , there are broadcast mechanism to update the blockchain


Using Bitcoin ATM's, how does selling work? How do Bitcoin ATM's work? I have a wallet on my computer and wanted to know how would the bitcoins there be transferred to the ATM and exchanged for cash.

Could somebody explain this process to me?

Atm will generate a bitcoin deposit address
Client scan it using smartphone and send bitcoin to that address
Atm will wait for confirmation and emit fiat money from dispenser

Things to consider:
KYC level for bitcoin amounts
Generation of addresses
Confirmation number
ATM connected full node
Rate exchange
And more , but I believe this is the basic.

Following are the steps are followed for the usage of the bitcoin ATM machine :

Open the QR code for your Bitcoin wallet on a smartphone. You can get a bitcoin wallet from Coinbase if you don’t already have
    one! Don’t forget to download Coinbase’s app for iPhone or Android from the AppStore or GooglePlay.
Then run the QR code under the bitcoin ATM machine’s scanner.
Enters the amount of cash to be exchanged for Bitcoins.
Waits for the machine to process the transaction and give out a confirmation.
Check your bitcoin wallet to see if the Bitcoins transaction is processed


Bitcoin fork! can I gain access to the coins I wanted to know - I got some 1.18 BTC on blockchain.info and I noticed just now that there are allot of hard forks happened till now.
how is it possible to gain the coins from those hard forks ...and are those still live?

Name---Fork from---Fork height

Clashic Bitcoin 478559
Gold    Bitcoin 491407
Cash    Clashic 504032
2X  Gold    494784
Diamond Bitcoin 495866
SuperBitcoin    Bitcoin 498888

You can access your coins in blockchain.info only if blockchain.info announces will support the fork.
Remember you should have bitcoin on your account before hardfork.

There are a lot of useless hardforks and some prices will go to 0 in my oppinion. There are only futures for 5 of your hardfork coins ( example: https://coinmarketcap.com/currencies/bitcoin-diamond/ )

But Bitcoin Gold was at least a "sucessfull" hardfork ( https://coinmarketcap.com/currencies/bitcoin-gold/ ) and you could sell them. The price is around 300$ per BTG at the moment.

You need to transfer them to an exchange that accepts BTG.


Why is Bitcoin better than other cryptocurrency? If there too many types of such kind of currency, will them be very cheap?

I have 4 BTC and since the current BTC price waves a lot, I am wondering this.

Thanks,

Only time will tell if Bitcoin is the better.
For sure is the first introducing this concept and the biggest market cap at the moment.

Be sure to understand the "cheap" concept. Absolute value means nothing

Suppose at time t1 there are 2 coins and their prices are:
A 1000$, B 1$

After some time this are the coin prices
A 2000$, B 1.5$

At time t1 coin A was the cheapest!

Depends on your meaning of "better", which in turn depends on your intended use:

For micro-payments, given a single bitcoin's value, it's mostly useless. Any of the new, tiny crypto-currencies would be much better for that - actually Dogecoin seems to be specializing into this role given it's the minor crypto with the most trading volume.
As a store of value for your life savings Bitcoin is very useful as in the long run it tends to appreciate - even though in the short term you might get a hard blow should you need to take out some of your money when value's down a big notch, as is happening at the time I'm writing.
To pay for small stuff without too much risk for the vendor, Litecoin is the single most useful as it allows vendors to get a couple confirmations in a couple minutes, nullifying the risk due to transaction malleability and reducing the risk for double-spending. Furthermore, it already has services in place for vendors willing to accept it.
As a bragging item a 42coin might be better, given the value of a single coin (more than 100 bitcoins as of now - yes, you read that right). Be warned, though, after the mega-hype at its launch (reaching briefly +850BTC per 42coin) it's only gone down, down, down from there...

(post-edit expansion)

Why Bitcoin is not useful for micropayments, as-is?
1 satoshi = (aprox) USD $0.0000065 so theoretically you could send a micropayment in just satoshis. But then very few miners would include such a transaction without a fee, so you'd end up paying dozens or even hundreds of times the original amount in fees just to ensure it's included in a block.

Plus, the standard client asks for a minimum of 5000 satoshis to be sent, so that sets a hard limit of US 3.25 as a lower limit to be sent.

1 DOGE = USD $0.0013 and the transaction fees are usually between 1 cent and 10 cents. So I can send 0.1 US cents to someone and pay no more than 0.01 US cents in fees - and given it can use up to 8 decimals, just like bitcoin, I can actually send much lower micropayments. Plus, given the small amount of permanent inflation of Dogecoin, it's very probable its value will remain low vs. fiat.

As for usefulness for low-end sellers vs. that of Litecoin, in 6 minutes a merchant accepting Litecoin gets 6 confirmations, equivalent to a level of security of 2 confirmations in the Bitcoin network in a third the time with no extra effort from the merchant. For the good or the bad, it seems Litecoin will have its niche market in that.


How cooperative or competitive is the mining process? As each miner works out which nonces it has tried, does it notify the network so that energy isn't wasted on re-processing the same thing by each node? Or is it totally competitive with everyone for themselves?

Miners that aren't cooperating will never replicate work because they each want to get a different block as the next official block. If nothing else, the account the mining fee is paid to will be different. (And this ripples up to the header.)

For miners that are cooperating, work units are assigned by the mining pool. The pool will typically embed a different coinbase in the work units it assigns to each miner. When a miner finishes processing a work unit, it requests a new work unit (with a new coinbase) from the mining pool.

So there should never be any replicated work.

But if miners are competing each other, actually a frauder doesn't need to have more computational power than all the integrate nodes, he only needs to have more computational power than the best of the integrate ones.
And more, the system can not be used for large amount of transactions, if one transaction involves billions of usd, I may prepare a huge farm of computer pool, to revise the blockchain.


bitcoin-cli can't connect to server I'm trying to put up a simple system for some penetration tests.
I have an Ubuntu server 16.04.1 with apache2 and bitcoin.
all running "Hiddn service" through tor (and bitcoind proxied 127.0.0.1:9050).
Now, using easybitcoin.php , the apache shows getinfo, send receive, all good.
but using bitcoin-cli nothing works! "couldn't connect to server"..

my bitcoin.conf is:
server=1
listen=1
proxy=127.0.0.1:9050
rpcuser=myuser
rpcpassword=mypassword

Any ideas why bitcoin-cli can't connect?

You should try adding daemon=1 to your bitcoin.conf file.


How many shares need to be mined before a block is released? How many shares need to be processed on average before a block is found?

I know that "luck" can be a huge factor which is why it's not quite as simple as that.

I ask because I'm starting my own pool (www.btcpoolman.com). I only have three people on it at the moment, but we've mined about 100K shares in the past week or so. Assuming I sustain this, how long will it be before I will get a block?

I found http://www.bitcoinx.com/profit/ yesterday, which says that it'll take one year and 138 days to find a block based on 1.2 GHash/s (which is roughly what I do when soloing).

Failing that, what should I do if I'm currently mining at the above rate?

When mining in a pool you are simply looking for simpler blocks than those that are used in the network itself. Let's say you are mining in a pool that counts difficulty 1 shares. That means to find share you have to complete 2^32 hash operations. Since difficulty is defined as the ratio between the current target and the maximum (as in easiest) target, each increment in the difficulty doubles the number of hash operations you'd need to find a share. Hence the probability of a share also being a block is:

share_difficulty / block_difficulty

since the current difficulty (29th of May 2013) is 12'153'411.7098 the chances of a share of difficulty 1 being a block is 1/12'153'411.7098, and the expected number of shares until a block is being found is again 12'153'411.7098. Notice that in the last step we are talking about an expected number of shares. As mining is a random process there is no guarantee of finding a block in finite time.

Currently, in the year of 2015, the month of July, and the pool of GHash.io, (which is currently the largest mining pool in the world,) the number of shares amount to ~25 BILLION. We, with the speed of ~6.40 PHashs/s, do an entire block in anywhere from a few hours, to several days, depending on the difficulty.

I'm not sure if this is the answer you are looking for, but this may help you put things into perspective.

The sincerest of luck to you good sir.


If bitcoin fails as a currency, how will blockchain tech still be secure for other applications? We often hear proponents, like Andreas Antonopoulos, say things along the lines of Bitcoin being an application of the Blockchain technology and that Bitcoin as a currency can fail, but blockchain technology will continue.

But the blockchain is only secure (and therefore useful) if there is a large enough and diverse enough (e.g. no one with >50% of the mining power) network of miners securing the network.

If the USD to BTC value goes down too low, or Bitcoin as a currency (for whatever reason) fails, the miners will stop mining. Is it therefore possible that this could then make the bitcoin blockchain technology insecure and put the other applications built on top of the blockchain technology at risk?

I guess one might say, what Andreas means is that new blockchain mining networks, independent of bitcoin could be setup. But what makes the bitcoin blockchain so good, is because the network of miners is so large (and therefore so secure), is it not?

I understand it exactly the same way as you .. the currency needs to be worth the time and effort of the miners or at least the have to believe it is in the long run.

He means that the use case of currency may bot be successful and other alt could get it right  Or be more advanced and replace bitcoin but that blockchain technology cannot be uninvented.

PD, Namecoin uses another blockchain that is mined at the same time with bitcoin. Only BTC miners can get NMC. Why not 100% of them do it is another story.


How can I find the coinbase transactions where the bitcoins involved in a transaction were created? I am exploring a transaction and if would like to know when was the money created, I guess I would end up with a lot of coinable transactions.
For a certain transaction I could explore the previous transactions successively until I found the coinbases. But I imagine this would be a very laborious job that could take a lot of resources. Just like blockchains.info trees ( https://blockchain.info/tree/59587897) but expanding the tree till the coinbase transactions

In the other hand I guess nodes when verifying a transaction do something very similar, don’t they?
How could I create this list of coinable transactions that original the bitcoins involved in a particular transaction?

If you have running bitcoin core, you can use JSON RPC and any programming language you want.

getrawtransaction <txid>
decoderawtransaction <hex>

Second call will return all inputs of transaction. If transaction has previous tx equal to 32 zeroes, it is coinbase transaction. You should recursively cycle through all parent transactions.

API calls list

Coinbase transaction is the first transaction of a block.


Bitcoin Transaction Fees When Buying and Selling After dipping my toes in the water with Bitcoin, turning £ into BTC, I immediately noticed around a 10% loss through transaction fees. This seems high firstly. Is this normal?

Secondly, with the rate of raise for BTC at the moment, this 10% loss has repaid itself after around 24 hours (which in itself is crazy and unsustainable), but this value is currently stored purely in BTC. If I want to turn the BTC into £ again, I'm guessing this is going to result in ANOTHER transaction fee of around 10%.

All in all, meaning that the value of BTC would need to raise by at least 20% purely to cover the transaction fees when converting between £ to BTC to £ again.

Have I understood all of this correctly? And here I was thinking that PayPal had some expensive transaction fees!

Bitcoin not related to fiat currency, I don't know which wallet you're using but its really of the exchanger.

I guess you're using coinbase.com which is not recommend.

Find another wallet to store your bitcoin and exchange your bitcoin locally or using person-to-person trade.

UPDATE

  To follow on with a few more question, could you please expand. 1)
  When you say "Bitcoin not related to fiat currency" what do you mean?
  2) "I guess you're using coinbase.com which is not recommended" - I
  initially tried with those guys but their website was appaling so
  couldn't even verify my identity. So no. But out of interest, why are
  they not recommended? 3) Re. "find another wallet", would you
  recommend a wallet that sits on my computer, or phone, and what is the
  best method for P2P exchange? How to go about it? –

i'm not fluent in english but i'll try my best!

1- Bitcoin not related to fiat currency, I thought you were talking about bitcoin core and transactions fee. which is not possible to lose bitcoins or even turning your bitcoins to any fiat currency.

2- coinbase isn't recommended because they don't provides full access to bitcoins. its just like PayPal. Your bitcoins in there are just bunch of numbers. And they are custodial Bitcoin wallet.

3- I recommend you to install Bitcoin-core from bitcoin.org but if you don't want to download the whole blockchain(145 GB) and your usage for bitcoin is just simple. You can use blockchain.info they are non-custodial bitcoin wallet and gives you full access to your bitcoins , nobody can track your account and no verification needed.

4- Localbitcoins.com.

In the United States, the basic rate for all purchases and sales transactions is 4%. Coinbase will waive a portion of the cryptocurrency transaction fee based on the payment method you use.


Do multi-PoW currencies open up additional attack vectors on a blockchain? I'm curious if there have been any technical evaluations of the vulnerabilities of cryptocurrencies that utilize more than one proof of work algorithm - for instance, myriadcoin or huntercoin.

Myriadcoin uses five different PoW algorithms, with different algorithms targeted towards different hardware, so that people are able to mine with ASICs, GPUs, and CPUs. The idea is that this will make it more difficult to centralize mining and harder gain control of 51% of the hashing power, while also making mining more accessible to as many people as possible.

I'm wondering if there are any potentially unintended consequences to this that maybe some folks have already identified.

Chaining algorithms reduces security as if one part of the chain fails, the whole chain fails. And in this case fail doesn't just mean completely broken, it can also mean an ASIC-proof algorithm turning out to be not ASIC proof.


What happens to my bitcoins when I die? What happens to my bitcoins when I die?
Are they lost in the network?

This depends a lot on how you handle your wallet. If you are careful about it and make sure you have an off-site backup of your wallet (or use a deterministic or paper wallet, etc) then you can easily pass your wallet and all the coins it contains to anyone you choose in the same ways that you can pass on other property.

Of course if you're the only person with access to the wallet and have not planned anything then yes, your bitcoins will be "lost in the network."

I am using a website called www.planneddeparture.com. It is a Digital Legacy platform that keep all my social media accounts, pics, contacts, docs as well as bitcoins safe. Pretty much like dropbox but with the difference that I can assign beneficiaries and leave them instructions of what to do with my digital belongings when I am gone. I have used it for 2 months now and have assigned beneficiaries to almost all my belongings including my bitcoins. I have read some of the comments and must say that some solutions are quite old fashioned and risky. There are plenty if platform on the web that deal with your digital assets. Have a look and decide for yourself. I happen to use PlannedDeparture and I am feeling quite secure about my bitcoins and other data.


How can I mine Monero or other altcoins using Azure Cloud Services? Is there any way by which I can mine Monero or other altcoins using Azure Cloud Services.

Sure - you can run cpuminer-multi on Azure or AWS, and it will CPU mine. You will need to find a pool to mine with.

Alternatively, if you want to solo mine, then you merely need to run a full Monero node, and from within bitmonerod you use the start_mining command. Details on the options you can pass to that command are available via the help command within bitmonerod.

With the new N-Series VMs, you can now mine more:
https://medium.com/@benthompson2001/mining-bitcoin-other-altcoins-with-azure-n-series-gpu-virtual-machines-e8591895baba#.67rl6apt1


Should I trust bitaddress.org? AFAIK, the generation of the address pairs occurs on your computer but the concept still makes me nervous as it's occurring in the browser and I have to trust the owner of the site, I think.

You don't entirely have to trust the owner of the site. The site is client side Javascript based, which means you can probably save a copy of the code, then review it, and run it offline.

If you continue to use the website though, you're trusting the owner of the site to:

Not change the code in any way that compromises the security of the private key
Maintain adequate security so that no hacker can change the code in any way that compromises the security of the private key

A site generating your PRIVATE key for you and matching bitcoin addresses? A disaster waiting to happen. There is almost no way to be sure the information is not stored and then, in a few years, used for withdrawal (theft).

Using the code offline is a better idea, but DO check the code first.

Just my 2 Satoshis...


How do I know my wallet.dat actually already contains 100+ addresses ready to be used? I'm using the standard commandline client (under OSX, in case this matters).

I've read in some threads that it is smart enough to pregenerate 100+ addresses to be used in future when you ask them, so that if you backup an earlier wallet, the future private keys are not lost.

This would be cool, but how do I check it is really true?

Every time I "get a new address", it seemed to me it took enough time to suspect it was generating it on the fly, not using it from a pregenerated pool. Maybe it was slow for other reasons, though, and that's why I'd like to check somehow.

you can check by directly exploring the content of your wallet.dat file, which is a bdb database. there are various tools for exploring the wallet, one of which is gavin's bitcointools: https://github.com/gavinandresen/bitcointools

Another exporter is pywallet.py.

This would be cool, but how do I check it is really true?

I haven't tried this:

Backup your wallet.dat and generate a new receiving address.  Then delete wallet.dat and restore from the backup.  Now generate a "new" receiving address.  It should be the same one as the first one.

Convinced?


How does Bitcoin comply to GDPR Update: This related question focusses on users own data. My question is mostly asked from the perspective where a person may enter someone elses personal data, like someones sexual preference.

In the data world GDPR is currently a very hot topic:

personal data must be protected and not retained too long.

For normal companies and systems it is already very difficult to meet the letter of the regulation in practice, however I image that for bitcoin it is even challenging on a much deeper level. Two core principles:

Data must be visible by all
The full history must be preserved

This brings me to a question:
How does Bitcoin respond to the introduction of GDPR?

And as bonus question:
What does this mean for other blockchain applications (like corporate concepts, not specifically for currencies)

How does Bitcoin respond to the introduction of GDPR?

Bitcoin is not a person or legal entity that is subject to law. Only people or businesses using bitcoin have to comply with GDPR.
So far as I know, storage of personal information is not a part of the specifications of the protocols or algorithms that comprise Bitcoin.
Specific pieces of software might allow you to store personal information. For example, wallet software might enable you to keep a list of people, addresses of their bitcoin wallets and your text notes about them. The users are responsible for complying with GDPR. The software writers are only responsible for enabling this compliance (e.g. providing a delete function or something else GDPR compliance needs). The prime reposbility is with the user, if the software they use cannot be used in a way that complies with GDPR they must find other software.

The use of Bitcoin is a inherently an opt-in privacy model, versus not an opt-out privacy model.  Additionally, Bitcoin stealth transactions can be applied twice to effectively provide sender privacy until secp256k1 cryptography is potentially be broken by factoring. Privacy exposure on public blockchains are essentially forever, there is no recourse.


I paid in bitcoin, now I'm owed a refund. Can I demand it in bitcoin too? This is, I suppose, a legal question so I should point out that I'm most interested in US and European law.

I made a payment to a company for a product more than a year ago in bitcoin. The amount that I paid then was equivalent to $75. Now the company has failed to provide the product and they and I both agree that I'm owed a refund. However, we disagree on the means.

The company wants to refund me - in bitcoin if I wish it - to the value of $75 of today's money. It seems to me though that I should be refunded what I paid: i.e. the same BTC value that I paid. The value of bitcoin has increased substantially since I made my original payment, meaning that the BTC amount I paid then is now worth 5-6 times more.

I happen to know (through their blog posts) that the company in question does keep stocks of bitcoin rather than converting them to a fiat currency, so they have benefited from this. That said, I don't think it should matter either way.

My logic

You can consider bitcoin in one of two ways: a) a currency or b) not a currency. The conclusion is the same either way. Let's explore both:

a) BTC is a currency

If BTC is a currency then this is an easy question. I should be refunded what I paid, in the currency in which I paid it.

b) BTC is not a currency

If a bitcoin is not currency then is it unarguably an asset. Surely in this case I have given a valuable asset to the company as my end of an implied contract for them to provide the goods. Given their failure to provide the goods, they must return the asset: not a fraction of it.

Fairness

I think that, regardless of the legal side, it's fair for me to receive a full refund. Given that bitcoin has increased in value, one of us has to profit from this. It seems very unfair to me that the company should profit from their failure, whilst at the same time preventing me from making that profit myself.

I appreciate that I'm not exactly neutral in this, so I'd like to know what others think. Am I being reasonable? If I am, do I have a legal leg to stand on?

Edit:

Having read through the responses, they seem to have one or both of two themes.

"The price wasn't in BTC, it was in dollars with the option to pay this via bitcoin."
"Being able to claim a refund of the original BTC amount would open the door to risk-free speculation."

For the first, this is open to interpretation. If I was being pernickety, I'd probably say this was down to the wording of the sale. However I agree that - practically - it's pretty obvious that $75 was the price and BTC was a payment method, along with Visa, Paypal etc.

The concept of "legal tender" is one that was raised too. For something to be "legal tender'' means that one may not refuse an offer to pay a debt with that currency. It doesn't talk about refunds though: if I'm owed €1000 by someone in the US then I must accept the dollar equivalent even if I'd rather Euros. This is still €1000 though, not "whatever €1000 was worth when I entered the agreement.''

For the second, that is indisputable and probably represents the biggest flaw in my position. I would point out that the refund is not my doing: I would rather have received my order but the company cancelled it. However, that probably makes no difference ultimately.

Thanks for all the opinions. It looks like the overwhelming consensus is that I am being unreasonable, so I'll give up on my demands and accept the refund.

I am not a lawyer, but...

The Coinage Act of 1965, Section 31 U.S.C. 5103, entitled "Legal tender," states: "United States coins and currency... are legal tender for all debts, public charges, taxes, and dues."

In the USA all monetary debts can be paid in US dollars.

Second, while bitcoin is legally a payment method in the US, it does not have legal status as a currency. In the eyes of the law it's almost certain that the company will only be required to send you the original USD price of the item that you paid, regardless of the method of transfer. Legally speaking, you paid dollars through bitcoin, and the firm will return your USD, using the bitcoin payment method if you so wish. They also won't have to refund any expenses you incurred to get the money to them, like driving money, bid/ask spread you paid to buy BTC, PayPal fees, etc.

Btw, the original price was listed in US dollars, right? Not BTC.

I'd love to hear a small claims judge berate you for trying to, how can we say this,
enjoy risk-free speculative gains through the abuse of company refund policies.

Indeed if this unethical method worked, I could always use BTC to buy something with a money back guarantee, and if BTC went up a lot, just ask for my BTC back and cash in! If BTC didn't rise, I'd just keep the goods I'd originally bought, or maybe ask for my refund in US dollars, Swiss francs, gold bullion, IMF special drawing rights, or maybe even hugs...

I agree. Interest is a common lingo for any currency not refunded on time if you were supposed to receive the product a long time ago. I just made a similar purchase with bitcoin money that I didn't have ?? Maybe the company will not ship the product then? It says order confirmation. I emailed the manufacturer. It seems like the company would have a cruel website to suggest to me that bitcoin was an option just like paypal credit. They don't seem like a cruel company by nature.


Is transaction malleability an issue when receiving payments? Assume I'm using the original client to receive payments. Is the following scenario possible?

My wallet gets notified of unconfirmed transaction with id 12 in which one of the outputs is an address that belongs to me.

Someone changes the id of the transaction to 13 and relays it to the miner who finds the next block.

My wallet gets notified of block that contains transaction with id 13 in which one of the outputs is an address that belongs to me.

Transaction with id 13 gets 6 confirmations but transaction with 12 gets stuck in my wallet as an unconfirmed transaction.

If I'm showing my customers their unconfirmed transactions, then the customer will see a confirmed transaction with id 13 and an unconfirmed transaction with id 12. Is that correct? Or will QT automatically delete the first transaction?

What can I do to prevent this?

If you wait for a confirmed transaction you will be fine. The common mistake people/large exchanges make is when they constructed "withdraw" transactions from unconfirmed "deposit" transactions. Those invalidate quickly due to double spend rules. The Satoshi client does this as a last resort when picking unspent outputs.

The code that deals with it is here, removeConflicts is defined here.

An unconfirmed transaction cannot be spent. End of story really.

But for the sake of completeness, if you try to spend it your transaction will also remain unconfirmed with the person you paid. Neither of these transactions will ever enter the blockchain.


How can I buy Bitcoin via a Credit Card or Paypal? I want to buy some bitcoins. Ideally, I would like to buy them on the MtGox exchange (because the consensus seems to be that this is the most reputable exchange), however I have found the system for transferring USD to MtGox to be very disappointing. I would have liked to be able to add funds with PayPal or directly with a credit card, however both of these are not possible.

My question has two parts:

Is there an easy way to use a credit card to add USD funds to my MtGox account. Liberty Reserve, Dwolla, and Paxum seem to be the financial institutions of choice for MtGox and the rest of the exchanges. Is any of these simple to fund using a credit card, or are they all basically PayPal analogues (which Paxum seems to be) that require a large amount of setup?
If it is not possible for MtGox, is there another, hopefully reputable, exchange that I can use PayPal or a Credit Card to buy bitcoins with?

I noticed this question was posted a long time ago and perhaps things have changed so I took the liberty to dig in again and also aggregate most of the answers given here and here’s what I found:

It’s indeed impossible to buy Bitcoins with Paypal DIRECTLY even today and it's mainly because of Paypal’s TOS (Section 3.7 here) and the issues of chargeback.
Having said that there are still a few ways you can buy Bitcoin with Paypal

a. Use VirWox to buy SLL with Paypal and then transfer that SLL to BTC (has high comission, transaction can take between 1 hour to 2 days). The full process is explained here.

b. You can use Local Bitcoins and perhaps find someone in your area to sell you Bitcoins with cash or even someone not in your area to sell you Bitcoins with Paypal or a credit card.

c. If you’re only into trading Bitcoins for their volitility and not actaully keep them you can use platforms such as AvaTrade or Plus500 to trade CFDs. However CFDs are for more experience traders and your capital is at risk so take that into account.

d. If you have a Paypal Debit card you can actually connect it to your Circle account and use the funds on your card to get BTC. This is relevant to US residents only.
Same thing goes for credit cards. Because of chargeback issues there’s no direct way to buy Bitcoins with them. Currently some options for credit cards are CoinMama, Circle or Cubits.

Virwox Exchange is my favorite. I live in INDIA and we don't have Bitinstant support here so Virwox is the fastest and trustworthy option for me.

They do charge a premium, but you can always get a good price if you wait for a while before buying or selling BTC’s until the BTC exchange rates in the VirWox marketplace are within your target range.

For detailed instructions check here.


How to overcome the 21M limit of Bitcoins as adoption increases? Are there any ways to increase the Bitcoin maximum coin limit, as a wider adoption would mean there would be a lot of real money chasing fewer number of coins? Also can one hold a fraction of a coin?

A single Bitcoin is currently divisible up to 8 decimal places (giving you 21*10^14 units of money, or about 2.1 quadrillion units), nothing stops it from being divided further with small protocol change. In order to change the limit of Bitcoins created, one needs to change the protocol and force most of the Bitcoin network to adopt the change, which can be quite hard to do. This hard limit of the amount of Bitcoins is one of the features of the system, not a flaw - it is meant to fight against inflation. If for some reason you want a cryptocurrency without a limit (hint from Lohoris: you don't), try browsing for alternatives.

All in all, there will be enough Bitcoins to go around for everyone for a long while.

Well then, what needs to be happening is similar digital currencies appearing periodically along the way because future generations should also have the ability to mine newly formed currencies so that they can enjoy the freedoms we can now. Silver runs alongside gold, never as valuable, but surely as effective a resource to be traded for goods and services. Likewise other digital currencies, should be freely capable of running alongside bitcoins for future generations to enjoy the value of.

Perhaps though, due to the lack of intrinsic value of any digital currency, which is essentially as great as the next massive EMP blast, the new digital currency should perhaps wait until bitcoins have grown substantially in value before lending itself as another easier currency to mine. And there should always be exchange rates between the individual digital currencies. However, we must be careful to avoid what was caused by having the gold and silver standards of our nation's past, provided popularity of digital currencies allows for such a problem as what happened back then.

However, I think that this is a great model. It's literally modeled after gold and oil, both of which are finite resources that have substantial value. One has been used as actual money and a measure of past national economies while the other has been used as a commodity more so than money simply because it is not readily available and traded for goods and services.

Everyone, please remember, bitcoins are digital, their intrinsic value is less than nothing because they essentially are absolutely nothing. This means that in order for them to be worth anything, very similar to our Federal Reserve Notes that we color green in this nation, someone has to be willing to trade viable currency for them or to take them in trade for goods and services. They're not like gold or silver, which are physical materials that anywhere in the world would generally take in trade for goods and services at a time when there was lacking an official currency.


What are ASIC miners actually doing? I'm trying to understand Bitcoin mining (software-wise), and I wonder how ASIC miners are different? I'm going through this minimal Bitcoin miner Github repository.

Which part of Program.cs are ASICs optimizing (I guess Program.cs line 90)? Where can I read more about in-depth working of miners? Is there any documentation?

From trying to design my own ASIC---I got as far as having a simulated but not completely debugged Verilog implementation---I can tell you how mine would have worked. Whilst I have not checked, the design choices seem so obvious to me that I doubt anyone would do it differently.

The inner loop of the mining process is a double SHA-256 hash of data where only one 32-bit word, essentially a counter or "nonce", changes. It looks for a specific result where there are enough zeros in the right place after the second SHA-256 and only needs to output that counter value for which this is the case (if it is for any).

This inner loop is perfect for implementation in hardware: The SHA-256 is of reasonably low complexity, is itself a loop that can easily be unrolled and pipelined (there are 64 identical steps in each of the two applications after an optimization I'll describe later), and if the counter-loop is included in the hardware, then the required IO is very low, both in terms of actual data transmitted and in the sense that it can be very slow with negligible impact on overall performance.

In the source code you reference, the loop I am talking about constitutes the entire function FindShare (lines 85 through 107). However, let me explain that of the actual work, implemented in FindShare as Sha256(Sha256(Current)) in line 90, due to an easy and very common optimization, only half of the initial function call is executed. The first half can easily be moved outside the loop.

If you really want to know the details, then I should add that part of the first of the two SHA-256 runs that should be done for each counter value is identical for all counter values. Naturally that should be optimized, and removing it reduces the hardware complexity significantly. It is even removed from many software mining implementations (one protocol used for mining pools actually lets the pool solve that bit, passing only the intermediary SHA-256 data to the miners). So what remains for the ASIC is some I/O logic to get that intermediate SHA-256 data and then finish 2 applications of the SHA-256 hash algorithms on the resulting data, check the output (and output a signal if it corresponds to finding a block or solving a share in a mining pool), and iterate 2^32 times with the next counter value.

Because an ASIC is a really custom-made chip, and because SHA-256 is such a hardware-implementation-friendly algorithm, it is reasonable to generate one new double-SHA-256-hash every clock cycle from a much smaller area of silicon than it takes to make a general purpose CPU, which takes many hundred clock cycles for the same computation. Whilst in principle the same is true for FPGAs, the fact that their structure isn't quite what one would wish for to do fully unrolled, pipelined SHA-256 (the area-intensive more efficient method of choice for Bitcoin mining, but not typical for other applications and pre-mining ASIC cores for SHA-256) means that in many cost-effective FPGAs one struggles to fit a single fully unrolled double SHA-256, whilst an ASIC can easily accomodate many.

I have ASIC miners  SHA-256  in one and Blake ago in the other.
I noted they both mine DCR coin.
One is D9 miner the other is Bk-B miner.
I tried mining alt coin Verge with both and got interesting results.
They both read blocks found on verge mine sites.
The Innominer with a insane count number.
See the picture. Only issue is the site recorded no blocks found so I did no make an dime with testing.  I would think with some testing and software update for the coin type for each They could bring in the big returns rather fast returns.


Have there been case studies of how anonymous bitcoins are? The blockchain has a lot of information about all bitcoin transactions.

I've heard a lot of conjecture about how anonymous bitcoins transactions are, but I haven't seen a scientific study.

Are there any case studies that show how to track a bitcoin transaction to an individual person? I see IP addresses on blockchain.info so that information could be subpoenaed; on the other hand, you could use Tor which also has its documented weaknesses.

Yes, the most notable one being this one. It illustrates that it is possible to associate transactions and addresses with forum users' identities, as well as connecting them to some organizations (including WikiLeaks, MyBitcoin, Slush's Pool etc).

Tracking users by their IP is a bit harder, although during the work on my master thesis I was able to find an IP address associated with a Bitcoin Address and trace it correctly to the Bitcoin Faucet.

Another interesting point of views, by Dorit Ron and Prof Adi Shamir (- The S from the RSA algorithm) :

https://eprint.iacr.org/2012/584.pdf

From the abstract: "...We downloaded the full history of this scheme, and analyzed many statistical properties of its associated transaction graph. In this paper we answer for the first time a variety of interesting questions about the typical behavior of users, how they acquire and how they spend their bitcoins, the balance of bitcoins they keep in their
accounts, and how they move bitcoins between their various accounts in order to better protect their privacy. In addition, we isolated all the large transactions in the system, and discovered that almost all of them are closely related to a single large transaction that took place in November 2010, even though the associated users apparently tried to hide this fact with many strange looking long chains and fork-merge structures in the transaction graph."


Is it safe to create a Bitcoin account for another party? Is this a scam? A guy I have been talking to says he is having trouble accessing his account and asked me to make a wallet in blockchain and then wants my login, password, and wallet id so he can use it in another country. I have $0.00 in my wallet. Is this safe to do? I’m trying to figure out if this is a scam and if so how ? I also have no intentions of buying any bitcoin for myself now or in the future

This is unsafe and definitely a scam.

One common way it's done is as follows.  Using your login and password, the guy will secretly retrieve the recovery phrase for the wallet.  He will then let you change the password.  Then, he will make up some story to convince you to acquire some Bitcoins and put them in the wallet (or maybe he'll just wait until you decide to do so of your own accord).  You will think this is safe because he doesn't know the new password.  However, using the recovery phrase, he will be able to take all the coins from the wallet, even without the password.

If he really just wanted access to a Blockchain wallet, there would be nothing to stop him from just making one for himself.

he maybe does not harm you with that, but others for sure. why whould someoone nbeed a Wallet not connected to him.
It will be your Door the Police kicks in.


Import testnet address in bcoin I´m trying to import a watch-only address to my bcoin node using cli (testnet). My config looks as follows:

[....]
#
# Options
#

network: testnet

#
# Node
#

prefix: ~/.bcoin-testnet
db: leveldb
max-files: 64
cache-size: 100
[...]

entering the following command (just a random valid testnet address):

 bcoin wallet watch my7q4nhpuJ6TsevXdDnPRq1rvHcPKeGEaD

results with the following error in the debug.log:

[E:2017-08-03T08:43:02Z] (node) Network mismatch for address.
AssertionError [ERR_ASSERTION]: Network mismatch for address.
at Wallet.importAddress [as _importAddress] ([...]/.nvm/versions/node/v8.2.1/lib/node_modules/bcoin/lib/wallet/wallet.js:1310:3)
at Wallet.importAddress ([...]/.nvm/versions/node/v8.2.1/lib/node_modules/bcoin/lib/wallet/wallet.js:1284:23)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
[E:2017-08-03T08:43:02Z] (node) This socket is closed
Error: This socket is closed
at Socket._writeGeneric (net.js:721:18)
at Socket._write (net.js:781:8)
at doWrite (_stream_writable.js:371:12)
at clearBuffer (_stream_writable.js:497:7)
at Socket.Writable.uncork (_stream_writable.js:297:7)
at connectionCorkNT (_http_outgoing.js:695:8)
at _combinedTickCallback (internal/process/next_tick.js:135:11)
at process._tickCallback (internal/process/next_tick.js:180:9)

The error occurs, no matter what address I try to import. Does anyone have an idea on how to solve this?

You can use the http api to perform an import. Notably, you import a wallet with the create wallet command as the import command imports addresses into a wallet.

curl -X PUT \
  http://127.0.0.1:18332/wallet/$ID \
  -H 'authorization: Basic eDppYW1zYXRvc2hp' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "masterKey":$MASTERKEY
}'

Link to docs


How does Open Transactions handle counterfeiting of currencies? Say I create my own currency in Open Transactions, and begin trading it on OT with other users. What prevents some user from creating copies of my currency? I'm not sure its the same situation as double spending. I'm talking about someone who doesn't have any of my money simply creating it out of thin air and selling it to other people.

In Open-Transactions, both parties have a copy of the "last signed receipt" for any given transaction.

The user forms the receipt and signs it, and then the server countersigns it.

Therefore the server cannot forge your receipt because the server does not have your private key.

When an issuer issues his currency onto an OT server, the server will have a copy of the issuer's "last signed receipt," which includes the server ID and shows the current amount that has been issued.

So the server cannot falsely claim to have a certain currency issued on that server, because the server cannot forge the issuer's signature (in the same way that the server cannot falsify your own receipt, since the server cannot forge your signature.)

The other users cannot forge your signature, nor can they forge the server's signature, nor can they forge the issuer's signature, so they cannot falsely issue units of your currency.

Also, each "last signed receipt" includes the current balance. For example, "My current balance is 100 clams. I am withdrawing 10 clams, and my new balance will thus be 90 clams." This receipt also contains the server ID, as well as the asset type ID, and must be signed by the user before being countersigned by the server. Therefore this is also true for the issuer's last signed receipt, the same as for any other user.

if i see it correctly, there is a certain statical data within each existing cryptocurrency client, that is used to interact with the entire network. for example, you can't create bitcoin from air and add it to an existing bitcoin network. it will have to match the tree of cryptographical operations so far. there is original bitcoin paper out there and https://en.bitcoin.it/wiki/Weaknesses  to help you better understand the possible problems and issues of bitcoin network.


Using BTC to receive currency donations How can Bitcoin be used by a charity in the Congo to receive donations from people around the world paying in different currencies?

You customers can exhange any currency to Bitcoin and pay via Bitcoin with no fees.
So, you need to support traditional payment methods and Bitcoin as well, as a new way of payment over Internet. It's the future of payment.

Some day, you will kick-off VISA and Paypal from your website ;)

You can use Ripple coin that support a lot of currencies with bitcoin. https://ripple.com/


Is holding funds in a Bitcoin paper wallet safe? If you received lots of bitcoins, like 100, and you are not comfortable holding them in your personal blockchain wallet, is it preferable to move them and hold them in a paper wallet for safety reasons?

Yes. A paper wallet is basically nothing more than your private key on a piece of paper.

For usability it is often represented as a QR code though. You can make copies of it, and store several of them in different places, or even store half of the key in one location and another half in another. Bitcoins are never in your wallet, paper or otherwise; they are just entries on the blockchain. Your wallet contains only the private key to allow you to spend your entry on the blockchain.

It's safe, but I would suggest not let anyone know it's a paper wallet. And don't hide it in safes and all, because people won't usually even know it's a wallet in your home.


What’s the purpose of checking for input overflow? Everyone knows this famous fix for block 74638 which still exists in other files. But there’s something I can’t understand, why check for inputs overflow since it’s not possible to have enough utxo for such case as it’s their hash being tracked and from an attacker point of view this only decrease what he/she/they have in reality (unlike outputs where it decrease the amount to be paid).

So why making invalid something which is already impossible and would has no impacts as an inflation bug ?
Even the go implementation of bitcoin is doing it.

It appears to largely be just a belt-and-suspenders check. As you say, it is unnecessary to do this check. However it doesn't hurt to have this check in there. At worst, it just adds a few nanoseconds to verification time. At best, it will catch some serious bugs.

Given that this is consensus related, it does not hurt to have extra checks that are theoretically unnecessary. They will prevent errors in cases where some edge case occurs. In this case, it was possible for an input with negative value to be spent and thus this check would come into play. That would occur if someone updated their node following the block with the bad transaction, but did not rollback their blockchain. If the owner of the negative output had spent it, this check would have prevented the node from accepting the transaction.

While it's not valid on the Bitcoin network for inputs to add up to a negative amount, or to more that 21 million, the computer doesn't innately know that - it needs a program to instruct it. Your link is to one point in the bitcoind program where the computer is instructed how to tell the difference between valid, and invalid, transactions.

You can also think of your assertion "it’s not possible to have enough utxo" another way. One reason it is not possible is because of the IF statement you point to: remove the check, and suddenly it IS possible (later code withstanding.)


Has PoS really been proven secure under comparable assumptions as Bitcoin? I am just reading this paper which claims to be a formal proof that Cardano's latest Ouroboros PoS protocol ("Genesis") gives similar security guarantees than Bitcoin's PoW protocol. Unfortunately, it is 64 pages long and presupposes a lot of earlier work that I need to get comfortable with, as well, so even though I am relatively confident in my understanding of these things, a thorough evaluation will take me quite some time.

So I was wondering if anybody (say Andrew Poelstra, Pieter Wuille?) had already checked this out and could give their opinion. Because on one hand this is a very bold claim that would invalidate the folklore view on this topic (PoS has fundamental security issues that can't be overcome), and on the other hand the authors seem quite legit and serious in their approach.

I do realize that even if it were true, this doesn't mean that PoS is useful for bootstrapping a system like Cardano. But couldn't it be an alternative for Bitcoin, say, after another one or two halvings?

The Ouroboros line of work proves security comparable to Bitcoin's security. The proofs of security in Ouroboros are similar in style to the Backbone proofs of security, which show that Bitcoin is secure. To my knowledge, there are no alternative proofs of security for Bitcoin which are formal - these are the best results we know of that illustrate that Bitcoin is secure, beyond informal hand-wavy non-mathematical arguments (such as "but you can't find a security bug, so it must be secure").

In both of these settings, there are certain assumptions made, which are as follows:

For proof-of-work, in the first version of Backbone from 2014, Bitcoin was shown secure in a synchronous model. This model splits time into discrete portions ("rounds" in Backbone, "slots" in Ouroboros) during which the players are allowed to mine and then broadcast any blocks found throughout a round. Messages sent during a round are anonymous (i.e., unauthenticated) and can be reordered by the adversary (hence the need for a consensus protocol). The adversary is also "rushing" in that it can use its own mining power after it has observed what the honest parties have done during that same round and prior to allowing messages to travel on the network. The assumption is that no messages are lost. This is a necessary assumption to prove Bitcoin secure - if the network is split, then you can't hope for your 50/50 honest majority to continue creating the longest chain.

The synchronicity requirements were relaxed in the current version of backbone revised in 2017 in which the model is semi-synchronous. The first version of Backbone also showed that Bitcoin is secure if the difficulty is kept constant. A follow-up work on Backbone from 2016 showed that it remains secure in a variable difficulty setting. These proofs hinge on an honest majority assumption which is made precise in the papers. More precisely, it is required that the adversary has mining power which is lower than the honest mining power by a fixed constant which makes up for non-uniquely successful rounds (i.e., rounds during which multiple honest parties find a block and hence will cause a short accidental fork on the blockchain).

The assumptions in the proof-of-stake setting of Ouroboros are similar network-wise to Backbone. The model is mostly borrowed from Canetti's Universal Composability framework, in the sense that there exists an environment which can influence the execution. Proofs in the "environment-including" model are powerful in that they can speak of any execution in which the adversary is able to tell people exactly what to do beyond the requirement that the honest parties run the honest protocol. For example, the adversary can corrupt players of their choice.

In Ouroboros, the assumption which is dual to Backbone's "honest mining majority" is "honest stake majority", i.e., that at any moment in time, the majority of stake belongs to the honest parties. This is a strong assumption which may or may not hold true, so it depends on what you're willing to accept. Another assumption made in Ouroboros is that stake shifting is bounded. This seems like a reasonable assumption: It means that all money cannot change hands instantaneously. However, the construction hinges on this bound to specify the security parameters such as epoch length. In the practical system, these parameters take concrete values which allow for specific bounds to be attained.

Ouroboros Praos achieves better security guarantees than Ouroboros: It allows the adversary to corrupt any honest party instantaneously, whenever she feels she needs to. This is a strong adversary (hence the system is more secure), and is also a similar assumption to Backbone. For proof-of-stake, it's an important achievement, as the adversary could retroactively corrupt parties who were successful in staking a block so that she can create multiple competing blocks. To my knowledge, practically deployed proof-of-stake chains such as Blackcoin do not enjoy such guarantees (and really cannot make any claims, since they do not have security proofs).

Ouroboros Genesis makes the above results stronger in that the parties are dynamic (and can, e.g., go offline) and the security is proven in a stronger model.

All of these works (the proofs for both Bitcoin and Ouroboros) also use the Random Oracle assumption, which some cryptographers dislike.

All of these approaches are comparable to other lines of work such as Snow white and ALGORAND. In my opinion, Ouroboros achieves better guarantees, has good design decisions, has formal security proofs, and functions in a model that is quite similar to proof-of-work-based systems (especially Praos). It would take an extensive analysis to compare them all side-by-side.

In the end, whether you are happy with the security assumptions and threat model in these works is up to your requirements. Overall, these works achieve some good guarantees, but some results are left to be desired. For example, honest majority may hold most of the time, not all of the time, but there has been no exploration of whether security is guaranteed in these settings (neither in Bitcoin nor in Ouroboros). I do suspect that Bitcoin is more resilient to extreme conditions, but no such guarantees have been proven.

Generally, one thing to note is that these limitations/assumptions also hold for Bitcoin: The best formal proofs we have for Bitcoin work in a limited model which is close, but not exactly the same, as the real construction. To conclude, Backbone is the best analysis we have for Bitcoin, and it makes an analysis which is comparable to Ouroboros. Hence, its security guarantees do match the security guarantees we have for Bitcoin, if you equate staking honest majority with mining honest majority, at least as long as provability is required.

If you'd like to understand these papers yourself, and judge for yourself whether they achieve your desired outcomes, I recommend that you read the GKL Backbone paper first. You can read the first portion where it talks about Common Prefix, Chain Quality and Chain Growth, as well as Liveness and Persistence. Then I recommend that you read Ouroboros, maybe followed up by Ouroboros Praos. These should give you a good idea of what this line of work is about. You're right that understanding Ouroboros Genesis has a lot of prerequisites. You can get a good understanding of the results regarding the security of proof-of-stake without reading that particular paper though.

Disclaimer: I am Aggelos' PhD student (Aggelos wrote Backbone, Variable Backbone, Ouroboros, Ouroboros Praos, Ouroboros Genesis - I did not contribute to these papers); my current scientific work is used in Cardano, which is an implementation of Ouroboros. My view may be biased.

You'd need to define what you mean by 'security' in this sense.

Leaking signatures is always a possibility and is implementation specific, but overwriting (and effectively nullifying the transactions) the block with sheer hashpower, which you can summon on demand isn't preventable.

You can't force or predict when a stake will occur, hence the problem.


Is it true that Paypal banned Bitcoins, while Google Checkout did not (yet)? Paypal claimed they were not allowed to sell Bitcoins, while currently it seems Google Checkout is a viable option.

So ... what's the story on this?  Is this true, and if so does anyone know why?

I can't speak for why Google Checkout seems to have no problem, it may simply be that they are unaware of Bitcoin as of yet. Edit: A Google Checkout employee has replied that they explicitly allow virtual currencies - at least for the time being. PayPal, on the other hand explicitly bans "the sale of traveler’s checks or money orders, currency exchanges or check cashing" in section 3(f) their acceptable use policy.

Presumably because Paypal is an arm of eBay which has to tread water on its own, making Bitcoin a fair threat, since it does away with the standard payment processing system.

Google Checkout is just a service of Google, which doesn't really factor into Google's overall earning strategy.

Also, google tries to appear nerd chic, which is easier if you don't anger your IT guys.


How much bitcoin can be mined with intel core i5 pc with external graphic card? I know ant miner is required to earn some cash, but am curious to know that how much bitcoin can be mined per day with a pc if it has the configuration like :

processor= Intel Core i5 6600K 3.50GHz 6th Gen. Processor

motherboard= MSI B150M Mortar DDR4 6th Gen. LGA1151 Socket Mainboard

ram= Twinmos 8GB DDR4 2400 BUS

graphics card= MSI GTX 950 2GB

-Thanks.

Less than the money that it will cost to you for sure.

I think It would take you a bunch of nights to get the minimun to get paid by the mining pool so you could even earn 0 Bitcoins.


I've tried everything from mining bitcoin to litecoin to other altcoins....why do I have no luck? I am a beginner in the blossoming culture of crypto-currency, and unfortunately, it's beginning to feel as if 2015 is too late of a year for a laptop-user such as I to be able to start mining.

I'm running an Intel HD Graphics 4000 GPU, and an Intel Core i5-3230M CPU at 2.6 GHz. No, I do not have an ASIC, but I figured I'd at least be able to scratch out a few cents per month with what I have, not taking into account electricity or what not.

Immediately upon beginning to mine Bitcoin (BTC) using Slush's pool, which when I tried to mine was actually the newly updated stratum server 'bitcoin.cz'. I only got a hash rate of about 2-12 Mh/s, and the pool did not even recognize that the worker I had registered was mining. I have heard of people with relatively similar specs getting a rate of even 100 Mh/s, but I figured that this was just an issue of Bitcoin's colossal difficulty at this point of its lifetime.

So, I then looked into Litecoin (LTC). This time, my GPU was not even recognized by any mining software that I would try. I looked into updating the drivers and SDK's, and still I had no luck.

Finally, I decided that perhaps I could get away with mining some unique Altcoins, and due to the over 300,000% increase in profitability over Bitcoin at the time of writing, I chose to try to mine Diamond (DMD) and then try to exchange my profits for a fraction of a bitcoin. At this point I was not even mining for profit, but for the satisfaction that something was working. I configured my miner, and of course, my hash rate displayed at about 2 Kh/s on my GPU. Again, the mining pool (Danbi's pool) I had chosen to use did not even register that I was mining, and even after hours I made absolutely no profit.

So, after giving you all of this information, I ask of you this: Is it too late to mine any crypto-currency without spending huge amounts of money in mid-2015? At this point I do not even need to make profit, I'd just like to see that I have a fraction of a coin in a wallet somewhere (I did set up wallets for each and every coin I tried, mind you). Does anyone have suggestions as to what I'm doing wrong? I understand that what I'm doing is not profitable, but is it to the point that whenever I mine I really can only make 0.0000000 BTC/month (I'm not joking, that's the stat I keep getting)?

I would pay you for your help in Bitcoin, Litecoin, or some other currency...but due to the suddenly centralized nature of mining, I can't.

Sincerely,

A very discouraged Bitcoin enthusiast.

Laptop mining worked well in 2009. It is no longer 2009.

Your integrated Intel GPU has the speed of a CPU, not a fast gaming GPU. Even in 2011 when CPU mining was dying and people mined on GPUs your GPU would be too slow.

Yes, "even" people with 100 MH/s can't mine anymore. That's because 1000x that speed (100 GH/s) is slow at this point. 1 TH/s (1 000 000 MH/s) is OK for a small mining-at-home operation.

If you go way beyond laptops with Intel graphics integrated in the CPU, to small USB sticks with ASICs, even those are useless now. Some people pay $5 or $10 for a 1 or 2 GH/s USB stick (much much faster than your laptop). Not only is this incredibly slow, but it will never break even because the price per GH/s is extremely high.

What you need is a 1 TH/s ASIC machine, or faster, and electricity at a good price. You need to get this machine at a good price per GH/s or it will not break even. Make sure you take the price of a power supply into account as well if it is not included.

We are now summer 2015 and I absolutely agree with @Dr.Haribo's answer.
Don't even loose your money If you want to start with something below 1Ths and electricity cost above 6cent/Kwh. I suggest www.tradeblock.com/mining/ calculator tool to get an idea about possible income.

Hope that this helped.
Happy Mining Folks, talk to you soon.


cgminer not working on deepbit.net I installed Cgminer and created the batch file to run it

cgminer.exe -o http://pit.deepbit.net:8332 -u myemail@gmail.com_workerName -p s3cr3t

but when I run it I get

[2013-05-21 00:39:34] Started cgminer 3.1.1
[2013-05-21 00:39:34] Probing for an alive pool
[2013-05-21 00:39:38] Pool 0 slow/down or URL or credentials invalid
[2013-05-21 00:40:34] No servers were found that could be used to get work from .
[2013-05-21 00:40:34] Please check the details from the list below of the servers you have input
[2013-05-21 00:40:34] Most likely you have input the wrong URL, forgotten to ad d a port, or have not set up workers

Does anyone know what I'm doing wrong?

I'm the author of this question and it worked when I tried again next day.

Replace the workerName with a worker name for your account


How address balance is calculated? It does not seem practical to scan every transaction on a block chain to determine the balance for an account.  As the block chain grows this seems even more difficult and resource consuming. Perhaps all the transactions are grouped into what we used to call a record, specifically a variable length record.
address..trans1, trans2, etc...transN  for the last transaction.

Bitcoin uses the so called UTXO (Unspent Transaction Output) model.
The first time it is not very intuitive because it is different from the traditional accounting model where you just spend from and send to an account.
Think about full piggy banks that can't be filled more than they are and that you have to break open before being able to spend the content:

1) Bob has 1 piggy bank, he wants to pay Alice with half of the piggy bank's content
2) he breaks his piggy bank
3) he takes half of it and gives it to Alice, who will put it all in a new piggy bank belonging to her
4) you put the remaining half in a new smaller piggy bank belonging to you and which is waiting to be broken open.

Each piggy bank/UTXO is linked to an address.
A Bitcoin user can of course have several UTXOs related to his address. The sum of the UTXOs gives the amount of bitcoins owned by the address (which is one of the function of wallets).
Each transaction input is the output of a previous transaction.
Although wallet software gives the feeling that you "transfer" bitcoins or satoshis, you don't spend from an account you spend UTXO.
You spend from transactions previously made to you.

Edit:

Address Balance Calculation

An address balance is calculated by adding up all of the values of the unspent transaction outputs (UTXOs) that are spendable by the key pair corresponding to that address.

Storage Structure

To answer the broader question: "why do you scan every transaction on the entire blockchain to determine your balance?"

Bitcoin core does not need to know the balance of an address in order to do validation. It does, however need to be able to scan through all previous transaction outputs in order to validate new ones. To do this, it scans a generated indexed database (by txid) of all transactions for the previous outputs referenced by a new transaction, and verifies that the signature satisfies the previous output (UTXO). Note this only requires scanning unspent outputs not all transactions.

Optimizing this data storage for balance calculation by indexing by address and txid might make balance calculation easier, but it isn't necessary for validation and would be at the expense of transaction verification efficiency. It is better to leave this to a wallet application for the sake of the network.

Previous Answer:

The previous answer explains how to index transactions in bitcoin core which can help a wallet or block explorer determine an address balance more efficiently.

You can index the transactions on the blockchain to make it more easily searchable. Bitcoin-core allows this using the -txindex=1 flag.

From the Bitcoin Wiki:

txindex | Maintain a full transaction index, used by the getrawtransaction rpc call (default: 0)


My wallet hasn't synchronized, can I make a transfer? My wallet hasn't synchronized, can I make a transfer?

I'm assuming that the transaction will not come up on my wallet but im guessing it would come up on the person I send too?

Yes, making a transfer works pretty fine with the Bitcoin-Qt wallet.
However, the transfer won't be submitted to the network until your local client is up to date. Up to this point, the transaction is shown in your local wallet but not in the global network.

As an alternative you could use another wallet, for instance Electrum (http://electrum.org):
Electrum is a wallet that connects to servers that are already synchronized and thus will give you immediate results as well.

A solution would be to conduct an offline transaction which would be able to be submitted for confirmation immediately. There is a decent reddit thread chatting about the process.


I sent bitcoin to someone and did not get paid I sent Bitcoin to someone who promised to pay me in cash personally once he received the Bitcoin in his BitPay wallet. But once he got the Bitcoin, I  never got paid by him. Is there anyway I can do something about this matter?

Does Bitcoin have a function that would allow the BTC you sent to be returned, No.

The only way to get the BTC back is if the recipient makes a new transaction sending the Bitcoin to your receiving address. If the recipient will not do this, you may think about contacting a lawyer.

Too bad so sad, you learn a lesson.

The person could be poor and pussy and a little son of bitcoin. anyway, sorry for the loose.

Make sure to ask the person for the payment first then you send it.


Is it possible to reject a bitcoin payment? Say someone sends bitcoin to an address. It is later determined that those incoming funds are tainted and the recipient wants no association. What is their recourse?

The protocol doesn't include a way to reject transactions, for a variety of reasons (the protocol doesn't know which output is real and which is change; blocks can't be changed after being mined; etc) but it is possible to do something similar.

Accept payment, then return it

Pick one of the funding addresses at random, then send the coins back to that address.
Accept payment, then destroy it

Send the coins to an address that doesn't have a private key associated with it, like 1BitcoinEaterAddressDontSendf59kuE.

Implementations

To my knowledge, no client implements an easy way to do either of these things. The best way would be use coin control to select the offending output, then make a transaction that returned/destroyed it.

Personally I would make a new wallet, then delete it. Mostly because I don't know how to spend it as a miner fee.


What is the most cost effective way to exchange USD for Litecoin? Also, what risks are involved? Do the service(s) have a long track record?

You could try looking for someone to trade you USD for litecoins in your local area in person, through Bitcoin OTC Exchange, or perhaps BTC-E or some other online exchanges.

In the first case the risk should be fairly small, although it might take a long time to find someone, get in contact with them and so forth. Not to mention the exchange rate might not be in your favour.

The second option should give you better results, but you'd have to make sure you are dealing with someone reputable enough for your trade. However, finding an exchange rate in your favour might not be too easy.

Third option is probably the safest and the exchange rate should be reasonable. The main problem you might face with established exchanges is possibly having to register on them with your documents to avoid your account and funds being suspended due to Anti-Money Laundering laws and regulations.

I recommend Litecoinlocal. However, from time to time I use http://bitbay.net.


Almost a month, transaction still not confirmed... help? I sent a transaction of 0.12 BTC with a fee of 11 sat/b. I expected the transaction to take a while to send, like a week, but it's already been almost a month. Is there something I can do to boost the transaction? A month ago I also sent a transaction of 0.03 BTC with a 15 sat/b fee and it took 4 hours to confirm. I didn't expected the 11 sat/b fee to take so much longer...

You can enable in Copay/BitPay Wallet the option for use unconfirmed spents... So you can re-send it with a fee greater than the last you used


What methods could a government use to shutdown Bitcoin? Let's say that a government decided to shut down the Bitcoin network. What options would they have to achieve this? Would they need to convince other governments? All governments?

Let's set as a precondition that they were able to scare away all the developers, so the Bitcoin community could not adjust the software.

Honestly, I think the best way for the government to shut down Bitcoin would be as a secret project. Simply construct a VLSI ASIC miner built using 40nm/1Gtransistor technology and build 100,000 of them. Effectively make them appear distributed around the world using VPNs, the bandwidth is low. Then execute frequent 51% attacks on the Bitcoin chain to "unconfirm" transactions to major sites. Confidence in the Bitcoin system would drop to nothing.

Another trick would be to switch the miners off and on unpredictably. If done right, this could lead to hours between confirmations at some times.

One can imagine the community responding to this in a coordinated way to develop a workaround. But if you assume subversion and interference in that process, such a response could be avoided.

Of course, they could also summarily execute anyone found using Bitcoins. It's effective too, but also pretty unlikely.

Easiest way is to kill power/internet that the network so desperately needs.


Sent bitcoin with no history of transactions I sent 0.029044 bitcoins a few hours ago to this address 16CCgdxQ1qc89Yp2rZwzBx4Pfw83DtCyrP but don't see them yet. My account balance has become zero with no history of transactions. What should I do? Can I return the bitcoins? How to see a transaction if it is not in the history?

Everything is fine, the bitcoins are back.
With some peculiarity:)


Mediated transfer of funds between three parties Alice wants Bob to transfer 10btc to Carol, and is willing to pay Bob 11btc for the transfer.

They both entrust Trent to mediate the transaction, and Alice is willing to pay Trent 1btc as commission.

What is the correct and most secure protocol for performing this contract?

Edit: does the following protocol make sense?

Alice broadcasts a transaction (Tx1) with 2 outputs:

11btc with an output script specifying 2-of-3 multi-signature verification, specifying Alice, Bob and Trent as recipients
1btc to Trent (commission)

Bob verifies Alice's transaction:

Verified: Bob broadcasts a transaction (Tx2) sending Trent 10btc
Rollback - Bob is unsatisfied or fails to transfer the funds to Trent: Trent broadcasts a transaction (Tx3) sending Alice her 11btc back, specifying Tx1's first output as an input and signs the input. When Alice wants to spend Tx3, adding her signature to the input satisfies the 2-of-3 requirement (and the process stops here)

Trent broadcasts a transaction (Tx4) sending Bob the 11btc, specifying Tx1's first output as an input. When Bob wants to spend Tx4, adding his signature to the input satisfies the 2-of-3 requirement
Trent broadcasts a transaction (Tx5) sending Carol 10btc, specifying Tx2 as an input

Your protocol makes sense, but i would modify it as follows

the 1btc sent to trent should also be mutlisig with Alice's signature as the 2nd one, so that if Trent fails to do what he promised he gets no commission. ((the 1btc will stay in limbo, unless Alice and Trent can somehow work this out)
The Tx2 should also be multisig and Carol's signature should be added, that way Trent can't run with the money.

There is BTCrow (http://btcrow.com/) and ThruCoin (http://thrucoin.com/create), which both look like they will perform the services you need.


51% attack - apparently very easy? refering to CZ's "rollback btc chain" - How to make sure such corruptible scenario can never happen so easily? I was shocked to see binance CZ comment to literally "roll back" the bitcoin chain by just "calling" in some favors from "friendly" Asian miners .

This ONE person could effectively do it???  I mean are we all in a bubble, in some kind of utopia then, to think that the chain's decentralization makes it "bulletproof" and resistant to collusion by miners?

(1) This is fundamental question:  How are our highly regarded and brilliant Devs of bitcoin explaining such situation where only a handful of persons´ interests could essentially be enough to do a majority 51% attack?

(2) And secondly, are there active debates about how to mitigate such situation in the future, what technical aspects implemented in the btc chain (or to be implemented) could be helpful?

This huge mining farms are essentially very disturbing. it is like  in proof of stake , where the "richest" has most power. And in the PoW mining case , its similiar just that the "biggest hardware" has most power.

we have to try somehow to eliminate such easily corruptible scenarios, right?

in todays digital world, there are plenty of collusion examples of even more than 1000 different persons involved.

Handful of colluding majority miners would be a piece of cake, right?

Thank you for explaining to me this issue . I hope sincerely that this is taken up by our awesome dev community, or maybe I am just misunderstanding everything.

Disclaimer: I believe this question may be primarily opinion-based and not very appropriate for this site, but there are a number of technical misunderstandings that can be clarified along with it, so I'll give it a shot.

There are many nuances involved here, and I fear that a large part of them didn't reach as much of an audience as the exchange announcing "we decided not to do it". I believe this was a poor choice of words, as the decision they made wasn't whether or not to roll back the chain; only whether or not to offer a bounty for doing so. I personally believe it would be very unlikely that the alternative would have actually resulted in a deep rollback.

Let's analyze the situation from a number of perspectives.

If we only consider miner's actions, is it theoretically possible for them to roll back the chain? Yes. If you're wondering if there is a small number of mining company CEOs in the world, which, if all together convinced, with complete disregard for their own financial interests, the health of the network, or legal repercussions, could decide to roll back the chain to a point before the theft, the answer is yes. This is the reason why people care about mining decentralization, and permissionlessness of entering the mining market. However, unless it's not just a majority of the hash rate that is on board with this, but actually close to all the network's hashrate (a substantially harder problem, as there are many small miners in addition to the few big ones), this would likely have take days or even weeks (if it's close to 50%), a time during which many things can happen - including a public outcry and a UASF-style fork to prevent the rollback from being accepted by the ecosystem. If considered over an even bigger timescale, events like this may even incentivize people and businesses to become miners, in order to reduce the influence of large pools.

Assuming miners maximize short-short term profit, would it be financially interesting to rollback? No. Even if we assume that everyone in the network is acting selfishly to try to maximize their own (short-term) profit, and ignores the protocol rules and the possible repercussions from doing so, it is not. By the time the information about the theft became known, the transaction was already confirmed several hours before. During those hours, miners had created dozens of blocks, which together earned several hundred BTC in subsidy and fees. The exchange would need to offer at least that amount to the affected miners, to compensate them for the income they'd lose from rolling back those blocks, before it would even be worth discussing. Let's call this the rollback cost R. As the stolen amount was in the thousands (let's call this S), that seems like a reasonable option. However, nothing prevents the thief from using (part of) the stolen funds to do the same. Every BTC offered by the exchange above R can be countered by an equivalent amount offered by the thief. And then it becomes clear that the thief has the upper hand: the exchange can at most gain S-R by a rollback, but the thief stands to gain S by not having a rollback. A theoretical possibility is a bidding war between the exchange and the thief, where both increase the amount paid to make miners act in their favor. The end game of this is that the exchange offers S-R, the thief offers slightly more and keeps R, and miners are paid S-R by the thief, and no rollback happens.

What would happen in the real world? Theoretical models are interesting to study, but in reality many more practical considerations exist. I believe those too are generally in favor of no rollback:

Coordination between distrusting miners (especially close 100% hashrate) is hard, and would take time. The more time it takes, the less advantageous a rollback becomes (see the above point), and the more damage would be done to the ecosystem (see the next point).
An hours-long (in the very best case) or a weeks-long (in the worst case) rollback would monumentally hurt the ecosystem, and likely undermine the public's confidence in the system to the extent that it would severely reduce the profitability of many parties involved (including miners and the exchange itself!).
Even ignoring all the above, miners may not be willing to take a bribe to rollback because of legal reasons if they're publicly known (which they mostly currently are). They may equally not want to take stolen money as a bribe, so this cuts in both directions. This point becomes weaker if the mining ecosystem is more decentralized, but that would also make coordination harder.
As I pointed out above, in the extreme scenario where such a rollback is actually happening, the public has time to react. If a sufficiently large group of economically relevant parties in the network refuse to accept the rollback, miners have no choice but to go along with that. This is a last-resort option, and likely damaging to the ecosystem on its own, but it is an option.

So to summarize: in theory there are absolutely ways in which a rollback could happen, and it's good to be aware of those. In reality, the security of the system relies on economic incentives already which are nontrivial to analyze. It however seems very unlikely that in the case of a theft a deep rollback is a reasonable outcome.

Reverting a few blocks of advance is an event that is in the realm of the regular workings of the network, it would also be too fast to trigger and deploy the social resilience (aforementioned potential UASF) of the community.  The exchange could create transaction(s) that forges an ad-hoc majority coalition of miner, who if only replace the hacker transaction, but otherwise do not alter previously created blocks' payload were unlikely target of any lawsuits. Miner who would accept a counter bribe of the hacker however would be certainly sued. Whether such an incentivized re-org is feasible depends mostly on the preparedness of the exchange and the miner of acting on an offer within a very short time frame. This was clearly not the case with Binance recently. An incentivized re-org can be done and could happen as sophistication of actors using the network improves, arguing strongly as if something technically feasible can not possibly happen creates a false sense of finality and security by only a single confirmation.


Looking for a comprehensive ICO dataset (prices & dates) I'm working on a short research project on the performance of ICOs and how that relates to the overall sentiment in the crypto market. Unfortunately, I've had no luck so far looking for the required data. I need data on ICO dates and prices as well as price series for the post-ICO period. I've so far only found disjoint sources and no comprehensive dataset. Can anybody point me in the right direction?

Thanks!

I'm developing an open source software to unify all these disjoint sources in one database. I've found an interesting free API service (IcoBench) that have a lot of information for ICOs, like prices, team, even ratings and a lot of more. The post ICO prices are not stored, but you can use coinmarketcap.com for search historical prices after the ICO was ended and be launched to the markets. I've developed an API wrapper and web scraper for that page that works in Python, check out.

I will advise when the project will be more advanced. Currently, this kind of open source unification is a huge neccesary work in cryptoworld. Cheers!

here another sources to complement... https://www.dropbox.com/s/m53zfszs6oldtn0/ICO%20Data%20Export.xlsx?dl=0
you may find here some info with datasets
https://medium.com/@MLJARofficial/predicting-ico-returns-with-machine-learning-af6108ab9e39