Security Token Offering seems to be the next hype to utilize BlockChain concepts and transform the current security instruments (Equity, Debt, Derivatives etc) into digitized security. STOs have gained popularity and momentum in recent times due to lack of regulations in the ICO world with a lot of outliers for most of the ICOs in 2018. There are many Startups that are building platforms by utilizing programmable blockchain platforms like Etereum. Recent developments in STO platforms seem to be moving in the direction of building an Ecosystem with defined standards as well. By seeing lots of traction on GitHub towards standards like ERC-1400, ERC-1410, ERC-1594, ERC-1643 and ERC-1644, it has given us the opportunity to think about how can a technology company like us (Specialized in ensuring Quality standards for Blockchain based applications on Ethereum) can contribute to this. We started our journey in defining Complete STOs processing cycle in the context of real time usage (from functional perspective) with underlying Ethereum platforms (from a technology perspective).
It is highly important that we list down all the major participants & their roles before actually defining the STO lifecycle :
- Issuers – Legal entity who develops, registers & sells security for raising funds for their business expansion
- Investors – Entities who are ready to invest in securities to expect financial returns
- Legal & Compliance Delegates – Entities that ensure all participants & processes are complied within the defined rules & regulations by the jurisdiction
- KYC/AML service providers – Entity which provide KYC/AML for required participants
- Smart Contract Development communities like Developers, Smart Contract Auditors, QA Engineers
Most of the companies claiming to provide STO platforms are using Ethereum as the underlying programmable blockchain platform with few exceptions. The rationale for using Ethereum as the first choice is – It is a Turing Complete platform to build complex decentralized applications by defining logics inside Smart contracts (Solidity is the most favourable programming language among developer communities). Pralallely, Ethereum is also getting matured, secured and improved on performance with scalability by introducing lots of new features and improvements. There are very few who are utilizing other platforms apart from Ethereum to build their own STO processing platforms and some of them are trying to build a completely new blockchain platform dedicatedly designed for STOs. The last approach seems to be too optimistic as this might take years to build such a system whereas the current momentum around STOs do not seem to wait that long.
Basis the above, we can now define the generic STO lifecycle from a functional standpoint into 2 phases as below:Primary Market
- To issue STO by Issuer
- To invest in STO
- Secondary Market to trade STO on either on Exchanges or Over The Counter
Primary Market
- To issue STO by Issuer –
- Registration of Issuer
- Creation of STO Token
- Approval from Legal & Compliance for STO
- Issuance of STO post Legal & Compliance approval
- To invest in STO by Investor –
- Registration of Investor
- KYC/AML for Investors
- Whitelisting of Investors for STOs post KYC/AML
- Investment in STO for allowed STOs based on whitelisting of corresponding STO
Before we actually get into technical insight of underlying blockchain technology, we need to define the STO platform technical architecture from a user perspective. Each STO platform that exists in any state in today’s world has –
- A Presentation layer (User Interface with any chosen front end technology, Integration with Wallets)
- A Business Layer (JS libraries to provide an interface to interact with Smart Contracts)
- A Data Layer (Ethereum data storage in blocks in the form of key-value storage)
Now let’s define high level overview from a technical standpoint by assuming that the STO platform is using Ethereum as an underlying blockchain platform ( assuming that the Backend Layer has been setup already) –
- Creation of an external account for all participants to bring everyone on Ethereum blockchain
- Defining transactions for Off-Chain and On-Chain for all activities defined for Issuer and Investors
- Merger of Off-Chain data with On-Chain data
- Develop Smart Contracts
- Standard smart contract to be built for each STO depending upon Jurisdictions for generic processes among required participants
- STO specific Smart Contract to be built for implementing business/regulation rules
- Smart contracts with all business logic especially for transaction processing
Based on Expertise of our group, Magic finserv can contribute in a very big way in the development of Smart Contracts (Written in Solidity) along with Auditing of contracts.
For more details visit https://www.magicblockchainqa.com/our-services/#smart-contract-testing
In next part, we will detail out all the above mentioned high level technical overview with high level functional overview followed by more insight on all these defined functional & technical flow.