Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.
Bitcoin's challenges for the near future
Pieter Wuilleon 16 September 2012
Transcript of Bitcoin's challenges for the near future
future Bitcoin core dev since May 2011 Worked on: * Many bugfixes and cleanups
* Performance improvements
* Private key import/export (0.6)
* Compressed public keys (0.6)
* IPv6 support (0.7)
* Tor hidden service support (0.7)
* Deterministic wallets (BIP32, unfinished) Scalability Running a full node becomes increasingly difficult But full nodes are essential for the network So running one should be made as cheap as possible Storage requirements Bandwidth CPU usage Payment infrastructure Bandwidth CPU usage Mining our own business since 2009 Scalability Payment infrastructure Does everyone need to store the entire blockchain? blk0001.dat blkindex.dat 3 GiB 950 MiB block db coin db 1.1x size kept blocks 100 MiB 100 MiB It's also a fair bit faster... Does everyone need to be able to serve the entire blockchain? Current bandwidth comsumption: * transaction/block relaying: max avg 4 KiB/s * bootstrapping other nodes split that as well? * validation nodes (relay/validate blocks/transactions) * archive nodes (serve blocks to bootstrapping nodes) block database coin database After recent optimizations, almost entirely
bounded by signature checking. Potential improvements: * Multi-threaded signature checking ✔ * Curve specific optimizations (+40%) * Specific assembly code * More experimental ideas (batch validation) Any somewhat recent CPU should be able
to do 1000s of checks per second.
Thank you! Bitcoin lacks a payment protocol! Base58 addresses * site gives you base58 address * client creates transaction * client broadcasts transaction * ... you wait for slow P2P relay * site receives transaction * ... both wait for confirmation URI addresses * site gives URL to payment desc * client creates transaction * client sends transaction to site * site broadcasts transaction * ... site waits for confirmation Other advantages * No need to check whether Bitcoin address is still
alive * No need to keep private keys around forever * Automatic unique keys for every transaction * Meta-data can travel along with transaction
(refund address, order id, message, ...) * Receiver becomes responsible for broadcasting 3 GiB huge... 3 GiB block database