# The Science of Blockchains

I’m starting my blog with a blog series to celebrate the 12th anniversary of the Bitcoin white paper. 🎂

I’ll introduce an extensive technical foundation to comprehend Bitcoin, Ethereum, and the future of blockchains.

The series is based on selected fundamental papers.

## Why I Start This Series?

I like to have a comprehension of the primary sources when learning about a subject.

When I’ve been teaching at @BlockchainOkulu, I structured my lessons around primary sources such as the Bitcoin white paper and the Ethereum yellow paper.

This way, my students learned not only what I know, but also what’s the source of the knowledge. Now that they’re graduated, they know where to look for when they have questions.

Even though the course was four weeks long for each batch I could not answer some excellent questions in detail. Instead, I had to resort to black boxes.

How do digital signatures work? A black box.

What about ZK-STARKs? Another black box.

Black boxes help to teach a subject. Not so much for understanding in detail.

To understand Bitcoin, Ethereum, and more on a deeper level, one should know the pillars they are built on.

You understand the strength of the Bitcoin network when you know how does SHA-256 work.

You understand how your contracts run once you know the inner-working of the EVM.

You understand the security of the protocols you invest in when you, well, know a lot.

Thus, as you understand these subjects, you will realize how important blockchain really is. You will probably want to contribute to these exciting projects.

The more you will know, the more you will be able to participate in the governance of blockchains.

What should be the block size?

What’re your opinions on various layer 2 protocols?

How can you help us approaching the open questions on scalability?

All you need to do is to join the conversations, as long as you know about the subject in depth.

I recently realized that the most technical issues are getting the least participation.

Then, I decided to create this blog series with the goal of having new voices on the future of blockchain governances.

New voices that understand the contemporary issues very well.

This is one of the best things I can do for crypto.

## Intended Audience

The series will demand the reader to be comfortable with computer science papers. In fact, the content will be the papers.

My job is to curate the papers, explain their contexts in the blockchain space, and clarify them with my reading notes.

Ultimately, the series will offer a fundamental understanding of blockchain technologies to eager readers, be it economics students or CS professors.

## The Papers

I’m proud to present you 67 primary sources on the science of blockchains. Wish me plenty of free time for covering some of them in this blog series!

### Cryptography

**Fundementals**
- Bloom, B. 1970. Space/Time Trade-offs in Hash Coding with Allowable Errors. 📃

Rivest R. L., Shamir A., Adleman L. 1978. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. 📃

Merkle, R. C. 1980. Protocols for public key cryptosystems. IEEE Symposium on Security and Privacy. 📃

Penard W., van Werkhoven, T. 2001. On the Secure Hash Algorithm family. 📃

**Elliptic-curve Cryptography**
- Koblitz, N. 1987. Elliptic curve cryptosystems. 📃

Miller, V. 1985. Use of elliptic curves in cryptography. 📃

Boneh, D., Lynn, B., Shacham, H. 2004. Short signatures from the Weil pairing. 📃

ANSI. 2005. Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA). 📃

Bernstein D. J. 2006. Curve25519: new Diffie-Hellman speed records. 📃

Brown D. R. L. 2010. SEC 2: Recommended Elliptic Curve Domain Parameters. 📃

Kate, A. et al. 2010. Constant-Size Commitments to Polynomials and Their Applications. 📃

Wang D. 2014. Secure Implementation of ECDSA Signatures in Bitcoin. 📃

Schnorr, C. 1990. Efficient identification and signatures for smart cards. 📃

**Quantum Cryptography**
- Shor, P. W. 1996. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 📃

- Aggarwal, D. et al. 2017. Quantum attacks on Bitcoin, and how to protect against them. 📃

**Zero Knowledge**
- Goldreich O. 1991. Proofs that Yield Nothing But Their Validity All Languages in NP Have Zero-Knowledge Proof Systems. 📃

Reitwiessner, C. 2016. zkSNARKs in a Nutshell. 📃

Bunz, B. et al. 2017. Bulletproofs: Short Proofs for Confidential Transactions and More. 📃

Ben-Sasson, E. et al. 2018. Scalable, transparent, and post-quantum secure computational integrity. 📃

Gabizon, A. et al. 2020. PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge. 📃

### Distributed Computing and Consensus

Schneider F. B. 1990. Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. 📃

Lamport, L., et al. 1982. The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems 4(3): 382-401. 📃

Castro, M., Liskov, B. 1999. Practical Byzantine fault tolerance. Proceedings of the Third Symposium on Operating Systems Design and Implementation. 📃

Lamport, L. 2001. Paxos made simple. 📃

Szabo, N. 2003. Advances in Distributed Security. 📃

Aspnes, J., et al. 2005. Exposing computationally challenged Byzantine imposters. Yale University Department of Computer Science. 📃

Stutzbach, D., Rejaie, R. 2006. Understanding Churn in Peer-to-Peer Networks; 📃

Berman, P., Juan A. 1993. Cloture Votes: n/4-resilient Distributed Consensus in t + 1 rounds. 📃

### Timestamping

Haber, S., Stornetta, W. S. 1997. Secure names for bit-strings. 📃

Massias, H., Avila X. S., Quisquater, J.-J. 1999. Design of a secure timestamping service with minimal trust requirements. 📃

Just, M. 1998. Some timestamping protocol failures. 📃

Bonnecaze, A. et al. 2002. Improving Time Stamping Schemes: A Distributed Point of View. 📃

### Digital Money

Chaum, D., et al. 1988. Untraceable electronic cash. Advances in Cryptology: 319-327. 📃

Dai, W. 1998. 📃

Szabo, N. 2008. Bit gold. 📃

### Proof of Work

Back, A. 2002. Hashcash—a denial of service counter measure. 📃

Douceur, J. R. 2002. The Sybil attack. 📃

Szabo, N. 1999. Intrapolynomial Cryptography. 📃

### Bitcoin

Nakamoto, S. 2008. Bitcoin: a peer-to-peer electronic cash system. 📃

Wuille, P. 2012. BIP 32: Hierarchical Deterministic Wallets. 📃

Rosenfeld M. 2012. Overview of Colored Coins. 📃

Biryukov, A. et al. 2014 Deanonymisation of clients in Bitcoin P2P network. 📃

Poon, J., Dryja, T. 2016. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments. 📃

Pass, R., et al. 2017. Analysis of the blockchain protocol in asynchronous networks. 📃

### Smart Contracts

Turing, A. M. 1937. On Computable Numbers, with an Application to the Entscheidungsproblem. 📃

Szabo, N. 1994. Smart contracts. 📃

Bhargavan, K. et al. 2016. Short Paper: Formal Verification of Smart Contracts. 📃

### Proof of Stake

Poelstra, A. 2015. On Stake and Consensus. 📃

Bentov, I. 2017. Cryptocurrencies without Proof of Work. 📃

### Ethereum

Sompolinsky, Y., Zohar, A. 2013. Secure High-Rate Transaction Processing in Bitcoin. 📃

Eth Wiki. Modified Merkle Patricia Trie Specification. 📃

Buterin, V. 2013. Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform. 📃

Dameron, M. 2019. Beigepaper: An Ethereum Technical Specification. 📃

Wood, G. 2020. Ethereum: A Secure Decentralised Generalised Transaction Ledger. 📃

Solidity Documentation. 📃

### Scaling

Croman, K. et al. 2016. On Scaling Decentralized Blockchains. 📃

Kalonde, H. et al. 2018. Arbitrum: Scalable, private smart contracts. 📃

Dang H. et al. 2019. Towards Scaling Blockchain Systems via Sharding. 📃

Buterin, V. Serenity Design Rationale. 📃

Buterin, V. et al. 2020. Combining GHOST and Casper. 📃

Adler, J., Quintyne-Collins, M. 2020. Building Scalable Decentralized Payment Systems. 📃

### Other Blockchains

Namecoin. 2011. Merged mining. 📃

Van Saberhagen, N. 2013. CryptoNote v 2.0 (Annotated by the Monero Team). 📃

Ben-Sasson, E. et al. 2014. Zerocash: Decentralized Anonymous Payments from Bitcoin. 📃

Poelstra, A. 2016. Mimblewimble. 📃

Team Rocket et al. 2019. Scalable and Probabilistic Leaderless BFT Consensus through Metastability. 📃

Bonneau, J. et al. 2020. Mina: Decentralized Cryptocurrency at Scale. 📃

## Priority Requests!

Let me know which papers would you like to read first in Twitter. Please reply to this thread:

1/14

— Han Tuzun (tuzun.eth & tuzun.lens) ◉ (@0xTuzun) November 1, 2020

🔭 𝗧𝗵𝗲 𝗦𝗰𝗶𝗲𝗻𝗰𝗲 𝗼𝗳 𝗕𝗹𝗼𝗰𝗸𝗰𝗵𝗮𝗶𝗻𝘀

I'm starting my blog with a blog series to celebrate the 12th anniversary of the Bitcoin white paper. 🎂https://t.co/Bsc5R0FDqX