May was a month of finalizing all of the features of Tritium which are now complete. Our last Zoom meeting summarized what was left to finish before a final month of testing.
The team has been refining and finishing the API, with respect to contract scripts, batched transactions, and our new API standard. There is a debit/credit function for fungible tokens, and a transfer/claim function for non fungible tokens (assets). Validation scripts then determine the logic, which create a decentralized exchange (i.e. in order to sell/buy an asset, limit how much can be withdrawn from an account per day, or how much to send to a particular account per month).
We have also been working on the interface for staking functions, so that one can move coins more easily from a main account to a trust account, for example.
The API will contain an events processor that will automatically respond to notifications to accept and claim new transactions. The user will be able to configure the settings of the events processor, i.e. to specify which account to credit to.
Now a whole set of transactions can execute in one transaction that clears at once, such as all of the transactions of one split-revenue payment. This will all be actioned in one API call.
Tritium Name Services (TNS)
Tritium name service will allow users to exchange human readable text that represents account addresses, rather than sending QR codes or large hexadecimal formats. This will allow accounts to be identifiable by your own local names eg. Checking, Savings, Trust, Payroll, etc. There can only be one of each local name per username, which is useful for managing personal accounts. Therefore, when you request a payment from someone, you can either give them the register address or you can ask them to send the payment to paul:savings, for example.
When Paul creates an asset such as ‘MyContactInfo’, it will be retrievable by the register address (QR code or hexadecimal format) or by its name prefixed with the username of the signature chain that created it, e.g. paul:MyContactInfo. The username prefix is required to allow two different users to create with the same name.
Tritium name services will also provide the option to purchase a global namespace which could be compared to owning a specified domain extension, such as *.io or *.com on the Nexus network. The namespace registration will require a fee, which we plan to burn to enrich the entire network.
Once a user registers their namespace, they will be able to register any name within it such as asset.io, which can then be sold to another user as an asset on the Nexus DEX. This provides the opportunity for ‘investors’ to purchase namespaces, and gain ROI by reselling desirable unique names inside of their namespace. We anticipate this to be like the ‘DNS’ (Domain Name Service) of Nexus.
The name object itself will have fields in it that can be updated which point to register addresses, your public-id, or other convenient types of data. Being the owner of the name object, you will have the freedom to change it to whatever you see fit, similar to updating a DNS record when you own a domain name. This opens the possibility for name objects to point to IP addresses, meaning that TNS could eventually be integrated with existing DNS nameservers.
The team implemented the first stage of hybrid mode on a private test net, with multiple nodes connected together on their own private chain. Previously, private mode functioned on a single node. Each of the multiple nodes are ‘permissioned’ to sign and create a block which is then propagated to all the nodes in the private network. We have been demoing this and some basic applications, for some of our use cases.
Paul, Mike and Alex met with the USA based team to discuss the DAO, fee structures for Tritium, architectural designs for Amine, and to hold a briefing and planning session with the business development team.
We propose that the following services will incur a fee:
- Permissioned Access Schemes for Hybrid Networks
- Namespace registration
- Creation of an Asset
- Creation of a Token
- More than 2 transactions made per block
We propose that the fees are burned which will result in a reduction of the total supply of NXS to enrich the network. The fee amounts are undecided, and will vary in response to transaction volume. An increase in transaction volume will decrease fees, rather than increase fees like Bitcoin. We welcome all perspectives on this topic. Please contact @Jules to join the economics working group.
Small load test on one computer
Mike made a video showing the local API server receiving 150-200 HTTP requests per second, processing the JSON to turn it into a transaction. The tests are creating an asset object register with a random name, and is then relaying those transactions to the other nodes on the network, which in turn verifies the transactions, sequences them correctly by signature chain, and then packages them into a block. It is handling 150+ transactions per second with a single node. The limiting factor of this test is that Colin’s machine can’t generate the test transactions any faster!