bitcoin talk at rainbow
TRANSCRIPT
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.