Development status update
A new YouTube video has been uploaded:
The main concern, with all centralized exchanges, is that people do not own their private keys. The problem that we have encountered was not the private keys but the cost of allowing people to hold their private keys and yet have the cheap software solution. At the time of writing this text, a simple swap of tokens costs more than $150 USD. Our solution would cost around $20 USD (maximum) plus the cost of token transfer GAS.
So, instead of letting people hold the keys, we are allowing them to simply unlock their accounts and do whatever they want with the Ethereum that they have deposited to pay for the GAS. Paying for your own GAS allows us to avoid a demand for liquidity tokens when trading any new token. Unfortunately, all the tokens are kept on a single contract. We could generate a new contract, per user, but that would increase the price and would be too expensive. Therefore, we are limited by the technology that we are given to work with, and this is the best optimal solution. With our solution, you partially own the keys. In future, we hope to have our own block-chain designed for the exchange so you can have the full control of your keys and assets.
The video itself does not show all the work that was done. The frontend part is just 1/3 of the whole picture. We would like to give a brief overview of everything that was happening for about 1.5 months. Certain events and the physical health issues (such as the back-pain) and working for other companies to survive and pay the bills… have slowed down the progress, but we got back on a track. We are all in a good health now. Here is a list of all things we have completed:
- A new and an innovative way to deposit tokens to exchange, immediately and without registering them.
- A way to register your account and associate it with a randomly generated account.
- GAS (Ethereum) deposit to avoid the need for a liquidity. Yes, the exchange does not need any liquidity at all, and you can list and trade whatever you like.
- Account management
- Simplified version of the smart-contract to avoid the probability of hacking and attacks, since it will hold a lot of money. We have truncated it into only a few functions.
- A safe way to unlock your associated account and get your private key with all Ethereum on it.
Unfortunately, there is no cheap and a simple way to withdraw tokens from the exchange without using a centralized component.
Backend Java + Microservices:
- Developed a completely new solution (has not been done before) to interact with the smart-contract.
- The strong encryption and decryption algorithm that cannot be hacked (unless you hack the source-code). This is also a new and an innovative approach, with a Krakint-invented confusion matrix, where code-breakers can’t see the solution even if they know the keys!
- A completely independent component that allows us to do the account management, withdrawals, deposits, etc.
- A union of all the basic functions into more complex procedures.
None of this code will be open to a public, in order to protect the Krakin’t users.
- The actual interaction with the backend and the microservices.
- The actual interaction with the contract.
- The error handling components.
- Code refactoring (a plenty of it!).
- Account registering (for the first-time users who want to deposit tokens).
- Account associating with the locked addresses.
- Token spec. detection based on the public key of a token contract.
- The account unlocking.
- Registration of the transaction hashes (yes we need it, and it will be explained later).
- A lot of other things…
Basically, we have developed all the components that we need to put it into a whole and a fully-developed product. Nevertheless, the frontend coding is a bit dirty, and there is a lot of work to be done. However, we just wanted to make it work first and then simplify and refactor later. All of those are a bunch of simple things to be done, except that they take time. Some parts, however, are not simple and will require an additional design. For example, preventing anyone from unlocking the accounts or withdrawing the tokens by making a simple POST call (assuming that CORS is hacked or not working).
The next few weeks should be simple and straight-forward with all components available, except the database design, which has not been completed and will be done in parallel. Some components will have to be truncated further. Simplicity is the key to safety, and all of this must be bullet-proof.
The next video will show the exchange interface integrated within the Krakin’t exchange.