RiB Newsletter #39
Welcome to the #39 edition of Rust in Blockchain, the monthly newsletter about Rust, distributed systems, cryptography, and other industry topics. Previous: #38.
Thanks
Thanks to contributors: Dan Shields, djddo, Eli Corrales, Ganzaro, Hunter Trujillo, Mayoeba Yabureru, Paul, Piotr Dziubecki, Rodairos, Brian Anderson, and Aimee Zhu. Thank you for your help!
RiB needs help to keep up with Rust blockchain projects. If you follow a particular project, or otherwise find information that is beneficial to the Rust & blockchain community, please contribute to the next issue by submitting a PR to the next draft.
Project Spotlight
Each month we like to shine a light on a notable Rust blockchain project. This month that project is…
Automerge is a popular JavaScript library for working with conflict-free replicated datatypes (CRDTs). CRDTs allow multiple parties to independently make changes to a shared data structure, while guaranteeing that those changes can all be resolved unambiguously in the future. The most commonly-understood use of CRDTs is in collaborative document editing. Automerge is network-protocol agnostic and can be used in asynchronous contexts.
automerge-rs
is a re-implementation, by the original authors, in Rust,
and is wasm-compatible.
Interesting Things
News
Blog Posts
- The noname language, a toy DSL for zkapps
- Measuring SNARK performance: Frontends, backends, and the future
- The Problem of Scalable Privacy
- Tutorial: BrainSTARK
- Decentralized Application (dApp) Blockchain Tutorials (NEAR,Solana,Substrate)
- Sin7Y Tech Review(29): Design Principles of Private Transactions in Aleo & Zcash
- The different types of ZK-EVMs
- How consensus and data availability impact decentralized scalability of blockchains
- On-chain trusted setup ceremony
Papers
- The inspection model for zero-knowledge proofs and efficient Zerocash with secp256k1 keys
- Orbis Specification Language: a type theory for zk-SNARK programming
- Orion: Zero Knowledge Proof with Linear Prover Time
- Zswap: zk-SNARK Based Non-Interactive Multi-Asset Swaps
- PESCA: A Privacy-Enhancing Smart-Contract Architecture
- Paras - A Private NFT Protocol
- Pikachu: Securing PoS Blockchains from Long-Range Attacks by Checkpointing into Bitcoin PoW using Taproot
Projects
- Open TSS. An ECDSA threshold signature algorithm implemented in Rust.
- Triton VM. A virtual machine that comes with Algebraic Execution Tables (AET) and Arithmetic Intermediate Representations (AIR) for use in combination with a STARK proof system.
- Bundle Generator. An MEV bundle generator written in Rust.
- Plonky2 & more. A SNARK implementation based on techniques from PLONK and FRI.
- Automerge RS. Rust implementation of Automerge, the conflict free replicated datatype (CRDT) system.
- Zero-Knowledge University
Security Advisories
Monthly security advisories, from RustSec, and GitHub Advisories. Bold entries here are especially relevant to blockchain projects.
- RUSTSEC-2022-0045:
oqs
- Post-Quantum Key Encapsulation Mechanism SIKE broken. - RUSTSEC-2022-0050:
interledger-packet
is unmaintained.- interledger-rs appears to be no more.
- RUSTSEC-2022-0049:
iana-time-zone
- Use after free in MacOS / iOS implementation. - RUSTSEC-2022-0053:
mapr
is unmaintained. - RUSTSEC-2022-0051:
lz4-sys
vulnerability in lz4-sys. - RUSTSEC-2022-0052:
os_socketaddr
unsoundness. - CVE-2022-36124:
apache-avro
- Apache Avro Rust SDK’s Reader could consume memory beyond allowed constraints. - CVE-2022-35724:
apache-avro
- Apache Avro Rust SDK vulnerable to reader looping in cycle endlessly, consuming CPU. - CVE-2022-36125:
apache-avro
- Apache Avro Rust SDK corrupted data read can cause crash. - GHSA-9qxh-258v-666c:
owning_ref
- multiple soundness issues.- This popular crate appears to be completely unsound and should not be used.
- GHSA-qrqq-9c63-xfrg:
tower-http
- tower-http’s improper validation of Windows paths could lead to directory traversal attack. - GHSA-2jq9-6xx7-3h29:
temporary
- uninitialized memory. - GHSA-xpp3-xrff-w6rh:
rust-rocksdb
- out-of-bounds read. - GHSA-h864-m8vm-3xvj: oqs’s Post-Quantum Signature scheme Rainbow level I parametersets broken.
- CVE-2022-36008:
frontier
- Incorrect parsing of EVM reversion exit reason in RPC. - CVE-2022-25888:
opcua
- Uncontrolled Resource Consumption in opcua. - CVE-2022-25903:
opcua
- opcua Vulnerable to Out-of-bounds Write.
Most Active in August
Aptos: 888 merged PRs, 174 closed issues, 90 open issues
Solana: 502 merged PRs, 86 closed issues, 91 open issues
Sui: 452 merged PRs, 211 closed issues, 204 open issues
Parity: 439 merged PRs, 209 closed issues, 135 open issues
Fuel: 253 merged PRs, 193 closed issues, 139 open issues
Project Updates
Aleo
111 merged PRs (1, 2, 3, 4), 28 closed issues (1, 2, 3, 4), 25 open issues (1, 2, 3, 4)
Anoma
1 merged PRs (1), 0 closed issues, 0 open issues
Aptos
888 merged PRs (1), 174 closed issues (1), 90 open issues (1)
Casper
50 merged PRs (1, 2), 64 closed issues (1, 2), 41 open issues (1, 2)
ChainSafe
61 merged PRs (1, 2), 52 closed issues (1, 2), 16 open issues (1)
COMIT
9 merged PRs (1, 2), 13 closed issues (1), 3 open issues (1, 2)
Concordium
69 merged PRs (1, 2, 3, 4, 5, 6, 7, 8), 36 closed issues (1, 2, 3, 4, 5, 6), 13 open issues (1, 2)
Conflux
3 merged PRs (1), 0 closed issues, 0 open issues
DarkFi
2 merged PRs (1), 4 closed issues (1), 2 open issues (1)
Dfinity
144 merged PRs (1, 2, 3, 4, 5, 6, 7, 8), 18 closed issues (1, 2, 3, 4, 5), 17 open issues (1, 2, 3, 4)
- BTC<>ICP Integration Beta Release: The Bitcoin Testnet API Is Now Available
- IC Internals: The XNet Protocol for Subnets
Dusk Network
14 merged PRs (1, 2, 3), 10 closed issues (1, 2), 10 open issues (1, 2)
Elrond
15 merged PRs (1, 2, 3), 1 closed issues (1), 2 open issues (1)
Espresso Systems
28 merged PRs (1, 2, 3, 4, 5), 20 closed issues (1, 2, 3, 4), 12 open issues (1, 2, 3, 4)
Filecoin
97 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), 54 closed issues (1, 2, 3, 4, 5), 39 open issues (1, 2, 3, 4, 5)
Findora
87 merged PRs (1, 2, 3, 4, 5), 8 closed issues (1), 0 open issues
Fluence
32 merged PRs (1, 2, 3, 4, 5, 6), 2 closed issues (1), 3 open issues (1, 2, 3)
Fuel
253 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 193 closed issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), 139 open issues (1, 2, 3, 4, 5, 6, 7, 8, 9)
Golem
27 merged PRs (1, 2, 3, 4), 47 closed issues (1), 21 open issues (1, 2, 3, 4)
Grin
1 merged PRs (1), 0 closed issues, 1 open issues (1)
Helium
12 merged PRs (1, 2, 3, 4, 5), 16 closed issues (1, 2), 5 open issues (1, 2)
Holochain
31 merged PRs (1, 2, 3), 7 closed issues (1, 2), 2 open issues (1, 2)
IOTA
142 merged PRs (1, 2, 3, 4, 5, 6, 7), 39 closed issues (1, 2, 3, 4, 5), 19 open issues (1, 2, 3, 4, 5, 6)
Maidsafe
96 merged PRs (1, 2, 3, 4), 1 closed issues (1), 5 open issues (1, 2)
MobileCoin
34 merged PRs (1, 2), 7 closed issues (1), 22 open issues (1)
NEAR
216 merged PRs (1, 2, 3, 4, 5, 6, 7, 8), 51 closed issues (1, 2, 3, 4, 5), 30 open issues (1, 2, 3, 4, 5, 6)
Nervos
67 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9), 7 closed issues (1, 2, 3, 4, 5), 5 open issues (1, 2, 3)
Oasis
14 merged PRs (1, 2), 1 closed issues (1), 0 open issues
Parity
439 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), 209 closed issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), 135 open issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
Radix
76 merged PRs (1, 2, 3), 3 closed issues (1), 2 open issues (1)
Secret Network
44 merged PRs (1, 2), 41 closed issues (1), 4 open issues (1, 2)
- Beyond ZK: The Definitive Guide to Web3 Privacy (Part 1)
- Secret Deep Dive: Unlocking Web3 Streaming with Secret NFTs
Solana
502 merged PRs (1, 2, 3), 86 closed issues (1, 2), 91 open issues (1, 2, 3)
- Monthly Community Update | August 2022
- Validator Health Report: August 2022
- 8/2/2022 Slope Wallet Incident Update
Subspace Labs
46 merged PRs (1), 16 closed issues (1), 3 open issues (1)
Sui
452 merged PRs (1, 2), 211 closed issues (1, 2), 204 open issues (1, 2)
Zcash
62 merged PRs (1, 2, 3, 4), 66 closed issues (1, 2, 3), 30 open issues (1, 2, 3, 4, 5)
Rust in Bitcoin
Lots of activity in BDK and LDK this week. Be sure to scroll down to their respective sections for links to details on the new developments. LNP/BP also did a number of talks recently, but no recordings have been published yet. Also, rust-bitcoin 0.29 was released, with BIP-152 support, and it’s now using Rust 2018 and enables clippy support in CI, which will make it easier to make contributions in the future.
For discussion join the Rust in Bitcoin Telegram group.
BDK
45 merged PRs (1, 2, 3, 4, 5), 19 closed issues (1, 2, 3, 4), 25 open issues (1, 2, 3, 4)
- BDK 0.21 is out
- Summer of Bitcoin - Improving coin selection in BDK
- Verify signatures after creating them (BIP 340)
- Separate balances by pending / maturity
- Specify Taproot spend paths
- Add method to override dust limit
- Add hardware wallet support
Bitmask
4 merged PRs (1), 0 closed issues, 0 open issues
Electrs
3 merged PRs (1), 2 closed issues (1), 4 open issues (1)
Internet2
0 merged PRs, 0 closed issues, 1 open issues (1)
LDK
29 merged PRs (1, 2, 3), 8 closed issues (1, 2), 16 open issues (1, 2)
LNP/BP
0 merged PRs, 0 closed issues, 1 open issues (1)
LNP WG
0 merged PRs, 1 closed issues (1), 0 open issues
Nakamoto
3 merged PRs (1), 0 closed issues, 1 open issues (1)
Nomic
9 merged PRs (1, 2), 2 closed issues (1, 2), 3 open issues (1, 2)
RGB
2 merged PRs (1, 2), 0 closed issues, 2 open issues (1, 2)
Rust Bitcoin
34 merged PRs (1, 2, 3, 4, 5), 15 closed issues (1, 2, 3, 4), 29 open issues (1, 2, 3, 4, 5)
Rust Simplicity
4 merged PRs (1), 0 closed issues, 0 open issues
Sapio
1 merged PRs (1), 0 closed issues, 0 open issues
Talaia
12 merged PRs (1), 10 closed issues (1), 7 open issues (1)
If we’ve missed any other notable Rust Bitcoin projects or ecosystems, feel free to contribute!
Rust in Ethereum
Ethers-rs
74 merged PRs (1), 13 closed issues (1), 2 open issues (1)
Foundry
243 merged PRs (1), 243 closed issues (1), 72 open issues (1)
Lighthouse
4 merged PRs (1, 2), 26 closed issues (1), 37 open issues (1)
Rust Ethereum
3 merged PRs (1, 2), 0 closed issues, 0 open issues
Rust Web3
0 merged PRs, 0 closed issues, 1 open issues (1)
zkSync
10 merged PRs (1), 2 closed issues (1), 2 open issues (1)
- Project Registration Is Now Open for zkSync 2.0 Mainnet Alpha
- zkSync 2.0 Update: Dynamic Fees Milestone Completed
- The Ethereum Merge: How It Affects zkSync
If we’ve missed any other notable Rust Ethereum projects or ecosystems, feel free to contribute!
Events
Sep 2-28 | Online
Sep 12-14 | Radialsystem, Berlin
Developer Conference for Ethereum Infrastructure and Dapps
Sep 11-14 | Lisbon, Portugal
Sep 15 | Berlin, Germany
Sep 18-21 | Leuven, Belgium
Sep 28-29 | Online, NYC, US
Sep 30 - Oct 2 | Berlin, Germany
Oct 7-16 | Bogota, Colombia
Oct 28-30 | Lisbon, Portugal
Nov 3 | San Francisco, USA
Ethereum hackathon: ETH San Francisco 2022
Nov 7-10 | Chicago, USA
Nov 10-11 | Dubai, United Arab Emirates
ICSCB 2022: 16. International Conference on Smart Contracts and Blockchain
Nov 14-17 | Istanbul, Turkey
Careers
Stellar Development Foundation | USA / CAN / Remote
More jobs can be found at Job Board.
Want to be included in the next issue? Feel free to submit a PR to the next draft.
Join the discussion on RiB telegram group ❤️