Technical | Bitcoin Gold https://btgofficial.org Make Bitcoin decentralized again Wed, 23 Sep 2020 21:20:29 +0000 en-US hourly 1 https://wordpress.org/?v=5.5.14 https://btgofficial.org/wp-content/uploads/cropped-fav-icon-1-32x32.png Technical | Bitcoin Gold https://btgofficial.org 32 32 BTG Core Wallet v0.17.3 https://btgofficial.org/core-wallet-v17-3/ Mon, 03 Aug 2020 20:00:58 +0000 https://btgofficial.org/?p=40893

We’re thrilled to announce BTG Core wallet v0.17.3!

This important release increases the safety of the BTG blockchain against deep-chain reversions by introducing rolling checkpoint finalization.

You can download the latest release here:

Typical users can shut down the app, install the new version, and restart the app without issue, but it’s always best to backup everything, especially wallet.dat files, first. The v0.17.3 release notes are here.

Version v0.17.3 is a direct drop-in replacement for v0.17.1 or v0.17.2, but before upgrading from an older version like v0.15.2, exchanges, services, and anyone who writes code against the API should should check the full release notes for v0.17.1 as some APIs are deprecated and there are changes to way the config file is read.

Notable Changes

Rolling Checkpoint Finalization

A finalized block is one which the system considers non-replaceable. If a node receives a sudden chain of blocks which is a “fork” of the blockchain going back further than the last finalized block, the fork will be rejected. This makes long attack forks impossible.

Every time a new block comes in, the node will check if a previous block is newly eligible to be finalized. To ensure normal chain function and prevent potential problems, blocks aren’t eligible until some time passes (see the release notes for full details.) This acts like a traditional bitcoin checkpoint, but over time the finalized block rolls forward, hence the name. The important part is that deep reorganizations become impossible.

Most transactions – over 60% – will be in a finalized block when they have just 10 confirmations, but under some rare conditions, it may take 20 confirmations or more. (In 99.92% of the past 100,000 blocks, finalization would have happened by the 19th confirmation.)

RPC Changes

The new RPC call getfinalizedblockhash will report the blockhash of the most recent finalized block so that developers can code new behavior around this security information. 

Looking forward as always,
The Bitcoin Gold Organization

 

 


Join the discussion and comment on this post at forum.btgofficial.org

]]>
Emergency update 0.17.2 https://btgofficial.org/emergency-update-0-17-2/ Fri, 10 Jul 2020 20:33:46 +0000 https://btgofficial.org/?p=40855

CRITICAL MESSAGE FROM BTG TEAM TO ALL POOLS, EXCHANGES, WALLETS, SERVICES, AND COMMUNITY RUNNING NODES

 

Please immediately upgrade your BTG Core full nodes to version 0.17.2, published July 2, 2020.

UPDATE: if you did not upgrade prior to July 10 at 14:00 UTC, you will also want to perform the command:
invalidateblock 00000000635620f22ba8694aea532d51619f8cd060f4e42e85db3cb3a5d1c29c

 

HOW TO UPGRADE:

1. You can use the pre-compiled binaries on Github, https://github.com/BTCGPU/BTCGPU/releases/tag/v0.17.2, or use the DOWNLOADS link you see above. Simply shut down your node, install the latest version, and start back up.

2. Manually upgrade from the latest code on the BTCGPU Github v0.17.2 tag (on 0.17 / master branch); full release notes here. If you are still at v0.15.2 and haven’t upgraded to 0.17, we have a backport version v0.15.3 tag (on 0.15 branch) including the same changes so you can keep your current configuration files.

 (Note: there were potentially breaking changes in the configuration file between v0.15 and v0.17*)

 

You can run this command in the console or bgold-cli to ensure you are immediately on the honest chain:

invalidateblock 00000000635620f22ba8694aea532d51619f8cd060f4e42e85db3cb3a5d1c29c

Note: a strong majority of the honest mining pools have already upgraded their code a week ago, and continue to mine on the honest chain.

The BTG Explorer at https://explorer.btgofficial.org/ is on the honest chain. You can compare your most recent blockhash with the explorer to ensure you are on the honest chain.

To ask your node for the latest blockhash, give it the command: 

 getbestblockhash 

And compare it to the latest block on the BTG Explorer at https://explorer.btgofficial.org/

 

====== EMERGENCY INFORMATION ======

We have just seen an extremely long attack chain of over 1300 blocks on July 10, 2020, against the BTG network which have been mined since July 1, 2020.

We detected this illicit activity early on and sent alerts to pools and exchanges to protect them; many closed their wallets over a week ago. We also supplied them with BTG version 0.17.2, which included a checkpoint at block 640650, hash 000000059ec8884fa4fbbdbe46c09cfb4ecba281dfa2351a05084e817c1200ae from July 2 at 2am UTC, mined by MiningPoolHub, a known honest block.

With this block checkpointed, the attacker’s chain could not take over, but this information was not public, and the attacker continued to mine. The attacker mined their secret chain for nearly 10 days, renting power from NiceHash to do so. Today, on July 10, the attacker released over 1300 blocks.

Because those attacking blocks are anchored at a block mined on July 1st (before the checkpoint), the honest pools and exchanges who are running the updated code automatically rejected the attacker’s chain.

It’s time for everyone else to upgrade their nodes to make sure they stay on the honest chain and to push your node onto the honest chain by using the simple command:

invalidateblock 00000000635620f22ba8694aea532d51619f8cd060f4e42e85db3cb3a5d1c29c

 If you use the Bitcoin Gold GUI, you can enter this command in the Debug Console. If you use the command line daemon, simply give this command to bgold-cli:

bgold-cli invalidateblock 00000000635620f22ba8694aea532d51619f8cd060f4e42e85db3cb3a5d1c29c

 This tells your node that the attacker’s version of the block at height 640650 invalid, and your node will immediately switch back to the honest version of the chain (perhaps after a short recalculation delay.)

 The majority of honest pool hashpower continues to mine on the honest chain.

 

Questions can be addressed to the BTG team:
https://discord.gg/HmVUU6S

https://t.me/BitcoinGoldHQ

 

=====================

Attack chain details:

The attacking chain includes this block at height 640650:

00000000635620f22ba8694aea532d51619f8cd060f4e42e85db3cb3a5d1c29c

 

The honest block checkpointed in version 0.17.2 at height 640650:

000000059ec8884fa4fbbdbe46c09cfb4ecba281dfa2351a05084e817c1200ae

 

The attacker’s mining coinbase address was:
GcxCUDhfB7RwfScd96J24mKYPounRbVUq2

Their common ancestor, valid on both chains, is block 640568, hash 00000001ca8ac90d83f6f5da01ac96b7a017702a040953b93cda2e52b07385cd, https://explorer.btgofficial.org/insight/block/00000001ca8ac90d83f6f5da01ac96b7a017702a040953b93cda2e52b07385cd

The honest chained mined publicly, mining this block 640569 on July 1st:

https://explorer.btgofficial.org/insight/block/000000027cd13938b688121c272c523497f898bcc743f2793b3eaeaa7abd751a 

The attacker mined secretly and withheld their block 640569 until July 10th, even though it was mined July 1st:
https://explorer.btgofficial.org/insight/block/000000047bd388dd484d9fdadece6b71aa13fa987bd2a283b68b9a2968465eac

If you have previously updated to BTG Core 0.17.2, you will still be on the honest chain, along with the major mining pools and exchanges.

If you have not yet updated and cannot update at this time, run the invalidateblock command as noted above to discard the attacker’s chain and put your node on the honest chain.

Want to comment? Join the Discourse here!

 _____________________________________________

*These changes are aligned with the changes in Bitcoin Core v0.16 and v0.17 and include deprecated RPC commands which are now disabled by default, as well as the introduction of “sections” for testnet and regtest. If you must use deprecated RPCs that are now disabled, you can re-enable them in your config file with the appropriate deprecatedrpc flags. Commands that are not in a section for [test] or [regtest] will only apply to mainnet; see ReleaseNotes. If you use no deprecated commands and use your config file only for mainnet, there should be no breaking changes.

 

]]>
BTG Core Wallet v0.17.1 https://btgofficial.org/core-wallet-v17-final/ Mon, 02 Mar 2020 12:00:17 +0000 https://btgofficial.org/?p=40974

We’re thrilled to announce BTG Core wallet v0.17.1!

This major update to our Full Node wallet includes substantial new features for BTG and numerous bug fixes.

You can download the latest release by clicking below:

Typical users can shut down their node, install the new version, and start their upgraded node without issue, but it’s always best to backup everything, especially wallet.dat files, first.

As promised, BTG strives to stay in-sync with Bitcoin Core’s developing features. BTG Core v0.17.1 parallels features of Bitcoin Core v0.17.1; developers and engineers can expect to see the same changes they already experienced upgrading Bitcoin Core from version 15 to versions 16/17.

IMPORTANT: Do not use v0.17.1 for in-place node upgrades in production environments without first testing and modifying! This version makes important changes to some APIs and the conf file (see release notes). Also, if you run a full transaction index (most individuals don’t choose to do this), the txindex db will be migrated, which can take many hours before the node is usable again.

Notable Changes

Compact Blocks

The most immediately important feature: Compact Blocks are fully implemented on BTG for the first time. This enhancement is critical to support Light Wallet protocols like Neutrino, which enable Lightning wallet and mobile wallet apps to work directly with the BTG network without having to download and store the whole blockchain.

Wallet Enhancements

The wallet and user interfaces now fully support Segwit addresses and full native Segwit support is enabled. All new wallets are HD-wallets (hierarchical deterministic – until now, users still had the option of making a new wallet that was not HD.)

PSBT Support

Bitcoin’s PSBT interchange format is introduced for BTG in this version, though it is not yet supported in the GUI. PSBT allows for transaction creation and signing to be coordinated among multiple parties (for hardware wallets, multisig systems, CoinJoin, etc.)

For Developers and Engineers

With this version, the RPC changes and new ‘label’ API you may know from Bitcoin Core versions 16 and 17 are now in place for your BTG nodes. Developers need to be aware that the deprecated ‘getinfo’ API is now retired in favor of more specific calls (see this about the API change) and pool operators need to be aware of the impact to stratum implementation (see this GitHub example for a guide. )

Summing Up

While this new version is not a hard fork and is not a required update (your current nodes will continue to work just fine), it will be a recommended upgrade for all users because of the many improvements. This updated version of the BTG Core Wallet delivers bug fixes, enhances performance, and delivers critical features that enable many new technologies that have been held back until now.

Looking forward as always,
The Bitcoin Gold Organization

Developers and interested parties can see the work on projects like neutrino, lnd, and other projects on the BTG project’s GitHub.

 

 


Join the discussion and comment on this post at forum.btgofficial.org

]]>
Endowment Wallet Mining Process and Complete List https://btgofficial.org/endowment-wallets/ Fri, 10 Aug 2018 18:01:10 +0000 https://btgofficial.org/?p=33361

UPDATE: we’ve added an external live balance site, as described in this post.

BTG Endowment Transparency
Live Source Code: https://github.com/h4x3rotab/btg-transparent

 

About the Bitcoin Gold Endowment

Since the day they were first mined, the Endowment’s wallets have been public on the BTG blockchain, but rumors and misinformation persist. This post explains the Endowment mining process in detail and lists all of the wallets.

In 2017, the Bitcoin Gold project duplicated (forked) the Bitcoin blockchain as a fair way to distribute 16 million coins, and then launched with an 8000-block mining period to create a 100,000 BTG Endowment to support the future of the project.

As of early August, 2018, about 20,000 BTG have been spent from the Endowment and about 80,000 BTG remain.

This Endowment is currently the only source of funding for the Bitcoin Gold project; after the formation of the Endowment on the day of launch, 100% of all mining rewards and fees have gone directly to the miners – exactly as described in our original Bitcoin Gold Whitepaper / Roadmap. and detailed in our earlier Endowment post.

The funds we’ve spent from the Endowment align as described in the Roadmap – salaries and payments for infrastructure, developers, support staff, travel to promotional events… we have not spent any funds paying Exchanges to list BTG. Our developers are currently focused on bringing Lightning Network fully to life on BTG, and are working on Atomic Swaps, Smart Contracts, and more!

The whole team is working hard to be Good Stewards of the Endowment so that it can support this project for months and years to come, despite the temporary bear market in cryptos.

Building for the future,
The Bitcoin Gold Organization
#1CPU1VOTE


Note that there is no “new information” in this post– it is a summary of information that has been publicly available since launch in 2017, either in the public open-source code on GitHub, or on the BTG blockchain itself.

Recap of how BTG started

Fork and Launch:

Fork at BTC Block 491406

After Bitcoin block 491406 was mined on 2017-10-24 01:17:35 UTC, there were about 16.5 million Bitcoin in existence. At that point, the entire Bitcoin blockchain was duplicated (forked) to establish the starting point of the ledger for BTG – so BTG blocks 0 through 491406 are identical to those same-numbered Bitcoin blocks (with the addresses converted to BTG format to avoid confusion.)

This new ledger of BTG had the same number of coins in it – 16.5 million – each of which was in the control of the same owner as the original Bitcoin (because those people hold the private keys).

BTG Network Launch

On November 12th at 08:34:01, the BTG network was launched and mining began with BTG block 491407, the first block mined as BTG, on 2017-11-12 12:34:01 UTC.

There was no mining and no coins were created between 2017-10-24 and 2017-11-12.

The mining reward from the first 8,000 BTG blocks formed the Endowment. At a block reward of 12.5 BTG per block, 8000 blocks yields 100,000 BTG, as specified in the original Bitcoin Gold Whitepaper / Roadmap.

Of those 100,000 BTG, 40,000 were immediately accessible and 60,000 were time-locked for up to 36 months. For safety, security, and control, those 100,000 BTG were mined into 152 different wallets, and all of these wallets are 4/6 multi-sig. (This means there are six private keys for each wallet, and at least four of the six private keys must sign a transaction to move any funds. Each of the six co-founders of the project holds one of these keys.)

If you’re good with code, you can confirm what’s written above by looking at the open-source code in our GitHub: 60% of the funds being time-locked for up to three years can be seen here. Enforcement of the official multisig wallet list is in the consensus rules seen here. If you’re not good with code, you can read still understand full mining process below, along with a full list of all the Endowment wallets. We include links to the blockchain explorer to make it easy to confirm on-chain.

After the mining of the 100,000 BTG of the Endowment, the total number of BTG rose from 16.5 million to 16.6 million. The Endowment was only 0.6% of the coin supply at the time. (Max future coin supply is 21 million, so the Endowment was 0.476% of the maximum coin supply.)

Endowment Mining Specifics

First 3200 blocks (40,000 BTG)

These were mined into four wallets, “round robin” style:

491407 -> Address 1
491408 -> Address 2
491409 -> Address 3
491410 -> Address 4
491411 -> Address 1
491412 -> Address 2
491413 -> Address 3
491414 -> Address 4
491415 -> Address 1…

… and so on for 3200 blocks. At 800 blocks per wallet, these wallets accumulated 800 * 12.5 = 10,000 BTG each. The wallet addresses are listed below, and are also visible when looking at those block numbers in any BTG blockchain explorer.

The next 4800 blocks (60,000 BTG)

The remaining blocks were divided into roughly 36 segments to unlock monthly over the course of three years. (Dividing 4800 into 36 would actually be 133.33 blocks per segment; instead, 36 segments of 133 blocks were created and a 37th segment with the remaining 12 blocks.)

Each segment was mined round-robin into four wallet addresses, much like the earlier blocks.

Example:

494607 -> Address 5
494608 -> Address 6
494609 -> Address 7
494610 -> Address 8
494611 -> Address 5
494612 -> Address 6
494613 -> Address 7
494614 -> Address 8
494615 -> Address 5…

During the first 132 blocks of the segment, each address received 33 block rewards of 12.5 BTG, so each received 412.5 BTG. Then, for the 133rd block, the first address received an additional 12.5, bringing the total to 425 BTG in the first wallet.

The total BTG for the segment is 425 + 412.5 + 412.5 + 412.5 = 1,662.5 BTG.

After these 133 blocks were done, mining advanced to the next segment, which did the same procedure into four new wallet addresses which were time-locked for an additional month.

Again, all the addresses in question are 4/6 multi-sig and require four signatures to withdraw funds, in addition to the time locks.

Complete List of Endowment Wallets

As of early August, 2018, about 20,000 BTG from the 100,000 BTG Endowment have been spent, and 80,000 BTG remain in the originally mined wallets. Nearly 60% of the current funds remain time-locked.

The complete list of Endowment mining blocks and their wallets follows below, broken into segments as described above. The first column shows the first block mined for each wallet; the second shows for how many months that wallet was locked.

Links go directly to the noted wallet address or block in the official BTG explorer, but these can be verified in any BTG block explorer or full node.

(Spent figures as of early August, 2018)

First Block Months Locked Blocks Mined Starting Balance (BTG) Spent (BTG) Wallet Address
491407 0 800 10,000 10,000 AQS1w7wyXQjPiE29LtA8ER8DbSQii4vSk7
491408 0 800 10,000 10,000 AeTXqQdHLJGug6PdaQFvQZvjPM9E8wDV8u
491409 0 800 10,000 0 AMZdDm8jyZRUTxWCjwZsKbBAtdnyzyTqtN
491410 0 800 10,000 0 AV1WBeDbz27UXRy9PRveHtbnT8u2cmy1Fs
494607 1 34 425 0 AbUDWqByF1zYK1EH9oYyqDiYqzwz4nyvUb
494608 1 33 412.5 0 AY5UJYbHpVqnzTSnVUmds96iEa184whwMy
494609 1 33 412.5 0 ANq7beYK3u4ZNSwLQ4jvaqfrJk5A2eNVjh
494610 1 33 412.5 0 AGHgQeewWPk9c3Du2nRF1p71NkGpnV2uSx
494740 2 34 425 0 ActxzuxFj1GwhEUDaKqHBrrXDpUB8uKCiA
494741 2 33 412.5 0 ALjMJWeDkZ7TkDZG4HwEGreLCZCDQ6eBax
494742 2 33 412.5 0 AekPK2yqYDUvM2KSRRxg7PF2WWYZNKtB4t
494743 2 33 412.5 0 AJoWHymWN9RoabfgWxP1idwXiGhr24KGe2
494873 3 34 425 0 AHGTzSDyvYc9facpDPFaMqB9wo2iH38Cv8
494874 3 33 412.5 0 AXgN6pqjgs8npUVXkhgpHmP66cQCyoJKAu
494875 3 33 412.5 0 AWTmcqDk2Zevu6xNAXqxfgZPpBdNMSZVct
494876 3 33 412.5 0 ARGAriqAfEvXETj7RFfpxDTqPjZKL786LJ
495006 4 34 425 0 AbU8U4VPc9r176VR8oQuhX1nzdRpTY5kWX
495007 4 33 412.5 0 AWFXYhfYzuECB8g6hS7tpiFmuK5ZNiD1cM
495008 4 33 412.5 0 AamYqNARNAW79d3ZUDKcADcmTfcdZpVGGA
495009 4 33 412.5 0 AS4Kniez3kxj75BwdxuZuXx8gu3L1amh7W
495139 5 34 425 0 AKgNEx94ksEqjfigiPEcvwxozZeVhUn1ii
495140 5 33 412.5 0 AVoB3cB76kxrTBu4hgBg9yCuYdwcuT2mKN
495141 5 33 412.5 0 AcaCbcttdQoVBdUxdzoVYsd6X2sSq5432q
495142 5 33 412.5 0 AQ3SSqcdUrvgSu3uYzKX5Rkzh3jj8orSjb
495272 6 34 425 0 AUxsecqWnrbRBi4b8SoW1DaU4Nb5KnwxpB
495273 6 33 412.5 0 AXWFsVTZNc2R1b3MtEoQPhYohmRkBLQqE3
495274 6 33 412.5 0 ANnRceRd7E9Lpi1DYXiiqejguj8xv8f8Do
495275 6 33 412.5 0 AJrorVhgKQd3bFXdD67YHAYBb5RKnL999C
495405 7 34 425 0 APAadERsu3MCEiQ5oXmGC9iQfA6zYUB99X
495406 7 33 412.5 0 AYTGiiVZ3QKbypQ7Xo79Ye5uoi4tDGAR4m
495407 7 33 412.5 0 AQqcZTbxQHuJfunnZSoCF3VyW8ifEQhhYs
495408 7 33 412.5 0 AJP778w9iJo34DQ1fi1HieCbmdY9cF1THf
495538 8 34 425 0 AKFygTFXiBUB9GPdKdn6onL6Rp9dDkVQLu
495539 8 33 412.5 0 AXS8ypZmxprjxogPsmPezG55vZVgurojJp
495540 8 33 412.5 0 AeAAWArhFwJ689DbpX36ZvbqhkwdXu3aNJ
495541 8 33 412.5 0 ALkvd3xjP5RjMmTCpwzgV3X5q5eNvyY4fc
495671 9 34 425 0 AZHBdUn6CzJeih9rjC8XzUaPc7BTc6UHFa
495672 9 33 412.5 0 AMeFSBPXzrvy4hw2M8seL9bQZewhM3K4Ns
495673 9 33 412.5 0 AL4quT2smecc37rBJJcRsXhcVJwF9qRwbt
495674 9 33 412.5 0 AP4u3Pp8GHiVzme77YGSL4RMNQRx56Cixg
495804 10 34 425 0 ALhZLy5QsEHC52WXiYJ9ZQa1R5LzxhSnWY
495805 10 33 412.5 0 AePv2ModpBZ2tpG7JRPMAqXWqJz1LcaiyJ
495806 10 33 412.5 0 AbugYUaJVCNBjfWRUCkmT6665FoRSP7uYB
495807 10 33 412.5 0 ANE4D4XhUdHUoYbroQsqxVMg77abSFjL2C
495937 11 34 425 0 AWf47JL81p9D27e9Lw2jPWx7b3aXFaoYvp
495938 11 33 412.5 0 AcHxtvBZLoED5DSHHtjrvpbuFHYYqjB9no
495939 11 33 412.5 0 ASR4kqwvwRWuAA89xfMEi1pRHw65wBtNMz
495940 11 33 412.5 0 AMunKdQ3636tAy9M7NK38TAsawaFd3STNn
496070 12 34 425 0 AZ2Uuc6aJsFAY5XqXuiw4AuTaXDiKdWhCo
496071 12 33 412.5 0 AZ7JrsewBSoRyxTfszU3LHiwni1k8rrZXE
496072 12 33 412.5 0 AGgrjx4QzAj5XZ6zdRhu5ePHeAaUymWBrb
496073 12 33 412.5 0 AHoQS2b3AWefbS4Do1y3UKfM74exHH7Z5j
496203 13 34 425 0 Ad6JefJ5cCqL1ut6YdWVXwNKcucn7rpBY6
496204 13 33 412.5 0 AWeS23zoK2mDkMn9StYEdhbsCRYuRmyQay
496205 13 33 412.5 0 AXV6XynkyEYqXSb3ZdpSSBpBU7zctCRyjo
496206 13 33 412.5 0 AR4HEijijQ9qoBGBMTXNsUsku7n2NsxcU7
496336 14 34 425 0 AUDa72eva3KUUHA4YH7fL7BQDptDdzNUBi
496337 14 33 412.5 0 AZwmvikneYRddRUx8DLaHwZSmM6F7Kvczs
496338 14 33 412.5 0 AaX4amY3iTteJza7Y4RYh6q8nPD7MusQkN
496339 14 33 412.5 0 AZ2JZ3KyogYqHAbcrWUgXwDnpK2RcYx9g6
496469 15 34 425 0 ASXPPv4gzpmrAML9LgwXf6QHbowEdvNJRw
496470 15 33 412.5 0 AcMAuXZj9FPsk4tXgUs8j14jH49Uyig6tj
496471 15 33 412.5 0 AZYmHHDxHQtBs5BMUGkLDubLm1m3E31Dpx
496472 15 33 412.5 0 AHXSaY1Pr5vAkkccFALCyGkDHAM2dEX2yt
496602 16 34 425 0 ANvRrt1mpycsY7swptKJpfwTbhYUoz4RMy
496603 16 33 412.5 0 ALSJ5wcNodyAm8CJYRA9CJs9XBvp3grWwY
496604 16 33 412.5 0 AH98tdS4CHxfzn63VEnXZtU9nbwWMS5jJM
496605 16 33 412.5 0 AHJqGZrHSquwa6PNxzjFBsAhnQQk1ZebDD
496735 17 34 425 0 AUST4mN8rToJDpk9RzX1x6PTCuRRPMsZgJ
496736 17 33 412.5 0 AQt7ry4oAoUMRkCR4BJAAhc1NHPZ7TuoMf
496737 17 33 412.5 0 AeS3MfE16tC4JTrenzMdRPvpdhLZWR3R5D
496738 17 33 412.5 0 ASofqECeLcX64tcEANhWTef6VmN2xju6ze
496868 18 34 425 0 AYhyhnCsiZjRwNJhzTqhWTCbdJomgtuzo5
496869 18 33 412.5 0 ASqF2namioeAwm7mhSpLCUGbj63Xt1hMw6
496870 18 33 412.5 0 AeNU7v9Qpzwm55ShfntzNXx76suBjSmMAG
496871 18 33 412.5 0 AGkHFt6zfnfWD8jD2s29H4z62JER3T2P3w
497001 19 34 425 0 APLrScxHJvz8T6BxaKXwmPDMAMRKMA2MHS
497002 19 33 412.5 0 AMRw2mdLFvR4GLTGD24y5Wmkz65hwNuYyE
497003 19 33 412.5 0 AUi37mZWDRcLNoCs9Tiztz7ZsGut91P1F4
497004 19 33 412.5 0 APcmYaj6QvmM8jXRbhGwgSmeG9K5d2TsWK
497134 20 34 425 0 AGDx6WsN8M1xfASR9ovJsqtV1WGguAgYKf
497135 20 33 412.5 0 AbLsUWsTssosXYQBLTWAduN2fwBEiuvQuq
497136 20 33 412.5 0 AQyU4uA6C8tETva8wE4yoeF9zkeSQRFYjp
497137 20 33 412.5 0 AJoKSRAPxizqQMAztHAeoCfVFLcZqr28FT
497267 21 34 425 0 APHa4jXXE14xC5VcfzHhXbQMvmg9rw8mQm
497268 21 33 412.5 0 AWT6YWoY4gEgUDwwksfMxCQgAM9QG3FCrY
497269 21 33 412.5 0 AWzhcVSJ5XNsvqAVKLw2Rtbh82F3Lsb3h1
497270 21 33 412.5 0 AMq5bXBMBQVqf7NeWSeUEsS85XBdYuqw7t
497400 22 34 425 0 AXQc16kEMpDUCA17KGo8RQkiKyNTguuWd2
497401 22 33 412.5 0 AcNxJFxdviCbooZSWUqcLgXevGsGUVkzGE
497402 22 33 412.5 0 ATRoe5HqvBa3inWn4ZRzwrxz5LJh3BxBkG
497403 22 33 412.5 0 AGjtMtpN9yLea7gs6hkB4xiqdtXrWgHsEH
497533 23 34 425 0 AV4wdL4tNmeMa2KUUukK8sgJHHVGLU4fi2
497534 23 33 412.5 0 AcYzo6DXj1DYKFW7hFsk4HaKHYSVEsnB7D
497535 23 33 412.5 0 AJb7zGfvJgFuxAGojrrVM7MB3c91z5qAdz
497536 23 33 412.5 0 Ad2faXezve3pc8CaLXh5JSDD2TcWtSCjGg
497666 24 34 425 0 AJ5iVkWpazC8trHiPyjf8odyEeetScsaUv
497667 24 33 412.5 0 AM4mz96xbVbGiFcFvnkPXR4vVGjmVSgmyc
497668 24 33 412.5 0 ATbY3oPUdAzjSL2GNDiZm2UQhK681XbMp6
497669 24 33 412.5 0 Adp6zrMoGAz3zLgRHJxKYJD8seaJvBbrnF
497799 25 34 425 0 ATiLZjw7NMn7tBcqjhXifBuiTu7v2qDuNC
497800 25 33 412.5 0 AWvgBe5hFRsi5PbjBXP2Zx2Yz83KAAeR8j
497801 25 33 412.5 0 AdQUGePtWeZBSFgnTJoFVrhcfnfjFyZmhH
497802 25 33 412.5 0 AcdEvBPKD6RTAShuP6KuaM81xuADdwLgVj
497932 26 34 425 0 AMxAwWLTP4MG8Q7QrU2uEZiB8woePnrzWj
497933 26 33 412.5 0 AbSEKVq69VSASgHubMk4ieRUu28AXkYeWU
497934 26 33 412.5 0 AYBiCTV83J9iP9c9pdxUPDe7G9uR7tjPbw
497935 26 33 412.5 0 AMoJW4WajYoHWSqJJy4xBnyxxsriYeGcQw
498065 27 34 425 0 AQEpErkwB54S1sGLqBNTRY2N8EdcEDtM5P
498066 27 33 412.5 0 AH7bk4NGXMAPACdHPytepH3p2vX2d5rdBS
498067 27 33 412.5 0 APEKTYSi73WyjbcXicuoWjTdK7D4RB4muM
498068 27 33 412.5 0 AZaVmMFeJbw49R1wGXUkPMqdooPY1VKb3H
498198 28 34 425 0 AakEANsdiY4jHgk4udAoRir3e13wc32mvo
498199 28 33 412.5 0 AcboEpFEALGk8JGRu2Uvjbqfbgg2TbLudx
498200 28 33 412.5 0 Af2WyCy2TCMtecDJ5g6EuYBSPFunqeXzSb
498201 28 33 412.5 0 Abqk5AeefbdkFfJzezRgPxsUxFkQQcgKAy
498331 29 34 425 0 Aeu61Tu3CGWXAoRfSsM6wa29sU76PeUDU8
498332 29 33 412.5 0 AXK2XgaPvNVgWNsjxwHHtdavHP3LR5sbXr
498333 29 33 412.5 0 AQTzJo1xhYsou7D7o5wXbZRWHCyTgXajef
498334 29 33 412.5 0 AQT7MbwKAfNAPvyCSAUL1wYjRbKXMkfsVQ
498464 30 34 425 0 ARuya3p2UU4nqNKJSAovuHGmmorqdLwqJ4
498465 30 33 412.5 0 ARgBNM9rd32AbYXySiZWXB4UgksjTqNhen
498466 30 33 412.5 0 AUZB3Bj36Wsc6N8GTGKZ9e1gj6SwLvnhJh
498467 30 33 412.5 0 AcWsLXgV3FRh7L8cRfHxtJy1JqZu1AWBMN
498597 31 34 425 0 Aa64Uc9tzBUcXhMfbkZM7VyGQY2LvGDhbq
498598 31 33 412.5 0 AGsUq1YxsvvH8GtQa9Jw9gPXxScNBZtwV4
498599 31 33 412.5 0 AWPsN3Ax5WGG5pLpM8mkXfH7GxTmuAaxef
498600 31 33 412.5 0 AebDSe77wVPWeJFkRoJBebQsH5MsEMWi4g
498730 32 34 425 0 AQnZAFq5dw3PH143NkDjWrEm5xXsdcGAA7
498731 32 33 412.5 0 AHcZ6neXkzrVHxGFaLdttckYbaLuvaWDAv
498732 32 33 412.5 0 AMyTBz5MAQ2g8r61rU69A9vPtfZCY8rtHW
498733 32 33 412.5 0 AWx2Ek3yNuKsRubfP4aVdBXstWpqr3vgwr
498863 33 34 425 0 AYasykrAhhDsbf1XZCjZkJwEhAVmie1rKy
498864 33 33 412.5 0 ASbL2uoJemZCduyJMmdnUCbY9QUBQnZif6
498865 33 33 412.5 0 ASSSDAdSn8NvaJdUuxQHSDT3LHnTKR5hjv
498866 33 33 412.5 0 AbYaUEFPjE8Z77KaL51B5KLyzQJyFm1qtc
498996 34 34 425 0 AR31Yxh7q9rhjodmcbRfFDtHP3eDwKPHzc
498997 34 33 412.5 0 ALANQadfeRVQPNVpgvAKZ5iTqQemsYh8qN
498998 34 33 412.5 0 AGgP515aGasrVvD4YZ2PJtmVeeN18pNZBw
498999 34 33 412.5 0 AGVXboJfCZKaZtBRrZzRHJvA1zGTVfBpDm
499129 35 34 425 0 APVCgFhksdFuUq1qvoDxhYjnnB5jZQNKUS
499130 35 33 412.5 0 AMXch6uyfKUAPpDEL4U6FM9bZ4K6kFUYPw
499131 35 33 412.5 0 Acj3g16FFzx6RCREu5USjxUDDdoAUovuzu
499132 35 33 412.5 0 AK9CH1HCzxtisdMzxsRhgen2bDhz9zetTX
499262 36 34 425 0 Ab2KHP6DdCZiVbixnaGCZxULR3HMyTBjLY
499263 36 33 412.5 0 Af1DsfPqKUfPygQ6WcJTdPvdjSmgFxPChr
499264 36 33 412.5 0 AcqM5XJA61P2NpzrWWjfDky6zz2pZvuz3x
499265 36 33 412.5 0 AVRfgsLaDaTGeV1AtczESj2tH7qz3hZF38
499395 37 3 37.5 0 AX3cgiZtM2qyb7Z27E4vRzEXqvKMaE6zFJ
499396 37 3 37.5 0 AaVTNXxLqAvyGJhN7MuaPNXvFSLaJJmVUy
499397 37 3 37.5 0 AcE7A1H8WgnYkbQJNEA32oVJvQoF6kb4er
499398 37 3 37.5 0 AYA9p64mwZs5HSP8W9fjcBP7hMm4p2bP8L

 


Join the discussion at forum.btgofficial.org

]]>
Bitcoin DLL Vulnerability, Fixed in Bitcoin Gold https://btgofficial.org/bitcoin-dll-vulnerability-and-fix/ Tue, 17 Jul 2018 00:53:05 +0000 https://btgofficial.org/?p=32381 Responsible Disclosure

As you may be aware, Bitcoin Gold has a Responsible Disclosure policy listed on the website, which is basically a (bug) bounty program for reporting security vulnerabilities in our stable software versions or infrastructure.

It allows people to safely report an issue to us, and if they follow the rules set out in the Responsible Disclosure policy, we will not take any legal action against them in regard to the report (hacking is still illegal).

The Report

Through the end of March, we received only false reports of “non-existing” issues, which we rejected. However, we recently received the first report which our SYSOPS and CERT team could accept. Although the security issue was very minor, we acted on it directly.

It was a DLL vulnerability that affects Bitcoin and all coins that use Bitcoin’s installer methods (including BTG.) We used the fix in our recent Network Upgrade and shared it for the rest of the community’s benefit.

Timeline:

Date
27 March Initial Report by Kushal Arvind Shah from Fortinet’s FortiGuard Labs
28 March Initial assessment from SYSOPS/CERT
28 March Started incident team with SYSOPS, CERT, Board and lead developer
01 April Classified the issue as LOW on usability and MEDIUM on impact
02 April Cause of issue identified and started work on fix
11 April Sent reward from the RD program to the Reporter
27 April Committed the code into master branch
29 April Added the code onto initial builds
24 May Reported the official fix of the issue
04 Jun Received confirmation from Reporter that the issue was resolved

You might have noticed there was a sizable time span between the report and the fix. That is correct: it takes time to build a fix, especially if the issue stems from a third party module and your entire build process is wrapped around it. It took a long time to test, build, and test again before we could implement the fix as a replacement for our current build process.

The Fix

The specific issue addressed by the bug was as follows: Bitcoin Gold uses the NSIS Installer module, which basically wraps our code into a nice install package for people. Our code uses the v2.46 NSIS installer module, the same as in the Bitcoin source. This outdated code had a bug in LoadLibrary: by default, it looks in the current directory of the process and into the Folder of the Executable. This is bad (especially in common use case when users execute our installer from the downloads folder) because an attacker is able to drop a DLL into the Folder of the Executable and give themselves high privileges. To try it out, just place a fake shfolder.dll (which brings up a message box in its DllMain) in the same directory as an NSIS installer and run the installer to see the message box appear. This bug has recently been found in many products and is called ‘.DLL sideloading’ or ‘.DLL hijacking’. Only Windows 7 and very old builds of Windows 8 are vulnerable. An updated Windows 8.1 or any Windows 10 system is not vulnerable.

Although the fix may appear easy (just install the new version 3.03 NSIS installer module!), it is, unfortunately, not that simple. With deterministic builds, we have to make sure the installer matches our code, which involves a lot of trial and error. Also, with our upcoming Upgrade hardfork and another update in the code, all updates needed to be added into the latest releases (as they are mandatory upgrades.)

Our developers did the careful work necessary to implement the new module into the existing build process before our next release. Any developer that is interested in how we resolved the issue can find our fix on our GitHub repo code commit, Switch to NSIS 3.03 (borrowed some code from TOR project).

The (low) Risk

To be clear, your system had to be compromised in advance for the attacker to have used this vulnerability. The installer software was not compromised, nor was our code modified or hacked. An attacker had to download a malicious .DLL file and put it in the same folder where you downloaded and run the installer. The Bitcoin Gold code, daemon and cli are not affected, nor is any Linux or Windows system (8/10) that is up-to-date. Even if you are running Windows 7, it’s unlikely that an attacker would have been able to download a malicious .DLL file into the right folder at the same moment as you launched the installer. And users would only install a (new) version once on their system.

Our recommendation: remove any and all previously downloaded installers and only use the latest version from our website or Git repository.

Because this fix was implemented well before our recent Network Upgrade on July 3rd, everyone who downloaded our software or code in preparation for the Upgrade was safe from this vulnerability.

It’s important to note that this issue is not specific to Bitcoin Gold: it can affect any coin that uses Bitcoin’s code as a basis. Some repositories, including Bitcoin itself, are currently vulnerable to this issue.

To ensure awareness of the issues and the fix, we submitted our work to the Bitcoin code repository in this Pull Request: Switch to NSIS 3.03 to avoid DLL hijacking.

Credits

The BTG team would like to thank the original Reporter (Shah from FortiGuard Labs), the TOR Project (where helpful code was sourced), and we’d like to call out the efforts of our SYSOPS and DEV teams, who managed the issue and the resolution for us. We’re happy to be able to contribute back to the Bitcoin project and provide a fix which can potentially be used by multiple projects which rely on the Bitcoin codebase.

Supporting the ecosystem,
The Bitcoin Gold Organization
#1CPU1VOTE

 

]]>
Network Upgrade: Testnet Today, Mainnet Next https://btgofficial.org/network-upgrade-testnet-today-mainnet-next/ Tue, 19 Jun 2018 14:16:02 +0000 https://btgofficial.org/?p=27491 Mandatory Network Upgrade

Bitcoin Gold is in the process of a mandatory Network Upgrade. Executing this upgrade requires a hard fork, but we anticipate a smooth upgrade with no chain splits (and no new coins created.)

We have successfully Upgraded the Testnet via hard fork. Our Partners and we are proceeding to finalize the necessary upgrades to related software and preparing for the upcoming Mainnet upgrade.

Our target date for the Mainnet Upgrade is sometime in the first week of July, depending on feedback from critical Partners in the Ecosystem. The actual target will be specified as a block height, not a date.

Technical Changes:

  • Implement new PoW: Equihash-BTG
    • “Equihash-BTG” is Equihash<144,5> with BTG-specific Personalization
    • (Old PoW was “Equihash,” which is Equihash<200,9> with generic implementation)
    • See https://btgofficial.org/equihash-btg/ for more detail.
  • Deliver improved Difficulty Adjustment Algorithm
    • New DAA is LWMA with optimized parameters
    • (Old DAA was Digishield v3 with inferior parameters)

Goals:

  • ASIC resistance
    • Equihash-BTG is dramatically more ASIC-resistant than the generic Equihash, rendering the recently-available Equihash ASICs ineffective for mining BTG
    • Equihash-BTG will probably make future ASIC designs non-competitive for a significant period of time
  • Safety
    • PoW & personalization changes create BTG-specific hashpower, and therefore a new “hashpower market segment” specific to BTG
    • BTG will be the dominant coin in the Equihash-BTG hashpower market, increasing security against 51% attacks
    • Although we expect Equihash-BTG rental markets to emerge quickly, they will be more transparent because there is only one practical use for Equihash-BTG hashpower. This means easier monitoring for potentially malicious activity.
  • Consistency and Regularity
    • New DAA (Difficulty Adjustment Algorithm) delivers much better responsiveness to hashpower shifts (which happen due to changing market prices and hashpower market dynamics)
    • This will smooth out block times, reducing the incidence of “fast” and “slow” periods
    • Will also increase average profitability for “steady miners” of BTG

[table id=2 /]

Mining Software and Pools

The first few Equihash-BTG capable miners for NVidia cards are already available, and we expect AMD-based miners to be available soon. We will begin maintaining a list of known compatible mining software and expected mining pool availability on the Forum as details become publicly available from the 3rd parties who make and maintain them.

In Closing

We’re very happy with the cooperation we’re getting from many of our Partners in the Ecosystem, but also from the community of Equihash-based coin teams with which we’ve been collaborating these past weeks. We know some wish this Upgrade could be delivered sooner, but coordinating with all our Partners and ensuring the mining infrastructure is ready are crucial to minimize disruption – and, of course, critical for safety.

We look forward to sharing many additional details in the next few days!

Improving every day,
The Bitcoin Gold Organization
#1CPU1VOTE

]]>
Equihash-BTG: Our New PoW Algorithm https://btgofficial.org/equihash-btg/ Tue, 12 Jun 2018 22:47:41 +0000 https://btgofficial.org/?p=26551 Summary:

Our current mining algorithm, Equihash, is used by many different coins without any personalization. It was originally developed by Zcash and based on the parameter set <200,9>. We are going to upgrade to Equihash with a the parameter set <144,5>, with some customization. We’ll call it “Equihash-BTG,” for now. This will keep our blockchain ASIC-resistant and add an immediate measure of safety from 51% attacks.

About Equihash

Equihash, which was first developed and used by Zcash, was designed from the outset to be an “ASIC-resistant” Proof of Work algorithm. The developers set out to accomplish this by making it a memory-hard algorithm. (See the Biryukov and Khovratovich paper on Equihash.) What does this mean, how does it make mining ASIC-resistant?

A memory-hard algorithm is one which requires a lot of memory to be able to run. It simply won’t work on hardware that doesn’t have enough memory.

When making an ASIC – an Application-Specific Integrated Circuit – adding memory is very expensive, and the more memory you need, the more expensive it gets. With a high enough memory requirement, building a “single-chip solver” on an ASIC becomes so expensive that you could not hope to earn enough in mining to pay for the ASIC. It’s impossible to profit.

Equihash was engineered to make that to happen – it can be configured to need a lot of memory as a minimum requirement to run, and it needs several times that much to run efficiently. (If you use half the ideal amount of memory, it can be 1000 times slower.)

Exactly how much memory is required? That depends on a couple of parameters.

The current Equihash: <200,9>

Equihash is the name for the general algorithm, but the exact implementation depends on two parameters, < nk >. Today’s common Equihash coins run on Equihash <200,9>, so n = 200 and k = 9. This setup is currently used interchangeably by Bitcoin Gold, Zcash, Zencash, and many other Equihash-based cryptos.

This <200,9> version of Equihash requires a minimum of 50 MB of memory but can run much faster with 144 MB of memory. This was not the most demanding (most memory-hard) version of Equihash considered at the time, but it appeared to be “good enough.” These memory requirements were previously sufficient to prevent building an ASIC, based on the comparison of ASIC cost to coin value a year or two ago. Since then, Zcash – which was worth $30 in Feb of 2017 – has grown to be worth over $250, and now there are multiple coins that can be mined with the same Equihash. Meanwhile, the cost of transistors in an ASIC has gone down.

With these changes, it became possible to build an ASIC that can work with just enough memory to profitably mine the current Equihash coins – and this is precisely what has come to pass. But this doesn’t mean that Equihash is defeated – just that Equihash <200,9>.

Equihash-BTG: <144,5>

We’ll be adopting different parameters, <144,5>, for Equihash-BTG. Although these numbers are smaller than <200,9>, it means the algorithm actually requires dramatically more memory to run – so much more that we believe ASICs will be impossibly unprofitable for quite some time. The <144,5> parameters require a minimum of 700 MB to run and use about 2.5 GB to run efficiently (that’s 17 times larger!) This should be too expensive to produce with an ASIC right now, while most graphics cards used by our miners already have that much memory or more.

We’ve seen the innards of the Z9 Equihash miner, and we’re no longer concerned that it might be able to mine Equihash-BTG effectively. We’ve tested the new algorithm with typical graphics cards and have confirmed that they can run the new algorithm with as little as 3GB of RAM (although it can be a bit tricky under Windows if trying to mine while still using the computer.)

The sheer amount of memory required for Equihash-BTG pretty much forces the use of DRAM, which calls for a dramatically different design than a single-chip solver for regular Equihash. Even if a specialty miner is developed for Equihash-BTG in the future, it will not have as dramatic an advantage over a GPU as the specialty Equihash <200,9> miners. This significantly decreases the threat ASICs can pose to our network. While we know that this parameter change is not a permanent fix – this one change won’t stop ASICs forever – we know it will solve the ASIC-resistance problem for now, and gives us time to consider other alternatives for the longer term, if necessary.

The new parameters in Equihash-BTG also provide a few other advantages over <200,9>, which you can read about in our more detailed Forum post about Equihash-BTG.

Enhanced Safety

The new algorithm doesn’t just protect us from ASIC miners – it moves us into a different “pool” of hashpower, which also gives us a measure of safety against the kind of 51% attacks against Exchanges that happened over three or four days this past May.

Why does the new algorithm make us safer? It has to do with the size of the pool of hashpower available as Equihash. The total supply of power is large because it’s currently used interchangeably by multiple coins, and some of those coins produce new coins quite liberally – they generate a lot of miner rewards, which attracts a lot of hashpower, making the total pool very big. Though the share of power available for rental may be a small fraction of the total power for all coins, it can be a large share compared to individual coins, such as Bitcoin Gold. When the power available to rent on demand is larger than the power mining our coin, our chain is potentially at risk of attack (if someone has the financial means to rent all of that hashpower while simultaneously having the resources to make an enormous double-spend attempt against an exchange.)

Because Equihash-BTG is different from the existing pool of regular Equihash power, we’ll effectively be in a separate pool of power. This means BTG will dominate the hashrate on this new PoW algorithm, which is “personalized” to BTG, adding a layer of incompatibility versus other coins that will be moving to the <144,5> parameter set, such as BTCZ (we’ve been collaborating with many other coin teams in the space.)

Timing and Future Updates

While we’re very close to being able to provide Release Candidate versions of all the software to the public, we still aren’t ready to commit to a specific fork date. We’ll begin releasing detailed information about progress with the code and timing to all of our partners in the coming days to assist them in preparations. Because this kind of Network Upgrade will be enacted via Hard Fork, we need to be sure our partners are prepared. (A Hard Fork does not mean there will be a new coin – it just means that the prior software won’t be compatible, so the Upgrade is not optional.) Our ecosystem includes dozens of partners, including mining pools, miners, the makers of mining software, blockchain explorers, wallet hardware and software providers, third-party merchant services, and over fifty exchanges! We’re doing our utmost to ensure that everyone in our community has the opportunity to prepare so that nobody is left behind when the time of the Upgrade comes.

Working towards a better future,
The Bitcoin Gold Organization
#1CPU1VOTE

References:

Additional reference for 3rd-party miner developers:

]]>
Bitcoin Gold Blockchain Performance https://btgofficial.org/bitcoin-gold-blockchain-performance/ Mon, 11 Dec 2017 05:51:04 +0000 https://btgofficial.org/?p=1622 We’re going to share some details and analysis of our blockchain’s performance. Although our Ecosystem has been growing rapidly, we know a few parties (including a small number of exchanges) were waiting to see if the new “blockchain is stable.” With this post, we plan to lay out what we feel is compelling evidence about that and hope to explain some possible misunderstandings.

Background

The key element here is the Bitcoin Gold blockchain, which is maintained by an independent network of thousands of computers doing calculations to process and secure transactions. Just like the Bitcoin and the Bitcoin Cash blockchains, the BTG blockchain is designed to produce blocks at an average interval of ten minutes, but the actual time to find any particular block is a random distribution, based on a “race” between those thousands of computers. A block might be found in two minutes, but might take twenty. It’s the average time that matters.

Our network’s block generation rate has been steady, finding new blocks as planned after the expected burst in the first 24 hours after MainNET Launch. After public mining began, the per-block Difficulty adjustment algorithm ratcheted up the Difficulty rapidly in response to a massive influx of mining hashpower, eventually stabilizing the average block find time at the target 600 seconds (ten minutes.)

Since then, the overall network Hashrate has been fluctuating significantly, as should be expected – the market for GPU hashpower is competitive, and responds rapidly to changes in market prices of multiple different cryptocurrencies. Our Difficulty adjustment algorithm quickly compensates for these conditions and has maintained an average time to find a block that is very close to the 600-second target.

Variability in Hashrate and the Difficulty Setting

It’s a mistake to focus on fluctuations in the actual Hashrate and the Difficulty: a varying Hashrate is entirely expected, and the changing Difficulty is designed specifically to compensate for the varying Hashrate. This is how the BTG blockchain produces a relatively constant block find time despite a fluctuating GPU hashpower market.

It’s important to recognize that changes in Difficulty are just a means to an end: what matters is the time to find blocks. It is explicitly because our Difficulty responds rapidly that none of the following problems have been occurring:

  • a drop in block time, due to incoming hashpower, which happens when BTG price rises or prices fall
  • an increase in block time, due to outgoing hashpower, which happens when BTG price falls or other prices rise
  • any dramatic change in block times when a significant amount of hashpower enters or leaves, whether based on whim or malicious intent

We’re pleased that our adjustment algorithm (a variant of Digishield V3) has been so efficient. Some might recall that we adjusted the algorithm during the Testnet period in early November. We considered it critical to get the adjustment algorithm working right – not to do so would be careless and could be harmful to other coins in the ecosystem. Bitcoin Gold always strives to be a Friendly Fork, so we’re pleased to have had no adverse impact on our predecessor coin, Bitcoin.

We’ve also become aware that some people have the mistaken notion that our block times are not stable because, quite frankly, they’ve seen some new charts they’re not familiar with! Traditional blockchain explorers graph the average time per day for Bitcoin and for Bitcoin Cash (one day is roughly 144 blocks), but some of the new explorers for Bitcoin Gold are reporting the find time per block. This new reporting made sense – after all, the Bitcoin system only adjusts the Difficulty once every 2016 blocks (about two weeks), so showing the daily average is fine. The Bitcoin Cash system added an EDA (Emergency Difficulty Adjustment) to compensate for fluctuations but was still based on a two-week adjustment. It was only after Bitcoin Gold came along with a per-block adjustment that it made sense to start reporting on a per-block basis.

These two different views – per day averages versus per block reporting – make for very different pictures, and you just can’t compare them. If we compare these three chains directly, using the same method for all, we’ll see that Bitcoin Gold does well.

Some Hard Data: Scatter Plots

Here are three scatter plots – The first is original Bitcoin, the second is Bitcoin Cash, and the third is Bitcoin Gold. All three chains have a target Difficulty of 10 minutes (600 seconds), and all three have the same timescales. Each dot represents the time to find one particular block, and the black line shows a 72-block moving average. (With a ten-minute target, 72 blocks should be about 12 hours.)

(Note: the vertical scale is limited to 1200 seconds to make fluctuations in the average block time clear. All three blockchains have significant numbers of outliers well above 1200 seconds which are not shown here, but they are included in the averages.)

What’s a scatterplot? Each dot represents how long it took to find one block. A dot at height 120 means that block took 120 seconds (two minutes) to find, and a block at 1,200 took 20 minutes to find. Every block goes into the scatterplot.

The black line shows the average time of the preceding 72 blocks. Since the process is intended to take about ten minutes per block, the black line should average around 600 seconds. So while the dots show you actual block times, and the black lines show you if the average has been running high, or low. (Ten minutes times 72 blocks should be twelve hours, so the black line is a kind of twelve-hour average.)

These plots of the block times and line graphs of the average time show that Bitcoin, Bitcoin Cash, and Bitcoin Gold are all exhibiting typical variability, but their averages are hovering around the 600-second target. Bitcoin is a touch more stable than the other two coins; this is likely a natural result of the fact the Bitcoin usually has more miners working on it than the other two currencies.

Although we’ve been stable for these two weeks, some people might ask why we don’t show the entire period since launch. It’s a fair question. There are two reasons: firstly, we had a very rapid series of blocks in our first day, both from establishing the Endowment and from the ramp-up afterward as massive new distributed hashpower came into our network. (Remember that we were not a live split at fork time which would capture a share of existing Bitcoin hashpower – our new network stood up from scratch, so after Launch, it needed to start from zero.) So it took a little time for our blockchain to stabilize.

The second reason: a few hours after our launch, on November 13th, Bitcoin Cash performed a hard fork to modify their Difficulty adjustment algorithm, and their network also needed time to stabilize. Using the first few days of our launch would not be fair to either Bitcoin Cash or to Bitcoin Gold.

In the end, we feel that these two weeks paint a fair picture of the current state of all three of these blockchains. However, to be comprehensive and transparent, we’re also publishing two more scatter plots covering earlier periods.

The second plot shows the time of our Launch, along with the ten days before and the ten days after, for 21 days, total. The vertical scale (seconds) has been increased to capture the broader fluctuation range of the 12-hour moving average in this period.

Above, you can see that the Bitcoin Gold blockchain started with a low Difficulty, and rapid blocks, followed by a quick rise as the system brought the network towards a 10-minute average despite a massive influx of hashpower after pools pointed their miners at the network.

Although Bitcoin average block times spiked just before the Bitcoin Gold launch (blocks were taking a long time) and the rate dropped back to normal afterward, this was unrelated to Bitcoin Gold. The slow block times happen when Bitcoin loses a lot of mining power to Bitcoin Cash, which also results in very rapid blocks in the Bitcoin Cash side: you can see this kind of shift on November 11 and 12. Bitcoin and Bitcoin Cash share the same type of miner, so price fluctuations between the two coins can cause miners to shift from the one to the other.

Bitcoin Gold uses GPU miners, so it doesn’t affect Bitcoin. The GPU mining market is competitive and varies, too, but our per-block Difficulty adjustment compensates for these fluctuations.

Lastly, to help show the “big picture,” this last chart shows the entire lifespan of Bitcoin Gold, starting one week before the fork (the gold-colored point in the Bitcoin plot on October 24th is the forked block), and running all the way through December 6th.

Per-second scatter plot from pre-fork through December

Again, the vertical scale has been adjusted to account for higher peaks on moving averages.

The gold dot on 10/24 in the Bitcoin chart was the Fork Block; prior to that block, Bitcoin and Bitcoin Gold share identical histories.This is reflected in the Bitcoin Gold chart… and we can see that different blocks started getting mined after Launch on 11/12.

The raw data for these scatter plots is publicly available, becasue each blockchain contains the timestamps. They are available here as a CSV for convenience for those who would like them – and please let us know if you have questions or comments.

We hope this helps clarify any misunderstandings and makes quite clear that the Bitcoin Gold Blockchain is Stable, and has been a Friendly Fork.

Thanks for reading!

Sincerely,
The Bitcoin Gold Community
#1CPU1Vote

]]>
Bitcoin Gold Daily Update – Testnet Participation Launch https://btgofficial.org/bitcoin-gold-daily-update-testnet-participation-launch/ Sun, 05 Nov 2017 04:56:55 +0000 https://btgofficial.org/?p=675 Hello everyone! 

We take the opportunity of this update to inform you of the latest news of BTG network tests and to invite all of the miners that are planning to participate in this project to test their machines in the Bitcoin Gold test blockchain.

The Bitcoin Gold testnet is proving the stability and security of the network, including the new difficulty adjustment algorithm and two-way replay protection, and is helping wallets, pools, and application developers to integrate BTG and fully prepare for the imminent mainnet launch.

 

What’s a testnet?

A testnet is a temporary blockchain used for testing the network. Testnet coins are useless and distinct from real Bitcoin or Bitcoin Gold (they are never supposed to have any real value). A testnet allows application developers and security researchers to perform experiments without having to risk losing real money or worry about breaking the main blockchain. https://en.bitcoin.it/wiki/Testnet

Who should use the testnet?

The Bitcoin Gold testnet can be useful for people who want to test the p2p network and consensus rules before the launch of the mainnet. Some of the more common uses of the testnet are for:

  • Pool operators: Test the setup and the integration of Bitcoin Gold into their mining pools and test end-to-end CPU/GPU mining.
  • Wallet developers: Test the integration of Bitcoin Gold into their software or hardware wallets.
  • Exchanges: Test on-chain transactions.
  • Pro users: Test security features like replay protection.

Track the process of testnet.

Click here for full technical info about testnet.

Bitcoin Gold team.

]]>
Bitcoin Gold Daily Update – Network stable https://btgofficial.org/bitcoin-gold-daily-update-network-stable/ Fri, 03 Nov 2017 20:34:33 +0000 https://btgofficial.org/?p=783 Dear followers of Bitcoin Gold project.

We are excited about the way the testnet is working.

On the second day we have applied changes about the starting difficulty, some more minor settings and restarted the network. Currently we have 57 operating nodes and more than 200 mined blocks. The network is stable and all of the transactions are executed.

Changes required:

  • Currently we are not experiencing any issues of the network. We see that the difficulty is dynamically adjusted and the block time is between 3 minutes and 24 minutes.

Next steps:

  • We are in touch with major exchanges and wallet providers that have asked for the replay protection and the unique address format in order to support us, follow their statements and start working on integration with Bitcoin Gold. So all the users can receive their funds without any problems.
  • We will start planning the release of the main network very soon and will come up with release date as soon as we are ready to announce it.
  • Go to previous BTG Daily Update to check our complete timeline.

Why a Testnet?

Testnet is for testing new features before the mainnet launch. Bitcoin Gold testnet can be useful for pool operators, pro users and exchanges/wallets developers who are willing to test security, on-chain transactions and setup the integration of BTG.

We want to inform all the BTG community that this is a testnet mining. The testcoins have no real value.

 

We take advantage of the opportunity to thank to users, pools operators, wallets and exchanges that are helping with the development and the testnet progress.  

All the received help is highly appreciated! Thanks for all of the support!

Bitcoin Gold community.

]]>