MIR.network: Market Inclusion Registry

How it works

The building blocks of MIR

MIR is not an application nor a program, nor a registry, but a foundation upon which ecosystems can emerge and expand. It is analogous to UNIX, the shared foundation for most servers, MacOS, and Android among others. MIR is an operational environment that allows services to take on whole new qualities and integrate seamlessly with each other. Much as the value of a smartphone depends on the installed apps, MIR or an instance of MIR has limited value without the added services created through smart contracts and applications.

Pieces coming together

The basic utility – listing and stockholding

The core system consists of four so called “smart contracts”; applications or small programs running on top of the blockchain. These smart contracts make up the rules of the platform, and govern how transactions are executed. MIR is surprisingly simple: four basic components is all it takes to create an instance.

The four simple components make possible a high degree of transparency on shareholding and should be perfectly placed to eliminate any double spending issue in the trading of share. A shareholder that sells his position of shares on the blockchain platform could still, of course, claim to possess the shares and sell them to someone offline. Hence, only through adoption and usage, does the platform make fraud impossible. Until such time, a court of law must remain the final arbitrator.

Company factory

Company Factory is the essential component. It is a slightly modified version of Consensys’ ERC 1400 security token which is used for similar operations in other blockchain applications. In essence, Company Factory, is a template capable of structuring the essential information in any capital table. When called upon, Company Factory creates a new instance of itself representing that new company. Each company then appear on the blockchain as an instance of Company Factory and each instance carries the essential rules of the game for a given company. Some rules are universal, e.g. that every share has an identified owner, that each share has the same inherent value, that every share can only be associated with one owner, etc. Other rules may be specific for the company. Using the concept of partition we may, for example, keep track of the various classes of stock that companies may issue, e.g. to differentiate between shareholders in matters of voting and the right to receive dividends. 

Company Factory enables another powerful feature: the ability for a company or a financial services firm to state on the blockchain the exact rules of the game that apply in dealing with the equity instruments of this company. In effect, the capital table of a company points to additional smart contracts on the chain that need to be consulted before a transaction is effectuated. Hence, a company may prevent any trade in its shares unless the transaction is cleared by a smart contract that ensures compliance with all company by-laws. In the same way one can build complex structures with Legos, every smart contract forms a brick on top of another brick in much the same way as a Lego kit. For additional information, cf. Third party solutions using transparency to innovate in financial services

Registry of Cap Tables

Registry of Cap Tables (“the Registry”) is a blockchain ledger that lists companies, shareholders, and the number of shares of various classes (partitions) that each shareholder owns in the specified companies. As a default, the Registry only accepts cap tables that have been checked by an authority. If companies and their investors wish, they may act upon information in the queue, but the more careful approach would be to refrain from any holdings not listed in the Registry.

Queue

Queue is a smart contract with limited value added – its sole purpose is to make explicit the difference between what the proprietor (entrepreneur, chairman) of a company claims and what someone or something has verified and found worthy of being listed in the Registry of Cap Tables.

Entry Registry

Entry Registry is a useful feature, but not essential as such. Using Norway as a pilot for the platform, we have the luxury of consulting a central registry of entities named “Enhetsregisteret”. To simplify the use of the platform, this registry is mirrored onto the blockchain itself. It is just a simple way of making sure the unique identifiers on the platform corresponds with the unique identifiers used in every other service and registry. Thus, the Entry Registry greatly simplifies the task of making sure that every company has only one cap table and that no cap table lists more equity than the company has actually issued.

Scaling across jurisdictions

The core module (the Company Factory) establishes companies and cap tables using Consensys’ implementation of the ERC 1400 standard. This security token has been through extensive third party reviews and seems, to the best of our knowledge, to be catching on in similar applications elsewhere, e.g. the issuing of stocks and ownership certificates on blockchain. By sharing fundamentally the same basic representations, the platform should perform well in a future where a company may delist in one country and move to another or create a joint listing in two separate jurisdictions.

Applications may need to be modified in order to solve similar purposes in a different jurisdiction. Company law specify slightly different procedures in various countries, and where common law applies (e.g. the UK), fewer assumptions can be made e.g. in regard to equal treatment of shares and shareholders.

User interfaces and authentication

MIR has a simple, robust and open infrastructure. This offers a number of advantages, and some disadvantages. Fortunately, most disadvantages can be remedied by the use of third party resources.

How to enlist 3rd party user-interfaces

Most limited liability companies employ accounting software, internet banking and various other resources provided by professional services firm offering audit, legal advice, credit checks, etc. A number of these firms have slick user interfaces to manage e.g. the payment of bills. In some jurisdictions, these services can draw on platforms that allow secure signing of documents online. Wherever there are well established KYC processes and well established tools to manage authentication, we may draw on these resources to establish whether a specific user does indeed fill the role of a specific company officer, e.g. the chairman of the board. In Norway, both companies and shareholders have access to familiar user interfaces and means of identification, and the MIR instance for Norway has made no effort to duplicate this infrastructure. Rather, the MIR invites anyone with an established user base to integrate with the platform.

Software developer kit

The easiest way of integrating is to connect to an instance of MIR through a software development kit (SDK). The tool allows interaction through simple commands such as “transfer stock [x to y]” without the need to master lower language code, or knowing how a blockchain works.  

The SDK makes it easy to make read and makes changes to company cap tables. Experienced developers may also write smart contracts directly on the blockchain, employ Web3 tools, GraphQL or REST. A smart contract integration allows you to extend the registry itself. For new smart contract developers we recommend Learning Solidity tutorial series by Karl Floersch

After the launch in July, the SDK has been put to use by Visma, the largest provider of accounting software in Norway and Luca Labs, a firm combining accounting and advanced analytics. Both have established that their respective interfaces can write to the blockchain and read from the blockchain, and that integration is entirely doable from a technical perspective, and relieving themselves and their users a lot of work and manual input.

Visma presenting how accounting software can serve as an interface to the blockchain platform, Oslo, 30. August 2019, developers’ conference

MIR without online identification or authentication

MIR will work, and may be even more welcome, in a country without a functioning company registry or a routine for establishing online identification. In such cases, the person or persons acting on behalf of the country must first establish a presence on the Ethereum blockchain, gain a wallet (a public key and a private key, held separately or jointly by several persons), and then access the platform. Similarly, each shareholder would, upon receiving a share, also be required to establish a wallet in order to exercise his or her right as a shareholder. Note, for the time being, our effort has been to unlock social good in a country with well established company law, not to establish the foundations for corporate governance.

Correcting wrongs: Governance and control

Today, the cap table of SMEs, if they exist at all, is usually a paper sheet or a spreadsheet on the company secretary’s computer. MIR adds value directly by offering access to this cap table, keeping an audit trail, and turning shares into a token that cannot be transferred without the shareholders’ say. The wider adoption, however, is probably dependent on a governance structure as well. Governance provides two key features: 1) making sure the claims created by companies or professional business firms are valid, and 2) the ability to perform forced transfers, e.g. to correct fraud or enforce a court order.

Correcting the wrongs

The approval task

Most approval can be made, either by building a smart contract on the chain, or by a regular case-review software. As a minimum, the review and approval process should make sure the cap table adhere to the format established by Company Factory, and that a proper authentication and authorization process has taken place. One way would be to review the procedures of the business support companies that provide the interfaces; a more thorough procedure will be to make an independent check that the person who initiated the creation of a cap table was really chairman or similar. A third check may compare the claims on the cap table with the stated share capital in the company’s articles of incorporation.

It is not per se forbidden to keep a shadow registry and thus confining the true ownership. In theory, the claims of the user/company on the blockchain can be contradicted by a conflicting claim stated off the chain, and early users of the platform need to consider how to handle a potential conflict.

Force transfer

The concept of a force transfer will further soothe fears among potential users. The right for an identified authority (e.g. the Business Registry) to do forced transfers is the default option of Company Factory. It allows for investors to pursue and correct wrongs. A chairman who incorrectly captures the outcome of a share issue can be forced to correct the mistake; the heirs of a dead shareholder can secure a transfer of the estate, and a person found guilty of breaking bankruptcy laws can be made to part with his holdings. Such force transfer frequently borders on the powers of several public agencies, and the task of exercising it is better left with a consortium. 

Strictly speaking, the one who passes as company chairman will be able to suggest a set of rules that do not allow any authority to perform forced transfers. However, that claim is unlikely to pass approval and hence be passed from Queue to Registry of Cap Tables. Such flexibility will in the future make possible business registries with entities from multiple jurisdictions, each following the rules of the game in the jurisdiction of their home market, or where they are incorporated.

White-listing and black-listing

A set of interesting governance issues relate to the ability of the platform to support new financial services by offering small and medium sized companies access to financial markets in ways similar to the privileges granted to companies that trade their stocks on a stock exchange. While putting such instruments into play would greatly improve the ability of small and medium sized enterprises to raise capital, it will also allow a wider group of people to make investment choices. This is likely to raise consumer protection challenges which are hard to resolve without an authority.

The authority in charge is probably well advised to settle on a policy, for example a “white list” approach where only certain services will be allowed, or a “black list” approach where every service is allowed unless specifically denied. Either approach might work. Deciding whether a new application in effect violates a financial services act, investor protection act, or the tax code is probably best done by a consortium. Off course, such matters can be resolved by a regular court of law, but is much simpler to introduce a first level of compliance on the platform itself.

Third party solutions using transparency to innovate in financial services

While MIR is quite basic, its ability to incorporate additions and extensions is very real and robust. By keeping compulsory functions at a minimum, we have managed to simplify the logic to a point where it is quite simple to add features, functions and innovations.

Early feedback from the FinTech community

During two weeks in mid June 2019, Blockchangers visited eight Oslo Based companies working on FinTech in Oslo asking for feedback on the platform and voicing their interest to test it, attempt to integrate the shareholders registry with proprietary solutions and send developer teams to a conference in August 2019. Five out of the eight responded positively and in effect made it possible to call a developer conference with no marketing. In addition, we received a number of request from American developer teams (by word of mouth and viral link sharing). These, sadly, had to be declined from lack of space and from the need to provide sufficient support to the attending parties.

As per October 2019, predicting what a future ecosystem will look like, is somewhat immature. Some insights can be derived from the ideas and prototypes discussed at the developers conference. 

Apparently, developers seemed quite capable of finding ways to supplement information. For example, MIR does not force a seller or buyer of stocks to state the transfer price on the blockchain, because it may be confidential. Prices, however, is clearly a useful piece of information for a number of third party applications.

One participant, a tax authority, then subsequently built a smart contract platform capable of capturing the required information to process capital gains and wealth tax related to the trade of shares. The core motivation for the Tax Authorities seems to be the increased speed and accuracy, and the public relations value of abandoning its “once only” philosophy to reporting in favour of “once only is one time too much”.  By accessing the platform where future listing and trading takes place, the Tax Authorities harvests the tax return itself rather than asking citizens to submit the data.

Norway’s third largest bank has invested heavily in building a platform for crowdfunding – whereby a large community of investors and savers may tap into the bond market or participate in a share issue. Their fintech branch, www.monner.no, used the blockchain cap table to remove a number of risks and simplify the task of establishing a point of departure before initiating a crowdfunding model to source capital either as equity or as convertible loans. Authentication, auctioning, allocation of shares, pricing, etc. is done on their proprietary platform, while the blockchain serves to establish trust before starting and effectuating the outcome of a share issue after it has taken place.

Blockchangers built an actual smart contract that paid dividends to the investors. The happy investors received the equivalent of USD 2 in stablecoins, transferred directly to an Ethereum based wallet. Adding payments in cryptocurrency is fairly straightforward on the platform.

Transparent and non-transparent information on the platform

MIR allows companies and financial services companies to use a public registry as their proprietary registry – a new shareholder commits to buy on the same ledger that companies use to assess their equity and cap table – which is the same ledger a bank will use to issue a convertible loan – which is the same ledger the tax authorities consults to assess your tax position. Transparency is the very key to the platform’s success. Transparency is the enabling quality in coordination and cooperation. Each party accesses the same source of truth and is hence able to enter binding agreements without the risk of misinformation.

Transparency has very interesting effects on the reporting burden of companies. Tax positions, for example, can be reported automatically. New shareholders can be notified immediately, both about the fact that her stocks have been put forward for approval and the actual listing. Furthermore, any transfer or sale of shares may be monitored. Companies and shareholders that rely on the platform need not keep a separate cap table nor report its details to the government as information can be harvested without the trouble of separate reporting.

Equal protection

One particular strength of the blockchain platform, is the ability to ensure that every shareholder is treated equally; if required, the latest investor can be assured the same terms of trade as insiders. The version launched on July 1st have limited support for such equal protection clauses (i.e. the smart contract does not insist that every shareholder is treated equally). However, a company or a group of shareholders, that requires such functionality can draw on smart contracts developed by third parties. A law firm, for example, may put the terms of a shareholder agreement into a smart contract. Shareholders or companies then make trading subject to the terms of this contract – once entered into, such clauses cannot be escaped except through the consensus mechanisms the parties agree to. This “code-is-law” capacity is frequently advertised when blockchain is sometimes launched as an alternative to regulation. For the time being, the ability to keep the terms of such contracts secret has not been developed.

Viability at large scale

Scalability subject to functionality

As of 2019, MIR has not been optimized for speed, nor benchmarked with the performance of competing solutions. However, the code is built with optimization in mind, and should with a minimal effort be able to process 60 transactions per second or 216 000 transactions per hour. Current plans for the Ethereum blockchain aims to improve speed by a factor of 50 or 100 which would indicate 4500 transactions per second in five years.

A platform supporting a shareholders registry will be fully operational and stable while utilizing but a fraction of the available capacity. Again, using Norway only as a case, some 100 companies will be onboarded on any given day (roughly 30 000 per year).  We may further assume that some 100 companies will make changes to their equity structure every day, e.g. by changing its articles of incorporation in ways that will affect the blockchain. Assume furthermore a volume of 2 000 holdings being sold and 2 000 positions being bought on a given day. If these changes are queued through a long working day of 12 hours, the transaction volume will average 184 per hour or less than 1/1000 of the capacity that is established. One may also employ an open Ethereum solution which, using June 2019 figures, should be able to handle 100 times more capacity than foreseen from the establishment of companies and the trading of shares in Norway.

As launched in July 2019, the platform has limited functionality. Most KYC and authentication will take place on third party applications accessing the solution, and the platform’s core functionality is simply to keep track of who owns what in a given company. When more modules (smart contracts) are added e.g. to handle share issues , the use of shares as collateral or the paying of dividends, the transaction volume will grow beyond the stated estimates. In jurisdictions where a reliable online identity can be applied, the blockchain should probably handle authentication by consulting the said online identity solution. Our guesstimate would be that the eventual platform adds considerable complexity, but even the proliferation of complex transactions should not increase the traffic on the blockchain by more than a factor of ten, which would still be well within its theoretical capacity.

As of July 2019, MIR is tuned as to achieve a maximum wait of 3,8 seconds and an average wait of slightly less than two seconds. A straightforward code review should cut waiting time roughly in half. 

As of 1 July, the system runs on two nodes. A larger number of nodes improves security – making it very impractical or outright impossible for anyone with hostile intent to gain control of the registry, but slightly more expensive as the cost of renting server capacity rises. Adding servers has no effect on the platforms ability to handle large volumes of transactions, but has a slight adverse effect on latency of no practical consequence. The consensus mechanism requires all (both) nodes to be in agreement on any claim for a transaction to be processed, and the nodes take turn to suggest a new addition to the ledger (“a block”). If, for some reason, a more complex consensus mechanism is required, the speed of transactions would decrease. Complex consensus mechanisms has no adverse effect on the ability to handle large volumes.