Magma is an Open Source project initiated in 2019. In 2021, the Linux Foundation community started managing the project, while other organizations remained founding members. Initially, Magma dealt with the problem of improving Internet access coverage in remote and rural areas.
With the project development, additional tasks were set before it, for example, increasing the bandwidth of urban networks. The cheapest way to solve this problem would be to distribute traffic between various wireless networks depending on the current load. However, numerous access points and mobile operators cannot enter into agreements in advance on the distribution of traffic between them. Therefore, an integrated traffic distribution infrastructure, to which any user and provider could connect, is an ideal solution. It would always find the best connection for users, balance network load, and set fair rates for providers.
It is the type of task that modern blockchain platforms can solve. Several teams are working in this direction, but such specialists are rare on the market. With our diverse experience in blockchain technologies, IoT, and industrial information systems, we were ready to take part in the project.
UI / UX Designers
Android, iOS, Golang, Vue JS, Docker, Nginx, MySQL
We were invited to the Magma project by our partner, 0Chain. We help the partner develop a blockchain platform that became an infrastructure basis for Magma.
We worked in three areas: the implementation of smart contracts, developing client applications, and creating a library of development tools.
Smart contracts encapsulated the processes of interaction and mutual settlements between network participants: access points, users with consumer nodes, and providers who use the Magma software. When a new hotspot starts operating, it calls Magma, invokes a smart contract, and creates a wallet. Then the owner of the access point tops up the wallet. A security deposit allows him to connect to the service and then appear in the list of providers. When a user connects to the network, he also accesses Magma. The software interface provides a list of access points and requirements for connecting to providers. Magma then registers a user session for the selected access point. The billing and commission logic is stored in a smart contract, which guarantees that all parties follow their obligations.
We developed three application interfaces for participants: the provider, the user, and the Magma platform. The Magma Platform Application is the request routing node and controller that provides the interconnection between all applications. Magma delegates request to the blockchain platform and initiate a procedure to save the current user state. It saves metadata, data about the traffic used, and the length of the user session.
When a user decides to connect to the network, Magma creates a dedicated wallet. This software implements a user logical abstraction layer. It means the wallet represents the interests of consumers when interacting with other participants in the transaction and the executing smart contract. So the actual user interface is not limited by Magma and can accept fiat payment.
We believe that in this project, the blockchain is an optimal solution for storing information and regulating relations between consumers and service providers. The developers have yet to resolve several issues with the performance of the 0Chain platform: a faster response is needed, which depends on the consensus algorithm. As the status of the Magma project is updated, we will add more information to this case.