Skip to content

Commit

Permalink
Add Review: Bitcoin, Algorand
Browse files Browse the repository at this point in the history
  • Loading branch information
h1994st committed Apr 6, 2018
1 parent db26ab5 commit 5e92094
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 25 deletions.
48 changes: 24 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,27 @@ UMich EECS 591: Distributed Systems

| Due | Papers | Reviews |
|:---:|:------:|:--------------:|
|2018.02.14|[Fast Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/fast_paxos.pdf)|[2018.02.14-FastPaxos](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.02.14-FastPaxos.md)|
|2018.02.14|[Flexible Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/flexible_paxos_opodis2016.pdf)|[2018.02.14-FlexPaxos](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.02.14-FlexPaxos.md)|
|2018.02.19|[Speculative Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/specpaxos-nsdi15.pdf)|[2018.02.18-SpecPaxos](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.02.18-SpecPaxos.md)|
|2018.02.19|[Network-Ordered Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/nopaxos-osdi16.pdf)|[2018.02.18-NOPaxos](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.02.18-NOPaxos.md)|
|2018.02.21|[ZooKeeper](https://web.eecs.umich.edu/~manosk/assets/papers/zookeeper.pdf)|[2018.02.20-ZooKeeper](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.02.20-ZooKeeper.md)|
|2018.02.21|[CORFU](https://web.eecs.umich.edu/~manosk/assets/papers/corfu.pdf)|[2018.02.20-CORFU](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.02.20-CORFU.md)|
|2018.03.05|[Zyzzyva](https://web.eecs.umich.edu/~manosk/assets/papers/kotla07Zyzzyva.pdf)|[2018.03.04-Zyzzyva](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.04-Zyzzyva.md)|
|2018.03.05|[XFT](https://web.eecs.umich.edu/~manosk/assets/papers/xft-osdi16-liu.pdf)|[2018.03.04-XFT](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.04-XFT.md)|
|2018.03.07|[Falcon](https://web.eecs.umich.edu/~manosk/assets/papers/falcon.pdf)|[2018.03.06-Falcon](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.06-Falcon.md)|
|2018.03.07|[Mencius](https://web.eecs.umich.edu/~manosk/assets/papers/mencius.pdf)|[2018.03.06-Mencius](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.06-Mencius.md)|
|2018.03.12|[TAPIR](https://web.eecs.umich.edu/~manosk/assets/papers/tapir.pdf)|[2018.03.11-TAPIR](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.11-TAPIR.md)|
|2018.03.12|[IronFleet](https://web.eecs.umich.edu/~manosk/assets/papers/ironfleet.pdf)|[2018.03.11-IronFleet](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.11-IronFleet.md)|
|2018.03.19|[Bayou](https://web.eecs.umich.edu/~manosk/assets/papers/bayou.pdf)|[2018.03.18-Bayou](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.18-Bayou.md)|
|2018.03.19|[Dynamo](https://web.eecs.umich.edu/~manosk/assets/papers/dynamo.pdf)|[2018.03.18-Dynamo](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.18-Dynamo.md)|
|2018.03.26|[GFS](https://web.eecs.umich.edu/~manosk/assets/papers/gfs.pdf)|[2018.03.25-GFS](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.25-GFS.md)|
|2018.03.26|[Bigtable](https://web.eecs.umich.edu/~manosk/assets/papers/bigtable.pdf)|[2018.03.25-Bigtable](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.25-Bigtable.md)|
|2018.03.28|[Megastore](https://web.eecs.umich.edu/~manosk/assets/papers/megastore.pdf)|[2018.03.27-Megastore](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.27-Megastore.md)|
|2018.03.28|[Spanner](https://web.eecs.umich.edu/~manosk/assets/papers/spanner.pdf)|[2018.03.27-Spanner](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.27-Spanner.md)|
|2018.04.02|[MapReduce](https://web.eecs.umich.edu/~manosk/assets/papers/mapreduce.pdf)|[2018.03.30-MapReduce](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.30-MapReduce.md)|
|2018.04.02|[Spark](https://web.eecs.umich.edu/~manosk/assets/papers/spark.pdf)|[2018.03.30-Spark](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.03.30-Spark.md)|
|2018.04.04|[Bitcoin](https://web.eecs.umich.edu/~manosk/assets/papers/bitcoin.pdf)|[2018.04.??-Bitcoin](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.04.??-Bitcoin.md)|
|2018.04.04|[Algorand](https://web.eecs.umich.edu/~manosk/assets/papers/algorand.pdf)|[2018.04.??-Algorand](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.04.??-Algorand.md)|
|2018.04.09|[COPS](https://web.eecs.umich.edu/~manosk/assets/papers/cops.pdf)|[2018.04.??-COPS](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.04.??-COPS.md)|
|2018.04.09|[RAMCloud](https://web.eecs.umich.edu/~manosk/assets/papers/ramcloud.pdf)|[2018.04.??-RAMCloud](https://github.com/h1994st/EECS-591/blob/master/Reviews/2018.04.??-RAMCloud.md)|
|2018.02.14|[Fast Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/fast_paxos.pdf)|[2018.02.14-FastPaxos](Reviews/2018.02.14-FastPaxos.md)|
|2018.02.14|[Flexible Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/flexible_paxos_opodis2016.pdf)|[2018.02.14-FlexPaxos](Reviews/2018.02.14-FlexPaxos.md)|
|2018.02.19|[Speculative Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/specpaxos-nsdi15.pdf)|[2018.02.18-SpecPaxos](Reviews/2018.02.18-SpecPaxos.md)|
|2018.02.19|[Network-Ordered Paxos](https://web.eecs.umich.edu/~manosk/assets/papers/nopaxos-osdi16.pdf)|[2018.02.18-NOPaxos](Reviews/2018.02.18-NOPaxos.md)|
|2018.02.21|[ZooKeeper](https://web.eecs.umich.edu/~manosk/assets/papers/zookeeper.pdf)|[2018.02.20-ZooKeeper](Reviews/2018.02.20-ZooKeeper.md)|
|2018.02.21|[CORFU](https://web.eecs.umich.edu/~manosk/assets/papers/corfu.pdf)|[2018.02.20-CORFU](Reviews/2018.02.20-CORFU.md)|
|2018.03.05|[Zyzzyva](https://web.eecs.umich.edu/~manosk/assets/papers/kotla07Zyzzyva.pdf)|[2018.03.04-Zyzzyva](Reviews/2018.03.04-Zyzzyva.md)|
|2018.03.05|[XFT](https://web.eecs.umich.edu/~manosk/assets/papers/xft-osdi16-liu.pdf)|[2018.03.04-XFT](Reviews/2018.03.04-XFT.md)|
|2018.03.07|[Falcon](https://web.eecs.umich.edu/~manosk/assets/papers/falcon.pdf)|[2018.03.06-Falcon](Reviews/2018.03.06-Falcon.md)|
|2018.03.07|[Mencius](https://web.eecs.umich.edu/~manosk/assets/papers/mencius.pdf)|[2018.03.06-Mencius](Reviews/2018.03.06-Mencius.md)|
|2018.03.12|[TAPIR](https://web.eecs.umich.edu/~manosk/assets/papers/tapir.pdf)|[2018.03.11-TAPIR](Reviews/2018.03.11-TAPIR.md)|
|2018.03.12|[IronFleet](https://web.eecs.umich.edu/~manosk/assets/papers/ironfleet.pdf)|[2018.03.11-IronFleet](Reviews/2018.03.11-IronFleet.md)|
|2018.03.19|[Bayou](https://web.eecs.umich.edu/~manosk/assets/papers/bayou.pdf)|[2018.03.18-Bayou](Reviews/2018.03.18-Bayou.md)|
|2018.03.19|[Dynamo](https://web.eecs.umich.edu/~manosk/assets/papers/dynamo.pdf)|[2018.03.18-Dynamo](Reviews/2018.03.18-Dynamo.md)|
|2018.03.26|[GFS](https://web.eecs.umich.edu/~manosk/assets/papers/gfs.pdf)|[2018.03.25-GFS](Reviews/2018.03.25-GFS.md)|
|2018.03.26|[Bigtable](https://web.eecs.umich.edu/~manosk/assets/papers/bigtable.pdf)|[2018.03.25-Bigtable](Reviews/2018.03.25-Bigtable.md)|
|2018.03.28|[Megastore](https://web.eecs.umich.edu/~manosk/assets/papers/megastore.pdf)|[2018.03.27-Megastore](Reviews/2018.03.27-Megastore.md)|
|2018.03.28|[Spanner](https://web.eecs.umich.edu/~manosk/assets/papers/spanner.pdf)|[2018.03.27-Spanner](Reviews/2018.03.27-Spanner.md)|
|2018.04.02|[MapReduce](https://web.eecs.umich.edu/~manosk/assets/papers/mapreduce.pdf)|[2018.03.30-MapReduce](Reviews/2018.03.30-MapReduce.md)|
|2018.04.02|[Spark](https://web.eecs.umich.edu/~manosk/assets/papers/spark.pdf)|[2018.03.30-Spark](Reviews/2018.03.30-Spark.md)|
|2018.04.04|[Bitcoin](https://web.eecs.umich.edu/~manosk/assets/papers/bitcoin.pdf)|[Bitcoin Presentation](2018.04.04-Bitcoin_Jungho_Shengtuo)|
|2018.04.04|[Algorand](https://web.eecs.umich.edu/~manosk/assets/papers/algorand.pdf)|[2018.04.03-Algorand](Reviews/2018.04.03-Algorand.md)|
|2018.04.09|[COPS](https://web.eecs.umich.edu/~manosk/assets/papers/cops.pdf)|[2018.04.??-COPS](Reviews/2018.04.??-COPS.md)|
|2018.04.09|[RAMCloud](https://web.eecs.umich.edu/~manosk/assets/papers/ramcloud.pdf)|[2018.04.??-RAMCloud](Reviews/2018.04.??-RAMCloud.md)|
1 change: 0 additions & 1 deletion Reviews/2018.03.30-Spark.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ Nowadays, many cluster computing frameworks provide many abstractions for access

In this paper, the authors propose a new abstraction called resilient distributed datasets (RDDs), which lets programmers perform in-memory computations on large clusters in a fault-tolerant manner. RDDs provide an interface based on coarse-grained transformations, providing fault tolerance by logging the transformations used to build a dataset. For the implementation part, the authors develop RDDs on top of Spark. Then, they evaluate RDDs and Spak through both microbenchmarks and measurements of user applications.


### Contributions

- The authors design and implement RDDs in a system called Spark, which provides a convenient language-integrated programming interface.
Expand Down
30 changes: 30 additions & 0 deletions Reviews/2018.04.03-Algorand.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Algorand: Scaling Byzantine Agreements for Cryptocurrencies
===

###### Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich

---

### Summary

Cryptographic currencies are becoming more and more popular. Existing cryptocurrency systems suffer from a trade-off between latency and confidence in a transaction. In current Bitcoin design, the user has to wait for an hour before a transaction gets confirmed. In this paper, the authors design and implement Algorand, a new cryptocurrency that can lower the latency to the order of a minute with a negligible probability of forking. Algorand mainly improves the consensus protocol of Bitcoin. It uses a new Byzantine Agreement protocol with Verifiable Random Functions. Apart from these, Algorand addresses three challenges using techniques like weighted users, consensus by committee, cryptographic sortition, and participant replacement. At last, the authors evaluate the performance of Algorand. The experimental results show that Algorand achieves sub-minute latency and 125x the throughput of Bitcoin. Furthermore, Algorand can scale well to 500000 users.

### Contributions

- This paper presents Algorand, a new cryptocurrency, which largely reduces the latency of transaction confirmation.
- Algorand uses a new Byzantine Agreement (BA) protocol to reach consensus among users on the next set of transactions.
- The authors also implement a prototype of Algorand and BA.
- The authors conduct practical evaluations on 1000 Amazon EC2 VMs and demonstrate the effectiveness of Algorand.

### Strengths

- Algorand has promising scalability. It uses a novel mechanism called Verifiable Random Functions (VRFs) to randomly select users in a private and non-interactive way.
- Algorand's agreement protocol allows users to reach consensus on a new block with low latency and without the possibility of forks.
- Algorand addresses three challenges: (1) Sybil attacks, (2) scalability, and (3) denial-of-service attacks.

### Weaknesses

- This paper does not cover incentive mechanism.
- The authors do not discuss forward security in this paper.
- Algorand is still challenging in terms of bootstrapping cost.
- Algorand requires lots of signatures to produce a final certificate for a block, which is a very high threshold.
Binary file added Reviews/2018.04.04-Bitcoin_Jungho_Shengtuo.pdf
Binary file not shown.

0 comments on commit 5e92094

Please sign in to comment.