Category Archives: Bitcoin


BlockFi, 2FA and Google authenticator

An initial problem with 2FA and logging into BlockFi has turned into an interesting problem that I am not sure has been satisfactorily resolved.

On trying to log into BlockFi today I discovered that my 2FA token was not being recognised.

In order to log in I used the original Recovery code that is created when you first sign up. Obviously this is not a satisfactory solution and I must have a valid 2FA token for future use.

This is a problem that I have encountered before with other applications and I thought I had the solution. Firstly check and reset the time on my 2FA generator, in this case Google Authenticator (other authenticators are available) , there is an option in settings that sync’s your device to the servers at Google. No joy. So after searching for solutions one suggestion I saw involved resetting the on the device used to login.

This contradicts my understanding of how the 2FA token works and would involve the syncronization of 3 time stamps. The timestamps on

the application, the 2FA generator, the computer

To my mind the time stamp on the computer should be irrelevant (as only the App and the 2FA generator need to be in sync ) but worth a try under the circumstances.

So I check that the time is correctly set on my Linux PC and reset.

name@computer :~$ timedatectl set-ntp yes

Still no joy….. as my PC is dual boot I thought I would make doubly sure the system time was working by resetting the time under Windows (10).

Youtube video 3 Ways to Synchronize Windows Clock With an Internet Time Server

2FA still NOT working

My only solution at this point is to login using the recovery code, switch OFF 2FA and then switch 2FA back on to create a new token. This still did NOT work. To cut a long story short to create a 2FA token that works under Google authenticator I first had to DELETE the token in Authenticator, rather than just scan and REPLACE.

So the fault lies with Google authenticator when generating and replacing the token but does not occur when deleting the token and generating a new token.

The fault could also lie with my phone by not saving the new code correctly when using scan and REPLACE.

Lastly I still have no idea why the initial 2FA token I was using failed after using it successfully for a number of weeks.

Bitcoin wansui

Bitcoin wansui

                Bitcoin for 10,000 years !

Bitcoin wansui,wansui,wansui

               Bitcoin forever !

According to Mike Hearn the Bitcoin project has failed, in a lengthy post ( he examines leadership failure in the Bitcoin community and the looming technical problem of the limiting 1mg block size. IMHO Hearn’s diatribe has been concocted in the light of his new employers at R3 rather than real concerns about the future of Bitcoin. Hearn has always emphasised Bitcoin as a payment vehicle to compete against the likes of Visa and PayPal rather than championing Bitcoin as a forerunner of financial freedom for the individual and a release from corporate /government hegemony of all things financial. Hearn as an employee of R3 CEV, which is a global consortium of 30 banks with a mission to exploit technologies within the distributed ledger space, has publicly demonstrated that he is willing to forego the wider democratisation of finance (transparency, security, autonomy ) in favour of corporate oligarchy. As exhibited by the leading global banks, ownership of private ledgers rather than public distributed ledgers will lead to more corruption and ultimately greater inequality.

If your information on Bitcoin is gleaned from mainstream media you could be forgiven in thinking that the recent dip in the Bitcoin price is wholly to do with Hearn leaving the Bitcoin environment, the departure of Hearn has had coverage in NYT, FT, Guardian, Fortune & other outlets.


Financial Times

New York Times



Not forgetting the rants on Reddit and other Bitcoin forums. To me it does not make any sense at all that Hearn’s departure from the Bitcoin community has had anything but a marginal effect. As roughly 50% of Bitcoin trading takes place in China, and China represents the majority of Bitcoin miners; it seems more than likely that the economic downturn in China and its global effect on the major economies of the world is the real reason for the drop in the Bitcoin price.

Some commentators have interpreted Hearns post as a reaction to the failure of Bitcoin XT also known as BIP-101


The positive outcome of Hearns position is that the new contenders for Bitcoin development have been revealed; and it is no longer disputed that the block size needs to be increased from 1mg if the Bitcoin project is to progress.

The three contenders are as follows

Bitcoin Unlimited

             Bitcoin Classic

                                     BitPay Core

Bitcoin magazine discusses each in detail….

From my own personal point of view Bitcoin Classic has the edge over the other two contenders. BitPay Core is open to the criticism of (almost!) being propriety. Bitcoin Unlimited is trying to be all things to all cryptographers by NOT insisting on a fixed block size. Variable block size(s) surely means variable attack vectors!

Bitcoin Classic is a Bitcoin Core fork & intends to increase the block-size limit to 2 megabytes later this year. So far it has garnered an impressive collection of Developers supported by a good collection of Miners & commercial Bitcoin companies.

Bitcoin-Qt core installation version 0.9.3 on Linux Mint 16 “Petra”

open a terminal window


command ~ $ sudo add-apt-repository ppa:bitcoin/bitcoin



command ~ $ sudo apt-get update



command ~ $ sudo apt-get install bitcoin-qt



In order to speed up the synchronization of the blockchain a file named bootstrap.dat is available for download. At around 18Gb (November 2014) it can take a long time to download (24hrs). When downloaded if you need to transfer the file by copying the file to another computer, it will be necessary split to file into sections of (files) less than 2Gb each using the following command.

~ $ split -n10 bootstrap.dat

(splits the file into 10 files)

~ $ ls

~ $ bootstrap.dat

xaa xab xac xad xae xaf xag xah xai xaj

Copying ‘split’ files to a temporary directory ‘bitcoin-boot’


command ~ $ cd Downloads/bitcoin-boot


command ~ $ ls


To re-create the bootstrap.dat file concatenate the spit files using the following command

command ~ $ cat x* > bootstrap.dat


Copy bootstrap.dat to the (hidden) directory .bitcoin :- Note – the .bitcoin directory is ONLY created once Bitcoin-Qt has been loaded (run) at least once. (run Bitcoin-Qt now, from the menu for a few seconds!) This is where the data for the BTC wallet is kept – wallet.dat


command ~ $ cd .bitcoin

command ~ $ ls

(confirmation bootstrap.dat resides in the correct directory)


When Bitcoin-Qt is launched it will import the bloackchain from bootstrap.dat – as shown

‘importing blocks from disk’

This can take approximately 24 hrs depending on the specification of your computer


When Bitcoin-Qt has finished importing blocks from bootstrap.dat it will read

‘Synchronizing with network’

This can take and additional 24 hours again depending on the specification of your computer


When synchronization is complete the Bitcoin-Qt wallet is ready to use