RiB Newsletter #18 – On to the Ribbles
Welcome to the #18 edition of Rust in Blockchain, the hypest newsletter about the hypest tech. Previous: #17.
It’s a good time right now to be patient and cautious with the health of our blockchains. Oh, and also our frail human bodies.
Anyway, on to the ribbles! (That’s Rust-in-Blockchain Nibbles, I guess)
This month, Oasis, a blockchain that runs Rust contracts on WASM inside secure enclaves, launched their mainnet. The Ethereum 2 beacon chain also went live. NEAR has a whiteboard video with the Sigma Prime team, who develops Lighthouse, the Eth2 client in Rust. It introduces the network layer in Eth2, how the nodes communicate, and more. Congrats to both the Oasis and Lighthouse teams!
From projects we typically cover, Parity and NEAR released many good videos this month, which are great resources for developers to learn programming blockchain.
Brian, one of the RiB editors, has continued documenting his experiments with Rust-based smart contract platforms, this month publishing his initial impressions of Substrate and Ink. We hope to bring more of this kind of content to the RiB community in the future.
We open-sourced ribbot, the script that helps us generate progress reports from GitHub repos. It currently has no documentation or readability. If you ever wonder why the stats we publish for your project seem wrong, the answer is somewhere in here. We plan to slowly refactor it and hope it can be a general purpose tool program that is useful for other projects.
RiB has recently received requests from multiple organizations to advertise in the newsletter or the website. As RiB is always a community project, we do not want to make any decisions without open discussion first. We ask your thoughts about how to handle advertising or sponsored content in RiB. Please reply to this newsletter email directly, or discuss on the Telegram group.
Thanks
Thanks to contributors: apruden2008, Paulii, Stanley Jones, Tony Arcieri, 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 #19 draft.
Project Spotlight
Each month we like to shine a light on a notable Rust blockchain project. This month that project is…
Arkworks is “an ecosystem for developing and programming with zkSNARKs”. It particularly stands out for abstracting over multiple SNARK constructions, including Groth16, GM17, and Marlin.
The team recently gave a talk at zkSummit6: zkSummit6: arkworks: A Rust Ecosystem for zkSNARKs – Pratyush Mishra.
The best entry point for understanding the code as of now
appears to be the snark
repository,
which defines generic traits for zkSNARKS.
This work is an extension of that done for the previously-published Zexe: Enabling Decentralized Private Computation.
Interesting Things
News
- Oasis launched its mainnet on Nov 18th. Oasis Mainnet: Ushering in a New Era of Privacy and Scalability and its documentation: Mainnet Overview.
Blog Posts
- Introducing the
k256
crate: a pure Rust secp256k1 library based on projective formulas - Build your own: GPG. Implementing one part of the PGP standard in Rust.
- Using Bloom filters to efficiently synchronise hash graphs
- Your Computer Isn’t Yours. An interesting read about personal security. Not Rust or blockchain.
Papers
- Secure Regenerating Codes for Reducing Storage and Bootstrap Costs in Sharded Blockchains
- Modelling Attacks in Blockchain Systems using Petri Nets
- Publicly Verifiable Zero Knowledge from (Collapsing) Blockchains
- Efficient Fully Secure Computation via Distributed Zero-Knowledge Proofs
- CommiTEE: An Efficient and Secure Commit-Chain Protocol using TEEs
- On Broadcast in Generalized Network and Adversarial Models
- Byzantine Eventual Consistency and the Fundamental Limits of Peer-to-Peer Databases
- TaiJi: Longest Chain Availability with BFT Fast Confirmation
Projects
- Firma. Firma is a tool to create bitcoin multisig wallets with private keys stored on offline devices.
- fe. Emerging smart contract language for the Ethereum blockchain. The language was initially created as the Rust implementation of the Vyper compiler.
- t3rn. A protocol for interoperable code execution between multiple blockchains, which makes it safe and simple.
- Kulupu. Kulupu is a pure (no pre-mine, no gadget) proof-of-work blockchain built on the Substrate framework, supporting on-chain governance and online upgrades. It uses the ASIC-resistant RandomX mining algorithm.
Most Active in November
Solana: 350 merged PRs (1, 2), 28 closed issues (1, 2), 26 open issues (1, 2)
Parity: 219 merged PRs (1, 2, 3, 4, 5, 6), 103 closed issues (1, 2, 3, 4, 5, 6), 69 open issues (1, 2, 3, 4, 5)
Zcash: 110 merged PRs (1, 2, 3), 41 closed issues (1, 2), 58 open issues (1, 2, 3)
Project Updates
Aleo
38 merged PRs (1, 2, 3), 21 closed issues (1, 2), 32 open issues (1, 2)
- News: Howard Wu presents Aleo at ZK Summit 6
- PR: Implements Phase I coodinator w/ optimistic pipelining
- PR: Feature/dynamic check by @collinc97
Rust Bitcoin
49 merged PRs (1, 2, 3), 13 closed issues (1, 2), 14 open issues (1, 2, 3, 4)
- PR: Non-recursive bound checks for Miniscript fragments by @darosior
- PR: Tell ChannelMonitors about HTLCs fulfilled after channel close by @valentinewallace
- PR: Add “sortedmulti” descriptor support by @justinmoon
COMIT
84 merged PRs (1, 2, 3), 1 closed issues (1), 1 open issues (1)
- PR: Monerod by @bonomat
- PR: No need to send Monero transfer proof from Alice to Bob by @luckysori
- PR: XMR<>BTC user interface prototype details by @da-kami
Holochain
58 merged PRs (1, 2, 3, 4), 4 closed issues (1), 8 open issues (1, 2)
- News: Holochain Dev Pulse:
- PR: Use a Vec of 39 bytes for HoloHash serialization by @maackle
- PR: [TK-05788 TK-05804 TK-05806 TK-05807] Kitsune Peer Discover Multi by @neonphog
Libra
79 merged PRs (1), 5 closed issues (1), 5 open issues (1)
- News: Announcement: Libra is now Diem. New Diem documentation for developers, and Move, a Rust-based language.
- PR: [move-cli] include stdlib sources and binaries in the CLI rust binary to avoid publishing stdlib all the time by @mengxu-fb
- PR: [Consensus] Don’t panic on failure to initialize LSR by @JoshLind
- PR: [Consensus] Improve error handling for failure to initialize safety rules by @JoshLind
Lighthouse
18 merged PRs (1, 2, 3), 82 closed issues (1, 2, 3), 46 open issues (1, 2)
- News: Lighthouse Update #32, #31 (Deposit Contract Launch)
- PR: Cut v1.0.1 by @paulhauner
- PR: v1.0.0 by @paulhauner
- PR: Add mainnet genesis state by @paulhauner
MobileCoin
17 merged PRs (1), 2 closed issues (1), 1 open issues (1)
- PR: Set hint in bootstrap by @sugargoat
- PR: Optionally allow change to be sent to a different subaddress by @tsegaran
NEAR
50 merged PRs (1, 2, 3), 43 closed issues (1), 20 open issues (1, 2, 3)
- News: Mooniswap brings its next-generation AMM protocol by 1inch to NEAR
- Videos:
- Whiteboard Series with NEAR
- Ep: 44 Adrian Manning from Sigma Prime. About the network layer in Eth2, how the nodes communicate and for what reason.
- Ep: 42 Adin Schmahmann from Protocol Labs’ IPFS
- Rust: NEAR collections, U128, build, deploy, call/view with NEAR CLI
- NEAR Live Contract Review
- Whiteboard Series with NEAR
- PR: Cache compiled contracts. by @olonho
- PR: Evm gas estimation by @ailisp
- PR: Pass cache to viewing contracts as well. by @olonho
Nervos
40 merged PRs (1, 2), 8 closed issues (1, 2), 4 open issues (1, 2)
- News:
- PR: feat: add assume valid target config by @driftluo
- PR: refactor: add some utils to generate spendable cells by @keroro520
- PR: refactor: single instance async runtime by @zhangsoledad
Parity
219 merged PRs (1, 2, 3, 4, 5, 6), 103 closed issues (1, 2, 3, 4, 5, 6), 69 open issues (1, 2, 3, 4, 5)
- Blog:
- Videos:
- Newly released videos in Substrate Seminar
- Sub0 Online videos. If you are interested in ink: Sub0 Online: ink! 3.0: A Rust & Smart Contracts Love Story
- PR: Use inbound peerslot slots when a substream is received, rather than a connection by @tomaka
- PR: Approval Distribution Subsystem by @rphmeier
- PR: contracts: Add automated weights for wasm instructions by @athei
- PR: PoV Distribution optimization by @montekki
Secret Network
28 merged PRs (1, 2), 14 closed issues (1), 28 open issues (1, 2)
- News:
- Blog: Secret Bids: Trust-Minimized Auction Contracts
- PR: Adding SNIP20 interface by @baedrik
- PR: Add crypto crate to the toolkit by @PumpkinSeed
- PR: Added optional signer interface by @Cashmaney
Solana
350 merged PRs (1, 2), 28 closed issues (1, 2), 26 open issues (1, 2)
- News:
- PR: Stake: Support merging fully-activated stake accounts by @t-nelson
- PR: Fix stake split rent-exempt adjustment by @CriesofCarrots
- PR: Added stable curve invariant to the token swap smart contract by @ysavchenko
Zcash
110 merged PRs (1, 2, 3), 41 closed issues (1, 2), 58 open issues (1, 2, 3)
- News:
- Zcash developers update 11-13, 11-6
- Release 4.1.1. A hotfix release that addresses a performance regression in v4.1.0.
- Release 4.1.0. Migration to Clang and static libc++; replaces libsodium BLAKE2b usage with the blake2b_simd Rust crate; and more.
- The Zcash ecosystem: A 2020 recap
- Zcash is Unstoppable: Privacy-focused wallet first to integrate ECC wallet SDKs
- Blog: The Pasta Curves for Halo 2 and Beyond
- PR: Inbound
FindBlocks
andFindHeaders
by @oxarbitrage - PR: RFC: Contextual Difficulty by @teor2345
- PR: Make transcript generic over curve point by @therealyingtong
Events
Dec 7-11 | Online
Dec 26-27 | Shenzhen, China
Careers
Aleo | San Francisco, CA; Remote
DFINITY | San Francisco, CA; Palo Alto, CA; Zurich, Switzerland; 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 #19 draft.
Join the discussion on RiB telegram group ❤️