Saturday, November 18, 2017

ELI5: Bitcoin


Me: I'm gonna make a new currency (call it Paper), and you pay each other with paper, and grocery stores should accept it for you to buy food, and you should accept it as a form of payment for your work

You: Go fuck yourself, why should we use that

Me: Well this new currency called Paper is going to be great

You: Where does the original Paper come from?

Me: I print it with a printer

You: Da fuq? What if you just print more for yourself?

Me: Ok, I'll keep a ledger of all the Paper ever created and all the transactions that have occurred with Paper

You: That makes you like the US government or Treasury, the source all money, except you're a no-body. What if you die or you fudge the ledger

Me: Ok, I'll have other people print the money instead. And, I'll print on every Paper the history of that Paper and all the persons it has changed hands through and the printer that printed it, so the ledger (history) is on every Paper

You: That's ridiculous, who would be able to read so fast

Me: I'll assign verifies

You: Who's gonna volunteer to do that dumbass job

Me: Verifiers will get paid a transaction fee, and each time they verify a transaction, they can also print out a little bit of new Paper (newly created) to keep for themselves. This will also slowly put more of this new currency into circulation as time goes on and people want to exchange money.

You: So the verifiers are also going to be the printers?

Me: Yes

You: You're a dumbass, because you're gonna need a bunch of scanners to read the Papers

Me: Fine instead of using actual paper, I'll make everything digital

You: Does every verifier verify every transaction?

Me: Let's call the printers/verifers "miners". Every Paper transaction that goes on in the world gets a unique ID and is broadcasted out to every miner. Whoever is the first miner to finish verifying all the ledger and verify the transaction gets to keep the transaction fee and create a little bit of new Paper to keep for themselves, and then immediately tells all the other verifiers that this transaction ID has been done, along with the ID of the new Paper and who it belongs to

You: You're gonna transmit all that information for each transaction? There could be thousands of transactions a second

Me: Fine, we'll group the transactions into blocks, called blocks.

You: What if there's a tie


You: Ok, if we believe in your Paper currency, how are you going to go about transitioning the world to use this new currency?

Me: Have a currency exchange - pay some USD for some Paper

What gives Bitcoin its value?

Because people believe it can be used to buy things. That is why any currency has value - becaue people believe in it.

"Bitcoins do not have value as a physical commodity like gold and are not widely accepted as legal tender like dollars. Rather, Bitcoin appears to have value for the following reasons:
It is popular. In short, people accept and trade in Bitcoin because other people accept and trade in Bitcoin. It is recognized and accepted as a currency by many."

Follow up, how did Bitcoin arrive to its current popularity?

1. Because an initial group of people liked the ultimate goal of Bitcoin:
"The end goal is to enable people to transact among themselves without these transactions being controlled by governments and mega corps. To enable monetary freedom."

"Bitcoin is decentralized and limited. This is a major factor for many Bitcoin users. Bitcoin is hard for governments to trace and tax. Also, unlike fiat money produced by central banks, there is a cap set on total Bitcoins, limiting how much the currency can devalue through inflation."

2. Because an initial group of people liked the rules and algorithms describing and defining how Bitcoin operates - which helps Bitcoin reach its end goal. (Read the original paper to fully understand those rules)

3. Because other people use it (network effect)

Read more: Why do Bitcoins have value? | Investopedia 

One reason Bitcoin is popular is that it is decentralized. What does decentralized mean?

The faith we have in the USD is because we have faith in the US government backing that dollar. The US government is centralized, as in it's the source of the laws and police and military backing and enforcing everything. If someone pays you $1USD. You can go to a bank and ask if it's real, you can also find laws about how legal tender works and how it is backed up by the law.

To have faith in a decentralized currency means to have faith in some system that doesn't need the government that has laws, police, and guns. Well, bitcoin has algorithms that you can think of as laws, and those algorithms allow it to be decentralized. If someone pays you in Bitcoin, instead of going to the government to have faith it, Bitcoin has a DECENTRALIZED system of computers that run algorithms that then tell you that the Bitcoin you just received is trustworthy. The computers are known as miners.

What's mining? What's the incentive behind it?
As mentioned slightly earlier, a decentralized system needs to verify that a transaction is legit. This decentralized system of computers needs to be pay electricity bills. So there must be some incentive for them to verify transactions.

The incentives they get are:
- They get paid per transaction via a transaction fee
- They MAKE some bitcoin for every Block they add, called a block reward.

These mining machines are rated at TH/s (tera-hashes per second).

What's a block?
A block is a list of transactions. A block has a list of all the transactions that have occurred (who paid whom at what time and how much) since the last block that occurred.

"A block records some or all of the most recent Bitcoin transactions that have not yet entered any prior blocks. Thus a block is like a page of a ledger or record book. Each time a block is ‘completed’, it gives way to the next block in the blockchain. A block is thus a permanent store of records which, once written, cannot be altered or removed."

Read more: Block (Bitcoin Block) Definition | Investopedia 

Why is there a cap of only 21 million Bitcoins?
21million is an arbitrary number. What matters is that it is infinitely divisible.

Everyone needs to earn, save, spend or pay with a piece of the pie. All users need to know is what fraction of the pie do I control? and not how many ounces, pounds, Kg, or tons is the pie. That is just a number.

Why is there a cap at all?
-No cap means there would be inflation (future "printing"/"mining" of bit coin), but inflation is quite dishonest.

Satoshi modeled bitcoin after precious metals.  Mining increases in difficulty over time similar to how gold mining becomes more difficult.  This scarce supply gives bitcoins value.

What happens when all 21 million Bitcoins are mined?

How will miners get paid?
They will have to rely on transaction fees.

Is the creator of Bitcoin rich?

Yes, most likely.

"Looking at 2009 alone, 32,489 blocks were mined; at the then-reward rate of 50 BTC per block, the total payout in 2009 was 1,624,500 BTC, which at today’s prices is over $900 million. One may conclude that only Satoshi and perhaps a few other people were mining through 2009, and that they possess a majority of that $900 million worth of BTC. Someone in possession of that much BTC could become a target of criminals, especially since bitcoins are less like stocks and more like cash, where the private keys needed to authorize spending could be printed out and literally kept under a mattress. While it's likely the inventor of Bitcoin would take precautions to make any extortion-induced transfers traceable, remaining anonymous is a good way for Satoshi to limit exposure."

Read more: Bitcoin
Follow us: Investopedia on Facebook

How does Bitcoin get created? What dictates the rate of their creation?

Answer: the original white paper.

"A mathematical problem is linked with each block. Miners are constantly processing and recording transactions as part of the process of competing in a type of race. They race to ‘complete the current block’ in order to win Bitcoins. When a winning miner is able to solve it, the answer is shared with other mining nodes and it is validated. Every time a miner solves a problem, a newly minted 12.5 BTC (Bitcoin currency symbol) is awarded to the miner and enters the circulation. The first record in that next block is a transaction that awards the winning miner (who completed the previous block) the newly minted BTC. It is the difficulty of the mathematical problem that regulates the creation rate of new Bitcoins since new blocks can’t be submitted to the network without the answer. Based on the fact that it takes around 10 minutes on an average to solve the problem, approximately 12.5 new Bitcoins are minted every 10 minutes."

Read more: Block (Bitcoin Block) Definition | Investopedia
Follow us: Investopedia on Facebook

Transactions are broadcasted by anyone in the system and at random intervals. Which transactions, of all the ones broadcasted, are included is very dependent on the miner, as he/she is the one who groups them up and includes them in the block. As Nate noted below, there is also a 1MB block size limit which limits how many transactions can be included in a block. This limit is to prevent huge blocks that clog the network and may be removed if the number of transactions in the network ever grows such that the limit is a serious factor.
Good miners accept all transactions with the standard 0.0001 BTC fee (which is mainly a spam prevention measure). Bad miners are selfish and avoid including transactions to decrease their propogation time. For example, look at this block to see an example where a miner didn't include any transactions except for their own reward transaction.
If you look at then you can see how many transactions are included in each block.
As far as priority goes, again it depends on the miner, but in general miners like bigger fees and smaller transactions and may prioritize them that way.

When I buy Bitcoin with Fiat money (e.g. USD), where does the USD go?
It goes to whoever gave you the Bitcoin. That seller also had to pay USD to get that bitcoin, or had to "mine" it, and pay electricity bills for mining it.

"When you buy an ounce of silver bullion at the coin store, who gets the money?
The person who held the coin before you did.
All bitcoins are first issued to miners. From there, miners use those coins for trade or exchange. So when you buy a bitcoin with cash, you are buying it from someone who owned it but initially it was obtained from a miner."

What does it mean now that you have "bought" bitcoin?
It means a new transaction regarding a transfer of some Bitcoin to your address was inserted into a block. That Bitcoin can be traced all the way back through all the hands it has changed to its initial creation.

Yes, you do own the Bitcoin, but it's not like owning a piece of $1USD paper that only has value and no history. With Bitcoin, you own a Bitcoin because the universal transaction ledger shows that a Bitcoin was transferred to your address.

"Remember, bitcoin transactions are stored publicly and permanently on a network, which means that anyone can see the balance and transactions of any bitcoin address. However, only the bitcoin exchanges and/or the parties involved in the transaction can attach the addresses to a real person. So for the most part, the transactions are anonymous."

Does each Bitcoin has a string value or something?
No. Because that would make Bitcoin just like paper money, except much worse because you can just copy/paste the string.

So when I pay with Bitcoin, am I actually "giving" away the Bitcoins? E.g. giving away the string value (bytes) that a Bitcoin represents? 

There is only the ledger (history) of all transactions about which Bitcoin address sent how much to some other Bitcoin address.

When I buy Bitcoin from Coinbase, is there a Bitcoin transaction fee?
No, that transaction fee is transaction from Bitcoin to Bitcoin.
But if you're just buying Bitcoin with cash (from a bank or credit card), then Coinbase charges its own fees. That is approximately how Coinbase makes money.

Why does the cost of 1 Bitcoin keep rising or fluctuating?

What is the exit plan with Bitcoin?
With a regular stock:

  • If I'm day trading: I don't care about the future of the company, I just care about the stock's voltitlty and liquidity (and averages, stats, etc)
  • If I buy and hold: I  except the company to keep on growing in value because I really believe in the company's mission, it's technology, it's people, etc. I might hold on to that stock for years, or only just sell it for retirement money. I would need faith that this company will continue to stay around and will continue to grow. (If it got too big, to a point where it's regulated and required to split, your shares will be divided or something, and you can continue assuming each portion of the company will keep growing, because overall, you believe in the company)

But what about Bitcoin?
  • If I'm day trading: Same thing. I don't care about the future of the concept, I just care about the bitcoin's volatility and liquidity (and averages, stats, etc)
  • If I buy and hold: I expect Bitcoin to keep on growing in value because I believe in its mission, it's technology, and the people behind it. 
    • Is this true of me for Bitcoin?
    • If yes, I can buy some coins and sleep easy and just wait it out
      • How to get to yes: 
        • study up on all the possible future outcomes of Bitcoin 
        • feel confident about it
    • If not, then I am essentially day trading
      • Then I don't need to know all the technology behind bitcoin and really believe in what it's doing
      • BUT I DO need to
        • understand the volatility and liquidity of Bitcoin and how to take advantage of it
        • understand the psychology behind what's driving Bitcoin's price
        • what humans will do next

What about ETH?

What about Litecoin?


What's an ICO?
Are tokens like "shares" from an IPO?
Are utility tokens like "logins" of a normal website?

Life questions:
Is it too late to get into Bitcoin?

Thursday, July 6, 2017

New Smartphone Shopping Requirements

After spending hours looking at phones recently, I realize that you can only have 3 out of the 4 following criteria:

Withstand bend test from JerryRigEverything:
(HTC U11 failed this)

Good camera based on DxOMark Mobile (Score of 88 and higher):
(HTC U11 won this)

Water resistance:

Under $650

And this isn't talking about performance (e.g. Snapdragon 835 with >6gb ram...)

Monday, April 17, 2017

Thinking about stopping rock climbing

Because the girls at the gym are SO FUCKING DISTRACTING BECAUSE THEY ALL WEAR TIGHT ASS LEGGINGS. It's so frustrating and annoying. It's like watching softcore porn. Can't focus on working out at all. 

It's not their fault, it's my fault. Pretty sure I have a fetish. I need to remove myself from the equation.

Saturday, April 1, 2017

How to Use Tide PODS Laundry Detergent - The Correct Way! (WIth Pictures)

1. Examine your Tide PODS. 

All cute and comfy in their little orange container. They smell great!

2. Never mind the directions on the top of the box about throwing the pods right into the wash because water will automatically dissolve them. That's for rookies! You're on the pro-track now because you're reading these pro-tips!


3. Take your favorite glass cup and put your desired amount of tip pods in them

Personally, I like this Samuel Adams glass cup I found in the cupboard. Not that I consume Samuel Adams (their ads on Spotify piss me off), it's just a good, clear, no-frills, glass cup

4. Come back in 15 minutes and see the following:

Following the noob directions would have meant un-dissolved Tide Pods after 15 minutes into the cold wash, right about when the quick wash's rinse cycle starts! =D

Note: Alternatively, you could also use steaming HOT water, and that'll make the pods dissolve much faster (e.g. within a minute)

5. Stir the crap out of your drink and keep waiting until everything dissolves (Pro-tip - Chopsticks work well)

6. Now, since we don't want to be carrying our good-ol reliable Sammy Adams glass cup to the laundry room, and since we also don't want to pour our drink on our dirty clothes just yet, we need a bottle to put it in. (Yes, as a member of the proletariat I need to physically leave my dwelling space in order to do the laundry, since I'm not bougie enough to have a washer/dryer inside my apartment)

I highly recommend the Soylent 2.0 plastic bottles. (Once you've drunk your soylent)

7. CAREFULLY, pour your now-dissolved Tide Pod into your Soylent 2.0 bottle.

8. For the frugal ones out there, take a piece of dirty clothing that you're about to wash and wipe up the residue detergent from the inside of good-ol Sammy Adams. I recommend the pant legs of a cotton pair of pajamas

7. Take your load to the washer and do the usual, pouring your beautiful goop into the detergent ingesting box

And voila!! You've successfully and correctly used Tide Pods!

For the adventurous ones out there, you can bypass steps 3 through 8 by DIRECTLY shoving the Tide Pods into the Soylent 2.0 bottle and putting hot water into the bottle.

If anyone needs some empty Soylent 2.0 bottles, hollar-at-me!

Wednesday, March 1, 2017

Damn you, permutations

I had such a hard time figuring out how to write a python function to generate permutations two weeks ago.

Then yesterday, I tried doing it again using a different method and I got stuck for half an hour. It finally worked when I used list.extend instead of list.append.

And then when I looked at the code I wrote two weeks ago, they were the exact same. Recursion within a for-loop. Damn. This site very helpfully explained the thinking:

def permutate(input):
if len(input)==0:
return [[]]
for index,num in enumerate(input):
to_add=[[num]+ result for result in permutate(remain)]
return output


Monday, February 20, 2017

I wish I wasn't so lazy

It's one of the worst feelings ever: knowing what I should be doing, and not doing it. Out of procrastination and laziness.

I'm surrounded by geniuses. I walk the goddamn streets that geniuses have previously walked. Literally (not figuratively, because I sure as hell as too lazy to be following their footsteps).
Literally, on the streets of Palo Alto. For some reason, I'm reading Elon Musk's biography and Peter Thiel's book Zero to One at the same time right now. They've started out out of offices that I've walked or driven past.

I can't seem to stop comparing myself to others.
I can't seem to stop wanting to be great.
But I also can't seem to stop being lazy.
This has got to be the dumbest shit ever. Laziness. ADD. Procrastination. ADHD. Whatever the fuck you call it.

Thursday, February 16, 2017

Reminder to DGAF about things I can't control and just roll with it

I got an oil change today. Whenever I start creeping up on the oil-change mileage time, I get stressed out because I procrastinate on it, and it feels like I'm doing irrevocable damage to my car.

After the oil change, I drove around and felt that the car seemed slightly lower on power and that the noises it made were also slightly different. I wasn't sure if something was truly wrong with my car of it I was just paranoid, but I spent the next hour reading up on it (1/3rd of that time while on the toilet).

One common reason for a lack of power for my Subaru seemed to be piston ringland cracking, which was a costly thing to fix. Other symptoms of piston ringland cracks were:

  • Low power - I had this issue
  • Not reaching target boost of 14.5psi (or 0.1MPA) - I had this issue
  • Rough idle
  • Smoke upon startup and acceleration
  • Car taking oil (engine oil seems to disappear, some say as much as a quart per 100 miles)
  • Check engine light

Being paranoid, I also thought I began to see some smoke from the tailpipe when I started the car, but I couldn't be sure if it was just condensation or vapor.

Anyway, I ended up googling the heck out of it, and there's one forum where another Subaru driver asked how many miles have people driven with a cracked piston ring. (Because I wanted to see how bad it can get if a cracked piston ringland was indeed my problem, since I'm in no financial condition to replace the engine short block).

Some answers were quite cautious:
"I wouldn't drive it at all personally. Sure you can drive the car but you risk making things worse. When mine went i drove it home and parked it until i was ready to replace the pistons"

Others were more adventurous:"I had 2 cracked ringland on my 2011 at 12,000 miles and drove 2 months, ate almost two quarts of oil and liked to backfire and idle rough sometimes. Currently in process of a rebuild."

"cracked mine last sept and drove it till march. drove it everyday as well. was at 65lbs of comp on #4"

"Just passed 3000 miles. Still no symptoms except blowby -- the CEL even stopped for the past several days"

And then there's this BAMF who just DGAF:"My 99 2.2 wagon had cracked ringlands when I bought it, went through a quart of oil a week but just kept an eye on it every time I got gas I checked the oil. Drove it regularly for 40k or so with no change. Ive torn down several EJ20 and EJ25 blocks to find many cracked ringlands. Never did they ever dislodge. I just scrapped a heap of 20 or so cracked pistons. lol."

So it kinda put me at ease. I'll just wait it out until the symptoms become undeniably overwhelming.