Monday, October 16, 2017

A Bitcoin Beginner’s Guide to Surviving a Coin-Split

There is a chance Bitcoin will experience a coin-split soon. If a majority of miners (by hash power) switch to Bitcoin Unlimited and decide to mine blocks bigger than one megabyte, while at least some users stick to the current Bitcoin protocol, the network and blockchain can split in two. In that case, there may be two different types of Bitcoin tokens: “BTC,” which follows the current Bitcoin protocol, and “BTU,” which follows the new Bitcoin Unlimited protocol.
The good news is that each bitcoin would effectively be copied onto the Bitcoin Unlimited chain. If you hold bitcoin right now, you will hold both BTC and BTU after a split.
The bad news is that a coin-split can be messy and risky. This is mainly because, at first, all BTCs and all BTUs will be stuck together. You will need to separate them somehow; otherwise you can lose your BTC or your BTU.
This guide will provide you with the basics to stay safe during a coin-split, and make sure you make it to the “other side” with both your BTC and BTU intact.
Author’s note: If you want to play the BTC/BTU markets as soon as possible and you are fine with taking risks, and/or you really know what you are doing, this article is probably not for you. (Perhaps try this Electrum articleinstead.)
If you mostly just want to make sure not to lose your BTC or BTU, read on …

Before the Coin-Split (That’s Now)

First of all, be aware that a coin-split is a high-risk situation. There is a real chance a sort of cyber-battle will break out between the two camps, perhaps even escalating to the point where bitcoin’s exchange rate(s) drops sharply, possibly to zero. Make absolutely sure you are not holding more value in bitcoin than what you are willing to lose.
If you do decide to hold on to your bitcoins, the single most important piece of advice is this: control your own private keys.
If you are storing your bitcoins on an exchange, in a custodial wallet like Coinbase, Circle or Xapo, or on any other service that holds your private keys for you, you may or may not eventually receive coins on both ends of the chain. Several exchanges have so far suggested you may but have made no guarantees. And at least one exchange, GDAX, has explicitly indicated you may not.
If you’re using any of these kinds of services to store your bitcoins, you need to create your own wallet. Send your bitcoins to this new wallet; this wallet now holds your private keys.
What kind of wallet you want to use is up to you. That said, here are some basic solutions:
If you don’t care about transacting with either BTC or BTU anytime soon, and really just want to keep both as a long-term investment, printing your private keys on a paper wallet is one option. This option, however, is only really secure if you follow strict security precautions, which you can find here.
Another option is to get a hardware wallet. Any of the hardware wallets listed on bitcoin.org will keep your private keys secure. One hardware wallet provider in particular, Trezor, has explicitly acknowledged that users will have access to their coins on both ends of the chain if a coin-split happens.
Regular wallets are about as secure as your computer (or phone) is. Since most computers and phones are not all that secure, these are not ideal for large amounts. With that in mind, all mobile wallets and desktop wallets listed on bitcoin.org will store your private keys for you. Additionally, a full node like Bitcoin Core or Bitcoin Knots gives you a little extra security during a coin-split, as you’ll see below.
In any case: Make sure you make backups of your keys! Most wallets require you to do this when installing; don’t skip this step.

During the Coin-Split

The first thing to note is that Bitcoin Unlimited has not set a "flag date" to fork. This means that theoretically, a fork could happen at any time. Realistically, however, it will depend on miner coordination, and it will probably be obvious to even casual Bitcoin observers when a fork is close to happening.
If Bitcoin Unlimited does fork, things could get messy for anywhere between a couple of hours to a couple of days, or longer.
Unfortunately, Bitcoin Unlimited currently does not include “replay protection.” This means that post-fork, transactions on both sides of the fork will look identical. If a transaction is picked up by both networks — for example, because the receiver of a transaction re-transmits the transaction on the other network — that transaction may be valid on both chains. This is called a “replay attack.”
As such, spending coins on one end of the chain could make you accidentally spend the equivalent coin on the other side of the chain. Instead of paying someone only BTC, you may unintentionally send BTU as well — or vice versa. This is how the BTCs and BTUs are “stuck together.”
The best way to prevent replay attacks is simple: do not send any transactions. Not until it is clearer to everyone what the post-fork situation looks like.
If you use Bitcoin Core or Bitcoin Knots as a wallet and you want to accept BTC, that should still be fine. (Someone who didn’t read this article may accidentally send you the equivalent in BTU, though. If this happens, you should probably return the funds later on.)
Bitcoin Unlimited, on the other hand, does not include “wipeout protection.” If the amount of mining power on the BTC chain ever overtakes the BTU chain, the entire BTU chain will be discarded (unless users on the BTU chain coordinate fast enough to prevent this in unconventional ways).
Unless and until it is absolutely clear that Bitcoin Unlimited emerges as a definitive winner forever, accepting any BTU is very risky, and you probably shouldn’t do it at all.

After the Coin-Split

If both chains survive, and you control your private keys, you will have coins on both sides of the fork. But as mentioned, it will be tricky to spend coins on one chain without accidentally spending the equivalent on the other side.
Fortunately, there are ways to avoid these replay attacks. The most straightforward solution requires brand-new coins, mined after the split. These new coins are the only coins that do not exist on both chains and cannot, therefore, be spent on both. Combining these new coins with old coins effectively splits the BTC from BTU.
This coin-splitting can, and probably will, be a bit complex. But some exchanges will likely set up coin-splitting services and take care of most of the complexity behind the screens. You’d just need to send your bitcoins to an exchange, and the exchange will credit your account with BTC and BTU. (They should even replay the transaction for you, to make sure they indeed receive both your coins and can split them for you.) If you want, you can now also sell your BTU for BTC (or fiat currency), or the other way round.
There may also be other solutions to split your coins in the event of a coin-split, perhaps even trustless solutions. But that remains to be seen.
After the split, there will probably be wallets for both coins soon enough. Of course, you may need to upgrade your existing wallet or download a new wallet if and when this happens. This also remains to be seen. (Do not accept any transactions on your wallet before this is clear.)
Further specifics on what to do after a coin-split will be announced on Bitcoin Magazine (and most likely on bitcoin.org and other sources of information) if and when a coin-split occurs and we have a better understanding of the post-fork situation.

Oh, and when you, years from now, want to use the funds stored on your paper wallet, don’t forget you now own both BTC and BTU! (Wallets like Electrum and Blockchain allow you to upload the private keys, and you’ll probably need to go through the same splitting ceremony.)
If only one chain survives, operations should continue at some point. However, it’s not exactly clear what this post-fork landscape will look like. Perhaps you’ll have to upgrade your wallet. This will also be announced on Bitcoin Magazine if and when it comes to it.
If neither chain survives, the Bitcoin experiment has failed, and your private keys will probably be worthless.

So, to Recap ...

1. Control your private keys.
2. To be on the safe side, avoid any transactions shortly after the split. (If you must accept BTC, use Bitcoin Core or Bitcoin Knots as a wallet.)
3. As the dust settles, split your coins. (How, exactly, will depend on Bitcoin’s post-fork landscape.)


Tuesday, September 12, 2017



bootstrap_fonts_woff:
inputs:
- '%kernel.root_dir%/../vendor/twitter/bootstrap/fonts/glyphicons-halflings-regular.woff'
output: 'fonts/glyphicons-halflings-regular.woff'
bootstrap_fonts_ttf:
inputs:
- '%kernel.root_dir%/../vendor/twitter/bootstrap/fonts/glyphicons-halflings-regular.ttf'
output: 'fonts/glyphicons-halflings-regular.ttf'
bootstrap_fonts_svg:
inputs:
- '%kernel.root_dir%/../vendor/twitter/bootstrap/fonts/glyphicons-halflings-regular.svg'
output: 'fonts/glyphicons-halflings-regular.svg'
bootstrap_fonts_eot:
inputs:
- '%kernel.root_dir%/../vendor/twitter/bootstrap/fonts/glyphicons-halflings-regular.eot'
output: 'fonts/glyphicons-halflings-regular.eot'



Tuesday, August 22, 2017

Tuesday, May 30, 2017

How to mount an ISO file in ubuntu?

Maybe, instead of installing additional software, you can use what the system has to this end:
  1. Create a directory to serve as the mount location:
    sudo mkdir /media/iso
    
  2. Mount the ISO in the target directory:
    sudo mount -o loop path/to/iso/file/YOUR_ISO_FILE.ISO /media/iso
    
  3. Unmount the ISO:
    sudo umount /media/iso
    

On your desktop will appear the mounted ISO.

Monday, January 09, 2017

how to use ssh to run shell script on a remote machine?

If Machine A is a Windows box, you can use Plink (part of PuTTY) with the -m parameter, and it will execute the local script on the remote server.
plink root@MachineB -m local_script.sh
If Machine A is a Unix-based system, you can use:
ssh root@MachineB 'bash -s' < local_script.sh
You shouldn't have to copy the script to the remote server to run it.

xfce4-screenshooter keyboard shortcut

sh -c 'xfce4-screenshooter --fullscreen --save "$HOME/Pictures/Screenshots/Screenshot_$(date +%Y-%m-%d_%H:%M:%S).png"' s...