Bitcoin Talk at Rainbow

Embed Size (px)

Citation preview

Intro to Bitcoin
or Distributed Cryptocurrencies for Fun and Profit

Presented by Bennett HoffmanAt the Rainbow Mansion, Cupertino, CAOn this 10th of March, 2013

What is Bitcoin?

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.Bitcoin.org

What is Bitcoin?

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.

What is Bitcoin?

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.

What is Bitcoin?

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.

What is Bitcoin?

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.

What is Bitcoin?

Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin is also the name of the open source software which enables the use of this currency.

Why should I care?

InvestmentIn theory, bitcoin should act as a hedge against inflation, much like gold. In practice, still volatile.

Futures, options, etc.

EntrepreneurshipBitcoin has large disruptive potential

Still a very new technology

PoliticsCompetes with central banks

Why shouldn't I care?
(officially)

Wikileaks

Drugs

Gambling

Money laundering

If any of these sound like you, then take a look at TOR. You didn't hear it from me.

So how do I get some?

ExchangesMtGox

AurumXchange

CoinBase

OTCFeels like being a spy

Mining

Nice friends

Where does it go?

Bitcoins addresses are cryptographic strings which look something like this 31uEbMgunupShBVTewXjtqbBv5MndwfXhb

Managed by a Bitcoin client

Stored in a wallet on your computer

Make backups!

Mining 101

How can you mine a digital currency?

Transactions depend on the network solving computationally difficult problems

Each time a solution is found, the machine that found it gets a reward (currently 25 BTC)

If you control X% of the total Bitcoin network, then you have an X% chance of solving the next problem

Mining 102: Pools

Mining hardware is progressing rapidlyCPU -> GPU -> FPGA -> ASIC

It's very unlikely for an individual with a home computer to complete a bitcoin block

Mining pools offer a way to participate

Revenue split among pool members proportional to contributed processing

Some fees (~3%)

Can I actually spend this stuff?
(without feeling like a criminal)

Bitmit.net

Reddit gold

Tech services

LocallyCups and Cakes Bakery

20Mission

Gift/prepaid cardsHuge list at: http://bitcoin.it/wiki/Trade

Staying Anonymous

If you want to help Iranian protesters without the risk of being watched by the CIA:Buy OTC with cash (never use PayPal etc.)

Never reuse a wallet address

Alway use TOR when working discretely

Use a tumbler/eWallet service

Make sure numbers don't line up

Encrypt all communications (GPG, etc.)

Threats
(civilized)

PolicyMoney laundering, drug dealing, and terrorism are already illegal

See gun control

Outlawing the currency won't work, but a great firewall might

PropagandaFUD

Market manipulation

Threats
(Economic)

Limited supply

Irrevocably lost Bitcoins

Deflationary spiralBitcoins aren't a debt instrument

Currently not used as reserves against other instruments

Alternative cryptocurrenciesLitecoin

Threats
(technical)

The infamous 51% attackIncreasingly difficult to pull off

Limited effectiveness

Costly to sustain

Network recovers normal operation afterwards

Quantum computing

Flaws in the Bitcoin protocol

Getting Technical

FoundationsPublic key cryptography (ECDSA)A transaction is signing a message and attaching the new owner's public key

One-way hashing with SHA-256

Hashcash proof-of-work functionMust produce a small enough hash value

Underlies time and difficulty elements of Bitcoin

Transactions

Transaction Limitations

Can't prevent double spending

Avoiding a centralized Mint

We need some way to verify order

Now we have a centralized Timeserver

Proof-of-Work

Uses a Hashcash like algorithm

Must find a hash for the new block which beats a target value

The target value, or difficulty, changes every 2016 blocks

Difficulty targets 1 block solved every 10 minutes

Network Operation

New transactions are broadcast to all nodes.

Each node collects new transactions into a block.

Each node works on finding a difficult proof-of-work for its block.

When a node finds a proof-of-work, it broadcasts the block to all nodes.

Nodes accept the block only if all transactions in it are valid and not already spent.

Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash.