Notes Bittorrent Bittorrent is already a decentralized file sharing platform. How does bittorrent work? When a client receives a .torrent file, it uses the DHT embedded inside the .torrent file to contact the nearest node in the swarm. Once its connected, files can be transferred in a peer to peer way. Problem with Bittorrent There is no incentive for anyone to keep sharing files. IPFS We can store the map of file hash to the file contents in the blockchain using smart contract....

BFT Membership

Notes Byzantine protocols can be used to increase the throughput of the blockchain but byzantine protocols work only with a closed membership model. Need to define an open membership model for BFT protocols.

Permissioned Chains

Notes After Bitcoin, other coins started popping up- Litecoin(using its hashing algo) only allowed mining using GPUs or CPUs. Monero(using its hashing algo) only allowed mining using CPUs. Ethereum also introduced something called smart contracts. What problems might come up in smart contracts? If the code is non-deterministic then it’ll be a problem. Data of the code must be isolated so each smart contract is run in classes and objects. Infinite loops

Proof of Work

Notes Bitcoin Reasoning for making bitcoin Anonymous Decentralized money system No trust in the government money system How does this work in a no trust environment? Use asymmetric encryption scheme like public/private key pairs. Double spend problem Double spend (make a transaction and then unrecord it and then spend that money again) How do you solve this? Similar to the consensus problem where everyone must agree on transactions. We can’t use consensus algos like Paxos or RAFT because its not a closed membership situation(no global view of number of servers....

Critique of ANSI SQL Isolation Levels

Notes Types of locks - Write lock Read lock Predicate lock - Lock where multiple rows are locked for reads(WHERE clause) All of these locks are long locks(Meaning all are acquired first and then all are released)(2 Phase locking) If we wanna improve performance(and decrease isolation levels), we can reduce long locks to short locks. Types of anomalies - Phantom Reads is we do a search condition (using WHERE clause) and then Read1, Write1 and Read2....