A small, incumbent project recently came to my attention. It’s called the Zap Store and after looking thoroughly at the team, their mission, and their product, I have to say, I like what I see.

Smart contracts are probably the most promising blockchain feature right now. At a high level, a smart contract is a wallet controlled by code. The code triggers the wallet to send transactions when certain events happen. Smart contracts are also able to store data, with ERC20 tokens being a good example of that.

Smart contracts can be extended to serve as the basis for decentralized applications, or dApps. Users can interact with dApps through all the usual ways you can interact with a traditional web application (e.g. websites and APIs).

A fundamental flaw for smart contracts is that the only information they can reliably trust is in the blockchain. However, for many smart contracts to be useful and fulfill powerful uses cases, they need external information (e.g. stock prices, interest rates, weather). The problem is, how do you incorporate external information to the blockchain in a decentralized and trustful manner?

This is where oracles come in. Oracles are secondary-layer blockchain systems that feed external information to the blockchain. Because oracles tend to be single sources of truth for the blockchain, establishing trust in oracles is an incredibly hard problem to solve, especially when it’s often the case that an oracle stands to benefit tremendously from feeding bad data.

Although Zap is not tackling the oracle trust problem directly, it aims to build an efficient marketplace where it’s tremendously easy for data providers to sell their data as oracles, and for smart contract developers to purchase and receive oraclized data. Combined with a reputation system, such a marketplace makes it extremely conducive for professional and long time data providers to thrive.

How does Zap work?

Zap’s ecosystem consists of oracles, subscribers (smart contracts consuming data), and the ZapMarket smart contract that connects and manages payments between the two parties.

An oracle is comprised of: * a realtime datafeed * an Ethereum address registered with the ZapMarket smart contract * an IPFS keypair public key with the ZapMarket contract * a data encryption public key registered with the ZapMarket contract * a quantity of ZAP bonded to the ZapMarket contract

A subscriber is a smart contract that needs data. It’s comprised of: * an Ethereum address registered with the ZapMarket smart contract * an IPFS public key registered with the ZapMarket smart contract * a data encryption public key registered with ZapMarket smart contract * a quantity of ZAP bonded under an existing oracle in the ZapMarket smart contract

When a subscriber requires information from a oracle, it “bonds” ZAP tokens to the oracle through the ZapMarket smart contract. In return, the subscriber gets DOTS which it can use to pay for queries for that oracle. When the subscriber makes a query with a DOT, the ZapMarket smart contract facilitates the exchange of IPFS public keys between the two parties. The two parties then establish a private IPFS pubsub room where the oracle can push data to the subscriber.

Unique payment model

Zap provides a very interesting payment model. ZAP tokens are the currency of the Zap oracle marketplace. When a subscriber “bonds” ZAP to the oracle, the subscriber is given DOTS and can use them to query the oracle. One DOT = one query. DOTS are nontransferable. This whole process is facilitated by the ZapMarket smart contract.

To become an oracle, a data provider needs to register with the ZapMarket smart contract. On registration, the data provider needs to specify a DOT/ZAP supply curve. This curve determines how many DOTS are given per ZAP bonded to the oracle. An oracle could have a flat, linear curve, meaning DOTS remain at the same price even with demand increasing. A oracle could also specify an ascending curve, meaning DOTS get more expensive with more demand.

This payment model introduces speculators to the market. Speculators are those that bond ZAP to oracles without any interest in spending DOTS (i.e. receiving data). If the oracle has an increasing DOT/ZAP supply cure and the demand for the oracle rises after the speculator bonds ZAP to the oracle, the speculator makes a profit when they convert their DOTS back to ZAP.

The allowance of a speculator in Zap’s oracle market is an intentional design element that aims to act as a market refinement mechanism. Speculators are incentivitized to discover good data sources and bond to them early. This helps in getting these good data sources discovered by other market participants that are actually looking for data. This market design utilizes many of the same economic incentives as prediction markets.

What about bad actors?

Zap’s ecosystem connects a subscriber with a publisher. The publisher will typically become a single source of truth for the subscriber, making the subscriber vulnerable to a bad actor publisher (unless the subscriber has some fancy consensus system involving multiple publishers for the same data).

According to Zap’s whitepaper, the risk of scams is mediated by the fact that each publisher is tied to a unique Ethereum address and new publishers should always be treated with suspicion. On the other hand, long standing or professional data oracles can be afforded more trust.

For Zap, blockchain history becomes a sort of trustless reputation system.

Zap has a strong team behind it

The team behind Zap looks solid, especially for a startup. The development team is well-staffed and many company support roles are filled. For example, there is someone for legal, a team for business development, a data scientist, a community manager, etc. This is definitely a team that can hit the ground running.

Core to the team is the founder, Nick Spanos. Spanos looks to be qualified and more than capable of running the company. He has a history of business ventures, several of which are related to cryptocurrencies. He cofounded the Bitcoin Center NYC in 2013, a physical coworking space next to the NYSE. The center aims to educate people on Bitcoin and cryptocurrencies. Besides providing an open space where anyone can come in to discuss and learn about cryptocurrencies, the center also offers courses and hosts a myriad of cryptocurrency-related events.

Spanos also founded Blockchain Technologies Corp in 2011. BTC is a startup accelerator for blockchain-related ventures and it currently manages a portfolio of blockchain technology companies.

Before dabbling in blockchain, Spanos founded getaroom.com and was the CEO of the company for 11 years. He sold it to Hotels.com in 2010.

Focusing on UI is good

From the mocks and demo I’ve seen so far, it’s clear that Zap has placed an emphasis on their user interface. Subscribers need only push a few buttons to purchase a subscription to an oracle. To use the oracle in a smart contract, it looks like Zap is planning to release some sort of “plug n’ play” code package that should make it very easy for developers to connect to oracles in their smart contracts.

Although this is just based on the existing mocks and demo, I’m happy to see Zap putting efforts into a good UI. You’d be surprised how important UI is for product adoption. In fact, many cryptocurrency thought leaders, including Andreas Antonopoulos and Vitalik Buterin, have stated that a bad UI is a key impeding factor for mainstream adoption of cryptocurrencies.

Zap vs ChainLink

ChainLink is another prominent oracle service in development right now. While both Zap and ChainLink are products in the oracle space, Zap is focused on building a simple-to-use marketplace where smart contracts can connect to oracles through one intuitive interface and ChainLink is focused on building trustful oracle data streams through decentralization.

ChainLink aims to build its own data aggregator service that takes data from a bunch of data streams and returns the majority result. Although this will create highly reliable data streams for the blockchain, there is also tremendous overhead and complexity.

ChainLink data will be more expensive and take longer to deliver, something that is not necessary for highly trusted oracles, such as those from professional or long-standing data providers. ChainLink is excellent for enterprise dApps where data integrity is crucial but not so much for “lower-tier” dApps.

Ultimately, Zap and ChainLink are not necessarily competitors. ChainLink oracles can serve as purchasable oracle services in the Zap marketplace.

What is the current state of Zap?

According to the whitepaper, Zap has smart contracts deployed on the Ethereum testnet with a public beta website and mobile applications up and running. You can checkout the web demo here. There are apparently 18,000 data providers ready for implementation once Zap is deployed on the mainnet.

Zap recently concluded an ICO presale and will be holding the public token sale on October 21st. In total, 520 million Zap tokens will be created with 173 million available for sale in the ICO. The rest of the tokens will be held by the Synapse Foundation (foundation behind the project) as part of a long-term operating budget.

You can participate in the ICO here.