Principles used in building FICE platform
We are building the First Islamic Crypto Exchange Platform. A speculative component is going to be excluded, and from the first sight, it seems like it would simplify development. In fact, the situation is more difficult and the development might be more difficult. Following the Islamic principles leads to specific business processes, wider coverage of all processes participants, for example, expertise based on Shariah-norms. Since this stock exchange is a completely new product, it is necessary to add to the foundation of the development the possibility of changes and additions in business processes. This is one of the contradictions that we face in the development processes. The fact is that, as will be understood further, ensuring the speed leads to the exclusivity and rigidity of the system.
Ensuring the security of the exchange platform is a critical task. At the moment, this is the first basic requirement for a crypto-currency exchange system. We can see how similar services are exposed to numerous and versatile attacks. This is the inevitable consequence in our open space and we are ready for these challenges.
Security is the alignment of the process. We are not able to account all possible vulnerabilities. Therefore, the expertise included in the process is important. This includes security services that we use, the best experts in the field that we hire, and also companies that are looking for vulnerabilities in our systems. For example, we outsourced hosting and security elements as a DDoS protection, intrusion protection, access restriction, anti-virus protection, and anti-phishing protection to specialists in these areas. Examination and control tests are provided by both internal and external resources. This is also the process that we are building. The process should include the procedures used in outsourcing services, continuous examination and automatic launch of the examination after updates, response to identified vulnerabilities, working out by internal departments.
The second important element in the development of a crypto exchange is a speed and providing a high load provision. Development of any high load application requires an individual approach. At the same time, we try to minimize excessive originality. On the one hand, we, of course, actively use third-party solutions that have already proven themselves. On the other hand, we adhere to the principle: “If you want to do something quickly, do it by yourself.” We concentrate on developing our own services based on TCP-sockets and protocol of interaction without using any frameworks. This is in addition to our own algorithms and approaches that implement the processes on the stock exchange. For example, we have implemented our own unique principle of the request counting — if the implementation of this principle will bring significant results, we will tell about this later on — in general, it should speed up the processes on the exchange platform without losses in the reporting system. This should give an advantage to our product.
Testing and monitoring play important role in our activities. As was mentioned above, we rely not only on ourselves but also attract experts on this market. From our side, we are laying these elements at the level of development. In case of testing, in general, clear algorithms and services already exist (in this case, we use both test scripts and log analysis, as well as third-party services), but the problem related with monitoring processes is more complicated and it is may not be enough to use only conventional services. From the very beginning it is discussed as one or another part of the code or the work of the system functional can be monitored. Speed is important, so monitoring should not load user scripts. We use parallelization for this.
In addition to the basic ideas that make our exchange platform unique, the development process affects the main architecture. For example, developing own interaction protocol leads to a correction in the data structure, and this changes the architecture of the entire application. Testing can show negative results in the initial assumptions, and this also leads to reformatting. For instance, according to the results of testing, we had to transfer functional part from the base level to the application level. It also seems critical to us to build a process of such large-scale architectural changes.
Own developments rigidly aimed at ensuring safety and speed lead to the fact that the system becomes narrowly focused on the performance of specific tasks, hence it is very regressive to reworking and possible changes. We see a way to avoid this rigidity in the maximum modularity of the system. This is the fourth principle laid down in our system.
Building a high load application requires a highly skilled development team. It requires knowledge in the design of server clusters, load balancers, queue services, a network of processing nodes, scalable storages. We build a system that uses the GO language in the subscription/publication paradigm, task distribution, caching and in-memory (Redis) database, scaling based on partitioning and sharding. Undoubtedly, an important element — is the development in a blockchain sphere. Therefore, we pay great attention to the formation of an excellent team of experts of the blockchain and IT security, database administrators, system administrators, testers, server, and client developers.
We hope that through this article we were able to convey principles that are used in the development of a unique First Islamic Crypto Exchange (FICE) platform, showed how difficult at the same time to ensure the uniqueness and commonness of development processes, the speed, and accountability of the system, rigidity, and flexibility of implementation.
#pre-sale #ico #ADAB #adabsolutions #cryptocurrency #blockchain #Adab #Muslims #investments #crypto-economy #Islamic #finance #cryptocurrency #exchange #FICE #Shariah#trading #cryptocurrencies #Muslim #community #market #digital #economy