Saturday, 21 October 2017

The value of bitcoin

I noticed that in between coverage of burn Jita and carrier ratting MarkeeDragon posted this video asking for people's opinions about where Bitcoin gets its value and what causes it to go up/down in value on exchange markets against the government fiat currencies. Below is my totally non-rigorous, unsophisticated response. Otherwise the more sophisticated reader is directed to Man, Economy and State and in particular chapter 11 which has a really nice and straightforward explanation of Mises' and Austrian theories about money.


A brief discussion about money

Money emerges

So, humans walk out of their caves, they settle down, build a white picket fence and get to work. They get jobs and find that they begin to specialise in certain fields and want to exchange between their neighbours. If you fish and want wood you can exchange with the local lumberjack. He gets to eat without fishing and you get something to burn without chopping down anything. Unfortunately if he's full then you're stuck. Maybe he's chopping down these trees naked so you can make a 3 way exchange: fish for clothes from the local tailor, then clothes for wood. You can see this would eventually get complicated so a money develops as the medium of exchange. Gold has most often (but not always) emerged as this medium.

Gold has value

Throughout all of human history gold has maintained a certain value that was intrinsic to the physical material itself. That material was valuable and no matter if governments rose or fell, if new technologies came along, that lump of metal would always hold its value for as long as you held it in your hands. I note that this is real value. People often say money is a social construct... money is not a real thing.. blah blah.... These people are stupid and wrong! This isn't abstract, imaginary value that gold has. It's real actual value. You can use it to make corrosion-free connectors in electronics; make jewellery with which to cover yourself so that people either think you're cool or a bit of a tool; medicine; to collect into blocks that you can later caress and admire for their beauty; or, with which to cover and suffocate your victims, minions, and those that dare cross your path.

Gold IOUs

OK, so, you're running around with these huge blocks of gold in your pocket or under your mattress. It can be inconvenient to carry around all this heavy shiny stuff. The common practice becomes to ask the goldsmith to warehouse your gold. He gives you an IOU, written on a piece of paper, for a certain amount of gold held at his gold warehouse. You can come and swap the IOU out for the gold at any time. You need some wood. You show up at the lumberjack, don't have any gold... but, you and the lumberjack both know that the goldsmith at the gold warehouse doesn't remember/care who has the IOU he gave you just before. Whoever shows up with it can exchange it for gold at the warehouse. You say to the lumberjack, "hey, thing is.. I'm out of gold, but how about you take this instead. It's just the same as having the gold already, you just have to go over to the gold warehouse." To the degree that the lumberjack can be sure that he can exchange the piece of paper for the gold it represents he can just as easily take the paper or the gold itself. Since most people have their gold at the warehouse anyway people start to just exchange these IOUs and aren't swapping physical gold anymore. Assuming that the goldsmith is good on his word about exchanging IOUs for gold and that he doesn't lose any of the gold then those IOUs are just as valuable as the gold. They can immediately be exchanged for it. This is slightly more abstract than just holding the gold itself but not anything strange and mysterious that is in any way difficult to understand. Certainly not some mysterious social construct!

Fiat currencies

The problem with gold is that there is only so much of it. If you want to spend more than you have then you're stuck. That's the idea! Money naturally serves the function of restricting consumption in proportion to the value someone first contributes to the economy. Everyone would like to spend more than they earn. This includes governments. Governments realised that they can just create their own "gold warehouses", then force people to stop using anyone else's by making all private competition with the government illegal. Thus the birth of government issued currencies. The best part is that by the 70s all the world's currencies finally removed any relationship to gold. One USD is worth 1 USD. That's it. (I like the joke that the government can take a perfectly useful and valuable commodity like paper and take away all its value by printing on it.) Everything from here below is mostly speculative but I believe that the reason why fiat currencies still have any value is because government fiat laws force people to use the government's money to buy things. That means that throughout the territory controlled by the government the fiat currency will and must be accepted as the money to exchange for goods and services. This means that the value of the currency is not intrinsic as is the case for gold, but has value because it can be reliably used to buy things within a territory controlled by that government. The value of a unit is set by supply and demand. There are a number of units of currency chasing after the goods produced within that economy controlled by the government.

The value of a unit of fiat currency can be influenced by the government. If the government decides to start printing new money then increases in prices must follow. Governments like this because unlike everyone else it lets them spend more money than they directly collect in taxes. That is the key to why inflation is a hidden government tax. If the government is removed and a new government replaces it with its own currency then the old currency can no longer be used to buy anything and becomes valueless. This is different to gold where the material itself has its value and is unrelated to the politics of the day. The fact that fiat currencies are entirely valueless means that to predict the future value of a fiat currency is a purely speculative exercie in trying to predict how the government will behave with its currency as well as how well the economy itself will be able to produce goods that will be bought with that currency. For example an influx of new money or a huge reduction of goods available to be purchased must be met with increasing prices.

The value of Bitcoin

Bitcoin is new and seems to be very different to any other form of money that has previously existed. I believe that to properly understand the value of bitcoin requires at least understanding just a little (but not too much) of how bitcoin works. Bitcoin is a peer-to-peer network of computers that maintain a ledger of transactions of these bitcoin (the plural of bitcoin is bitcoin, apparently). Processing transactions requires completing time consuming computations. All the computers are in a race to properly complete the computations to process each transaction. There is a random chance that any peer will succeed, with the chance proportional to the computing power of that peer. The reward for winning the race is a small amount of bitcoin. Over time the reward will get smaller, to be replaced by transaction fees to be paid by the spender to have their transactions processed.

The utility of bitcoin

The only direct use for bitcoin is as something that can be used to prioritise the processing of transactions over the bitcoin network. That is all. As far as I understand it is the only direct use of bitcoin. All other uses relate to its use in exchange, either for the government fiat currencies or in the purchase of goods. This is not a definite problem, after all fiat currencies have no direct use whatsoever, but I think it's a point often missed. To repeat: the only direct use of bitcoin is to "spend" to prioritise the faster processing of transactions with the only other use of bitcoin in exchange.

The future use of bitcoin in exchange

Everyone buying bitcoin at the moment with fiat currencies is expecting to be able to later exchange those bitcoin for goods or fiat currencies of equal or greater value. I believe that this is the only meaningful source of upward pressure on the price of bitcoin. The two main sources of acquiring bitcoin are to directly purchase them or to buy equipment to mine new bitcoin. As greater competition on the side of those acquiring bitcoin increases the short-term effect must be to raise the price of bitcoin. Since it was established that essentially everybody acquiring bitcoin is doing so to later exchange them for goods or fiat currencies any reason/information/event etc. that may lead people to believe that the future demand for bitcoin will change, will lead to changes in the price of bitcoin in the present. Note that this last point exists as for gold and fiat currencies but they have much longer histories and are considerably more stable and reliable than bitcoin (ask yourself, between bitcoin and the health of western civilisation, if you had to pick one to die first, which would it be?). To summarise: current supply/demand relationships for bitcoin change prices. Also, any event that may lead people to believe that future supply/demand relationships will change, change current bitcoin prices. It is noted that the cost/energy to mine bitcoin at the moment will only have short-term consequences to its price. If mining coin is a significantly cheaper method to obtain it than buying from exchanges it will draw people to that method or draw people away if it is cheaper to obtain from exchanges. These shifts in production/demand will affect prices. However beyond this short term, the cost to produce an item in the past is in no way relevant to how much future consumer demand there will be for that product. To say that something will cost something in the future because it costs something to produce today reflects an ignorance of economics.

The popularity of bitcoin

Anything that might cause fewer or no people to demand bitcoin in the future would necessarily cause its price to lower. This is far less a problem for other currencies since gold has shown a consistent level of demand throughout all of human civilisation and modern governments in the west tend to last for many decades or centuries before collapse. However bitcoin is new and is yet to demonstrate a proven track record of continuous popularity and demand. Information (gossip/speculation/etc.) about anything including government legislation, bad press, etc. that may pose problems for bitcoin will change its price. This is key to the problem with bitcoin since it is what so far appears to be a subjective popularity of this particular electronic coin which is maintaining its value and not any of the more substantive things like the use and known long history of demand for gold and a government's authority to force the use of an artificial, valueless currency. I will repeat this: there appears to be almost no reason whatsoever why people would want to continue to use bitcoin as a medium of exchange over anything else. There are a few caveats to this:

  • A large investment in computing hardware into specifically producing bitcoin contributes to the robustness of the network. One of the peculiarities of bitcoin is that the more "honest" computers on the network the more difficult it is to spoof fake transactions. With the current level making it extremely costly to do.
  • Bitcoin is now a mainstream brand. It is more popular than other electronic coins and this may contribute to its use as a currency.
I don't consider the above very compelling or meaningful reasons to assume the continued use bitcoin.

Bitcoin is probably another fad/bubble

The following especially is my personal speculation about bitcoin.

The current elevated prices of bitcoin cannot be used as any indicator of future prices. There are countless examples throughout history: tulips, 90s internet companies, securities backed by "subprime" mortgages, where speculation led to hugely elevated prices that then tumbled to nothing when those speculating were found to be incorrect. The current price of bitcoin is therefore based on speculation of the future supply and demand of a commodity that has only existed for a very short time and which is very different to anything else that has previously been encountered. It only makes sense to assume that whatever the future price, it must now behave in a matter that is very volatile, and that the future price will probably be very different to its current price.

To go into depth about why this must be a bubble I note that there is almost no direct use of bitcoin, that it is certainly very popular at the moment and that being very new, it is both difficult to rely on its stable price or to understand and predict how it will go. Shares, fiat currencies, bonds etc. have decades of history to provide at least some clues of how prices may move whereas bitcoin appears to be something completely new. What better indicator of the current mania surrounding bitcoin do you need than this other video from MarkeeDragon which is even titled "Bitcoin MANIA". How much does he himself talk about mania, excitement, irrational people, buzz, hype, upward trends, exponential growth in popularity, a bitcoin price and community that seem to be growing in tandem, large and likely inefficient investments to produce bitcoin, and finally get-rich-quick schemes. If this does not smack of another beanie baby/tulip/subprime mania/fad/bubble that's on its way to collapse I really don't know what does.

Monday, 3 October 2016

Learn CSS in less than 5 mins

Intro

Note: Skip to start here if you just want to start learning CSS.
Developing anything for the web is unnecessarily harder and more complicated than it ever needed to be. The three main web technologies—HTML, JavaScript, CSS— are a little of a kludge that has been put together to let people develop for the web. I have had to learn all three while recently developing a website for the first time. HTML describes the contents of the page, i.e. what was written; JavaScript describes how it behaves when you interact with it; finally, CSS describes how it looks, the font size, when text is bold, etc. It means that there are three technologies one needs to learn before they can begin to be productive. The following is enough to be very productive with using CSS, one of the three main web technologies, within just a few minutes. It requires a background of very basic HTML.

Start here

There are two steps to CSS: selecting the content, then applying the style. CSS is usually added inline between the <style> and </style> start and end tags in the <head> section of the HTML or as an external document in a link: <link href="path/to/file.css" rel="stylesheet" type="text/css" />.

What is CSS

CSS content looks like this:
selector {
    key: value;
    other-key: other-value;
}

Selecting

There are three important ways to select. Given a tag like the following:
<div class="class-name other-class-name" id="id-name">Content</div> there are three different ways to select the content in the tag: by tag, class, and id. The tag name is div, the id name is id-name; and, there are two classes class-name and other-class-name. In the CSS code, the tag name is referred to by just using the name of the tag and the id and class are referred to by prefixing the name of the id and class with "#" and with ".". So although redundant, the following selects the div tag using these three methods.

div #id-name .class-name {
    //CSS stuff goes here.
}


Applying

In essence it is a long list of key->value pairs tied to a selector. The key is the property being changed and the value to which you want to change it. To figure out what the names of all these things are.. just Google it. That's it. You will almost certainly get the result you want first, usually something on the W3 Schools website. An example to make text bold.
That's it! You now know all you need to use CSS to implement anything you want/need on your website.

Saturday, 11 June 2016

Are Unicode characters in passwords really useful?

Unicode characters are supposed increase the difficulty of guessing passwords. The reasoning is that they expand the search space for passwords from the 62 possible alpha-numeric characters up to 1,114,112 total possibilities for each Unicode character.

Doing the maths

Let's assume that we're using upper and lower case ASCII passwords (52 possibilities per character) vs. Unicode. According to Wikipedia: Unicode defines a codespace of 1,114,112 code points in the range 0hex to 10FFFFhex. Let's say that about 100 of them are special control characters that can't be used, leaving 1,114,012.
ASCII ==> 52 characters. (upper and lower case)
Unicode ===> 1114012 --> log52(1,114,012) = 3.5238
i.e. Every random Unicode character has as much entropy as ~3.5 random ASCII characters.
...I hope that's correct.

Side note about passphrases

There are only about 10,000 or so English words that people regularly use. That makes every word not 52n bits of entropy for n characters but one token from a pool of 10,000. Every word gives you an equivalent of using 2.33 random letters. If the number is 100,000 each word then gives you 2.91 random letters per word. I like to think I'm a smart guy, but I'm certain that I don't know anywhere near 100,000 words.

Just type out the Unicode character code

Here is an idea. When you use a Unicode character you need to type out the decimal/hex code. If we allow for all upper+lower+numerical characters it gives 62 bits per character, but when you are pressing each key to input the Unicode character you're only adding 16 bits per key-press. You have to remember and type the hex characters anyway.
e.g. If you want your password to be "m💩nkey" (If that didn't work for you it's "monkey" with the 'o' replaced with a pile of poop.) you need to type this sequence of letters: "m 1 F 4 A 9 n k e y". (I think in Windows you press Alt+ the decimal rather than hex characters, but it really doesn't matter.) That pile of poop added 1,114,012 bits of entropy (let's not assume that a brute force is going to prioritise poop over other possible Unicode characters). If you typed out the characters "1F4A9" to your password, assuming 62 possibilities per character, you would have added 916,132,832 bits of entropy. Especially if for whatever reason Unicode is not allowed in passwords it seems to me that there would be no harm in just typing out the characters if you are otherwise going to force yourself to remember a hex string.