Skip to content

Commit

Permalink
changes
Browse files Browse the repository at this point in the history
  • Loading branch information
rbharath committed Aug 22, 2019
1 parent 2570074 commit d18051b
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 16 deletions.
17 changes: 1 addition & 16 deletions TopLevelSpec.md
Expand Up @@ -36,27 +36,12 @@ payments and authorization can be handled securely by
secure on-chain contracts.

#### Market
The `Market` is the central contract that governs the behavior of a
data market. Here's a brief overview of the core functionality of the `Market`.

- The `Market` has an associated `MarketToken`. This `MarketToken` is created upon construction of the market. This token is minted and burned by various `Market` operations.The [`MarketToken`](#market-token) is itself a mintable and burnable ERC20 token.
- The `Market` holds a [reserve](#market-reserve) to the Market. This reserve holds `NetworkToken` that is paid in by investors who want to take positions in market and will pay out to people who want to exit market. Investors can purchase `MarketToken` by paying `NetworkToken` into the reserve. They can withdraw `NetworkToken` from the reserve by burning their `MarketToken` holdings.

- The `Market` has an "algorithmic price curve" that provides an automatic conversion rate from `NetworkToken` to `MarketToken`. The price curve is used by `Market.invest()` to determine the current conversion rate. The current conversion rate depends on the current size of the reserve.
- The `Market` supports a payment layer for computational workloads against the underlying data market. Payments must be made via `Market` before any `Backends` will accept queries.
- `MarketToken` holders in `Market` belong to one of two classes, data owner and investor. Only data owners can own listings in the market, and only investors have the right to withdraw from the reserve. A data owner can convert into investor class by giving up ownership of their listings.

#### Market Token
`MarketToken` is a mintable and burnable ERC20 token. The
`MarketToken` is tied to a particular `Market` and is created when the
`Market` is created. Note the contrast with token curated registries,
which don't hold a mechanism for minting and burning their associated
token.

As with the `NetworkToken`, the `MarketToken` is denominated in
"market wei". As with ETH, a "market wei" denominates 1/10^18 of a
`MarketToken`. Using wei units throughout prevents rounding error
propagation and keeps contracts simple.

#### Minting and Burning Mechanics
`MarketTokens` are dynamically minted and burned as the `Market` evolves. This flexibility is needed to accurately track the evolving value of data in a data market.

Expand Down
1 change: 1 addition & 0 deletions content/docs/markettoken.md
1 change: 1 addition & 0 deletions content/menu/index.md
Expand Up @@ -4,6 +4,7 @@ headless: true

- [**Introduction**]({{< relref "/" >}})
- [Contracts]({{< relref "/docs/contracts.md" >}})
- [Market Token]({{< relref "/docs/markettoken.md" >}})
- [Listings]({{< relref "/docs/listings.md" >}})
- [Reserve]({{< relref "/docs/reserve.md" >}})
- [Datatrusts]({{< relref "/docs/datatrust.md" >}})
Expand Down
12 changes: 12 additions & 0 deletions markettoken.md
@@ -0,0 +1,12 @@
# Market Token

`MarketToken` is a mintable and burnable ERC20 token. The
`MarketToken` is tied to a particular `Market` and is created when the
`Market` is created. Note the contrast with token curated registries,
which don't hold a mechanism for minting and burning their associated
token.

As with the `NetworkToken`, the `MarketToken` is denominated in
"market wei". As with ETH, a "market wei" denominates 1/10^18 of a
`MarketToken`. Using wei units throughout prevents rounding error
propagation and keeps contracts simple.

0 comments on commit d18051b

Please sign in to comment.