The Multiversum on-chain database will consist of two different kinds of contracts: one for the Factory and the other for the Database.
The Factory is the public interface, accessible to anyone who wants to interact with the service, among which we can include the ability to create and list databases. These operations, like any operation of this type, will have a variable cost over time in eMTV (to be added to the well-known fees for the ETH tran- saction), which will be modifiable only by the Multiversum Foundation.
You will be able to interact with the interface either through JSON-RPC Ethereum, by communicating with a node (as well as through a third-party service) or through a web interface (DApp), which we will facilitate in the future. The Factory does not impose limitations on how many Databases the user (address) can cre- ate but imposes a uniqueness constraint that ensures multiple databases with identical identifiers cannot have the same name at the same time. When the database is created, the Factory will release and publish a new database type contract, returning and retaining its public address.
The Multiversum Database will be the private interface that will manage your on-chain data.
You will be able to query these interfaces through the Multiversum DB drivers which will be developed and distributed by the Foundation. If you are curious to follow its development, we remind you that a Java-ba- sed driver is already under development and can be freely viewed on GitHub.
If we analyze more deeply the storage of databases, we can find the two components that compose them, tables and columns. The tables, beyond the uniqueness constraint, have no limitations, allowing the crea- tion of a potentially infinite number of them. The columns, instead, have a slightly different functioning from the usual relational databases: the type of column (numeric, string, date, etc …) is only a value assigned in order to guide the drivers on how to treat and interpret that data. No data in the columns is actually man- datory.
As in the case of the creation of a database, each operation that will modify the storage of the database will have a cost in eMTV, which will be synced with the factory databases, in order to guarantee the same costs across all databases.
It will also be possible to use the standard of a normal database: insertion, cancellation, update and select; the orders and groupings will be managed directly by the drivers at the client level since such complex operations could exponentially increase the gas used by the Ethereum virtual machine causing a revert of the transaction. The data in the databases are not encrypted, making them accessible by anyone who has the database address, however, only the owner will be allowed to update the storage. Users will also be able to transfer ownership of the contract at no cost.
It is important to emphasize that the Multiversum Database uses its own protocol for encoding data and that interfacing databases with unapproved drivers could cause unexpected behaviour.
Un modo intelligente e sicuro per approcciare in Multiversum
Multiversum è una Blockchain relazionale come servizio per Database crittografico-relazionale