📃Whitepaper

November 2, 2021 Abstract

Thales is a protocol that allows formation and participation in peer-to-peer parimutuel markets on Ethereum network. Born out of the Synthetix ecosystem, Thales leverages ChainLink provided price feeds, 0x limit order books, and the sUSD stablecoin to provide participants a novel on-chain, permissionless, and non-custodial way to participate in the price movement of crypto assets and certain non-crypto assets.

1. Introduction

Decentralized derivatives present a novel opportunity to disintermediate barriers that divide global markets, reducing net efficiency and leaving market segments vulnerable to opacity. Bitcoin and Ethereum derivatives experienced tremendous growth, notably in the form of perpetual swaps and vanilla options on centralized platforms. With a high counter-party risk of centralized solutions, the need for trustless, self-custodied, decentralized crypto asset derivative products is clear. Thales’ goal is to contribute to alleviating this need by providing participants a novel on-chain, permissionless, versatile, and non-custodial derivative protocol.

Thales enables participants to take part in price movement or certain on-chain outcomes of sup- ported assets around available on-chain data feeds. Thales accomplishes this by utilizing its own parimutuel markets mechanism. These parimutuel markets are deployable by any user and are collateralized by uncensorable and decentralized stablecoin sUSD, the flagship product of Synthetix. These markets are deployed with custom strike threshold and maturity date, allowing unprecedented versatility. The majority of on-chain data feeds used by Thales parimutuel markets stem from ChainLink and are used as immutable sources of truth for market settlement.

Combining everything mentioned, the following statement can be deduced: There is no way to stop a person from minting positional tokens for Thales parimutuel markets with sUSD and there is no way to stop a person from exercising his winning positional tokens for sUSD. In the event of a front-end not being functional for whatever reason, a user could always interact with the Thales smart contracts directly.

1.1 Thales Parimutuel Markets

Thales’ primary innovation is a novel method of parimutuel market formation and participation. The definition of Parimutuel Market is a market where collateral is placed in a pool and final payout to participants is not determined until the market-settling event is finalized. By leveraging the secure, permissionless and non-custodial nature of Ethereum smart contracts, every participant is able to form a Thales parimutuel market around supported assets with custom parameters and every participant is able to participate in any formed Thales parimutuel market. Other than versatility and openness, when compared to other trading platforms, Thales parimutuel markets have the benefits of a limited risk environment. With capped downside and capped upside, both calculable from the start, participants are exposed to an easily understandable and familiar way to take advantage of various assets’ price- movements (or lack thereof).

Thales Parimutuel Markets represent a novel financial mechanism in which participants’ collateral is placed together in an Ethereum smart-contract-based pool and participants in this Parimutuel Market’s pool collectively ensure that some participants’ collateral is protected (or even granted a windfall) based on a future event with an uncertain outcome. Depending on how this market’s particular event manifests in reality, the smart contracts underlying a Parimutuel Market will autonomously and independently execute according to the rules and terms established from the aggregated activity of the relevant Market Participants.

While Thales is ideal for creating Parimutuel Markets for events related to price movements of crypto-assets, the protocol is not limited solely to such use and, theoretically, Parimutuel Markets may be introduced for any type of off-chain event. Further, some crypto-assets that are not natively tracked by the Ethereum blockchain (such as BTC) may also form the basis for Parimutuel Market events. This is accomplished by utilizing a network-authenticated reference data providers of information that can be read and processed on the blockchain, called ”oracles”. Given Thales’ goal of a system without a specific, discrete, and unilateral point of failure, the protocol relies on the ChainLink decentralized oracle solution project to provide this information.

Parimutuel Markets on Thales are formed by Market Creators who set the parameters of the market as they see fit. For market creation, they are given a list of supported assets to choose from and are free to manually input the Strike Price and Maturity Date (including a specific Time) for this new market. Market Creator is also entailed to deposit initial collateral for this new market for which he receives proportional positional tokens.

Assets pooled by market makers into market pools are used as collateral that secures the minted Positional Tokens. Each unit of collateral deposited mints an equal number of each positional tokens that represent positions in a particular parimutuel market. There are two distinct types of Positional Tokens: those where a Participant’s position is insured in the case the market determining event occurs positively, and those where a Participant’s position is insured in the case the same event occurs negatively. Only the holders of one of the types of Positional Tokens will receive coverage according to their claims.

1.2 Uncensorable and Decentralized Collateral

Thales smart contracts exclusively support sUSD, an uncensorable and decentralized stablecoin, as collateral. This stablecoin is the flagship product of Synthetix.

Synthetix is an open-source project that provides crypto-assets (namely, the Synths) whose value tracks that of Reference Assets without the need of a centralized authority or intermediary. Minting sUSD as a synth is functionally equivalent to issuing a fiat-denominated liability against the liquid market value of the ERC-20 collateral, denominated in “SNX,” the crypto-asset native to Synthetix. Holding sUSD is much safer for users who wish to avoid censorship risks, frustrations associated with traditional banking or financial services, associated with temporary geographical location, and the volatility inherent in many other crypto-assets. sUSD is overcollateralized several times, meaning there is anywhere from 4–7 times worth of SNX collateral backing the fiat value of each sUSD. This approach is intended to preemptively mitigate aforementioned risks before they manifest and causes Synthetix to achieve its mission towards stable sUSD value. Further, the fully developed use cases designed around sUSD enable the Protocol to function smoothly for the foreseeable future.

There’s no way to stop one person from sending another person sUSD. Similarly, there is no way to stop a participant from minting Positional Tokens on Thales with sUSD and there is no way to stop a participant from exercising his winning Positional Tokens for sUSD. In the event of a front-end not being functional for whatever reason, a user could always interact with the Thales smart contracts directly through a blockchain explorer.

1.3 Positional Tokens

Participants’ exposure to a certain Thales market is determined by Positional Tokens. Currently there are two distinct types of Positional Tokens: those which insure a position in case a certain market event resolves positively and those which insure a position in case a market event resolves negatively. These Positional Tokens are minted by Market Creators and Market Makers.

When forming a market, Market Creator needs to deposit sufficient collateral to cover both ends of the market. This collateral is locked in that specific market’s smart contract, which proportionally mints both types of the Positional Tokens. The amount of Positional Tokens minted corresponds to the amount of collateral deposited, so only one side of the tokens (the winning side) will be able to redeem the collateral in 1:1 ratio, while the other side will be deemed worthless.

Market Creators are not the only participants who provide collateral. Other participants, the Market Makers, may also provide additional sUSD collateral to increase the pool size and subsequently mint Positional Tokens for that specific Parimutuel Market. The only technical difference between Market Makers and Market Creator is that Market Creators initiated a relevant Pool’s creation. As Market Makers mint positional tokens on a market initiated by a particular Market Creator, that Market Creator will receive a part of fees assessed on those transactions while the rest of the fees are allocated towards the ThalesDAO fee pool.

2 Parimutuel Markets Architecture

Thales Protocol Parimutuel Markets Architecture is composed of simple, secure, and effective smart contracts that work together to manage market creation, market making and market resolution.

  • ParimutuelMarketManager.sol At the center of Thales architecture is the ParimutuelMarketManager.sol smart contract. This contract manages every individual parimutuel makret on the platform. Every market creation, intra-protocol sUSD transfer and market resolution is managed via Parimutuel Market Manager smart contract. Specific read methods within the contract also enable external integration of Thales Parimutuel Markets. In case of new markets manager deployment, the old market man- ager can be invoked to transfer ownership of all the markets to the new market manager smart contract.

  • ParimutuelMarketFactory.sol This contract’s purpose is to mint a new Parimutuel Market when called by the manager contract (ParimutuelMarketManager.sol), with custom parameters set by the Market Creator. Market Factory contract uses the Minimal Proxy pattern (described in Ethereum Improvement Proposal 1167) for new market creation. This pattern greatly reduces the gas cost for creating a market (from 5,000,000 Gas Limit Units to 1,000,000 Gas Limit Units).

  • ParimutuelMarket.sol This contract describes every created parimutuel market. It stores the sUSD collateral for the market it describes and, in turn, mints the Positional Tokens for the Market Creator and the Market Makers. Positional Tokens minting process is done via the Minimal Proxy factory to significantly reduce gas cost. This contract also manages resolution of the market it describes where the wining Positional Tokens are redeemed for the sUSD collateral.

  • ParimutuelPosition.sol This is an ERC-20 token contract representing Positional Tokens that are minted by markets described by the ParimutuelMarket.sol contract. These tokens are used for exercising for sUSD on the respective market maturity.

2.1 Market Creation Architecture

Any Ethereum network user is enabled to create a Parimutuel Market on Thales without any limitations. Supported assets for market creation are a wide range of Chainlink-supported price feeds for cryptocurrencies, equities, commodities, indexes, forex currencies, and other exotic on-chain data feeds.

Inputs required from the Market Creator are:

  • Asset

  • Strike Price/Value/Amount

  • Market Maturity Time and Date

  • Initial Collateral (sUSD)

After the ParimutuelMarketFactory.sol contract deploys the custom ParimutuelMarket.sol, the market contract mints Positional Tokens proportional to sUSD from the Initial Collateral and transfers them to the Market Creator.

2.2 Market Making Architecture

For liquidity provision and market making, Thales protocol uses a minting model. As with Market Creation, any Ethereum network user is able to mint Positional Tokens for any created market by depositing sUSD as collateral. For each sUSD deposited, an equal number of both types of Positional Tokens are minted. Only one of these types will be able to be redeemed for sUSD as a winning position, determined by the event that is chosen as the market settlement by the Market Creator.

Total amount of each type of Positional Tokens minted for a specific market is always correlated to the amount of sUSD collateral that is insuring them inside the market contract.

2.3 Market Settlement and Positional Tokens Exercising Architecture

After a specific market reaches the Market Maturity Time and Date, that was chosen and set during market creation by the Market Creator, this market begins the Maturity Phase. During this phase, Winning Positional Tokens Holders can redeem sUSD from the market collateral pool in 1:1 ratio for their Winning Positional Tokens.

The first Winning Positional Tokens Holder that exercises his winning tokens on a certain market also triggers the market settlement of the said market prior to exercising.

The default time limit for people to exercise their Winning Positional Tokens on the Thales protocol is 6 months from the expiry date of said market. After 6 months have passed, the market is removed from the protocol.

3 Thales Governance Structure

Thales protocol governance system is composed of various decentralized autonomous organizations (DAOs) that oversee different parts of the Protocol’s operations and developments. The foundation of this governance structure are the ThalesDAO governance token holders that are responsible for overseeing and electing the DAO officials themselves. The goal of this kind of governance framework is to promote censorship resistance and decentralization while also maintaining low friction for decision making and new feature deployments.

Thales Governance Structure is comprised of three core DAOs:

  • Thales Council

  • Protocol Dao

  • Treasury DAO

Each of the DAOs has its own set of responsibilities and all of them together share the same mission of enabling the most optimal, efficient and censorship-resistant way for the Thales community to be the main driving force of the project.

3.1 Thales Council

Thales Council can be considered the chief advisory body of the Thales governance system. Members of the Thales Council are elected by the community of staked token holders at intervals defined by the Protocol while those tokens remain staked. The Thales Council’s main responsibilities are conducting Thales Improvement Proposal (“TIP(s)”) reviews, interacting with TIP proposers, debating the implications of proposed changes, and coordinating with the Protocol DAO regarding the technical implications and implementations.

Thales Improvement Proposals (TIPs) are artifacts that are used to describe proposed changes to the core Thales protocol. They can be authored by anyone and feature the motivation, technical specifications and rationale behind design decisions relating to the proposed idea. It is a design document providing information to the Thales community about a proposed change to the system. The author is responsible for building consensus within the community and documenting dissenting opinions.

Each TIP is required to have the following parts:

  • Preamble - Headers containing metadata about the TIP, including the TIP number, a short descriptive title, and the author details.

  • Simple Summary - “If you can’t explain it simply, you don’t understand it well enough.” A simplified and layman-accessible explanation of the TIP.

  • Abstract - a short ( 200 word) description of the technical issue being addressed. • Motivation (*optional) - The motivation is critical for TIPs that want to change Thales. It should clearly explain why the existing specification is inadequate to address the problem that the TIP solves. TIP submissions without sufficient motivation may be rejected outright.

  • Specification - The technical specification should describe the syntax and semantics of any new feature.

  • Rationale - The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other languages. The rationale may also provide evidence of consensus within the community, and should discuss important objections or concerns raised during discussion.

  • Test Cases - Test cases may be added during the implementation phase but are required before implementation.

  • Copyright Waiver - All TIPs must be in the public domain.

3.2 Protocol DAO

The Protocol DAO is the owner of the Protocol’s core smart contracts. The Protocol DAO’s main responsibilities are upgrading and releasing new contracts (on behalf of the Thales Council), imple- mentation of approved TIPs and operational security. The Protocol DAO is managed in an m-of-n multi-signature wallet (“Multisig”) capacity by its members which are selected by balancing the need to populate this group with qualified, competent members aligned with the long-term interest of the project.

3.3 Treasury DAO

The Treasury DAO’s primary purpose is to manage Protocol’s treasury. The Treasury DAO is respon- sible for properly incentivizing the other governing bodies and to support further developments of the protocol. All of the DAO roles of the Thales governance structure are paid a certain stipend by the Treasury DAO.

4 THALES governance token

Thales DAO (THALES) governance token is a standard ERC-20 token used to govern the Thales protocol. These tokens grant the respective holders a right to participate in the Thales governance functions and make the THALES token holder the foundation of every key decision for further development of the protocol. Any further utility of the token that could be relevant to the protocol can also be decided and voted on by the mentioned governance functions. \

To acquire voting power, THALES token holders need to stake THALES governance tokens. Thales staking contract is a contract in which users lock their THALES to receive voting power on the protocol. THALES staked balances will be used to determine the amount of voting power for governance votes. After staking and acquiring voting power, a token holder can participate in elections of the new Thales Council.

Candidates for participation in the Protocol DAO and Treasury DAO must also stake large portions of Tokens to be eligible. Staked Tokens are not available for transfer. If a staked Tokens’ holder decides they would like to transfer their staked tokens, they must be unstaked over a cool-off period lasting approximately seven days, during which they may neither be transferred nor used for governance purposes.

Last updated