Skip to content

Latest commit

 

History

History
120 lines (103 loc) · 5.4 KB

ixo-protocol-blockchains.md

File metadata and controls

120 lines (103 loc) · 5.4 KB
description
Software infrastructure for the Internet of Impact.

ixo Protocol Blockchains

The ixo blockchain is open-source software to provide computational and data storage infrastructure for the Internet of Impact. This implements open standards to form an inter-operable network of networks. Anyone can set up an ixo blockchain based network, which will provide users with a common set of functionalities.

A network running the core ixo blockchain software can fulfil the following functional requirements:

Functional Requirement ixo Blockchain mechanism
Identify agents Digital Identifiers (DID) & Verifiable Credentials
Identify cell nodes Digital Identifiers (DID)
Identify projects Digital Identifiers (DID)
Identify claims Content Identifiers (CID)
Revoke identifiers Distributed revocation list
Open knowledge graph Distributed Hash Table (DHT)
Locate cell nodes DNSLink
Program state-changes Virtual Machines
Authenticate identifiers Public Key Infrastructure (PKI)
Sign messages Cryptographic keys
Validate messages Validator nodes
Verify claims Oracles
Record proofs of state Merkle DAGs
Transfer value Digital wallets
Issue digital assets Token minting
Incentivise network hosts Gas fees
Prevent Byzantine faults Tendermint consensus
Protect against censorship Distributed validator nodes
Protect against tampering Hashes
Protect against spam Message Validation
And more ... not an exhaustive list

A modular SDK framework

The ixo Blockchain software is modular. Application-specific networks can configure these modules for their purpose, add new modules, or swap-out some of the non-core modules. These modules are written in Go.

ixo blockchain SDK modules

The purpose of each module is briefly outlined in the table and described in technical detail on the linked pages.

ixo Blockchain SDK Module Purpose
Alpha Module Calculates project risk scores (Alpha) which provide signals to the Bonds module to adjust the pricing of Alpha-Bonds and trigger bond state changes.
Bonds Module

Calculates the buy/sell price and supply of tokens, using configurable bonding curve algorithms and other automated market-maker mechanisms.

Manages the life-cycle of Alpha Bonds.

Cells Module Maintains a registry of Cell Node identifiers, with associated cryptographic public key material and DNSLink record of the cell's hosting location.
Claims Module Maintains a registry of Impact Claim digests and claim status, with verification proofs.
Data Assets Module Maintains a registry of data assets, automates usage rights management and IP ownership/control. Data assets include templates, algorithms, evaluation methods, datasets, etc.
Fees Module Automates billing, accounting, distribution and settlement of fees for all digital services delivered through the network.
Identity Module Maintains a registry of trusted root identifiers and revocation lists, based on Web of Trust principles and complying with W3C specifications for digital identifiers and verifiable credentials.
Oracles Module

Maintains a registry of oracles, with staking and insurance mechanisms.

Defines rights for oracles to perform specific functions, such as mint or burn digital assets (using Object Capabilities).

Treasury Module Issues standard digital assets through mint and burn functions. Maintains a ledger of assets.

Built using the Cosmos-SDK framework

The ixo blockchain SDK shares a set of core blockchain modules with the Cosmos-SDK and is built using the same standards. The Cosmos-SDK is a software development kit for building application-specific blockchains.

This enables functional interoperability between blockchains that implement the same modules.

For example:

  • The MsgSend function transfers fungible tokens of designated denominations between counter-parties, using the bank module.
  • The accountquerier function, which is part of the Auth Module, returns information about an account, regardless of which chain this account is created on.
  • The IBC moduleenables messages to be sent between blockchain networks implementing the Inter-Blockchain Communication Protocol.