VPN review: trust.zone

Sure, technically you don’t need a VPN when you’re a crypto enthousiast like me. However, using a VPN has a lot of benefits for the crypto-user.

The most important benefit is the fact that when you broadcast transactions, wether you’re using a full node (like bitcoin core or btcd) or an SPV wallet (like electrum or most hardware wallets), it doesn’t matter: hiding behind a VPN will decrease the odds of other people collecting your information and using analysis tools to dox you (reveal your real name).

I’ve been using trust.zone for quite a while now… I like them because:

  • They’re NOT located in one of the “fourteen eyes” countries
  • They’re not located in one of the countries that are deemed to be an “enemy of the internet”
  • They don’t log traffic
  • They don’t log DNS requests
  • They don’t log any connection data, exept the amount of bandwith you use
  • They accept BTC payments, and even give you a 10% discount if you pay with BTC instead of paypal, visa,…
  • Their PGP key is available
  • They meet PrivacyToolsIO criteria
  • They run their own DNS server
  • They support OpenVPN
  • They don’t block P2P traffic
  • AES-256 data encryption, RSA-4096 handshake encryption
  • 3 simultanious connections allowed
  • 108 servers in 30 countries
  • Linux support
  • No propriatary API’s on their website
  • A rating of their self signed SSL certificate
  • Super cheap (look for the discount coupon code at the end of this post!!!)
  • FREE trial available!
  • 10 days full refund policy

These are the reasons i’m sticking to trust.zone for the forseeable future :). Full disclosure: eventough i’m 100% happy with trust.zone, and i’ve been a loyal user of their service for more than a year, i do get payed if you decide to join their service using the link in this post 😉

Last but not least, use code “2YEARSOFF” for an extra 10% discount. If you combine all discounts, you can get a solid VPN package as low as $64.66 for 2 years! That’s only $2.7 a month or less than 9 cents a day!!!)

Join here

The lightning network, what is it, how to use it?

This blog post will be about the lightning network (LN). I tried to make this article as newbie-friendly as humanly possible, so i had to leave out and/or simplify several technical aspects.

What is the lightning network?

First things first: the lightning network is NOT an intrisic part of the bitcoin network. You can continue to use your bitcoin wallet exactly as you would have used it before the LN was introduced. If you’re not interested in the LN, you can just forget it ever existed.
The lightning network is a new protocol that uses the bitcoin blockchain in order to record the opening and closing of channels. It is built on top of the bitcoin protocol. So, every lightning wallet is in fact also a bitcoin wallet, while most bitcoin wallets are not lightning-compatible.

The lightning network is basically a protocol that allows users to open payment channels between their lightning wallets or nodes. The opening of a channel is recorded on the bitcoin blockchain. The value of the opening transaction is the value with witch the channel is funded.
After the opening transaction has been confirmed and has a couple confirmations, the 2 people that have a channel opened between them can now send transactions to eachother without recording them on the blockchain. This process is almost instant, and because the transactions are not broadcasted to the bitcoin network, they’re (allmost) free. If several people have open channels between them, it becomes possible for 2 people that are not directly connected to send funds to eachother by using other people’s channels. I’ll give some practical examples in the next section.

Example A: 2 friends saving on miners fees and time by opening a lightning channel between them

situation: friend A and friend B borrow money from eachother all the time, they pay gas money to eachother, they buy eachother lunch from time to time,… So there is a continuous flow of fiat money between them on a daily basis. Up untill now, everything was settled afterwards in FIAT money, which was a petty, because sometimes they forgot to pay money back, leading to discussions.

sollution: friend A and friend B open a channel between them. They fund this channel with 0.05 BTC each. From now on, each time a friend borrows money from the other friend, a lightning invoice is created and payed by the other friend. Technically, both friends just create a new transaction with a different division of the funds and share this transaction between them. At any point, either one of them can broadcast the last transaction… There are technical safeguards implemented to make sure a wallet has to broadcast the last transaction, and not an earlyer transaction that was more beneficial to him… However, this is a very technical discussion i will not post here.

So, as an overview:

  1. funding transaction (onchain): 0.1 BTC
  2. first channel state (offchain) : 0.05 BTC for friend A, 0.05 BTC for friend B
  3. second channel state (offchain): friend A borrows 0.01 BTC =>0.04 BTC for friend A, 0.06 BTC for friend B
  4. thirth channel state (offchain): friend A pays for lunch (0.02 BTC) => 0.06 BTC for friend A, 0.04 for friend B
  5. fourth channel state (offchain): friend B borrows 0.01 BTC => 0.07 BTC for friend A, 0.03 for friend B
  6. fifth channel state (offchain): friend B borrows 0.02 BTC => 0.09 BTC for friend A, 0.01 for friend B
  7. closing transaction (onchain): funding an address of friend A with 0.09 BTC and an address of friend B with 0.01 BTC

In this example, both friends have 2 transactions recorded on bitcoin’s blockchain. If they hadn’t used the lightning network, 4 transactions would have been recorded, and each time the friends would have had to wait untill the transaction was confirmed

Example B: the lightning NETWORK

  1. Person A has a channel with person B => the channel state is 0.05 BTC for person A and 0.05 BTC for person B
  2. Person B has a channel with person C => the channel state is 0.05 BTC for person B and 0.05 BTC for person C
  3. If person A pays an invoice of 0.02 generated by person C, it is routed trough person B. The channel state between A and B is changed to 0.03 for person A and 0.07 for person B. The channel state between B and C is changed to 0.03 for person B and 0.07 for person C
  4. The net result is that person A has one channel that has 0.02 BTC less, person B has the same sum of all values and person C has a channel with 0.02 BTC more. Offcourse, person B can charge a fee to route the transaction, and a technical sollution is implemented to avoid cheating by the participants

Testing out the LN

I’ve actually created a site where you can test these micro-transactions… You can pay 25 satoshi’s to sponsor an unblurring step of an image, this way the maximum stake for you is less than a cent 😉

https://www.mocacinno.com/lightning/

Detect unspent outputs on several chains that forked from BTC lately

Warning 1: The tool i’m offering is harmless, since i never ask your private keys, altough using this tool will reduce your privacy… I’m querying a lot of altcoin explorer’s api’s, so these explorers could potentially log your ip and all addresses you’re checking. This could enable them to group your wallets together, and link them to your ip.

Warning 2: I have not vetted the chains i’m querying… Some of these altcoins could be huge scams! Always empty out your BTC wallet before attempting to import your private key into a forked wallet! Don’t import your private key if you don’t trust the wallet! Double check for replay protection!!!

Description:

In this blogpost i’m going to describe how to use my script to check for any unspent outputs on one of the many forks of bitcoin that have been launched recently. As soon as you know you can claim some of these fork coins, it’s up to you to decide if you want to claim them, and search for a guide on how to claim 🙂

Requirements:

  • Python 2.7
  • pip
  • a list of addresses you want to check
  • git

Tested on ubuntu 16.04 LTS with python 2.7

Installation on ubuntu 16.04

git clone https://github.com/mocacinno/mocacinnoforkchecker
cd mocacinnoforkchecker
pip install argparse requests base58 urllib urllib3 json tqdm cfscrape
python checker.py –help

source: https://bitcointalk.org/index.php?topic=3393869 (this post is a copy from a post i made on bitcointalk)

new email address

Dear visitor,
gmx blocked my email address without notice, and their support dept is not really helping me… For my old contacts: if you need to reach me, leave your email as a comment on this post, i will remove the comment and save your email address in my new contact list.

Suissegold: precious metal dealer review

I’ve written this review, and published it on bitcointalk :  [original source]
After said publication, i’ve gotten several PM’s and emails about this subject, so i decided to also publish my review on my own blog to (in order to reach a wider audience). The review is copy/pasted, the only thing i did was translate the BBcode to HTML, so the formatting looks allmost the same on my blog as it did on bitcointalk.

Without further stalling:

I’ve recently purchased some items from suissegold.com. Because bitcoin is irreversible, i always use my due diligence before making a purchase. In suissegold’s case, i read some trustpilot reviews, some reviews on their facebook wall, i looked up their VAT numbers, their address,… However, i couldn’t find any information about them on bitcointalk.

This is why i wanted to share my experiences with suissegold…

First things first, the proof i did order some silver… This is one of the items i bought (i bought several items, but i do not want to share an inventory on this forum… Anonimity and stuff)

suissegold purchase proof

Now, for a small timeline of the things that happened:

  1. On the 10th of december 2017, i purchased a couple items from suissegold. The total bill was less than 1000 pound (i’m not disclosing how much less). I payed the bitpay invoice, and my transaction was confirmed after ~2 hours (if memory serves me correctly)
  2. I immediately received a couple mails, indicating they received my payment… After this: radio silence regarding my order
  3. On the 13th, i broke radio silence since i was getting impatient… I did a couple purchases from bitgild, and they usually arrive at my doorstep after 3 working days, so i was fed up that after 3 working days, suissegold didn’t even send me an update. I asked them some basic questions
  4. Instead of answering my questions, suissegold decided to force me to fill in AML documentation and send an utility bill and a scan of my passport… Bummer… I already payed them, so i was forced to upload the documentation they asked. After reading their FAQ i could only come to the conclusion they reserved the right to ask anybody to fill in their AML bureaucracy (even for a 1€ purchase), however they only HAD to ask for this documentation for puchases of 10.000 pound and over… In other words, i felt like they don’t trust their customers OR they use the AML documentation for stalling purposes…
  5. I immediately filled the documentation, uploaded everything and sent a followup question, re-asking basically the same questions as before
  6. The next day, they had to admit they didn’t have everything i ordered in stock, they had to backorder, so i’d have to wait a couple of days… Why on earth they didn’t notify me off this problem from the very start of the order, i’ll never know. I felt like information this important should have been brought to my attention as soon as possible, and it was very unprofessional of them to wait untill i took some initiative before they gave me this info. From this point out: radio silence again
  7. On the 8th of januari (29 days after ordering), a dhl courier is standing on my doorstep. I didn’t realise it was suissegold’s package, so i accepted it without checking the content…. Big mistake: only half my order was included.
  8. I immediately mailed suissegold to inform them of this problem, and about a day later, it became clear to me that, eventough it took them 29 days to backorder “some” items, they still didn’t have all items on stock, and they’d have to backorder some more, unless i agreed to receiving replacement products. I immediately agreed to this
  9. Some days later, i received a mail from suissegold, informing me my order was completed. I had to contact their support department to get my hands on the tracking code, so i’d know when to expect dhl this time
  10. On the 16th of januari (37 days after the intial order), i finally received the second part of my order
    The packaging was fine, but the envelopes in which my items were packages reeked of cigarette smoke… Opening the packages was like stepping into a pub about 10 years ago (before the ban on cigarettes). The smell was so bad, the items itself actually still smell like cigarette smoke.

This was a problem that was equally bad for the first and second part of the order. One of the items i received has a nicotine “coating”.

All in all: for me, suissegold was NOT a scam… I’d still use them in the future, but ONLY for smaller orders and ONLY when i’m able to wait a couple of months for my goods… I’d personally only use them if their price is a lot lower than other online retailers AND i’d make sure i mail them at least once a week to get the latest status. With suissegold, don’t expect any proactive mails, don’t expect to be contacted when they have problems, don’t expect them to send tracking numbers, don’t expect them to have everything they sell in stock, DO expect to fork over a scan of your utility bill and passport (even for smaller orders)… You either wait, or you start contacting them yourself

How to avoid getting your transactions stuck.

Lately, hundreds of people are flocking to bitcointalk, asking for help because transactions they created are “stuck”… They just keep on “hanging” in the mempool, without ever getting confirmed.

Since i’m a stronge believer in preventive measures, here is a quick checklist you can follow while creating transactions, so your transaction gets a confirmation in a record time 🙂

  1. ALWAYS use a decent, up-to-date desktop or hardware wallet… This one is really important. I’ve seen a lot of online wallets make a big mess of their fee policy, and to make things even worse: if you use an old, bad or online wallet, nobody might be able to help you in case you screw up.
  2. Don’t cheap out on the proposed fee… If you use a good desktop or hardware wallet, and it tells you to add a 0.0005 BTC fee for a high priority transaction, don’t go changing these numbers! If you think the fee is to high, just postpose creating your transactions and wait for a time where the fees are lower.
  3. Double check the proposed fee! https://bitcoinfees.earn.com/  tells you how much the fee for an *average* transaction *should* be… If you’ve been hoarding dust inputs, realise your fee will probably be a LOT higher! Take the fees on the website i posted as “minimum” fees in case you want a 95% chance of getting your transaction in the next 3 blocks.
  4. Make sure you have enough unspent outputs from CONFIRMED funding transactions available… I’ve seen people creating unconfirmed chains by using the output from unconfirmed transactions as input for the next transaction!
  5. Make sure you don’t leave dust outputs
  6. Segwit has been activated a long time ago, and has already been heavily vetted by senior members… Switch to a segwit wallet ASAP! If you don’t own a hardware wallet, switch to electrum… Electrum versions 3+ all give you the option to generate a free segwit wallet using a decent type of wallet software
  7. Opt-in RBF people, it’s a feature most modern wallets are adopting… Allways create your transactions opt-in RBF enabled. This way you can easily bump the fee IF (or when) your transaction becomes stuck
  8. Last but not least, it breaks my heart to give this advice, but during times of high network congestion,consider not creating small (in value) transactions. If you positively NEED to pay somebody during this time of congestsion, consider an altcoin like LTC…

how to analyse a stuck transaction using free, online tools

Today, i’m writing a short tutorial on how to analyse a stuck transaction using blockchain.info‘s block explorer. Blockchain.info’s explorer isn’t the best one out there, from time to time it has some bugs, but it’s one of the most used block explorers, so that’s why i chose this one to write up a short tutorial.

How to find out the reason why your transaction is stuck

  • find the transaction id from your stuck transaction… How to do this depends on your specific kind of wallet.
  • surf to blockchain.info, enter your transaction id in the search window (right top corner) and hit enter. A shortcut is to just enter https://blockchain.info/tx/{your tx id} in the address bar of your browser and hit enter.
  • Click on “Show scripts & coinbase”
blockchain.info Show scripts & coinbase
blockchain.info Show scripts & coinbase
  1. you can enter the txid directly in your browser’s address bar and hit enter
  2. click on “Show scripts & coinbase”
  • after you’ve clicked on “Show scripts & coinbase”, you should see a screen like this one:
blockchain.info detailed view
blockchain.info detailed view

Possible problems

  1. If you see a red [u] next to the input, it means there’s an unconfirmed parent… This is bad, since your transaction will only be able to confirm after the parent has been confirmed. This might be the reason why your transaction doesn’t confirm 😉
  2. if you see a red (spent) after (one of) the output(s), it means the output of your (unconfirmed) transaction has already been used for a new transaction. Needless to say, this new transaction will not be confirmed before your transaction is. This can’t be the reason why your transaction didn’t confirm… It is, however, the reason why the next person’s transaction didn’t confirm (yet).
  3. look at the size of the outputs… If there are outputs smaller than 0.000025, this might be considered as a dust output by some nodes, so it has a higher chance of being rejected. If it’s rejected by more nodes, it might not have propagated completely, so less miners might know about your transaction, lowering the chance for a confirmation.
  4. here you can see if your transaction is confirmed or not
  5. here you can see the fee per byte… Look at bitcoinfees.21.co to find out if your fee was/is high enough at this moment. If you used a substandard fee, this might be the reason why your transaction is stuck

other things that can go wrong: double spending the inputs of the unconfirmed transaction

double spent input
double spent input
  1. this transaction is labelled as a double spent, here you find the blockchain.info id of the transaction that spends the same inputs. If this other transaction has a higher fee/byte, your chance of getting a confirmation are slim. If the other transaction is already confirmed, your chances of being confirmed are allmost 0 (it would take an orphaned block and a lot of luck to solve this problem… If the double spend has 3+ confirmations, there is 0.0000000% chance of getting your transaction into a block)
  2. once again, a textual warning of a double spent transaction

How to create, sign and broadcast transactions using coinb.in

Intro

On a couple of occasions, i’ve been asked, in private, to give assistance in creating, signing and broadcasting transactions to users that have their address and know how to decode/export/get their private key (in WIF format).

This might be handy for people wanting to sweep their paper wallets, as well as people wanting to double spend the inputs of stuck, unconfirmed, transactions using a waaay to low fee.

The steps

  • make sure you have potential access to both your address and your WIF, unencrypted private key (don’t decrypt/export your private key yet)
  • surf to http://www.coinb.in
coinb.in main screen
coinb.in main screen
download coinb.in's sourcecode
download coinb.in’s sourcecode
  • unzip the sourcecode
  • open ./coinbin-master/index.html
open coinb.in locally
open coinb.in locally
  • left top corner => +New => Transaction
coinb.in new transaction
coinb.in new transaction
  • paste your address into the box saying “Address, WIF key or Multisig Redeem Script”
  • click “load”
coinb.in load unspent outputs for your address
coinb.in load unspent outputs for your address
  • you’ll now see 2 tabs, one labelled Outputs (0.00000000) and one labelled Inputs (your balance). These tabs controll which unspent outputs you’ll use as an input for your new transaction (tab INPUTS), and which new outputs will be generated by your new transaction (tab OUTPUTS)
  • first check the tab inputs. Here is a list of all inputs that will be used by your transaction. If you don’t want to empty out your paper wallet, but just pay somebody a certain amount of BTC, you could remove some inputs untill the sum of the amounts of the inputs is slightly more than the amount you wish to transfer
  • go to the tab “outputs”
  • add all addresses you wish to send funds to, enter the amount you wish to send, enter my address 1MocACiWLM8bYn8pCrYjy6uHq4U3CkxLaa if you want to send a tip for this tutorial 😉
coinb.in adding new outputs
coinb.in adding new outputs
  • now comes the puzzle. (sum of all inputs ) – (sum of all ouputs) = fee. If you added all receiving addresses, and the fee is still rather large, you’ll need to add a change address to (a chance address is either your old adress, or a newly generated address if you value your anonimity).
  • count the number of output addresses, and the number of input transactions. Surf to http://www.mocacinno.com/page/feeestimate . Use option 2 => Nb of inputs = number of transactions, Nb of outputs = number of receiving addresses (including your change address if you need one)
  • click “estimate”
mocacinno.com estimating an appropriate fee for your transaction
mocacinno.com estimating an appropriate fee for your transaction
  • in the next screen, you’ll see an estimation of the fee your transaction will need… It’s up to you if you want to pick the highest estimated fee, or round it down a bit… However, i strongly discourage you from using a fee that is lower than the fee i estimated for getting you into the next 24 blocks…
picking the right fee for your transaction is important
picking the right fee for your transaction is important
  • with this knowledge, revisit the puzzle (sum of all inputs) – (sum of all outputs, including the output to the change address) =~ fee.
  • in my example, i want to empty out my wallet, but i want to send all funds to myself (dumb thing to do), so i don’t remove any inputs, i now have 2 inputs), i create one output (i’m not going to add a change address), and my estimated fee for 2 inputs and one output was ~0.001 BTC. I adjusted the amounts sent to my own address to make sure the transaction fee was 0.001…
adjust the amounts to leave an appropriate fee
adjust the amounts to leave an appropriate fee
  • in coinb.in now click on submit
  • coinb.in has a warning for a high fee, but the “good” fee amount hasn’t been updated for a long time. Lately the fees rose significantly, so coinb.in will probably warn you about a very high fee… Ignore this 😉
coinb.in high fee warning
coinb.in high fee warning
  • copy the resulting transaction, paste it into a text editor and save.
unsigned, raw transaction
unsigned, raw transaction
online decoding of a raw, unsigned transaction
online decoding of a raw, unsigned transaction
  • examine the decoded transaction, look at all the vin’s… Those are the unspent outputs you’ll be using as an input for the new transaction. The Vout section lists all outputs that will be generated by your new transaction… Look at the addresses, and see if there is nothing suspicious. If you don’t trust my site, there are other online transaction decoders (use google to find them)

Here ends my screenshot-tutorial… i’m not going to export my own private key to simulate the next steps, so everything that happens from here on out comes from my memory, without screenshots

  • disconnect from the internet
  • go back to the local copy of coinb.in’s index.html
  • click on “sign” (top menu, middle of the page)
  • paste your transaction in the big box
  • decrypt/export/get your private key, make sure it’s the WIF compressed private key, 52 characters, starting with a “K”
  • click on submit
  • you should be given your signed transaction… Save it in a text file, save it, reboot your computer.
  • reconnect to the internet
  • You can use my site (http://www.mocacinno.com/page/rawdecode) to decode the saved signed transaction, and see which inputs and outputs are used/generated
  • If everything is ok, you can open coinb.in again, click on “broadcast”, paste the signed transaction, and click “submit”. you can also use my site for this purpose: http://www.mocacinno.com/page/txpusher

The enduserguide to creating, depositing to and sweeping paper wallets

Intro

A couple days ago, i tried to help a user with his paper wallet questions on bitcointalk but ended up giving a big, technical explanation… A different user , correctly, pointed out that this was a nightmare for the standard user. That’s why today, i’m writing a small article on ONE of the ways to create, deposit to and sweep a paper wallet safely…

Creating a paper wallet

  • Make sure your PC is clean, make sure you have your latest OS updates, virus scanner, malware scanner, firewall,… Make sure your PC isn’t acting weird
  • Close all applications exept a clean browser
  • Download the latest sourcecode of bitaddress.org from github
  • DISCONNECT your PC from the internet, do no RECONNECT untill this tutorial explicitly says so!!!
  • Unpack the zipfile you got from github, you can use any trusted application you want for this.
  • browse the unpacked files, open bitaddress.org.html using your browser
  • It’s possible your browser will block the javascript used on this page, in internet explorer you’ll probably have to “allow blocked content”
  • move around your mouse on this page, or type some random characters into the textbox that will be shown on the page
  • once you generated enough entropy by moving your mouse/typing (the counter on the page will go to 100%), the bitaddress.org menu will appear
  • Click on the “paper wallet”-tab
  • chose the number of address and addresses per page… It’s up to you how many paper wallets you want to generate. You’re free to use Art or not, technically it doesn’t make any difference at all, If you disable art, you’ll have a dry, white paper containing all data, if you enable art, your paper wallet will look nice
  • Enable the checkbox BIP38 Encrypt? And chose a STRONG password. If you chose a strong password, your paper wallet will be allmost impossible to hack with the current state of technology. I’ve read a nice article on bitcointalk about this here. As you can read here, a paper wallet which private key was bip38 encrypted with a 5 letter password remained uncracked for over 2 years, eventough the encrypted private key and the length of the password was leaked.
  • Click on generate and wait (this step can take a couple of minutes)
  • At this point, you’ll be shown your paper wallet.
  • There are several options now: if you have a local printer, directly connected to your offline PC, you can print your paper wallets by clicking on the print-button. If you don’t have a printer directly connected to your PC, i suggest clicking the print-button and printing to a PDF-file. Worst case scenario, you can take a print-screen (Ctrl-print Screen), and paste this print-screen in your image editor (Ctrl-V). Make sure your image or pdf file are saved onto a usb stick.
  • Remove the usb-stick (in case you didn’t already print your paper wallet), close all windows and RESTART your computer
  • you can now go back online
  • It would be best to find an offline printer that can print images or pdf’s directly from your usb stick, so your paper wallet is never found on any online device
  • Restart your printer after printing your paper wallet
  • It would be wise to make at least 1 copy, since losing this paper wallet would mean losing all your funds! Laminating and storing in a cool, dry, safe place also works!!!

Depositing to a paper wallet

This one is relatively easy: the left side of your newly created paper wallet should contain the QR code of your address. Your address should also be printed clearly on your paper wallet (your address is the shortest of the 2 codes that are printed on your paper wallet, and it’s the one started with the number 1).

If you have a QR code scanner, you can scan the QR code. If you don’t have a code scanner, you can copy the address by hand… Make sure you double check this address (Capitalisation is important). I advice you to use my address validator just to be sure.

Once you have the address copied and validated, you can use this address to deposit money to… Either as a withdrawal address from an exchange or casino, or as a “pay to” address in about any wallet software you can think off.

Sweeping your paper wallet

I’m going to explain how to sweep your wallet using electrum, since i personally use either electrum or bitcoin-cli (the command line interface of bitcoin core). Since this is an enduser tutorial, i guess there is no need to explain how to use the command line to sweep a wallet, so i’ll stick to the electrum explanation 😉

  • make sure you have the unzipped sourcecode of bitaddress.org on your pc (look at the first part of this tutorial)
  • disconnect from the internet
  • open bitaddress.org.html
  • click on wallet details
  • copy the bip38 encrypted private key from your paper wallet into the box saying “enter private key”
  • click on “view details”
  • enter the password you used when you created your paper wallet
  • click on “decrypt BIP38”
  • copy the Private Key WIF (51 characters base58, starts with a 5) into a text document, save and reboot your pc
  • If you don’t already have electrum, download it here. It’s allways a good idear to check the SSL certificate AND the signature of any binary you download (especially a bitcoin wallet), but that’s a completely different tutorial.
  • If you’re new to electrum: install electrum, open electrum and follow the wizard to create a new wallet. Write down your seed words AND chose a VERY strong password
  • Once you’re done following the wizard (or when you already owned an electrum wallet), make sure you open the wallet.
  • Go to wallet => private keys => sweep
  • Copy the private key you saved in a text document into the box “enter private keys”, and click on “sweep”
  • Follow the wizard, and you’re done 🙂 your paper wallet is now swept into your electrum wallet
  • Take a black, permanent market, and clearly mark your paper wallet as being used!!!  Keep the paper wallet, but never ever deposit any funds onto it ever again!!!

Is bitcoin mining Equal to free money printing?

Intro

I’ve been a member of the bitcoin community since a couple of years, and every couple of weeks a “newbie” comes along who thinks he can turn his PC into a magic money printing machine.
From time to time, this “newbie” already realises he has to buy an ASIC to “make money”, but it’s very rare to find a newbie that actually realises it’s pretty hard to make a living running a bitcoin mine.

This article is written as a future reference to show new users the pitfalls and dangers of bitcoin mining, so they can at least figure out if they could potentially have a shot at mining.

Do realise that this article is written on the 16th of may 2017. Everything told in this article is true at this point in time, but the total network hashrate fluctuates, because of this, the difficulty gets adjusted every ~2 weeks (actually, it’s every 2016 blocks, but this should average out to ~2 weeks). Because the difficulty changes, and the fluctuating price, this article might be obsolete in a couple of weeks/months, but i truely believe that the basic concepts will stay exactly the same.

I’m not going to get into detail why mining is important for the bitcoin network, i’m not even going to explain what mining exactly does… Do realise that mining is important, and even if you cannot make a profit while mining, buying an old ASIC and mining at a loss might be a great way to learn about the bitcoin protocol AND help to decentralise the network… Just don’t expect a positive profit at the end of the day 😉

In detail

There are 3 different questions that pop up regularly (in many variations):

  1. How to CPU mine
  2. How to mine using a GPU
  3. How to mine with an ASIC

1 – How to cpu mine

Short answer: Don’t!!!
Why? A Xeon E5-2690 (dual) hashes at 66 Mh/s [1] (Megahash per second) while consuming 270 Watt. The fastest process in the current benchmarks is the Xeon Phi 5100 which hashes at 140 Mh/s[1] (unknown power consumption). Altough this processor is already a couple years old, i highly doubt your desktop processor will perform better than this 60 core beast[2].
As a matter of fact, an i7 hashes at 23.9 Mh/s [1] (unknown power consumption).

When we use a mining calculator, not accounting for any power costs, nor for a pool fee, the Xeon Phi 5100 will mine 0.00002295 BTC/year at current difficulty level[3]… So, if you don’t have to pay for your power, don’t have to pay for a server equipped with a Xeon Phi 5100, mine on a 0% fee pool 24/7 for a full year, you’ll make a whopping 4 cents (at current difficulty and BTC price).

If you mine with your i7, and you DO have to pay for hardware and power, you can clearly understand that your profit will be negative…

I actually did the math: an optimal setup with an i7, paying 1 cent/Kwu on a 0.5% fee pool, not paying for hardware and not accounting for the power consumed by the rest of your hardware, CPU mining will give you a negative profit of $11/year[4]. In reality, you’ll have to pay for your hardware, you’ll pay more than 1 cent/Kwu, you won’t find a 0.5% pool,… So you’ll lose even more money each second your CPU mine.

2 – How to miner using a GPU

Same answer as how to CPU mine: Don’t
Your losses won’t be as dramatic as mining on a CPU, however, at current difficulty, it’s not really possible to make a net profit.

The “best” single GPU seems to be the AMD ATI 6990[1]. It is benchmarked at 865 Mh/s while consuming 860 Watt.
If you don’t take any power costs or hardware costs into account, mining on a 0% fee pool at current diff and btc price, such a setup can potentially net you a whopping 0.00014178 BTC/year… That’s right, a whopping 25 cents…[5].
Offcourse, as soon as you need to pay for hardware, or power, or if you need to pay a fee, this “profit” turns negative in the blink of an eye…

3 – How to mine with an ASIC

Asic mining is the only real option you currently have if you want to mine profitably.

In order to know if a certain ASIC can be mined profitably at this point in time, you need to find an asic you’d like to buy… Look up it’s specs on https://en.bitcoin.it/wiki/List_of_Bitcoin_mining_ASICs
Once you have the hashrate and power consumption notted down, visit a mining calculator like http://www.coinwarz.com/calculators/bitcoin-mining-calculator/ and enter those details, as well as the price you’ll have to pay for your hardware, the power price you’ll have to pay and at least 1% pool fee. The calculator will then tell you How long it’ll take you to break even at current difficulty and bitcoin price.

Don’t let this number fool you… The difficulty is constantly rising, the price fluctuates, and it’s very well possible you won’t be able to run 24/7 without any downtime… Personally, i wouldn’t start mining if i wouldn’t break even in 4-5 months (offcourse, if you’re a risktaker, you can be happy with a much longer break even point).

Some extra info about the ASIC’s price… Don’t be fooled, the price is much higher than the amount of money you’ll pay the ASIC’s seller… The total price is the sum of:

  • The purchase cost (the price you’ll pay your seller)
  • The extra hidden cost when buying something (paypal fee, visa fee, bitcoin’s miner fee,…)
  • The shipping and handling
  • The insurance
  • The customs charge (don’t forget about this one!!!)
  • extra cabling (ASIC’s draw a lot of electricity, you might need to check your wiring and circuit breakers out with a certified electrician)
  • networking (your ASIC will need to be able to connect to an online pool)
  • maybe a controller (for example, most avalon miners need a seperate controller, you might also need your own node if you want to solo mine)
  • shelving
  • cooling (1Kw of mining equipment will produce 1Kw of heat… You need to keep your mining room cool… Either natural cooling, or by installing power hungry A/C equipment)

Last but not least, you need to realise the biggest manufacturer of ASIC machines, bitmain (makes the antminer product line) has a horrible record of customer service.
A lot of bitcoin-related fora are filled with horror stories of people receiving refurbished or already-used ASIC’s when buying new equipment. There are stories of DOA’s that don’t get replaced, there is a standard 3 month guarantee,…

It’s a chinese company, and it seems they have a different warrantee standards as the ones most European and American residents are used to…

Conclusion

Mining is fun, it teaches you about the bitcoin protocol, it’s a great hobby, it helps to decentralise the network… BUT, it can only be done using an ASIC.

Even worse, if you want to make money with mining, you need to buy a latest gen ASIC AND have a super cheap electricity rate… Do all your calculations before even thinking about mining, it will save you from a big hangover afterwards!

References:

[1] https://en.bitcoin.it/wiki/Non-specialized_hardware_comparison
[2]http://ark.intel.com/products/71992/Intel-Xeon-Phi-Coprocessor-5110P-8GB-1_053-GHz-60-core
[3]http://www.coinwarz.com/calculators/bitcoin-mining-calculator/?h=0.14&p=0&pc=0&pf=0.00&d=559970892890.83800000&r=12.50000000&er=1780.43200000&hc=0.00
[4]http://www.coinwarz.com/calculators/bitcoin-mining-calculator/?h=0.02&p=130&pc=0.01&pf=0.5&d=559970892890.83800000&r=12.50000000&er=1780.43200000&hc=0.00
[5]http://www.coinwarz.com/calculators/bitcoin-mining-calculator/?h=0.865&p=860&pc=0.00&pf=0&d=559970892890.83800000&r=12.50000000&er=1780.43200000&hc=0.00