Bitcoin Gold wants to be to Bitcoin what Bitcoin is to fiat currencies. Confused? Yes, it is indeed not very clear, but go back to this first sentence after you finish this article and then see if it make sense or not. If you are more of a listener than a reader, you should check out our new and first podcast about Bitcoin Gold, which was made with the help of the Bitcoin Gold team. You can find our podcast here.
- 1 How Did Bitcoin Gold Come About?
- 2 How Bitcoin Gold Will Work
- 2.1 Equihash – A New Proof of Work
- 2.2 New Block Difficulty Adjustment
- 2.3 Can Miners Live In An Equihash Environment?
- 2.4 What Could Go Wrong With Bitcoin Gold Hard Fork?
- 2.5 Unclear Direction
- 3 Timeline
Anyone who asks me, or might ask you, why they would want Bitcoin over their national currency; one of the answers to that question is “no centralization.” Bitcoin was created for many different reasons and every day, people find new reasons to adopt Bitcoin. One of the historical reasons is that people do not trust states or banks or any sort of superior institution/intermediary to control their money.
With the great innovation that was the blockchain, cryptocurrencies became possible, and Bitcoin appeared to become the beautiful instrument that it is today. When someone buys Bitcoin he/she doesn’t trust an institution, they trust a system of peers distributed from all over the world constantly checking if every single transaction is valid or not.
We explained multiple times on this site how transactions are validated, and how the system secures itself here and there. One of the central components of the Bitcoin architecture is mining. Simply put, miners verify every transaction and compete with each other to get rewards. To get the reward a miner has to solve a math problem before anyone else in the network. Back in the early days, a miner would be any geek with a computer, willing to trade electricity for Bitcoins. Today, a miner is usually a huge warehouse full of very advanced computers, constantly running to solve math problems as fast as possible.
These computers consume incredible amounts of energy which is a big environmental problem in and of itself. But that’s not Bitcoin Gold’s biggest concern. As it becomes more and more difficult to mine Bitcoin, more capital is required to operate profitable mining operations. So a bitcoin miner today looks a bit like this:
That guy today has a warehouse full of specialized computers which cost a fortune. He is located in a country where electricity is very cheap. Today, a great majority of miners are located in China because they have access to cheap electricity.
But wait a minute! That is not what we want! In Satoshi Nakamoto’s white paper, one of the main ideas was that every CPU was going to be an equally important part of the network. We want Bitcoin to be a shared and independent currency! We don’t want any fat cats driving our monetary architecture!
The importance of miners in the network is constantly growing. Recently, there was a new implementation of the Bitcoin Protocol, called Bitcoin Cash, that was created. This new currency gave even more importance to big miners by increasing the size of a block in the blockchain from 1MB to 8MB. Thus, it requires more bandwidth and memory to mine the Bitcoin Cash blockchain.
In mid November, a new version of Bitcoin will be published which is not compatible with the current version. This upgrade is called SegWit2X. It will increase the size of the blocks to 2MB. The decision to make this fork was made during the New York Agreement by some of the biggest actors in the Bitcoin world. A great part of the Bitcoin community showed its discontent. This was especially visible during the Breaking Bitcoin conference where the Hashtag #NO2X appeared everywhere on social media, T-shirts, stickers (thanks to my friends at ChainSide), and caps.
To preserve the independence of the Bitcoin ecosystem from miners’ influences, some people thought that it would be a good idea to change the bitcoin protocol in such a way that any of us can have access to Bitcoin mining.
That’s why Bitcoin Gold was born, in order to bring Bitcoin mining back to the “people”. But we’ll see that it is a little bit more complicated and subtle than that.
How Did Bitcoin Gold Come About?
Last July, Jack Liao aka asiabtc, CEO of LightingAsics, made an announcement that he was working on a GPU mineable version of Bitcoin called Bitcoin Gold. There are a lot of fancy words in this sentence so let’s recontextualize this announcement. The post announcing BGold was written the 26th of July which was just a few days before the Bitcoin Cash hard fork.
Bitcoin Cash was an earthquake in Bitcoin’s history because it is Bitcoin’s first hard fork. Bitcoin Cash was created by developers and crypto-investors which rejected Segwit. The Bitcoin Cash people believe that the solution to help Bitcoin scale is to increase the amount of memory in a block.
The way hard forks work is that they take a snapshot at the state of the ledger at a certain time. At the time of the fork, the two blockchains are exactly the same, but then the fork applies new rules which make the two blockchains incompatible.
So, now we have two concurrent currencies: Bitcoin and Bitcoin Cash. They both believe that they have the best answer to the scaling issue. Bitcoin Gold is not an answer to the scalability problem, however, we can see it as a response to a currency like Bitcoin Cash.
Bitcoin Cash And The Growing Miners
Miners are very important in the Bitcoin ecosystem, and they take upon themselves very high risk in order for us to use the network. To make up for the risks they are taking, miners are looking for ways to increase their rewards while still keeping intact the stability of the Bitcoin ecosystem so that prices don’t crash.
After the proposal of Segwit started to gain traction, many developers and miners felt like SegWit was unjustly being imposed upon them. So, a proposal was made to keep everything the same in Bitcoin except that the Block size would be raised from 1MB to 8MB. This means that 8MB of transactions could fit in a block, 8 times more!
This is presented as a scaling solution to Bitcoin. The idea is that with more size in a block, you don’t have the problem that Bitcoin has today of blocks being full and transactions waiting in line to get into the next block.
This is a great advantage for miners because a bigger block means more transactions per block. The miners can then collect more transaction fees for every block they mine.
The main drawback of such big block is that it becomes much more expensive to store the blockchain and to mine Bitcoin.
Today, the blockchain is about 140GB. This means that for nodes to operate they require more than 140GB in order to be maintained. We reached that number with 1MB blocks; if we had 8MB blocks from the beginning we would need over a TB to store the blockchain. This also means that nodes require more bandwidth to send information across and to verify transactions. Thus, it is more expensive to run nodes, and if you are not a miner you will be losing 8 times as much money as you used to.
As mentioned earlier, an ever unpopular hard fork to Bitcoin was proposed in May 2017 called Segwit2X. The goal of Segwit 2X was to make everyone happy, implement Segwit, and increase the block size to 2MB.
So as you can see, Bitcoin is a great political mess at the moment. With the rise of Bitcoin Cash and the potential implementation of Segwit2X as a new hard fork, there is a fear that miners are controlling the hard fork game.
And Here Comes Bitcoin Gold
BGold attempts to directly address the problem of the concentration of power in the hands of miners. The philosophy behind it is that Bitcoin should be controlled by nobody so that the system can be as decentralized and distributed as it can possibly be. On their website they state:
“The purpose of Bitcoin Gold is to make Bitcoin mining decentralized again. Satoshi Nakamoto’s idealistic vision of “one CPU one vote” has been superseded by a reality where the manufacture and distribution of mining equipment have become dominated by a very small number of entities, some of which have engaged in abusive practices against individual miners and the Bitcoin network as a whole. […] Bitcoin Gold will provide an opportunity for countless new people around the world to participate in the mining process with widely-available consumer hardware that is manufactured and distributed by reputable mainstream corporations. A more decentralized, democratic mining infrastructure is more resilient and more in line with Satoshi’s original vision.” (www.btcgpu.org).
How Bitcoin Gold Will Work
Here are some of the differences that BGold advertises on its website:
The main points of differences in Bitcoin Gold which catch our interest are: the Proof of Work (PoW) algorithm, mining hardware, difficulty adjustment, and replay protection.
Equihash – A New Proof of Work
Proof of Work is the unit of measurement which protects the Bitcoin network from denial of service. The work done is the Bitcoin mining. The Bitcoin protocol is the one that decides what work must be done. As you know, the work is to solve a math problem as fast as possible. Today, the math problem is to identify a block which, when hashed twice with SHA256, gives us a specific number. This number must be smaller than what we call the difficulty target. The smaller the target, the more difficult the mining.
This is a lot to take in and it is okay not to understand it immediately. What matters is to understand that this math problem requires very few steps. The miners simply try out many combinations over and over again.
Think about a game where the goal is to find a red marble out of a bucket of blue marbles, but you can’t look inside and pick them one by one. If the bucket has 10 marbles, you might find the red marble after 3 or 8 picks. However, if the bucket has 1,000 marbles it will take longer. Imagine that this game is Bitcoin mining, and the change of size of the bucket is the difficultly level adjustment.
This is very basic math and using complex hardware like a CPU (Central Processing Unit, aka your computer)/GPU(Graphics Processing Unit) is a waste of resources. So people have designed specific pieces of hardware to perform this simple task over and over again. This piece of Hardware is called an ASIC (Application Specific Integrated Circuit).
ASICs were introduced to Bitcoin in 2013 and it changed the mining game. Because ASICs are so much more effiecent to do this specific task, GPU and CPU mining became obsolete. The typical profile of a miner is a Chinese warehouse full of ASICs.
Many people have tried to think about how to make mining GPU accessible. Proof of stake is a very interesting alternative which was proposed for Bitcoin and is about to be implemented by Ethereum. Many people are opposed to it, so two researchers named Alex Biryukov Dmitry Khovratovich proposed a new Proof of Work algorithm called Equihash.
Equihash implements a memory-oriented Proof of Work. This means that how much mining you can do is mostly determined by how much RAM you have. In other words, you need a computer which can do many things to solve a problem. It can be more efficiently calculated on desktop computers with their multiple processing cores and gigabytes of memory. ASICs can only do one thing so they cannot solve the problems Equihash gives them. Equihash is a so-called memory-hard problem, which can not be split up into smaller working packages.
Equihash is close to the Generalized Birthday problem (GBP), an algorithm which requires memory in addition to computational power, and any memory reduction severely increases the necessary time. That’s why Equihash is claimed to be a memory-hard Proof of Work.
The Equihash algorithm makes a variable number of iterations over a large list. The list entries vary in size from one iteration to another, and various heuristic optimizations, like sorting and storing in a tree-like structure, can be applied at every step to linearly speed up the solution search as iteration increases.
Equihash is not limited to Zcash or Bitcoin Gold, it can be used in any cryptocurrency.
It is worth pointing out that Equihash is similar to Ethash, the Proof of Work algorithm used by Ethereum. As you may know, Ethereum is trying to transition to a proof of stake system which would make a lot of the miners obsolete. Thus, it could happen that those miners would move their hashing power to a project like BGold instead of selling their graphics cards on eBay.
New Block Difficulty Adjustment
As explained in the marble example, the difficulty of mining is constantly adjusting. In Bitcoin, it is done in such a way that miners will solve a problem every ten minutes. What happens is that every two weeks the Bitcoin software looks at the average time it takes a miner to find a new block. If it takes more than 10 minutes then the software will make it easier to find a block (there will be less blue marbles in the box). If it takes less than 10 minutes, the software will make it harder to find the next block (more blue marbles are added to the box).
Bitcoin does this adjustment every 2,016 blocks (which is equivalent to 10min*2,016 ~= 2 weeks. Bitcoin cash does the same, but it has an emergency system which as explained above that creates a lot of instability. BGold on the other hand, wants to adjust its difficulty every single block to make sure that blocks are mined every ten minutes.
Once again, the developers of BGold have decided to adopt Zcash’s difficulty adjustment algorithm. The algorithm is called DigiShield V3 which was initially developed for another big cryptocurrency: DigiByte. The idea behind this algorithm is to adjust the difficulty by looking at how fast the current block was found relative to the median of a number of pre-established preceding blocks.
The problem with this approach is that sometimes by chance someone can find the next block very fast (by chance you can find the red marble on your first try. Unlikely, but still possible). In that case, the software could think that many miners have arrived on the network, so it will make it much harder to find the next block. To remedy this problem, DigiShield has an asymmetrical logic where it will increase mining difficulty more slowly than it will decrease it.
“You need to allow the difficulty to increase enough between blocks to catch up to a sudden spike in net hash, but not enough to accidentally send the difficulty sky high when two miners get lucky and find blocks back to back.” (Source: reddit)
The Bitcoin gold developers can, for example, set a similar rule to ZCash and say that the difficulty can rise by 8% max and decrease by 16% max compared to the last difficulty level.
The control of the difficulty adjustment is extremely important because bigger miners could artificially warp and influence the mining difficulty by switching their operations on and off to get greater gains.
Can Miners Live In An Equihash Environment?
If we go back to the Equihash implementation, which is probably the most significant improvement to the Bitcoin protocol, we can see that Bitcoin miners are in trouble. However, it might not be that simple. When you look at the instigator of Bitcoin Gold you can see that he is the founder of LightingAsics, which sells cryptocurrency miners. These miners can be used to currently mine Bitcoin but also other cryptocurrencies such as ZCash.
Something we should not forget about is that miners are very resourceful in terms of money, but maybe more importantly in brain power. There are a few solutions that they can come up with to still be in the game in case of a great adoption of an algorithm such as Equihash. First, of all, they can buy some specialized equipment which, even if it doesn’t nearly reach the performance of ASICs, can easily beat GPU mining.
That being said, it has been pointed out that making hardware which is specialized for Equihash mining will be very difficult and the gains compared to normal graphics cards might not be significant enough. However, if the market is there then it is likely that specialized hardware will be developed and another Proof of Work algorithm will have to be developed. So maybe we will end up with some Equihash ASICs.
What Could Go Wrong With Bitcoin Gold Hard Fork?
A replay attack is a little bit a misnomer because it has a slightly different meaning in the Bitcoin world than it does in general IT. The risk of a replay attack is inherent to every hard fork and has to be taken into consideration in order to protect users from losing their funds.
Let’s say you buy a new cool “I <3 BGold” t-shirt on a site called BitTees after a hard fork has occurred between BTC and BGold. You sent them 1 BGold for the transaction. You look at your BGold wallet and see that 1 BGold was sent to BitTees on the BGold blockchain. Now you go to your BTC wallet and see that the exact same operation occurred on the Bitcoin blockchain, now you are missing 1BTC!
How did that happen? Well as we know, BGold is an exact copy of the Bitcoin blockchain until the fork occurs. This means that all public and private keys are the same. So, when you send a transaction that you signed for with your private key on the BTC blockchain it will look exactly the same on the BGold blockchain if it is re-broadcasted by an attacker to that other blockchain.
That is way scary! So what can be done?
Well, the easiest way not to lose money is to simply not transact until we are sure that we are fully protected against replay attacks. That’s a little bit scary. So, we have to rely on the wallet providers or on the developers of the fork to implement a replay protection mechanism.
Without replay protection, it is difficult to see any future for BGold; people would be too scared to use it and lose their much more valuable Bitcoins. It is important to note though that this kind of attack only applies to BGold which are on the network right after the fork. If you buy BGold after the fork, these won’t be subject to replay attacks.
Key Missing Features
This is maybe the biggest concern at the moment. Even if there is a quality team of developers, there seems to be a long way before BGold can be a usable cryptocurrency. The team is working on replay protection, but it is a difficult task and they are looking for more developers to help out.
The team has pointed out to us that the Equihash implementation is ready, as well as the per-block difficulty adjustment and the testnet. They also have redirected us to some wallets, but none of them are working at the time of this writing. You can check out the ecosystem section of their website.
One element to ponder on here is that the progress of some of these features are difficult to implement. For instance, the Equihash code is merely a copy-pasted code of the Zcash version with an extra if-statement. That being said, the team is indeed working very hard to make some progress.
BGold is not going to be a simple hard fork. We can see that on their older website and older threads that they wanted to launch an ICO on top of their fork.
How would that work?
They would literally take full control of mining for a certain number of blocks and allocate all the rewards to their addresses. This operation is called pre-mining and can be done instantly. Then they would sell those newly mined BGold to the public.
This is a very strange proposal. If there is a fork, the people with Bitcoin addresses will already have BGold. Why would they then pay to get some more BGold? If they want it so badly they could just buy more Bitcoin before the fork. And if they want a lot of BGold they can just wait for other Bitcoin holders to dump their BGold. It doesn’t seem very serious, and I am curious to see how it will be safely implemented.
There has been back and forth and disagreements within the community. We have contacted to Bitcoin Gold team, which has been very helpful in the writing of this article. They told us that the pre-mine will amount to less than 1% of the Bitcoin Supply (so less than 200,000 blocks). They have also told us that the Bitcoin Gold that is pre-mined will be put into multi-sig wallets (we are not sure yet of who has the keys), and that they will be distributed in the following way:
Now, when taking a closer look at the commits made on Github, it is very difficult to find substantial changes. Some major implementations are simple copy-pastes of other code bases. So we cannot help but wonder if the quality of the code will be there. This concern is corroborated by the fact that there is a general feeling of this fork being rushed. The website was only just recently updated, and the Bitcoin code base is extremely slowly being converted one commit at the time to change Bitcoin/BTC to BitcoinGold/BGold.
How to Acquire Bitcoin Gold
Bitcoin Gold is not very popular at the moment, to say the least. The hard fork will occur on Oct 25th and to claim BGold you have to hold Bitcoin on your address at the time of the fork. If you hold 1 BTC on Oct 25th 12:00:00 UTC, you should have 1BTG on the same address on November 1st ( if all goes well).
The problem is that if you are using a third-party wallet or have your money on an exchange, then you have to make sure that provider will support BGold. As of today, very few exchanges or wallet providers have declared they would help its users get Bitcoin Gold. So far, HitBTC and YoBit are the biggest exchanges who said they will be trading Bitcoin Gold. There will be an announcement by Trezor soon. Very recently, Bittrex has announced it will support Bitcoin Gold. However, this support is only at the condition that there is a supported wallet and that replay protection is properly implemented.
This means that in order to get your Bitcoin Gold, you will have to make sure that your wallet provider is compatible. It is also very important to keep a backup of your private key and/or keep the mnemonic phrase required to recover your wallet. For example, Electrum will most certainly allow you to recover your BGold. The hardware wallet Ledger is always a nice and safe option.
Bitcoin Gold will fork on block 491407 – just hold your BTC in a Legacy or Segwit address before. Nothing else necessary.
— Ledger (@LedgerHQ) October 21, 2017
As always, the wisest recommendation is to be extremely careful after the fork and wait until things to stabilize before moving funds around.
It is still unclear what will happen, but here are some key dates:
- 25th Oct: Hard fork occurs, a “snapshot” of the blockchain is taken and future BGold attribution will be built on that basis.
- After this, the testnet will be opened.
- 1st Nov: the Bitcoin Gold blockchain is activated (if replay protection is implemented), and users can claim their BGold. Miners can start mining.
It is very difficult to tell what will happen to the Bitcoin Gold price after that. Most people think that it will trade below 10% of Bitcoin’s value. I believe it can trade for as little as 1% of a BTC, but the markets in crypto are so unstable that it could even be more than 10%. Luke Parker smartly points out that Bitcoin Gold could become a refuge if the Segwit2x in November starts affecting the value of Bitcoin. Indeed, Segwit will occur on November 15th and will probably cause a lot of trouble if the hard fork is implemented. Who knows, maybe we’ll even have a widespread adoption by Ethereum miners, which will boost the hash rate, stimulate more transactions, and push the price of Bitcoin Gold to the moon.
Bitcoin Gold is something new and I am looking forward to seeing what this “Bitcoin friendly” fork has in store for us. Unlike Bitcoin Cash, it is not saying it is Bitcoin, it simply is a new coin which happened to have forked from Bitcoin.
— Bitcoin Gold [BTG] (@bitcoingold) September 17, 2017
If you want updates about Bitcoin Gold, check us out on twitter here, and we’ll be in close communication with the Bitcoin Gold team to give you some fresh news. You can also check them out Twitter, Telegram, Github, or Trello and follow their progress when full nodes will be running on coin.dance. Don’t forget to be curious, and be safe out there in the crypto world.