RiB Learning Hub
This is a work-in-progress hub that collects resources for learning Rust and blockchain. Most of the current content came from previous RiB Newsletters.
Contribute learning materials through the GitHub page is preferred, or comment on this page below.
Intro and Tutorials
- What’s It Good For?.
- Why Blockchain is Hard
- What Is Web3?
- What Is Web 3.0 & Why It Matters
- The Rise of Rust and Blockchain
- A blockchain dilemma: chain forks, catastrophic re-orgs, and insurance
- ‘One Network, Many Chains’ – The Case for Blockchain Interoperability
- Onboarding to Bitcoin Core
- Programs, life cycles, and laws of software evolution
- Open Source: From Community to Commercialization
- Progressive Decentralization: A Playbook for Building Crypto Applications
- First impressions of NEAR smart contract development in Rust
- First impressions of Rust smart contracts with Substrate and Ink: part 1, part 2, part 3
- First impressions of programming on DFINITY
- First impressions of Rust programming on Solana
Programming and Use Cases
- Rusty Chains: A Basic Blockchain Implementation Written in Pure Rust
- Rust Blockchain Tutorial: What is Rust and Why is it Important?
- Write your Own Virtual Machine
- Write your Own Proof-of-Work Blockchain
- What is a Cryptographic Hash Function?
- A Gentle Introduction to Zero Knowledge Proofs with Hands on Examples.
- zkSNARKS and Cryptographic Accumulators
- Build A Decentralized Chat Using JavaScript & Rust (WebAssembly)
- Coding a P2P blockchain in Rust: Part 1
- Hunting down a non-determinism-bug in our Rust Wasm build
- My first smart contract in Rust on Elrond VM
- Build Your Own Blockchain with Substrate and Rust
- Substrate Blockchains and Runtime Modules: An Introduction
- Exploring an essential data structure in CKB — the transaction
- Blockchain-flavored WASI
- Lessons Learned from Bitcoin’s and Ethereum’s Programming Models
- Lessons Learned from Teaching Over 500 Developers or: Why You Should Level Up
- Libra and Exonum: A Comparison of Rust-Based Blockchain Solutions
- An OS prototype where binaries are WASM, run in ring 0
- Token Engineering Learning Program
- Rust after the honeymoon
- Further adventures with Substrate and Ink
- Decentralized Application (dApp) Blockchain Tutorials (NEAR,Solana,Substrate)
Reports and Papers
- Bulletproofs+. A new paper with improvements to bulletproofs.
- Foundations of Distributed Consensus and Blockchains. A complete book on distributed consensus, written by an expert.
- Lunar: a Toolbox for More Efficient Universal and Updatable zkSNARKs and Commit-and-Prove Extensions
- Mimblewimble Non-Interactive Transaction Scheme
- Scalable and Probabilistic Leaderless BFT Consensus through Metastability
- A Formally Verified Protocol for Log Replication with Byzantine Fault Tolerance
- NC-Max: Breaking the Throughput Limit of Nakamoto Consensus
- Bitcoin–Monero Cross-chain Atomic Swap
- Incentives in Blockchain Design and Applications
- Blockchain as a Confidence Machine: The Problem of Trusts & Challenges of Governance
- A General Framework for the Security Analysis of Blockchain Protocols
- The Velvet Path to Superlight Blockchain Clients
- PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge. The new zkSNARK construction that will be employed in future revisions of Zcash.
- Consensus Redux: Distributed Ledgers in the Face of Adversarial Supremacy
- Polynomial IOPs for Linear Algebra Relations
- RANDCHAIN: Decentralised Randomness Beacon from Sequential Proof-of-Work
- Demystifying the Role of zk-SNARKs in Zcash
- Performance Trade-offs in Design of MimbleWimble Proofs of Reserves
- The Blockchain Jobs Report, 2019
- Analyzing Developers in Cryptocurrency Projects
- From Weakly-terminating Binary Agreement and Reliable Broadcast to Atomic Broadcast. From Casper, we present Zug protocol, a novel and simple solution to Atomic Broadcast (AB).
Videos and Podcasts
- Introduction to zkSync
- WebAssembly Migration with Nicolo Davis and its script
- ZKPodcast: Aleo with Howard Wu
- Hashing It Out #87-Informal Systems Ethan Buchman
- Trail of Bits (Dan Guido) – The Evolution of Smart Contract Security
- Understanding Blockchain Programming Languages in 7 Minutes.
- Blockchain in Rust series
- Rust-Bitcoin, Threats to Bitcoin & Bitcoin Data Science
- RISC-V based CKB VM: Validation Model
- RISC-V based CKB VM: Script Basics
- Wasm for Blockchain 2019
- Pierre Krieger from Parity discuss Libp2p library with Maksym Zavershynskyi from Near
- Decentralized App Development
- Cell Model - A programming model that generalizes Bitcoin’s UTXO model
- In Rust We Trust Meetup 17th July, San Francisco
- Data Security and the Rise of Crypto
Developer Stories
- People of Parity: Bastian Köcher
- People of Parity: Wei Tang Wei is the author of EIP-1283, he wrote SputnikVM, an EVM implementation in Rust. Wei shares his programming experience from working in Parity.
- Rust Creator Graydon Hoare Talks About Security, History, and Rust
Discussions and Thoughts
- Reddit discussion on Rust & Blockchain
- How far behind rust-libp2p is compared to go-libp2p and js-libp2p
- Thread: the value proposition of crypto assets This thread is my attempt to explain the value proposition of crypto assets (“crypto”) like bitcoin ($BTC) and ethereum ($ETH) to newcomers like you.
- Is Rust My Best Option?
- Discussions on Facebook just picked Rust to implement their new Libre blockchain.