Proof of Work #68

Hi from Beijing!

As always, the Chinese crypto scene is fascinating. Last year it felt like an absolute circus—over the top parties, actresses buying crypto, conferences at massive venues—and now a lot of that has quieted down, and 90% of the speculators have exited the scene. The people who are left are grizzled veterans, who’ve survived the receeding wave of speculation and also the total shutdown of fiat exchanges in China. The number one thing that strikes me every time I come here is how many people think purely in terms of stacking Bitcoin (and a few premium alts) rather than in terms of accumulating more fiat money.

There are also a lot more truly interesting projects coming out of China these days. I was initially skeptical that the crypto scene would truly end up Asia-centered as a result of the US regulatory environment being so hostile (a skepticism shared by a lot of my Chinese crypto friends) but these days I am beginning to think that will actually come to pass. The hardware (miners), infrastructure (mining installations), and financial institutions (the crypto exchanges) are all here, and that ends up creating a fertile ground for new projects. The number one blocker to this in my opinion was the lure of cheap cash via ICO, but that seems to have come and gone, and now there are a lot of very technical and interesting teams here building stuff. Over the next few issues I’m going to discuss a few of the best ones in detail!

More next week, thanks as always for reading!

Bitcoin & Friends

BitcoinOptech on Bitcoin

  • Proposed new opcode for transaction output commitments: Jeremy Rubin posted to the Bitcoin-Dev mailing list a proposal to soft fork in an OP_CHECKOUTPUTSHASHVERIFY opcode that allows a Bitcoin address to require the transaction spending it include a certain set of outputs. This enables a restricted form of Bitcoin covenants which can be used to reduce the amount of data that needs to be placed onchain in certain situations, potentially reducing costs or improving privacy in those cases. For details, please see this newsletter’s special section about the proposal.

  • Final stack empty: in legacy, segwit, and proposed bip-tapscript scripts, a script evaluates successfully if it contains exactly one element that is true. Russell O’Connor raised a point he’s raised before and requested that this opportunity be taken to require tapscript only evaluate successfully if it ends with an empty stack. Pieter Wuille replied that his work on miniscript (see Newsletter #32) showed that, for the subset of scripts miniscript will create, this change in semantics will at most save 0.25 vbytes per tapscript. Also, although the change may simplify development for anyone writing scripts by hand, it’s a bit risky as every development guide to Script written to date teaches that scripts must terminate with a truevalue on the stack. Wuille summarized, “so overall this feels like something with marginal costs, but also at most marginal benefits.”

  • Move the oddness byte: Bitcoin public keys are most naturally specified using an X,Y coordinate pair, as was done in the early days of Bitcoin with uncompressed public keys. However, because a valid pubkey must be on the elliptic curve, it’s possible to find both valid Y coordinates (one odd, one even) for any given X coordinate given the curve formula. In compressed key format, the first byte contains a single bit to specify whether the Y coordinate is odd or even, followed by 32 bytes to encode the X coordinate. The proposed bip-taproot followed this convention and used 33 bytes to encode the taproot output key.

    This week, John Newbery suggested that we use some method to avoid placing this byte in the scriptPubKey. Wuille agreed that this could be useful and will attempt implementing a variation where the bit will be included as part of the taproot witness data. This will reduce the cost create a taproot output by one vbyte (making it the same as P2WSH currently).

Aviv from Spacemesh

Spacemesh is a programmable cryptocurrency powered by a novel proof-of-space-time consensus protocol.

  • After finishing to implement most of the Spacemesh Protocol major flows, we are now focused on testing and benchmarking to verify our network is tuned up to work with many nodes at scale on the cloud using our automation framework. 

  • We are doing tests and benchmarks for gossip, mining, sync and consensus protocols. Another on-going effort is integration of the BLS signature scheme into the platform.

  • On the App front, this week we integrated our Edwards25519 WASM library into the App and worked on the App's desktop notifications feature.

  • For more details check our pulse❣️https://github.com/spacemeshos/go-spacemesh/pulse

JZ from Decred

Decred is an autonomous digital currency with a hybrid consensus system. It is built to be a self-ruling currency where everyone can vote on the rules and project-level decision making proportionately to their stake.

  • Developer Donald Adu-Poku has released dcrpool; a stratum Decred PoW mining pool. Considering the importance Proof-of-Work mining has in our Multifactor Consensus system it made sense for us to ensure that there is high quality free and open source mining infrastructure available.

  • Lots of activity over a bunch of other repos as well this week including dcrdata with 14 PRs, 7 for politeiagui, dcrweb with 8, and decrediton receiving 9.

  • One extremely meta Politeia proposal is wrapping up voting and another which seeks to incentivize "biz dev" has just been submitted for discussion. We're overall quite pleased with the quality of the submitted proposals seeking to be funded by the Decred treasury, we are finding however that the stakeholders are tight with the purse strings, which is equally encouraging.

  • If you're in Berlin on June 5th be sure to drop in on our meetup hosted by BlueYard Capital. Noah and I will be attending along with a few other community members, and developer Jamie Holdstock who will be giving a presentation outlining what it's like to work for a DAE (decentralized autonomous entity) and where the project is headed in the near term.

Izaak from Coda

Coda is the first cryptocurrency protocol with a constant-sized blockchain. Coda compresses the entire blockchain into a tiny snapshot the size of a few tweets using recursive zk-SNARKs.

  • Corey integrated libp2p into Coda's networking stack.

  • Nathan added fine-grained, type-level tracking of the amount of validation performed on blocks and proofs from the network, catching a few bugs in the process.

  • Avery built the "send Coda" screen for the desktop wallet. Check out the screenshots on the PR!

  • Brandon got a portable Mac build working to make installing the desktop wallet super simple.

  • We've also welcomed three new team members recently. Carey Janecka, Front End Developer, joins from Coinbase. Claire Kart, Marketing & Community, joins from Ripple. Pranay Mohan, Developer Relations, joins from Snapchat. 

Privacy coins

Paige & Zooko from Zcash

Zcash is a digital currency utilizing zk-SNARKs to enable its privacy-protecting properties.

Mitchell from Monero

Monero is a open-source, privacy-focused cryptocurrency using the ASIC-resistant CryptoNote PoW algorithm. It enforces all privacy features at the protocol level to ensure that all transactions create a single fungible anonymity pool.

  • New compressed LSAG signatures will offer ~25% reduction in rate of blockchain growth, and around 15-25% speedup in verification times, first draft here.

  • The Monero Konferenco schedule is now public. (My "TBD" talk title will be "Visualizing Monero: a figure is worth a thousand logs.")

  • Researching several new schemes that may potentially replace our current ring signature scheme - Spartan and RingCT3.0 and Lelantus.

  • We now have a client implementation for the Monero wallet and daemon RPC written in Go, repository here.

Daniel from Grin

Grin is a community-driven implementation of the Mimblewimble protocol that aims to be privacy preserving, scalable, fair, and minimal.

Beni from Beam

Beam is a confidential and scalable cryptocurrency based on Mimblewimble.

  • Cold Wallet Testnet Release Notes | Create and sign transactions #593

  • Atomic Swap - Important progress (validation for non-negative values, process exceptions, fix secret extracting, confirmation for CLI, changed BTC address version)

  • Laser Beam (Lightning Integration) - Good progress and demo almost ready

  • Cold Wallet restore - in progress

  • Hard Wallet integration #624 - in progress

  •  Desktop Wallet: Login / Restore Screens #649 - done

  •  Desktop Wallet: Add QR code to Address Book #629 - in progress

  •  Desktop Wallet: Multi language UI #618 - in progress

Arnaud from AZTEC Protocol

AZTEC Protocol is an efficient zero-knowledge protocol built on top of Ethereum, making plug-and-play value transmission and asset governance privacy tools for developers and companies. 

  • This week we released a first draft of our trusted setup code. Notably, we decided to extend it to compute a common reference string which can be used to construct structured reference strings for SONIC zk-SNARKS.

  • We also released a Loan dApp starter kit to demonstrate how AZTEC proofs can be combined and assembled, and to demonstrate in-browser proof construction. As part of this starter kit, we also released scripts to make deploying AZTEC to local networks easier.

  • The team was at ETHNewYork last weekend, where we sponsored a prize, won by the Polymath team who produced a zero-knowledge payroll dapp.

  • EIP-1108, which would significantly reduce gas costs for AZTEC and other cryptography heavy applications on Ethereum, was accepted (pending a couple of additional benchmarks) to the scheduled Istanbul hardfork.

  • In addition to the two cryptographer roles, we are now hiring for a Senior Solidity Engineer and a Senior Engineer. You can apply here, or by emailing arnaud@aztecprotocol.com with the name of the role as the subject.

Smart contracting platforms

Evan from Ethereum

Ethereum is a decentralized platform for applications that aims to resist fraud, censorship or third-party interference.

Erik from NEAR

NEAR is a sharded proof-of-stake blockchain.

  • 22 PRs merged or proposed across 4 repos and 5 authors: nearcore, nearlib, near-shell and near-wallet

  • Initial support for app-specific keys added to NEAR Wallet

  • Support for ability to send tokens to another account, and view tokens in profile page of Wallet

  • Additional functionality in command line to make method calls to smart contracts

  • Support for setting network ID in near-shell added

  • Stabilizing current nearcore, which is released and running.

  • Implementation of economics: charging storage rent and transaction fees.

  • Continue Nightshade development: integration tests, chunk production and network.

AJ from Tezos

Tezos is a self-amending blockchain that features formally verified smart contracts, on-chain governance, and a proof-of-stake consensus algorithm which enables all token holders to participate in the network. 

Topper from Quorum Control

Quorum Control makes Tupelo, a permissionless proof of stake DLT platform purpose-built to model individual objects that enables flexible public or private data models.

  • Ongoing Optimization of Production Tupelo TestNet

  • Final testing on a major infrastructure improvement to streamline cross-platform development. Defines the core Tupelo types as protocol buffer messages and uses those across all platform-specific development kits.

  • Removed signer produced errors for transactions to prevent attack vector of malicious signers returning fake errors.

  • Read Part 2 of our published posts on NFTs, “Digital Scarcity (Am I original? Am I the only one?)”

Michael from Loom

Loom Network is a platform for building highly scalable DPoS sidechains to Ethereum, with a focus on large-scale games and social apps.

  • Cryptium Labs goes live as the latest Loom validator

  • Over 202M tokens have been staked on Loom, which amounts to ~26% of circulating supply 

  • Axie Infinity will be running a validator, providing in-game rewards to their delegators, and fully migrating to Loom

  • May Game Release (v0.1.21) -- Relentless rebranding, updated desktop downloads, and tons of bug fixes

Myles from EOS

EOS is a new blockchain architecture designed to enable vertical and horizontal scaling of decentralized applications.

  • Block.one just purchased 32 GB worth of RAM on the EOS mainnet (likely related to their upcoming June 1st announcement) 

  • EOSIO Labs releases native SDKs for Swift and Java 

  • Greymass released the beta version of its new desktop wallet — Anchor (previous called eos-voter)

  • Decentium, a Medium alternative built on top of EOS, launched. 

Zaki from Cosmos

The Cosmos Network is a decentralized network of independent, scalable, and interoperable blockchains.

  • We released a a bug fix and ergonomics release of Gaia. This adds support for the Ledger Nano X.

  • Cosmosstation released a javascript library for generating and signing transactions on the cosmos hub.

  • We have upcoming hackathons in Berlin and Seoul

  • ICS 4:  IBC Channels and Packets is in final review

Kate and Dean from Agoric

Founded by pioneers in secure development and distributed systems, Agoric uses a secure subset of JavaScript to enable object capabilities and smart contracts.

  • This week Mark successfully implemented a particular example of higher order contracts. “Higher order” contracts allow you to effectively tokenize positions in contracts. In this particular scenario, Bob writes a covered call giving Alice the option to buy Bob’s stock shares. Alice makes a new escrow agent that allows her to trade this seat at the table to Fred, and Fred is able to verify that these are the rights he is interested in. The escrow agent code is able to treat the “seat at the table” as if it were a straightforward token, allowing us to use these “higher order” tokens in any smart contract component that accepts tokens.

Financial Infrastructure

Antonio from dYdX

dYdX is a decentralized exchange for margin trading, borrowing, lending, and eventually derivatives. dYdX allows traders to trustlessly short and get leverage on crypto assets.

  • Everett Hu joined the team as a frontend engineer, welcome Everett!

  • Antonio wrote an overview of decentralized lending protocols

  • Shipped transaction history. Can now view a history of all trades, deposits, and withdrawals directly in the app

  • Working on adding a DAI-USDC market powered by 0x

  • Finishing up a design sprint focusing on a new borrow flow and an improved cross trading experience

  • Building price oracles for new assets, so we can add them to dYdX

  • Hiring product designers & engineers full-time in SF!

Brendan from Dharma

Dharma is the easiest place to borrow and lend cryptocurrencies. It enables non-custodial peer-to-peer lending through smart contracts on Ethereum.

  • Launched USDC! Users can now borrow and lend USDC at 8% APR from anywhere in the world, instantly. If you're interested in borrowing or lending USDC in high volumes, please reach out max@dharma.io

  • Began testing our new 'Instant Matching' feature with early user cohort

  • Implemented automatic 8% discount for loan liquidators

  • Our very own Brendan Forster gave an inspiring talk about #DeFi at Fluidity!

  • We're hiring a General Counsel and Full Stack Engineers in SF!

Coulter from MakerDAO

Maker is comprised of a decentralized stablecoin, collateral loans, and community governance.

  • Dai has been added to Coinbase

  • Maker is helpful fuel the DeFi movement. Read more.

  • We're sharing the details of the most recent update (MCD v0.2.6) on Kovan testnet as we track toward Multi-Collateral #Dai. This update covers the CDP Portal, Governance Dashboard, Testchain DSS deployment scripts and new developer guides.

  • We've partnered with Experimental to have Dai integrated into their game, CryptoWars.

Lazar from MARKET Protocol

MARKET Protocol is a framework for creating tokens that track prices of traditional or digital assets.

  • We reached a big milestone this week, our platform is feature complete for launch!

  • Deployed updated platform to staging environment on Kovan, mainnet to follow

  • Still finalizing our solidity refactor based on recommendations from our security audit

  • Drafted an update to our website to support MPX and minting platform launch

Robert from Compound

Compound is a money market protocol on the Ethereum blockchain — allowing individuals, institutions, and applications to frictionlessly earn interest on or borrow cryptographic assets without having to negotiate with a counterparty or peer.

  • Launched Compound v2, and began migrating users 

  • Released mainnet contract addresses & documentation for developers to build applications on top of Compound

Layer two and interoperability

Rahul from 0x

0x is an open protocol that enables the peer-to-peer exchange of assets on the Ethereum blockchain.

  • Check out our educational videos around the 0x smart contracts

  • Awarded Mine Auction the 0x price at ETH NY, a marketplace for trading staking contracts

  • New Relayer Report, digging into the AugurLite fork, 0x at ETH New York, and ENS support on Emoon

Tony from Liquidity.Network

Liquidity Network is a transfer and swap platform for any token

  • Liquidity Network has the honor of being a platinum sponsor for the Crypto Valley Conference 2019 from 24th - 26th June 2019 at Zug, Switzerland

  • Liquidity Network is running a survey to collect users' opinions about current exchange ecosystem. Please participate here

Dong Mo from Celer

Celer Network is a layer-2 scaling platform that enables fast, easy and secure off-chain transactions for not only payment transactions, but also generalized off-chain smart contracts.

  • We refactored game platform architecture, to clearly distinguish different game modes. 

  • We've finished on-chain dispute process on iOS and fixed issues and improved app based on ETHNewYork feedback. 

  • We are in the process of developing new wallet UI. 

  • We implemented design reviews and started implementing features for end-of-June milestone. 

  • Fast-track cold bootstrap for new users and upgradable cChannel on-chain contracts. 

  • System stress testing and identified improvements on our backend system.

Alexandra from Parity Technologies

Parity Technologies builds core blockchain infrastructure, from Parity Ethereum, an Ethereum client, to Polkadot, an interoperable blockchain network.

Application infrastructure

Wes from Theta

Theta is an end-to-end infrastructure for decentralized video streaming.

  • Added Ledger/Trezor support for Theta mainnet to the Theta web wallet

  • Added support for automatic tokens splits between video relayers and streamers/content creators

  • CTO Jieyi Long presented his paper “Scalable BFT Consensus Mechanism Through Aggregated Signature Gossip” at IEEE crypto conference in Seoul

  • Theta Fuel (TFUEL) listed on Binance

Doug from Livepeer

Livepeer is a decentralized video infrastructure network, dramatically reducing prices for developers and businesses building video streaming applications at scale. 

  • The Livepeer node now supports builds for its upcoming release in Linux, Windows, and OS X.

  • Participation rate in the protocol has surpassed 40% of all LPT staked - on the path to the 50% target before inflation rate begins reducing itself.

David from Sia

Sia is a decentralized cloud storage platform leveraging blockchain technology to create a data storage marketplace that is more robust and more affordable than traditional cloud storage providers.

  • Luke worked on the seed-based file recovery feature: asynchronous upload of metadata snapshots and synchronization of these snapshots across the hosts have been added

  • Chris added the ability to cancel ongoing downloads and uploads to Sia

  • Matt worked on multiple MRs oriented to improve the file repair process

  • Internal tests by Nebulous are revealing a great improvement in scalability: in the next version, 15+ TB will be able to be uploaded per renter node

  • Luke updated his `us` library to allow FUSE capabilities (https://www.reddit.com/r/siacoin/comments/bryifi/writeable_fuse_demo/). Thanks to this, a local directory connected to Sia can be mounted on the system, enabling operations like uploading data to internet directly from Sia hosts. It also better handles small files and document edits, by bundling them before sending them to Sia.

  • Community member @tbenz9 published a proof-of-concept script for storing automatically on Sia security camera footage (an ideal use case of Sia): https://www.reddit.com/r/siacoin/comments/brr0xs/a_rudimentary_guide_how_to_automatically_store/

  • Stay up to date with all the latest in our Discord server - https://discord.gg/sia

Other

Ari from Decentraland

Decentraland is a virtual world where you can build and explore 3D creations, play games and socialize.

  • Last week, we released an update to the Builder allowing users to export their scenes for use with the SDK.

  • Currently testing Picture Frame support for additional third-party NFTs.

  • Testing and optimizing the performance of loading scenes in the Unity-based Decentraland Client.

  • Released various minor bug fixes to improve click actions and animations in the SDK.

Sam from OpenBazaar

OpenBazaar is an open source project developing a protocol for e-commerce transactions in a fully decentralized marketplace.

  • Corey integrated libp2p into Coda's networking stack.

  • Nathan added fine-grained, type-level tracking of the amount of validation performed on blocks and proofs from the network, catching a few bugs in the process.

  • Avery built the "send Coda" screen for the desktop wallet. Check out the screenshots on the PR!

  • Brandon got a portable Mac build working to make installing the desktop wallet super simple.

  • We've also welcomed three new team members recently. Carey Janecka, Front End Developer, joins from Coinbase. Claire Kart, Marketing & Community, joins from Ripple. Pranay Mohan, Developer Relations, joins from Snapchat.