RiB Newsletter #17 – Trick? Or Trait?
Welcome to the #17 edition of Rust in Blockchain, the hypest newsletter about the hypest tech. Previous: #16.
Welcome to November, Rust blockchaineers. We hope you’ve been writing some great Rust.
Though mostly not Rust-specific, the coolest stuff we’ve got for you this month are a bunch of interesting new papers on blockchain-related topics. Check those out in the “Papers” section.
Almost every month we see one or two mainnet launches, and this one continues that trend as Conflux launched their mainnet. Congratulations to the Conflux team! Conflux is an EVM-compatible proof-of-work chain with high transaction throughput, written in Rust.
Hiring for Rust blockchain developers seems to be increasing, particularly within the Chinese Rust communities, where we see some new blockchain startups using Rust, including Patract Labs, who are developing on Substrate, and TaiDi Tech. A Rust conference is being planned for December in Shanghai, and there are likely to be talks from major Rust blockchain companies.
Some changes in RiB:
We updated the contributing policies a bit, and the RiB Newsletter now only accepts contributions through GitHub pull requests, not email or other means. This will both reduce our workload, and create a proper record of who contributed what. Thanks for your cooperation.
We are being more selective about what goes into the “Project Updates” sections, as the volume of content there had gotten overwhelming in previous months. Hopefully these sections will be more focused and meaningful in the future.
On the website, we added learning resources for new blockchain programmers. Please contribute content as well as suggestions to this page, and let’s improve the learning experience together.
Thanks
Thanks to contributors: apruden2008, ashput, Damascene, Daniel Karzel, David Ansermino, Mikko Ohtamaa, Paulii, 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 #18 draft.
Project Spotlight
Each month we like to shine a light on a notable Rust blockchain project. This month that project is…
lnp-node
is an implementation of the Lightning Network in Rust,
created by the LNP/BP Standards Association.
It’s not obvious how this implementation relates to the reference implementation, but between the LNP-BP GitHub org and the rust-bitcoin GitHub org, which LNP-BP depends on, there is quite a lot of development going into Bitcoin implementations in Rust.
It’s active and well documented, so for Rust hackers looking to get involved in Bitcoin layer 2 development, this seems like a promising entry point.
lnp-node
has a modular architecture that depends on a number of other
Rust crates that look like they could be reused with relative ease:
rust-lnpbp
- the lightning network protocolrust-bitcoin
- the bitcoin protocol (but not a full node)rust-secp256k1
- bindings to the official implementation of bitcoin’s elliptic curverust-miniscript
- implementation of a subset of Bitcoin Scriptrust-amplify
- some rust-language helpers, including generic trait implementations, type wrappers and custom derives
Interesting Things
News
- Conflux: Tethys Mainnet is Live
Blog Posts
- A pitfall of Rust’s move/copy/drop semantics and zeroing data
- Rusty Chains: A Basic Blockchain Implementation Written in Pure Rust
- Towards formal semantics of the beacon chain’s pyspec
- Rust no-std FAQ. Basic and useful.
- Rust after the honeymoon. It isn’t blockchain related. The write features some that also very useful for blockchain developers.
- An Interview with Torben P. Pedersen about the Pedersen Commitment.
- Playing with Randomness and Interactions to Prove Theorems
- Privacy is normal, safe and essential
- SNARKs and the future of blockchains
- People of Parity: Bastian Köcher. Besides technology, Parity also creates lovely developer stories.
Papers
- Towards Cross-Blockchain Smart Contracts
- EVMPatch: Timely and Automated Patching of Ethereum Smart Contracts and the studies on GitHub
- Aardvark: A Concurrent Authenticated Dictionary with Short Proofs
- Incrementally Aggregatable Vector Commitments and Applications to Verifiable Decentralized Storage
- CoVer: Collaborative Light-Node-Only Verification and Data Availability for Blockchains
- Using Homomorphic hashes in coded blockchains
- KVaC: Key-Value Commitments for Blockchains and Beyond
- Authenticated Dictionaries with Cross-Incremental Proof (Dis)aggregation
- PoSAT: Proof-of-Work Availability and Unpredictability, without the Work
- Proofs, Arguments, and Zero-Knowledge
- Post-Quantum Linkable Ring Signature Enabling Distributed Authorised Ring Confidential Transactions in Blockchain
- Global Standards Mapping Initiative: An overview of blockchain technical standards
- Doc: Cryptographic Best Practices
Projects
- Curve on Zinc. The Curve Stableswap smart contract implementation in Zinc v0.2.0.
- Marlin contains various zk-SNARK protocol implementations for recursive SNARK composition.
- Oak. Meaningful control of data in distributed systems.
- Serum-dex.
- BTC-Parachain. BTC-Parachain: Trustless Bitcoin on Polkadot (Mirror).
- arcturus. Pure rust implementation of Arcturus proofs for confidential transactions.
Most Active in October
Solana: 240 merged PRs (1), 29 closed issues (1), 31 open issues (1)
Parity: 191 merged PRs (1, 2, 3), 110 closed issues (1, 2, 3, 4), 53 open issues (1, 2)
Libra: 199 merged PRs (1), 21 closed issues (1), 22 open issues (1)
COMIT: 161 merged PRs (1, 2, 3), 2 closed issues (1), 4 open issues (1)
Project Updates
Aleo
36 merged PRs (1, 2), 3 closed issues (1, 2), 5 open issues (1, 2)
- PR: Use criterion in curve benchmarks by @ljedrz
- PR: Initial Storage Implementation for Setup Coordinator by @howardwu
- PR: Implement a Verifier Instance for Setup Ceremony by @raychu86
Rust Bitcoin
61 merged PRs (1, 2, 3, 4), 12 closed issues (1, 2, 3, 4), 15 open issues (1, 2, 3)
- PR: Refactor chain monitoring by @jkczyz
- PR: Add ChannelDataPersister trait and point ChainMonitor to it. by @valentinewallace
- PR: DescriptorPublicKey, second pass by @darosior
COMIT
161 merged PRs (1, 2, 3), 2 closed issues (1), 4 open issues (1)
- R&D: XMR-BTC swaps
- News: Trade Bitcoin and DAI with COMIT - Alpha version of our non-custodial trading UI released
- News: Designing GitHub workflows for automated releases
Holochain
0 merged PRs, 0 closed issues, 1 open issue (1)
- News: Dev Pulse
- Blog:
- Videos:
Libra
199 merged PRs (1), 21 closed issues (1), 22 open issues (1)
- News: Testnet push announcement for 10/14
- PR: [network][fuzzing] Fuzz inbound
NetworkMessage
handling and fix memory leak by @phlip9 - PR: [xbuild] cleaner install and initial pass at xbuild wiring by @rexhoffman
- PR: [network] improve context and clarity of noise handshake errors by @phlip9
Lighthouse
4 merged PRs (1), 48 closed issues (1), 30 open issues (1)
- News: Lighthouse Update #30
- PR: Update blst and milagro_bls subgroup checking by @kirk-baird
- PR: Staging: v0.3.0 by @paulhauner
- PR: Upgrade discovery and restructure task execution by @AgeManning
MobileCoin
49 merged PRs (1), 1 closed issue (1), 0 open issue
- PR: Make a constant time aes-gcm decrypt and use in cryptobox by @xoloki
- PR: Make a stderr configuration of the logger module, and use it in tests by @garbageslam
NEAR
41 merged PRs (1), 54 closed issues (1), 42 open issues (1)
- News:
- Blog:
- Videos: Whiteboard Series with NEAR
- Ep: 41 Matt Luongo from Thesis
- Ep: 40 John Adler from Lazy Ledger Part1 Part2
- Alexey Akhunov from TurboGeth
- PR: feat(chain): Versioned ShardChunkHeader by @birchmd
- PR: fix: make outcome ids ordered in storage by @bowenwang1996
- PR: fix(genesis): Don’t write genesis records on restart by @mikhailOK
Nervos
30 merged PRs (1, 2, 3), 6 closed issues (1, 2), 4 open issues (1, 2)
- News:
- Blog:
- PR: docs: deny missing docs by @doitian
- PR: chore: upgrade rust toolchain to 1.46 by @driftluo
Parity
191 merged PRs (1, 2, 3), 110 closed issues (1, 2, 3, 4), 53 open issues (1, 2)
- News:
- Blog:
- Videos: Substrate Seminar: Benchmarking for your Substrate Pallet, Substrate Analytics
- PR: Async keystore + Authority-Discovery async/await by @rakanalh
- PR: Runtime worker threads by @NikVolf
- PR: WASM Local-blob override by @insipx
Secret Network
13 merged PRs (1), 24 closed issues (1), 15 open issues (1)
- News:
- Blog:
- PR: secretcli update to snip20 by @toml01
- PR: DOC: added macos mention to work with ledger by @lacabra
Solana
240 merged PRs (1), 29 closed issues (1), 31 open issues (1)
- News:
- Blog: Why Solana?
- PR: Break up AccountsIndex lock by @carllin
- PR: Fix tower/blockstore unsync due to external causes by @ryoqun
- PR: Codify breaking change guidelines by @jstarry
Zcash
93 merged PRs (1, 2, 3), 25 closed issues (1, 2), 30 open issues (1, 2, 3)
- News:
- ECC Transparency Report for Q1 2020
- Zcash Developers Update 10-23 10-16 10-9 10-2
- PR: Block Subsidy and Founders Reward Amounts by @oxarbitrage
- PR: Implementation for ZIP-222 Transparent Zcash Extensions by @nuttycom
Events
Nov 7-8 | Online
Nov 9-13 | Online
Nov 23—24 | Online
Careers
ChainSafe | Toronto, Remote
Massa Labs | Remote
Parity Technologies | Berlin or Remote
Zama | Paris, Partial remote authorized
More jobs can be found at Job Board.
Want to be included in the next issue? Feel free to submit a PR to the #18 draft.
Join the discussion on RiB telegram group ❤️