Development Update - December 2018
December was a busy month for us, and we're excited to share this overview of our development progress over the past month. Feel free to post questions/comments on this post, and hop on our chat server if you need help setting up and running any of the software mentioned in this post.
OrderStream 0x Standard Relayer API Implementation
We’re intensely focused on building a robust and extensible liquidity layer for the emerging open finance stack. 0xpioneered the hybrid-decentralized exchange model that the OrderStream network is built to support, and they will continue play an critical role in this emerging ecosystem. 0x contracts (V1 and V2) already facilitate a sizable portion of the decentralized spot exchange volume for Ethereum tokens. As such, we believe it to be crucially important to demonstrate our networks ability to act as a decentralized relayer for 0x orders, and solidify the OrderStream’s position within the decentralized finance and 0x ecosystem.
Over the past few weeks, we’ve created an implementation of the 0x Standard Relayer HTTP API specifically designed for the event-based OrderStream network. The software connects to a local or remote full OrderStream node’s websocket endpoint, filters out non-0x orders, and adds all valid (collateralized, non-expired, and fillable) 0x orders to a MongoDB backend, and serves the book via a SRA-compliant REST API over HTTP. This means you can use the OrderStream-SRA adapter anywhere the standard relayer API is supported, including 0x instant.
When this software is combined with a local full OrderStream node (see below) and a local Ethereum client (geth/parity), it offers a compelling proposition: truly decentralized trading – with no reliance on external/hosted order books, servers, or front-end interfaces. The OrderStream-SRA software also demonstrates how we imagine the OS network can be used by existing and new relayers, exchanges, and developers to derive, construct, and serve order books for a variety of decentralized financial instrumentation.
While we consider this software to be mostly stable, it is still in development, and should be used with caution (or not at all) in production environments. As always, and especially when running/using open source software, security and safety is your responsibility. That being said, I encourage you to try it out and give us feedback on your experience getting it up and running.
Like all software being developed by Paradigm Labs, OrderStream-SRA is open source and GPL licensed. We encourage anyone interested to get involved in the development on our GitHub, and don’t hesitate to reach out to me if you would like to contribute. For documentation of the API and usage instructions, check out the SRA specification published by 0x.
You can preview a live version of this software at https://sra.zaidan.io/v2/.
ParadigmCore Pre-Release Version 0.5
The latest pre-release version of the OrderStream network’s proof-of-concept implementation, ParadigmCore, was published just over a week ago. This minor version family offers significant stability increases over previous versions, and perhaps most notably, it greatly simplifies the once tedious setup and configuration of ParadigmCore and its various dependencies. Almost all required setup (download and configuration of Tendermint included) is handled by a setup script triggered when
npm install (or
yarn install) is run. Make sure to follow the instructions in the new READMEcarefully if you wish to play around with the software.
We highly encourage anyone interested to pull down the latest version and play around with ParadigmCore. If you encounter issues, don’t hesitate to ask for help on our chat server. Feel free to follow this guide to sync your local ParadigmCore instance to the current OrderStream test network as a full (non-validating) node.
We are also looking for people willing to join our OrderStream testnet as validator nodes over the coming weeks. If this sounds interesting to you, and you’re comfortable at the command line and/or have some familiarity with blockchain systems and Linux servers, please DM me on our chat server, or reach out on Telegram/Signal (linked at the end of this post).
Dynamic Validator Curation Update
The OrderStream is intended to be a public decentralized network (currently built on Tendermint) with sybil tolerance and validator selection provided by a proof-of-stake system. Curating a high-quality validator set is crucial for the success and security of the network and protocol as a whole. It is critically important that the mechanism chosen for validator selection and curation supports a highly dynamic, rotating validator set – allowing the addition of new validators at any time, and enables the removal of malicious and inactive validators (whether malicious behaviour be implicit or explicit). Our internal research is currently exploring (and implementing as a proof-of-concept) a system that uses an Ethereum-based token-curated registry (TCR) to elect, reward, and remove OrderStream validators.
The election of new and curation (via removal) of existing validators will be the responsibility of any and all token holders, with explicit (enforced through slashing conditions) and implicit incentives to generate and maintain a high-quality validator set baked into the curation mechanisms. Communication between the Ethereum and OrderStream networks is supported by our existing peg-zone/witness implementation that is currently used to manage network posters (individuals who may add orders to the network after staking tokens in the “PosterStaking” Ethereum contract).
Our team is in the process of implementing and testing the first version of this system. Many details of the specification and implementation are still being finalized, so this section intentionally only provides a high-level description of the system.
Over the coming months, you can expect much more detailed information to be published about dynamic OrderStream validator set curation, and the Paradigm token system in our research and development updates.
Developer Portal and Documentation Portal Coming Soon
We are excited to announce that we will launching a developer portal and documentation for the Paradigm Protocol over the coming months. Developers building open finance systems will play an important role in the protocol’s adoption and success. As such, we want to create a developer experience and informational hub that communicates where the Paradigm Protocol can be used, and supports individuals and applications building on top of the protocol every step of the way.
We believe in the future of decentralized finance and borderless markets, and think the Paradigm Protocol can play an important role in creating and supporting a network of open, global liquidity.
There is a lot of work to be done to bring these systems into reality, and we want to support developers building the next generation of financial infrastructure with a powerful and extensible decentralized liquidity platform.
Expect the developer and documentation portals to be live by mid-February.
Open Source Contribution
Paradigm Labs and its development team are committed to developing the Paradigm protocol and related tooling as open-source software. Our goal is to involve as many people as possible in the development process, and to build and support community that shares the vision of open finance, and efficient, borderless markets. If you are interested in contributing, please feel free to become active on our GitHub and subreddit, join our chat server, or reach out to me directly via Telegram or Signal.
We are also looking for people to run, test, and break our code, so if you are interested in trying out some of Paradigm’s libraries, node software, and scripts, check out our GitHub to get started. Let us know what you can break!