Why did Satoshi design Bitcoin to be mineable only on specialized hardware, if the goal was decentralization? GPU-mineable cryptos are arguably more decentralized.

Did he simply miss this design aspect or does this sound fishy to you?

Bitcoin was not designed to only be mineable with specialized hardware. When Bitcoin was created in 2009, ASIC miners did not exist, SHA256d ASICs did not exist. Even GPU mining software did not exist because mining was a completely new thing. Bitcoin's difficulty was low enough for Bitcoin to be CPU mined on a laptop.

However over time, as more and more people began using and mining Bitcoin, the difficulty increased. Eventually someone figured out how to do GPU mining and wrote software for it, so Bitcoin moved on to GPU mining. Eventually someone figured out how to mine Bitcoin using FPGAs (Field Programmable Gate Arrays) so Bitcoin moved onto being mined with FPGAs. Eventually someone figured out how to build ASICs (Application Specific Integrated Circuits) for mining Bitcoin, so Bitcoin moved onto ASIC mining.

Satoshi did not intend for Bitcoin to be mined with ASICs (or even GPUs or FPGAs); it was meant to be mined on CPUs, but over time, as technology advanced, people figured out better ways to mine.

Once upon a time a golden dragon arose from its 12-year slumber gazing across the mortal realm.  Its booming declaration in fiery breath through pursed lips and laser eyes like slits echoed from sea to sea: "Ridiculousness," roared the dragon!
The People in unison wondered, "WTF?"
Think, People.
There is an amobinable snowman's chance in Hell that Satoshi would have created a system promoting huge concentrations of power and unnecessary waste.
Also, would Satoshi define "Proof-of-Stake" as proof of how rich you are?  More money = more votes; sound fair to you?
Is that peer-to-peer?  Or is that peer-to-huge-unaccountable-corporation-who-tells-you-what-to-do?
Answer for the OP: Satoshi did not design a decentralized P2P system for exchange with expensive custom hardware in mind.  Common sense dictates that is obviously contrary to the entire ethos of decentralization.  There are many ways to design a system that defeats all the silly inefficiencies we are witnessing. For example, what if the Proof algorithm was cooperative rather than adversarial?  What if it was about ordering or alphabetizing, duplicating and verifying such that the CPU cycles peers spent on calculations built upon and agreed with each other.  Ohh of the top of my head, what if it was about averaging transaction timestamps and ordering them in a chain based on the # of times their info was duplicated.. say X number of times instead of N times.  i.e. 6 or 10 duplications of transactions instead of a million duplications, for every single node, which come on... why is that necessary?  If the blockchain historical proof of what happened is sufficiently far back in the blockchain such that everybody agrees on it, then why wouldn't 6 or 10 duplications suffice?  Everybody doesn't need an exact copy of everything that happened.  They just need to agree on what happened.
I'm sure several independent blockchain implementations/organizations of thought this through and even worked out the bugs and have implemented working solutions, by now.  That's the way to get stuff, a lot of stuff, accomplished at low cost: give your ideas away for free and ask for suggestions.
So there is your answer: forget about it.  Find a solution that does what you want then use it. []
Anyways, there are far more pressing existential issues we must address since the money issue has been resolved.  Such as interplanetary warfare.


Getting a "couldn't connect to server" error on getblockchaininfo When I give the following command I get an error after a LONG lag (maybe 15-20 minutes):

~: bitcoin-cli getblockchaininfo
error: couldn't connect to server

Why?

Are you doing that remotely? if so please make sure that your port is open.

sudo ufw allow 8333

Also can you provide us with the last a few lines of debug.log file.


What Value does mining provide? After reading the O'Reilly book and perusing online resources, I'm still confused about the value that the actual mathematical mining provides to Network (I understand it does provide value, but not clear how).

It seems like once a miner has verified transactions, the really valuable work for the network has been done. And when it starts hashing to win a competition for 25 btc, it's just playing a game that has the sole purpose of adding currency to the network (which I understand is important, no central govt. etc). I don't see how this hashing to find a value less than the difficulty actually provides a real service to the network such as verifying transactions.

Before I jumped into learning about bitcoin, I just assumed the math problems the miners were solving related to detangling or decrypting transactions, but I see now that's not the case. If the competition was a race to verify transactions, that too would make more sense.

Can anyone explain the value of this mathematical race?

As you mentioned, bringing coins into the network is one of the main purposes of mining. But this reward is just an incentive to do the other more important part of mining: 'processing' transactions.

Immutability

As detailed here, when a block has been solved, not a single bit can be changed without invalidating it.

This means that all of the transactions in the block have been processed, and are 'final' in the sense that they are in the blockchain and will not change (assuming that block is a part of the best/longest blockchain). Imagine how bad it would be if you could change the transaction ledger to mark someone no longer being paid, or not being paid the amount that you said you paid them.

Security

Requiring billions of mathematical steps to be taken to solve a block means that it is very hard to accomplish. Honest miners that mine on the tip of the blockchain get rewarded for this in the form of bitcoins. But attackers who try to go back in history and replace old blocks with new blocks are at a disadvantage because doing so requires an enormous amount of hash power.

While the attacker was going back and trying to re-mine old blocks, the rest of the network continued mining on the tip of the blockchain, making it even harder for the attacker to catch up. Hence, for someone to create blocks faster than the rest of the network they have to be in control of >50% of the network hash power. This would take millions of dollars, currently.

I may be wrong but i think all the mining does is advertisement. That's why you see many well known cryptocurrencies drop mining profitability after a while when they get momentum. All the advanced securing, finding coins or making transactions in mining an other mambo jambo technical terms that no one really understands is nonsense - way more efficient ways could exist to do the same. A cryptocurrency is very often willing to pay a hefty price to miners in hopes to get as much media coverage as possible. This attracts investors. The rewards for mining gives a false impression about it's value and it actually drives the price of cryptocurrency down, because many miners will convert it to money instead of keeping it - this are people that get money from the cryptocurrency's value without investing actual money in it. On other hand having investors fooled that mining is useful for the cryptocurency gives a strong impression that it's value in the future is secure and stable.
If anyone let's say had 50 billions right now and wanted to create a new cryptocurrency and gave 2x-3x rewards for mining compared to other cryptocurrencies, first - all the miners would leave other cryptocurencies and it would arguably become #1 cryptocurrency shortly after  because of the media coverage and investors, not because mining actually does anything to it's value.


Transfer to Bitcoin ABC wallet is waiting for full download I'm fairly new to cryptocurrency and decided to transfer some of my LTC to BCC using a Bitcoin ABC wallet on my MacBook. To test the wallet I already transfered 1 BCC to the generated adres. I was not aware that this wallet had to download the whole blockchain before I could use the wallet. Now I'm unable to reach this one BCC... Is there any way around downloading the whole blockchain to my MacBook? I'm at 2% increase per hour, around two days waiting for me??

You could use wallet software that does not require downloading of the blockchain, in the same way electrum.org does for Bitcoin.


What is the rationale behind Bitcoin mining? I don't understand the logic of "mining", if bitcoins are a digital currency, why do we need a GPU to "make 'em"?

Why do we mine?

We need to all agree on who owns which coins.  If your idea of who owns what is different than mine then how can we trade?

To achieve this, the Bitcoin protocol keeps its ledger of all transactions in a series of blocks, with each block recording a collection of transactions.  Since we don't have a central authority to declare which blocks are valid, we run a 'lottery' instead.

Each miner bundles up all the new transactions he knows about, adds in an extra transaction which creates some coins out of thin air and pays them to the miner, mixes in a random number and hashes the whole thing.  If he gets a hash less than a certain number, he wins and his block is added to the blockchain.  If not, he tries with a different random number, over and over.  Everyone else can verify that his random number with his transactions hashes to a low enough number, so they accept his block.  The network periodically adjusts what this target "low enough number" is, in an attempt to keep the average speed of block generation at about 10 minutes.

Why do we need a GPU, not a CPU?

You generate coins by calculating hashes.  Each hash you calculate has a certain chance of making a block, and earning the associated reward, which is currently 50 coins.  The faster you can calculate hashes, the more chance you have of generating 50 coins.  It just so happens that ATI GPUs have the right kind of hardware in them to calculate sha256 hashes many times faster than an Intel CPU can do it.  That's why people use GPUs instead of CPUs.

The Bitcoin network automatically adjusts the "chance per hash" to try to keep the global rate of generation at one block every ten minutes.

In the beginning, before GPU mining started in earnest and not many people were mining, CPU mining worked just fine.  But as more people joined the network and hash rates became faster, the network difficulty increased to keep the blocks coming along every 10 minutes or so.  As a result, CPU mining became less rewarding per CPU.

Then when it became more common for miners to use GPU hardware to mine because it is so much faster and more energy efficient than CPU mining, the global network hash rate increased still further eventually making it completely useless to mine with a CPU; the expected rewards are less than the power consumed by the CPU.

Maybe one day FPGAs or ASICs will render GPUs useless for mining, like GPUs already did to CPUs.

The term "money doesnt grow on trees" springs to mind. Ask yourself these questions for now.

Where do we distribute wealth?
What gives it value?
How can we stop people making forgeries?

All these problems can be resolved by requiring complex computational algorithms that require you (or your hardware as the case may be) to work out.

Using cryptography we can use a distributed system, give it rarity due to the supply at which they can be created and highly improbable for someone to make a forgery (or double spend a transaction in this case).

These are only a few of the possible scenarios which rely on cryptography to solve problems with Bitcoin.


What benefits does Bitcoin have that other cryptocurrencies do not? I have heard several times Bitcoin being called "the king of crypto." It makes sense when you look at how the coin surpasses all the altcoins in terms of market capitalization and trading volume. No doubt that BTC is dominant in the crypto market.

Why? Why do people prefer to buy Bitcoin over other cryptocurrencies? If you disregard the sheer popularity of the coin, I don't see what other value it has and why there is such a high demand.

The most notable argument is that people buy BTC for international money transfer and buying/selling. However, it seems that BTC would not come close as a perfect candidate for that. Stable coins (ex. Tether) having less volatility would be much better for such transactions. It seems pretty obvious that people and stores buying and selling in stablecoin would be so much better. Using such alternative can provide trust for customers and sellers that what they thought they paid or accepted will actually be what they thought of the upcoming day.

There are a lot of perks for using cryptocurrency. Transaction fees are minimal and transfer is speedy. There is potential for international money transfer, and it is not really tied down to massive regulation and manipulation. However, I'm just not finding the perks of why BTC is the best coin to do all these things.

If Libra is introduced as a stablecoin with a company like Facebook supporting it, why would there be a demand for BTC? Why is there still demand today when Tether can serve as a stable medium of transaction?

Ultimately, is BTC mostly only bought for investment/speculation or is there a real use for using this currency today where there are so many other altcoins to choose from?

Why do people prefer to buy Bitcoin over other cryptocurrencies?

There are many reasons:

Liquidity

Bitcoin is the most capitalized market amongst cryptocurrencies, and that is an important measure for any form of money. If it is difficult to trade a form of money without crashing the price of it, then it is not a very useful money in the first place! As liquidity grows, more economic activity can occur using BTC (liquidity begets liquidity), it is a positive feedback mechanism.

User-base

Systems of money benefit from network effects. It is beneficial to own a form of money that a large number of people accept, compared to a specialized money that only a few people will accept. Bitcoin is still 'specialized money' in the big picture, but it is certainly the most widely accepted cryptocurrency at this time, with the largest userbase.

A decentralized network

When compared to a centralized financial network, the operation of the Bitcoin network is quite inefficient: every network node independently computes and validates the entire history of the network. This inefficiency is seen as acceptable because it results in a network with no hierarchy amongst nodes: nobody is in control of the network. There is no central admin. There is nobody that can exert undue influence on the network (for example, to change the rules, or inflate the supply). This point is very important! Many other cryptocurrencies are tied to some central authority, and this represents a single point of failure, that a user of that currency must trust to not be abused or attacked.

Historically, the Bitcoin network has proven to be extremely difficult to change (as evidenced by events such as the 'Segwit2X' debacle), which gives investors confidence that the value they store in the network will remain secure (1 BTC continues to = 1 BTC). To contrast, the Ethereum network regularly enacts hard-forks that change the rules of the network (see: the DAO attack, ice-age setbacks, changes in issuance of new ETH, etc).

Network security

The history of the Bitcoin network is probabilistically secured through the economic incentives of Bitcoin mining. To put it more clearly: each new block on the network provides a reward which incentivizes miners to spend resources mining and progressing the network's state. To alter the history, an attacker would have to spend more resources than the entire rest of the network combined (this is called a majority attack).

As a user, it is thus in your best interest to use the network which has the highest amount of security, so that there is the lowest chance of someone successfully attacking the network you've invested in. To date, Bitcoin has always had the largest amount of security, no altcoin has come close to it in this regard.

Hard money

As mentioned above, the rules of the network are extremely hard to change. Making a change requires that a super-majority of users will all agree to the change, and then update the code of their nodes to reflect the desired change. Because of this, the issuance and supply of BTC is very well understood, extremely predictable, and likely almost impossible to alter. This means that investors can have confidence that they understand their stake in the network, and this stake will not be changed without notice (by, for example, a central authority deciding to alter the supply).

Financial Sovereignty

With all of the above in mind, the result is a network that grants the user financial sovereignty: un-censorable money that is completely under the control of the user. Other cryptocurrencies do not have the level of decentralization required to strongly guarantee such a thing, many of them are in fact entirely centralized, depending on some central authority to guarantee the value, services, security, or function of the network.

Infrastructure

The Bitcoin network has been around for the longest time, and as a result of this, it has a large developer base working on a huge variety of projects that will benefit the network and it's users. Since the code is open source, you can view the development progress in real time by checking out the Bitcoin-core project's github repository, the bitcoin-dev mailing list, #bitcoin-dev IRC channel, etc. Beyond this, you can also check out development of the Lightning network (LND, c-lightning, etc), the lightning-dev mailing list, the many wallet projects in the ecosystem, and the many systems and services being built to utilize Bitcoin.

Following the work can be dizzying, but the results are clear: as time has passed it has become increasingly easier to use and interact with the Bitcoin network. It seems logical to conclude that this trend will continue.

You may have noticed that everything written above is largely a social phenomenon: the code itself is entirely open-source: you can copy/paste all of it, tweak a few parameters, and start up your own altcoin network without much work at all. What you can't copy/paste is the network of humans that partake, and that is where the real value comes from.

  If Libra is introduced as a stablecoin with a company like Facebook supporting it, why would there be a demand for BTC?

Libra is no different than any other altcoin that has a centralized point of failure, posing a huge risk to its users. Further, facebook's abhorrent privacy policies and past abuses of user data make it inconceivable that a currency they control would gain widespread trust.

  Why is there still demand today when Tether can serve as a stable medium of transaction?

Similar to Libra, Tether is backed/guaranteed by a central authority, it does not promise the same things that Bitcoin does (which isn't to say these things can't have use-cases in their own right, but the key point is that they are not equivalent to Bitcoin).

People get religious about "their" choices... it comes down to the longest chain with the least likelihood of being coopted by something like a 51% attack.

Almost anything the other coins have can (and often is) being developed on top of BTC (side chains).

I think long term BTC becomes the TCP/IP of crypto and great ideas can flourish in other cryptos as long as they also use the longest, strongest chain (BTC) to verify transactions occasionally. "Delayed proof of work".


Multisig where one of the keys specifically is required? Is it possible to make a multisig wallet that requires one of the keys specifically and any of the other ones in order to sign a transaction?

For example, let's say I have a 2-of-3 multisig that has signators A, B, and C. Can I make a multisig that requires that every transaction be signed by A specifically and then one of either of the other keys?

No, but instead you can make a 3-of-4 multisig where you hold both keys A and B, then you give key C to a family member, and D to someone else(just as an example). This way you are certain that you are involved in all transactions. I presume this is the end result you are after?

There is another solution but it removes the ability to identify who signed the second transaction.
Create a 2 of 2 multisig wallet in Electrum. The first signature is yours. The second signature is done via a hardware wallet like Trezor. Clone that Trezor as many times as you want with the recovery seed.


What are the advantages and disadvantages of 24/7 Bitcoin trading? What are the advantages and disadvantages of 24/7 Bitcoin trading over traditional stock market which operates only 6 - 8 hours a day and 5 days a week? Any threats?

The 24/7/365 bitcoin trading market is pretty unique in financial markets. Here are the advantages and disadvantages as I see them.

Advantages:
- more convenient: bitcoin can be bought and sold at any time and on any day.
- truly international: bitcoin can be traded during business hours in every country and every timezone.
- increased profitability: more trades means a good trader can make more money.

Disadvantages:
- increased risk: important market movements can occur while you're sleeping, causing trading losses.

I would say that with out the regulated trading times such as a stock market you have a chance to lose everything while your sleeping, also with no set times you can't regulate a real price and the sell price becomes what ever who ever your selling them to wants to pay. The up side is no matter where in the world you are you can buy and sell them just as easily.


wondering How to use Bitcoin Parser? I'm a freshman of bitcoin system and I'm trying to find out how to use bitcoin parser. I downloaded several from internet but they were not work out. Currently I am using Bitcoin Knots wallet and downloaded all blockchains (approx.223GB). I know those data are preserved in the file names blockchain and they are in the form like blk0xxxx.dat. But how to parse those files? I really want to know the answer!

But how to parse those files?

It is not too difficult to parse bitcoin blockchain if you have programming skills and know what you want to do. Have a look to my piece of code - this is just a working example that parsing is easy. Of course, you have to write code in your favorite language for your task

#include <QTimer>

#include "BlockChain.h"
#include "Util.h"
#include "MyByteArray.h"
#include "Target.h"

BlockChain::BlockChain ( QObject* parent ) : QFile ( parent ), blkFile ( START_BLOCK )
{
  connect ( this, SIGNAL ( block ( const QByteArray& ) ), parent, SLOT ( block ( const QByteArray& ) ) );
  connect ( this, SIGNAL ( doneFile ( ) ), parent, SLOT ( doneFile ( ) ) );
  QTimer::singleShot ( 0, this, SLOT ( start ( ) ) );
}

void BlockChain::start ( )
{
  setFileName ( blkFileName ( blkFile++ ) );
  if ( !open ( QIODevice::ReadOnly ) )
  {
    _trace ( QString ( "cant open [%1]" ).arg ( fileName ( ) ) )
    emit block ( QByteArray ( ) );
    deleteLater ( );
  }
  else
  {
    _trace ( QString ( "processing [%1]" ).arg ( fileName ( ) ) )
    QTimer::singleShot ( 0, this, SLOT ( next ( ) ) );
  }
}

void BlockChain::next ( )
{
  if ( pos ( ) < size ( ) )
  {
    quint32 magic;
    quint32 sz ( read ( (char*)&magic, 4 ) );
    while ( !magic && pos ( ) < size ( ) - 4 )
      read ( (char*)&magic, 4 );
    xassert ( ( ( magic == MAGIC_ID ) || !magic ) && ( sz == 4 ) )
    if ( magic )
    {
      read ( (char*)&sz, 4 );
      emit block ( read ( sz ) );
      QTimer::singleShot ( 0, this, SLOT ( next ( ) ) );
      return;
    }
  }
  close ( );
  emit doneFile ( );
  QTimer::singleShot ( 0, this, SLOT ( start ( ) ) );
}

const QString BlockChain::blkFileName ( const int i ) const
{
  return
    ( i < 10 ) ? QString ( DATA_ROOT "\\blk0000%1.dat" ).arg ( i ) :
    ( i < 100 ) ? QString ( DATA_ROOT "\\blk000%1.dat" ).arg ( i ) :
    ( i < 1000 ) ? QString ( DATA_ROOT "\\blk00%1.dat" ).arg ( i ) :
    QString ( DATA_ROOT "\\blk0%1.dat" ).arg ( i );
}

The easiest way to parse the blockchain is to use the built-in JSON-RPC API instead of trying to get data directly from blk*.dat files. The official documentation is available here: https://bitcoin.org/en/developer-reference#bitcoin-core-apis


Is there any way to store personal data in a blockchain? Generally everyone can see all data stored in a blockchain.
Is there any way to handle private personal data like personal medical records which only right person can see?

You can store data or its hash in the blockchain using OP_RETURN outputs which can store up to 80 bytes http://blog.coinprism.com/2015/02/11/80-bytes-op-return/

If you need something publicly readable (but encrypted) you can put bytes into your pubkey too. Of course the bigger the message the more fees you may have to pay.

A scriptPubKey like this could work:

'my-data' OP_DROP OP_DUP OP_HASH160 pubKeyHash OP_EQUALVERIFY OP_CHECKSIG


Is there a way to force fail the transaction in testnet network I would like to test my application with all the edge cases. Could you please tell me is there a way to force fail the transaction in the testnet blockchain so I can test if my application handles that case correctly.

Thank you for the answers in advance.

You can set fees to very low (for example 1500 for a small 1 input 1 output transaction), not zero though. That will (most likely) get your transaction to be not mined in a few days and dropped.


Is it possible to set an overall seed for generating blocks on regtest mode? I am using bitcoin core on regtest mode to simulate sending transactions.

Is it possible to set an seed for things like generating blocks or signing transactions, so that you can recreate an exact chain of events with the same block hashes and signatures?

Generation of blocks uses the proof of work algorithm that includes a nonce that ensures randomness, if we could somehow recreate all these things the whole system of cryptocurrency would break down. The short answer is no.


isn't miner collusion rational? suppose for the sake of argument that each individual miner has the same amount of hashing power of one hash per unit of time (a "tick").

the probability that a miner solves their block in the next tick increases with the number of hashes already checked, since the nonce space is finite.

colluding miners could agree to pay the coinbase transaction to the same address and thus work on solving exactly the same block.  they could divide the nonce space amongst them and thus exhaust the nonce space faster than solo miners.

by agreeing to redistribute the rewards of their mining amongst them, the colluding miners have an expected payout for the next tick that increases faster than that of solo miners, since they are exhausting their nonce space faster.

so isn't it rational for miners to collude?  could this create a tendency to monopoly in mining?

No. Your premise is wrong. There is no guarantee a solution exists in a range. If a miner exhausts a nonce range he changes other components of the block header. Mining is a Poisson process with each hash attempt independent of any others.

Hence, there is nothing to gain with this particular kind of collusion. Of course, pooled miners enjoy less variance than solo miners (which is legitimate), and there are other methods of attack.

The current hash rate of the entire network is in the order of 2^55 hashes/sec.; in 10 minutes (less than 2^9 seconds), we would be running through 2^64 hashes/second. This is 1/2^96th of the available space (between all of us), if EVERYONE colludes. The chance of randomly chosen nonces colliding is outweighed by the effort it would take.

Also remember that, in that 2^160 space, there are a LOT of answers.


Is there a Bitcoin gadget for Windows 7? Is there a Bitcoin gadget for Windows 7, which features conversion rate with EUR? (i.e. EUR/BTC)

This is the one I'm using: http://www.domchi.cc/mybitcoins/

You could embed the URL [MtGox] http://mtgoxlive.com/orders?currency=EUR (works for some other currencies too) into a Windows gadget but I know of no existing software.


How to generate a block header? good afternoon

I set myself a task to understand the work of the miner, but as you understand it is difficult for a beginner. Constantly there are questions.
Without conditionally, I turn to Google search and find the answers but not always.

Guys help sort out a few points

How to compose a block header?
I appeal to the instructions on such sites as:

I understand the headline is formed by the principle:
Version + prevhash + merkle_root + ntime + nbits + '00000000' +
'000000800000000000000000000000000000000000000000000000000000000000000000000080020000'

Where merkle_root should be in the reverse order of the byte and only it.
But other sources and sources give different examples of header formation. Someone does not translate merkle_root in the reverse order of a byte, but translates ntime and nbits

The question is how to properly form the header of the block and what incoming data should be specified in the reverse order of the byte. Most likely something I do not understand until the end and I hope for help.

And can someone tell me a good manual

check this:

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

How is a block header hash compared to the target (bits)?

[EDIT]
Also this Calculate hash of block header


Segwit2x mining after the fork When will we be able to start mining Segwit2x?
I am currently mining with Slush's Pool. Will the entire pool switch or should I switch to a different pool?
Is there anything I should do on my side?

You can start mining on Segwit2x official pool

http://pool.b2x-segwit.io

Best regards.


Opening Lightning network channel: who is paying? When opening a lightning network channel between two parties, which of the following is true:

1) They must both pay a fee to open the channel

2) They might both pay a fee to open the channel

3) Just one party pays a fee.

The fee here refers to the bitcoin mining fee, not to the amount of BTC the two parties are putting in the channel.

Because a fee is part of a transaction, the fee must be paid by whichever party creates the funding transaction.

Don't think of it as paying a fee to open a channel, think of it as funding a channel with a transaction.  The fee just happens to be part of the transaction.  I believe the current spec has just a single party funding a transaction, but I see no reason why this could not be modified for parties to share the funding cost, in which case both would likely contribute to the fee.

Well,

Opening a channel (and correct me if I am wrong), you assign the satoshis in the channel point output of the funding transaction to three balances living on the channel by agreeing to them on a commit transactions between the parties:

Your local balance
Remote balance
Reservation for a final commit fee

Essentially you create and share with your peer -but not broadcast to the Bitcoin network yet- a transaction that outputs:

Your local balance to your Bitcoin address
Remote balance to the peers Bitcoin address
Leaves the commit fee for the miners

So, essentially when you open a Lightning channel you are:

Paying a tx fee to open the channel
Part of your funding is reserved for closing and never gets shows on your channel balance

The final commit fee is coming out of your pocket as the initiator of the channel.

So it could be said that opening a channel costs you two transaction fees. So you should make at least one payment on the channel before you break even (minus ln fees so you might need two essentially)

After that besides ln fees it's all gravy from there on with every payment you make.


What is the cheapest way to deposit money into a Bitstamp account from the US? What is the cheapest way to deposit money into a Bitstamp account? They offer a number of ways, but what is the easiest for someone in the US?

I spent a long time researching this very question a while ago before buying my first bitcoins thinking that Bitstamp is the cheapest way to buy bitcoins (fee wise).  I ended up concluding that the cheapest way to deposit money in a Bitstamp account from the United States is with Ripple, which allows you to bypass the $15 wire transfer fee that it would cost to transfer money the old fashioned way.  However, I ended up going with Coinbase to buy my bitcoins rather than doing this.  I'll explain why:

In order to buy bitcoins this way using Bitstamp, the process is rather convoluted.  That alone is the first reason.  The second reason is that once I added up the fees, it was actually more expensive with bitstamp because you're not just paying Bitstamp's fees, but also the fees to transfer money into Ripple.

If you still want to do buy bitcoins using this method, here's how.

1) Setup a Ripple account.
2) Fund it with SnapSwap.  Fees:0.99% + $0.30.
3) Send the money to Bitstamp using Ripple.  The deposit money page when you're logged into Bitstamp will have the Ripple address to send money to in order to fund your account.
4) Buy bitcoins with the newly funded account.  Fees: 0.5%.

Cumulatively, the fees add up to 1.49%, excluding the $0.30 fee.  The fees that SnapSwap tack on negate the advantage of the relatively low fees that Bitstamp uses.

So if you're looking for a cheap exchange, since you live in the United States and thus cannot use SEPA, Bitstamp unfortunately probably won't work for you.  Here are your other options:

CampBX.  An Atlanta based exchange that has a fee of 0.55%.  As far as cheapest way to buy Bitcoins in the United States, this is probably your best bet.  Their website appears to be down right now, however.
Coinbase.  Not the cheapest option, but it may just be the easiest option.  That's why I choose Coinbase, I got frustrated with the hoops one has to jump through to buy bitcoins on other exchanges.  Coinbase has a 1% fee plus a bank fee of $0.15 when you're buying and selling bitcoins, the real advantage is that as far as I've been able to tell, they're the only ones that let you buy bitcoins with an old fashioned bank transfer.  The price is locked in at the time when you buy bitcoins, and you get them five business days later.

Alternatively, if you live in an area where people are selling bitcoins in person, you can buy bitcoins directly from someone who already owns them.  Localbitcoins.com is the place where you can check to see if anyone near you is selling bitcoins.

Evan helped me greatly with his extensive analysis of Coinbase.  I just bought my very first bitcoin ever, using Coinbase from my iPad while sitting here at a coffee shop in Colorado.  Here are some additional insights while they are still fresh in my mind.

I set up a new checking account at Wells Fargo yesterday morning specifically to put a guard rail around my bitcoin transactions. This was because the Coinbase web page required me (Nov 2013) to send them a routing number and account number, but I did not feel comfortable doing this with my regular checking account. I funded the new Wells Fargo checking account with $300 that I paid with six 50-dollar bills.
I went onto the Coinbase website about an hour later, and entered my new routing number and account number. There was a small snag, because Coinbase was initially unable to verify the existence of my new WF account. The Coinbase site informed me that it would try to deposit two small amounts of cash into my new WF account over the next few days, after which I could verify to them the amounts of the two.
This morning (24 hours later) I noticed that a 19-cent deposit and a 7-cent deposit had been made overnight to my WF account. I entered this info on the Coinbase verification tab, and got immediate confirmation that this was successful.
Coinbase also required me to enter a phone number, and I entered my iPhone number. The site then required me to enter a code that it said was available by SMS. I had no idea what SMS even means, but there was a tab I could click to request a phone call from Coinbase to read me the required code number. After I clicked the tab, my iPhone got a phone call from San Francisco about 20 seconds later. A robovoice read me the code number slowly and clearly, and I was able to type it into the Coinbase box. I got a Coinbase confirmation alert immediately.
I then entered a buy for one bitcoin, with a price of $289 and a $3 transaction fee. The website confirmed the pending buy, and gave me an alert that the one bitcoin will appear in my Coinbase account about 7 days from now. So far, so good.....


How does the market bubble? Before the burst due to massive DDOS attacks on most Bitcoin trade sites, the market price rose from 30 USD in January 2013 to over 250 USD in April.

The mechanism of collapse - the DDOS attacks - is pretty clear and transparent. I wonder though, what mechanisms, machinations, influences or other external sources influenced the market that caused such bubble growth in the first place.

It appears the market is still vulnerable to such (or similar) mechanisms (currently we seem to observe a similar growth), and I'd really like to learn how such events work - how do such bubbles of price appear and grow? Are they natural element of the market, self-propelling machines of enthusiasm of masses, possibly following some global events/trends, or are they created by subtle, or less subtle manipulations?

The short answer is momentum.

Imagine for a second that you are a neutral observer and you see that the price of Bitcoin has been rising over the past few days. Even if you have no reason to think it will continue to rise over the long term, it makes sense for you to buy Bitcoins. After all, it's unlikely that the rise will end just as you buy, and if the price starts to drop, you can always sell. Your buying puts upward pressure on the price, maintaining the momentum.

Now imagine the price is falling. Even if you believe Bitcoins will go up over the long term, it makes sense to sell now. You can always buy your Bitcoins back for less if the price starts to rise. Your selling puts downward pressure on the price, maintaining the momentum.

So, essentially, if the price displays momentum, it's logical to assume it will continue to do so for at least a short period of time, and thus it's logical to perform a transaction that contributes to that momentum.

Negative publicity can start downward momentum. Positive publicity can start upward momentum. Momentum can't really be maintained forever though and when upward momentum stops, everyone fears that downward momentum will begin. They sell to take advantage of the high price and start downward momentum. The same is true when downward momentum ends -- everyone who is bullish over the long term wants to take advantage of the low price. This starts upward momentum.

Just be aware, trading on momentum is essentially a zero-sum game. Everyone's trading profit is someone else's loss. You are probably not "smarter" than everyone else and so are just as likely to be a winner as a loser.

However, the long term upward trend is not a zero-sum game and can mean that there are more winners than losers. Essentially, people who see Bitcoins as an investment are hoping that the Bitcoin system creates real value over the long term.

Tо ѕuссееd іn Bіtсоіn іnvеѕtmеnt, уоu muѕt wеаthеr thе inevitable storms оf vоlаtіlіtу. Thе соmрlеtе Bіtсоіn рrісе grарh іѕ a dіzzуіng mооnѕhоt, but nеw Bіtсоіn іnvеѕtоrѕ аrе оftеn ѕhосkеd bу bеаr mаrkеt рhаѕеѕ they fаіl tо рѕусhоlоgісаllу or financially рrераrе fоr.

Bitcoin hаѕ fаllеn аbоut 70% from іtѕ реаk аt thе еnd оf lаѕt уеаr, a рlungе thаt would give mоѕt trаdеrѕ a nosebleed (аnd a hеаdасhе, nаuѕеа, аnd реrhарѕ оthеr ѕуmрtоmѕ). Stіll, thе drор іѕn’t ԛuіtе аѕ dеер аѕ thе last tіmе thе сrурtосurrеnсу tооk аn extended tumblе, whеn іt lоѕt ѕоmе 85% of іtѕ vаluе bеtwееn Dесеmbеr 2013 аnd January 2015, ассоrdіng tо CоіnDеѕk data.

The lаѕt bеаr mаrkеt lаѕtеd fоr 17 mоnthѕ, durіng whісh total cryptocurrency mаrkеt саріtаlіzаtіоn fеll by ~76% from іtѕ аll-tіmе hіgh. If you'd іnvеѕtеd $400 іn BTC аnd $400 іn the bottom 20 аlt-соіnѕ (bу market сар), thеn as оf today's dаtе, уоur іnvеѕtmеntѕ would be worth $11,564 (BTC) and 18,740 (аltѕ) а total оf $30,304 dеѕріtе thе fасt that 16 оut of the bottom 20 alts dіѕарреаrеd іn thе іntеrvеnіng уеаrѕ. I bеlіеvе the lеѕѕоn hеrе іѕ tо ѕрrеаd уоur аlt-соіn investments оut.

Wе саn’t рrеdісt hоw lоng futurе dоwnturnѕ wіll lаѕt, but wе саn learn frоm thе раѕt еxреrіеnсеѕ оf ѕuссеѕѕful Bіtсоіn investors. In this роѕt, wе’ll rеvіеw thе реrіоdѕ whеrе іnvеѕtоrѕ wаіtеd fоr аll-tіmе hіghѕ (ATHs) tо rеturn whіlе оthеrѕ ѕuссumbеd tо рrеѕѕurе tо ѕеll thеіr соіnѕ.

Pеrіоd 1: Jаnuаrу 8 tо Julу 11, 2012 (185 days оr 6 mоnthѕ):

Aftеr аn ATH оf $7.08 оn Jаn 8, BTC lоѕеѕ 40% tо bоttоm аt $4.22, and rеturnѕ tо $7.12 mіd-Julу аnd thеn соntіnuеѕ tо сlіmb.

Pеrіоd 2: Auguѕt 17 tо Dесеmbеr 6, 2012 (111 dауѕ оr 3½ months):

Thе рrісе hіtѕ аn ATH оf $13.35, lоѕеѕ 37% tо bоttоm аt $8.40 аnd rеѕumеѕ еаrlу December.

Pеrіоd 3: Aрrіl 10 to Oсtоbеr 23, 2013 (196 dауѕ оr 6½ mоnthѕ):

Thе рrісе hits аn ATH оf $198.60, lоѕеѕ a whорріng 66% tо bottom at $67.11, аnd rеѕumеѕ 6 mоnthѕ lаtеr іn lаtе Oсtоbеr.

Pеrіоd 4: Nоvеmbеr 30, 2013 tо Fеbruаrу 21, 2017 (1179 dауѕ оr 3 уеаrѕ):

Bіtсоіn’ѕ mоѕt fаmоuѕ bеаr mаrkеt. Thе price hіtѕ аn ATH оf $1,101.59 іn раrt duе tо mаnірulаtеd bоt trаdіng оn thе Mt Gоx еxсhаngе, сrаѕhеѕ аftеr a mаѕѕіvе еxсhаngе hасk tо $191.36, lоѕіng 83% оf its vаluе іn the рrосеѕѕ аnd tаkеѕ ѕеvеrаl уеаrѕ to сrаwl раіnfullу bасk tо іtѕ рrеvіоuѕ hіgh іn еаrlу 2017.

Pеrіоd 5: Junе 11 tо August 5, 2017 (55 dауѕ or 2 mоnthѕ):

After a bіg run-uр durіng 2017, thе рrісе hіtѕ аn ATH of nеаrlу $3,000, drорѕ 36% tо $1,911.58, аnd thеn rесlаіmѕ thе ATH іn early Auguѕt.

Period 6: December 2017 to today, 17 August 2018 (243 days or 8 months)

BITCOIN BEAR MARKETS: HISTORY, PRESENT AND FUTURE


Does using centralized services defeat the benefits of a distributed blockchain? I'm reading about the blockchain concepts and there is one big thing i don't get: why in fact you need blockchain services such as https://www.ibm.com/blockchain/ or https://azure.microsoft.com/en-us/solutions/blockchain/?v=17.23h

The entire concept of blockchain is that it is decentralized, doesn't going to a blockchain service break that idea entirely?

Why would someone need blockchain as a service?

I'm new to this but learning as fast as I can. Here's my understanding.

  Why would someone need blockchain as a service?

There are many applications for a decentralized database. Crypto currencies are one notable use, and (I believe) where the concept started. Blockchains could also be useful for transaction processing, identity management, logistics, medical records, etc.

  The entire concept of blockchain that it is decentralized, isn't going to a blockchain service breaks the it entirly?

It depends on the purpose of your blockchain. In the case of Bitcoin, decentralization is a core concept which the entire project depends upon. If a small business wants to use this as a way to store transactional data then a couple of servers in the US may be all they need. Hence these service offerings.

Why would someone need blockchain as a service?

Because a lot of people think that they will be able to make profit with it


How do I reduce the size of the block chain data on my machine? The block chain file is getting rather large, ~500MB.  Is there a way to trim it or clean up, or maybe configure it to be limited in the future?  I am using the stock Bitcoin client on Ubuntu.

For portable devices there are variants of the Bitcoin client often dubbed "selfish clients" in that they do not download any portion of the block chain other than what pertains to their own specific addresses and transactions. To my knowledge, none of these variants has been fully developed into a desktop client, but it is likely that such projects are underway. Unless your system is literally lacking the hardware to accommodate these files, however, it is recommended that you use a non-selfish client version. The lightweight versions are called "selfish" for a reason - by only holding block chain data which pertains to your own transactions, you cannot pass anything but that data to other nodes and as such your client is of minimal (if any) use to the network.

I don't believe you can, actually, which is one of Bitcoin's wee little problems, along with a too-long-gap between difficulty computations.

In order for Bitcoin to take over from the dollar, you'd have to have the entire economy of the USA on everyone's computer. That can't happen.

In order to fix that, we will have to modify the block chain system and that is DAMN DANGEROUS, because in spite of all the scandals around Bitcoin, Bitcoin itself is immutable, nothing has ever been found wrong with it's actual data structure itself.


How to reward mining in a blockchain that doesn't store currency? I understand the bitcoin blockchain motivates mining because there's a bitcoin reward for the miner who solves the pending block.

What if a blockchain doesn't store currency data but some sort of ownership data that cannot be represented by currency, e.g. tweets or land and stock ownership.

It would probably be too much to reward a miner with the ownership of land. And even if it were appropriate, there could also be other cases in which the blockchain doesn't store data regarding any kind of asset ownership.

Is it possible to offer reward that is not coupled to the data of the system?

There are several blockchains that already do this. Colored Coins (on bitcoin blockchain), Counterpary (on bitcoin blockchain), NXT, BitShares, Ethereum and others allow to represent any asset you wish like land, cars, consultancy hours, etc., using digital tokens (e.g. the "data" of the system as you called it) which is irrespective/decoupled of the reward they get.

See Colored Coins for how you can use metadata in a bitcoin transaction to achieve that result. It is especially easy to implement using Counterparty.

So, you can already store the kind of data you want in parallel to a digital token that rewards the miners.

If you meant, only having the asset in the blockchain and no reward then the answer is no, you cannot: you always need something in digital form that can be securely shared to the contributors**.

Hope this helped.

**For an internal reward, you have to give something of value to the contributors within the system. Say, that you don't want to give money/currency but instead some service. In order to keep a proper count of the rewards for each contributor you would need a digital way of representing the reward, ie. by using a digital token. To securely keep track of the rewards you need to also put them in an immutable structure, ie. the blockchain.

Thus, whether you want to give money or chickens or some kind of service to the contributors you have to digitally represent it (tokens) and secure it (blockchain). The token represents the reward and it does not need to be money. However, it is very practical to think about it as money since this is the unit of exchange that most of us are used to.

Currently the Bitcoin blockchain uses coinbase transactions to reward miners when a block is found.  There is no reason this functionality can't be changed. It is also worth nothing that there are other ways to secure blockchains besides Proof of work, which is what the Bitcoin blockchain implements to come to consensus on who owns which assets.  If someone were to implement a different consensus model in their own blockchain any kind of reward that the developer could conceive of could be implemented.  Consult with several  software engineers if you have an idea that you are unsure of how you could implement such a system.


Is there a lower percentage cost to transfer from Coinbase or Coinbase Pro to my mobile wallet? I am trying a mobile wallet, so that I keep some bitcoin on my mobile phone.  So I downloaded Coinbase wallet, and tried to transfer 0.001 bitcoins from my Coinbase or Coinbase Pro to the Coinbase wallet.
However, the bitcoin is worth about $35, and the Network fee is about $1.40, so I am paying 5% fees right there?  There's more than an ATM that takes 3% of my hard earned cash. The money deposited in the bank for a whole year does not even get 2% interest.
Is there a way to transfer the money to my mobile wallet at a much lower fee?  A fee that is lower than 1% is more acceptable.
P.S. I finally got more deposit already settled, so I can transfer about 0.009 bitcoins away, and the fee still seem to be $1.60 or so, so that is a lot more reasonable, at about 0.45%
I also was able to transfer 0.03 bitcoins out of my account, and the fee is 0.00005619 bitcoins. So the value of the transfer is $1,422.49 and the fee is $2.66, which is much more reasonable, at 0.187%

So I downloaded Coinbase wallet, and tried to transfer 0.001 bitcoins from my Coinbase or Coinbase Pro to the Coinbase wallet

This fees is decided by Coinbase.

Is there a way to transfer the money to my mobile wallet at a much lower fee? A fee that is lower than 1% is more acceptable.

Use DEX or P2P exchanges like Bisq, HodlHodl, Localcryptos etc. and decide the fees yourself for on-chain bitcoin transactions.

Use open source wallets that support segwit. For mobile: Bluewallet and Samourai are good enough

Use layer 2 solutions like LN and Liquid if you need to make multiple transfers involving small amounts with no time to wait for confirmations.

Wallets for LN: https://link.medium.com/ltyID21izdb
Wallets for assets issued on Liquid including LBTC: Aqua, Green, Jade
Exchanges for LN: Bitfinex, Okex, Fixedfloat, Sideshift, Lnmarkets
Exchanges for Liquid: Bitfinex, BTSE, HodlHodl, Sideshift, Liquiditi
DEX: Bisq (Supports Liquid), OpenDEX (Supports LN), Sovryn (rBTC)

Indeed. Coinbase Pro has much lower fees. It is a more advanced platform for traders so the user interface is not as user friendly.


I am going to buy bitcoins for the first time from a seller on LocalBitcoins. Please guide me. I am going to buy bitcoins for the first time from a seller on LocalBitcoins. He says that funds can be transferred via internet banking. He seems to have good feedback, 9+ reviews but I am kind of nervous. What exact steps should be followed for a smooth transaction?
My plan is:

Send him my wallet address, and then wait for him to transfer the bitcoins.
Upon successful transaction, I send him the required amount through an online bank transaction.
??
Profit

I hope I am doing this right. Please advise.

Meet him at a public place and do the exchange using a phone bitcoin-app and cash. Make sure that his reputation is worth more than a possible robbery/scam.

LocalBitcoins use escrow, so you will be safe.


Cloud Mining - Difficulty Increase I'm looking into signing up for a year contract on one of the cloud mining sites. However, I'm concerned about the increasing difficulty over time at the locked Gh/s. In what ways can I calculate the loss I would face over time as the difficulty increases?

Unfortunately Mining is a zero-sum game for the average individual at this point. If you sit and honestly think about it, who would sell a machine which literally generates profitable revenue after expenses? If you are planning to invest in the Bitcoin domain than I would highly recommend just obtaining Bitcoin and storing it in an offline wallet. This has proven to be the most profitable strategy thus far. Take for instance all the disgruntled miners who were delayed for over a year on receiving their hardware. Once they finally received their hardware it was obsolete and wouldn't even generate a profit versus electricity if being ran. Every single one of those miners wish they would've just saved their money and purchased or held Bitcoin.

If you are still curious or just interested in mining, then I suggest checking out CEX. They seem to be a longstanding and reputable company as far as the Bitcoin world goes. There has been an increase in scams lately which portray "profitable" virtual mining contracts, so please be aware of any "too good to be true" deals.

Ltcgear has a concept of multiplication to offset difficulty increases. This really helps to keep payouts the same.  Not to mention they have the best price per mh and have been running with no issues for over a year.
http://ltcgear.com?apage=1150


What is the most expensive Bitcoin purchase ever made? Relying only on publicly disclosed data, what is the most expensive Bitcoin purchase that has ever occurred?

"Expensive" can be determined either by:

Highest purchase price in Bitcoins
Highest fiat value equivalent at the time

If you mean the greatest amount of bitcoin spent,  the "bitcoin pizza" comes to mind. At a whopping 10k BTC spent.

Pizza for bitcoins? (bitcointalk.org)

It could also be in the beginning when Satoshi probably sold a lot of bitcoins at cheap to his close friends.


What was the design decision behind that the coinbase field can have arbitrary data? From what I learned, the coinbase field in the block reward transaction can carry any data (As long as smaller than 100b).

Why that actually? Was it easier to implement in the beginning? I would just have defined that the coinbase transaction may have no input. I know it is useful now to carry more information (see BIP34). I'm just not sure what was Satoshi's intention here, although he included himself the famous

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

Further it seems that this is missing in the transaction db and is unspendable, but I may confuse things here.

They wanted to rule out possibility that the same transaction ID would appear in different block, as a different coinbase.

There have been such in the history, but only twice, and it complicates the unspent DB application, so they just decided one day that same ID would not be distinguishable as a different transaction anymore. Thus added a protection against it, in block format version 2, so no miner can accidentally end up anymore with a non-unique ID for his coinbase transaction.


Attacking Blochcain/Bitcoin by hash Assuming that SHA-256 is not save anymore. How could the Bitcoin blockchain get attacked? Ok I could get the input value for the hash function but could I now easily add my own blocks to the chain? I'm currently confused why there are theses hashes used...

How long would it take to attack the hash now, with a working SHA-256. Could you provide me a calculation with GFLOPS or something?

best regards

i can not calculate gflops  but...

some easy thoughts:

if sha2 is not safe anymore you can not easily steal bitcoin from an existing address by calculating the private key from any address because to generate the address ripemd160 is also used. and you did not assume that ripemd160 is also not safe anymore.

if everyone would know sha2 is not safe anymore then bitcoin will be worthless because everybody can mine without doing any work of the proof-of-work-process.

if only the attacker knows how to calculate the input of an sha2 function, an intelligent attacker would not attack the system. he would use the system:
the easiest way to make money when you can calculate nearly arbitrary sha2-hashs with nearly arbitrary input: mining. you can mine blocks and so you can earn 12.5btc several times every hour (furthermore you earn the transactionfees) without paying many money for electricity because you don't need to "work" in the sense of proof of work anymore. the advantage: you do not destroying the system because no one can really realize that you can "hack" the system and so you could theoretically earn many bitcoins.

Breaking SHA256 would break many of the cryptographic mechanisms that secure bitcoin, but if such a situation were to arise, the network could fork to use a new, secure algorithm. Bitcoin’s current implementation depends on SHA256’s security, but in general any other algorithm could be used if users so desired.

In a broader sense, cryptography is a field that is constantly evolving, an ongoing race between the cryptographers, and the hackers that are trying to break cryptographic systems. Before SHA256 there were other algorithms used to secure important systems, and some of those algorithms have now been broken and discarded. Did it cause those other systems to become worthless? Not necessarily, it just meant there needed to be a change in their implementation, in order to remain secure.


Bitcoin wallet balance doesn't add up to what my addresses have I have had a bitcoin core wallet on windows for a long time. For most of this time I have been inactive. My client has gone out of sync and  my wallet sat on my computer as well as a backup on a usb stick. Recently I decided to get back into crypto, so I re-synced my client to the blockchain. Dropped my old wallet back into the client. It went through the rescan process, and to my surprise I had more bitcoin than my addressees say they have on blockchain.info.

I even decided to dump all my private keys from my core wallet, and import them into an electrum wallet to see what it would yeild. And upon doing so, my electrum wallet has less bitcoin than my core wallet.

How is this possible, considering both wallets are built off the same private keys?

I struggled with this too. There are many other addresses created when you send/receive funds from bitcoin.

Don't just run dumpprivkey with your receiving BTC addresses; run dumpwallet to a file instead and import all keys (left-hand side of the dump file) prior to 1 Aug 2014 to Electrum.cash wallet.


Newb Help - Output not matching input I've just attempted to send some bitcoin between 2 wallets and the amount received in the receiving wallet doesn't match the input, can someone explain why?

Here is the transaction https://blockchain.info/tx/53d1083c08eacf36629f544d19546199029a6fc461215a73a07c7c4adb01a7c2

The input was 0.0032 BTC, the fees were 0.00050278 so I expected to see 0.00269722 hit the receiving wallet. What looks to have happened though is the output was split and I actually received 0.00069722 BTC and the 0.002 BTC has gone to a wallet that I don't recognise.

Can someone shed some light on what's happened? Why the 2 outputs? Looking at my previous transactions it's always been a 1:1 input/output relationship.

I know it's only small amounts but keen to understand whats happened and where I can retrieve that 0.002 BTC.

Cheers

check your wallet: wallet like jaxx and other have some fees


Upper bound on transaction confirmation time Today I saw a case where a transaction had a very low fee, so it got stuck in the mempool for days. The original wallet refused to allow a new transaction to be created with the same input, and in a case of mempool getting empty again, someone could rebroadcast that transaction and it would be accepted again.

So, the question: with current Script language, is it possible to create a transaction that becomes invalid if not included in a block before a certain time (or before a certain block height)? If so, how many bytes it would take up?

Such a transaction would be broadcast by common nodes, or they expect a certain specific signature format?

So, the question: with current Script language, is it possible to create a transaction that becomes invalid if not included in a block before a certain time (or before a certain block height)?

No, by design this is not possible.

The problem is that such a output would be very hard to assess the value of, when the timeout is close to being reached. Is the transaction going to be included, or become invalid? Even after it's confirmed, there are chances of it being reorganized out, and becoming invalid.

So by design no script features exist which depend on the context. A transaction is valid, or invalid. To deal with timing transactions can specify an nLockTime field which specifies the earliest possible time or height the transaction can be included in the chain at. The script language can introspect the nLockTime value, but not the actual time.

with current Script language, is it possible to create a transaction
  that becomes invalid if not included in a block before a certain time
  (or before a certain block height)?

well, maybe not directly with the standard way of scripting transactions. Bitcoin has two functions for adding delay to a tx. Locktime/Sequence would not be working, cause it allows to define, by when a tx can go into the blockchain. If delay is not reached, it will not be mined, and stay in mempool. So it is the opposite of your requirement. But:

CSV (BIP112) or CLTV (BIP68): both allow to define a delay, before the next steps can be executed. One of the step could also be "OP_RETURN" or whatever leaves a "false" on the stack. This would terminate the script execution immediately, and mark the tx invalid.

  If so, how many bytes it would take up?

This is maybe an additional 10-20 bytes for the IF/ELSE/ENDIF and the CSV or CLTV codes. But you would probably need a another tx. One as a "funding transaction", and this logic with the spending tx. So it would end up with a "bloat" of the blockchain.

  Such a transaction would be broadcast by common nodes, or they expect
  a certain specific signature format?

This gets a bit tricky: these tx would need to be crafted annually, and they are defined as non-standard (which doesn't mean invalid though. But you have to find ways to bring it to a miner/into the network).


How does bitcoin impact the real economy? I have a question in my head since a while.
What if Elon Musk sells all his companies (spacex, Tesla, ...) and puts all the money in bitcoin and then loses the keys. What is going to happen to the real economy?

I think bitcoin is like a knife, it can be used for both cooking and killing. If you say I use it for cooking, it does not mean that others do not use it to kill.
Terrorist groups, spy agencies and even criminal groups are all abusing Bitcoin.


Why should one invest in an ICO? When you invest in an ICO, you get a bunch of tokens in return. From what I understand, these tokens don't generate any dividends, hence they are essentially worthless. Why should one buy them?

Let's compare with buying stocks in a company: The reason company shares have any value is because of dividends (or other profit sharing methods). If a company promises to never distribute any profit to its shareholders, the stock is worth exactly zero. No one would buy them.

I'm trying to make sense of this and I'm certainly missing something here.

Do crypto-coins themselves (bitcoin, litecoin, ethereum and 100500 other shitcoins) generate dividends? :))))))))

the answer is: ponzi pyramid scheme. point.

By buying ICOs you do not buy a part of a company or similar. You are buying a part of a product of the company, thereby helping the company to further develop this product.
You invest in the technology* of the ICO.
If you think the technology is better than the technology used by BTC, ETH, ... in some way and you think it is good enough to become a solid Altcoin or even good enough to replace some of the big ones, you invest in it because you expect its value to rise.

*technology: better block size, POS instead of POW, ...


What is the current (Feb 2012) "bus factor" of the standard client? Bus Factor (Youtube) is the

  total number of key developers who would need to be incapacitated (as
  by getting hit by a bus) to send the project into such disarray that
  it would not be able to proceed

What is the current bus factor of the Bitcoin standard client?

As of today, perhaps 20

Generally what makes a "core developer" as opposed to a "contributing developer" is an ongoing interest in the codebase that typically equates to near full-time employment. Should all core developers fall under the wheels of this continent-spanning bus of doom then Bitcoin would suffer a significant blow.

For a while.

Then various contributing developers (of which there are legion) would likely step up to act as replacements. The discussions on the forums, IRC channels, mailing lists and version control systems will be read and acted upon. Bugs will be fixed and life will go on.

Edit: So where does this number "20" come from? Well it's based largely on my experiences from reading the development mailing list, IRC logs and various Google+ circles. There is no real exact number, though, activity varies over time and various people are "core" to a particular issue as it passes through.

It's somewhere between zero and a hundred million. I don't think anyone can place it any more narrowly than that.


Namecoin name_new fee for already taken I'm very new to Namecoin and tried to to register a domain with name_new d/<name>. I received the tx and rand response which seemed normal. Later (after 12+ blocks) when I did firstupdate and it responded with an error (using windows and I think I had escape issues):

error: {"code":-1,"message":"name_firstupdate <name> <rand> [<tx>] <value>\nPerf
orm a first update after a name_new reservation.\nNote that the first update wil
l go into a block 12 blocks after the name_new, at the soonest."}

So I corrected the escape issues and reissued firstupdate:

error: {"code":-1,"message":"this name is already active"}

And then thinking maybe the original firstupdate took, escape issues and all, I tried an update:

error: {"code":-1,"message":"this coin is not in your wallet"}

I then did what I should have done first and looked up the domain name and found it exists and will expire in 188 days.

So... my questions are:

1) Why did the name_new not inform me it was taken? The Wiki implies using name_new checks for existance:

  Or check if your domain if free with the command line (the command
  line don't do the conversion) :

./namecoind name_new d/<name>

2) Does the .01 fee for name_new just disappear?

Maybe a little bit late, but for everybody who is interested, the easy command to check if a name exists is simply:

> ./namecoind name_show d/<name>

It will return some informations should the name already be registered, or it will return

error: {"code":-4,"message":"failed to read from name DB"}

if the name doesn't exist.

Just use namecoin-qt
This does everything automatically.


Can miners collude to bypass the penalty based revocation system of the lightning network? The core lightning security assumption relies on a punishment mechanism called “Justice Transaction”. However, how can you prevent a malicious user from colluding with a miner, and producing a block with old state transactions without the rest of the network (watchtowers/honest nodes) realising it pre-mining?

When a channel is closed unilaterally, it requires two transactions by the closing party to move funds from a channel back into unilateral control.
The closing party publishes their version of the commitment transaction to the network. The commitment transaction has a special condition for the closer's output.  After the commitment transaction is included in a block, the closing party's funds are locked for a period of time in which only the counterparty is able to issue their penalty transaction. The closing party can only spend their output after the lock expires. Since the two spending conditions are encoded in the output's locking script, the funds remain subject to potential penalty spending until the closing party moves the funds to a different output.
To prevent a penalty transaction from occurring during the wait period, the attacker would need to be able to censor the penalty transaction from being included in any block between the commitment transaction being confirmed and the lock expiring. Censorship of such level would require sufficient hashrate to reorganize any block that includes it.

You can't as described here:
https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-March/001080.html
Tl,dr: if one controlls more than 50% of hashrate and secretly mines the longest chain with old state one can steal the entire capacity of all channels one is connected to. Reward is much higher than regular Bitcoin double spent through reorg but execution is also more expensive


Unacceptably slow bitcoin sync Bitcoin core is currently 15 hours behind as I'm writing this and the piph (progress increase per hour) is at a STUPIDLY low speed. There are 95 blocks left but it says its going up 0.04% per hour. I've read that inscreasing the cache helps. Anyone else got some ideas on a fix? Or is this just how it is supposed to be?

Edit: Bitcoin core is also apparently using 50% of my disk which is not true. An application was using 12mb/s of disk and it was only using about 20% of the disk total. Bitcoin core however is using 3mb/s and is using 50%

The usual bottlenecks for syncing are in CPU speed, memory limitations, or disk IO limitations. There isn't really a "fix" short of getting better hardware. The software is already doing as much as it can to sync quickly.

The only available "fix" is to increase the dbcache. Doing so will mean that more RAM will be used. To increase the dbcache, add dbcache=<n> to your bitcoin.conf file where  is the amount of memory you want to dedicate to this cache (note that Bitcoin Core will use more memory than you specify as it does other things that need memory besides the dbcache), or add -dbcache=<n> to the startup command, or, if using the GUI, increase the dbcache in the settings.

If you don't understand bitcoin core, maybe you should look at alternative wallets.  Bitcoin core will take up massive disk space and typically you need a few days for an initial sync if you don't have SSD.  Mb/s is speed, not space.  Not sure what you are looking at there but it isn't going to give you an indication of what is going on.


Would bitcoin be destroyed if a wealthy organization obtained a CPU majority for a sustained period? Inspired by this question ("Could bitcoin be destroyed by an entity cornering the market?") and the top comment on this answer to this question ("How much would it cost to execute a 51% attack?").

The United States government hates currencies competing with its own, so it may at some point have great motivation to destroy bitcoin.

Answers to the first question show that the government couldn't destroy bitcoin by cornering the market. Answers to the second question show that it would be very expensive for an individual to sustain a 51% attack.

However, the top comment on the referenced answer reads:

  A related point is: why bother mounting such an attack? If you were
  indeed successful and started building your own block chain, then
  confidence in Bitcoin would plummet and investors would sell out their
  positions (assuming their positions could be sold out). The price
  would drop through the floor and the value of your exploit would be
  reduced to nothing.

Given the upvotes on this comment, many appear to agree that a sustained 51% would plummet bitcoin values. This would lead to extreme distrust, and possible collapse, of the system.

But $16.35M + $84k / day is likely spare change for some branches of the U.S. government. If the U.S. sustained a 51% attack almost indefinitely, would this destroy bitcoin? For them, the value of their exploit would hardly "be reduced to nothing", instead it could possibly save their inflationary currency.

One might even say the 51% attack investment would pay itself off with the amount of inflationary income they could generate given the downfall of bitcoin.

This same scenario may apply to any wealthy organization. One could bet on bitcoin falling and then apply this attack for profit. The IMF or a different government could have reason to attack Bitcoin.

One of the questions you linked to has the wrong chosen answer— Bitcoin can also be destroyed by a sufficiently deep pocketed attacker which corners sufficient marketshare of coins to enable causing debilitating volatility. Probably won't require any where near majority share to create volatility. I added my claim at that question.

Yes Bitcoin can also be destroyed if an attacker cornered sufficient Proof-of-Work to disrupt the system. Even if developers release new protocols after the attack, there will be chaos as to which fork to trust and reputation will be shattered.

Might not even require 51%, as the minority share attacker could cause many transactions to be randomly delayed, which is also potentially debilitating to a currency.

As the prior answer points out, one the keys to hardening a P2P currency is to make the Proof-of-Work more difficult to corner. But that alone is not sufficient, as the volatility of the value is another attack vector. I am contemplating solutions to harden against both classes of vulnerabilities.

Bitcoin might even be attackable simply by talking and enumerating the flaws in it. We could see a crash at any time if enough people become concerned. So public opinion is another attack vector.

And as BTC represent the potential for a seachange historical event in respect to money and therefore politics, wars, culture, etc, the powers that control trillions in concentrated wealth in all asset classes, acquired by controlling money printing are threatened.

Best start prepariing for what would seem an eventuality.


what's inside empty blocks? what purpose does it serve? i understand that blocks are created if there's a transaction, i've also seen many similar questions asked before about this, but i still wonder many answers stating that miners will mine empty blocks, this lead me to another set of questions haven't answered before.

what's inside those empty blocks? (i mean, what is "computationally expensive" from an empty item)
how can a system creates blocks that are empty and have no use (not for transactions use)
what happen if there are transactions example like sending btc to other address but nobody mining it (verifying it through mining), will the transactions ever get through to the destined address?

hope to find answers for this question, since i'm building a blockchain and it struck my logic multiple times

what's inside those empty blocks? (i mean, what is "computationally expensive" from an empty item)

Empty blocks still contain data. They aren't devoid of data, they simply do not have transactions other than the coin generation transaction (known as the coinbase transaction) in them. Since an empty block does not contain any transactions from the Bitcoin network, it is considered to be empty. Empty blocks are still computationally expensive because miners still have to produce a Proof of Work. They still have block headers which are 80 bytes and have all of the fields that non-empty blocks do. They still have a list of transactions; but that list just contains one transaction, the coinbase transaction, which pays the miner the block subsidy.

  how can a system creates blocks that are empty and have no use (not for transactions use)

Empty blocks still have a use. They aren't completely useless. Firstly, they extend the blockchain adding additional work to the blockchain. The transactions that a block contains does not effect how much work needs to be done to mine the block, so empty blocks strengthen the security of the blockchain by adding to the cumulative work gone into the blockchain.

Empty blocks also introduce new coins to the Bitcoin system. They still pay miners for the work that they did, so new coins are generated and paid to the miner of that block. This is part of the coin generation transaction included in the block itself as the only transaction.

Additionally, when there are no transactions, the network still needs to move on. There still needs to be blocks mined, so empty blocks must be allowed in order for the blockchain to continue.

  what happen if there are transactions example like sending btc to other address but nobody mining it (verifying it through mining), will the transactions ever get through to the destined address?

If nobody ever includes a transaction in a block, then the transaction is never considered to be final. It will still appear in users' wallets as unconfirmed and they will see the coins. They can even spend the outputs of that transaction, but creating transactions from unconfirmed transactions is not advised. Such a transaction would also be unconfirmed so long as the first unconfirmed transaction remains unconfirmed.

mining empty blocks although allowed, in my humble opinion, is a way of cheating the system, it allows you to working on solving  block N+1, when the outcome of block N is not determined yet.


How much power for mining single Bitcoin or bitcoin cash? Is there a fixed amount, or maybe just the average, power used to mine one single bitcoin coin or single bitcoin cash coin?

How low can the price fall until miners start red numbers?

Here's the quick math I did:

According to Blockchain.info, the total hash power is about 20.1 million TH/s.
If this is all done by the most efficient AntMiner S9 hardware, at 13.5 TH/s, then there are around 1.5 million devices.

Each device draws around 30KWh each day, and they are probably paying around 8 cents KWh, for a daily cost of about $2.40 USD each.

So:

$2.40 per day * 1.5 million devices = $3.7 million daily electricity cost

How much is being earned?

There are around 144 blocks mined every day, with a value of 12.5 BTC, which currently goes for about $9,000.

So the total income is about $16.2 million every day.

How low could prices fall before miners can't even pay their electrical bill?

144 blocks * 12.5 BTC * $X cost == $3.7 million electricity cost
solve for X:
X = $2,055

So, when the price of a BTC gets close to $2,000, miners will no longer be able to even pay their electrical bills.  Then there is hardware, staff, maintenance, overhead, profit, etc.

Side issues:

I assumed the most efficient S9 hardware, but some devices are more wasteful.  It is possible that more efficient miners will be coming out too.

I used some of the lowest US costs for electricity.  Its likely that costs in other countries are less.  I also assumed perfectly efficient power supplies, but checking on some online posts, it seems real-world power consumption may be 30% higher than what I estimated.

There is no fixed amount of power to mine a single Bitcoin.  Theoretically, even if your hash rate was 1Hash/s, you could stand to solve the hash for a bitcoin block faster than someone with a hash rate of 20EHash/s.

Whether or not the miners start seeing red numbers is dependent on how much the miners are spending to run their mining rig (i.e. equipment costs + electricity costs + maintenance costs, etc).


Bitcoin Core keeps crashing I have Bitcoin Core v0.11.0 installed on a machine that's running Windows XP.  After waiting several days to completely synchronize, I decided to update the bincoin.conf file.  I didn't see one where it was supposed to be, so I created a new file that had nothing but the following line it it.

txindex = 1

I saved the file in the appropriate directory and restarted Bitcoin.  Upon starting, it basically said that I had to start synchronizing from scratch (it said I was over 6 years behind).  It then crashed.

Finally, I decided to get things back to the way they were before.  I simply deleted the bitcoin.conf file that I had created, thinking that everything would go back to normal.  It didn't.  Now the program crashes every time I try to start it.  A window pops up that says

"Bitcoin Core (GUI node for Bitcoin) has encountered a problem and needs to close.  We are sorry for the inconvenience."

So what do I do now?  How do I get Bitcoin Core to stop crashing?

Thanks for your time.

%%%% UPDATE %%%%%%%%%%

As for the debug log, the first line to show an error is the following:

2015-10-30 02:56:56 Error: Couldn't open socket for incoming connections (socket returned error An address incompatible with the requested protocol was used.  (10047))

I've tried saving the bitcoin folder (the one that has the huge blockchain) as a backup and then re-installing The entire program.  After re-installation, if I let it create its own new "Bitcoin" folder, everything is fine.  Then when I try to put the blockchain folders inside the bitcoin folder, that it created, I get the error message.

I hope re-installation wasn't a mistake.  I have the blockchain.  I'd hate to have to re-acquire the whole thing again.

Either way, I really appreciate your speedy responses.  That's excellent!

I used to work at Microsoft - testing code - good luck with that - you will likely NEVER get it stable as to the machine you described - it is just too CPU and swap intensive because the XP platform cannot handle the memory the program will actually need and the hard drive - assuming you are NOT running SSD hardware - will never hold up for long


How much would it cost to execute a 51% attack? I know that it's commonly said that they're not really in the realm of possibility right now, but how much would it really cost to execute a 51% attack on the network?  And are there any organizations out there who might have a goal in mind for which such an attack would be worth it?

Adding to David's quote of $65,415 per hour here's a quick analysis of non-EC2 attacks (i.e. buy and run ALL the hardware to sustain a 51% attack)

Since power efficiency will be HUGE for this scale of an operation, let's use the most power efficient card we can find. This lovely pastebin doc tells us that is the Radeon 5850 at 1.595 MH/W.

At present you need 12.42 TH/s to pull off a 51% attack, which would require 51,585 of these cards. Assuming we put four cards to a rig it also requires 12,897 computers to run them all. Assuming the PCs take a scant 200 watts, each rig requires 804 watts of power, 10,365,735 watts in all. Assuming a fairly high efficiency cooling system, we can bump that up to about 14,619,916 watts. Before anyone claims that this alone is impossible, keep in mind it's about 0.7% of the peak output of Hoover Dam. Speaking of Hoover Dam, I'm going to use my local energy rate of 11.28 cents per kW/h (I live in Vegas) to find that it would cost $39,579.04 to run and cool these rigs for a single day.

Since these cards cost $192 at the cheapest outlet I could locate, we'd spend $9,904,320 on cards and at if we spent a scant $500 on each rig's other hardware they'd cost us $6,448,120 as well for a total hardware cost of $16,352,440. If we amortize that cost over a year of operation before the parts die or become too obsolete to pull off our attacks any more, we can estimate $44,770.54 per day in hardware costs.

Total cost in amortized hardware and electricity to run a 51% attack for one day on the bitcoin network: $84,349.58 - but also recall that our total startup costs were 16.35 million dollars, and all that would buy you is the ability to double-spend for a time, so no it wouldn't really be worth it.

This depends of the network hash rate. Let us assume that the hashrate will decrease to 1 TH/s. That time everyone who has switched off 1 TH/s miner will be able to perform 51% attack only for the cost of electricity.

See also: https://en.wikipedia.org/wiki/The_Bottle_Imp#Bottle_Imp_paradox


Does any open source software exist for an e-wallet service? If I want to setup an e-wallet service, would I have to create it from scratch or is there any existing open source software that could be used?

It seems like the project was abandoned, but you might be able to recycle the code.

  During the last days I started hacking together a little online-wallet
  and thought some of you might be interested.

  It is based on the bitcoind RPC API for handling accounts and adds
  custom labels stored in database.

  If you want to send coins to a labeled address, just start typing the
  label and it will autocomplete.

  It is a Ruby/Rails application released under the MIT license, so you
  can setup your own online wallet or even run it locally and use it
  instead of the default client UI.

  Note that this is just a very early development version which still
  needs a lot of work.

  Project/Source: http://open.sourceagency.org/projects/webtc Demo
  (testnet): http://webtc.interesthings.de (There is a demo Account:
  foo@bar.baz / password, but feel free to create new accounts, the
  email doesn't have to exist)

  Feedback, bug reports, patches and donations welcome

bitcointalk.org

try ecryptr, here's the github project:
https://github.com/devgeeks/Encryptr

  https://encryptr.org

  Encryptr is a zero-knowledge, cloud-based e-wallet / password manager
  powered by Crypton.

  It started as an example project for seeing what Crypton could do in a
  Apache Cordova mobile app. I had a particular itch to scratch. I got
  tired of trying to remember my work password. It changes fairly often,
  is slightly complex and is generated – I can't choose it for myself.

  I had tried a few password managers but hadn't loved any of them –
  particularly on Android. So, when I needed an idea of an app to make
  to try out Crypton, this seemed like an obvious choice. At its
  simplest, Crypton is basically a cloud based key/value store using end
  to end zero-knowledge encryption. None of the data stored on the
  server can be viewed by the server.

  I wanted something to store hard to remember passwords, important
  numbers, etc across devices.

  Encryptr keeps it simple. It has three types of data it can store.
  Passwords, Credit Card numbers and general key/value pairs. It can
  easily be expanded to include other default entry types.

  It is currently working on Android, and the Desktop – thanks to NW.js
  – but there are no reasons why it could not by expanded to
  Blackberry10 and Windows Phone 8.

  iOS is coming soon, just waiting on a way to either make it work with
  the new WKWebview or to push some of the hard crypto to native.

it sounds like this may be what you are looking for.


ATI OpenCL V.S. NVidia Cuda Cores First of all, i would like to say, i really don't want this thread to be some debate about your favorite video card manufacturer. So please just take that elsewhere.

I have heard from a lot of people that ATI & Open CL is much better for mining than NVidia with Cuda.

When i first heard this i was kind of shocked, because pretty much everything i have ever heard in the past was that Nvidia's Cuda was quite powerful at solving mathematical problems, and I even had a couple university professors that swore by Nvida cards over ATI for this very reason.

So what is it, about the Bitcoin and Litecoin algorithms that make it so much easier for ATI cards, or should i say harder for NVidia cards?  I want to understand the technical reason behind the common knowledge.

Thanks.

In many ways, it is just coincidental that GPUs are going at hashing. It doesn't surprise me that some GPU engines are a better fit than others. A particular GPU might be very good at some types of mathematical operations (or rendering, for that matter) but might not be particularly good for hashing.
This is discussed in some detail on the bitcoin.it wiki:

Firstly, AMD designs GPUs with many simple ALUs/shaders (VLIW design) that run at a relatively low frequency clock (typically 1120-3200 ALUs at 625-900 MHz), whereas Nvidia's microarchitecture consists of fewer more complex ALUs and tries to compensate with a higher shader clock (typically 448-1024 ALUs at 1150-1544 MHz). Because of this VLIW vs. non-VLIW difference, Nvidia uses up more square millimeters of die space per ALU, hence can pack fewer of them per chip, and they hit the frequency wall sooner than AMD which prevents them from increasing the clock high enough to match or surpass AMD's performance. This translates to a raw ALU performance advantage for AMD:

AMD Radeon HD 6990: 3072 ALUs x 830 MHz = 2550 billion 32-bit instruction per second
( Nvidia GTX 590: 1024 ALUs x 1214 MHz = 1243 billion 32-bit instruction per second

This approximate 2x-3x performance difference exists across the entire range of AMD and Nvidia GPUs. It is very visible in all ALU-bound GPGPU workloads such as Bitcoin, password bruteforcers, etc.
Secondly, another difference favoring Bitcoin mining on AMD GPUs instead of Nvidia's is that the mining algorithm is based on SHA-256, which makes heavy use of the 32-bit integer right rotate operation. This operation can be implemented as a single hardware instruction on AMD GPUs (BIT_ALIGN_INT), but requires three separate hardware instructions to be emulated on Nvidia GPUs (2 shifts + 1 add). ?This alone gives AMD another 1.7x performance advantage (~1900 instructions instead of ~3250 to execute the SHA-256 compression function).
Combined together, these 2 factors make AMD GPUs overall 3x-5x faster when mining Bitcoins.

This is also discussed in a bitcoin talk thread.

Nvidia focuses on larger way, how the solution is going to applied in real world. AMD focus on the core computing architecture and rest is left to the implementors.


Can I use my wallet on different computers? I'm used to synchronize my data on different machines. Depending on the data I use SVN, Dropbox or SSH (Unison). Is this possible with the bitcoin wallet, too?

It is, with three provisos.

Never run the same wallet on more than one computer at a time.
Never run an older copy of a wallet when a newer version exists. If you send any funds, make sure to keep the newer copy of the wallet.
Make sure all client programs are linked to the same version of BerkeleyDB.

Overall, I think it's just not a good idea. The client software wasn't designed to cleanly handle the many things that can go wrong.

You can get yourself an online wallet at a site like Blockchain.
Then you can log in on the site from any computer to access your wallet.


Unable to access Wallet in Multibit HD - currupt password After my computer died and was rebuilt I'm trying to restore access to my bitcoin wallet.

I have my wallet words with I've confirmed are correct as I've used them in the past.

I try to restore my wallet by entering my wallet words, which are accepted, then select my backup which is located correctly.
Then I get the restore report saying
 Backup location created
 Wallet Created
 security certificates
 wallet is synchronising. please wait until complete.

but as the wallet fails to create I don't think it can synchronise. the screen stays like this until I cancel.

I have the same issue. It seems MultibitHD is not able to restore wallet at all. I removed everything related to it from AppData (first created backup), uninstalled application, restarted PC, installed again and tried to restore wallet. Wallet words accepted, wallet backup file loaded and last screen hangs with "X wallet not created" and "Synchronizing please wait till completed". It never completes I can tell.


Mining Litecoins as User in Debian I followed this tutorial https://litecoin.info/Debian_Linux_cryptocoin_mining_rig_setup_guide and set up a Mining rig (Debian 6.0.10). Sometimes I modified it (downloaded later graphics drivers than in the Tutorial sugestet etc) but it works and I can mine on a pool.

But I can mine only if I log in as root. If I log in as a normal user and type cgminer --verbose -T, I get the following error:

 [2015-02-15 22:36:50] Started cgminer 3.7.2
 [2015-02-15 22:36:50] Loaded configuration file /home/martin/.cgminer/cgminer.conf
No protocol specified
No protocol specified
No protocol specified
 [2015-02-15 22:36:50] CL Platform 0 vendor: Advanced Micro Devices, Inc.
 [2015-02-15 22:36:50] CL Platform 0 name: AMD Accelerated Parallel Processing
 [2015-02-15 22:36:50] CL Platform 0 version: OpenCL 2.0 AMD-APP (1642.5)
 [2015-02-15 22:36:50] Error -1: Getting Device IDs (num)
 [2015-02-15 22:36:50] clDevicesNum returned error, no GPUs usable
 [2015-02-15 22:36:50] All devices disabled, cannot mine!

I tried setting all privileges in the folders in root - which are used for litecoin mining - to 777 and to change the owner to the usual user, but it didn't work. I copied the file /root/.cgminer/cgminer.conf to /home/user/.cgminer/cgminer.conf, set the user and the right to this file, but this didn't solve the problem too.

But why can only root access the OpenCL functions which are used, why can not the normal user do so?

Thank you.

You should be able to add your current user to the plugdev group in Linux to be able to access the GPU as a standard user.  This can be accomplished by the following command:

  sudo usermod -G plugdev -a whoami

There may be some additional bits of information that are relevant in the README on the cgminer website.

I'm not familiar with cgminer -- i hope to learn more about it this year -- but a wild guess would be that it tries to configure some device driver, and that needs root priviledges.

If you are worried about using the root user for mining, maybe you can add this device driver priviledge to a common user using sudo.


What is a simple explanation for how the number of bitcoins in circulation is determined? Often times when I explain to someone that there is a limited supply of bitcoins available that need to be divided across all the people who want to have bitcoins, the people who are computer illiterate will ask how I know that the number of bitcoins in circulation can not be changed or manipulated. They usually just get a glossed over look on their face when I start talking about decentralized protocols. Has anyone come up with a good way of phrasing it or an good analogy to get people to understand how these limits are determined, enforced, and protected?

You could explain the coin limit like this:

When Bitcoin started, its creator set a rule - "No more than 21 million Bitcoins will ever be created, and they will be given out gradually for creating blocks" (Add further explanation of block reward or proof-of-work here if needed). Everyone who joined Bitcoin knew about this rule, and they were all for it. As everyone can see all the money created by solving the blocks, everyone can check if someone tried to go against the rule and cheat. If cheating is detected, nobody will accept the solution, instead looking for one that follows the rule. Because everyone is checking everything, nobody can cheat and create more Bitcoins than is allowed.

Don't use any big words like "decentralized".

I just say something like 'The system is designed so that roughly every 10 minutes 50 new bitcoins are generated'.

Then again, most people I dare to discuss bitcoin with are techies.

You could always try the mining gold analogy.


Does buying bitcoins and not spending them have negative influence of the bitcoin price? I'm curios whether stock investing behavior have negative infect on the price of the bitcoin and other cryptocurrencies. Since popular delusion is that the crypto is like a stock where you buy coins and wait for the right time to exchange it. What if most of the people don't wanna spend there bitcoins will that make them unpractical for use?

Every investor has a different threshold for risk tolerance. A price one investor might consider as cheap, might be expensive for another investor (read Greater Fool Theory.) If the investor base of bitcoin is considerably large, at any point in time you are highly likely to have two parties trying who will be willing to take opposite positions. Improvement in liquidity, introduction of new financial contracts (futures, derivatives) can go a long way in helping improve the price volatility in bitcoin and attract a wider base of investors.

I think, it does not. Because we also don't buy things with gold. But the value of gold is not lessing.
We have gold jewelry and it does not lose is value because of laying in our caskets


What should I do to increase bitcoind sync speed? My VPS has 2gb RAM and CPU core is 1 and 1 TB HDD storage. The sync speed is very slow. Currently it has about 700 MB free RAM. bitcoind is taking about 66% of the 2GB ram.
Should I add 1GB more RAM or is there any way to get similar improvement using any configuration?

First, make sure you have listen=1 in your bitcoin.conf file, and that the P2P port is open on your VPS so that it can make more than 8 connections.

Then you'll want to make sure you have a high disk speed or IO specified (definitely not HDD - I have a feeling you meant SSD). The faster the SSD the better. 2GB RAM should be fine, but you may want to up it to 4GB and 4 CPUs, at least while syncing. bitcoind will use the most resources while syncing, then you can downgrade once it's synced.

You can:

stop bitcoind; download the blocks from another source (there are some through torrent) and copy them to the data directory; You then restart bitcoind and let it go through the blockhain validating everything.
increase the database cache size with the command line -dbcache. You can increase this to max 4GB. But you'll need a more ram in your system.


How to explore transaction chain via Original Bitcoin API as blockexplorer does it Is there any possibility to explore transaction chain via Original Bitcoin API (https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list) as the blockexplorer does it.
If not, why?

You can get information on all transactions in the current chain with the "listsinceblock" RPC command.  By not including a blockhash, all transactions will be returned.

  ./bitcoind listsinceblock

From there, you can get further information on transactions with RPC calls like "gettxout", "gettransaction" and "listreceivedbyaddress" which can give you all the information that you typically see in blockchain explorers.  But there's no user friendly way to view transactions, trace coins etc in Bitcoin Core.  If you want something like that, you might check out open source blockchain explorers such as this:
https://github.com/bitcoin-blockexplorer/old-blockexplorer-php