Skip to main content

Rarimo Core

The crypto community strongly believes in a multichain future where each project brings its unique perspective and value proposition. However, this diversity introduces a plethora of interoperability, security, fragmentation, and other challenges. To address these issues, the Rarimo Base Layer has been developed, serving as the base layer for decentralized interchain applications.

Design principles

Decentralization

The interchain layer must be as decentralized as the chains it connects, not to be the point of centralization. The system comprises a network of dozens of independent validators and oracles. Oracles observe events in the outer world in a trustless way, and Validators collaborate to achieve secure consensus on the order of events.

Extensibility

The protocol provides a general messaging protocol foundation for cross-chain use cases. Users can implement their own sub-protocols and submit them via the proposals mechanism.

Additionally, Rarimo Core supports EVM-compatible smart contracts for greater flexibility.

Scalable security

Rarimo employs TSS (Threshold Signature Scheme) to sign the outputs of the protocol. With TSS, the signature size doesn't depend on the number of signers (validator nodes) and remains constant. Thus, the pool of validators can be scaled while keeping fees at the destination chains at a low, fixed rate.

Instant finality

Every step in the cross-chain path adds an extra delay. The protocol uses the proven Tendermint consensus mechanism with instant finality to minimize this overhead. It only takes an extra few seconds to ensure the protocol's security.

Architecture

Based on Tendermint + Cosmos SDK blockchain core the main goal is to provide validated information about different cross-chain operations.

Rarimo business logic is split into two modules: x/rarimocore and x/tokenmanager.

The rarimocore cosmos module contains logic for all cross-chain operations, its votes, confirmations and signers management.

The common flow consists of three steps:

  1. Any Oracle creates the operation on the core
  2. Oracles vote for the operation correctness, and after that operation defined as approved/not approved.
  3. Signature producers sign the operation
  4. Signature producers submit confirmation to the core, and after that operation defined as signed.

See rarimo-core repository for more details.