RiB Newsletter #36
Welcome to the #36 edition of Rust in Blockchain, the monthly newsletter about Rust, distributed systems, cryptography, and other industry topics. Previous: #35.
There are quite a few security advisories this month that might impact blockchain projects. If you are using OpenSSL, crossbeam, or hyper you should see if you need to upgrade.
Thanks
Thanks to contributors: Aadz, Camila Hanada, Dan Shields, Hunter Trujillo, John Adler, keymakercasa, Piotr Dziubecki, thewinfred, 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…
This project lists the authors, as registered with crates.io, of every crate in your dependency graph.
Interesting Things
Blog Posts
- Sin7Y Tech Review (23): Verkle Tree For ETH
- Security advisory: malicious crate rustdecimal
- Blockchain Scalability: Execution, Storage, and Consensus
- Tor implements congestion control, improving bandwidth
- Serious Security Vulnerability in Tor Browser
- Arti 0.3.0 is released: Robustness and API improvements
- Bitcoin Script is Turing-complete (in a way)
Papers
- Pre-print of Casper’s new consensus solution
- Marlin: Two-Phase BFT with Linearity
- Distributed Shuffling in Adversarial Environments
- ROAST: Robust Asynchronous Schnorr Threshold Signatures
- Two-Round Threshold Schnorr Signatures with FROST
- Ponyta: Foundations of Side-Contract-Resilient Fair Exchange
- TenderTee: Secure Tendermint
- Distributed Blockchain Price Oracle
- The Generals’ Scuttlebutt: Byzantine-Resilient Gossip Protocols
- RSK: A Bitcoin sidechain with stateful smart-contracts
- He-HTLC: Revisiting Incentives in HTLC
Projects
- sta-rs. Rust workspace for implementing basic functionality of STAR: Distributed Secret-Sharing for Threshold Aggregation Reporting.
- dmix2 - A Decentralized Bitcoin Mixer, written in Rust
Security Advisories
Monthly security advisories, from RustSec, and GitHub Advisories. Bold entries here are especially relevant to blockchain projects.
- RUSTSEC-2022-0027: Vulnerability in openssl-src.
OCSP_basic_verify
may incorrectly verify the response signing certificate
- RUSTSEC-2022-0026: Vulnerability in openssl-src.
- Incorrect MAC key used in the RC4-MD5 ciphersuite
- RUSTSEC-2022-0025: Vulnerability in openssl-src.
- Resource leakage when decoding certificates and keys
- RUSTSEC-2022-0018: Vulnerability in totp-rs.
- Timing attack.
- RUSTSEC-2022-0019: Unsoundness in crossbeam-channel.
- Channel creates zero value of any type
- RUSTSEC-2022-0020: Unsoundness in crossbeam.
SegQueue
creates zero value of any type
- RUSTSEC-2022-0021: Unsoundness in crossbeam-queue.
SegQueue
creates zero value of any type
- RUSTSEC-2022-0022: Unsoundness in hyper.
- Parser creates invalid uninitialized value
- RUSTSEC-2022-0028: Vulnerability in neon.
- Use after free in Neon external buffers
- CVE-2022-23066: Incorrect Calculation in solana_rbpf.
- CVE-2022-31264: Integer overflow in solana_rbpf.
Most Active in May
Parity: 605 merged PRs, 180 closed issues, 167 open issues
Solana: 559 merged PRs, 110 closed issues, 114 open issues
Sui: 489 merged PRs, 146 closed issues, 169 open issues
Fuel: 352 merged PRs, 195 closed issues, 145 open issues
Aptos: 307 merged PRs, 48 closed issues, 64 open issues
Project Updates
Aleo
118 merged PRs (1, 2, 3), 27 closed issues (1, 2, 3), 28 open issues (1, 2, 3)
Anoma
11 merged PRs (1), 13 closed issues (1, 2), 22 open issues (1)
Aptos
307 merged PRs (1), 48 closed issues (1), 64 open issues (1)
Casper
96 merged PRs (1, 2), 91 closed issues (1, 2), 108 open issues (1, 2)
ChainSafe
8 merged PRs (1, 2), 10 closed issues (1, 2), 8 open issues (1)
COMIT
4 merged PRs (1), 0 closed issues, 2 open issues (1, 2)
Concordium
45 merged PRs (1, 2, 3, 4, 5, 6, 7), 46 closed issues (1, 2, 3, 4, 5, 6), 48 open issues (1, 2, 3, 4, 5, 6)
Conflux
16 merged PRs (1), 1 closed issues (1), 1 open issues (1)
DarkFi
1 merged PRs (1), 1 closed issues (1), 0 open issues
Dfinity
99 merged PRs (1, 2, 3, 4, 5, 6, 7), 23 closed issues (1, 2, 3, 4, 5), 13 open issues (1, 2, 3, 4, 5, 6)
Dusk Network
21 merged PRs (1, 2, 3, 4, 5, 6, 7), 34 closed issues (1, 2, 3, 4, 5, 6), 26 open issues (1, 2, 3, 4, 5)
Elrond
77 merged PRs (1, 2, 3, 4, 5, 6, 7), 1 closed issues (1), 4 open issues (1, 2)
Espresso Systems
101 merged PRs (1, 2, 3, 4, 5), 48 closed issues (1, 2, 3, 4), 19 open issues (1, 2, 3, 4)
Findora
29 merged PRs (1, 2, 3, 4), 1 closed issues (1), 3 open issues (1)
Fluence
39 merged PRs (1, 2, 3), 23 closed issues (1, 2, 3, 4), 4 open issues (1, 2, 3)
Fuel
352 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13), 195 closed issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), 145 open issues (1, 2, 3, 4, 5, 6, 7, 8)
Golem
25 merged PRs (1, 2, 3, 4, 5), 13 closed issues (1, 2, 3), 10 open issues (1, 2, 3)
Grin
2 merged PRs (1), 1 closed issues (1), 1 open issues (1)
Helium
16 merged PRs (1, 2, 3, 4, 5), 10 closed issues (1, 2), 3 open issues (1, 2, 3)
Holochain
27 merged PRs (1, 2), 4 closed issues (1), 5 open issues (1)
IOTA
226 merged PRs (1, 2, 3, 4, 5, 6, 7, 8), 53 closed issues (1, 2, 3, 4, 5), 41 open issues (1, 2, 3, 4, 5, 6, 7)
Maidsafe
51 merged PRs (1, 2, 3, 4), 10 closed issues (1), 5 open issues (1, 2)
MobileCoin
135 merged PRs (1, 2), 25 closed issues (1), 24 open issues (1)
NEAR
194 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9), 49 closed issues (1, 2, 3, 4, 5, 6, 7), 42 open issues (1, 2, 3, 4, 5, 6, 7)
Nervos
180 merged PRs (1, 2, 3, 4, 5, 6, 7, 8), 3 closed issues (1, 2, 3), 3 open issues (1, 2, 3)
- The Nervos Layer 1 – Major Protocol Upgrade with Chief Architect Jan Xie – Highlights
- The Nervos Address Format Upgrade
- Virtual Machine Improvements
Oasis
49 merged PRs (1, 2), 1 closed issues (1), 3 open issues (1)
Parity
605 merged PRs (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), 180 closed issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14), 167 open issues (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
Secret Network
12 merged PRs (1, 2, 3), 10 closed issues (1, 2, 3), 0 open issues
Solana
559 merged PRs (1, 2, 3), 110 closed issues (1, 2, 3), 114 open issues (1, 2, 3)
- How a Little-Known Solana Feature Made Program Vaults Unsafe
- Scaffold Series - Part 1 Wallet Adapter
- Scaffold Series - Part 2 Wallet Balance
- Scaffold Series - Part 3 Sending SOL
Subspace Labs
94 merged PRs (1), 13 closed issues (1), 4 open issues (1)
Sui
489 merged PRs (1, 2), 146 closed issues (1, 2), 169 open issues (1, 2)
TezEdge
20 merged PRs (1), 0 closed issues, 1 open issues (1)
Zcash
175 merged PRs (1, 2, 3, 4, 5, 6), 86 closed issues (1, 2, 3, 4, 5), 34 open issues (1, 2, 3, 4, 5)
- Zcash Proof-of-Stake Research
- NU5 activates on mainnet, eliminating trusted setup and launching a new era for Zcash
- New Release 5.0.0
Rust in Bitcoin
An improvement to amount display types in Rust Bitcoin will help make BIP-21-encoded URIs shorter and their QR codes easier to scan. BDK implemented the “oldest-first” coin selection algorithm, which will be available to wallet authors in their next release. 0-conf channels have landed in LDK, allowing channels funds to be safely spent before there are block confirmations under some scenarios. Federico Tenga proposes a proof of payment protocol for LNP/BP. And in testing Bitmask RGB transfers, it’s been observed that Bitcoin L3 token protocols will result in a dramatic improvements in privacy.
For further details, see the links in their respective sections.
For discussion join the Rust in Bitcoin Telegram group.
BDK
25 merged PRs (1, 2, 3, 4), 21 closed issues (1, 2, 3, 4), 12 open issues (1, 2, 3, 4)
Bitmask
3 merged PRs (1), 1 closed issues (1), 0 open issues
Electrs
8 merged PRs (1), 0 closed issues, 2 open issues (1)
Internet2
1 merged PRs (1), 0 closed issues, 0 open issues
LDK
40 merged PRs (1, 2), 18 closed issues (1), 10 open issues (1, 2)
LNP/BP
8 merged PRs (1, 2, 3), 8 closed issues (1, 2), 0 open issues
LNP WG
1 merged PRs (1), 0 closed issues, 0 open issues
MyCitadel
4 merged PRs (1), 6 closed issues (1), 12 open issues (1)
Nakamoto
1 merged PRs (1), 0 closed issues, 0 open issues
Nomic
0 merged PRs, 0 closed issues, 2 open issues (1)
RGB
2 merged PRs (1, 2), 1 closed issues (1), 2 open issues (1, 2)
Rust Bitcoin
57 merged PRs (1, 2, 3, 4, 5, 6), 11 closed issues (1, 2, 3, 4, 5, 6), 15 open issues (1, 2, 3, 4)
- Added amount::Display - Added a configurable Display type for denominations or other user-facing amounts. This patch reduces all representations of numbers to the minimum width by default, thereby reducing the use of superfluous zeros that caused BIP21 URIs to be needlessly longer, which often made QR codes larger or harder to scan than necessary.
Sapio
6 merged PRs (1), 1 closed issues (1), 0 open issues
Talaia
2 merged PRs (1), 1 closed issues (1), 3 open issues (1)
If we’ve missed any other notable Rust Bitcoin projects or ecosystems, feel free to contribute!
Rust in Ethereum
Ethers-rs
97 merged PRs (1), 26 closed issues (1), 10 open issues (1)
Lighthouse
10 merged PRs (1), 21 closed issues (1), 14 open issues (1)
Rust Ethereum
4 merged PRs (1), 0 closed issues, 0 open issues
Rust Web3
2 merged PRs (1), 1 closed issues (1), 9 open issues (1)
zkSync
5 merged PRs (1, 2), 2 closed issues (1), 0 open issues
If we’ve missed any other notable Rust Ethereum projects or ecosystems, feel free to contribute!
Events
Jun 9-12 | Austin, TX, US
Jun 13-17 | Šibenik, Croatia
Summer school on real-world crypto and privacy
Jun 20-23 | New York, US
Jun 29-30 | Online, multiple cities
Aug 7-9 | Online, Las Vegas, US
Aug 13-18 | Santa Barbara, CA, US
Aug 29-31 | Arrillaga Alumni Center, Stanford University
SBC'22: The Science of Blockchain Conference 2022
Oct 7-16 | Bogota, Colombia
Careers
Blockstream | Remote
- Software Library Engineer (C++)
- Senior Network Engineer
- Senior Product Manager
- Product Manager
- Technical Project Manager
- Lead Engineer, Blockstream Mining
- QA Engineer
- Qt Engineer
- Junior Operations Manager
- Don’t see a role that fits? Apply here!
Casa | Remote
IO Global (IOHK) | Remote
- Software Engineer - Rust (Jormungandr)
- Technical Architect (Rust) - Lead Governance
- Technical Architect (Catalyst)
Zcash Foundation | 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 ❤️