Our first meetup in Singapore on July 21st was a successful event, attaining a handsome attendance of over 100 people. It was an fulfilling session, thanks to the participation of enthusiastic audience. Through a series of Q&As, we received plenty of interesting and thoughtful questions regarding KyberNetwork in general and how we operate the reserves. These questions are essential to help us understand concerns about the platform from the perspective of end users, which would be useful in the design of reserve architecture that could serve users better. In this post we summarized the questions that were raised and addressed them in detail.

1. How does the system decide on the reserve to use, if the offering prices of a said token from different reserves are roughly the same?

There are different strategies that we will consider to ensure fairness in the network. In a broad sense, here are the possible ways to handle this:

a) Randomized selection. So long a reserve has the required amount of a requested token, it will be considered by Kyber contract, and the selection of reserve will be determined by chance.

b) Based on size ratio. In short, the reserves within KyberNetwork will each contribute an amount of a requested token based on the proportion of its size to the entire network. For example, user A requested to convert 5 ETH to GNT: KyberNetwork would sum all the ETH reserves size; and if ReserveOwner1 has 20% of the total ETH reserve, then s/he gets 20% of the transaction (e.g. 20% of 5 = 1). This way, all Reserve Owners (RO) with ETH holdings get a share of the transaction.

Of course, the above-mentioned are not definite approaches, and could well co-exist. Ultimately, reserves that offer better prices gets higher precedence over others, and these are suggestions in a sudden death situation.

2. What are the requirements to register as a reserve manager?

ROs need to have enough token liquidity and must have passed our know-your-customer (KYC) checks. It would also help if they commit to a good service, which usually comprises of low spreads and sufficient liquidity. Concrete figures for token liquidity could also depend on the specific tokens. More details on token liquidity will be published in the coming weeks.

3. How does KyberNetwork determine the portfolio composition of a reserve?

KyberNetwork does not interfere with ROs portfolio composition, because RO has the total liberty to decide on the make-up of his or her own reserve. If an RO believes that DGX’s price will hike during a specified period of time due to higher demand, s/he could store a higher portion of DGX than other tokens. That aside, KyberNetwork will provide statistics on transaction volume ratio, so that ROs can make informed decision on which token to hold more.

4. Are there concerns with regards to transaction front-running, especially when the settlement takes about 30 seconds to complete?

Front-running is a valid concern, and it is in fact a real world latency problem faced by many non-crypto exchanges. While not completely discounting the possibility of front-running, by design the impact of front-running should be relatively contained in KyberNetwork’s case, because ROs can decide on token prices and it is unlikely that the prices will fluctuate much. Additionally, the speedy updating of token prices at KyberNetwork should also limit the effects of front-running.

Realistically, it is not that easy to take advantage of an arbitrage in the crypto-space. Even if other exchanges offer better prices, it would be very difficult for a user to profit from the differences between rates offered at different exchanges because withdrawal of funds from an exchange takes at least a block time. By the time the funds are withdrawn, new prices would have been set, and the earlier opportunity would have vanished.

5. What do you mean by liquidity weighted price (LWP) and how does it affect the price of a token at KyberNetwork?

We believe that LWP is the best way to reflect indicative bids and offers on the network. Since the Reserve Management module is run and maintained by each Reserve Manager, they are the ultimate decision makers for their reserves. The system provides a method to automatically get a normalized price from exchanges, but it is up to the Reserve Manager to decide on the spread.

LWP will average the current prices from all exchanges based on the available liquidity or depth. This mechanism is the same across all the reserve managers, but they have a way to adjust spread.

To ensure that the tabulated price of a token reflects the reality, reserves will employ parameters to ‘adjust’ the prices quoted by different exchanges. This will help to normalize prices from various exchanges. Over time, the spread for everyone in the network will change, as managers optimize their portfolio strategies which will result different prices of tokens.

6. How does KyberNetwork handle outtages?

KyberNetwork extracts prices from various exchanges, instead of just relying on one single exchange. If one exchange shuts down, we can still generate a reliable price from the input of all other functioning exchanges. Also, KyberNetwork supports manual prices determined by ROs. Each RO or manager operates his or her own installation of the Kyber Pricing Reserve Management (KPRM) module. If a particular reserve is off-line or unavailable, it will be skipped.

7. How can KyberNetwork ensure that prices set by reserve owners are reasonable?

It is up to the RO to determine their own prices for their tokens, and as long as the RO has enough tokens to support the stated price, the price will most likely be accepted. KyberNetwork offers guidance and should a price set by an RO differs from the system rate by x% (still deciding), KyberNetwork operator will be prompted to investigate it on a case-by-case basis. In addition, KyberNetwork could also bound reserve spread. So if price is high for A=>B, it will be low for B=>A. By doing so, we remove the incentive for ROs to set unreasonable prices.

8. When referring to re-balancing, is it with reference to the price, or to the number of tokens?

Quantity of tokens.

9. How many transactions can be processed in a second?

For the start of our operation, we anticipate to process about 10 to 20 transactions per second.

10. How are transactions sent to a user from a reserve?

All transactions that happen on KyberNetwork will be handled by smart contract. Reserves are directly controlled by ROs, but Kyber contract has the ability to add and remove tokens for new trades. Each reserve has a conversion rate for each token pair, generated from the price and amount of a said token pair from reserves across the network.

With the help of the diagram above, when a user sends a request for GNT in exchange for ETH (held by user), Kyber contract will search and return with the best ETH/GNT rate for user from all reserves that hold GNT. When the request to convert ETH to GNT has been received, the contract will check if the correct amount of ETH has been credited to the contract, then sends the corresponding amount of GNT to the sender’s specified address. The amount of ETH, after deduction of fees, will be credited to the reserve that has provided GNT.

11. How soon can a reserve manager liquidate their positions?

Reserve manager would have to commit to the network for a certain amount of time. However, we will work towards reducing the time commitment prior to liquidating to as instant as possible.

12. Will a reserve manager see the “winning price” of a token that is selected by Kyber contract?

A reserve manager can see the “winning price” and all prices offered by others, as everything is publicly available on the blockchain.

13. What is the daily transaction volume KyberNetwork is expecting?

We are not certain on this number yet as it depends on multiple factors that will only be known after implementation. That being said, we can elaborate n the daily transaction volume that we can support. Specifically, with 100,000 ETH as our reserve, KyberNetwork should be able to support 1 million ETH daily trading volume.

14. Why are re-balancing acts performed off-chain and not on-chain, with other reserves within the network?

We are still exploring the possibility of on- and off-chain re-balancing. For now, the first line of re-balancing will be performed internally, i.e. against other reserves within KyberNetwork. Subsequently, the re-balancing will have to be performed off-chain, against other exchanges, because after a transaction, especially after a large order, a token in demand across all reserves within KyberNetwork will likely be depleted at the same rate and ratio (see Q1 above). Because of that, all reserves will be short or long of a particular token at the same time. In consideration of that, we have to engage off-chain exchanges to re-balance reserves.

15. What are the risks to consider for a reserve owner?

The primary risk for RO is market price fluctuation. However, as exchange rates are measured against tokens, and not fiat currency, the market fluctuation is relatively contained (though still a concern). Also, ROs position is not leveraged on KyberNetwork, so the losses will be limited.