RiB Newsletter #41
Welcome to the #41 edition of Rust in Blockchain, the monthly newsletter about Rust, distributed systems, cryptography, and other industry topics. Previous: #40.
Thanks
Thanks to contributors: djddo, Hunter Trujillo, maxim, 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…
tlock-rs and zk-timelock.
These projects, both by the same author, implement timelock encryption, by which data can be encrypted and then only decrypted after a certain moment. It relies on the drand randomness beacon.
Interesting Things
Blog Posts
- Blockchain Consensus Mechanisms Compared. Just an easy to understand basic overview.
- Creating wasm-opt Rust bindings with cxx
- Introducing Noir: The Universal Language of Zero-Knowledge. We have spotlighted this project previously.
- Polygon zkEVM Architecture
- MEV Resistance on a DAG. A good explanation of the new generation of high-throughput DAG-based consensus protocols like Narwhal / Tusk. This one introduces Fino.
- Secure Randomness: From Zero to Verifiable Delay Functions, Part 1
- Public Randomness and Randomness Beacons
- Explained: The BNB Chain Hack (October 2022)
- Security Analysis of Avalanche Consensus
- Beyond IBC
- Major New Cryptowatch Desktop Trading Release using fast Rust-native GUI Framework
Papers
- Hyperproofs: Aggregating and Maintaining Proofs in Vector Commitments
- Flexible Anonymous Transactions (FLAX): Towards Privacy-Preserving and Composable Decentralized Finance
- The DAG KNIGHT Protocol: A Parameterless Generalization of Nakamoto Consensus
- Byzantine Consensus under Fully Fluctuating Participation
- Transparent Batchable Time-lock Puzzles and Applications to Byzantine Consensus
- Secure Distributed Key Generation for Discrete-Log Based Cryptosystems
- BG: A Modular Treatment of BFT Consensus
- FairPoS: Input Fairness in Proof-of-Stake with Adaptive Security
- Eagle: Efficient Privacy Preserving Smart Contracts
- An efficient verifiable state for zk-EVM and beyond from the Anemoi hash function
- Report: Validity Rollups on Bitcoin
Projects
- Cartesi Rollups. It contains the on-chain and off-chain pieces that are used to deploy, launch and interact with Cartesi Rollups DApps.
- zkcreds-rs. A cryptographic library for designing anonymous credential systems in a flexible, issuer-agnostic, and efficient manner using general-purpose zero-knowledge proofs.
- zk-timelock. Arkworks circuits for verifiable time-lock encryption.
- rs-tlock. Pure Rust implementation of drand/tlock scheme. It provides time-based encryption and decryption capabilities by relying on a drand threshold network and identity-based encryption (IBE).
- fastcrypto. MystenLabs’ crypto library.
Security Advisories
Monthly security advisories, from RustSec, and GitHub Advisories. Bold entries here are especially relevant to blockchain projects.
- RUSTSEC-2022-0058:
inconceivable
- Security notice. - RUSTSEC-2022-0059:
openssl-src
- Vulnerability. Related to custom ciphers. - RUSTSEC-2022-0060:
orbtk
- Unmaintained. - RUSTSEC-2022-0061:
parity-wasm
- Unmaintained. Parity is switching towasm-tools
. - RUSTSEC-2022-0062:
matrix-sdk
- Vulnerability. - RUSTSEC-2022-0063:
linked_list_allocator
- Vulnerability. - RUSTSEC-2022-0064:
openssl-src
- Vulnerability. Buffer overflow from email parsing during authentication. - RUSTSEC-2022-0065:
openssl-src
- Vulnerability. Buffer overflow during certificate verification - RUSTSEC-2022-0066:
conduit-hyper
- Vulnerability. - CVE-2021-21235:
kamadak-exif
vulnerable to Infinite loop when parsing PNG files. - CVE-2022-3929:
slack-morphism
- Exposure of sensitive Slack webhook URLs in debug logs and traces. - CVE-2022-39354:
evm
- Incorrect is_static parameter for custom stateful precompiles in SputnikVM.
Most Active in October
Sui: 433 merged PRs, 193 closed issues, 119 open issues
Parity: 423 merged PRs, 256 closed issues, 118 open issues
Solana: 423 merged PRs, 86 closed issues, 73 open issues
Aptos: 381 merged PRs, 52 closed issues, 93 open issues
Fuel: 316 merged PRs, 236 closed issues, 143 open issues
Project Updates
Aleo
74 merged PRs (1, 2, 3, 4), 26 closed issues (1, 2, 3, 4), 21 open issues (1, 2, 3, 4)
Anoma
130 merged PRs (1, 2, 3), 50 closed issues (1, 2, 3), 42 open issues (1, 2, 3)
Aptos
381 merged PRs (1), 52 closed issues (1), 93 open issues (1)
Casper
15 merged PRs (1, 2), 31 closed issues (1, 2), 15 open issues (1, 2)
COMIT
6 merged PRs (1, 2), 1 closed issues (1), 4 open issues (1)
Concordium
70 merged PRs (1, 2, 3, 4, 5, 6), 36 closed issues (1, 2, 3, 4), 12 open issues (1, 2, 3, 4)
Conflux
7 merged PRs (1), 0 closed issues, 1 open issues (1)
DarkFi
8 merged PRs (1), 11 closed issues (1), 0 open issues
Dfinity
64 merged PRs (1, 2, 3, 4, 5, 6), 105 closed issues (1, 2, 3), 5 open issues (1, 2, 3, 4)
Dusk Network
15 merged PRs (1, 2, 3, 4, 5, 6), 7 closed issues (1, 2, 3), 12 open issues (1, 2, 3)
Elrond
69 merged PRs (1, 2, 3), 2 closed issues (1), 1 open issues (1)
Espresso Systems
18 merged PRs (1, 2, 3, 4, 5), 6 closed issues (1, 2), 6 open issues (1, 2, 3)
Filecoin
195 merged PRs (1, 2, 3, 4, 5, 6, 7), 107 closed issues (1, 2, 3), 98 open issues (1, 2, 3, 4)
Findora
98 merged PRs (1, 2, 3, 4, 5), 6 closed issues (1), 0 open issues
Fluence
67 merged PRs (1, 2, 3, 4, 5, 6), 4 closed issues (1), 0 open issues
Fuel
316 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), 236 closed issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), 143 open issues (1, 2, 3, 4, 5, 6, 7, 8)
Golem
26 merged PRs (1, 2, 3, 4, 5), 37 closed issues (1, 2, 3, 4, 5), 18 open issues (1, 2, 3)
Grin
4 merged PRs (1), 0 closed issues, 0 open issues
Helium
23 merged PRs (1, 2, 3, 4), 2 closed issues (1), 3 open issues (1, 2)
Holochain
31 merged PRs (1, 2, 3, 4), 8 closed issues (1, 2), 8 open issues (1, 2)
IOTA
102 merged PRs (1, 2, 3, 4, 5, 6, 7), 38 closed issues (1, 2, 3, 4, 5, 6), 20 open issues (1, 2, 3, 4)
Maidsafe
54 merged PRs (1, 2, 3), 1 closed issues (1), 7 open issues (1, 2, 3, 4)
MobileCoin
68 merged PRs (1, 2), 15 closed issues (1), 20 open issues (1)
NEAR
203 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9), 42 closed issues (1, 2, 3, 4, 5, 6, 7), 59 open issues (1, 2, 3, 4, 5)
Nervos
69 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9), 8 closed issues (1, 2, 3, 4, 5), 19 open issues (1, 2, 3, 4, 5)
Oasis
12 merged PRs (1), 2 closed issues (1), 2 open issues (1)
Parity
423 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), 256 closed issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), 118 open issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
Radix
77 merged PRs (1, 2, 3), 1 closed issues (1), 4 open issues (1, 2)
Secret Network
23 merged PRs (1, 2), 1 closed issues (1), 2 open issues (1, 2)
Solana
423 merged PRs (1, 2), 86 closed issues (1, 2), 73 open issues (1, 2, 3)
- Porting the Solana eBPF JIT compiler to ARM64
- Stake², or How To Cheat The Staking Mechanism - Exploring Solana Core Part 2
Subspace Labs
30 merged PRs (1), 14 closed issues (1), 8 open issues (1)
Sui
433 merged PRs (1, 2), 193 closed issues (1, 2), 119 open issues (1)
Zcash
104 merged PRs (1, 2, 3, 4, 5), 61 closed issues (1, 2, 3, 4), 35 open issues (1, 2, 3, 4)
Rust in Bitcoin
It’s been a crazy month in the Bitcoin space. In light of the mayhem
happening on LND, it bears mentioning there are two Rust Lightning
implementations, LNP and LDK, activity on both listed below. In
lighter news, Iris wallet,
an Android Bitcoin wallet that supports RGB tokens was released, and it makes use
of rgb-lib, behind Kotlin
language bindings using rust-ffi
. LDK released 0.0.112, a largely
incremental release to meet expanding use-cases as the project
matures. BDK 0.23 was released shortly after last newsletter, and
they’re now gearing up for a 0.24 release containing support for
rust-bitcoin 0.29, as mentioned in RiB
#39. The
Fedimint team is working hard on new features, including an
experimental web interface,
and a 2nd-generation key generation system based on discrete-log
cryptography, which should be more secure. Finally, bitmask-core 0.4
was published, with support for Taproot P2TR addresses, and also
LNDHub support.
For discussion join the Rust in Bitcoin Telegram group.
BDK
22 merged PRs (1, 2, 3, 4), 14 closed issues (1, 2, 3, 4), 11 open issues (1, 2, 3, 4)
BitMask
7 merged PRs (1), 2 closed issues (1), 6 open issues (1)
Fedimint
77 merged PRs (1), 11 closed issues (1), 25 open issues (1)
Fedimint is a Bitcoin banking protocol. Highlights from the last month include:
- Distributed key generation so federation setup has no single point of failure
- Modularization so that developers don’t have to fork the repo to modify functionality
- Proper database transactions
- Improved connection to Lighting Network
- Deriving our anonymous IOUs from a cryptographic seed to enable safer recovery schemes
Electrs
5 merged PRs (1), 1 closed issues (1), 0 open issues
LDK
42 merged PRs (1, 2, 3), 10 closed issues (1, 2), 20 open issues (1, 2)
LNP/BP
9 merged PRs (1, 2, 3), 5 closed issues (1, 2, 3, 4), 2 open issues (1, 2)
LNP WG
1 merged PRs (1), 0 closed issues, 0 open issues
Nakamoto
15 merged PRs (1), 6 closed issues (1), 5 open issues (1)
Nomic
3 merged PRs (1), 1 closed issues (1), 0 open issues
RGB
2 merged PRs (1, 2), 0 closed issues, 1 open issues (1)
Rust Bitcoin
35 merged PRs (1, 2, 3, 4), 21 closed issues (1, 2, 3, 4), 20 open issues (1, 2, 3, 4, 5)
Rust Simplicity
2 merged PRs (1), 0 closed issues, 1 open issues (1)
Sapio
9 merged PRs (1), 5 closed issues (1), 24 open issues (1)
Talaia
0 merged PRs, 0 closed issues, 4 open issues (1)
If we’ve missed any other notable Rust Bitcoin projects or ecosystems, feel free to contribute!
Rust in Ethereum
Ethers-rs
19 merged PRs (1), 12 closed issues (1), 7 open issues (1)
Foundry
60 merged PRs (1), 34 closed issues (1), 58 open issues (1)
Lighthouse
9 merged PRs (1, 2), 16 closed issues (1), 18 open issues (1)
Rust Ethereum
1 merged PRs (1), 0 closed issues, 1 open issues (1)
zkSync
6 merged PRs (1), 3 closed issues (1), 1 open issues (1)
If we’ve missed any other notable Rust Ethereum projects or ecosystems, feel free to contribute!
Events
Nov 3 | San Francisco, USA
Ethereum hackathon: ETH San Francisco 2022
Nov 3 | San Francisco, USA
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
Blockstream | 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 ❤️