Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
229 lines (184 sloc) 10.9 KB

Blockchain Getting Started

This document is an extract of Haseeb Qureshi's excellent article on Medium.

Data Structures

Linked Lists https://en.wikipedia.org/wiki/Linked_list
Binary Search Trees https://en.wikipedia.org/wiki/Binary_search_tree
Hash Maps https://en.wikipedia.org/wiki/Hash_table
Graphs https://en.wikipedia.org/wiki/Graph_%28discrete_mathematics%29
DAGs https://en.wikipedia.org/wiki/Directed_acyclic_graph

Cryptography

Public/private key crypto https://en.wikipedia.org/wiki/Public-key_cryptography
RSA https://www.youtube.com/watch?v=vgTtHV04xRI
ECDSA https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/
Cryptographic Hash Function https://en.wikipedia.org/wiki/Cryptographic_hash_function
Commitment Schemes https://en.wikipedia.org/wiki/Commitment_scheme
Merkle Trees https://en.wikipedia.org/wiki/Merkle_tree
Merkle Proofs https://indigoframework.com/documentation/v0.1.0/references/proof-of-existence/

Distributed Systems

Consistency https://en.wikipedia.org/wiki/Consistency_model
Consensus https://en.wikipedia.org/wiki/Consensus_%28computer_science%29
Linearizable Models https://en.wikipedia.org/wiki/Linearizability
Eventual Consistency https://en.wikipedia.org/wiki/Eventual_consistency
Paxos https://en.wikipedia.org/wiki/Paxos_%28computer_science%29
RAFT https://en.wikipedia.org/wiki/Raft_%28computer_science%29
Timing in distributed systems https://www.youtube.com/watch?v=BRvj8PykSc4
Safety and liveness http://www.bailis.org/blog/safety-and-liveness-eventual-consistency-is-not-safe/
Byzantine fault-tolarant Consensus https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
PBFT https://blog.acolyer.org/2015/05/18/practical-byzantine-fault-tolerance/
Traditional Methods of Distributed Databases https://en.wikipedia.org/wiki/Distributed_database
Sharding https://en.wikipedia.org/wiki/Shard_%28database_architecture%29
Consistent hashing https://en.wikipedia.org/wiki/Consistent_hashing
Lead-follower-replication https://en.wikipedia.org/wiki/Replication_%28computing%29
Quorum-based commits https://en.wikipedia.org/wiki/Quorum_%28distributed_computing%29
Distributed Hash Tables https://en.wikipedia.org/wiki/Distributed_hash_table
Chord https://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29
Kademlia https://en.wikipedia.org/wiki/Kademlia

Networking

TCP vs UDP https://www.diffen.com/difference/TCP_vs_UDP
Packet model https://en.wikipedia.org/wiki/Network_packet
Gossip protocols https://en.wikipedia.org/wiki/Gossip_protocol
Flooding https://en.wikipedia.org/wiki/Flooding_%28computer_networking%29
P2P Network Design https://en.wikipedia.org/wiki/Peer-to-peer
Tor https://en.wikipedia.org/wiki/Tor_%28anonymity_network%29

Economics

Cryptoeconomics
Game theory https://en.wikipedia.org/wiki/Game_theory
Nash equilibria https://en.wikipedia.org/wiki/Nash_equilibrium
Schelling points https://en.wikipedia.org/wiki/Focal_point_%28game_theory%29
Macroeconomics https://en.wikipedia.org/wiki/Macroeconomics
Inflation/Deflation
Microeconomics https://en.wikipedia.org/wiki/Microeconomics
Supply and demand curves https://en.wikipedia.org/wiki/Supply_and_demand
Opportunity costs https://en.wikipedia.org/wiki/Opportunity_cost
Auction theory https://en.wikipedia.org/wiki/Auction_theory

Bitcoin Basics

Blockchain 101 https://youtu.be/_160oMzblY8
Cryptoconcurrencies https://youtu.be/bBC-nXj3Ng4
https://www.igvita.com/2014/05/05/minimum-viable-block-chain/

Building a Blockchain

https://www.youtube.com/watch?v=3aJI1ABdjQk
Sources and slides https://github.com/Haseeb-Qureshi/lets-build-a-blockchain
Blockchain implementations https://github.com/openblockchains/awesome-blockchains
Bitcoin whitepaper https://bitcoin.org/bitcoin.pdf
Bitcoin mining https://www.youtube.com/watch?v=jXerV3f5jN8
Walk through a Bitcoin block header https://www.youtube.com/watch?v=gUwXCt1qkBU
Bitcoin block explorer https://blockchain.info/
History of Bitcoin https://youtu.be/apYieuvnUaE
Academic precursors to Bitcoin https://queue.acm.org/detail.cfm?id=3136559
UTXOs and Bitcoin script https://www.youtube.com/watch?v=q5GWwTgRIT4
Short guide to Bitcoin forks https://www.coindesk.com/short-guide-bitcoin-forks-explained/
Soft forks and miner signaling https://en.bitcoin.it/wiki/Softfork
Double spends, 51% attacks, and selfish mining https://www.youtube.com/watch?v=UPxaCj8ZsEU
Replay attacks https://bitcointechtalk.com/how-to-protect-against-replay-attacks-7a00bd2fe52f
Bitcoin scalability problems https://en.wikipedia.org/wiki/Bitcoin_scalability_problem
Segregated whitness https://en.wikipedia.org/wiki/SegWit
Lightning network https://lightning.network/

Stats

Bitcoin full nodes https://bitnodes.earn.com/
Bitcoin fee statistic https://bitcoinfees.earn.com/
Charts https://blockchain.info/charts
Charts https://coin.dance/stats
Charts https://bitcointicker.co/networkstats/
Bitcoin energy consumption index https://digiconomist.net/bitcoin-energy-consumption
Essay https://www.gwern.net/Bitcoin-is-Worse-is-Better
Wealth of other resources https://lopp.net/bitcoin.html

Ethereum and smart contract programming

Ethereum in 25 minutes https://youtu.be/mCzyDLanA7s
Cryptoeconomics https://www.youtube.com/watch?v=sbd4xe9OHJgDAOs https://en.wikipedia.org/wiki/Decentralized_autonomous_organization
Ethereum Yellow Paper https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369
Account model https://ethereum.stackexchange.com/questions/326/what-are-the-pros-and-cons-of-ethereum-balances-vs-utxos
dominant programming language for Ethereum is Solidity https://news.ycombinator.com/item?id=14691212
Viper https://github.com/ethereum/vyperhttps://medium.com/@aidobreen/how-and-why-developing-for-ethereum-sucks-1ff1a9873527
CryptoZombies tutorial https://cryptozombies.io/
ERC-20 compliant token https://medium.com/@james_3093/ethereum-erc20-tokens-explained-9f7f304055df
https://enlight.nyc/ethereum-token
In-browser Solidity editor https://remix.ethereum.org/
Voting system "Todo App of Ethereum" https://karl.tech/learning-solidity-part-2-voting/
https://gist.github.com/Haseeb-Qureshi/8261d70c4fb8ad8cdf1776f55bdcd4c2

Smart contract security

DAO hack http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/
Parity wallet hack https://medium.freecodecamp.org/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce
Parity Wallet Hack 2 https://hackernoon.com/parity-wallet-hack-2-electric-boogaloo-e493f2365303
https://hackernoon.com/front-running-bancor-in-150-lines-of-python-with-ethereum-api-d5e2bfd0d798
http://www.swende.se/blog/Breaking_the_house.html
Smart contract static analyzer https://github.com/melonproject/oyente, https://securify.ch/
OpenZeppelin https://github.com/OpenZeppelin/zeppelin-solidity
The Ethernaut https://ethernaut.zeppelin.solutions/
Hack this contract http://hackthiscontract.io/
Smart Contract Best Practices https://consensys.github.io/smart-contract-best-practices/

Tools

Interacting with local blockchain : Ganache https://github.com/trufflesuite/ganache-cli
Truffle framework https://github.com/trufflesuite/truffle
Decentralized filestore https://ipfs.io/ https://youtu.be/skMTdSEaCtA
Interacting with Ethereum and IPFS full nodes https://infura.io/
Stats https://etherscan.io/charts, https://ethgasstation.info/
Web3 stack https://blockchainhub.net/web3-decentralized-web/
Stack with Node and Postgres https://happyfuncorp.com/whitepapers/webthereum
Fully decentralized using IPFS https://medium.com/@merunasgrincalaitis/the-ultimate-end-to-end-tutorial-to-create-and-deploy-a-fully-descentralized-dapp-in-ethereum-18f0cf6d7e0e

Media

Software Engineering Daily Blockchain interviews https://itunes.apple.com/us/podcast/blockchain-software-engineering-daily/id1230807219?mt=2
Epicenter https://itunes.apple.com/us/podcast/epicenter-podcast-on-blockchain-ethereum-bitcoin-distributed/id792338939?mt=2
Unchained https://itunes.apple.com/us/podcast/unchained-big-ideas-from-worlds-blockchain-cryptocurrency/id1123922160?mt=2
Conspiratus https://itunes.apple.com/us/podcast/conspiratus/id1335928646?mt=2
Ethereum Foundation https://www.youtube.com/channel/UCNOfzGXD_C9YMYmnefmPH0g/videos
Blockchain at Berkeley https://www.youtube.com/channel/UC5sgoRfoSp3jeX4DEqKLwKg/videos
Decipher Media https://www.youtube.com/channel/UC8CB0ZkvogP7tnCTDR-zV7g/videos
Jackson Palmer https://www.youtube.com/channel/UCTOzxu_HvuJfZtTJ6AZ7rkA
Reddit https://reddit.com/r/ethereum

Who to follow on Twitter

builders

https://twitter.com/VitalikButerin
https://twitter.com/zooko
https://twitter.com/NickSzabo4
https://twitter.com/VladZamfir
https://twitter.com/msantoriESQ
https://twitter.com/fluffypony
https://twitter.com/malloc8

entrepreneurs

https://twitter.com/balajis
https://twitter.com/ErikVoorhees

investors

https://twitter.com/naval
https://twitter.com/AriDavidPaul
https://twitter.com/ljxie
https://twitter.com/cburniske

journalists

https://twitter.com/TuurDemeester
https://twitter.com/laurashin
https://twitter.com/hosseeb

Recommended reading

Insided bitcoin https://inside.com/bitcoin
Token Economy https://tokeneconomy.co/tagged/token-economy-weekly?gi=2b9bd960ffe3
Week in Ethereum http://www.weekinethereum.com/

Blogs

http://vitalik.ca/
http://hackingdistributed.com/
http://unenumerated.blogspot.com/
https://www.bloomberg.com/view/topics/money-stuff
https://medium.com/@Vlad_Zamfir
https://medium.com/@cburniske
https://lopp.net/articles.html
http://www.ofnumbers.com/
https://medium.com/@hosseeb

Books and Courses

Bitcoin and Cryptocurrency Technologies https://www.amazon.com/Bitcoin-Cryptocurrency-Technologies-Comprehensive-Introduction-ebook/dp/B01GGQJ2XW
Mastering Bitcoin https://www.amazon.com/Mastering-Bitcoin-Unlocking-Digital-Cryptocurrencies/dp/1449374042
Coursera Princeton Blockchain Course https://www.coursera.org/learn/cryptocurrency
https://www.youtube.com/watch?v=ZWE3qFnSbMc&list=PLSONl1AVlZNX_JBggqZV40rDIGGB0FNHW

Jobs

AngelList crypto startups https://angel.co/bitcoin/jobs
BlockchainJobz http://blockchainjobz.com/
Ethereum Jobs https://jobs.ethercasts.com/
Be in Crypto https://beincrypto.com/
Blockchain Job Board http://www.blockchainjobboard.org/
Crypto Job Lists https://cryptojobslist.com/
Google Jobs https://www.google.com/search?q=blockchain+jobs&ibp=htl;jobs#fpstate=tldetail
ConsenSys Jobs https://new.consensys.net/careers/

0x https://angel.co/0xproject/jobs
Dharma Labs https://angel.co/dharma-labs
Civic https://angel.co/civic/jobs

Coinbase https://www.coinbase.com/careers
Stellar https://jobs.lever.co/stellar
Ripple https://ripple.com/company/careers/all-jobs/
Square https://squareup.com/careers/jobs

You can’t perform that action at this time.